:root{--bg-dark: #0f172a;--card-dark: #1e293b;--text-primary: #e2e8f0;--text-muted: #94a3b8;--border-color: #334155;--accent-color: #f59e0b;--accent-dark: #d97706;--danger-color: #ef4444;--danger-light: #fca5a5;--accent-text: #111827}html{background-color:var(--bg-dark);height:100%;width:100%}*,*:before,*:after{box-sizing:border-box}button,a,div[role=button],tr[data-part-index],.accordion-header,.gemstone-cut-item,.gemstone-sizes-table .gem-size-row{-webkit-tap-highlight-color:transparent}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial;margin:0;padding:0;background-color:var(--bg-dark);color:var(--text-primary);font-size:14px;-webkit-font-smoothing:antialiased;overflow:hidden;height:100%}#app-header{width:100%;height:calc(30px + env(safe-area-inset-top));background-color:var(--card-dark);border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;padding:env(safe-area-inset-top) 20px 0 10px;position:fixed;top:0;left:0;z-index:100}.header-left{display:flex;align-items:center;gap:8px}.header-logo{height:18px;width:auto;border-radius:4px}.header-title{margin:0;font-size:14px;font-weight:600;color:var(--text-primary)}.main-container{display:flex;gap:18px;align-items:flex-start;margin-top:calc(42px + env(safe-area-inset-top));height:calc(100svh - (42px + env(safe-area-inset-top)));padding:0 18px 18px!important}.left-column{flex:1;min-width:350px;height:100%;display:flex;flex-direction:column}.right-column-wrapper{width:380px;flex-shrink:0;height:100%;overflow-y:auto}.card{background:var(--card-dark);border-radius:12px;padding:18px;box-shadow:0 4px 12px #0000004d;margin-bottom:18px}.right-column-wrapper .card:last-child{margin-bottom:0}.viewer-card{flex-grow:1;margin-bottom:0;padding:18px!important;border-radius:12px;display:flex;flex-direction:column;height:100%;box-sizing:border-box;position:relative;overflow:hidden}#viewer-container{flex-grow:1;margin:0!important;width:100%!important;height:100%!important;border:1px solid var(--border-color);border-radius:8px!important;background:var(--bg-dark);position:relative;overflow:hidden;cursor:grab;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}#viewer-container:active{cursor:grabbing}@media (max-width: 720px){body{overflow:auto}.main-container{flex-direction:column;height:auto;margin-top:calc(42px + env(safe-area-inset-top));padding-bottom:20px}.right-column-wrapper{width:100%;height:auto;max-height:none;overflow-y:visible}.left-column{height:auto;width:100%;min-width:0}#viewer-container{min-height:400px}#converter-modal-content,#ring-constructor-content{max-width:95%;padding:12px}#gemstone-guide-content{max-width:95vw;width:95vw;height:85vh}.gemstone-guide-container{flex-direction:column;overflow:auto}#gemstone-cuts-list{flex:0 0 auto;max-height:150px}.gemstone-sizes-table-container{flex-grow:0;min-height:100px}#auth-container{flex-basis:100%;justify-content:flex-end}#gem-generator-controls .row{flex-direction:column;gap:0;align-items:stretch}#gem-generator-controls .row>.col{margin-bottom:12px}#gem-generator-controls .row>.col:last-child{margin-bottom:0}}h1,h2,h3{margin:0 0 10px;font-weight:600}h1{font-size:20px}h2{font-size:18px}h3{font-size:16px}label{display:block;margin:10px 0 6px;font-size:13px;color:var(--text-muted);font-weight:500}.file-upload-wrapper{position:relative;display:inline-block;width:100%}.file-upload-button{display:inline-block;width:100%;text-align:center;padding:10px 12px;background-color:#ffffff0d;border:1px dashed var(--border-color);border-radius:8px;cursor:pointer;color:var(--text-primary);transition:background-color .2s}#file,#user-logo-input,#user-render-input{display:none}#file-name,#user-logo-name,#user-render-name{font-size:11px;color:var(--text-muted);text-align:center;margin-top:4px;min-height:14px}select,input[type=number],input[type=text]{padding:9px;border-radius:8px;border:1px solid var(--border-color);background:var(--bg-dark);color:var(--text-primary);-webkit-appearance:none;-moz-appearance:none;appearance:none}select{background-image:url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%2394a3b8%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.4-5.4-12.8z%22%2F%3E%3C%2Fsvg%3E);background-repeat:no-repeat;background-position:right 10px top 50%;background-size:.65em auto;padding-right:30px}select,option{background-color:var(--bg-dark);color:var(--text-primary)}.row{display:flex;gap:12px;align-items:flex-end}.col{flex:1}table{width:100%;margin-top:12px;border-collapse:collapse}th,td{padding:9px;border-bottom:1px solid var(--border-color);text-align:left;font-size:13px}th{color:var(--text-muted)}.out{margin-top:0;padding:18px;border-radius:0;background:var(--bg-dark);max-height:40vh;overflow-y:auto}button{padding:10px 14px;border-radius:8px;border:0;background:var(--accent-color);color:var(--accent-text);font-weight:600;cursor:pointer;transition:background-color .2s;width:100%;-webkit-appearance:none;appearance:none}button:active{background:var(--accent-dark);transform:translateY(1px);transition:none}button:disabled{background:var(--border-color)!important;color:var(--text-muted)!important;cursor:not-allowed}.secondary-button{background-color:var(--border-color);color:var(--text-primary);border:1px solid transparent;transition:background-color .2s,border-color .2s}.secondary-button:active{background-color:rgba(var(--accent-color-rgb),.3)!important;border-color:var(--accent-color)!important;transform:scale(.98);transition:none}@media (hover: hover){.file-upload-button:hover{background-color:#ffffff1a;border-color:var(--accent-color)}.gemstone-cut-item:hover{background-color:var(--border-color)}button:hover{background:var(--accent-dark)}.secondary-button:hover{background-color:rgba(var(--accent-color-rgb),.1);border-color:var(--accent-color)}#confirm-ok-btn:hover{background-color:var(--accent-dark)}.danger-button:hover,.close-modal-btn:hover{background-color:var(--accent-color);color:var(--accent-text)}}.materials{display:flex;flex-wrap:wrap;gap:10px}.mat{padding:8px;border-radius:8px;background:var(--bg-dark);position:relative;border:1px solid var(--border-color);flex:1 1 180px;min-width:180px}.mat strong{font-size:13px}.add-material{padding:10px;border-radius:8px;background:#f59e0b0d;border:1px dashed var(--accent-dark);margin-top:12px}.add-material h3{font-size:15px;margin-bottom:8px}.remove-mat{position:absolute;top:8px;right:8px;width:26px;height:26px;border:0;background:rgba(var(--accent-color-rgb),.2);color:var(--accent-color);border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;line-height:1;transition:background-color .2s,color .2s}.remove-mat:hover{background-color:var(--accent-color);color:var(--accent-text)}.price-row{display:flex;align-items:center;gap:8px;margin-top:6px}.price-row label{margin:0;flex-shrink:0;font-size:12px}.price-row input.price{min-width:60px}#viewer-placeholder{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--text-muted);text-align:center}#viewer-container .spinner{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);margin:0}#drawing-canvas{position:absolute;top:0;left:0;pointer-events:none}#history-list .history-item{background:var(--bg-dark);padding:10px;border-radius:6px;margin-bottom:8px;font-size:12px;cursor:pointer;border:1px solid var(--border-color);transition:border-color .2s}#history-list .history-item:hover{border-color:var(--accent-color)}#history-list small{color:var(--text-muted);display:block}.result-total-row{font-weight:700;border-top:2px solid var(--border-color)}.clickable-row{cursor:pointer}.clickable-row:hover{background-color:rgba(var(--accent-color-rgb),.1)}#result-table tr.active-row{background-color:rgba(var(--accent-color-rgb),.1);border-left:3px solid var(--accent-color)}.filter-group{display:flex;align-items:center;gap:10px;margin-top:10px}.filter-group input[type=checkbox]{width:auto}#login-screen{position:fixed;top:0;left:0;width:100%;height:100%;background-color:var(--bg-dark);display:flex;align-items:center;justify-content:center;z-index:100}#login-card{width:100%;max-width:340px}#login-error{color:var(--danger-color);font-size:12px;margin-top:8px;min-height:16px}#results-drawer{position:absolute;z-index:2;bottom:0;left:0;right:0;background:var(--card-dark);border-top:1px solid var(--border-color);border-top-left-radius:12px;border-top-right-radius:12px;transition:transform .35s cubic-bezier(.4,0,.2,1);transform:translateY(calc(100% - 56px));padding-bottom:env(safe-area-inset-bottom)}#results-drawer.active{transform:translateY(0)}#drawer-handle{padding:18px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;-webkit-tap-highlight-color:transparent}#drawer-handle .accordion-title{margin:0}.drawer-arrow{border:solid var(--text-muted);border-width:0 2px 2px 0;display:inline-block;padding:4px;transform:rotate(45deg);transition:transform .3s ease}#results-drawer.active .drawer-arrow{transform:rotate(-135deg)}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:color-mix(in srgb,var(--bg-dark) 80%,transparent);display:flex;align-items:center;justify-content:center;z-index:1000;opacity:0;pointer-events:none;transition:opacity .2s ease-in-out}.modal-overlay.visible{opacity:1;pointer-events:auto}.close-modal-btn{position:absolute;top:12px;right:12px;width:26px;height:26px;border:0;background:rgba(var(--accent-color-rgb),.2);color:var(--accent-color);border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;line-height:1;transition:background-color .2s,color .2s}.close-modal-btn:active{background-color:var(--accent-color)!important;color:var(--accent-text)!important;transition:none}#converter-modal-content{width:100%;max-width:450px;position:relative}.converter-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media (max-width: 500px){.converter-grid{grid-template-columns:1fr}}.custom-select-container{position:relative}.custom-select-trigger{position:relative;border-radius:8px;border:1px solid var(--border-color);background:var(--bg-dark);color:var(--text-primary);cursor:pointer;display:flex;align-items:center;gap:8px;padding:6px 9px;min-height:38px}.custom-select-trigger .arrow{margin-left:auto;border:solid var(--text-muted);border-width:0 2px 2px 0;display:inline-block;padding:3px;transform:rotate(45deg)}.custom-select-options{display:none;position:absolute;top:105%;right:0;background:var(--card-dark);border:1px solid var(--border-color);border-radius:8px;z-index:100;max-height:250px;overflow-y:auto;min-width:160px}.custom-select-options.open{display:block}.custom-option{padding:8px 12px;cursor:pointer;display:flex;align-items:center;gap:10px}.custom-option:hover{background-color:var(--accent-dark);color:var(--text-primary)}.custom-option img,.custom-select-trigger img{width:24px;height:24px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-dark);border-radius:4px}::-webkit-scrollbar-thumb{background-color:var(--border-color);border-radius:4px;border:2px solid var(--bg-dark)}::-webkit-scrollbar-thumb:hover{background-color:var(--accent-color)}#toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%,100px);background-color:var(--accent-color);color:var(--accent-text);padding:12px 20px;border-radius:8px;font-weight:600;z-index:2000;opacity:0;visibility:hidden;transition:transform .3s ease,opacity .3s ease,visibility .3s}#toast.show{transform:translate(-50%);opacity:1;visibility:visible}.spinner{width:50px;height:50px;border:5px solid var(--border-color);border-bottom-color:var(--text-primary);border-radius:50%;display:block;margin:40px auto;animation:rotation 1s linear infinite}@keyframes rotation{0%{transform:rotate(0)}to{transform:rotate(360deg)}}#loading-screen{position:fixed;top:0;left:0;width:100%;height:100%;background-color:var(--bg-dark);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:1000}.loading-logo{height:60px;width:auto;border-radius:4px}#loading-screen .spinner{margin:25px auto}.loading-text{color:var(--text-muted);font-size:16px;margin:0}#global-spinner-overlay{background-color:color-mix(in srgb,var(--bg-dark) 80%,transparent)}.copy-icon{display:inline-block;width:14px;height:14px;background-color:var(--text-muted);-webkit-mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="M20 2H10c-1.103 0-2 .897-2 2v4H4c-1.103 0-2 .897-2 2v10c0 1.103.897 2 2 2h10c1.103 0 2-.897 2-2v-4h4c1.103 0 2-.897 2-2V4c0-1.103-.897-2-2-2zM4 20V10h10l.002 10H4zm16-6h-4v-4c0-1.103-.897-2-2-2h-4V4h10v10z"/></svg>');mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="M20 2H10c-1.103 0-2 .897-2 2v4H4c-1.103 0-2 .897-2 2v10c0 1.103.897 2 2 2h10c1.103 0 2-.897 2-2v-4h4c1.103 0 2-.897 2-2V4c0-1.103-.897-2-2-2zM4 20V10h10l.002 10H4zm16-6h-4v-4c0-1.103-.897-2-2-2h-4V4h10v10z"/></svg>');vertical-align:middle;margin-left:6px;cursor:pointer;opacity:.3;transition:opacity .2s,background-color .2s}td:hover .copy-icon{opacity:.8}.copy-icon:hover{background-color:var(--accent-color);opacity:1}#confirm-ok-btn{background-color:var(--accent-color);color:var(--accent-text)}.right-column-wrapper .card.accordion-item{padding:0}.accordion-header{display:flex;justify-content:space-between;align-items:center;width:100%;background:transparent;border:none;padding:18px;text-align:left;color:var(--text-primary);-webkit-tap-highlight-color:transparent}.accordion-header:hover{background:transparent}.accordion-header:active{background:transparent!important;transform:none!important}.accordion-title{margin:0;font-size:18px}.accordion-icon{font-size:24px;font-weight:300;transition:transform .3s ease}.accordion-content{max-height:0;overflow:hidden;transition:max-height .3s ease,padding .3s ease;padding:0 18px}.accordion-item.active .accordion-content{max-height:2000px;padding:0 18px 18px}.accordion-item.active .accordion-icon{transform:rotate(45deg)}.button-group{display:flex;width:100%}.button-group button{flex:1 1 0;border-radius:0;border-right:1px solid var(--border-color)}.button-group button:first-child{border-top-left-radius:8px;border-bottom-left-radius:8px}.button-group button:last-child{border-top-right-radius:8px;border-bottom-right-radius:8px;border-right:none}.button-group button.active,.view-grid button.active{background-color:var(--accent-color);color:var(--accent-text);font-weight:600;border-color:var(--accent-dark)}#install-prompt{position:fixed;bottom:0;left:0;right:0;background-color:var(--card-dark);padding:12px 18px;border-top:1px solid var(--border-color);box-shadow:0 -4px 12px #0000004d;display:flex;align-items:center;justify-content:space-between;z-index:5000;transform:translateY(150%);transition:transform .4s cubic-bezier(.4,0,.2,1)}#install-prompt.show{transform:translateY(0)}.install-prompt-content{display:flex;align-items:center;gap:12px}.install-prompt-logo{width:40px;height:40px;border-radius:8px}.install-prompt-text strong{display:block;font-size:14px;color:var(--text-primary)}.install-prompt-text small{font-size:12px;color:var(--text-muted)}#close-install-prompt{position:static;width:32px;height:32px;font-size:22px;flex-shrink:0}input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:6px;background:var(--bg-dark);border-radius:5px;outline:none;margin:10px 0}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;background:var(--accent-color);cursor:pointer;border-radius:50%;border:2px solid var(--bg-light)}input[type=range]::-moz-range-thumb{width:14px;height:14px;background:var(--accent-color);cursor:pointer;border-radius:50%;border:2px solid var(--bg-light)}#gemstone-guide-content{width:90%;max-width:600px;max-height:85vh;display:flex;flex-direction:column;position:relative}#close-gemstone-guide-btn{top:12px;right:12px}.gemstone-guide-container{display:flex;gap:15px;flex-grow:1;overflow:hidden;margin-top:15px}.gemstone-panel{padding:10px;background-color:var(--bg-dark);border-radius:8px;overflow-y:auto}#gemstone-cuts-list{flex:0 0 200px;padding:5px}#gemstone-cut-details{flex-grow:1;display:flex;flex-direction:column;align-items:center}.gemstone-cut-item{display:flex;align-items:center;gap:10px;padding:8px;border-radius:6px;cursor:pointer;transition:background-color .2s;border:1px solid transparent}.gemstone-cut-item:hover{background-color:var(--border-color)}.gemstone-cut-item.active{background-color:var(--accent-dark);border-color:var(--accent-color);color:var(--accent-text)}.gemstone-cut-item img{width:32px;height:32px}#gemstone-cut-details img{width:100px;height:100px;object-fit:contain;margin-bottom:15px;border-radius:8px}.gemstone-sizes-table{width:100%;text-align:center;margin-top:15px}.gemstone-sizes-table th,.gemstone-sizes-table td{padding:8px;font-size:12px}.gemstone-guide-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.gemstone-guide-header .remove-mat{position:static;width:32px;height:32px}#gem-generator-controls{margin-top:20px;padding-top:15px;border-top:1px solid var(--border-color);flex-shrink:0}#gem-generator-controls label{margin-top:0}.gemstone-sizes-table-container{width:100%;flex-grow:1;overflow-y:auto;min-height:150px}.gemstone-sizes-table .gem-size-row.selected{background-color:var(--accent-dark);color:var(--accent-text);font-weight:600}.gemstone-sizes-table .gem-size-row:hover{background-color:var(--border-color)}#file-name{color:var(--accent-color);font-weight:600}#ruler-actions{display:none}#ruler-actions.visible{display:block}.input-with-copy .input-wrapper{position:relative}.input-with-copy .copy-btn{position:absolute;right:1px;top:1px;bottom:1px;width:36px;background:var(--border-color);border:none;color:var(--text-muted);cursor:pointer;border-top-right-radius:8px;border-bottom-right-radius:8px;display:flex;align-items:center;justify-content:center}.input-with-copy .copy-btn:hover{background:var(--accent-color);color:var(--accent-text)}.input-with-copy input{padding-right:40px}input[type=number]:focus,input[type=text]:focus,select:focus{border-color:var(--accent-color);box-shadow:0 0 0 3px rgba(var(--accent-color-rgb),.4);outline:none}::selection{background-color:var(--accent-color);color:var(--accent-text)}input[type=checkbox]{accent-color:var(--accent-color);width:16px;height:16px;vertical-align:middle;margin:0}#profile-selector-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(45px,1fr));gap:8px;padding:8px;background-color:var(--bg-dark);border-radius:8px}.profile-option{width:100%;padding-top:100%;position:relative;background-color:var(--card-dark);border:1px solid var(--border-color);border-radius:6px;cursor:pointer;transition:border-color .2s,transform .2s;overflow:hidden}.profile-option:hover{border-color:var(--accent-color);transform:scale(1.05)}.profile-option.active{border-color:var(--accent-color);box-shadow:0 0 0 2px var(--accent-color)}.profile-option img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:contain;padding:5px}#ring-constructor-content{position:relative;max-width:420px}#close-ring-constructor-btn{position:absolute;top:12px;right:12px}.dimension-group{padding-top:10px;margin-top:10px;border-top:1px solid var(--border-color)}.dimension-group:first-child{border-top:none;margin-top:0;padding-top:0}.dimension-group-title{font-size:13px;color:var(--text-muted);display:block;margin-bottom:8px;font-weight:500}.view-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.view-grid button,select,#advanced-settings-content input,#modeling-rate,#modeling-hours,#item-size,#gem-size-input,#new_mat_name,#new_mat_density,#converter-modal-content input{width:100%}.dimension-grid-layout{display:grid;grid-template-columns:auto 1fr 1fr;gap:10px;margin-top:15px;align-items:center}.dimension-grid-layout .grid-header{font-size:12px;color:var(--text-muted);margin-bottom:5px;grid-row:1}.dimension-grid-layout .grid-header:nth-child(2){grid-column:2}.dimension-grid-layout .grid-header:nth-child(3){grid-column:3}.dimension-grid-layout .grid-label{grid-column:1 / 1;text-align:right;font-size:14px;padding-right:10px}.dimension-grid-layout input[type=number],.dimension-grid-layout input[type=text]{width:130px;margin:0}.dimension-grid-layout>div:not(.grid-label):not(.grid-header){display:flex;justify-content:flex-end}input#ring-diameter-input,input#ring-width-input,input#ring-thickness-input,input#gem-length-input,input#gem-width-input,input#gem-height-input{width:100%;flex-shrink:0}#uniform-dimensions .row{flex-direction:column;gap:0;align-items:stretch}.filter-group label{margin:0;display:inline}#advanced-settings-content input[type=checkbox]{width:auto}#advanced-settings-content .secondary-button{background-color:var(--card-dark)}#custom-numpad{position:fixed;left:18px;bottom:18px;width:300px;z-index:1010;padding:12px;opacity:0;visibility:hidden;transform:translateY(20px);transition:opacity .2s ease,visibility .2s ease,transform .2s ease}#custom-numpad.visible{opacity:1;visibility:visible;transform:translateY(0)}.numpad-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.numpad-grid button{width:100%;height:50px;font-size:18px;font-weight:600;padding:0;background-color:var(--border-color);color:var(--text-primary);-webkit-tap-highlight-color:transparent;border:1px solid transparent;transition:background-color .2s,border-color .2s}.numpad-grid button:active{transform:scale(.95)}.numpad-grid .numpad-control{background-color:var(--border-color);font-size:16px}.numpad-grid .numpad-ok{background-color:var(--accent-color);color:var(--accent-text)}.numpad-grid .numpad-ok:active{background-color:var(--accent-dark)!important;transition:none}.numpad-grid button:hover,.numpad-grid .numpad-control:hover{background-color:rgba(var(--accent-color-rgb),.1);border-color:var(--accent-color)}.numpad-grid .numpad-ok:hover{background-color:var(--accent-dark)}input.numpad-active{border-color:var(--accent-color)!important;box-shadow:0 0 0 3px rgba(var(--accent-color-rgb),.4)!important;outline:none!important}.terms-container{margin-top:20px;margin-bottom:10px;padding:10px;background-color:var(--bg-dark);border-radius:8px;font-size:12px;color:var(--text-muted);display:flex;justify-content:center;align-items:center}.terms-container label{display:inline;margin:0}.terms-container input[type=checkbox]{margin-right:8px;vertical-align:middle}.terms-container a{color:var(--accent-color);text-decoration:none;font-weight:600}.terms-container a:hover{text-decoration:underline}.support-link-container{text-align:center;margin-top:15px}.support-link-container a{font-size:12px;color:var(--text-muted);text-decoration:none}.support-link-container a:hover{color:var(--accent-color);text-decoration:underline}.support-link-container span{color:var(--text-muted);font-size:12px}#licenses-modal-content{position:relative}#licenses-modal-content .gemstone-panel a{color:var(--accent-color);text-decoration:none}#licenses-modal-content .gemstone-panel a:hover{text-decoration:underline}#text-generator-content{position:relative}#close-text-generator-btn{position:absolute;top:12px;right:12px}.text-gen-curve-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.text-gen-radio-btn{padding:10px;font-size:13px;line-height:1.4;text-align:left;cursor:pointer;margin:0;display:flex;align-items:center;width:100%;border-radius:8px!important}.text-gen-radio-btn span{width:16px;height:16px;border:2px solid var(--text-muted);border-radius:50%;margin-right:10px;display:inline-block;position:relative;background:var(--bg-dark)}.text-gen-curve-grid input[type=radio]{display:none}.text-gen-curve-grid input[type=radio]:checked+label{background-color:var(--accent-color);color:var(--accent-text);font-weight:600;border-color:var(--accent-dark)}.text-gen-curve-grid input[type=radio]:checked+label span{border-color:var(--accent-text)}.text-gen-curve-grid input[type=radio]:checked+label span:after{content:"";width:8px;height:8px;background:var(--accent-text);border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}#text-gen-input{width:100%}#settings-modal-content{position:relative}.background-options-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.background-options-grid button{padding:4px;border:2px solid var(--border-color);transition:border-color .2s}.background-options-grid button:hover{border-color:var(--text-muted)}.background-options-grid button.active{border-color:var(--accent-color);box-shadow:0 0 0 2px var(--accent-color)}.theme-preset-grid-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(45px,1fr));gap:10px;padding:8px;background-color:var(--bg-dark);border-radius:8px}.theme-preset-swatch{width:100%;padding-top:100%;position:relative;border-radius:6px;cursor:pointer;border:2px solid var(--border-color);transition:border-color .2s,transform .2s;background-color:var(--card-dark);overflow:hidden}.theme-preset-swatch:hover{border-color:var(--text-muted);transform:scale(1.05)}.theme-preset-swatch.active{border-color:var(--accent-color);box-shadow:0 0 0 2px var(--accent-color)}.danger-button{background-color:transparent;border:2px solid var(--accent-color);color:var(--accent-color)}.support-link-wrapper{display:flex;align-items:center;justify-content:center;background-color:var(--border-color);border-radius:8px;padding:0;overflow:hidden;border:1px solid transparent;transition:background-color .2s,border-color .2s}.support-link-wrapper:hover{background-color:rgba(var(--accent-color-rgb),.1);border-color:var(--accent-color)}.support-link{font-size:14px;color:var(--text-primary)!important;text-decoration:none!important;padding:10px 14px;line-height:1.4;font-weight:600;border:none;background:transparent;border-radius:0;display:inline-block}.support-link:hover{text-decoration:none!important;color:var(--text-primary)!important;background:transparent}.support-link-wrapper span{font-size:11px;color:var(--text-muted);padding-right:10px;white-space:nowrap}#auth-container{display:flex;align-items:center;gap:12px}#auth-container{gap:8px!important}#auth-container span{font-size:11px!important}#auth-container select{height:30px;margin:0;border-radius:0;border-top:none;border-bottom:none;background-color:transparent;padding:0 20px 0 6px;font-size:12px;line-height:30px;background-position:right 4px center;background-size:.5em auto;cursor:pointer}#auth-container select:focus{box-shadow:none}#auth-container select:focus,#auth-container select:active{outline:none;box-shadow:none;border:none}#auth-container button:focus{outline:none;box-shadow:none}
