:root{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#eaf0f3;background:#071012;font-size:16px}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 85% 15%,#173a3a 0,transparent 32%),#071012}.shell{max-width:1180px;margin:auto;padding:28px 34px;min-height:100vh;display:flex;flex-direction:column}header{display:flex;align-items:center;gap:12px;border-bottom:1px solid #294043;padding-bottom:22px}header h1{font-size:1.05rem;margin:0;letter-spacing:.02em}.mark{display:grid;place-items:center;width:36px;height:36px;background:#98ffcb;color:#071012;font-weight:900;border-radius:9px}.api-state{margin-left:auto;color:#8ba0a4;font-size:.82rem}.api-state.ok{color:#98ffcb}.workspace{flex:1;display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center;padding:70px 0}.eyebrow,.label{color:#98ffcb;letter-spacing:.12em;font-size:.75rem;font-weight:800;text-transform:uppercase}.intro h2{font-size:clamp(2.7rem,6vw,5.5rem);line-height:.94;letter-spacing:-.06em;margin:18px 0 28px;max-width:720px}.lede{color:#9fb0b4;max-width:520px;line-height:1.7}.panel{background:#0d191c;border:1px solid #294043;border-radius:24px;padding:18px;box-shadow:0 30px 90px #0006}.drop-zone{height:330px;border:1px dashed #507174;border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;cursor:pointer;transition:.2s;background:#0a1517}.drop-zone:hover,.drop-zone.drag{border-color:#98ffcb;background:#102320;transform:translateY(-2px)}.drop-zone strong{font-size:1.2rem}.drop-zone span:last-child{font-size:.85rem;color:#82979b}.upload-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:#98ffcb;color:#071012;font-size:1.8rem;margin-bottom:8px}.job{padding:22px 8px 4px}.job-head,.job-foot{display:flex;justify-content:space-between;align-items:center;gap:20px}.job-head>div{display:grid;gap:5px}.pill{padding:7px 11px;border-radius:999px;background:#203235;color:#bdd0d3;font-size:.78rem}.track{height:8px;background:#1c2b2e;border-radius:99px;overflow:hidden;margin:24px 0 16px}.track span{display:block;height:100%;width:0;background:#98ffcb;transition:width .35s}.job-foot{font-size:.83rem;color:#91a5a9}.button{padding:10px 15px;background:#98ffcb;color:#071012;text-decoration:none;border-radius:9px;font-weight:800}.error{color:#ff9d91;min-height:1.3em;margin:13px 5px 0;font-size:.85rem}footer{display:flex;justify-content:space-between;border-top:1px solid #294043;padding-top:20px;color:#71868a;font-size:.75rem}@media(max-width:800px){.shell{padding:22px}.workspace{grid-template-columns:1fr;gap:38px;padding:45px 0}.drop-zone{height:260px}.intro h2{font-size:3.2rem}footer{gap:14px;flex-direction:column}}
.auth-view{flex:1;display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center;padding:70px 0}.auth-card{background:#0d191c;border:1px solid #294043;border-radius:24px;padding:28px;max-width:500px;width:100%;justify-self:end}.auth-tabs{display:flex;margin-bottom:24px;border-bottom:1px solid #294043}.auth-tabs button{flex:1;border:0;background:none;color:#819599;padding:13px;cursor:pointer}.auth-tabs button.active{color:#98ffcb;border-bottom:2px solid #98ffcb}.auth-card form{display:grid;gap:17px}.auth-card label{display:grid;gap:7px;color:#b8c7ca}.auth-card input{padding:13px;border:1px solid #385154;border-radius:9px;background:#081315;color:white;font:inherit}.auth-card .button{border:0;cursor:pointer}.or{text-align:center;color:#71868a}.google{display:block;text-align:center;padding:12px;border:1px solid #385154;border-radius:9px;color:white;text-decoration:none}#accountEmail{margin-left:auto;color:#9fb0b4;font-size:.82rem}#logout{border:0;background:none;color:#98ffcb;cursor:pointer}.account+#apiState{margin-left:0}@media(max-width:800px){.auth-view{grid-template-columns:1fr;gap:35px;padding:45px 0}.auth-card{justify-self:stretch}}
.auth-help{display:flex;justify-content:center;flex-wrap:wrap;gap:6px 14px;margin-top:17px}.auth-help button{padding:0;border:0;background:none;color:#98ffcb;font:inherit;font-size:.72rem;cursor:pointer}.notice{color:#98ffcb;min-height:1.3em;margin:13px 5px 0;font-size:.85rem;line-height:1.5}
.auth-legal{color:#71868a;font-size:.7rem;line-height:1.5;text-align:center;margin:13px 5px}.auth-legal a{color:#9fb0b4}
.seo-content{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:start;padding-top:10px}.seo-content section{height:100%;padding:24px;background:#0a1517;border:1px solid #294043;border-radius:16px}.seo-content h2{margin:0 0 13px;font-size:1.15rem;letter-spacing:-.02em}.seo-content p,.seo-content li{color:#91a5a9;line-height:1.65;font-size:.88rem}.seo-content ol{margin:0;padding-left:20px}.seo-content details{border-top:1px solid #294043;padding:12px 0}.seo-content details:first-of-type{border-top:0}.seo-content summary{cursor:pointer;color:#c7d5d7;font-size:.88rem;font-weight:700}.seo-content details p{margin:9px 0 0}@media(max-width:800px){.seo-content{grid-template-columns:1fr}}
.preview-box{margin:20px 0;display:grid;gap:9px}.preview-box img{display:block;width:100%;aspect-ratio:1;object-fit:contain;background:#081315;border:1px solid #294043;border-radius:12px}.preview-box[hidden]{display:none}
.engine-label{display:grid;gap:8px;margin:2px 2px 16px;color:#b8c7ca;font-size:.85rem}.engine-label select{width:100%;padding:12px;border:1px solid #385154;border-radius:9px;background:#081315;color:#eaf0f3;font:inherit}
.advanced{margin:0 2px 16px;border:1px solid #294043;border-radius:10px;padding:11px}.advanced summary{cursor:pointer;color:#98ffcb;font-size:.85rem;font-weight:700}.option-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.option-grid label,.checks label{display:grid;gap:6px;color:#aebfc2;font-size:.8rem}.option-grid select,.checks input[type=number]{padding:9px;border:1px solid #385154;border-radius:8px;background:#081315;color:white}.checks{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-top:14px}.checks label:has(input[type=checkbox]){display:flex;align-items:center;gap:7px}.result-actions{display:flex;gap:8px}.secondary{padding:10px 14px;border:1px solid #507174;border-radius:9px;background:transparent;color:#eaf0f3;font-weight:700;cursor:pointer}@media(max-width:540px){.option-grid,.checks{grid-template-columns:1fr}}
[hidden]{display:none!important}
#adminButton,#profileButton,#workspaceButton{border:0;background:none;color:#98ffcb;cursor:pointer;font:inherit;font-size:.82rem}.admin-view,.profile-view{flex:1;padding:60px 0}.admin-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:28px}.admin-heading h2{font-size:clamp(2.4rem,5vw,4.5rem);letter-spacing:-.05em;margin:10px 0}.admin-panel{background:#0d191c;border:1px solid #294043;border-radius:20px;padding:20px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:720px}th,td{text-align:left;padding:15px 13px;border-bottom:1px solid #294043}th{color:#98ffcb;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase}td{color:#b8c7ca;font-size:.86rem}td strong,td small{display:block}td small{color:#71868a;margin-top:4px}td select{padding:9px 30px 9px 10px;border:1px solid #385154;border-radius:8px;background:#081315;color:#eaf0f3}@media(max-width:700px){.admin-heading{align-items:start;flex-direction:column}.admin-view,.profile-view{padding:40px 0}}
.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:16px}.metric-grid article{padding:20px;background:#102320;border:1px solid #31504c;border-radius:16px}.metric-grid span{display:block;color:#91a5a9;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.metric-grid strong{display:block;margin-top:8px;color:#98ffcb;font-size:2rem}.chart-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.engine-panel{grid-column:1/-1}.panel-title{display:flex;align-items:baseline;justify-content:space-between;gap:15px;margin-bottom:20px}.panel-title h3{margin:0;font-size:1rem}.panel-title span{color:#71868a;font-size:.75rem}.bar-chart{height:210px;display:grid;grid-template-columns:repeat(7,1fr);gap:9px;align-items:end;border-bottom:1px solid #385154;padding:28px 4px 0}.bar-column{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:7px}.bar-column strong{font-size:.72rem;color:#b8c7ca}.bar-column>span{display:block;width:min(34px,75%);min-height:2px;border-radius:6px 6px 0 0;background:linear-gradient(#98ffcb,#3f9c7a)}.bar-column small{height:22px;color:#71868a;font-size:.68rem}.frequency-chart{display:grid;gap:18px;color:#71868a;font-size:.85rem}.frequency-chart>div>div:first-child{display:flex;justify-content:space-between;gap:15px;margin-bottom:7px}.frequency-chart strong{color:#c7d5d7}.frequency-chart>div>div:last-child{height:10px;background:#1c2b2e;border-radius:99px;overflow:hidden}.frequency-chart>div>div:last-child span{display:block;height:100%;background:#98ffcb;border-radius:99px}.admin-section{margin-top:16px}.user-scroll,.revenue-scroll{max-height:430px;overflow:auto}.table-wrap th{position:sticky;top:0;z-index:1;background:#0d191c}.revenue-status{display:inline-block;border-radius:99px;padding:5px 9px;text-transform:capitalize;font-size:.75rem}.revenue-status.paid{color:#98ffcb;background:#15372c}.revenue-status.failed{color:#ff9d91;background:#3a201f}.empty-cell{text-align:center;color:#71868a;padding:35px}@media(max-width:800px){.metric-grid,.chart-grid{grid-template-columns:1fr}.engine-panel{grid-column:auto}}@media(max-width:520px){.metric-grid{grid-template-columns:1fr}.panel-title{align-items:start;flex-direction:column}}
.profile-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.profile-summary article{padding:20px;background:#102320;border:1px solid #31504c;border-radius:16px;min-width:0}.profile-summary span{display:block;color:#91a5a9;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.profile-summary strong{display:block;margin-top:8px;color:#eaf0f3;font-size:1rem;overflow-wrap:anywhere}.profile-summary article:nth-child(2) strong{color:#98ffcb;font-size:1.8rem}.profile-scroll{max-height:360px;overflow:auto}.credit-positive{color:#98ffcb}.credit-negative{color:#ff9d91}@media(max-width:900px){.profile-summary{grid-template-columns:1fr 1fr}}@media(max-width:520px){.profile-summary{grid-template-columns:1fr}}
.cancel-account{display:flex;justify-content:flex-end;padding:22px 4px 0}.danger-link{border:0;background:none;color:#b97872;font:inherit;font-size:.75rem;text-decoration:underline;cursor:pointer}.confirm-dialog{width:min(460px,calc(100% - 32px));padding:0;border:1px solid #40575a;border-radius:18px;background:#0d191c;color:#eaf0f3;box-shadow:0 30px 100px #000b}.confirm-dialog::backdrop{background:#020708cc}.confirm-dialog form{position:relative;padding:28px}.confirm-dialog h2{margin:10px 0;font-size:1.8rem}.confirm-dialog p:not(.eyebrow):not(.error){color:#91a5a9;line-height:1.55}.confirm-dialog label{display:grid;gap:8px;margin-top:22px;color:#c7d5d7;font-size:.85rem}.confirm-dialog input{padding:12px;border:1px solid #506568;border-radius:8px;background:#071012;color:#fff;font:inherit}.dialog-close{position:absolute;right:16px;top:12px;border:0;background:none;color:#91a5a9;font-size:1.6rem;cursor:pointer}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.danger-button{padding:10px 14px;border:1px solid #a74b43;border-radius:9px;background:#8c352f;color:#fff;font-weight:800;cursor:pointer}.danger-button:disabled{opacity:.4;cursor:not-allowed}
footer nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px 17px}footer a{color:#91a5a9;text-decoration:none}footer a:hover{color:#98ffcb}@media(max-width:800px){footer nav{justify-content:flex-start}}
.analysis-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:18px 0}.analysis-summary>div:not(.analysis-actions){padding:14px;background:#102320;border:1px solid #31504c;border-radius:10px}.analysis-summary span{display:block;color:#91a5a9;font-size:.7rem;text-transform:uppercase;letter-spacing:.06em}.analysis-summary strong{display:block;margin-top:5px;color:#eaf0f3}.analysis-summary .cost{border-color:#62a98e}.analysis-summary .cost strong,.analysis-summary .cost strong span{display:inline;color:#98ffcb;font-size:1rem;text-transform:none;letter-spacing:0}.analysis-summary>p{grid-column:1/-1;margin:4px 2px;color:#91a5a9;font-size:.82rem}.analysis-summary>p strong{display:inline;color:#eaf0f3}.analysis-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:9px}.analysis-actions .button{border:0;cursor:pointer}.analysis-actions .button:disabled{opacity:.4;cursor:not-allowed}@media(max-width:650px){.analysis-summary{grid-template-columns:1fr 1fr}}
.object-picker{grid-column:1/-1;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:7px 12px;padding:13px;border:1px solid #507174;border-radius:10px;background:#0a1517}.object-picker>span{color:#98ffcb;font-weight:800}.object-picker select{min-width:0;padding:10px;border:1px solid #385154;border-radius:8px;background:#081315;color:#eaf0f3;font:inherit}.object-picker small{grid-column:2;color:#82979b;font-size:.72rem}
.model-viewer-dialog{width:min(1450px,calc(100% - 24px));height:min(920px,calc(100% - 24px));padding:0;border:1px solid #40575a;border-radius:18px;background:#0d191c;color:#eaf0f3;box-shadow:0 35px 120px #000d}.model-viewer-dialog::backdrop{background:#020708e8}.viewer-head{height:62px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;border-bottom:1px solid #294043}.viewer-head>div{display:grid;gap:3px}.viewer-head span{color:#71868a;font-size:.72rem}.viewer-head button{border:0;background:none;color:#91a5a9;font-size:1.8rem;cursor:pointer}.viewer-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;padding:10px 16px;border-bottom:1px solid #294043;color:#aebfc2;font-size:.76rem}.viewer-toolbar label{display:flex;align-items:center;gap:6px}.viewer-toolbar input[type=range]{width:92px;accent-color:#98ffcb}.viewer-toolbar input[type=color]{width:30px;height:25px;padding:1px;border:1px solid #40575a;border-radius:5px;background:#102320}.viewer-toolbar select{padding:4px 6px;border:1px solid #40575a;border-radius:5px;background:#102320;color:#eaf0f3}.viewer-toolbar .secondary{padding:7px 9px;font-size:.72rem}.paint-toggle{padding:6px 9px;border:1px solid #42625d;border-radius:8px;background:#15302a;color:#caffdf}.viewer-studio{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:1px;height:calc(100% - 169px);background:#294043}.viewer-pane{display:grid;grid-template-rows:42px minmax(0,1fr);min-width:0;min-height:0;background:#071012}.pane-title{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 14px;background:#102023;color:#8ba0a4;font-size:.7rem}.pane-title strong{color:#e3edef;font-size:.78rem}.model-viewport{position:relative;min-height:260px;background:#071012;overflow:hidden}.model-viewport>canvas{display:block;width:100%;height:100%;touch-action:none}.viewport-orientation{position:absolute;z-index:1;left:15px;bottom:10px;display:flex;gap:5px;pointer-events:none;font:800 10px/1 sans-serif;text-shadow:0 1px 3px #000}.viewport-orientation .axis-x{color:#ff6464}.viewport-orientation .axis-y{color:#68ef86}.viewport-orientation .axis-z{color:#6ea4ff}.uv-paint-surface{position:relative;min-height:0;overflow:auto;background:#05090a;background-image:linear-gradient(45deg,#111 25%,transparent 25%),linear-gradient(-45deg,#111 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#111 75%),linear-gradient(-45deg,transparent 75%,#111 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0}.uv-paint-surface canvas{position:absolute;inset:0;margin:auto;width:min(100%,100vh);height:auto;aspect-ratio:1;image-rendering:auto;touch-action:none}.uv-paint-surface #uvOverlayCanvas{pointer-events:none}.viewer-loading{position:absolute;z-index:2;inset:0;display:grid;place-content:center;gap:12px;text-align:center;background:#071012dd;color:#b8c7ca}.viewer-loading>div{width:min(320px,70vw);height:7px;border-radius:99px;background:#1c2b2e;overflow:hidden}.viewer-loading i{display:block;width:0;height:100%;background:#98ffcb;transition:width .2s}.viewer-help{margin:0;padding:9px 18px;color:#71868a;font-size:.7rem;text-align:center}.viewer-help span{color:#a9c9c0}.viewer-studio:fullscreen{width:100vw;height:100vh}.viewer-studio:fullscreen .viewer-pane{height:100vh}@media(max-width:850px){.model-viewer-dialog{height:calc(100% - 12px);width:calc(100% - 12px)}.viewer-studio{grid-template-columns:1fr;grid-template-rows:minmax(300px,1fr) minmax(300px,1fr);height:calc(100% - 215px);overflow:auto}.viewer-pane{min-height:300px}.viewer-toolbar{gap:7px}.viewer-help{display:none}}
.surface-pane{grid-template-columns:180px minmax(0,1fr);grid-template-rows:42px minmax(0,1fr)}.surface-pane>.pane-title{grid-column:1/-1}.viewer-layer-sidebar{grid-column:1;grid-row:2;min-width:0;min-height:0;display:flex;flex-direction:column;background:#0b1518;border-right:1px solid #294043}.layer-sidebar-head{display:flex;align-items:baseline;justify-content:space-between;gap:6px;padding:10px;border-bottom:1px solid #294043}.layer-sidebar-head strong{font-size:.78rem}.layer-sidebar-head span{color:#71868a;font-size:.58rem}.layer-sidebar-list{min-height:0;overflow-y:auto;padding:6px}.layer-sidebar-row{display:grid;grid-template-columns:18px 48px minmax(0,1fr);align-items:center;gap:7px;padding:7px 5px;border:1px solid transparent;border-radius:8px;cursor:pointer}.layer-sidebar-row:hover{background:#102023}.layer-sidebar-row.active{border-color:#58b893;background:#15302a}.layer-sidebar-row.hidden-layer{opacity:.5}.layer-sidebar-row input{margin:0;accent-color:#98ffcb}.layer-thumbnail{width:48px;height:48px;border:1px solid #40575a;border-radius:5px;background-color:#182326;background-image:linear-gradient(45deg,#273538 25%,transparent 25%),linear-gradient(-45deg,#273538 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#273538 75%),linear-gradient(-45deg,transparent 75%,#273538 75%);background-size:10px 10px;background-position:0 0,0 5px,5px -5px,-5px 0}.layer-sidebar-row>span{min-width:0}.layer-sidebar-row strong,.layer-sidebar-row small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layer-sidebar-row strong{color:#dce8ea;font-size:.68rem}.layer-sidebar-row small{margin-top:4px;color:#82979b;font-size:.56rem}.surface-pane>.model-viewport{grid-column:2;grid-row:2}@media(max-width:850px){.surface-pane{grid-template-columns:145px minmax(0,1fr)}}
