:root{--bg-0:#07090d;--bg-1:#0b0f15;--surface:#10151d;--surface-2:#151b25;--glass:#0e131bb8;--line:#94a3b81f;--line-2:#94a3b838;--text:#e9edf4;--text-2:#a3adbf;--text-3:#6c768a;--accent:#34e3a8;--accent-2:#4f8dff;--accent-ink:#03140e;--accent-soft:#34e3a81f;--grad:linear-gradient(135deg, #34e3a8 0%, #3cc7d6 50%, #4f8dff 100%);--danger:#ff6b7a;--warn:#ffb547;--x:#ff5d6c;--y:#4ade80;--z:#5b9dff;--font:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-display:"Space Grotesk", var(--font);--font-mono:"JetBrains Mono", ui-monospace, "Cascadia Code", Consolas, monospace;--r-sm:8px;--r:10px;--r-lg:14px;--r-xl:20px;--shadow:0 10px 30px -10px #0009, 0 0 0 1px var(--line);--ease:cubic-bezier(.2, .8, .2, 1);--top-h:64px;--panel-w:372px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:var(--font);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-size:14px;line-height:1.45}*,:before,:after{box-sizing:border-box}[hidden]{display:none!important}html,body{height:100%}body{background:var(--bg-0);grid-template-columns:var(--panel-w) 1fr;grid-template-rows:var(--top-h) 1fr;grid-template-areas:"top top""panel view";height:100dvh;margin:0;display:grid;overflow:hidden}::selection{background:#34e3a84d}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.skip{z-index:100;background:var(--accent);color:var(--accent-ink);border-radius:var(--r-sm);padding:8px 12px;font-weight:600;position:absolute;top:-40px;left:8px}.skip:focus{top:8px}.i{fill:none;stroke:currentColor;stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:18px;height:18px}.i-lg{stroke-width:1.5px;width:28px;height:28px}#topbar{border-bottom:1px solid var(--line);background:linear-gradient(180deg, var(--bg-1), #0b0f15d9);z-index:20;grid-area:top;align-items:center;gap:24px;padding:0 20px;display:flex;position:relative}#topbar:after{content:"";opacity:.6;background:linear-gradient(90deg,#0000,#34e3a873,#4f8dff73,#0000);height:1px;position:absolute;bottom:-1px;left:0;right:0}.brand{color:var(--text);width:calc(var(--panel-w) - 44px);flex:none;align-items:center;gap:10px;text-decoration:none;display:flex}.brand-mark{filter:drop-shadow(0 0 10px #34e3a859);width:30px;height:30px}.brand-name{font-family:var(--font-display);letter-spacing:-.02em;font-size:19px;font-weight:600}.brand-name b{background:var(--grad);color:#0000;-webkit-background-clip:text;background-clip:text;font-weight:700}.badge{font-family:var(--font-mono);color:var(--text-3);border:1px solid var(--line-2);border-radius:99px;padding:1px 7px;font-size:10.5px}#steps{counter-reset:s;flex:1;justify-content:center;align-items:center;gap:4px;display:flex}#steps button{color:var(--text-2);cursor:pointer;transition:background .2s var(--ease), color .2s, border-color .2s;background:0 0;border:1px solid #0000;border-radius:99px;align-items:center;gap:10px;padding:7px 14px 7px 8px;font-weight:400;display:flex;position:relative}#steps button+button:before{content:"";background:var(--line-2);width:20px;height:1px;position:absolute;top:50%;left:-14px}#steps button+button{margin-left:20px}#steps button:hover:not(:disabled){color:var(--text);background:#ffffff0a}#steps button:disabled{opacity:.45;cursor:not-allowed}.step-num{border:1px solid var(--line-2);width:28px;height:28px;font-family:var(--font-mono);transition:all .25s var(--ease);border-radius:50%;place-items:center;font-size:12px;font-weight:500;display:grid}.step-num>*{grid-area:1/1}.step-num .i{stroke-width:2.4px;opacity:0;width:15px;height:15px;transition:all .25s var(--ease);transform:scale(.5)}.step-text{text-align:left;flex-direction:column;line-height:1.15;display:flex}.step-text b{color:inherit;font-size:13px;font-weight:600}.step-text small{color:var(--text-3);margin-top:2px;font-size:11px}#steps button.active{color:var(--text);background:var(--accent-soft);border-color:#34e3a84d}#steps button.active .step-num{background:var(--grad);color:var(--accent-ink);border-color:#0000;box-shadow:0 0 0 4px #34e3a826,0 0 18px #34e3a873}body[data-step=presplit] #steps [data-step=prepare] .step-num,body[data-step=print] #steps :is([data-step=prepare],[data-step=presplit],[data-step=split],[data-step=explode]) .step-num,body[data-step=explode] #steps :is([data-step=prepare],[data-step=presplit],[data-step=split]) .step-num{color:var(--accent);border-color:#34e3a880}body[data-step=presplit] #steps [data-step=prepare] .step-num span,body[data-step=print] #steps :is([data-step=prepare],[data-step=presplit],[data-step=split],[data-step=explode]) .step-num span,body[data-step=explode] #steps :is([data-step=prepare],[data-step=presplit],[data-step=split]) .step-num span{opacity:0}body[data-step=presplit] #steps [data-step=prepare] .step-num .i,body[data-step=print] #steps :is([data-step=prepare],[data-step=presplit],[data-step=split],[data-step=explode]) .step-num .i,body[data-step=explode] #steps :is([data-step=prepare],[data-step=presplit],[data-step=split]) .step-num .i{opacity:1;transform:none}body[data-step=presplit] #steps [data-step=prepare]:after,body[data-step=print] #steps button:not(:first-child):before,body[data-step=explode] #steps button:not([data-step=print]):not(:first-child):before{background:linear-gradient(90deg, var(--accent), var(--accent-2))}body.splitting #steps [data-step=split] .step-num{border-color:var(--accent);border-top-color:#0000;animation:.9s linear infinite spin}body.splitting #steps [data-step=split] .step-num span{animation:.9s linear infinite reverse spin}@keyframes spin{to{transform:rotate(360deg)}}.top-actions{flex:none;gap:6px;display:flex}.icon-btn{border-radius:var(--r);border:1px solid var(--line);width:38px;height:38px;color:var(--text-2);cursor:pointer;background:0 0;place-items:center;padding:0;transition:all .15s;display:grid}.icon-btn:hover{color:var(--text);border-color:var(--line-2);background:#ffffff0a}#panel{overscroll-behavior:contain;background:var(--bg-1);border-right:1px solid var(--line);scrollbar-width:thin;scrollbar-color:var(--line-2) transparent;z-index:10;flex-direction:column;grid-area:panel;gap:12px;padding:20px 16px 0;display:flex;position:relative;overflow-y:auto}#panel[data-step=prepare]>[data-step]:not([data-step~=prepare]),#panel[data-step=presplit]>[data-step]:not([data-step~=presplit]),#panel[data-step=explode]>[data-step]:not([data-step~=explode]),#panel[data-step=print]>[data-step]:not([data-step~=print]){display:none}#panel>[data-step]{animation:rise .35s var(--ease) both}@keyframes rise{0%{opacity:0;transform:translateY(6px)}}.sheet-handle{display:none}.step-intro{padding:2px 4px 6px}.eyebrow{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-size:11px}.step-intro h1{font-family:var(--font-display);letter-spacing:-.02em;margin:6px 0;font-size:22px;font-weight:600}.step-intro p{color:var(--text-2);text-wrap:pretty;margin:0;font-size:13px;line-height:1.55}section{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);flex-direction:column;gap:10px;padding:14px;transition:border-color .2s;display:flex}section:focus-within{border-color:var(--line-2)}section>h2{font-family:var(--font-display);letter-spacing:-.005em;color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;margin:0;font-size:14.5px;font-weight:600;display:flex}section>h2>.i:first-child{border-radius:var(--r-sm);background:var(--accent-soft);width:30px;height:30px;color:var(--accent);padding:6px}section>h2:after{content:"";border-right:1.75px solid var(--text-3);border-bottom:1.75px solid var(--text-3);width:8px;height:8px;transition:transform .2s var(--ease);margin-left:auto;transform:rotate(45deg)translate(-2px,-2px)}section.collapsed>h2:after{transform:rotate(-45deg)}section.collapsed>:not(h2){display:none!important}section.collapsed{gap:0}.lead{color:var(--text-3);text-wrap:pretty;margin:-2px 0 2px;font-size:12.5px;line-height:1.5}label{color:var(--text-2);flex-direction:column;gap:6px;font-size:12px;font-weight:500;display:flex}input,select{background:var(--bg-0);color:var(--text);border:1px solid var(--line-2);border-radius:var(--r-sm);height:36px;font:inherit;font-variant-numeric:tabular-nums;width:100%;padding:0 10px;font-size:13px;transition:border-color .15s,box-shadow .15s}input[type=number],input[type=text]{font-family:var(--font-mono);font-size:12.5px}input:hover,select:hover{border-color:#94a3b859}input:focus,select:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #34e3a82e}select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a3adbf' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;background-size:14px;padding-right:32px}select option{background:var(--surface-2)}input[type=range]{appearance:none;height:22px;box-shadow:none;background:0 0;border:0;padding:0}input[type=range]::-webkit-slider-runnable-track{background:var(--line-2);border-radius:4px;height:4px}input[type=range]::-moz-range-track{background:var(--line-2);border-radius:4px;height:4px}input[type=range]::-moz-range-progress{background:var(--accent);border-radius:4px;height:4px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--text);border:3px solid var(--accent);cursor:grab;border-radius:50%;width:16px;height:16px;margin-top:-6px;box-shadow:0 0 10px #34e3a880}input[type=range]::-moz-range-thumb{background:var(--text);border:3px solid var(--accent);cursor:grab;border-radius:50%;width:16px;height:16px}label.check{color:var(--text);cursor:pointer;flex-direction:row;align-items:center;gap:10px;font-size:13px}label.check>span{flex-direction:column;gap:1px;display:flex}label.check small{color:var(--text-3);font-size:11.5px;font-weight:400}label.check input{appearance:none;background:var(--line-2);cursor:pointer;width:34px;height:20px;transition:background .2s var(--ease);border:0;border-radius:99px;flex:none;padding:0;position:relative}label.check input:after{content:"";width:14px;height:14px;transition:transform .2s var(--ease), background .2s;background:#cfd6e2;border-radius:50%;position:absolute;top:3px;left:3px}label.check input:checked{background:var(--accent)}label.check input:checked:after{background:#fff;transform:translate(14px)}.row3{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.row2{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.row2.bottom,.row3.bottom{align-items:end}.axes label{flex-direction:row;align-items:center;gap:0;position:relative}.axes .ax{font-family:var(--font-mono);pointer-events:none;font-size:11px;font-weight:600;position:absolute;left:8px}.axes input{padding-left:24px}.ax-x{color:var(--x)}.ax-y{color:var(--y)}.ax-z{color:var(--z)}button,.btn{background:var(--grad);min-height:38px;color:var(--accent-ink);border-radius:var(--r);font:inherit;cursor:pointer;white-space:nowrap;transition:transform .12s var(--ease), box-shadow .2s, background-color .15s, border-color .15s, color .15s, opacity .15s;-webkit-tap-highlight-color:transparent;border:0;flex-direction:row;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-size:13.5px;font-weight:600;text-decoration:none;display:inline-flex;box-shadow:0 6px 18px -8px #34e3a899,inset 0 1px #ffffff40}button:hover:not(:disabled),.btn:hover{box-shadow:0 8px 24px -8px #34e3a8cc,inset 0 1px #ffffff4d}button:active:not(:disabled),.btn:active{transform:translateY(1px)scale(.99)}button:disabled{opacity:.38;cursor:not-allowed;box-shadow:none}button small{opacity:.7;font-size:11.5px;font-weight:400}button.ghost{color:var(--text);border:1px solid var(--line-2);box-shadow:none;background:#ffffff05;font-weight:500}button.ghost:hover:not(:disabled){box-shadow:none;background:#ffffff0f;border-color:#94a3b866}button.small{border-radius:var(--r-sm);gap:6px;min-height:32px;padding:0 10px;font-size:12px}button.small .i{width:15px;height:15px}.seg{background:var(--bg-0);border:1px solid var(--line);border-radius:var(--r);grid-template-columns:repeat(3,1fr);gap:3px;padding:3px;display:grid}.seg button{background:0 0;border:0}button.seltool.active,.seg button.seltool.active{background:var(--accent-soft);color:var(--accent);border-color:#34e3a859}.actions{z-index:2;padding:14px 16px calc(14px + env(safe-area-inset-bottom));background:linear-gradient(180deg, transparent, var(--bg-1) 30%);gap:8px;margin:4px -16px 0;display:grid;position:sticky;bottom:0}.actions.row2{grid-template-columns:1fr}.actions.row2:has(#cancelSplit:not([hidden])){grid-template-columns:1fr auto}.actions button{border-radius:var(--r-lg);min-height:46px;font-size:14.5px}.export-group{gap:8px;display:grid}.export-group button{justify-content:flex-start}.export-group button small{margin-left:auto}.drop{border:1.5px dashed var(--line-2);border-radius:var(--r-lg);text-align:center;cursor:pointer;color:var(--text);background:radial-gradient(120% 80% at 50% 0,#34e3a80f,#0000 70%);flex-direction:column;align-items:center;gap:6px;padding:22px 16px;font-size:13px;font-weight:400;transition:border-color .2s,background .2s;display:flex}.drop .i{color:var(--accent);margin-bottom:2px}.drop u{color:var(--accent);text-underline-offset:3px;text-decoration-thickness:1px}.drop small{color:var(--text-3);font-size:11.5px}.drop:hover,.drop.over{border-color:var(--accent);background:radial-gradient(120% 80% at 50% 0,#34e3a824,#0000 70%)}.muted{color:var(--text-2);font-size:12.5px;line-height:1.55}.muted:empty{display:none}.error{color:var(--danger)}.hint-box{border-radius:var(--r);color:var(--text-2);background:#4f8dff12;border:1px solid #4f8dff2e;padding:10px 12px}kbd{min-width:20px;font-family:var(--font-mono);text-align:center;color:var(--text);background:var(--surface-2);border:1px solid var(--line-2);border-bottom-width:2px;border-radius:5px;padding:1px 6px;font-size:10.5px;line-height:16px;display:inline-block}#info{font-family:var(--font-mono);color:var(--text);background:var(--bg-0);border:1px solid var(--line);border-radius:var(--r);padding:10px 12px;font-size:12px}#repair:not(:empty){padding-left:2px}#status:not(:empty){border-radius:var(--r);background:var(--surface);border:1px solid var(--line);font-family:var(--font-mono);color:var(--text);padding:10px 12px;font-size:12px}body.splitting #status{position:relative;overflow:hidden}body.splitting #status:after{content:"";background:var(--grad);height:2px;animation:progress 1.4s var(--ease) infinite;transform-origin:0;position:absolute;bottom:0;left:0;right:0}@keyframes progress{0%{transform:translate(-100%)scaleX(.4)}to{transform:translate(100%)scaleX(.4)}}details.adv{border-top:1px solid var(--line);padding-top:10px}details.adv>summary{cursor:pointer;color:var(--text-2);align-items:center;gap:8px;font-size:12.5px;font-weight:500;list-style:none;display:flex}details.adv>summary::-webkit-details-marker{display:none}details.adv>summary:hover{color:var(--text)}details.adv>summary .chev{transition:transform .2s var(--ease);width:16px;height:16px;margin-left:auto}details.adv[open]>summary{margin-bottom:12px}details.adv[open]>summary .chev{transform:rotate(180deg)}#parts,#pfParts{background:var(--bg-0);border:1px solid var(--line);border-radius:var(--r);scrollbar-width:thin;max-height:260px;margin:0;padding:4px;font-size:12.5px;list-style:none;overflow-y:auto}#parts li,#pfParts .pf-head{border-radius:var(--r-sm);cursor:pointer;align-items:center;gap:10px;padding:7px 8px;transition:background .12s;display:flex}#parts li:hover,#pfParts li:hover{background:#ffffff0a}#parts li.selected,#pfParts li.selected{background:var(--accent-soft);box-shadow:inset 2px 0 0 var(--accent)}#parts li b,#pfParts li b{font-family:var(--font-mono);font-weight:500}#parts li .muted,#pfParts li .muted{font-size:11.5px}#parts li input,#pfParts .pf-head input{width:16px;height:16px;accent-color:var(--accent);flex:none;padding:0}#parts i,#pfParts i,#curves i,#extracts i{border-radius:3px;flex:none;width:10px;height:10px;display:inline-block;box-shadow:0 0 8px}#pfParts{max-height:360px}#pfParts li{border-radius:var(--r-sm);padding:2px 0 8px}#pfParts .pf-opts{grid-template-columns:repeat(2,minmax(0,1fr)) auto;gap:6px;padding:0 8px 0 34px;display:grid}#pfParts .pf-opts label{gap:2px;font-size:11px}#pfParts .pf-opts select{padding:4px 6px;font-size:12px}#pfParts .pf-opts button{align-self:end}#curves,#extracts{gap:6px;margin:0;padding:0;font-size:12.5px;list-style:none;display:grid}#curves:empty,#extracts:empty{display:none}#curves li,#extracts li{background:var(--bg-0);border:1px solid var(--line);border-radius:var(--r);align-items:center;gap:10px;padding:8px 10px;display:flex}#curves li .muted,#extracts li .muted{flex:1;font-size:11.5px}#curves li button,#extracts li button{min-height:28px;color:var(--danger);box-shadow:none;background:0 0;border:1px solid #ff6b7a4d;padding:0 10px;font-size:12px}#selTools:not([hidden]){flex-direction:column;gap:10px;display:flex}#quotetable{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:12.5px}#quotetable td{border-bottom:1px solid var(--line);color:var(--text-2);padding:7px 0}#quotetable td:last-child{text-align:right;color:var(--text);font-family:var(--font-mono);font-size:12px}#quotetable tr.total td{color:var(--text);border-bottom:0;padding-top:12px;font-size:15px;font-weight:700}#quotetable tr.total td:last-child{background:var(--grad);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:16px}#view{touch-action:none;background:radial-gradient(60% 50% at 50% 40%, #34e3a812, transparent 70%), radial-gradient(80% 70% at 80% 100%, #4f8dff14, transparent 70%), var(--bg-0);grid-area:view;position:relative;overflow:hidden}#view:after{content:"";pointer-events:none;background:radial-gradient(120% 100%,#0000 55%,#0000008c);position:absolute;inset:0}#view canvas{outline:none;display:block}#views{z-index:5;background:var(--glass);-webkit-backdrop-filter:blur(14px)saturate(140%);border-radius:var(--r-lg);box-shadow:var(--shadow);flex-direction:column;gap:2px;padding:5px;display:flex;position:absolute;top:16px;right:16px}#views .tool{width:40px;height:40px;min-height:0;color:var(--text-2);box-shadow:none;border-radius:var(--r);background:0 0;border:1px solid #0000;padding:0}#views .tool .i{width:20px;height:20px}#views .tool:hover{color:var(--text);box-shadow:none;background:#ffffff0f}#views .tool.active{color:var(--accent);background:var(--accent-soft);border-color:#34e3a84d}#views .sep{background:var(--line-2);height:1px;margin:4px 6px}.hud{z-index:4;pointer-events:none;justify-content:space-between;align-items:center;gap:12px;display:flex;position:absolute;bottom:16px;left:16px;right:16px}.hud-item{color:var(--text-2);background:var(--glass);-webkit-backdrop-filter:blur(12px);box-shadow:var(--shadow);border-radius:99px;align-items:center;gap:8px;padding:7px 12px;font-size:11.5px;display:inline-flex}.hud-item .i{width:15px;height:15px}.touch-only{display:none}@media (hover:none) and (pointer:coarse){.mouse-only{display:none}.touch-only{display:inline-flex}}.axes-legend{background:var(--glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow);border-radius:99px;gap:4px;padding:5px;display:inline-flex}.axes-legend i{font-style:normal;font-family:var(--font-mono);color:#0b0f15;background:var(--x);border-radius:50%;place-items:center;width:22px;height:22px;font-size:10.5px;font-weight:700;display:grid}.axes-legend .ax-y{background:var(--y)}.axes-legend .ax-z{background:var(--z)}.empty{z-index:3;text-align:center;width:min(620px,100% - 32px);animation:rise .8s .15s var(--ease) both;flex-direction:column;align-items:center;gap:12px;display:flex;position:absolute;bottom:13%;left:50%;translate:-50%}body.has-model .empty,body:not(.has-model) :is(#views,.hud){display:none}.empty h2{font-family:var(--font-display);letter-spacing:-.035em;text-wrap:balance;margin:0;font-size:clamp(26px,3.4vw,42px);font-weight:600;line-height:1.05}.empty h2 em{background:var(--grad);color:#0000;-webkit-background-clip:text;background-clip:text;font-style:normal}.empty p{color:var(--text-2);text-wrap:pretty;max-width:480px;margin:0;font-size:14.5px}.empty-cta{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:6px;display:flex}.empty-cta>*{border-radius:var(--r-lg);min-height:46px;padding:0 20px;font-size:14.5px}.empty-cta .ghost{background:var(--glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.empty-steps{counter-reset:es;grid-template-columns:repeat(4,1fr);gap:8px;width:100%;margin:14px 0 0;padding:0;list-style:none;display:grid}.empty-steps li{counter-increment:es;border-radius:var(--r-lg);background:var(--glass);-webkit-backdrop-filter:blur(10px);box-shadow:var(--shadow);flex-direction:column;align-items:center;gap:3px;padding:12px 8px;font-size:12.5px;display:flex;position:relative}.empty-steps li:before{content:"0" counter(es);font-family:var(--font-mono);color:var(--text-3);font-size:10px;position:absolute;top:8px;left:10px}.empty-steps .i{color:var(--accent);width:20px;height:20px;margin-bottom:3px}.empty-steps span{color:var(--text-3);font-size:11px}.dropzone{z-index:8;border:2px dashed var(--accent);border-radius:var(--r-xl);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:none;background:#07090d99;place-items:center;display:none;position:absolute;inset:12px}.dropzone>div{font-family:var(--font-display);color:var(--accent);flex-direction:column;align-items:center;gap:10px;font-size:20px;display:flex}body.dragging .dropzone{display:grid}[data-tip]{position:relative}[data-tip]:after{content:attr(data-tip);border-radius:var(--r-sm);color:var(--text);box-shadow:0 8px 24px #00000080, 0 0 0 1px var(--line-2);font-family:var(--font);white-space:nowrap;letter-spacing:0;opacity:0;pointer-events:none;z-index:50;transition:opacity .15s, transform .15s var(--ease);background:#1b2230;padding:6px 10px;font-size:11.5px;font-weight:500;line-height:1.35;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%,-4px)}[data-tip]:hover:after,[data-tip]:focus-visible:after{opacity:1;transition-delay:.35s;transform:translate(-50%)}[data-tip-pos=left]:after{top:50%;left:auto;right:calc(100% + 10px);transform:translate(4px,-50%)}[data-tip-pos=left]:hover:after,[data-tip-pos=left]:focus-visible:after{transform:translateY(-50%)}[data-tip-pos=bottom-end]:after{left:auto;right:0;transform:translateY(-4px)}[data-tip-pos=bottom-end]:hover:after{transform:none}#steps button[data-tip]:after{top:calc(100% + 10px)}@media (hover:none){[data-tip]:after{display:none}}dialog{border-radius:var(--r-xl);background:var(--surface);color:var(--text);width:min(720px,100% - 32px);max-height:calc(100dvh - 48px);box-shadow:0 30px 80px #0009, 0 0 0 1px var(--line-2);border:0;padding:0}dialog[open]{animation:pop .25s var(--ease)}@keyframes pop{0%{opacity:0;transform:scale(.97)translateY(8px)}}dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#03050899}dialog form{flex-direction:column;gap:18px;padding:22px;display:flex}dialog header{justify-content:space-between;align-items:center;display:flex}dialog h2{font-family:var(--font-display);align-items:center;gap:10px;margin:0;font-size:19px;font-weight:600;display:flex}dialog h2 .i{color:var(--accent);width:22px;height:22px}dialog .icon-btn{box-shadow:none;min-height:0}.kb-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.kb-grid section{gap:8px;padding:14px}.kb-grid h3{letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-size:11px;font-family:var(--font-mono);margin:0;font-weight:500}.kb-grid dl{grid-template-columns:auto 1fr;align-items:center;gap:8px 14px;margin:0;font-size:12.5px;display:grid}.kb-grid dt{color:var(--text);white-space:nowrap}.kb-grid dd{color:var(--text-2);text-align:right;margin:0}@media (width<=1180px){:root{--panel-w:340px}.step-text small{display:none}.brand{width:auto}}@media (width<=960px){:root{--top-h:56px}body{grid-template-columns:1fr;grid-template-areas:"top""view"}#topbar{gap:12px;padding:0 12px}.badge{display:none}#steps{justify-content:flex-end;gap:2px}#steps button{padding:5px}#steps button+button{margin-left:10px}#steps button+button:before{width:8px;left:-10px}.step-text{display:none}#steps button.active .step-text{padding-right:6px;display:flex}#panel{z-index:15;border-right:0;border-top:1px solid var(--line-2);border-radius:var(--r-xl) var(--r-xl) 0 0;-webkit-backdrop-filter:blur(18px);height:min(62dvh,640px);transition:transform .35s var(--ease);background:#0b0f15f0;padding-top:0;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -20px 50px #00000080}body.sheet-collapsed #panel{overflow:hidden;transform:translateY(calc(100% - 92px))}.sheet-handle{z-index:3;width:auto;min-height:30px;box-shadow:none;background:linear-gradient(#0b0f15fa 60%,#0000);border-radius:0;justify-content:center;align-items:center;margin:0 -16px;padding:0;display:flex;position:sticky;top:0}.sheet-handle span{background:var(--line-2);border-radius:99px;width:42px;height:5px}.sheet-handle:hover:not(:disabled){box-shadow:none}.step-intro{padding-top:0}.step-intro h1{font-size:19px}#view{grid-area:view}#views{flex-direction:row;max-width:calc(100% - 20px);top:10px;right:50%;overflow-x:auto;translate:50%}#views .sep{width:1px;height:auto;margin:6px 4px}#views [data-tip]:after{display:none}#views .tool{width:38px;height:38px}.hud{transition:bottom .35s var(--ease);bottom:calc(min(62dvh,640px) + 12px)}body.sheet-collapsed .hud{bottom:104px}.hud-item{display:none!important}.hud{justify-content:flex-end}.empty{bottom:112px}.empty-steps{display:none}}@media (width<=560px){.brand-name{display:none}.empty h2{font-size:28px}.empty p{font-size:13.5px}.empty-steps{grid-template-columns:repeat(2,1fr)}.empty-cta{width:100%}.empty-cta>*{flex:1}.kb-grid{grid-template-columns:1fr}#steps button.active .step-text small{display:none}input,select{font-size:16px}input[type=number],input[type=text]{font-size:15px}}@media (width<=380px){#steps button.active .step-text{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.brand-name small{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);margin-top:-2px;font-size:10px;font-weight:500;display:block}.lang-pick{border:1px solid var(--line);border-radius:var(--r);height:38px;color:var(--text-2);flex-direction:row;align-items:center;gap:0;transition:border-color .15s,color .15s;position:relative}.lang-pick:hover{border-color:var(--line-2);color:var(--text)}.lang-pick .i{pointer-events:none;width:17px;height:17px;position:absolute;inset-inline-start:10px}.lang-pick select{width:auto;height:36px;color:inherit;background-color:#0000;border:0;padding-inline:34px 30px;font-size:12.5px;font-weight:500}.lang-pick select:focus{box-shadow:none}[dir=rtl] select{background-position:10px}.field{flex-direction:column;gap:8px;display:flex}.field-label{color:var(--text-2);justify-content:space-between;align-items:baseline;gap:8px;font-size:12px;font-weight:500;display:flex}.field-label small{color:var(--text-3);text-align:end;font-size:11px;font-weight:400}.tpl-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.tpl{text-align:start;white-space:normal;background:var(--bg-0);min-height:0;color:var(--text);border:1px solid var(--line);border-radius:var(--r);box-shadow:none;flex-direction:column;align-items:stretch;gap:6px;padding:8px;font-weight:500;display:flex;position:relative}.tpl:hover:not(:disabled){box-shadow:none;background:#ffffff08;border-color:#94a3b866}.tpl.active{background:var(--accent-soft);border-color:#34e3a899;box-shadow:inset 0 0 0 1px #34e3a859}.tpl.active:before{content:"";top:7px;background:var(--accent);width:8px;height:8px;box-shadow:0 0 8px var(--accent);border-radius:50%;position:absolute;inset-inline-end:7px}.tpl.pop{animation:pop .3s var(--ease)}.tpl-text{flex-direction:column;gap:1px;line-height:1.25;display:flex}.tpl-text b{font-size:12.5px;font-weight:600}.tpl-text small{color:var(--text-3);opacity:1;font-size:11px;font-weight:400}.tpl-tag{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--accent-ink);background:var(--grad);border-radius:99px;align-self:flex-start;padding:1px 6px;font-size:9.5px}.tpl .tpl-tag{top:-7px;position:absolute;inset-inline-start:8px}.joint-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.joint-grid .tpl-text small{display:none}.art{direction:ltr;width:100%;height:auto;display:block;overflow:visible}.art.mini{height:46px}.art .cut{stroke:var(--warn);stroke-width:1.2px;stroke-dasharray:3 4;opacity:.55}.art .L path:first-child{fill:#34e3a833;stroke:var(--accent);stroke-width:2px;stroke-linejoin:round}.art .R{fill:#4f8dff33;stroke:var(--accent-2);stroke-width:2px;stroke-linejoin:round}.art .dw{fill:#f5a623}.art .wd{fill:#c8925a}.art .grain{stroke:#8a5a2e;stroke-width:1.2px;fill:none}.art .mn{fill:#ff5d6c}.art .ms{fill:#5b9dff}.art text{font-family:var(--font-mono);fill:var(--text-3);text-anchor:middle;font-size:11px}.art .knobs path{stroke:var(--line-2);stroke-width:5px;stroke-linecap:round}.art .knobs circle{fill:var(--surface-2);stroke:var(--accent);stroke-width:3px}.art.mini .L{transform:translate(-8px)}.art.mini .R{transform:translate(8px)}.art.mini.slide .L{transform:translateY(-10px)}.art.mini.slide .R{transform:none}.art:not(.mini) .L{animation:joinL 3.4s var(--ease) infinite}.art:not(.mini).slide .L{animation-name:slideL}.art:not(.mini) .ins{animation:dropIns 3.4s var(--ease) infinite}@keyframes joinL{0%,12%{transform:translate(-34px)}50%,82%{transform:none}to{transform:translate(-34px)}}@keyframes slideL{0%,12%{opacity:.4;transform:translateY(-46px)}50%,82%{opacity:1;transform:none}to{opacity:.4;transform:translateY(-46px)}}@keyframes dropIns{0%{opacity:0;transform:translateY(-28px)}14%{opacity:1;transform:none}to{opacity:1;transform:none}}.tpl-preview{border-radius:var(--r-lg);background:radial-gradient(120% 90% at 50% 0%, #34e3a812, transparent 70%), var(--bg-0);border:1px solid var(--line);gap:10px;padding:12px;display:grid}.tpl-preview:empty{display:none}.pv-art{padding:6px 10px 0}.pv-body{flex-direction:column;gap:8px;display:flex}.pv-head{font-family:var(--font-display);align-items:center;gap:8px;font-size:15px;display:flex}.pv-body p{color:var(--text-2);text-wrap:pretty;margin:0;font-size:12.5px;line-height:1.5}.pv-body .pv-use,.pv-body .pv-buy{color:var(--text);align-items:flex-start;gap:8px;font-size:12px;display:flex}.pv-use .i,.pv-buy .i{width:15px;height:15px;color:var(--accent);margin-top:1px}.pv-body .pv-buy{border-radius:var(--r-sm);background:#ffb54714;border:1px solid #ffb54740;padding:7px 9px}.pv-buy .i{color:var(--warn)}.pv-chips{flex-wrap:wrap;gap:5px;display:flex}.chip{font-family:var(--font-mono);border:1px solid var(--line-2);color:var(--text);border-radius:99px;padding:2px 8px;font-size:11px}.pv-rate{grid-template-columns:1fr auto;gap:4px 12px;margin:0;font-size:11.5px;display:grid}.pv-rate dt{color:var(--text-3)}.pv-rate dd{align-items:center;gap:4px;margin:0;display:flex}.pv-rate i{background:var(--line-2);border-radius:3px;width:18px;height:5px}.pv-rate i.on{background:var(--grad)}#dot{z-index:40;inset-inline-start:calc(var(--panel-w) + 18px);pointer-events:none;--px:0px;--py:0px;flex-direction:column;align-items:flex-start;gap:10px;display:flex;position:fixed;bottom:62px}#dot>*{pointer-events:auto}.dot-avatar{width:84px;height:84px;min-height:0;box-shadow:none;background:0 0;border-radius:50%;order:2;padding:0}.dot-avatar:hover:not(:disabled){box-shadow:none}.dot-avatar:hover .dot-float{scale:1.05}.dot-avatar svg{filter:drop-shadow(0 6px 18px #34e3a859);width:100%;height:100%;overflow:visible}.dot-float{transform-origin:60px 60px;transition:scale .25s var(--ease);animation:3.6s ease-in-out infinite dotBob}#dot.hop .dot-float{animation:dotHop .5s var(--ease), dotBob 3.6s .5s ease-in-out infinite}@keyframes dotBob{50%{translate:0 -4px}}@keyframes dotHop{40%{translate:0 -14px;scale:1.06 .94}}.dot-shadow{fill:#00000073}.dot-ring{fill:none;stroke:url(#dotRing);stroke-width:2.5px}.dot-ring.back{opacity:.45}.dot-spark{fill:#e8fff7;filter:drop-shadow(0 0 4px #34e3a8)}.dot-slice{stroke:#d9fff2;stroke-width:1.6px;opacity:.7;transition:opacity .3s}.dot-top,.dot-bot{transition:transform .45s var(--ease);transform-origin:60px 60px}.dot-pupil{fill:#06121a;transform:translate(var(--px), var(--py));transition:transform .12s}.dot-eyes{transform-origin:60px 47px;transition:transform 80ms}.blink .dot-eyes{transform:scaleY(.1)}.dot-happy,.dot-closed{fill:none;stroke:#06121a;stroke-width:3.2px;stroke-linecap:round;display:none}.dot-mouth{fill:none;stroke:#06121a;stroke-width:3px;stroke-linecap:round;display:none}.dot-mouth.talk,.dot-mouth.wow{fill:#06121a;stroke:none}.dot-z{font-family:var(--font-display);fill:var(--accent);opacity:0;font-size:16px;font-weight:700}#dot[data-mood=idle] .smile,#dot[data-mood=happy] .smile,#dot[data-mood=talk] .talk,#dot[data-mood=wow] .wow,#dot[data-mood=think] .flat,#dot[data-mood=sleep] .flat{display:block}#dot[data-mood=happy] .dot-eyes,#dot[data-mood=sleep] .dot-eyes{display:none}#dot[data-mood=happy] .dot-happy,#dot[data-mood=sleep] .dot-closed{display:block}#dot[data-mood=sleep] .dot-z{animation:2.4s ease-in-out infinite dotZ}#dot[data-mood=sleep] .dot-float{animation-duration:5s}#dot[data-mood=think] .dot-pupil{transform:translate(2.5px,-3.5px)}#dot[data-mood=wow] .dot-eyes{transform:scale(1.12)}@keyframes dotZ{0%{opacity:0;transform:translateY(6px)}40%{opacity:1}to{opacity:0;transform:translate(8px,-10px)}}#dot.splitting .dot-top{transform:translateY(-7px)rotate(-4deg)}#dot.splitting .dot-bot{transform:translateY(5px)}#dot.splitting .dot-slice{opacity:1;stroke:var(--warn)}.dot-bubble{border-radius:var(--r-lg);-webkit-backdrop-filter:blur(16px);width:min(330px,100vw - 32px);animation:pop .25s var(--ease);background:#10151df2;flex-direction:column;order:1;gap:10px;padding:12px 14px;display:flex;position:relative;box-shadow:0 20px 50px -12px #000000b3,0 0 0 1px #34e3a847}.dot-bubble:after{content:"";bottom:-7px;background:#10151d;width:14px;height:14px;position:absolute;inset-inline-start:34px;transform:rotate(45deg);box-shadow:1px 1px #34e3a847}.dot-head{align-items:center;gap:4px;display:flex}.dot-name{flex:1;align-items:baseline;gap:8px;display:flex}.dot-name b{font-family:var(--font-display);background:var(--grad);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:15px}.dot-name small{color:var(--text-3);font-size:11px}.dot-icon{width:30px;height:30px;min-height:0;color:var(--text-2);box-shadow:none;border-radius:var(--r-sm);background:0 0;padding:0}.dot-icon:hover:not(:disabled){color:var(--text);box-shadow:none;background:#ffffff0f}.dot-icon .i{width:16px;height:16px}.dot-say{color:var(--text);text-wrap:pretty;margin:0;font-size:13.5px;line-height:1.55}.dot-say.typing{animation:rise .4s var(--ease)}.dot-actions{flex-wrap:wrap;gap:6px;display:flex}.dot-actions:empty,.dot-steps:empty{display:none}.dot-steps{font-family:var(--font-mono);color:var(--text-3);text-align:end;margin-top:-4px;font-size:10.5px}.dot-spot{z-index:35;pointer-events:none;border-radius:var(--r-lg);border:2px solid var(--accent);transition:transform .35s var(--ease), width .35s var(--ease), height .35s var(--ease);position:fixed;top:0;left:0;box-shadow:0 0 0 9999px #0305088c,0 0 24px #34e3a88c}@media (width<=960px){#dot{inset-inline-start:10px;bottom:auto;top:calc(var(--top-h) + 10px)}.dot-avatar{order:0;width:60px;height:60px}.dot-bubble:after{top:-7px;bottom:auto;inset-inline-start:22px;box-shadow:-1px -1px #34e3a847}.lang-pick{width:38px}.lang-pick select{color:#0000;background-image:none;width:38px;padding:0}.lang-pick select option{color:var(--text)}}
