:root{--bg:#090c11;--panel:#11161d;--panel-2:#171d26;--panel-3:#1c232d;--line:#28303b;--line-soft:#ffffff12;--ink:#f4f2ec;--muted:#929daa;--dim:#65707d;--orange:#ff7a22;--orange-soft:#ff7a2226;--blue:#54b7e7;--success:#59d39b;--danger:#ff6b70;--shadow:0 26px 80px #0000006b}*{box-sizing:border-box}html,body{min-height:100%}body{background:var(--bg);color:var(--ink);font-family:var(--font-geist-sans), "PingFang SC", "Microsoft YaHei", Arial, sans-serif;margin:0}button,input,textarea{color:inherit;font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{border:0}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--orange);outline-offset:2px}::selection{background:var(--orange);color:#101010}.kicker{color:var(--orange);letter-spacing:.18em;text-transform:uppercase;font-size:11px;font-weight:750;display:block}.studio-brand{align-items:center;gap:11px;display:inline-flex}.studio-brand>span:last-child{flex-direction:column;gap:1px;display:flex}.studio-brand strong{letter-spacing:.07em;font-size:18px}.studio-brand small{color:var(--muted);letter-spacing:.11em;font-size:9px}.brand-glyph{width:38px;height:38px;color:var(--orange);background:linear-gradient(145deg,#ff7a2230,#0000),#171b22;border:1px solid #ff7a228f;border-radius:11px 11px 3px;place-items:center;font-size:15px;font-weight:800;display:grid}.studio-brand.large{gap:14px}.studio-brand.large .brand-glyph{width:48px;height:48px;font-size:18px}.studio-brand.large strong{font-size:22px}.accent-button,.outline-button,.danger-button{cursor:pointer;border-radius:6px;justify-content:center;align-items:center;gap:10px;min-height:43px;font-size:13px;font-weight:720;transition:transform .16s,border-color .16s,background .16s;display:inline-flex}.accent-button{color:#fff;background:linear-gradient(135deg,#ff8b3c,#e5570b);padding:0 18px;box-shadow:0 10px 30px #e6540838}.accent-button:hover:not(:disabled){background:linear-gradient(135deg,#ff9a54,#ed5c0b);transform:translateY(-1px)}.accent-button:disabled,.danger-button:disabled{cursor:wait;opacity:.6}.outline-button{border:1px solid var(--line);color:#dce6ec;background:#151a21;padding:0 18px}.outline-button:hover{background:#1a2029;border-color:#5b6674}.danger-button{color:#fff;background:#c93f49;padding:0 18px}.wide{width:100%}.auth-shell{background:radial-gradient(circle at 18% 36%,#336b8c3d,#0000 32%),radial-gradient(circle at 63% 15%,#ff7a2217,#0000 26%),#090c11;grid-template-columns:minmax(480px,1.35fr) minmax(390px,.65fr);min-height:100vh;display:grid;position:relative;overflow:hidden}.auth-grid{opacity:.08;pointer-events:none;background-image:linear-gradient(#ffffff38 1px,#0000 1px),linear-gradient(90deg,#ffffff38 1px,#0000 1px);background-size:56px 56px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle at 30%,#000,#0000 70%);mask-image:radial-gradient(circle at 30%,#000,#0000 70%)}.auth-brand-panel{z-index:1;border-right:1px solid var(--line-soft);flex-direction:column;justify-content:space-between;min-height:100vh;padding:48px clamp(48px,7vw,112px) 56px;display:flex;position:relative}.auth-brand-panel:after{content:"";border:1px solid #54b7e71f;border-radius:48% 48% 42% 43%;width:360px;height:500px;position:absolute;bottom:12%;right:7%;transform:rotate(11deg);box-shadow:inset 40px 10px 90px #54b7e70d,0 0 120px #54b7e70d}.auth-copy{z-index:2;max-width:680px;position:relative}.auth-copy h1{letter-spacing:-.055em;max-width:650px;margin:18px 0 24px;font-size:clamp(48px,5vw,78px);font-weight:740;line-height:1.1}.auth-copy p{color:#a8b2bf;max-width:570px;margin:0;font-size:15px;line-height:1.9}.auth-features{z-index:2;flex-wrap:wrap;gap:10px;display:flex;position:relative}.auth-features span{border:1px solid var(--line);color:#b8c1cc;background:#11161dc2;border-radius:4px;padding:9px 12px;font-size:11px}.auth-card{z-index:2;border:1px solid var(--line);width:min(430px,100% - 56px);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:#0f141bed;border-radius:9px;place-self:center;position:relative}.auth-card-head{border-bottom:1px solid var(--line);height:43px;color:var(--muted);letter-spacing:.12em;justify-content:space-between;align-items:center;padding:0 16px;font-size:10px;display:flex}.window-dots{gap:5px;display:flex}.window-dots i{background:#3d4651;border-radius:50%;width:7px;height:7px}.window-dots i:first-child{background:#e6665f}.window-dots i:nth-child(2){background:#d9aa51}.window-dots i:last-child{background:#5bb888}.auth-card-body{padding:42px 40px 36px}.auth-card-body h2{letter-spacing:-.03em;margin:9px 0 12px;font-size:31px}.auth-card-body>p{color:var(--muted);margin:0 0 28px;font-size:13px;line-height:1.75}.auth-card-body .accent-button{margin-bottom:10px}.phone-login-form{flex-direction:column;gap:14px;margin-bottom:6px;display:flex}.phone-field{flex-direction:column;gap:8px;display:flex}.phone-field>span{color:var(--muted);font-size:11px}.phone-field input{border:1px solid var(--line);color:#fff;letter-spacing:.02em;background:#0e1319;border-radius:6px;height:44px;padding:0 14px;font-size:14px}.phone-field input:focus{border-color:#5c7186;outline:none}.phone-field input:disabled{opacity:.6}.phone-login-form .text-button{margin:0 auto}.text-button{color:#aab4c0;cursor:pointer;background:0 0;margin:18px auto 0;font-size:12px;display:block}.text-button:hover{color:#fff}.security-note{border-top:1px solid var(--line);color:var(--dim);gap:10px;margin-top:26px;padding-top:20px;display:flex}.security-note>span{color:var(--success)}.security-note p{margin:0;font-size:10px;line-height:1.65}.dashboard-shell{background:linear-gradient(#ffffff05 1px, transparent 1px), linear-gradient(90deg, #ffffff05 1px, transparent 1px), radial-gradient(circle at 50% -20%, #1a2936, transparent 38%), var(--bg);background-size:52px 52px,52px 52px,auto,auto;min-height:100vh}.dashboard-header{z-index:10;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#090c11e0;grid-template-columns:1fr auto 1fr;align-items:center;height:70px;padding:0 38px;display:grid;position:sticky;top:0}.dashboard-nav{align-items:center;gap:30px;height:100%;display:flex}.dashboard-nav button{height:100%;color:var(--muted);cursor:pointer;background:0 0;font-size:13px;position:relative}.dashboard-nav button:hover,.dashboard-nav button.active{color:#fff}.dashboard-nav button.active:after{background:var(--orange);content:"";height:2px;position:absolute;bottom:0;left:0;right:0}.profile-chip{cursor:pointer;text-align:left;background:0 0;justify-self:end;align-items:center;gap:9px;display:flex}.profile-chip>span,.mini-profile{color:#d5dfeb;background:#202835;border:1px solid #3b4654;border-radius:50%;place-items:center;width:34px;height:34px;font-size:11px;font-weight:750;display:grid}.profile-chip i{flex-direction:column;max-width:180px;font-style:normal;display:flex}.profile-chip strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.profile-chip small{color:var(--dim);text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.dashboard-content{width:min(1420px,100% - 76px);margin:0 auto;padding:72px 0 100px}.dashboard-title{justify-content:space-between;align-items:flex-end;margin-bottom:44px;display:flex}.dashboard-title h1{letter-spacing:-.045em;margin:11px 0 9px;font-size:clamp(36px,4vw,56px)}.dashboard-title p{color:var(--muted);margin:0;font-size:13px}.demo-notice,.error-banner{color:#a9d7ee;background:#54b7e714;border:1px solid #54b7e73d;border-radius:6px;margin:-16px 0 30px;padding:13px 15px;font-size:11px}.error-banner{color:#ffafb2;background:#ff6b7014;border-color:#ff6b7047}.project-section+.project-section{margin-top:68px}.section-row{justify-content:space-between;align-items:center;margin-bottom:17px;display:flex}.section-row h2{margin:0;font-size:17px}.section-row span{color:var(--dim);margin-top:4px;font-size:10px;display:block}.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.new-project-card,.project-card{border:1px solid var(--line);background:var(--panel);border-radius:8px;min-height:342px;transition:transform .18s,border-color .18s,box-shadow .18s;overflow:hidden}.new-project-card{cursor:pointer;background:radial-gradient(circle at 50% 35%,#ff7a2214,#0000 28%),#0e12189e;border-style:dashed;flex-direction:column;justify-content:center;align-items:center;display:flex}.new-project-card:hover,.project-card:hover{border-color:#495566;transform:translateY(-3px);box-shadow:0 20px 50px #0000003d}.new-project-card>span{background:var(--orange-soft);width:48px;height:48px;color:var(--orange);border:1px solid #ff7a225c;border-radius:50%;place-items:center;margin-bottom:15px;font-size:25px;font-weight:300;display:grid}.new-project-card strong{font-size:14px}.new-project-card small{color:var(--dim);margin-top:7px;font-size:10px}.project-preview{border-bottom:1px solid var(--line);cursor:pointer;background:linear-gradient(#ffffff0a 1px,#0000 1px) 0 0/32px 32px,linear-gradient(90deg,#ffffff0a 1px,#0000 1px) 0 0/32px 32px,radial-gradient(circle at 50% 48%,#253444,#111720 62%);width:100%;height:205px;display:block;position:relative;overflow:hidden}.project-head{background:linear-gradient(120deg,#ffffff2e,#0000 40%),#b9a99e;border:1px solid #ffffff2e;border-radius:46% 46% 42% 43%;width:104px;height:136px;position:absolute;top:28px;left:50%;transform:translate(-50%);box-shadow:inset -19px -10px 35px #281c1847,0 19px 50px #0000005c}.project-head:before{content:"";opacity:.7;background:#62c0e9;height:1px;position:absolute;top:16px;left:15px;right:15px;box-shadow:0 23px #62c0e9,0 46px #62c0e9}.project-head i{background:#aa998e;width:25px;height:48px;position:absolute;bottom:-30px;right:40px}.head-variant-2{transform:translate(-50%)rotate(-12deg)}.head-variant-3{transform:translate(-50%)rotate(12deg)}.project-angle,.project-layer-count{color:#c4cfda;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#080b0fa3;border:1px solid #ffffff1a;border-radius:3px;padding:5px 7px;font-size:9px;position:absolute;bottom:12px}.project-angle{color:var(--orange);left:12px}.project-layer-count{right:12px}.project-card-body{flex-direction:column;justify-content:space-between;min-height:136px;padding:17px 18px 14px;display:flex}.project-status{color:var(--success);letter-spacing:.12em;font-size:9px}.project-card h3{margin:5px 0 4px;font-size:15px}.project-card p{color:var(--dim);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:10px;overflow:hidden}.project-card-footer{border-top:1px solid var(--line-soft);align-items:center;gap:9px;margin-top:14px;padding-top:11px;display:flex}.project-card-footer>span{color:var(--dim);margin-right:auto;font-size:9px}.project-card-footer button{color:var(--muted);cursor:pointer;background:0 0;font-size:9px}.project-card-footer .open-project{color:var(--orange);font-weight:700}.danger-link{color:#cf777b!important}.history-list{border:1px solid var(--line);border-radius:8px;overflow:hidden}.history-list article{background:var(--panel);grid-template-columns:34px 1fr auto auto auto;align-items:center;gap:12px;min-height:70px;padding:0 18px;display:grid}.history-list article+article{border-top:1px solid var(--line)}.history-icon{width:30px;height:30px;color:var(--blue);background:#1b222c;border-radius:5px;place-items:center;display:grid}.history-list article>div{flex-direction:column;display:flex}.history-list strong{font-size:12px}.history-list small{color:var(--dim);margin-top:3px;font-size:9px}.history-list button{color:var(--muted);cursor:pointer;background:#1a212a;border-radius:4px;padding:7px 10px;font-size:9px}.history-empty{border:1px dashed var(--line);height:90px;color:var(--dim);border-radius:7px;place-items:center;font-size:11px;display:grid}.skeleton-card{border:1px solid var(--line);background:var(--panel);border-radius:8px;min-height:342px;padding:22px}.skeleton-card span,.skeleton-card i{background:linear-gradient(90deg,#171d25,#242c37,#171d25) 0 0/200% 100%;border-radius:4px;animation:1.3s infinite shimmer;display:block}.skeleton-card span{height:200px}.skeleton-card i{width:72%;height:12px;margin-top:21px}.skeleton-card i:last-child{width:45%;height:8px;margin-top:10px}@keyframes shimmer{to{background-position:-200% 0}}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#030508b8;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal-card{width:min(860px,100%);max-height:calc(100vh - 48px);box-shadow:var(--shadow);background:#11161d;border:1px solid #303a47;border-radius:9px;overflow:auto}.modal-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;padding:24px 26px 20px;display:flex}.modal-head h2{margin:6px 0 0;font-size:22px}.modal-head>button{width:32px;height:32px;color:var(--muted);cursor:pointer;background:#1a2029;border-radius:4px;font-size:20px}.project-form-grid{grid-template-columns:1fr 1fr;gap:18px;padding:25px 26px 8px;display:grid}.field{flex-direction:column;gap:8px;display:flex}.field.full{grid-column:1/-1}.field>span,.parameter-field>span{color:#aeb8c4;font-size:10px}.field input,.field textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#0d1117;border-radius:5px;outline:none;font-size:12px}.field input{height:42px;padding:0 12px}.field textarea{resize:vertical;min-height:72px;padding:11px 12px}.head-model-picker{border:0;grid-column:1/-1;min-width:0;margin:0;padding:0}.head-model-picker legend{color:#aeb8c4;margin-bottom:9px;font-size:11px}.head-model-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.head-model-grid button{border:1px solid var(--line);min-width:0;min-height:178px;color:var(--muted);cursor:pointer;text-align:left;background:#0d1218;border-radius:6px;flex-direction:column;align-items:stretch;padding:0;display:flex;overflow:hidden}.head-model-grid button:hover{background:#121922;border-color:#536172}.head-model-grid button.selected{border-color:var(--orange);box-shadow:0 0 0 2px #ff7a2221}.head-model-grid img{object-fit:contain;border-bottom:1px solid var(--line-soft);background:#090d12;width:100%;height:120px}.head-model-grid button>span{flex-direction:column;align-items:flex-start;gap:4px;min-width:0;padding:12px 12px 0;display:flex}.head-model-grid strong{color:#e4e9ee;overflow-wrap:anywhere;font-size:12px}.head-model-grid small{color:var(--orange);flex:none;font-size:8px}.head-model-grid em{color:#778390;padding:6px 12px 12px;font-size:8px;font-style:normal;line-height:1.45}@media (width<=640px){.head-model-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.head-model-grid img{height:104px}}.field input:focus,.field textarea:focus{border-color:#5c7186}.parameter-field{border:1px solid var(--line);background:#0e1319;border-radius:5px;flex-direction:column;gap:11px;min-width:0;padding:14px;display:flex}.parameter-field>span{justify-content:space-between;display:flex}.parameter-field strong{color:var(--orange);font-family:var(--font-geist-mono), monospace;font-size:10px}.parameter-field input{width:100%;height:3px;accent-color:var(--orange)}.form-error{color:#ff969a;margin:12px 26px 0;font-size:10px}.modal-actions{justify-content:flex-end;gap:10px;padding:22px 26px 25px;display:flex}.modal-actions button{min-width:100px}.account-modal{width:min(500px,100%)}.account-summary{grid-template-columns:50px 1fr auto;align-items:center;gap:13px;padding:23px 25px;display:grid}.account-summary>span{background:#202a36;border:1px solid #455363;border-radius:50%;place-items:center;width:48px;height:48px;font-size:13px;font-weight:750;display:grid}.account-summary>div{flex-direction:column;min-width:0;display:flex}.account-summary strong{font-size:13px}.account-summary small{color:var(--muted);text-overflow:ellipsis;margin-top:3px;font-size:10px;overflow:hidden}.account-summary>i{color:var(--success);background:#59d39b17;border-radius:3px;padding:5px 7px;font-size:8px;font-style:normal}.account-actions{padding:0 25px 26px}.account-actions>button,.account-actions>a{border:1px solid var(--line);cursor:pointer;text-align:left;background:#0e1319;grid-template-columns:30px 1fr auto;align-items:center;gap:10px;width:100%;min-height:61px;padding:0 13px;display:grid}.account-actions>:first-child{border-radius:6px 6px 0 0}.account-actions>:last-child{border-radius:0 0 6px 6px}.account-actions>*+*{border-top:0}.account-actions>:hover{background:#171e27}.account-actions>*>span{color:var(--blue);text-align:center;font-size:17px}.account-actions i{flex-direction:column;font-style:normal;display:flex}.account-actions strong{font-size:11px}.account-actions small{color:var(--dim);margin-top:3px;font-size:9px}.account-actions em{color:var(--dim);font-style:normal}.account-actions .danger-action>span,.account-actions .danger-action strong{color:var(--danger)}.security-detail{text-align:center;padding:0 28px 30px}.back-link{color:var(--muted);cursor:pointer;background:0 0;margin-bottom:19px;font-size:10px;display:block}.security-icon{width:48px;height:48px;color:var(--blue);background:#54b7e714;border:1px solid #54b7e757;border-radius:50%;place-items:center;margin:0 auto 13px;font-size:20px;display:grid}.security-detail h3{margin:0 0 10px;font-size:17px}.security-detail>p{color:var(--muted);margin:0 auto;font-size:11px;line-height:1.8}.security-benefit{border:1px solid var(--line);color:var(--dim);background:#0d1218;border-radius:5px;margin-top:18px;padding:12px;font-size:9px;line-height:1.6}.danger-detail .security-icon{color:var(--danger);background:#ff6b7014;border-color:#ff6b7057}.danger-detail .danger-button{margin-top:20px}.workspace-shell{background:#070a0e;grid-template-rows:54px minmax(0,1fr) 25px;grid-template-columns:66px minmax(0,1fr) 318px;width:100vw;height:100vh;min-height:600px;display:grid;overflow:hidden}.workspace-topbar{z-index:20;border-bottom:1px solid var(--line);background:#11161d;grid-column:1/-1;align-items:center;gap:13px;padding:0 12px;display:flex}.workspace-brand{cursor:pointer;background:0 0;align-items:center;gap:7px;display:flex}.workspace-brand>span{width:29px;height:29px;color:var(--orange);border:1px solid #ff7a227a;border-radius:7px 7px 2px;place-items:center;font-size:11px;font-weight:800;display:grid}.workspace-brand i{letter-spacing:.06em;font-size:12px;font-style:normal;font-weight:750}.topbar-divider{background:var(--line);width:1px;height:24px}.exit-project{color:var(--muted);cursor:pointer;background:#1b222c;border-radius:4px;padding:7px 9px;font-size:9px}.project-breadcrumb{flex-direction:column;min-width:0;display:flex}.project-breadcrumb small{color:var(--dim);font-size:8px}.project-breadcrumb strong{text-overflow:ellipsis;white-space:nowrap;max-width:270px;margin-top:1px;font-size:10px;overflow:hidden}.save-state{color:var(--muted);align-items:center;gap:6px;margin-left:4px;font-size:8px;display:flex}.save-state i{background:var(--success);border-radius:50%;width:6px;height:6px}.state-saving i,.state-dirty i{background:#d9aa51}.state-error{color:var(--danger)}.state-error i{background:var(--danger)}.save-retry-button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0 2px;text-decoration:underline}.topbar-actions{align-items:center;gap:5px;margin-left:auto;display:flex}.topbar-actions>button{min-width:31px;height:31px;color:var(--muted);cursor:pointer;background:#1a2029;border-radius:4px;place-items:center;font-size:12px;display:grid}.topbar-actions .share-button{background:var(--orange-soft);color:var(--orange);border:1px solid #ff7a2259;padding:0 11px;font-size:9px}.topbar-actions .share-button:disabled{cursor:wait;opacity:.55}.topbar-actions .mini-profile{color:#fff;border-color:#435061;border-radius:50%;min-width:31px;font-size:9px}.workspace-tools{z-index:12;border-right:1px solid var(--line);background:#11161d;flex-direction:column;grid-area:2/1;min-height:0;padding:8px 7px;display:flex}.workspace-tools button{color:#7f8a97;cursor:pointer;background:0 0;border-radius:5px;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-height:57px;display:flex}.workspace-tools button:hover{color:#c9d2dc;background:#19212a}.workspace-tools button.active{background:var(--orange-soft);box-shadow:inset 2px 0 var(--orange);color:var(--orange)}.workspace-tools button span{font-family:var(--font-geist-mono), monospace;font-size:19px}.workspace-tools button small{font-size:8px}.tools-spacer{flex:1}.workspace-stage{background:linear-gradient(#ffffff08 1px,#0000 1px) 0 0/42px 42px,linear-gradient(90deg,#ffffff08 1px,#0000 1px) 0 0/42px 42px,radial-gradient(circle at 50% 48%,#1b2a36,#090d12 58%,#06080b 90%);grid-area:2/2;min-width:0;min-height:0;position:relative;overflow:hidden}.workspace-stage:before{z-index:1;content:"";pointer-events:none;background:radial-gradient(circle at 50% 42%,#0000 0 35%,#0406096b 78%),linear-gradient(90deg,#54b7e70f,#0000 18% 82%,#ff7a220a);position:absolute;inset:0}.stage-titlebar{z-index:6;color:var(--dim);pointer-events:none;justify-content:space-between;align-items:center;font-size:8px;display:flex;position:absolute;top:12px;left:14px;right:14px}.stage-titlebar span:first-child{align-items:center;gap:6px;display:flex}.stage-titlebar i{background:var(--success);border-radius:50%;width:6px;height:6px;box-shadow:0 0 0 3px #59d39b1a}.three-viewer{z-index:2;position:absolute;inset:0;overflow:hidden}.three-canvas{z-index:2;cursor:grab;touch-action:none;position:absolute;inset:0}.three-canvas:active{cursor:grabbing}.teaching-hover-card{z-index:9;pointer-events:none;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#080d13eb;border:1px solid #59d5ff61;border-radius:7px;flex-direction:column;gap:6px;width:min(280px,100% - 24px);padding:12px 13px;display:flex;position:absolute;box-shadow:0 16px 36px #00000061}.teaching-hover-card>span{color:#68d7ff;letter-spacing:.14em;font-size:7px;font-weight:800}.teaching-hover-card>strong{color:#f4f8fb;font-size:11px;line-height:1.4}.teaching-hover-card p,.teaching-hover-card small{color:#aab6c2;margin:0;font-size:8px;line-height:1.55}.teaching-hover-card small{color:#788897}.three-canvas canvas{width:100%;height:100%;display:block}.model-fallback{z-index:1;object-fit:cover;opacity:.9;width:100%;height:100%;transition:opacity .3s;position:absolute;inset:0}.model-fallback.hidden{opacity:0;pointer-events:none}.model-loading,.model-fallback-note{z-index:8;min-width:178px;color:var(--muted);text-align:center;-webkit-backdrop-filter:blur(13px);backdrop-filter:blur(13px);background:#090d12d6;border:1px solid #ffffff1f;border-radius:7px;flex-direction:column;align-items:center;gap:7px;padding:15px;font-size:9px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 16px 50px #00000059}.model-loading strong,.model-fallback-note strong{color:#fff;font-size:11px}.loading-ring{border:2px solid #ffffff1f;border-top-color:var(--orange);border-radius:50%;width:25px;height:25px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.viewer-hud{z-index:7;pointer-events:none;align-items:center;gap:8px;display:flex;position:absolute;top:36px;left:14px}.viewer-badge,.viewer-hint{color:#aeb8c4;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#080c119e;border:1px solid #ffffff17;border-radius:4px;padding:6px 8px;font-size:8px}.viewer-badge i{background:var(--blue);border-radius:50%;width:5px;height:5px;margin-right:5px;display:inline-block}.viewer-hint{color:var(--dim)}.reset-view{z-index:8;color:var(--muted);cursor:pointer;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#0d1218b8;border:1px solid #ffffff1a;border-radius:4px;align-items:center;gap:5px;padding:7px 9px;font-size:8px;display:flex;position:absolute;bottom:76px;right:16px}.reset-view:disabled{cursor:default;opacity:.4}.orientation-gizmo{z-index:8;opacity:0;pointer-events:none;background:radial-gradient(circle,#090e1475,#0000 68%);border:1px solid #ffffff14;border-radius:50%;width:76px;height:76px;transition:opacity .18s;position:absolute;bottom:116px;right:16px;box-shadow:inset 0 0 18px #00000029}.orientation-gizmo.ready{opacity:1}.orientation-gizmo svg{width:100%;height:100%;display:block;overflow:visible}.orientation-origin{fill:#d9e1e8;stroke:#05080cb3;stroke-width:1px}.orientation-axis{color:#fff;transition:opacity 80ms linear}.orientation-axis line{stroke:currentColor;stroke-width:1.8px;stroke-linecap:round}.orientation-axis circle{fill:currentColor}.orientation-axis text{fill:currentColor;font-family:var(--font-geist-mono), monospace;paint-order:stroke;stroke:#05080ccc;stroke-width:2px;font-size:8px;font-weight:800}.orientation-axis.axis-x{color:#f27378}.orientation-axis.axis-y{color:#67d594}.orientation-axis.axis-z{color:#65a7ee}.stage-floating-tip{z-index:8;border-left:2px solid var(--orange);pointer-events:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0a0e13bd;flex-direction:column;gap:3px;max-width:310px;padding:9px 11px;display:flex;position:absolute;bottom:75px;left:16px}.stage-floating-tip span{color:var(--muted);font-size:8px}.angle-strip{z-index:9;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0c1117c7;border:1px solid #ffffff17;border-radius:6px;align-items:center;gap:5px;min-height:48px;padding:6px 8px;display:flex;position:absolute;bottom:13px;left:14px;right:14px;box-shadow:0 12px 38px #00000042}.angle-strip>span{color:var(--muted);padding:0 8px;font-size:8px}.angle-strip button{color:#85909d;cursor:pointer;min-width:64px;height:34px;font-family:var(--font-geist-mono), monospace;background:#171d25;border-radius:4px;justify-content:center;align-items:center;gap:5px;font-size:9px;display:flex}.angle-strip button.active{background:var(--orange-soft);color:var(--orange);box-shadow:inset 0 0 0 1px #ff7a2259}.angle-strip button i{background:currentColor;width:13px;height:1px;display:block}.angle-strip em{color:#b7c0ca;margin-left:auto;padding:0 8px;font-size:8px;font-style:normal}.workspace-dock{z-index:12;border-left:1px solid var(--line);background:#11161d;grid-area:2/3;min-height:0;position:relative;overflow:auto}.dock-tabs{z-index:3;border-bottom:1px solid var(--line);background:#11161d;grid-template-columns:repeat(3,1fr);height:42px;display:grid;position:sticky;top:0}.dock-tabs button{color:var(--dim);cursor:pointer;background:0 0;font-size:11px;position:relative}.dock-tabs button.active:after{background:var(--orange);content:"";height:2px;position:absolute;bottom:0;left:13px;right:13px}.panel-caption{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;min-height:61px;padding:0 13px;display:flex}.panel-caption>div{flex-direction:column;gap:3px;display:flex}.panel-caption strong{font-size:12px}.panel-caption span{color:var(--dim);font-size:10px}.panel-caption>button{width:27px;height:27px;color:var(--orange);cursor:pointer;background:#1b222c;border-radius:4px;place-items:center;font-size:17px;display:grid}.layer-stack{padding:8px}.layer-row{cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:4px;grid-template-columns:25px 36px minmax(0,1fr) 24px;align-items:center;gap:6px;width:100%;min-height:52px;padding:5px;display:grid}.layer-row:hover{background:#171e27}.layer-row.selected{background:var(--orange-soft);border-color:#ff7a2259}.eye-toggle{color:#55606e;cursor:pointer;place-items:center;height:100%;font-size:11px;display:grid}.eye-toggle.visible{color:#c7d0da}.layer-thumb{background:linear-gradient(135deg,#ffffff1a,#0000),#202834;border:1px solid #333d49;border-radius:3px;width:34px;height:34px;display:block;position:relative;overflow:hidden}.layer-thumb:before,.layer-thumb:after{content:"";position:absolute}.layer-thumb:before{border-top:2px solid var(--layer-color);border-bottom:2px solid var(--layer-color);inset:9px 5px}.layer-thumb:after{border-left:1px solid var(--layer-color);top:5px;bottom:5px;left:16px}.kind-base{background:#b6a69c;border-radius:48% 48% 36% 36%}.kind-base:before,.kind-base:after{display:none}.kind-landmarks:before{background:radial-gradient(circle at 20% 20%, var(--layer-color) 0 2px, transparent 3px), radial-gradient(circle at 70% 35%, var(--layer-color) 0 2px, transparent 3px), radial-gradient(circle at 45% 80%, var(--layer-color) 0 2px, transparent 3px);border:0;inset:7px}.kind-zones{background:linear-gradient(135deg,#3e3858,#183f50)}.kind-hair-horizontal:before{background:repeating-linear-gradient(0deg,#b8c2d1 0 1px,#0000 1px 5px);border:0;inset:6px 4px}.kind-hair-vertical:before{background:repeating-linear-gradient(90deg,#b8c2d1 0 1px,#0000 1px 5px);border:0;inset:4px 6px}.kind-hair-diagonal:before{background:repeating-linear-gradient(135deg,#b8c2d1 0 1px,#0000 1px 5px);border:0;inset:4px}.layer-name{flex-direction:column;gap:3px;min-width:0;display:flex}.layer-name strong{color:#d7dee6;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.layer-name small{color:var(--dim);text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.lock-mark,.layer-delete{height:24px;color:var(--dim);place-items:center;font-size:11px;display:grid}.layer-delete{cursor:pointer;border-radius:3px}.layer-delete:hover{color:var(--danger);background:#ff6b701f}.hair-sheet-rule{background:#54b7e70d;border:1px solid #54b7e729;border-radius:4px;margin:8px 12px 0;padding:12px}.hair-sheet-rule span{color:#a9d8ed;font-size:10px;font-weight:700}.hair-sheet-rule p{color:#71818e;margin:5px 0 0;font-size:10px;line-height:1.55}.layer-toolbar{gap:5px;padding:12px;display:flex}.layer-toolbar button{border:1px solid var(--line);height:31px;color:var(--muted);cursor:pointer;background:#171e27;border-radius:4px;flex:1;font-size:10px}.properties-panel{padding-bottom:18px}.properties-panel .parameter-field{margin:10px 12px 0;padding:12px}.properties-panel>.outline-button{width:calc(100% - 24px);min-height:35px;margin:14px 12px 0;font-size:11px}.teaching-panel{padding-bottom:18px}.teaching-source{border-left:2px solid var(--orange);background:#0d1218;flex-direction:column;gap:4px;margin:12px;padding:12px;display:flex}.teaching-source span{color:var(--dim);letter-spacing:.12em;font-size:9px}.teaching-source strong{font-size:11px}.teaching-panel details{border-bottom:1px solid var(--line);margin:0 12px}.teaching-panel summary{color:#c2cbd5;cursor:pointer;padding:13px 0;font-size:11px;font-weight:700}.teaching-panel ol,.teaching-panel ul{grid-template-columns:1fr 1fr;gap:6px 14px;margin:0 0 13px;padding-left:18px;display:grid}.teaching-panel li,.teaching-panel p{color:#7f8b98;font-size:10px;line-height:1.55}.teaching-panel details>p{margin:0 0 13px}.teaching-panel .teaching-definition-list{grid-template-columns:1fr;gap:8px}.teaching-definition-list li{background:#ffffff06;border-left:2px solid #59d5ff3d;flex-direction:column;gap:2px;padding:7px 8px;list-style-position:inside;display:flex}.teaching-definition-list li strong{color:#cbd5df;font-size:10px}.teaching-definition-list li span,.teaching-definition-list li small{color:#788694;font-size:9px;line-height:1.5}.workspace-statusbar{z-index:20;border-top:1px solid var(--line);color:#66717e;font-family:var(--font-geist-mono), monospace;background:#0e1319;grid-area:3/1/auto/-1;align-items:center;gap:18px;padding:0 12px;font-size:7px;display:flex}.statusbar-spacer{flex:1}.hidden-signout{display:none}@media (width<=1100px){.auth-shell{grid-template-columns:1fr}.auth-brand-panel{border-right:0;border-bottom:1px solid var(--line);min-height:54vh;padding-bottom:42px}.auth-card{margin:58px 0}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace-shell{grid-template-columns:58px minmax(0,1fr) 282px}.project-breadcrumb strong{max-width:160px}}@media (width<=760px){.auth-shell{display:block}.auth-brand-panel{min-height:470px;padding:30px 24px 38px}.auth-copy h1{font-size:43px}.auth-features{display:none}.auth-card{width:calc(100% - 32px);margin:28px auto 46px}.auth-card-body{padding:32px 24px}.dashboard-header{grid-template-columns:1fr auto;padding:0 18px}.dashboard-nav,.profile-chip i{display:none}.dashboard-content{width:calc(100% - 34px);padding:42px 0 70px}.dashboard-title{flex-direction:column;align-items:flex-start;gap:24px}.dashboard-title h1{font-size:39px}.project-grid{grid-template-columns:1fr}.history-list article{grid-template-columns:32px 1fr auto;padding:12px}.history-list article button:not(:last-child){display:none}.project-form-grid{grid-template-columns:1fr}.workspace-shell{grid-template-rows:50px minmax(0,1fr) 210px 23px;grid-template-columns:51px minmax(0,1fr);height:100dvh;min-height:540px}.workspace-topbar{grid-area:1/1/auto/-1}.workspace-brand i,.topbar-divider,.project-breadcrumb,.topbar-actions>button:not(.mini-profile),.viewer-hint{display:none}.workspace-tools{grid-area:2/1/4}.workspace-tools button{min-height:50px}.workspace-stage{grid-area:2/2}.workspace-dock{border-top:1px solid var(--line);border-left:0;grid-area:3/2}.layer-stack{grid-template-columns:1fr 1fr;display:grid}.layer-row{min-height:45px}.hair-sheet-rule,.layer-toolbar{display:none}.angle-strip{bottom:8px;left:8px;right:8px}.angle-strip>span,.angle-strip em{display:none}.angle-strip button{flex:1;min-width:0}.stage-floating-tip{display:none}.reset-view{bottom:64px;right:10px}.stage-axis{display:none}.workspace-statusbar{grid-area:4/1/auto/-1}.workspace-statusbar span:nth-child(-n+3){display:none}}.topbar-actions>button:disabled,.layer-toolbar button:disabled{cursor:not-allowed;opacity:.38}.workspace-tools button{position:relative}.workspace-tools button:disabled{cursor:not-allowed;opacity:.42}.workspace-tools button:disabled:hover{color:#7f8a97;background:0 0}.workspace-tools button em{color:#bf7c51;background:#ff7a2224;border-radius:3px;padding:1px 3px;font-size:7px;font-style:normal;position:absolute;top:4px;right:4px}.three-viewer.annotation-mode .three-canvas{cursor:crosshair}.hair-sheet-controls,.annotation-layer-summary,.annotation-settings,.selected-panel-card{background:#0d131a;border:1px solid #6badce2e;border-radius:6px;margin:10px 12px 0;padding:12px}.hair-sheet-controls>header,.annotation-layer-summary{flex-direction:column;gap:3px;display:flex}.hair-sheet-controls>header strong,.annotation-layer-summary strong,.selected-panel-card>strong{color:#e2e8ee;font-size:12px}.hair-sheet-controls>header span,.annotation-layer-summary span,.selected-panel-card>span{color:#758493;font-size:10px}.compact-range{color:#aebac6;grid-template-columns:1fr auto;align-items:center;gap:7px;margin-top:12px;font-size:10px;display:grid}.compact-range b{color:#d8e4ee;font-size:10px}.compact-range input{width:100%;accent-color:var(--orange);grid-column:1/-1}.hair-zone-list{flex-direction:column;gap:8px;margin-top:13px;display:flex}.hair-zone-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 8px;display:grid}.hair-zone-row label{color:#c5ced7;align-items:center;gap:6px;font-size:10px;display:flex}.hair-zone-row label input{accent-color:var(--orange)}.hair-zone-row output{color:#7dc4e5;font-family:var(--font-geist-mono), monospace;font-size:9px}.hair-zone-row>input{accent-color:#64afd2;grid-column:1/-1;width:100%}.annotation-layer-summary p,.selected-panel-card p,.annotation-settings p{color:#8794a0;margin:7px 0 0;font-size:10px;line-height:1.55}.selected-panel-card{background:linear-gradient(135deg,#ff7a2214,#0d131a 58%);border-color:#ff7a224d}.selected-panel-card dl{gap:5px;margin:11px 0 0;display:grid}.selected-panel-card dl div{color:#aab5bf;justify-content:space-between;gap:10px;font-size:10px;display:flex}.selected-panel-card dt{color:#667482}.selected-panel-card dd{text-align:right;margin:0}.annotation-settings .panel-caption{min-height:40px;margin:-8px -8px 7px;padding:0 8px}.annotation-settings>label{color:#b8c2cc;grid-template-columns:1fr auto;align-items:center;gap:6px;min-height:38px;font-size:10px;display:grid}.annotation-settings>label input[type=range]{width:100%;accent-color:var(--orange);grid-column:1/-1}.annotation-settings input[type=color]{background:#151c24;border:1px solid #34404d;border-radius:4px;width:38px;height:25px;padding:1px}.annotation-settings select{color:#d2dae2;background:#151c24;border:1px solid #34404d;border-radius:4px;min-width:92px;height:28px;padding:0 7px;font-size:10px}.annotation-settings .ready-note{color:#73cba1}.annotation-settings .warning-note{color:#e9ad68}.dock-tabs button,.layer-name strong,.panel-caption strong{font-size:12px}.layer-name small,.panel-caption span{font-size:10px}@media (height<=760px){.workspace-tools button{min-height:48px}}.kind-hair-diagonal-backward:before{background:repeating-linear-gradient(45deg,#e5c184 0 1px,#0000 1px 5px);border:0;inset:4px}.hair-guide-toggle{color:#b9c7d2;align-items:center;gap:7px;margin-top:8px;font-size:10px;display:flex}.hair-guide-toggle input{accent-color:#62c9dc}.annotation-swatches{gap:7px;margin:5px 0 10px;display:flex}.annotation-swatches button{border:2px solid #0000;border-radius:50%;width:22px;height:22px;padding:0;box-shadow:0 0 0 1px #ffffff2e}.annotation-swatches button.active{box-shadow:0 0 0 2px var(--orange);border-color:#fff}.scissor-depth-actions{grid-template-columns:1fr 1fr;gap:7px;margin:9px 0;display:grid}.scissor-depth-actions button,.cut-action-button{color:#dce9ef;background:#131d27;border:1px solid #344657;border-radius:5px;min-height:32px;font-size:10px}.cut-action-button{color:#fff;background:linear-gradient(135deg,#833923,#c65331);border-color:#f06b3d94;width:100%;font-weight:700}.cut-action-button:disabled{opacity:.42}.stage-tool-options{z-index:18;color:#d5e0e8;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#080e15e6;border:1px solid #68aecf4d;border-radius:7px;align-items:center;gap:10px;max-width:calc(100% - 36px);min-height:42px;padding:7px 10px;display:flex;position:absolute;top:54px;left:18px;box-shadow:0 12px 32px #00000047}.stage-tool-options strong,.stage-tool-options span,.stage-tool-options label,.stage-tool-options select,.stage-tool-options button{font-size:10px}.stage-tool-options label{white-space:nowrap;align-items:center;gap:7px;display:flex}.stage-tool-options input[type=range]{width:118px;accent-color:var(--orange)}.stage-tool-options input[type=color]{background:0 0;border:1px solid #40505e;border-radius:4px;width:30px;height:28px;padding:1px}.stage-tool-options select,.stage-tool-options button{color:#dce6ec;background:#121c26;border:1px solid #344657;border-radius:4px;min-height:28px}.scissor-quick-options .cut-action-button{background:#b84c2d;width:auto;padding:0 14px}@media (width<=900px){.stage-tool-options{left:10px;right:10px;overflow-x:auto}}.knife-quick-options{grid-template-columns:auto minmax(0,1fr) auto auto;justify-content:start;width:min(330px,100% - 36px);display:grid}.knife-quick-options>span{color:#aebdc7;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.knife-quick-options .cut-action-button{width:auto;padding:0 13px}.annotation-settings button,.backup-version-row>button{color:#dce6ec;background:#151f29;border:1px solid #344657;border-radius:5px;min-height:34px;padding:0 12px;font-weight:650}.annotation-settings button:disabled,.backup-version-row>button:disabled{color:#6f7f8b;opacity:.72;background:#111820}.backup-version-row>button:last-child{color:#ff9aa1;border-color:#d7525b80}.knife-distance-control{background:#111923;border:1px solid #7db1cf33;border-radius:7px;gap:8px;margin:5px 0 10px;padding:10px;display:grid}.knife-distance-control>div,.knife-distance-control>label{color:#b8c8d2;justify-content:space-between;align-items:center;gap:10px;font-size:10px;display:flex}.knife-distance-control>input[type=range]{width:100%;accent-color:var(--orange)}.knife-distance-number{background:#0b1219;border:1px solid #3b4b59;border-radius:5px;align-items:center;min-width:126px;display:inline-flex;overflow:hidden}.knife-distance-number input{color:#f1f7fa;background:#0b1219;border:0;outline:0;width:78px;min-width:0;height:30px;padding:0 8px;font-weight:700}.knife-distance-number em{color:#9eb0bb;padding:0 8px;font-size:10px;font-style:normal}.knife-distance-control small{color:#728692;font-size:9px}.root-line-mode-picker{border:1px solid #7db1cf33;border-radius:7px;grid-template-columns:1fr 1fr;gap:7px;margin:10px 0 5px;padding:8px;display:grid}.root-line-mode-picker legend{color:#9db2bd;padding:0 6px;font-size:9px}.root-line-mode-picker button.active{color:#fff1e7;background:#ff7a222e;border-color:#ff7a22}.custom-guide-draft-actions{grid-template-columns:1fr 1fr 1fr;gap:5px;margin:9px 0;display:grid}.custom-guide-draft-actions button{min-height:34px;padding:0 6px;font-size:9px}.custom-guide-line-list{gap:5px;max-height:116px;display:grid;overflow-y:auto}.custom-guide-line-list button{color:#b9c9d2;text-align:left;background:#111923;border:1px solid #344657;border-radius:5px;min-height:31px}.custom-guide-line-list button.selected{color:#e9f8ff;border-color:#55c7ff}.custom-guide-line-style{border:1px solid #55c7ff47;border-radius:7px;gap:8px;margin-top:9px;padding:9px;display:grid}.custom-guide-line-style legend{color:#9cdfff;padding:0 6px;font-size:9px}.custom-guide-line-style label{color:#aebdc7;grid-template-columns:1fr auto;gap:6px;font-size:9px;display:grid}.custom-guide-line-style label input[type=range]{grid-column:1/-1;width:100%}.custom-guide-line-style input[type=color]{background:#111923;border:1px solid #40505e;width:38px;height:27px}.custom-guide-line-style select{color:#dce6ec;background:#111923;border:1px solid #40505e}.knife-selection-hint{color:#ffd7ad;background:#763f162e;border:1px solid #ffa75659;border-radius:7px;grid-template-columns:1fr auto;align-items:center;gap:8px;padding:7px 8px;font-size:9px;display:grid}.knife-selection-hint button{white-space:nowrap;min-height:30px}.multi-knife-entry{background:#153e5c47;border:1px solid #5eb0ff6b;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px;display:grid}.multi-knife-entry.active{background:#6f351452;border-color:#ff8b43cc;box-shadow:inset 0 0 0 1px #ff8b431f}.multi-knife-entry>div{gap:3px;min-width:0;display:grid}.multi-knife-entry strong{color:#f4f8fb;font-size:10px}.multi-knife-entry span{color:#b9c9d2;font-size:9px;line-height:1.45}.multi-knife-entry button{white-space:nowrap;color:#fff3e8;background:#64361f;border-color:#ff8b43a6;min-height:34px;padding:0 10px}.custom-guide-name-field{color:var(--muted);gap:5px;margin:10px 0;font-size:10px;display:grid}.custom-guide-name-field input{box-sizing:border-box;border:1px solid var(--line);width:100%;min-height:32px;color:var(--ink);background:#111923;border-radius:4px;padding:6px 9px}.terminal-shape-settings{background:#101a22;border:1px solid #304554;border-radius:10px;gap:10px;margin:10px 0;padding:12px;display:grid}.terminal-shape-settings legend{color:#f3f7fa;padding:0 6px;font-weight:700}.terminal-shape-picker,.terminal-direction-picker{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.terminal-direction-picker{grid-template-columns:repeat(2,minmax(0,1fr))}.terminal-shape-picker button,.terminal-direction-picker button{color:#eaf3f7;background:#172630;border:1px solid #3b5363;min-width:0;padding:8px 5px}.terminal-shape-picker button.active,.terminal-direction-picker button.active{color:#fff8f2;background:#643622;border-color:#f1833f}.knife-mode-picker{border:1px solid #304554;border-radius:9px;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:10px;display:grid}.knife-mode-picker legend{color:#dceaf0;padding:0 6px}.knife-mode-picker button{color:#ecf5f8;background:#172630;border:1px solid #3b5363;min-width:0;padding:8px 6px}.knife-mode-picker button.active{color:#fff8f2;background:#643622;border-color:#f1833f}.auth-icp,.dashboard-icp{color:#7e909c;text-align:center;padding:14px 20px 18px;font-size:11px}.auth-icp a,.dashboard-icp a,.workspace-icp{color:#91a6b3;text-underline-offset:3px;text-decoration:underline}.auth-help-note,.auth-config-error p{color:#a8b7c0;margin:10px 0;font-size:12px;line-height:1.65}.auth-config-error{gap:8px;display:grid}.workspace-icp{white-space:nowrap}.dashboard-icp{border-top:1px solid #7b95a421;margin-top:24px}.password-token-shell{color:#edf4f7;background:radial-gradient(circle at 20% 5%,#ff803a1f,#0000 35%),#080d12;place-items:center;min-height:100dvh;padding:24px;display:grid}.password-token-card{background:linear-gradient(145deg,#161f28fa,#0c1117fc);border:1px solid #2c3d49;border-radius:18px;width:min(480px,100%);padding:clamp(24px,6vw,40px);box-shadow:0 28px 80px #0006}.password-token-brand{color:#fff;margin-bottom:34px;font-weight:750;text-decoration:none;display:block}.password-token-brand span{color:#8fa0ab;margin-left:8px;font-size:11px;font-weight:500}.password-token-card h1{margin:8px 0 12px;font-size:clamp(23px,5vw,30px)}.password-token-card>p,.password-token-message p{color:#aab8c1;font-size:13px;line-height:1.7}.password-token-card .auth-icp{margin:28px -20px -16px}.password-token-message{gap:12px;display:grid}.security-success{color:#a8ddbf;gap:18px;font-size:13px;line-height:1.6;display:grid}.hair-selection-marquee{z-index:8;pointer-events:none;background:#37afe624;border:1px solid #69d8fff2;display:none;position:absolute;box-shadow:0 0 18px #37afe638}.hidden-panels-banner{z-index:9;color:var(--warning-ink,#ffe4b0);background:var(--warning-bg,#141922e6);cursor:pointer;border:1px solid #ffb5478c;border-radius:999px;padding:8px 13px;position:absolute;top:58px;left:18px;box-shadow:0 8px 24px #00000047}.hidden-panels-banner:hover{background:#392a19f0;border-color:#ffb547}.cut-line-settings{border:1px solid #ffffff17;border-radius:10px;gap:10px;margin:4px 0 10px;padding:12px;display:grid}.cut-line-settings legend{color:#ffcf8f;padding:0 7px;font-size:12px}.cut-line-settings label{grid-template-columns:minmax(78px,1fr) auto;align-items:center;gap:8px;display:grid}.cut-line-settings label input[type=range],.cut-line-settings label select{grid-column:1/-1}.knife-settings .cut-action-button,.knife-quick-options .cut-action-button{background:linear-gradient(135deg,#ff774d,#ff3b30)}.selected-panel-card>strong{overflow-wrap:anywhere}.selected-panel-card .outline-button{margin-top:10px}@media (width<=760px){.hidden-panels-banner{top:50px;left:10px}}.migration-report{z-index:9;width:min(390px,100% - 36px);color:var(--ink,#e7edf5);background:var(--panel,#141922f0);border:1px solid #7db2e659;border-radius:10px;position:absolute;top:58px;right:18px;box-shadow:0 12px 32px #0000004d}.migration-report summary{cursor:pointer;color:#a8d8ff;padding:9px 12px}.migration-report ul{max-height:220px;margin:0;padding:0 12px 12px 30px;overflow:auto}.migration-report li{margin-top:8px;font-size:12px}.migration-report li strong,.migration-report li span{display:block}.layer-settings-panel{min-height:100%;padding:10px}.layer-settings-panel>.panel-caption,.layer-settings-panel>.layer-stack,.layer-settings-panel>.hair-sheet-rule,.layer-settings-panel>.layer-toolbar,.layers-panel:not(.layer-settings-panel)>.hair-sheet-controls,.layers-panel:not(.layer-settings-panel)>.annotation-layer-summary{display:none}.layer-settings-panel>.hair-sheet-controls,.layer-settings-panel>.annotation-layer-summary{margin:0}.layer-row.static-layer.visible-layer{background:#479abe17;border-color:#58c5ee47}.layer-row.static-layer .eye-toggle{border-radius:50%}.guidance-target{animation:1.45s ease-in-out infinite guidance-breathe;position:relative;box-shadow:0 0 0 2px #ff8e2a29,0 0 22px #ff831f33;border-color:#ff9d3bd1!important}.stage-floating-tip.guidance-alert{animation:1.45s ease-in-out infinite guidance-breathe}.stage-floating-tip[data-guidance-level=error]{background:#4d1613eb;border-left-color:#ff5e55}@keyframes guidance-breathe{50%{border-color:#ffad5c;box-shadow:0 0 0 7px #ff973021,0 0 28px #ff7e1b3d}}button[data-disabled=true],button[aria-disabled=true]{cursor:help;filter:saturate(.58);opacity:.72}.restore-right-dock{top:50%;transform:translateY(-50%)}.compact-range small{color:#8298a7;grid-column:1/-1;font-size:10px;line-height:1.4}@media (prefers-reduced-motion:reduce){.guidance-target,.stage-floating-tip.guidance-alert{animation:none;box-shadow:0 0 0 3px #ff973033;border-color:#ffad5c!important}}@media (orientation:portrait) and (width<=1180px){.dock-tabs{grid-template-columns:40px minmax(48px,.75fr) minmax(48px,.75fr) minmax(110px,1.8fr) minmax(48px,.75fr)}.selection-mode-popover{top:46px;right:12px}}.workspace-tools{overflow:visible}.workspace-tools .tool-blocked{opacity:.46;filter:saturate(.35)}.selection-mode-popover{z-index:35;background:#0a1017f5;border:1px solid #74b4d652;border-radius:10px;width:176px;padding:10px;position:absolute;top:82px;left:calc(100% + 10px);box-shadow:0 14px 36px #00000061}.selection-mode-popover strong{color:#e6f5ff;margin-bottom:8px;font-size:12px;display:block}.selection-mode-popover>div,.hair-density-control>div{grid-auto-columns:1fr;grid-auto-flow:column;gap:4px;display:grid}.selection-mode-popover button,.hair-density-control button{color:#aebdca;background:#ffffff0a;border:1px solid #86acc440;border-radius:7px;min-height:30px}.selection-mode-popover button.active,.hair-density-control button.active{color:#fff2e8;background:#ff7d372e;border-color:#ff8b48}.hair-density-control{background:#ffffff06;border:1px solid #789fb529;border-radius:9px;gap:7px;padding:11px;display:grid}.hair-density-control>span,.panel-color-control>span{color:#dceaf2;font-size:12px;font-weight:650}.hair-density-control small{color:#7f96a6}.panel-color-control{border:1px solid #789fb529;border-radius:9px;grid-template-columns:1fr auto;align-items:center;gap:9px;margin:12px 0;padding:11px;display:grid}.panel-color-control input[type=color]{background:0 0;border:0;width:44px;height:30px}.panel-color-swatches{grid-column:1/-1;gap:7px;display:flex}.panel-color-swatches button{border:2px solid #ffffff6b;border-radius:50%;width:26px;height:26px}.panel-color-control>.outline-button{grid-column:1/-1}.export-dialog-backdrop{z-index:1000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#020508ad;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.export-dialog{background:#10171f;border:1px solid #7db1cf52;border-radius:14px;width:min(520px,100%);padding:18px;box-shadow:0 30px 90px #00000085}.export-dialog header,.export-dialog header>div,.export-dialog label{gap:5px;display:grid}.export-dialog header{grid-template-columns:1fr auto;align-items:start;margin-bottom:18px}.export-dialog header span,.export-dialog label span,.export-dialog p{color:#8297a7;font-size:12px}.export-dialog header>button{color:#aab9c5;background:0 0;border:0;font-size:24px}.export-dialog input{color:#eef8ff;background:#090f15;border:1px solid #7db1cf40;border-radius:8px;width:100%;padding:10px 12px}.export-dialog p strong{overflow-wrap:anywhere;color:#cfeafa;margin-top:6px;display:block}.export-dialog>div{justify-content:flex-end;gap:8px;margin-top:18px;display:flex}.workspace-shell.free-toolbar-open{grid-template-rows:54px minmax(0,1fr) 156px 25px}.workspace-shell.free-toolbar-open .workspace-dock{grid-row:2/4}.workspace-shell.free-toolbar-open .workspace-statusbar{grid-row:4}.workspace-shell.right-dock-collapsed{grid-template-columns:clamp(58px,4vw,66px) minmax(0,1fr) 0}.workspace-dock.collapsed{display:none}.restore-right-dock,.restore-free-toolbar{z-index:65;color:#ffd8c0;background:#18212a;border:1px solid #ff7a226b;position:fixed;box-shadow:0 8px 28px #0006}.restore-right-dock{top:78px;right:max(6px, env(safe-area-inset-right,0px));writing-mode:vertical-rl;border-radius:8px 0 0 8px;padding:10px 8px}.restore-free-toolbar{border-radius:8px 8px 0 0;padding:8px 18px;bottom:30px;left:50%;transform:translate(-50%)}.dock-tabs{grid-template-columns:36px repeat(3,1fr)}.dock-tabs .dock-collapse-button{color:#9bb0be;font-size:15px}.dock-tabs .dock-collapse-button:after{display:none}.free-hair-toolbar{z-index:45;padding:10px 14px max(10px, env(safe-area-inset-bottom,0px));touch-action:pan-x;background:#0c1218fa;border-top:1px solid #67d8c147;grid-area:3/2;grid-template-rows:auto 1fr;grid-template-columns:minmax(0,1fr) minmax(250px,32%);gap:8px 14px;display:grid;box-shadow:0 -14px 36px #00000047}.free-hair-toolbar>header{grid-column:1/-1;justify-content:space-between;align-items:center;display:flex}.free-hair-toolbar>header div{gap:2px;display:grid}.free-hair-toolbar>header strong{font-size:13px}.free-hair-toolbar>header span,.free-hair-toolbar small{color:#78909f;font-size:10px}.free-hair-toolbar>header button{color:#a9c3cf;background:#1a2630;border-radius:6px;width:34px;height:30px}.free-hair-parts{grid-template-columns:repeat(4,minmax(112px,1fr));gap:8px;min-width:0;display:grid}.free-hair-parts>button{color:#c6d5de;text-align:left;cursor:grab;touch-action:none;background:#131c24;border:1px solid #7db1cf33;border-radius:9px;grid-template-rows:1fr auto;grid-template-columns:42px 1fr;align-items:center;gap:0 8px;min-height:76px;padding:8px;display:grid}.free-hair-parts>button:active{cursor:grabbing}.free-hair-parts>button.active{color:#e7fffa;background:#2a706338;border-color:#67d8c1c7;box-shadow:inset 0 0 0 1px #67d8c138}.free-hair-parts>button i{transform-origin:50%;background:linear-gradient(#56788a,#263e4d);border:1px solid #c2e5ee6b;border-radius:4px 4px 10px 10px;grid-row:1/3;width:38px;height:48px;display:block;position:relative;overflow:hidden}.free-hair-sample:after{content:"";border-left:1px solid #ffffff73;border-right:1px solid #ffffff40;position:absolute;inset:5px 8px}.sample-horizontal{transform:rotate(90deg)scale(.82)}.sample-diagonal{transform:rotate(-28deg)scale(.9)}.sample-diagonal-backward{transform:rotate(28deg)scale(.9)}.custom-hair-toolbar{border-top-color:#46c7b46b}.custom-hair-parts{grid-template-columns:repeat(5,minmax(104px,1fr))}.batch-placement-controls{border:1px solid #67d8c133;border-radius:8px;grid-column:1;grid-template-columns:repeat(4,minmax(112px,1fr));gap:8px;margin:0;padding:7px 9px;display:grid}.free-hair-toolbar:not(.custom-hair-toolbar) .free-placement-status{width:auto;position:static;inset:auto}.free-hair-toolbar:not(.custom-hair-toolbar) :is(.free-hair-parts,.batch-placement-controls){padding-right:0}.batch-placement-controls legend{color:#9ec4c9;padding:0 6px;font-size:10px}.batch-placement-controls label{color:#8fa9b4;gap:3px;font-size:10px;display:grid}.batch-placement-controls select,.batch-placement-controls input{color:#d4e7ec;background:#101a22;border:1px solid #7db1cf3d;border-radius:6px;min-width:0;height:30px}.batch-value-pair{flex:1;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;width:100%;min-width:0;display:grid}.batch-value-pair>:is(select,input){width:100%;min-width:0}.sample-custom{max-width:78px;background:linear-gradient(#5ba89e,#2f665f)!important;height:42px!important}.custom-fan-parts{gap:8px;padding:0 10px 10px;display:grid}.custom-fan-parts>strong{color:#b5dcd7;font-size:11px}.custom-fan-parts>div{grid-template-columns:repeat(5,minmax(96px,1fr));gap:8px;display:grid}.custom-fan-parts button{color:#e5f2f1;cursor:grab;background:#14222a;border:1px solid #5db8ab57;border-radius:9px;place-items:center;gap:2px;min-height:74px;display:grid}.sample-fan{clip-path:polygon(48% 100%,52% 100%,94% 12%,74% 2%,50% 0,26% 2%,6% 12%);background:linear-gradient(#69afa6,#315f5c)!important;border-radius:45% 45% 4px 4px!important;width:46px!important;height:34px!important}.custom-fan-parts button span{font-size:11px;font-weight:700}.custom-fan-parts button small{color:#829ba3;font-size:9px}.custom-hair-toolbar{grid-template-rows:26px 56px 49px;grid-template-columns:minmax(0,1.18fr) minmax(0,1fr);gap:5px 10px;padding-top:6px;padding-bottom:6px;overflow:hidden}.custom-hair-toolbar>header{grid-row:1}.custom-hair-toolbar .custom-hair-parts{grid-area:2/1;gap:5px}.custom-hair-toolbar .custom-hair-parts>button{grid-template-columns:30px 1fr;min-height:56px;padding:5px}.custom-hair-toolbar .custom-hair-parts>button i{width:27px!important;height:36px!important}.custom-hair-toolbar .custom-hair-parts>button span{font-size:10px}.custom-hair-toolbar .custom-hair-parts>button small{font-size:8px}.custom-hair-toolbar .custom-fan-parts{grid-area:2/2;gap:3px;padding:0}.custom-hair-toolbar .custom-fan-parts>strong{font-size:9px}.custom-hair-toolbar .custom-fan-parts>div{grid-template-columns:repeat(5,1fr);gap:5px}.custom-hair-toolbar .custom-fan-parts button{text-align:left;grid-template-rows:1fr auto;grid-template-columns:28px 1fr;min-height:43px;padding:3px}.custom-hair-toolbar .sample-fan{grid-row:1/3;width:27px!important;height:24px!important}.custom-hair-toolbar .custom-fan-parts button span{font-size:9px}.custom-hair-toolbar .custom-fan-parts button small{font-size:7px}.custom-hair-toolbar .batch-placement-controls{grid-area:3/1;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;padding:3px 6px}.custom-hair-toolbar .batch-placement-controls legend{font-size:8px}.custom-hair-toolbar .batch-placement-controls label{align-items:center;gap:4px;font-size:8px;display:flex}.custom-hair-toolbar .batch-placement-controls select,.custom-hair-toolbar .batch-placement-controls input{height:25px}.custom-hair-toolbar .free-placement-status{grid-area:3/2;gap:5px;padding:5px 7px}.free-hair-toolbar:not(.custom-hair-toolbar) .free-placement-status span{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:9px;display:-webkit-box;overflow:hidden}.free-hair-toolbar:not(.custom-hair-toolbar) .free-placement-status button{min-height:31px;padding:0 8px}.custom-hair-toolbar .free-placement-status span{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:9px;display:-webkit-box;overflow:hidden}.custom-hair-toolbar .free-placement-status button{min-height:31px;padding:0 8px}.free-hair-toolbar:not(.custom-hair-toolbar){grid-template-rows:26px 56px 49px;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:5px 10px;padding:6px 10px;overflow:hidden}.free-hair-toolbar:not(.custom-hair-toolbar)>header{grid-area:1/1/auto/-1}.free-hair-toolbar:not(.custom-hair-toolbar) .free-hair-parts{grid-area:2/1;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;padding-right:0}.free-hair-toolbar:not(.custom-hair-toolbar) .free-hair-parts>button{grid-template-columns:30px minmax(0,1fr);min-height:56px;padding:5px}.free-hair-toolbar:not(.custom-hair-toolbar) .free-hair-parts>button i{width:27px;height:36px}.free-hair-toolbar:not(.custom-hair-toolbar) .free-placement-status{grid-area:3/1;width:auto;min-width:0;padding:5px 7px;position:static;inset:auto}.free-hair-toolbar:not(.custom-hair-toolbar) .batch-placement-controls{grid-area:2/2/4;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 6px;padding:4px 6px}.free-hair-toolbar:not(.custom-hair-toolbar) .batch-placement-controls :is(select,input){height:25px}.custom-guide-draft-actions button:not(.accent-button),.root-line-mode-picker button,.hair-length-presets button,.selected-panel-card input[type=number],.annotation-layer-summary input[type=text],.annotation-layer-summary select{border:1px solid var(--control-border,#40505e);background:var(--surface-control,#101820);color:var(--control-ink,#eef5f8);color-scheme:inherit;opacity:1}.workspace-shell .accent-button:disabled,.workspace-shell .accent-button[data-disabled=true]{color:#d8cec6;opacity:1;background:#30251f;border-color:#594234}.panel-split-editor{background:#1f1815f0;border:1px solid #ff7a3d8c;border-radius:10px;gap:9px;margin-top:10px;padding:12px;display:grid}.panel-split-editor>div:first-child{justify-content:space-between;align-items:center;gap:10px;display:flex}.panel-split-editor span,.panel-split-editor small{color:#d8e3e9}.panel-split-editor input[type=range]{accent-color:#ff7a3d;width:100%}.panel-split-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.star-point-confirmation{z-index:18;background:#12191ff0;border:1px solid #ff4d4f7a;border-radius:9px;align-items:center;gap:8px;padding:8px 10px;display:flex;position:absolute;top:64px;left:50%;transform:translate(-50%)}.star-point-confirmation span{color:#dce9ec;font-size:12px}.star-ray-settings{gap:10px;padding:12px;display:grid}.star-ray-dial{background:radial-gradient(circle,#ff3b3042 0 5px,#0000 6px),#101921;border:1px solid #94b2be59;border-radius:50%;width:220px;height:220px;margin:8px auto;position:relative}.star-ray-dial button{--ray-angle:0deg;color:#89a1ac;width:96px;height:28px;transform:translate(0, -50%) rotate(var(--ray-angle));transform-origin:0;background:0 0;border:0;position:absolute;top:50%;left:50%}.star-ray-dial button i{background:#5f7480;width:72px;height:2px;display:block}.star-ray-dial button span{font-size:9px;position:absolute;top:4px;right:-8px}.star-ray-dial button.active{color:#ff6b62}.star-ray-dial button.active i{height:var(--ray-width,3px);background:var(--ray-color,#ff3b30);box-shadow:0 0 8px var(--ray-color,#ff3b30);background-image:none}.star-ray-dial button.dashed i{background:repeating-linear-gradient(90deg, var(--ray-color,#ff3b30) 0 9px, transparent 9px 14px);box-shadow:none}.star-ray-dial button.selected{border-radius:4px;outline:1px solid #ffb870b3}.star-ray-line-style{border:1px solid #ff7a2242;border-radius:7px;gap:8px;padding:10px;display:grid}.star-ray-line-style legend{color:#ffc292;padding:0 6px;font-size:10px}.star-ray-line-style label{color:#aebdc7;grid-template-columns:1fr auto;gap:6px;font-size:10px;display:grid}.star-ray-line-style label input[type=range]{grid-column:1/-1;width:100%}.star-ray-line-style input[type=color]{background:#111923;border:1px solid #40505e;width:40px;height:27px}.star-ray-line-style select{color:#dce6ec;background:#111923;border:1px solid #40505e}.performance-mode-badge{z-index:14;color:#a8dff2;background:#0d1b24e0;border:1px solid #55c7ff61;border-radius:8px;max-width:390px;padding:7px 10px;font-size:11px;position:absolute;top:62px;right:18px}.free-hair-parts>button span{font-size:12px;font-weight:700}.free-hair-parts>button small{align-self:end}.free-placement-status{background:#15272c9e;border:1px solid #67d8c138;border-radius:9px;grid-template-columns:1fr auto auto;align-items:center;gap:8px;padding:10px;display:grid}.free-placement-status.invalid{background:#5e121447;border-color:#ff3b308f}.free-placement-status span{color:#aec5cf;font-size:12px;line-height:1.45}.free-placement-status.invalid span{color:#ffb4af}.free-placement-status button{min-height:42px;padding:0 12px}.free-panel-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.free-layer-summary{border-color:#67d8c14d}.stage-floating-tip{max-width:min(430px,100% - 32px)}.stage-floating-tip strong{font-size:14px}.stage-floating-tip span{font-size:14px;line-height:1.55}.stage-floating-tip.guidance-alert{background:#4d2a0be6;border:1px solid #ffae48a6;animation:.7s ease-in-out 2 guidance-pulse;box-shadow:0 0 #ff973059}@keyframes guidance-pulse{50%{border-color:#ff9b3d;box-shadow:0 0 0 7px #ff973021}}@media (prefers-reduced-motion:reduce){.stage-floating-tip.guidance-alert{animation:none}}.hairstyle-preset-picker{border:0;grid-column:1/-1;padding:0}.hairstyle-preset-picker legend{color:#aebbc7;margin-bottom:9px;font-size:11px;font-weight:700}.hairstyle-preset-picker>div{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.hairstyle-preset-picker button{color:#d9e5ec;text-align:left;background:#111820;border:1px solid #7db1cf33;border-radius:8px;gap:4px;min-height:68px;padding:10px;display:grid}.hairstyle-preset-picker button.selected{background:#ff7a221a;border-color:#ff7a22}.hairstyle-preset-picker button:disabled{opacity:.46}.hairstyle-preset-picker small{color:#708493;font-size:9px}.modal-backdrop.tool-help-backdrop{--help-outer-space:clamp(12px, 3vw, 24px);width:100dvw;height:100dvh;padding:var(--help-outer-space);grid-template-columns:minmax(0,1fr)}.modal-card.tool-help-dialog{width:min(560px,100%);min-width:0;max-height:min(720px, calc(100dvh - var(--help-outer-space) - var(--help-outer-space)));overscroll-behavior:contain;padding:clamp(20px,3vw,28px);overflow-y:auto}.tool-help-dialog header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.tool-help-dialog header>div{gap:3px;display:grid}.tool-help-dialog header span{color:var(--muted);font-size:11px}.tool-help-dialog header strong{font-size:22px}.tool-help-dialog header button{width:38px;height:38px;color:var(--muted);background:0 0;font-size:24px}.tool-help-dialog>p,.tool-help-dialog li,.tool-help-dialog section p{color:var(--muted);font-size:14px;line-height:1.65}.tool-help-dialog>p{margin:0}.tool-help-dialog ol{margin:16px 0 20px;padding-left:22px}.tool-help-dialog li+li{margin-top:6px}.tool-help-dialog section{border:1px solid var(--line);background:var(--panel-2);border-radius:8px;margin-top:14px;padding:16px}.tool-help-dialog section p{margin:8px 0 0}.tool-help-dialog>.accent-button{width:100%;min-height:44px;margin-top:20px}@media (width<=1000px) and (orientation:landscape){.free-hair-toolbar{grid-template-columns:1fr;overflow-x:auto}.free-placement-status{width:300px;position:absolute;bottom:12px;right:12px}.free-hair-parts,.batch-placement-controls{padding-right:310px}}@media (orientation:portrait) and (width<=1180px){.workspace-shell.free-toolbar-open{grid-template-rows:50px minmax(0,1fr) minmax(232px,32dvh) 25px}.workspace-shell.free-toolbar-open .workspace-stage{padding-bottom:156px}.workspace-shell.free-toolbar-open .workspace-dock{grid-row:3}.workspace-shell.free-toolbar-open .workspace-statusbar{grid-row:4}.free-hair-toolbar{grid-template-columns:1fr;height:156px;position:absolute;bottom:0;left:54px;right:0;overflow-x:auto}.free-placement-status{width:min(290px,100% - 74px);position:absolute;bottom:10px;right:10px}.free-hair-parts,.batch-placement-controls{padding-right:300px}.workspace-shell.right-dock-collapsed{grid-template-columns:54px minmax(0,1fr)}.hairstyle-preset-picker>div{grid-template-columns:repeat(2,1fr)}}.kind-hair-free:before{background:linear-gradient(90deg,#0000 44%,#67d8c1 45% 55%,#0000 56%);border:1px dashed #67d8c1;border-radius:3px;width:24px;height:16px}.kind-hair-custom:before{background:conic-gradient(from 45deg, transparent 0 18%, #46c7b4 18% 24%, transparent 24% 100%);border:1px solid #46c7b4;border-radius:50%;width:24px;height:16px}.backup-dialog{width:min(680px,100vw - 32px)}.backup-create-row{grid-template-columns:1fr auto;gap:10px;margin:14px 0;display:grid}.backup-create-row input{color:#e5f0f5;background:#101820;border:1px solid #7db1cf47;border-radius:8px;min-width:0;padding:10px 12px}.backup-version-list{gap:8px;max-height:min(52vh,440px);display:grid;overflow-y:auto}.backup-version-row{background:#131c24;border:1px solid #7db1cf2e;border-radius:8px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:10px;display:grid}.backup-version-row>div{gap:3px;min-width:0;display:grid}.backup-version-row small{color:#78909f}.backup-dialog .dialog-hint{color:#78909f;margin:12px 0 0;font-size:12px}.dock-tabs{grid-template-columns:36px minmax(42px,.72fr) minmax(42px,.72fr) minmax(82px,1.6fr) minmax(42px,.72fr);height:auto;min-height:50px}.dock-tabs button{overflow-wrap:anywhere;min-width:0;padding:6px 3px;font-size:10px;line-height:1.25}.selection-mode-popover{top:48px;left:auto;right:16px}.restore-right-dock{top:50%;right:max(6px, env(safe-area-inset-right,0px));transform:translateY(-50%)}.guidance-target,.stage-floating-tip.guidance-alert{animation:1.45s ease-in-out infinite guidance-breathe}@media (prefers-reduced-motion:reduce){.guidance-target,.stage-floating-tip.guidance-alert{animation:none;box-shadow:0 0 0 3px #ff973033;border-color:#ffad5c!important}}@media (orientation:portrait) and (width<=1180px){.dock-tabs{grid-template-columns:40px minmax(48px,.75fr) minmax(48px,.75fr) minmax(110px,1.8fr) minmax(48px,.75fr)}.selection-mode-popover{top:46px;left:auto;right:12px}}:root{--workspace-visual-height:100dvh}html,body{overscroll-behavior:none;width:100%;max-width:100%;height:100%;overflow:hidden}body{-webkit-text-size-adjust:100%}.workspace-shell{grid-template-columns:clamp(58px,4vw,66px) minmax(0,1fr) clamp(318px,21vw,360px);width:100%;max-width:100%;height:100dvh;min-height:0;overflow:hidden}@supports not (height:100dvh){.workspace-shell{height:var(--workspace-visual-height,100vh)}}.workspace-topbar{min-width:0;padding-top:env(safe-area-inset-top,0px);padding-right:max(12px, env(safe-area-inset-right,0px));padding-left:max(12px, env(safe-area-inset-left,0px))}.workspace-tools,.workspace-stage,.workspace-dock{min-width:0;min-height:0}.workspace-tools{padding-bottom:max(8px, env(safe-area-inset-bottom,0px));overflow:hidden}.workspace-stage,.three-canvas,.three-canvas canvas{touch-action:none;-webkit-touch-callout:none;-webkit-user-drag:none;-webkit-user-select:none;user-select:none}.workspace-dock{overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;padding-right:env(safe-area-inset-right,0px);overflow:hidden auto}.selection-mode-popover{z-index:40;touch-action:manipulation;width:188px;padding:10px;top:42px;left:auto;right:12px}.selection-mode-popover>div{gap:6px}.selection-mode-popover button{cursor:pointer;touch-action:manipulation;min-height:44px;padding:0 12px}.workspace-statusbar{padding-right:max(10px, env(safe-area-inset-right,0px));padding-bottom:env(safe-area-inset-bottom,0px);padding-left:max(10px, env(safe-area-inset-left,0px))}@media (width<=1366px) and (orientation:landscape){.workspace-shell{grid-template-columns:56px minmax(0,1fr) 288px}.workspace-tools{padding-inline:5px}.workspace-tools button{min-height:50px}.workspace-brand i,.topbar-divider{display:none}.project-breadcrumb strong{max-width:140px}}@media (pointer:coarse){button,select,input[type=range]{touch-action:manipulation}.dock-tabs button,.layer-row button,.properties-panel button,.layers-panel button{min-height:44px}}@media (orientation:portrait) and (width<=1180px){.workspace-shell{grid-template-rows:50px minmax(0,1fr) minmax(232px,32dvh) 25px;grid-template-columns:54px minmax(0,1fr)}.workspace-topbar{grid-area:1/1/auto/-1}.workspace-brand i,.topbar-divider,.project-breadcrumb,.viewer-hint{display:none}.workspace-tools{grid-area:2/1/4}.workspace-tools button{min-height:48px}.workspace-stage{grid-area:2/2}.workspace-dock{border-top:1px solid var(--line);padding-right:env(safe-area-inset-right,0px);padding-bottom:env(safe-area-inset-bottom,0px);padding-left:env(safe-area-inset-left,0px);border-left:0;grid-area:3/2}.workspace-statusbar{grid-area:4/1/auto/-1}.selection-mode-popover{width:min(188px,100% - 20px);top:40px;right:10px}.stage-titlebar>span:last-child{display:none}.stage-tool-options{top:98px}}@media (width<=760px){.workspace-shell{min-height:0}}@media (height<=760px){.auth-shell,.password-token-shell{overscroll-behavior-y:contain;height:100dvh;min-height:0;overflow-y:auto}.auth-brand-panel{min-height:0;padding-top:18px;padding-bottom:18px}}.auth-mode-tabs{border:1px solid var(--line);background:#0c1117;border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:0 0 22px;padding:4px;display:grid}.auth-mode-tabs button{color:#9facbb;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:5px;min-height:38px;padding:0 6px;font-size:11px;font-weight:700}.auth-mode-tabs button:hover,.auth-mode-tabs button:focus-visible{color:#fff;background:#1b2531;border-color:#526477;outline:none}.auth-mode-tabs button.active{color:#ffb17b;background:#ff7a2221;border-color:#ff7a228f}.auth-activation-form{gap:11px}.auth-secondary-action{margin-top:0}.admin-nav-link{color:#ffad78;border:1px solid #ff7a2266;border-radius:6px;align-items:center;min-height:32px;padding:0 10px;font-size:11px;font-weight:700;text-decoration:none;display:inline-flex}.admin-nav-link:hover,.admin-nav-link:focus-visible{border-color:var(--orange);color:#fff;background:#ff7a221f;outline:none}@media (width<=980px){.admin-nav-link{padding-inline:7px;font-size:10px}}.dashboard-shell{overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;height:100dvh;min-height:0;overflow:hidden auto}.dashboard-header{padding-top:env(safe-area-inset-top,0px)}.dashboard-content{min-height:calc(100dvh - 70px)}.brand-mark{background:#0b1118;border:1px solid #55c7ff52;border-radius:11px;flex:none;place-items:center;width:36px;height:36px;display:inline-grid;overflow:hidden;box-shadow:0 8px 24px #0000004d,inset 0 0 22px #55c7ff14}.brand-mark img{object-fit:cover;width:100%;height:100%;display:block}.brand-mark.large{border-radius:15px;width:52px;height:52px}.workspace-brand .brand-mark{border-radius:9px;width:32px;height:32px}.project-filter-bar{border:1px solid var(--line);scrollbar-width:thin;background:#0e1218cc;border-radius:10px;align-items:center;gap:8px;margin:-20px 0 34px;padding:10px;display:flex;overflow-x:auto}.project-filter-bar button{min-height:38px;color:var(--muted);white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:7px;align-items:center;gap:7px;padding:0 12px;display:inline-flex}.project-filter-bar button:hover,.project-filter-bar button.active{color:#fff;background:#202936;border-color:#465365}.project-filter-bar button span{color:var(--dim);font-size:10px}.flag-dot{border-radius:50%;width:10px;height:10px;display:inline-block;box-shadow:0 0 0 2px #ffffff1a}.flag-coral{background:#ff765f!important}.flag-amber{background:#f4b942!important}.flag-mint{background:#59d3a5!important}.flag-sky{background:#55c7ff!important}.flag-violet{background:#9b7cff!important}.flag-rose{background:#ef6fae!important}.project-thumbnail{object-fit:cover;width:100%;height:100%;display:block}.project-placeholder{background:radial-gradient(circle at 50% 45%,#55c7ff24,#0000 32%);place-content:center;justify-items:center;gap:13px;display:grid;position:absolute;inset:0}.project-placeholder .brand-mark{opacity:.82;border-radius:20px;width:68px;height:68px}.project-placeholder small{color:#738295;font-size:10px}.project-flag{border-radius:0 0 5px 5px;width:16px;height:46px;position:absolute;top:0;left:18px;box-shadow:0 7px 18px #00000052}.project-card.archived .project-thumbnail{filter:saturate(.72)brightness(.78)}.project-card.archived .project-status{color:#9ca8b6}.project-card-footer{flex-wrap:wrap;gap:12px}.project-card-footer>span{margin-right:auto}.project-card-footer button{font-size:16px;line-height:1.25}.project-flag-label{color:#b9c4d0;vertical-align:middle;border:1px solid #ffffff1f;border-radius:999px;align-items:center;min-height:20px;margin-left:7px;padding:2px 7px;font-size:10px;display:inline-flex}.rename-project-dialog{width:min(460px,100vw - 32px)}.project-flag-dialog{width:min(540px,100vw - 32px)}.flag-color-picker{border:0;margin:18px 0;padding:0}.flag-color-picker legend{color:var(--muted);margin-bottom:9px;font-size:11px}.flag-color-picker>div{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.flag-color-picker button{color:#bac5d2;cursor:pointer;background:#171e27;border:1px solid #313b49;border-radius:7px;justify-content:center;align-items:center;gap:8px;min-height:44px;display:flex}.flag-color-picker button.active{border-color:var(--orange);color:#fff;background:#ff7a221c}.history-project-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.textbook-library{padding-bottom:36px}.library-heading{max-width:760px;margin-bottom:42px}.library-back{margin-bottom:34px;display:block}.library-heading h1{margin:10px 0 12px;font-size:clamp(34px,4vw,54px)}.library-heading p{color:var(--muted);line-height:1.8}.textbook-card{width:min(920px,100%);color:inherit;text-align:left;background:linear-gradient(135deg,#121924,#0d1219);border:1px solid #354252;border-radius:14px;grid-template-columns:minmax(220px,34%) 1fr;transition:transform .18s,border-color .18s;display:grid;overflow:hidden}.textbook-card:hover{border-color:#55c7ff8a;transform:translateY(-3px)}.textbook-cover{background:#101a25;min-height:390px;position:relative;overflow:hidden}.textbook-cover>img{object-fit:cover;object-position:top center;filter:saturate(.75)brightness(.64)contrast(1.08);width:100%;height:100%}.textbook-cover:after{content:"";background:linear-gradient(160deg,#0b11180d,#0b1118b8);position:absolute;inset:0}.textbook-cover-brand{z-index:2;position:absolute;bottom:18px;right:18px}.textbook-card-copy{flex-direction:column;justify-content:center;padding:clamp(28px,5vw,62px);display:flex}.textbook-card-copy strong{margin:15px 0 6px;font-size:clamp(28px,3vw,42px)}.textbook-card-copy p{max-width:560px;color:var(--muted);margin:24px 0 34px;line-height:1.8}.textbook-badge{color:#ff9b57;background:#ff7a221a;border:1px solid #ff7a225c;border-radius:5px;align-self:flex-start;padding:6px 9px;font-size:10px}.textbook-meta{color:#8c99aa;font-size:11px}.textbook-meta b{float:right;color:#ff8a3c}.textbook-reader{z-index:80;background:#080b10;grid-template-rows:64px minmax(0,1fr);min-height:0;display:grid;position:fixed;inset:0}.reader-toolbar{padding:max(8px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) 8px max(16px, env(safe-area-inset-left));border-bottom:1px solid var(--line);background:#10151d;grid-template-columns:1fr auto 1fr;align-items:center;display:grid}.reader-toolbar>div{flex-direction:column;align-items:center;display:flex}.reader-toolbar small{color:var(--muted);margin-top:3px}.reader-toolbar label{justify-self:end}.reader-toolbar select{color:#d9e2ec;background:#171e28;border:1px solid #344050;border-radius:6px;min-height:38px;padding:0 28px 0 10px}.reader-layout{grid-template-columns:118px minmax(0,1fr);min-height:0;display:grid}.reader-thumbnails{border-right:1px solid var(--line);touch-action:pan-y;background:#0d1219;padding:12px;overflow-y:auto}.reader-thumbnails button{background:#171e28;border:2px solid #0000;border-radius:6px;width:100%;margin-bottom:10px;position:relative;overflow:hidden}.reader-thumbnails img{aspect-ratio:3334/5334;object-fit:cover;width:100%;display:block}.reader-thumbnails span{color:#fff;background:#000000b8;border-radius:3px;padding:2px 5px;font-size:9px;position:absolute;bottom:4px;right:4px}.reader-stage{touch-action:pan-y;background:radial-gradient(circle at 50% 45%,#1b2632,#080b10 68%);place-items:center;min-width:0;min-height:0;display:grid;position:relative;overflow:hidden}.reader-page-frame{pointer-events:none;place-items:center;min-width:0;min-height:0;display:grid;position:absolute;inset:18px 64px;overflow:hidden}.reader-page-frame>img{object-fit:contain;object-position:center;filter:drop-shadow(0 24px 40px #0000007a);-webkit-user-select:none;user-select:none;-webkit-user-drag:none;border-radius:4px;width:100%;min-width:0;height:100%;min-height:0;display:block}.reader-arrow{z-index:2;color:#fff;background:#0e131bd6;border:1px solid #465365;border-radius:9px;place-items:center;width:46px;height:66px;font-size:34px;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.reader-arrow.previous{left:12px}.reader-arrow.next{right:12px}.sr-only{clip:rect(0,0,0,0);width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}@media (width<=980px){.dashboard-content{width:min(100% - 30px,720px);padding-top:42px}.dashboard-header{padding-inline:max(14px, env(safe-area-inset-left));grid-template-columns:auto 1fr auto}.studio-brand>span:last-child,.profile-chip i{display:none}.dashboard-nav{justify-content:center;gap:18px}.project-grid,.history-project-grid{grid-template-columns:1fr}.project-filter-bar{margin-top:-10px}.textbook-card{grid-template-columns:minmax(160px,34%) 1fr}.textbook-cover{min-height:320px}}@media (orientation:portrait) and (width<=820px){.dashboard-header{height:62px}.dashboard-nav{gap:8px}.dashboard-nav button{padding-inline:8px}.dashboard-title{flex-direction:column;align-items:flex-start;gap:24px}.dashboard-title .accent-button{width:100%}.project-filter-bar{padding-bottom:12px}.textbook-card{grid-template-columns:1fr}.textbook-cover{min-height:260px;max-height:310px}.textbook-meta b{float:none;margin-top:18px;display:block}.reader-toolbar{grid-template-columns:auto 1fr auto;gap:8px}.reader-toolbar .outline-button{white-space:nowrap;width:auto;min-width:104px;color:var(--ink);padding:0 10px}.reader-layout{grid-template-columns:1fr}.reader-thumbnails{display:none}.reader-page-frame{inset:12px 42px max(12px, env(safe-area-inset-bottom))}.reader-arrow{width:36px;height:58px}.reader-arrow.previous{left:4px}.reader-arrow.next{right:4px}}.auth-mode-tabs{background:var(--panel-2);border-color:var(--line)}.auth-mode-tabs button{color:var(--muted)}.auth-mode-tabs button:hover,.auth-mode-tabs button:focus-visible{border-color:var(--line);background:var(--panel-3);color:var(--ink)}.auth-mode-tabs button.active{border-color:var(--orange);background:var(--orange-soft);color:var(--orange)}.admin-nav-link{border-color:var(--line);color:var(--orange)}.admin-nav-link:hover,.admin-nav-link:focus-visible{border-color:var(--orange);background:var(--orange-soft);color:var(--ink)}.admin-nav-link:focus-visible,.auth-mode-tabs button:focus-visible,.project-filter-bar button:focus-visible,.flag-color-picker button:focus-visible,.reader-toolbar select:focus-visible,.reader-arrow:focus-visible,.textbook-card:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.brand-mark{border-color:var(--line);background:var(--panel-2);box-shadow:var(--shadow)}.project-filter-bar{border-color:var(--line);background:var(--panel-2)}.project-filter-bar button:hover,.project-filter-bar button.active{border-color:var(--line);background:var(--panel-3);color:var(--ink)}.project-filter-bar button.active{border-color:var(--orange)}.project-filter-bar button span,.project-placeholder small{color:var(--muted)}.project-placeholder{background:radial-gradient(circle at 50% 45%, var(--orange-soft), transparent 45%)}.project-card.archived .project-status,.project-flag-label{color:var(--muted)}.project-flag-label{border-color:var(--line);background:var(--panel-2)}.flag-color-picker button{border-color:var(--line);background:var(--panel-2);color:var(--ink)}.flag-color-picker button.active{border-color:var(--orange);background:var(--orange-soft);color:var(--ink)}.textbook-card{border-color:var(--line);background:var(--panel);color:var(--ink)}.textbook-card:hover{border-color:var(--blue)}.textbook-library .library-back{color:var(--blue)}.textbook-library .library-back:hover,.textbook-library .library-back:focus-visible{color:var(--ink)}.textbook-cover{background:var(--panel-3)}.textbook-card-copy small{color:var(--blue)}.textbook-badge{border-color:var(--line);background:var(--orange-soft);color:var(--orange)}.textbook-meta{color:var(--muted)}.textbook-meta b{color:var(--orange)}.textbook-reader{background:var(--viewer-bg);color:var(--ink)}.reader-toolbar{border-color:var(--line);background:var(--panel-2)}.reader-toolbar select{border-color:var(--control-border);background:var(--surface-control);color:var(--control-ink);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){.reader-toolbar select{--lightningcss-light: ;--lightningcss-dark:initial}}.reader-thumbnails{border-color:var(--line);background:var(--panel-2)}.reader-thumbnails button{background:var(--panel-3)}.reader-thumbnails button.active{border-color:var(--orange)}.reader-thumbnails span{background:var(--surface-overlay);color:var(--ink)}.reader-stage{background:radial-gradient(circle at 50% 45%, var(--panel-3), var(--viewer-bg) 72%)}.reader-arrow{border-color:var(--line);background:var(--surface-overlay);color:var(--ink)}.reader-arrow:disabled{opacity:.45}.textbook-reader{grid-template-rows:minmax(64px,auto) minmax(0,1fr)}.reader-toolbar{grid-template-columns:minmax(0,1fr) minmax(0,2fr) minmax(0,1fr)}.reader-toolbar>:first-child,.reader-toolbar>label,.reader-toolbar>div{min-width:0}.reader-toolbar>div{width:100%}.reader-toolbar>div strong{overflow-wrap:anywhere;text-align:center;max-width:100%}.reader-toolbar select{max-width:100%}@media (width<=640px){.auth-mode-tabs{grid-template-columns:repeat(auto-fit,minmax(min(100%,120px),1fr))}.project-filter-bar{scrollbar-color:var(--dim) var(--panel-2)}}@media (orientation:portrait) and (width<=820px){.reader-toolbar{grid-template-columns:auto minmax(0,1fr) auto}}:root,html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#090c11;--panel:#11161d;--panel-2:#171d26;--panel-3:#1c232d;--line:#35414f;--line-soft:#ffffff1f;--ink:#f4f2ec;--muted:#b6c0ca;--dim:#a1adb9;--orange:#ff8b3c;--orange-soft:#ff8b3c2b;--blue:#64c5ef;--success:#6dd9a5;--danger:#ff8588;--shadow:0 26px 80px #0000006b;--surface-control:#0c1219;--control-ink:#f4f2ec;--control-placeholder:#a1adb9;--control-border:#536171;--focus-ring:#ffc078;--primary-bg:#ff8b3c;--primary-hover-bg:#ff9b55;--primary-ink:#24170e;--surface-overlay:#151c24;--overlay-scrim:#030508c2;--success-bg:#173729;--success-ink:#a5f0c9;--danger-bg:#3b2023;--danger-ink:#ffb8ba;--warning-bg:#3a2d1e;--warning-ink:#ffdaa2;--workspace-bg:#090c11;--viewer-bg:#0b1118;--viewer-grid:#aecfe11a}html[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f5f2ed;--panel:#fff;--panel-2:#eeebe5;--panel-3:#e4e0d9;--line:#c7c1b8;--line-soft:#202b3426;--ink:#192530;--muted:#465562;--dim:#536371;--orange:#a9430e;--orange-soft:#a9430e12;--blue:#176c91;--success:#187448;--danger:#b33a40;--shadow:0 22px 60px #1f272b29;--surface-control:#fff;--control-ink:#192530;--control-placeholder:#586875;--control-border:#7b8993;--focus-ring:#9e3a09;--primary-bg:#a9430e;--primary-hover-bg:#87360d;--primary-ink:#fff;--surface-overlay:#fff;--overlay-scrim:#1925306b;--success-bg:#e2f3e9;--success-ink:#145a37;--danger-bg:#fbe7e6;--danger-ink:#86292e;--warning-bg:#fff0d5;--warning-ink:#68430b;--workspace-bg:#f5f2ed;--viewer-bg:#e8e6e1;--viewer-grid:#2541511f}:where(input[type=text],input[type=number],input[type=password],input[type=tel],input[type=email],input[type=search],input[type=url],textarea,select,option){color:var(--control-ink);caret-color:var(--orange)}:where(input[type=text],input[type=number],input[type=password],input[type=tel],input[type=email],input[type=search],input[type=url],textarea,select){background-color:var(--surface-control);border-color:var(--control-border);color-scheme:inherit}option{background:var(--surface-overlay)}html[data-theme] :is(input:not([type=range],[type=checkbox],[type=radio],[type=color],[type=file],[type=hidden],[type=submit],[type=button]),textarea,select){border-color:var(--control-border);caret-color:var(--orange);color-scheme:inherit;background:var(--surface-control)!important;color:var(--control-ink)!important}html[data-theme] :is(input,textarea,select):focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}::placeholder{color:var(--control-placeholder);opacity:1}:where(input,textarea,select,button,a):focus-visible{outline-color:var(--focus-ring)}:where(input,textarea,select):disabled{color:var(--muted);border-color:var(--line);opacity:.78}input:-webkit-autofill{-webkit-text-fill-color:var(--control-ink);box-shadow:0 0 0 1000px var(--surface-control) inset;caret-color:var(--orange)}input:-webkit-autofill:hover{-webkit-text-fill-color:var(--control-ink);box-shadow:0 0 0 1000px var(--surface-control) inset;caret-color:var(--orange)}input:-webkit-autofill:focus{-webkit-text-fill-color:var(--control-ink);box-shadow:0 0 0 1000px var(--surface-control) inset;caret-color:var(--orange)}html[data-theme] .accent-button{background:var(--primary-bg);color:var(--primary-ink)}html[data-theme] .accent-button:hover:not(:disabled){background:var(--primary-hover-bg)}.export-dialog .share-button{border:1px solid var(--primary-bg);background:var(--primary-bg);min-height:44px;color:var(--primary-ink);cursor:pointer;border-radius:6px;padding:0 16px}.export-dialog .share-button:hover:not(:disabled){background:var(--primary-hover-bg)}.outline-button{background:var(--panel-2);color:var(--ink)}.theme-toggle{min-width:0;color:var(--muted);align-items:center;gap:8px;font-size:12px;line-height:1.3;display:inline-flex}.theme-toggle__label{color:var(--muted);white-space:nowrap}.theme-toggle select{border:1px solid var(--control-border);background:var(--surface-control);min-width:112px;min-height:44px;color:var(--control-ink);font:inherit;cursor:pointer;border-radius:7px;padding:6px 28px 6px 10px}.theme-toggle--compact select{min-width:96px;min-height:42px}.password-token-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:26px;display:flex}.password-token-heading .password-token-brand{margin:0}.password-token-heading .theme-toggle{flex:none}.modal-backdrop,.export-dialog-backdrop{background:var(--overlay-scrim)}.modal-card{background:var(--panel);max-height:calc(100dvh - 32px)}.export-dialog{max-height:calc(100dvh - 32px);overflow-y:auto}.auth-shell{overscroll-behavior-y:contain;background-color:var(--bg);height:100dvh;min-height:0;overflow-y:auto}.auth-brand-panel{min-height:0}.password-token-shell{overscroll-behavior-y:contain;background-color:var(--bg);height:100dvh;min-height:0;color:var(--ink);overflow-y:auto}.password-token-card{background:var(--panel);border-color:var(--line)}.dock-tabs{background:var(--panel)!important}.dock-tabs button{min-height:44px;color:var(--dim)}.dock-tabs button.active{color:var(--ink)}.selected-panel-card input[type=number],.annotation-layer-summary input[type=text],.annotation-layer-summary select{background:var(--surface-control);color:var(--control-ink)}html[data-theme] .workspace-shell :is(input[type=text],input[type=number],input[type=password],input[type=tel],input[type=email],input[type=search],input[type=url],textarea,select){color-scheme:inherit;background-color:var(--surface-control)!important;border-color:var(--control-border)!important;color:var(--control-ink)!important}html[data-theme] body,html[data-theme] :is(.workspace-shell,.workspace-tools,.workspace-dock,.dock-tabs,.dock-tabs button,.panel-caption,.tool-panel,.layers-panel,.selected-panel-card,.modal-card,.auth-card,.password-token-card,input,textarea,select,button){transition:background-color .14s,color .14s,border-color .14s}@media (prefers-reduced-motion:reduce){html[data-theme] body,html[data-theme] :is(.workspace-shell,.workspace-tools,.workspace-dock,.dock-tabs,.dock-tabs button,.panel-caption,.tool-panel,.layers-panel,.selected-panel-card,.modal-card,.auth-card,.password-token-card,input,textarea,select,button){transition:none}}html[data-theme=light] .workspace-shell{background:var(--workspace-bg);color:var(--ink)}html[data-theme=light] :is(.workspace-topbar,.workspace-tools,.workspace-dock,.dock-tabs,.layers-panel,.selected-panel-card,.panel-card,.tool-panel,.panel-caption,.layer-settings-panel,.hair-sheet-controls,.annotation-layer-summary,.modal-card,.auth-card,.password-token-card,.export-dialog,.selection-mode-popover,.stage-tool-options){background-color:var(--panel);color:var(--ink);border-color:var(--line)}html[data-theme=light] .workspace-shell :is(.layer-row,.layer-stack,.layer-toolbar,.hair-sheet-rule,.free-layer-summary,.properties-panel,.panel-split-editor,.teaching-panel,.teaching-hover-card,.free-hair-toolbar,.free-hair-parts,.batch-placement-controls,.free-placement-status){background-color:var(--panel-2);color:var(--ink);border-color:var(--line)}html[data-theme=light] .workspace-shell :is(.layer-row,.selected-panel-card,.panel-caption) :is(strong,b,h3){color:var(--ink)}html[data-theme=light] .workspace-shell .layer-row.static-layer.visible-layer{background:color-mix(in srgb, var(--blue) 9%, var(--panel))}html[data-theme=light] .workspace-shell .layer-row.selected{background:var(--orange-soft)}html[data-theme=light] .workspace-statusbar{color:var(--muted)}html[data-theme=light] :is(.dashboard-shell,.dashboard-header,.dashboard-nav,.project-card,.new-project-card,.project-card-body,.project-card-footer,.profile-chip,.auth-card,.password-token-card){background-color:var(--panel);color:var(--ink);border-color:var(--line)}html[data-theme=light] .dashboard-shell{background-image:radial-gradient(circle at 50% -20%,#ffffffbf,#0000 42%);background-color:var(--bg)}html[data-theme] .dashboard-header{grid-template:"brand nav profile theme"minmax(0,1fr)/minmax(0,auto) minmax(0,1fr) auto auto;align-items:center;gap:16px}html[data-theme] .dashboard-header>.studio-brand{grid-area:brand;align-self:center}html[data-theme] .dashboard-header>.dashboard-nav{grid-area:nav;justify-self:center}html[data-theme] .dashboard-header>.profile-chip{grid-area:profile;place-self:center end}html[data-theme] .dashboard-header>.theme-toggle{grid-area:theme;place-self:center end}html[data-theme=light] .dashboard-nav button.active,html[data-theme=light] :is(.dashboard-shell,.dashboard-header,.dashboard-nav,.project-card,.new-project-card,.project-card-body,.project-card-footer,.profile-chip,.auth-card,.password-token-card) :is(h1,h2,h3,strong,b){color:var(--ink)}html[data-theme=light] :is(.dashboard-title p,.section-row span,.project-card p,.project-card-footer>span,.project-card-body>small,.profile-chip small,.profile-chip i,.project-card .project-status){color:var(--muted)}html[data-theme=light] .profile-chip>span{background:var(--panel-2);color:var(--ink);border-color:var(--line)}html[data-theme=light] .demo-notice{border-color:color-mix(in srgb, var(--blue) 32%, white);background:color-mix(in srgb, var(--blue) 10%, white);color:var(--blue);font-size:12px}html[data-theme=light] .error-banner{border-color:color-mix(in srgb, var(--danger) 32%, white);background:color-mix(in srgb, var(--danger) 9%, white);color:var(--danger-ink)}html[data-theme=light] :is(.panel-caption,.layer-name,.layer-name strong,.panel-caption strong,.auth-card h1,.auth-card h2,.modal-head h2,.export-dialog header,.export-dialog label,.selected-panel-card>strong){color:var(--ink)}html[data-theme=light] :is(.layer-name small,.panel-caption span,.export-dialog p,.export-dialog header span,.export-dialog label span){color:var(--muted)}html[data-theme=light] .selection-mode-popover>strong{color:var(--ink)}html[data-theme=light] .workspace-shell :is(input[type=number],input[type=text],select,textarea),html[data-theme=light] .workspace-shell :is(input[type=password],input[type=tel],input[type=email],input[type=search],input[type=url]){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:var(--surface-control)!important;border-color:var(--control-border)!important;color:var(--control-ink)!important}html[data-theme=light] .workspace-shell .accent-button:disabled,html[data-theme=light] .workspace-shell .accent-button[data-disabled=true]{background:var(--panel-3);border-color:var(--line);color:var(--muted)}html[data-theme=light] .workspace-stage{background:var(--viewer-bg)}html[data-theme=light] .auth-brand-panel{background-color:var(--bg)}html[data-theme=light] .auth-copy :is(h1,p),html[data-theme=light] .studio-brand{color:var(--ink)}html[data-theme=light] .auth-shell :is(.kicker,.auth-icp,.text-button,button.active){color:var(--orange)}html[data-theme=light] .auth-card .text-button{color:var(--muted)}html[data-theme=light] .auth-card button.active{background:var(--orange);border-color:var(--orange);color:#fff}html[data-theme=light] .auth-shell input,html[data-theme=light] .password-token-shell input,html[data-theme=light] .password-token-shell textarea,html[data-theme=light] .password-token-shell select{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:var(--surface-control)!important;border-color:var(--control-border)!important;color:var(--control-ink)!important}html[data-theme=light] .auth-shell input::placeholder,html[data-theme=light] .password-token-shell input::placeholder{color:var(--control-placeholder)}html[data-theme=light] .workspace-tools button:not(.active){color:var(--muted)}html[data-theme=light] .workspace-tools button:not(:disabled):hover{background:var(--panel-2);color:var(--ink)}html[data-theme=light] .workspace-tools button small{font-size:11px}html[data-theme=light] .workspace-topbar,html[data-theme=light] .workspace-dock,html[data-theme=light] .workspace-tools,html[data-theme=light] .properties-panel,html[data-theme=light] .annotation-settings,html[data-theme=light] .hair-sheet-controls,html[data-theme=light] .annotation-layer-summary,html[data-theme=light] .selected-panel-card,html[data-theme=light] .layer-settings-panel{background-color:var(--panel);color:var(--ink);border-color:var(--line)}html[data-theme=light] .layer-row,html[data-theme=light] .layer-toolbar,html[data-theme=light] .parameter-field,html[data-theme=light] .teaching-source,html[data-theme=light] .head-model-grid button,html[data-theme=light] .hair-density-control,html[data-theme=light] .hair-zone-row,html[data-theme=light] .hair-zone-list,html[data-theme=light] .hair-length-presets,html[data-theme=light] .knife-distance-control,html[data-theme=light] .root-line-mode-picker,html[data-theme=light] .custom-guide-line-style,html[data-theme=light] .batch-placement-controls{background-color:var(--panel-2);color:var(--ink);border-color:var(--line)}html[data-theme=light] .workspace-stage{background-color:var(--viewer-bg);background-image:linear-gradient(var(--viewer-grid) 1px, transparent 1px), linear-gradient(90deg, var(--viewer-grid) 1px, transparent 1px)}html[data-theme=light] .workspace-shell :is(.layer-name strong,.panel-caption strong,.teaching-source strong,.teaching-panel summary,.head-model-grid strong,.modal-head h2,.account-summary strong,.batch-placement-controls legend){color:var(--ink)}html[data-theme=light] .workspace-shell :is(.layer-name small,.panel-caption span,.teaching-source span,.head-model-grid em,.head-model-grid small,.workspace-topbar small,.workspace-statusbar,.workspace-statusbar span,.workspace-statusbar a,.compact-range small,.batch-placement-controls label,.parameter-field label,.hair-sheet-controls label,.annotation-layer-summary label){color:var(--muted)}html[data-theme=light] .head-model-picker,html[data-theme=light] .hairstyle-preset-picker,html[data-theme=light] .knife-mode-picker,html[data-theme=light] .root-line-mode-picker,html[data-theme=light] .terminal-direction-picker,html[data-theme=light] .terminal-shape-picker,html[data-theme=light] .backup-version-list,html[data-theme=light] .backup-version-row,html[data-theme=light] .backup-create-row,html[data-theme=light] .cut-line-settings,html[data-theme=light] .knife-settings,html[data-theme=light] .knife-quick-options,html[data-theme=light] .compact-range,html[data-theme=light] .batch-value-pair,html[data-theme=light] .free-hair-sample,html[data-theme=light] .panel-split-actions,html[data-theme=light] .star-point-confirmation,html[data-theme=light] .backup-dialog,html[data-theme=light] .tool-help-dialog,html[data-theme=light] .modal-head,html[data-theme=light] .modal-actions{background-color:var(--panel);color:var(--ink);border-color:var(--line)}html[data-theme=light] .head-model-grid button.selected{border-color:var(--orange)}html[data-theme=light] .head-model-grid small,html[data-theme=light] .workspace-shell .parameter-field .field-hint{color:var(--muted)}html[data-theme=light] .danger-button{background:var(--danger);color:#fff}html[data-theme=light] .outline-button,html[data-theme=light] .layer-toolbar button,html[data-theme=light] .selection-mode-popover button,html[data-theme=light] .head-model-grid button,html[data-theme=light] .hair-length-presets button,html[data-theme=light] .root-line-mode-picker button,html[data-theme=light] .custom-guide-draft-actions button:not(.accent-button),html[data-theme=light] .free-panel-actions button:not(.accent-button):not(.danger-button){background-color:var(--panel-2);color:var(--ink);border-color:var(--line)}html[data-theme=light] .outline-button:hover,html[data-theme=light] .layer-toolbar button:hover,html[data-theme=light] .selection-mode-popover button:hover,html[data-theme=light] .head-model-grid button:hover{background-color:var(--panel-3)}html[data-theme=light] .root-line-mode-picker button.selected,html[data-theme=light] .hair-length-presets button.selected,html[data-theme=light] .head-model-grid button.selected{background-color:var(--orange-soft);color:var(--orange)}html[data-theme=light] .stage-floating-tip,html[data-theme=light] .migration-report{background-color:var(--panel);color:var(--ink);border-color:var(--line)}html[data-theme=light] .stage-floating-tip[data-guidance-level=error]{background:var(--danger-bg);color:var(--danger-ink);border-color:var(--danger)}html[data-theme=light] .migration-report summary{color:var(--blue)}html[data-theme=light] .cut-line-settings legend,html[data-theme=light] .hidden-panels-banner{color:var(--warning-ink)}html[data-theme=light] :is(.hair-density-control small,.free-hair-toolbar>header span,.free-hair-toolbar small,.hairstyle-preset-picker small,.migration-report li span){color:var(--muted);font-size:11px}@media (width<=900px){html[data-theme] .dashboard-header{height:auto;padding:max(8px, env(safe-area-inset-top)) 18px 0;grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"brand profile theme""nav nav nav";gap:4px 12px;display:grid}html[data-theme] .dashboard-header>.dashboard-nav{justify-self:stretch;gap:4px;width:100%;height:44px;display:flex}html[data-theme] .dashboard-nav>:is(button,a){flex:auto;justify-content:center;align-items:center;min-width:0;min-height:44px;padding-inline:8px;display:inline-flex}html[data-theme] .dashboard-header>.theme-toggle{margin-left:0}html[data-theme] .dashboard-header>.theme-toggle select{min-height:38px}}@media (width<=760px){html[data-theme] .dashboard-header{gap:8px;padding:0 12px}html[data-theme] .dashboard-header .studio-brand small{display:none}html[data-theme] .dashboard-header>.theme-toggle select{min-width:88px;padding-left:7px;padding-right:20px}html[data-theme] .profile-chip{margin-left:auto}}html[data-theme] .workspace-tools button small,html[data-theme] .workspace-topbar small,html[data-theme] .save-state,html[data-theme] .compact-range small,html[data-theme] .workspace-statusbar,html[data-theme] .workspace-statusbar :is(span,a,small),html[data-theme] .viewer-badge,html[data-theme] .viewer-hint,html[data-theme] .profile-chip small,html[data-theme] .project-status,html[data-theme] .project-card-footer>span,html[data-theme] .new-project-card small,html[data-theme] .project-card p,html[data-theme] .section-row span{font-size:11px}html[data-theme] .project-card p,html[data-theme] .demo-notice,html[data-theme] .panel-caption{font-size:12px}html[data-theme] .workspace-shell .viewer-hint,html[data-theme] .workspace-shell .viewer-badge,html[data-theme] .workspace-shell .layer-name small,html[data-theme] .workspace-shell .panel-caption span,html[data-theme] .workspace-shell .project-layer-count,html[data-theme] .workspace-shell .teaching-definition-list li :is(span,small),html[data-theme] .workspace-shell .workspace-tools button em,html[data-theme] .workspace-shell .workspace-tools button small{font-size:11px}html[data-theme] .save-state,html[data-theme] .workspace-shell .teaching-definition-list li :is(span,small){color:var(--muted)}html[data-theme] .project-layer-count{color:#e0e7ed;font-size:11px}html[data-theme] .custom-hair-toolbar .custom-hair-parts>button small,html[data-theme] .custom-hair-toolbar .custom-fan-parts button span,html[data-theme] .custom-hair-toolbar .custom-fan-parts button small,html[data-theme] .custom-hair-toolbar .batch-placement-controls legend,html[data-theme] .custom-hair-toolbar .batch-placement-controls label,html[data-theme] .custom-hair-toolbar .free-placement-status span,html[data-theme] .free-hair-toolbar .batch-placement-controls legend,html[data-theme] .free-hair-toolbar .batch-placement-controls label,html[data-theme] .dashboard-header .studio-brand small,html[data-theme] .auth-card-head,html[data-theme] .head-model-grid small,html[data-theme] .head-model-grid em,html[data-theme] .phone-field>span{font-size:11px}html[data-theme] .workspace-statusbar,html[data-theme] .workspace-statusbar :is(span,a,small),html[data-theme] .modal-head,html[data-theme] .modal-head :is(h2,p,span),html[data-theme] .account-summary small,html[data-theme] .head-model-grid em{color:var(--muted)}html[data-theme] .modal-head h2,html[data-theme] .account-summary strong,html[data-theme] .head-model-grid strong{color:var(--ink)}html[data-theme=light] .auth-shell .auth-help-note,html[data-theme=light] .password-token-card .auth-help-note,html[data-theme=light] .auth-shell .auth-icp,html[data-theme=light] .password-token-card .auth-icp{color:var(--muted)}html[data-theme=light] .auth-shell .auth-icp a,html[data-theme=light] .password-token-card .auth-icp a{color:var(--blue)}html[data-theme] .password-token-card>p,html[data-theme] .password-token-message p{color:var(--muted);font-size:13px}html[data-theme=dark] .new-project-card small{color:var(--muted)}html[data-theme] .new-project-card small{font-size:11px}html[data-theme] .field>span,html[data-theme] .parameter-field>span,html[data-theme] .phone-field>span{color:var(--muted);font-size:12px}html[data-theme] .head-model-grid button :is(strong,em,small){color:var(--ink)}html[data-theme] .head-model-grid button small{font-size:11px}html[data-theme] .hairstyle-preset-picker{color:var(--ink)}html[data-theme] .hairstyle-preset-picker legend{color:var(--muted)}html[data-theme] .hairstyle-preset-picker button{background:var(--panel-2);border-color:var(--line);color:var(--ink);font-size:12px}html[data-theme] .hairstyle-preset-picker button.selected{background:var(--orange-soft);border-color:var(--orange);color:var(--orange)}html[data-theme] .hairstyle-preset-picker button:disabled{opacity:1;color:var(--muted)}html[data-theme] .hairstyle-preset-picker small{color:var(--muted);font-size:11px}html[data-theme=light] .exit-project,html[data-theme=light] .topbar-actions>button:not(.share-button):not(.mini-profile),html[data-theme=light] .dock-tabs .dock-collapse-button{background:var(--panel-2);border-color:var(--line);color:var(--ink)}html[data-theme] .exit-project{font-size:11px}html[data-theme] .workspace-statusbar{background:var(--panel-2);color:var(--muted);font-size:11px}html[data-theme] .workspace-statusbar :is(span,a,small){color:var(--muted)}html[data-theme] .compact-range,html[data-theme] .compact-range b,html[data-theme] .hair-zone-row output{color:var(--ink);font-size:11px}html[data-theme] .compact-range small,html[data-theme] .hair-zone-row label{color:var(--muted);font-size:11px}html[data-theme] .teaching-panel li,html[data-theme] .teaching-panel p{color:var(--muted);font-size:12px}html[data-theme] .teaching-definition-list li{background:var(--panel-2);color:var(--ink)}html[data-theme] .teaching-definition-list li strong{color:var(--ink);font-size:12px}html[data-theme] .teaching-definition-list li :is(span,small){color:var(--muted);font-size:11px}html[data-theme] .export-dialog p strong{color:var(--ink)}html[data-theme] .export-dialog header>button{color:var(--muted)}html[data-theme] .account-actions>button,html[data-theme] .account-actions>a{background:var(--panel-2);color:var(--ink);border-color:var(--line)}html[data-theme] .account-actions>button:hover,html[data-theme] .account-actions>a:hover{background:var(--panel-3)}html[data-theme] .account-actions small,html[data-theme] .account-actions em{color:var(--muted)}html[data-theme] .modal-head>button{background:var(--panel-2);color:var(--muted);border:1px solid var(--line)}html[data-theme] .modal-head>button:hover{background:var(--panel-3);color:var(--ink)}html[data-theme] .annotation-settings>label{color:var(--ink);font-size:11px}html[data-theme] .annotation-settings>p{color:var(--muted);font-size:12px}html[data-theme] .annotation-settings .ready-note{background:var(--success-bg);color:var(--success-ink);border-radius:5px;padding:7px 9px}html[data-theme] .annotation-settings .warning-note{background:var(--warning-bg);color:var(--warning-ink);border-radius:5px;padding:7px 9px}html[data-theme] .knife-distance-control{background:var(--panel-2);border-color:var(--line)}html[data-theme] .knife-distance-control>div,html[data-theme] .knife-distance-control>label{color:var(--ink);font-size:11px}html[data-theme] .knife-distance-control small{color:var(--muted);font-size:11px}html[data-theme] .multi-knife-entry{background:var(--panel-2);border-color:color-mix(in srgb, var(--blue) 45%, var(--line))}html[data-theme] .multi-knife-entry strong{color:var(--ink);font-size:11px}html[data-theme] .multi-knife-entry span{color:var(--muted);font-size:11px}html[data-theme] .multi-knife-entry.active{background:color-mix(in srgb, var(--blue) 11%, var(--panel));border-color:var(--blue)}html[data-theme] .multi-knife-entry.active strong{color:var(--ink)}html[data-theme] .multi-knife-entry.active span{color:var(--blue)}html[data-theme] .custom-guide-line-style{background:var(--panel-2);border-color:var(--line)}html[data-theme] .custom-guide-line-style legend{color:var(--ink);font-size:11px}html[data-theme] .custom-guide-line-style label{color:var(--muted);font-size:11px}html[data-theme] .custom-guide-line-style select{background:var(--surface-control);color:var(--control-ink);border-color:var(--control-border)}html[data-theme] .free-placement-status{background:var(--success-bg);border-color:color-mix(in srgb, var(--success) 45%, var(--line))}html[data-theme] .free-placement-status span{color:var(--success-ink);font-size:12px}html[data-theme] .free-placement-status.invalid{background:var(--danger-bg);border-color:var(--danger)}html[data-theme] .free-placement-status.invalid span{color:var(--danger-ink)}html[data-theme] .custom-fan-parts>strong{color:var(--success);font-size:11px}html[data-theme] .backup-version-row{background:var(--panel-2);border-color:var(--line);color:var(--ink)}html[data-theme] .backup-version-row small,html[data-theme] .backup-dialog .dialog-hint{color:var(--muted)}html[data-theme] .dock-tabs button{font-size:11px}html[data-theme=light] .danger-link{color:var(--danger)!important}html[data-theme=light] .head-model-picker>span,html[data-theme=light] .head-model-picker>legend,html[data-theme=light] .knife-quick-options>span,html[data-theme=light] .custom-guide-name-field>span{color:var(--muted);font-size:11px}html[data-theme=light] .knife-mode-picker legend,html[data-theme=light] .root-line-mode-picker legend{color:var(--ink);font-size:11px}html[data-theme=light] .annotation-layer-summary>strong{color:var(--ink)}html[data-theme=light] .annotation-layer-summary>:is(span,p),html[data-theme=light] .annotation-layer-summary label>span{color:var(--muted);font-size:11px}html[data-theme=light] .annotation-layer-summary>p{font-size:12px}html[data-theme=light] .star-point-confirmation>:is(span,strong){color:var(--ink)}html[data-theme=light] :is(.free-hair-parts,.custom-fan-parts) button{background:var(--panel-2);border-color:var(--control-border);color:var(--ink)}html[data-theme=light] :is(.free-hair-parts,.custom-fan-parts) button.active{background:color-mix(in srgb, var(--blue) 10%, var(--panel));border-color:var(--blue);color:var(--blue)}html[data-theme=light] :is(.free-hair-parts,.custom-fan-parts) button>span{color:inherit}html[data-theme=light] :is(.free-hair-parts,.custom-fan-parts) button small{color:var(--muted)}html[data-theme=light] .account-summary>span{background:var(--panel-2);border-color:var(--line);color:var(--ink)}html[data-theme=light] .workspace-shell .selected-panel-card dl div{color:var(--ink)}html[data-theme=light] .workspace-shell .selected-panel-card dt{color:var(--muted)}html[data-theme=light] .workspace-shell .star-ray-line-style legend{color:var(--muted);font-size:11px}html[data-theme=light] .workspace-shell .star-ray-line-style label{color:var(--ink);font-size:11px}html[data-theme=light] .security-detail .security-benefit{background:var(--panel-2);color:var(--muted);font-size:11px}html[data-theme] .project-placeholder small{color:#c4cfd8;font-size:11px}html[data-theme] .project-preview{background-color:#111720}html[data-theme] .backup-version-row>button{background:var(--panel-3);border-color:var(--line);color:var(--ink)}html[data-theme=light] .backup-version-row>.danger-link{background:var(--danger-bg);color:var(--danger-ink)!important}html[data-theme] .dashboard-icp a{color:var(--muted)}html[data-theme] .workspace-shell :is(.viewer-badge,.viewer-hint,.reset-view){background:var(--surface-overlay);color:var(--ink);border-color:var(--control-border)}html[data-theme] .workspace-shell .reset-view:hover:not(:disabled){background:var(--panel-2)}html[data-theme] .orientation-gizmo{background:var(--surface-overlay);border-color:var(--line)}html[data-theme] .orientation-axis text{font-size:10px}html[data-theme=light] .orientation-origin{fill:var(--ink);stroke:var(--panel)}html[data-theme=light] .orientation-axis text{stroke:var(--panel)}html[data-theme=light] .orientation-axis.axis-x{color:#b62e43}html[data-theme=light] .orientation-axis.axis-y{color:#197541}html[data-theme=light] .orientation-axis.axis-z{color:#1f64ad}html[data-theme=light] .workspace-stage:before{background:radial-gradient(circle at 50% 42%,#0000 35%,#3a4e5b14 90%)}@supports (height:100dvh){.auth-shell,.password-token-shell{height:var(--workspace-visual-height,100dvh)}}html[data-theme] .workspace-shell.custom-toolbar-open{grid-template-rows:54px minmax(0,1fr) 210px 25px}@media (pointer:coarse) and (orientation:landscape) and (width>=1151px){html[data-theme] .workspace-shell.custom-toolbar-open{grid-template-rows:54px minmax(0,1fr) 280px 25px}html[data-theme] .custom-hair-toolbar{grid-template-rows:auto auto auto auto}html[data-theme] .custom-hair-toolbar .batch-placement-controls{grid-column:1/-1}html[data-theme] .custom-hair-toolbar .batch-placement-controls label>span{white-space:nowrap}html[data-theme] .custom-hair-toolbar .batch-placement-controls label>select{flex:1}html[data-theme] .custom-hair-toolbar .free-placement-status{grid-area:4/1/auto/-1}html[data-theme] .custom-hair-toolbar .free-placement-status button{min-height:44px}}html[data-theme] .custom-hair-toolbar{overscroll-behavior:contain;touch-action:pan-y;grid-template-rows:auto auto auto;grid-template-columns:minmax(0,1.18fr) minmax(0,1fr);align-content:start;min-height:0;overflow:hidden auto}html[data-theme] .custom-hair-toolbar .custom-hair-parts{grid-template-columns:repeat(5,minmax(0,1fr))}html[data-theme] .custom-hair-toolbar .custom-hair-parts>button{min-height:70px}html[data-theme] .custom-hair-toolbar .custom-fan-parts button{min-height:56px}html[data-theme] .custom-hair-toolbar :is(.custom-hair-parts,.custom-fan-parts) button{touch-action:none}html[data-theme] .custom-hair-toolbar :is(.custom-hair-parts,.batch-placement-controls){padding-right:0}html[data-theme] .custom-hair-toolbar .free-placement-status{width:auto;position:static;inset:auto}html[data-theme] .custom-hair-toolbar>header>button{background:var(--panel-3);color:var(--ink);border:1px solid var(--control-border)}@media (orientation:portrait) and (width<=1180px){html[data-theme] .workspace-shell.custom-toolbar-open{grid-template-rows:50px minmax(0,1fr) minmax(232px,32dvh) 25px}html[data-theme] .workspace-shell.custom-toolbar-open .workspace-stage{padding-bottom:310px}html[data-theme] .custom-hair-toolbar{height:310px;bottom:25px}html[data-theme] .custom-hair-toolbar .custom-hair-parts,html[data-theme] .custom-hair-toolbar .custom-fan-parts>div{grid-template-columns:repeat(3,minmax(0,1fr))}html[data-theme] .custom-hair-toolbar .batch-placement-controls{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (orientation:landscape) and (width<=1150px) and (height>=650px){html[data-theme] .workspace-shell.custom-toolbar-open{grid-template-rows:54px minmax(0,1fr) 280px 25px}html[data-theme] .custom-hair-toolbar .custom-hair-parts,html[data-theme] .custom-hair-toolbar .custom-fan-parts>div{grid-template-columns:repeat(3,minmax(0,1fr))}html[data-theme] .custom-hair-toolbar .batch-placement-controls{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (height<=760px){.auth-brand-panel{padding-top:22px;padding-bottom:22px}.auth-copy h1{margin-top:10px;margin-bottom:12px;font-size:clamp(32px,4vw,54px)}.auth-card{margin-top:16px;margin-bottom:16px}.password-token-shell{place-items:start center;padding:16px}}@media (width<=760px){.auth-brand-panel{min-height:0;padding:22px 24px}.auth-card{margin:16px 0 24px}.password-token-heading{flex-direction:column;align-items:flex-start;margin-bottom:18px}.password-token-heading .theme-toggle{align-self:flex-start}}html[data-theme] .workspace-shell .eye-toggle{color:var(--muted)}html[data-theme] .workspace-shell .eye-toggle.visible{color:var(--blue)}html[data-theme=light] .workspace-shell .panel-caption>button{background:var(--panel-3);color:var(--ink);border:1px solid var(--line)}html[data-theme] .workspace-shell .teaching-hover-card{background:var(--surface-overlay);border-color:var(--line);color:var(--ink);box-shadow:var(--shadow);gap:5px}html[data-theme] .workspace-shell .teaching-hover-card>strong{color:var(--ink);font-size:13px}html[data-theme] .workspace-shell .teaching-hover-card>span{color:var(--blue);font-size:11px}html[data-theme] .workspace-shell .teaching-hover-card :is(p,small){color:var(--muted);font-size:11px;line-height:1.45}html[data-theme=light] .workspace-shell .selected-panel-card{background:var(--panel);border-color:color-mix(in srgb, var(--orange) 35%, var(--line))}html[data-theme=light] .workspace-shell .selected-panel-card>span,html[data-theme=light] .workspace-shell .selected-panel-card>p,html[data-theme] .workspace-shell .selected-panel-card dt{color:var(--muted)}html[data-theme=light] .workspace-shell .hair-sheet-controls>header strong,html[data-theme=light] .workspace-shell .hair-density-control>span,html[data-theme=light] .workspace-shell .panel-color-control>span{color:var(--ink)}html[data-theme=light] .workspace-shell .hair-sheet-controls>header span{color:var(--muted)}html[data-theme=light] .workspace-shell .hair-sheet-rule span{color:var(--blue)}html[data-theme=light] .workspace-shell .hair-sheet-rule p{color:var(--muted)}html[data-theme=light] .workspace-shell .hair-density-control button{background:var(--panel);border-color:var(--control-border);color:var(--ink)}html[data-theme=light] .workspace-shell .hair-density-control button.active{background:var(--orange-soft);border-color:var(--orange);color:var(--orange)}html[data-theme=light] .workspace-shell .hair-density-control button:disabled{color:var(--muted);opacity:.65}html[data-theme=light] .workspace-shell .terminal-shape-settings{background:var(--panel-2);border-color:var(--line);color:var(--ink)}html[data-theme=light] .workspace-shell .terminal-shape-settings legend{color:var(--ink)}html[data-theme=light] .workspace-shell :is(.terminal-shape-picker,.terminal-direction-picker){background:0 0}html[data-theme=light] .workspace-shell :is(.terminal-shape-picker,.terminal-direction-picker) button{background:var(--panel);border-color:var(--control-border);color:var(--ink)}html[data-theme=light] .workspace-shell :is(.terminal-shape-picker,.terminal-direction-picker) button:is(.active,[aria-pressed=true]){background:var(--orange-soft);border-color:var(--orange);color:var(--orange)}html[data-theme=light] .workspace-shell :is(.terminal-shape-picker,.terminal-direction-picker) button:disabled{background:var(--panel-2);border-color:var(--line);color:var(--muted);opacity:.7}html[data-theme=light] .workspace-shell .terminal-shape-settings>small{color:var(--muted)}html[data-theme=light] .workspace-shell .root-line-mode-picker button.active{background:var(--orange-soft);border-color:var(--orange);color:var(--orange)}html[data-theme=light] .workspace-shell .root-line-mode-picker button:disabled{background:var(--panel-2);border-color:var(--line);color:var(--muted);opacity:.7}html[data-theme=light] .workspace-shell .annotation-settings>button:not(.cut-action-button):not(.accent-button):not(.danger-button),html[data-theme=light] .workspace-shell .annotation-settings :is(.knife-mode-picker button,.multi-knife-entry>button,.scissor-depth-actions>button:not(.cut-action-button),.knife-selection-hint button){background:var(--panel-2);border-color:var(--control-border);color:var(--ink)}html[data-theme=light] .workspace-shell .annotation-settings :is(.knife-mode-picker button,.multi-knife-entry>button,.scissor-depth-actions>button:not(.cut-action-button),.knife-selection-hint button):is(.active,[aria-pressed=true]){background:var(--orange-soft);border-color:var(--orange);color:var(--orange)}html[data-theme=light] .workspace-shell .annotation-settings>button:not(.cut-action-button):not(.accent-button):not(.danger-button):disabled,html[data-theme=light] .workspace-shell .annotation-settings :is(.knife-mode-picker button,.multi-knife-entry>button,.scissor-depth-actions>button:not(.cut-action-button),.knife-selection-hint button):disabled{background:var(--panel-2);border-color:var(--line);color:var(--muted);opacity:.7}html[data-theme=light] .workspace-shell .annotation-settings :is(button,select,input[type=color]):focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}html[data-theme=light] .workspace-shell .annotation-settings select,html[data-theme=light] .workspace-shell .annotation-settings input[type=color]{background:var(--surface-control);border-color:var(--control-border);color:var(--control-ink);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html[data-theme=light] .workspace-shell .selected-panel-card .panel-color-control input[type=color]{border:1px solid var(--control-border);border-radius:4px}html[data-theme=light] .workspace-shell .panel-split-editor span{color:var(--ink)}html[data-theme=light] .workspace-shell .panel-split-editor small{color:var(--muted)}html[data-theme=light] .workspace-shell .knife-distance-number{background:var(--panel-2);border-color:var(--control-border)}html[data-theme=light] .workspace-shell .knife-distance-number em{color:var(--muted)}html[data-theme=light] .workspace-shell .knife-selection-hint{background:var(--warning-bg);border-color:color-mix(in srgb, var(--warning-ink) 40%, var(--line));color:var(--warning-ink)}html[data-theme=light] .workspace-shell .custom-guide-line-list button{background:var(--panel-2);border-color:var(--line);color:var(--ink)}html[data-theme=light] .workspace-shell .custom-guide-line-list button.selected{background:color-mix(in srgb, var(--blue) 10%, var(--panel));border-color:var(--blue);color:var(--blue)}html[data-theme=light] .workspace-shell .custom-guide-line-list button:disabled{color:var(--muted);opacity:.7}html[data-theme=light] .workspace-shell .custom-guide-line-list button:hover:not(:disabled):not(.selected){background:var(--panel-3)}html[data-theme=light] .workspace-shell .custom-guide-line-style input[type=color]{background:var(--surface-control);border-color:var(--control-border);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html[data-theme] .workspace-shell .custom-guide-line-style :is(label>span,.line-style-control>span){color:var(--muted)}html[data-theme=light] .workspace-shell .star-ray-dial{border-color:var(--line);background:radial-gradient(circle, #ff3b302e 0 5px, transparent 6px), var(--panel-2)}html[data-theme=light] .workspace-shell .star-ray-dial button{color:var(--muted)}html[data-theme=light] .workspace-shell .star-ray-dial button:not(.active) i{background:var(--control-border)}html[data-theme=light] .workspace-shell .star-ray-dial button.selected{outline-color:var(--blue)}html[data-theme=light] .workspace-shell .star-ray-settings>small{color:var(--muted)}html[data-theme=light] .workspace-shell .star-ray-line-style{background:var(--panel-2);border-color:var(--line)}html[data-theme=light] .workspace-shell .star-ray-line-style input[type=color],html[data-theme=light] .workspace-shell .star-ray-line-style select{background:var(--surface-control);border-color:var(--control-border);color:var(--control-ink);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html[data-theme] .workspace-shell :is(.terminal-shape-picker,.terminal-direction-picker,.knife-mode-picker) button{min-height:34px;padding:5px 1px;font-size:12px;line-height:1.45}@media (pointer:coarse){html[data-theme] .workspace-shell :is(.terminal-shape-picker,.terminal-direction-picker,.knife-mode-picker) button{min-height:44px}}html[data-theme=light] .workspace-shell :is(.hair-density-control,.terminal-shape-settings,.root-line-mode-picker,.knife-mode-picker,.custom-guide-line-list,.custom-guide-line-style,.star-ray-line-style,.star-ray-dial) :is(button,select,input[type=color]):focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}html[data-theme] .workspace-shell :is(.model-loading,.model-fallback-note){background:var(--panel);border-color:var(--line);color:var(--muted)}html[data-theme] .workspace-shell :is(.model-loading,.model-fallback-note) strong{color:var(--ink)}html[data-theme] .workspace-shell .panel-split-editor>div:first-child{gap:4px;display:grid}@media (orientation:portrait) and (width<=1180px){html[data-theme] .workspace-shell.free-toolbar-open{--portrait-tray-height:clamp(156px, 18dvh, 190px);--portrait-dock-height:max(200px, 28dvh);grid-template-rows:50px minmax(0, 1fr) var(--portrait-dock-height) var(--portrait-tray-height) 25px}html[data-theme] .workspace-shell.custom-toolbar-open{--portrait-tray-height:clamp(180px, 28dvh, 310px)}html[data-theme] .workspace-shell.free-toolbar-open.right-dock-collapsed{--portrait-dock-height:0px}html[data-theme] .workspace-shell.free-toolbar-open .workspace-stage{padding-bottom:0}html[data-theme] .workspace-shell.free-toolbar-open .workspace-dock{grid-row:3}html[data-theme] .workspace-shell.free-toolbar-open .free-hair-toolbar{overscroll-behavior:contain;touch-action:pan-y;grid-area:4/2;width:auto;height:auto;min-height:0;position:relative;inset:auto;overflow:hidden auto}html[data-theme] .workspace-shell.free-toolbar-open .workspace-tools{grid-row:2/5}html[data-theme] .workspace-shell.free-toolbar-open .workspace-statusbar{grid-row:5}}.studio-icon{pointer-events:none;flex:none;width:24px;height:24px;display:block}.workspace-shell .workspace-tools{overscroll-behavior:contain;touch-action:pan-y;scrollbar-width:thin;overflow:hidden auto}.workspace-shell .workspace-tools>button{flex:none;gap:4px;min-height:57px;padding:4px 0}.workspace-tools>button>.studio-icon{width:24px;height:24px}.workspace-tools>button>small{text-align:center;text-wrap:balance;line-height:1.25}.workspace-shell .workspace-tools .tool-blocked{opacity:1;filter:none}.workspace-shell .workspace-tools .tools-spacer{min-height:8px}.workspace-shell .layer-thumb.studio-layer-thumb{border:1px solid var(--line);border-left:3px solid var(--layer-color,var(--line));width:34px;height:36px;color:var(--ink);background:var(--panel-2);box-shadow:none;border-radius:6px;place-items:center;display:grid}.layer-thumb.studio-layer-thumb:before,.layer-thumb.studio-layer-thumb:after{display:none}.studio-layer-thumb>.studio-icon{width:28px;height:28px}.workspace-shell .eye-toggle,.workspace-shell .layer-delete,.workspace-shell .lock-mark{border-radius:4px;align-self:stretch;place-items:center;min-height:32px;display:grid}.eye-toggle>.studio-icon{width:20px;height:20px}.layer-delete>.studio-icon,.lock-mark>.studio-icon{width:18px;height:18px}.workspace-shell .panel-caption>button{place-items:center;display:grid}.panel-caption>button>.studio-icon{width:23px;height:23px}.workspace-shell .eye-toggle:hover,.workspace-shell .layer-delete:hover{background:var(--panel-2);color:var(--ink)}.workspace-shell .eye-toggle:focus-visible,.workspace-shell .layer-delete:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}html[data-theme] .workspace-shell .layer-stack>.layer-row{border-color:var(--line);border-radius:7px;grid-template-columns:32px 36px minmax(0,1fr) 24px;gap:8px;margin-bottom:6px}html[data-theme] .workspace-shell .layer-stack>.layer-row.visible-layer{background:color-mix(in srgb, var(--blue) 18%, var(--panel));border-color:color-mix(in srgb, var(--blue) 45%, var(--line))}html[data-theme] .workspace-shell .layer-stack>.layer-row.hidden-layer{background:var(--panel)}html[data-theme] .workspace-shell .layer-stack>.layer-row:hover{border-color:var(--control-border)}html[data-theme] .workspace-shell .layer-stack>.layer-row.selected{border-color:var(--orange);box-shadow:inset 3px 0 var(--orange)}html[data-theme] .workspace-shell .layer-stack>.layer-row.selected.guidance-target{box-shadow:inset 3px 0 var(--orange), 0 0 0 3px #ff973033, 0 0 22px #ff831f33}html[data-theme] .workspace-shell .layer-row .eye-toggle{border:1px solid var(--line);min-height:36px;color:var(--muted);background:0 0;border-radius:6px}html[data-theme] .workspace-shell .layer-row .eye-toggle.visible{color:var(--blue);border-color:color-mix(in srgb, var(--blue) 55%, var(--line));background:color-mix(in srgb, var(--blue) 12%, var(--panel))}html[data-theme] .workspace-shell .layer-row .eye-toggle:hover{color:var(--ink);background:var(--panel-2)}@media (pointer:coarse){html[data-theme] .workspace-shell .layer-stack>.layer-row{grid-template-columns:44px 36px minmax(0,1fr) 24px}html[data-theme] .workspace-shell .layer-row .eye-toggle{min-height:44px}}@media (width<=640px){.workspace-shell .layer-stack{grid-template-columns:minmax(0,1fr)}}@media (height<=720px){.workspace-shell .workspace-tools>button{min-height:54px}}.interface-icon{pointer-events:none;flex:none;width:20px;height:20px;display:block}.ui-back-control{border:1px solid var(--line);background:var(--panel);min-height:44px;color:var(--ink);cursor:pointer;font:inherit;white-space:nowrap;border-radius:7px;flex:none;justify-content:center;align-items:center;gap:8px;padding:8px 10px;font-size:12px;text-decoration:none;display:inline-flex}.ui-back-control:hover{border-color:var(--control-border);background:var(--panel-2);color:var(--ink)}.ui-back-control>.interface-icon{width:18px;height:18px}.ui-close-control{width:44px;min-width:44px;height:44px;min-height:44px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;flex:none;place-items:center;padding:0;display:inline-grid}.ui-close-control:hover{color:var(--ink);border-color:var(--line);background:var(--panel-2)}.ui-back-control:focus-visible,.ui-close-control:focus-visible,.theme-options>button:focus-visible,.line-style-picker>button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.modal-head>.ui-close-control,.export-dialog-head>.ui-close-control{width:44px;height:44px;font-size:inherit}.admin-topbar-start{align-items:center;gap:18px;min-width:0;display:flex}.admin-topbar-start .ui-back-control{font-size:12px}.page-navigation{justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;display:flex}.page-navigation .theme-toggle{margin-left:auto}.password-token-card .password-token-heading{margin-bottom:20px}html[data-theme] .password-token-brand{color:var(--ink)}html[data-theme] .password-token-brand span{color:var(--muted)}.reader-toolbar .ui-back-control,.workspace-topbar .ui-back-control{min-height:40px}.account-modal .back-link.ui-back-control{place-self:flex-start start;width:fit-content;margin:0 auto 6px 0;display:flex}.account-modal .password-change-form{text-align:left;gap:14px;display:grid}.password-change-form>h3,.password-change-form>p{margin:0}.password-change-form>p{line-height:1.6}.password-change-form .phone-field{text-align:left;gap:6px;display:grid}.auth-form-back{margin-bottom:12px}.phone-login-form>.auth-form-back{justify-self:start}html[data-theme] .modal-head>.ui-close-control,.export-dialog>header>.ui-close-control,.tool-help-dialog>header>.ui-close-control,.material-preview-close.ui-close-control{width:44px;min-width:44px;height:44px;min-height:44px}.theme-toggle{flex:none;min-width:0}.theme-options{border:1px solid var(--line);background:var(--panel-2);border-radius:8px;gap:2px;padding:3px;display:inline-flex}.theme-options>button{min-width:44px;min-height:38px;color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:5px;justify-content:center;align-items:center;gap:6px;padding:7px;font-size:11px;display:inline-flex}.theme-options>button:hover{color:var(--ink);background:var(--panel)}.theme-options>button[aria-checked=true]{color:var(--orange);border-color:var(--orange);background:var(--panel);box-shadow:0 1px 3px #0000001a}.theme-toggle--compact .theme-option-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.theme-toggle--compact .theme-toggle__label{display:none}.theme-toggle--compact .theme-options>button{min-width:34px;min-height:34px;padding:6px}.theme-toggle--compact .interface-icon{width:18px;height:18px}.line-style-control{min-width:0;color:var(--muted);gap:6px;font-size:11px;display:grid}.line-style-picker{gap:4px;width:fit-content;max-width:100%;display:inline-flex}.line-style-picker>button{border:1px solid var(--control-border);background:var(--surface-control);width:44px;min-height:34px;color:var(--control-ink);cursor:pointer;border-radius:5px;place-items:center;padding:5px;display:grid}.line-style-picker>button[aria-pressed=true]{color:var(--orange);border-color:var(--orange);background:var(--orange-soft)}.line-style-picker .interface-icon{width:26px}@media (pointer:coarse){.theme-options>button,.theme-toggle--compact .theme-options>button{min-width:44px;min-height:44px}html[data-theme] select,.reader-toolbar .ui-back-control,.workspace-topbar .ui-back-control{min-height:44px}.workspace-shell select,.workspace-shell .batch-placement-controls select,.workspace-shell .batch-placement-controls input[type=number]{height:auto;min-height:44px;padding-block:8px}.workspace-shell .line-style-picker>button{min-height:44px}.workspace-shell .batch-placement-controls{gap:8px}}@media (width<=700px){.admin-topbar-start{justify-content:space-between;gap:12px;width:100%}.admin-topbar-start .admin-brand{margin-left:auto}.page-navigation{flex-wrap:wrap;gap:8px}.theme-option-label{font-size:11px}}.admin-access-denied,.admin-portal{color:#edf2f5;background:radial-gradient(circle at 15% -10%,#ff7a221f,#0000 38%),radial-gradient(circle at 90% 0,#3e9fd21c,#0000 34%),#080c11;min-height:100vh}.admin-portal{-webkit-overflow-scrolling:touch;height:100dvh;min-height:0;overflow:hidden auto}@supports not (height:100dvh){.admin-portal{height:var(--workspace-visual-height,100vh)}}.admin-access-denied{place-items:center;min-height:100dvh;padding:24px;display:grid}.admin-denied-card{text-align:center;background:linear-gradient(145deg,#181f28f0,#0d1219fa);border:1px solid #2d3b48;border-radius:18px;width:min(460px,100%);padding:36px;box-shadow:0 30px 80px #0000005c}.admin-denied-card h1{margin:12px 0 8px;font-size:25px}.admin-denied-card p{color:#a2b0ba;margin:0 0 24px;line-height:1.7}.admin-eyebrow{color:#f39857;letter-spacing:.1em;text-transform:uppercase;font-size:11px;font-weight:700}.admin-primary-link{color:#fff;background:#f0782b;border-radius:8px;justify-content:center;align-items:center;min-height:42px;padding:0 22px;font-weight:700;text-decoration:none;display:inline-flex}.admin-link-backdrop{z-index:1000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#03070bd1;place-items:center;padding:22px;display:grid;position:fixed;inset:0}.admin-link-dialog{background:#111a22;border:1px solid #3a4b58;border-radius:14px;width:min(560px,100%);padding:28px;position:relative;box-shadow:0 28px 90px #0000008c}.admin-link-dialog h2{margin:8px 0 10px;font-size:22px}.admin-link-dialog p{color:#a9b7c0;font-size:12px;line-height:1.7}.admin-link-dialog label{color:#bdc9d0;gap:7px;margin-top:18px;font-size:11px;display:grid}.admin-link-dialog input{box-sizing:border-box;color:#f3f7f9;width:100%;min-width:0;height:40px;font-family:var(--font-geist-mono), monospace;background:#0a1117;border:1px solid #405361;border-radius:7px;padding:0 10px;font-size:11px}.admin-link-close{color:#9baab3;cursor:pointer;background:0 0;border:0;width:34px;height:34px;font-size:24px;position:absolute;top:12px;right:14px}.admin-link-actions{justify-content:flex-end;gap:9px;margin-top:18px;display:flex}.admin-topbar{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0a0f15f0;border-bottom:1px solid #202b35;justify-content:space-between;align-items:center;gap:20px;min-height:72px;padding:0 34px;display:flex}.admin-brand{color:inherit;align-items:center;gap:11px;text-decoration:none;display:inline-flex}.admin-brand-mark{color:#ff9956;background:linear-gradient(145deg,#202d38,#111922);border:1px solid #ff8a44b3;border-radius:11px;place-items:center;width:38px;height:38px;font-size:18px;font-weight:800;display:grid}.admin-brand strong,.admin-brand small{display:block}.admin-brand strong{font-size:15px}.admin-brand small{color:#82909b;margin-top:2px;font-size:10px}.admin-topbar-meta{color:#9eabb5;align-items:center;gap:14px;font-size:12px;display:flex}.admin-topbar-meta a{color:#ff9e5e;text-decoration:none}.admin-topbar-phone{color:#687985;font-family:var(--font-geist-mono), monospace}.admin-role-chip,.admin-count-badge{color:#ffb07b;background:#ff7a221a;border:1px solid #ff7a2266;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:700}.admin-shell{width:min(1440px,100%);margin:0 auto;padding:32px 34px 60px}.admin-intro{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:24px;display:flex}.admin-intro h1{letter-spacing:-.03em;margin:8px 0 6px;font-size:clamp(26px,3vw,38px)}.admin-intro p{color:#8d9ba7;margin:0}.admin-security-note{color:#8de1b3;white-space:nowrap;background:#216a461c;border:1px solid #254638;border-radius:9px;align-items:center;gap:8px;padding:10px 13px;font-size:11px;display:inline-flex}.admin-status-dot{background:#54d08c;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #54d08c1f}.admin-notice{z-index:5;border-radius:8px;margin:0 0 14px;padding:12px 15px;font-size:12px;font-weight:650;position:sticky;top:12px}.admin-notice-success{color:#98e8b9;background:#12281d;border:1px solid #2b6b4d}.admin-notice-error{color:#ffabb0;background:#2b171b;border:1px solid #743c42}.admin-tabs{background:#0f151c;border:1px solid #27343f;border-radius:12px;gap:8px;padding:5px;display:flex}.admin-tabs button{color:#81909d;cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:8px;gap:4px;min-width:154px;padding:12px 18px;display:grid}.admin-tabs button span{color:inherit;font-size:13px;font-weight:700}.admin-tabs button small{color:#61717f;font-size:10px}.admin-tabs button.active{color:#fff1e8;background:linear-gradient(145deg,#ff7a222e,#ff7a220f);border-color:#ff7a2273}.admin-content-grid{grid-template-columns:minmax(310px,.82fr) minmax(0,1.7fr);align-items:start;gap:18px;margin-top:18px;display:grid}.admin-material-grid{grid-template-columns:minmax(340px,.78fr) minmax(0,1.75fr)}.admin-card{background:linear-gradient(145deg,#121921f5,#0d1218fa);border:1px solid #263440;border-radius:13px;min-width:0;padding:20px;box-shadow:0 18px 50px #00000029}.admin-card-heading{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.admin-card h2{letter-spacing:-.02em;margin:7px 0 0;font-size:20px}.admin-help-text{color:#8494a0;margin:-4px 0 18px;font-size:11px;line-height:1.65}.admin-form{gap:13px;display:grid}.admin-form label,.admin-material-edit label{color:#aebbc4;gap:6px;font-size:11px;display:grid}.admin-form input,.admin-form textarea,.admin-form select,.admin-filter-row input,.admin-filter-row select,.admin-material-edit input,.admin-material-edit textarea{color:#ecf3f6;background:#0c131a;border:1px solid #334452;border-radius:7px;outline:none;width:100%;min-width:0;font-size:12px}.admin-form input,.admin-form select,.admin-filter-row input,.admin-filter-row select,.admin-material-edit input{height:38px;padding:0 10px}.admin-form textarea,.admin-material-edit textarea{resize:vertical;padding:9px 10px;line-height:1.45}.admin-form input:focus,.admin-form textarea:focus,.admin-form select:focus,.admin-filter-row input:focus,.admin-filter-row select:focus,.admin-material-edit input:focus,.admin-material-edit textarea:focus{border-color:#f17b37;box-shadow:0 0 0 3px #f17b371a}.admin-form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.admin-checkbox-label{align-items:center;grid-template-columns:none!important;gap:8px!important;display:flex!important}.admin-checkbox-label input{accent-color:#f17b37;width:15px!important;height:15px!important}.admin-file-picked{color:#9bd6f1;text-overflow:ellipsis;white-space:nowrap;background:#318abc1a;border:1px solid #27516a;border-radius:7px;padding:8px 10px;font-size:10px;overflow:hidden}.admin-button{color:#e5edf1;cursor:pointer;background:#17212b;border:1px solid #354858;border-radius:7px;justify-content:center;align-items:center;min-height:38px;font-size:12px;font-weight:700;text-decoration:none;transition:border-color .16s,background .16s,transform .16s;display:inline-flex}.admin-button:hover:not(:disabled){background:#22303b;border-color:#7590a2}.admin-button:active:not(:disabled){transform:translateY(1px)}.admin-button:disabled{cursor:not-allowed;opacity:.46}.admin-button-primary{color:#fff;background:linear-gradient(145deg,#f78b43,#d95a1c);border-color:#e66c28}.admin-button-primary:hover:not(:disabled){background:linear-gradient(145deg,#ff9b55,#e76926);border-color:#ffb17b}.admin-button-ghost{color:#dce7ec;background:#121b24}.admin-button-warn{color:#ffd39e;background:#3a2b18;border-color:#805d2c}.admin-button-danger{color:#ffabb0;background:#321b20;border-color:#7a3d45}.admin-button-small{min-height:31px;padding:0 10px;font-size:10px}.admin-filter-row{grid-template-columns:minmax(160px,1fr) 130px 150px;gap:8px;margin-bottom:14px;display:grid}.admin-empty-state{color:#788995;border:1px dashed #30404d;border-radius:9px;place-items:center;min-height:150px;padding:20px;font-size:12px;display:grid}.admin-user-list,.admin-material-list,.admin-audit-list{gap:8px;max-height:690px;padding-right:2px;display:grid;overflow:auto}.admin-user-row,.admin-material-row,.admin-audit-row{background:#111a23;border:1px solid #2a3945;border-radius:9px;min-width:0;padding:13px}.admin-user-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.admin-user-title,.admin-material-title{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.admin-user-title strong,.admin-material-title strong{color:#f2f6f8;font-size:13px}.admin-status{border-radius:999px;padding:3px 7px;font-size:9px;font-weight:700;display:inline-flex}.admin-status-invited{color:#e9c37d;background:#3e321b}.admin-status-active{color:#82dda9;background:#173d2a}.admin-status-suspended{color:#f0b279;background:#3c2b1e}.admin-status-revoked{color:#ff9ba3;background:#3c2027}.admin-material-status-draft{color:#f1ca82;background:#3d321b}.admin-material-status-published{color:#82dda9;background:#173d2a}.admin-material-status-archived{color:#ff9ba3;background:#3b242a}.admin-user-meta{color:#8fa0ac;flex-wrap:wrap;gap:7px 14px;margin-top:6px;font-size:10px;display:flex}.admin-user-meta span+span:before{content:"·";color:#4f626f;margin-right:14px}.admin-user-main small,.admin-material-summary small{color:#667985;margin-top:7px;font-size:10px;display:block}.admin-user-actions,.admin-material-actions{flex-wrap:wrap;justify-content:flex-end;gap:5px;display:flex}.admin-user-actions button{color:#d9e5ea;cursor:pointer;background:#17222c;border:1px solid #354957;border-radius:5px;min-height:29px;padding:0 8px;font-size:10px}.admin-user-actions button:hover:not(:disabled){border-color:#819aa8}.admin-user-actions button.danger{color:#ffa4aa;background:#331c22;border-color:#754049}.admin-user-actions button:disabled{opacity:.45;cursor:not-allowed}.admin-user-editor{margin-top:10px}.admin-user-editor summary{color:#9fb2c5;cursor:pointer;font-size:10px}.admin-user-editor-fields{grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:8px;margin-top:10px;display:grid}.admin-user-editor-fields label{color:#9fb2c5;gap:5px;font-size:10px;display:grid}.admin-user-editor-fields input,.admin-user-editor-fields select{color:#ecf3f6;background:#0c131a;border:1px solid #334452;border-radius:6px;min-width:0;height:32px;padding:0 8px}.admin-user-editor-fields button{color:#ffd4b5;background:#3d2517;border:1px solid #87512e;border-radius:6px;min-height:32px}.admin-material-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:11px;display:grid}.admin-material-edit{border-top:1px solid #2d3d49;grid-column:1/-1;gap:10px;margin-top:9px;padding:12px;display:grid}.admin-audit-card{margin-top:18px}.admin-audit-row{justify-content:space-between;align-items:center;gap:15px;display:flex}.admin-audit-row>div:first-child{gap:4px;min-width:0;display:grid}.admin-audit-row strong{color:#f0f5f7;font-size:12px}.admin-audit-row span,.admin-audit-row small,.admin-audit-row time{color:#82939e;font-size:10px}.admin-audit-row small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-audit-row>div:last-child{text-align:right;flex:none;gap:4px;display:grid}.admin-access-denied,.admin-portal{background:var(--workspace-bg);color:var(--ink)}.admin-denied-card,.admin-card,.admin-user-row,.admin-material-row,.admin-audit-row,.admin-link-dialog{border-color:var(--line);background:var(--panel);color:var(--ink);box-shadow:var(--shadow)}.admin-denied-card p,.admin-help-text,.admin-intro p,.admin-topbar-meta,.admin-user-meta,.admin-audit-row span,.admin-audit-row small,.admin-audit-row time,.admin-material-summary small{color:var(--muted)}.admin-eyebrow,.admin-topbar-meta a{color:var(--orange)}.admin-brand small,.admin-topbar-phone,.admin-user-main small{color:var(--muted)}.admin-topbar{border-color:var(--line);background:var(--panel-2)}.admin-topbar-meta{flex-wrap:wrap;justify-content:flex-end}.admin-brand-mark{border-color:var(--line);background:var(--panel-3);color:var(--orange)}.admin-role-chip,.admin-count-badge{border-color:var(--line);background:var(--orange-soft);color:var(--orange)}.admin-security-note,.admin-notice-success{border-color:var(--success);background:var(--success-bg);color:var(--success-ink)}.admin-notice-error{border-color:var(--danger);background:var(--danger-bg);color:var(--danger-ink)}.admin-tabs{border-color:var(--line);background:var(--panel-2)}.admin-tabs button{color:var(--muted)}.admin-tabs button small{color:var(--dim)}.admin-tabs button.active{border-color:var(--orange);background:var(--orange-soft);color:var(--ink)}.admin-tabs button.active small{color:var(--orange)}.admin-form label,.admin-material-edit label,.admin-user-editor-fields label{color:var(--muted)}.admin-form input:not([type=checkbox]):not([type=file]),.admin-form textarea,.admin-form select,.admin-filter-row input,.admin-filter-row select,.admin-material-edit input:not([type=file]),.admin-material-edit textarea,.admin-user-editor-fields input,.admin-user-editor-fields select,.admin-link-dialog input{border-color:var(--control-border);background:var(--surface-control);color:var(--control-ink);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){.admin-form input:not([type=checkbox]):not([type=file]),.admin-form textarea,.admin-form select,.admin-filter-row input,.admin-filter-row select,.admin-material-edit input:not([type=file]),.admin-material-edit textarea,.admin-user-editor-fields input,.admin-user-editor-fields select,.admin-link-dialog input{--lightningcss-light: ;--lightningcss-dark:initial}}.admin-form input::placeholder,.admin-form textarea::placeholder,.admin-filter-row input::placeholder,.admin-material-edit input::placeholder,.admin-material-edit textarea::placeholder{color:var(--control-placeholder);opacity:1}.admin-form select,.admin-filter-row select,.admin-user-editor-fields select{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){.admin-form select,.admin-filter-row select,.admin-user-editor-fields select{--lightningcss-light: ;--lightningcss-dark:initial}}.admin-form input:focus-visible,.admin-form textarea:focus-visible,.admin-form select:focus-visible,.admin-filter-row input:focus-visible,.admin-filter-row select:focus-visible,.admin-material-edit input:focus-visible,.admin-material-edit textarea:focus-visible,.admin-user-editor-fields input:focus-visible,.admin-user-editor-fields select:focus-visible,.admin-button:focus-visible,.admin-user-actions button:focus-visible,.admin-user-editor-fields button:focus-visible,.admin-tabs button:focus-visible,.admin-link-close:focus-visible,.admin-primary-link:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.admin-form :disabled,.admin-filter-row :disabled,.admin-material-edit :disabled,.admin-user-editor-fields :disabled{cursor:not-allowed;opacity:.58}.admin-form input[type=file]{max-width:100%;color:var(--control-ink)}.admin-form input[type=file]::file-selector-button{border:1px solid var(--control-border);background:var(--panel-3);color:var(--control-ink);border-radius:5px;margin-right:10px;padding:7px 10px}.admin-checkbox-label input{accent-color:var(--orange)}.admin-file-picked{border-color:var(--blue);background:var(--panel-2);color:var(--ink);overflow-wrap:anywhere;white-space:normal}.admin-button{border-color:var(--line);background:var(--panel-3);color:var(--ink)}.admin-button:hover:not(:disabled){border-color:var(--blue);background:var(--panel-2)}.admin-button-primary,.admin-primary-link{border-color:var(--orange);background:var(--primary-bg);color:var(--primary-ink)}.admin-button-primary:hover:not(:disabled),.admin-primary-link:hover{border-color:var(--orange);background:var(--primary-hover-bg);color:var(--primary-ink)}.admin-button-ghost{background:var(--panel-2);color:var(--ink)}.admin-button-warn{border-color:var(--warning-ink);background:var(--warning-bg);color:var(--warning-ink)}.admin-button-danger,.admin-user-actions button.danger{border-color:var(--danger);background:var(--danger-bg);color:var(--danger-ink)}.admin-empty-state{border-color:var(--line);background:var(--panel-2);color:var(--muted)}.admin-user-title strong,.admin-material-title strong,.admin-audit-row strong{color:var(--ink)}.admin-status-invited,.admin-status-suspended,.admin-material-status-draft{background:var(--warning-bg);color:var(--warning-ink)}.admin-status-active,.admin-material-status-published{background:var(--success-bg);color:var(--success-ink)}.admin-status-revoked,.admin-material-status-archived{background:var(--danger-bg);color:var(--danger-ink)}.admin-user-actions button,.admin-user-editor-fields button{border-color:var(--line);background:var(--panel-3);color:var(--ink)}.admin-user-editor summary{color:var(--blue)}.admin-user-main small{overflow-wrap:anywhere;white-space:normal}.admin-user-meta span,.admin-material-summary,.admin-audit-row>div:first-child{overflow-wrap:anywhere;min-width:0}.admin-audit-row small{overflow-wrap:anywhere;white-space:normal}.admin-link-backdrop{overscroll-behavior:contain;padding:max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));overflow-y:auto}.admin-link-dialog{width:min(560px,100%);max-height:calc(100dvh - max(24px, env(safe-area-inset-top) + env(safe-area-inset-bottom)));overscroll-behavior:contain;margin:auto;overflow:auto}.admin-link-dialog input{overflow-wrap:anywhere}.admin-link-dialog p,.admin-link-dialog label{color:var(--muted)}.admin-link-close{float:right;z-index:1;background:var(--panel);color:var(--ink);margin:0 -14px 0 8px;position:sticky;top:0;right:0}.admin-access-denied{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;height:100dvh;min-height:0;padding:max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));overflow:auto}.admin-denied-card{width:min(460px,100%);max-height:100%;margin:auto;overflow:auto}@media (width<=720px){.admin-topbar{flex-wrap:wrap;align-items:flex-start;padding-block:12px}.admin-topbar-meta{flex:100%;justify-content:flex-start}.admin-topbar-meta>*{overflow-wrap:anywhere;min-width:0}.admin-user-actions,.admin-material-actions{min-width:0}.admin-user-row,.admin-material-row{align-items:start}}@media (height<=420px){.admin-link-backdrop{place-items:start center}.admin-link-dialog{padding:18px}.admin-denied-card{padding:22px}}@media (width<=1080px){.admin-shell{padding-left:20px;padding-right:20px}.admin-content-grid,.admin-material-grid{grid-template-columns:1fr}.admin-user-list,.admin-material-list{max-height:none}}@media (width<=720px){.admin-topbar{min-height:64px;padding:0 15px}.admin-topbar-meta{gap:8px}.admin-topbar-phone,.admin-topbar-meta>span:nth-child(2){display:none}.admin-shell{padding:22px 12px 40px}.admin-intro{flex-direction:column;align-items:flex-start}.admin-intro h1{font-size:28px}.admin-tabs{overflow-x:auto}.admin-tabs button{min-width:130px;padding:10px 12px}.admin-card{padding:15px}.admin-form-row,.admin-filter-row,.admin-user-row,.admin-material-row{grid-template-columns:1fr}.admin-user-actions,.admin-material-actions{justify-content:flex-start}.admin-audit-row{flex-direction:column;align-items:flex-start}.admin-audit-row>div:last-child{text-align:left}}@media (width>=1100px) and (height<=850px){.admin-shell{padding-top:20px}.admin-card{padding:16px}.admin-form{gap:9px}.admin-user-list,.admin-material-list{max-height:520px}}
