:root{--purple:#251c35;--gold:#e9a83b;--terra:#c85d49;--lilac:#a57abb;--bg:#120d1b;--glass:#251c356b;--glass-strong:#1f172d9e;--blur:blur(28px) saturate(170%);--line:#ffffff1f;--text:#f3eef7;--muted:#aa9fbb;--accent:var(--gold);--accent-ink:var(--purple);--danger:#e2745e;--radius:999px;--dock-h:68px;--top:calc(66px + var(--safe-t));--top-photo:calc(12px + var(--safe-t));--safe-b:env(safe-area-inset-bottom,0px);--safe-t:env(safe-area-inset-top,0px);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text);-webkit-tap-highlight-color:transparent;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:14px}*{box-sizing:border-box}html,body{background:var(--bg);overscroll-behavior:none;height:100%;margin:0;overflow:hidden}#app{-webkit-user-select:none;user-select:none;position:fixed;inset:0}#scene{touch-action:none;outline:none;width:100%;height:100%;display:block}button,input,select,textarea,.tab,.ibtn,.btn,.chip,.segmented button,.toggle,.menu-item,.card,.panel-grip,.num-step{touch-action:manipulation}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}button:disabled{opacity:.35;cursor:default}:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.tab:focus-visible,.btn:focus-visible,.ibtn:focus-visible,.chip:focus-visible,.card:focus-visible,.menu-item:focus-visible,.num-step:focus-visible,.shutter:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn.primary:focus-visible,.ibtn.active:focus-visible,.chip.active:focus-visible{outline-offset:2px;outline:2px solid #fff}.num-field:focus-within{border-color:var(--accent)}.tab:active,.btn:active:not(:disabled),.ibtn:active:not(:disabled),.chip:active,.segmented button:active,.card:active,.num-step:active{transition:transform 60ms ease-out;transform:scale(.95)}.tab:active{background:#ffffff1f}.btn:active:not(:disabled){filter:brightness(.92)}.btn.primary:active:not(:disabled){filter:brightness(.9)}.ibtn{min-width:42px;height:42px;color:var(--text);border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:0 10px;transition:background .15s,color .15s,transform 80ms;display:inline-flex}.ibtn:hover:not(:disabled){background:#ffffff14}.ibtn.active{background:var(--accent);color:var(--accent-ink)}.ibtn.accent{color:var(--accent)}.ibtn.danger{color:var(--danger)}.ibtn span{font-size:13px;font-weight:500}.ibtn.mini{min-width:32px;height:32px;color:var(--muted);padding:0}.btn{border:1px solid var(--line);background:#ffffff12;border-radius:999px;flex:1;justify-content:center;align-items:center;gap:8px;height:42px;padding:0 16px;font-weight:500;transition:background .15s,border-color .15s,transform 80ms;display:inline-flex}.btn:hover{background:#ffffff1f}.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:#0000;font-weight:600}.btn.ghost{background:0 0}.btn.small{height:38px;padding:0 12px;font-size:13px}.btn.danger{color:var(--danger)}.btn.wide{width:100%}.brand,.top-actions,.dock,.ctx-bubble,.ctx-sub{border-radius:var(--radius);background:var(--glass);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur)}.dock,.ctx-bubble,.ctx-sub{border:1px solid var(--line)}.topbar{top:calc(10px + var(--safe-t));pointer-events:none;z-index:5;justify-content:space-between;align-items:center;gap:12px;display:flex;position:absolute;left:10px;right:10px}.topbar>*{pointer-events:auto}.brand{cursor:pointer;border:1px solid #0000;flex:none;align-items:center;gap:6px;padding:6px 10px 6px 16px;display:flex}.brand:hover,.brand.open{border-color:var(--line)}.brand.open svg.lucide{transform:rotate(180deg)}.brand img{filter:drop-shadow(0 2px 6px #00000059);width:auto;height:32px;display:block}.brand .brand-icon{height:28px;display:none}.top-actions{min-width:0;max-width:calc(100% - var(--brand-width,68px) - 12px);scrollbar-width:none;overscroll-behavior-x:contain;touch-action:pan-x;flex:none;gap:2px;padding:4px;display:flex;overflow-x:auto}.top-actions>*{flex:none}.top-actions::-webkit-scrollbar{display:none}.dock{left:50%;bottom:calc(12px + var(--safe-b));z-index:6;gap:2px;padding:5px;display:flex;position:absolute;transform:translate(-50%)}.tab{width:76px;height:56px;color:var(--muted);border-radius:999px;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:11.5px;transition:background .15s,color .15s,transform 80ms;display:flex}.tab:hover{color:var(--text)}.tab.active{color:#fff;background:linear-gradient(160deg,#a57abb73,#251c358c)}.selbar{top:var(--top);border-radius:var(--radius);background:var(--glass);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--line);opacity:0;pointer-events:none;z-index:5;align-items:center;gap:6px;max-width:calc(100vw - 20px);padding:5px;transition:opacity .18s,transform .18s;display:flex;position:absolute;left:50%;transform:translate(-50%,-8px)}.selbar.show{opacity:1;pointer-events:auto;transform:translate(-50%)}.sel-name{color:var(--muted);white-space:nowrap;align-items:center;gap:6px;max-width:160px;padding:0 8px 0 10px;display:flex}.sel-name span{text-overflow:ellipsis;color:var(--text);overflow:hidden}.sel-tools{align-items:center;gap:2px;display:flex}.sep{background:var(--line);width:1px;height:24px;margin:0 4px}.panel{right:10px;top:var(--top);bottom:calc(var(--dock-h) + 24px + var(--safe-b));background:var(--glass-strong);width:340px;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--line);opacity:0;pointer-events:none;will-change:transform, opacity;z-index:7;box-sizing:border-box;border-radius:32px;flex-direction:column;transition:opacity .22s cubic-bezier(.16,1,.3,1),transform .22s cubic-bezier(.16,1,.3,1);display:flex;position:absolute;overflow:clip;transform:translate(18px)scale(.98);box-shadow:0 24px 60px #00000059,inset 0 1px #ffffff14}.panel.show{opacity:1;pointer-events:auto;transform:none}.panel-head{justify-content:space-between;align-items:center;padding:8px 8px 4px 18px;display:flex}.panel-grip{display:none}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.panel-head h2{text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;font-size:16px;font-weight:600;overflow:hidden}.panel-body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;box-sizing:border-box;flex:1;min-height:0;padding:4px 16px 18px;overflow:hidden auto}.panel-body>.row:first-child{margin-top:8px}.sec{border-bottom:1px solid var(--line);padding:12px 0}.sec:last-child{border-bottom:0}.sec h3{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 10px;font-size:11.5px;font-weight:600}.sec>*+*{margin-top:10px}.row{flex-wrap:wrap;gap:8px;display:flex}.hint{color:var(--muted);margin:10px 0;font-size:12.5px;line-height:1.45}.stats{color:var(--muted);margin:0;font-size:12px}.slider-head{justify-content:space-between;align-items:baseline;margin-bottom:2px;display:flex}.slider label{font-size:13px}.slider output{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}input[type=range]{appearance:none;touch-action:pan-y;background:0 0;width:100%;height:28px;margin:0}input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(to right, var(--accent) var(--val-pct,0%), #ffffff24 var(--val-pct,0%));border-radius:5px;height:5px}input[type=range]::-moz-range-track{background:linear-gradient(to right, var(--accent) var(--val-pct,0%), #ffffff24 var(--val-pct,0%));border-radius:5px;height:5px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--accent);border:3px solid var(--purple);border-radius:50%;width:22px;height:22px;margin-top:-8.5px;transition:transform .12s cubic-bezier(.2,0,0,1),box-shadow .12s ease-out;box-shadow:0 0 0 1px #e9a83b73,0 2px 6px #0000004d}input[type=range]:active::-webkit-slider-thumb{transform:scale(1.3);box-shadow:0 0 0 4px #e9a83b59,0 3px 10px #00000080}.slider-track.dragging input[type=range]::-webkit-slider-thumb{transform:scale(1.3);box-shadow:0 0 0 4px #e9a83b59,0 3px 10px #00000080}input[type=range]::-moz-range-thumb{background:var(--accent);border:3px solid var(--purple);border-radius:50%;width:18px;height:18px}.color,.toggle{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;min-height:36px;font-size:13px;display:flex;position:relative}.select{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;min-height:36px;font-size:13px;display:flex}.color input{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:999px;width:44px;height:30px;padding:2px}.color input::-webkit-color-swatch-wrapper{padding:0}.color input::-webkit-color-swatch{border:0;border-radius:999px}.toggle input{opacity:0;pointer-events:none;width:1px;height:1px;margin:0;padding:0;position:absolute;top:0;left:0}.toggle i{background:#ffffff29;border-radius:26px;flex:none;width:44px;height:26px;transition:background .2s;position:relative}.toggle i:after{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .24s cubic-bezier(.34,1.4,.64,1),width .15s,background .2s;position:absolute;top:3px;left:3px;box-shadow:0 2px 4px #00000040}.toggle:active i:after{width:23px}.toggle input:checked+i{background:var(--accent)}.toggle input:checked+i:after{background:var(--purple);transform:translate(18px)}.select select,input.name{font:inherit;color:var(--text);border:1px solid var(--line);background:#ffffff12;border-radius:999px;min-width:0;height:36px;padding:0 10px}.select select{max-width:60%}.select select option{background:var(--purple);color:var(--text)}input.name{-webkit-user-select:text;user-select:text;width:100%}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--line);white-space:nowrap;background:#ffffff12;border-radius:34px;height:34px;padding:0 13px;font-size:13px;transition:background .15s,color .15s,border-color .15s,transform 80ms ease-out}.chip:hover{background:#ffffff1f}.chip.active{background:var(--accent);color:var(--accent-ink);border-color:#0000;font-weight:600}.grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.card{border:1px solid var(--line);background:#ffffff0f;border-radius:20px;height:52px;padding:0 6px;font-size:13px}.card:hover{background:#ffffff1c;border-color:#e9a83b80}.upload{width:100%;color:var(--accent);background:#e9a83b0f;border:1.5px dashed #e9a83b8c;border-radius:26px;flex-direction:column;align-items:center;gap:6px;padding:20px 12px;display:flex}.upload b{color:var(--text)}.upload small{color:var(--muted);font-size:11px;line-height:1.5}.outliner{margin:0;padding:0;list-style:none}.outliner li{cursor:pointer;min-height:42px;color:var(--muted);border-radius:999px;align-items:center;gap:10px;padding:0 4px 0 10px;display:flex}.outliner li span{min-width:0;color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.outliner li:hover{background:#ffffff0d}.outliner li.active{color:var(--accent);background:#a57abb42}.swatch{border:1px solid var(--line);border-radius:50%;width:14px;height:14px;margin-right:8px}.empty{text-align:center;background:var(--glass);width:min(360px,100vw - 40px);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--line);z-index:4;border-radius:32px;padding:26px 24px;display:none;position:absolute;top:46%;left:50%;transform:translate(-50%,-50%)}.empty.show{display:block}.empty h2{margin:0 0 6px;font-size:20px}.empty p{color:var(--muted);margin:0 0 16px;line-height:1.45}.empty .btn{width:100%;margin-top:6px}.loader{left:50%;top:var(--top);background:var(--glass-strong);border:1px solid var(--line);z-index:9;white-space:nowrap;border-radius:30px;align-items:center;gap:10px;padding:10px 16px;display:none;position:absolute;transform:translate(-50%)}.loader.show{display:flex}.spinner{border:2px solid #fff3;border-top-color:var(--accent);border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.toasts{left:50%;bottom:calc(var(--dock-h) + 30px + var(--safe-b) + var(--ctx-lift,0px));z-index:20;pointer-events:none;flex-direction:column;align-items:center;gap:8px;width:min(460px,100vw - 32px);display:flex;position:absolute;transform:translate(-50%)}.toast{background:var(--glass-strong);border:1px solid var(--line);text-align:center;border-radius:20px;max-width:100%;padding:10px 16px;line-height:1.35;transition:opacity .4s,transform .4s;animation:.2s ease-out pop}.toast.error{color:#ffd9cf;border-color:#c85d49a6}.toast.out{opacity:0;transform:translateY(8px)}@keyframes pop{0%{opacity:0;transform:translateY(8px)}}.dropzone{border:2px dashed var(--accent);color:var(--accent);z-index:30;pointer-events:none;background:#120d1bbf;border-radius:40px;flex-direction:column;justify-content:center;align-items:center;font-size:18px;display:none;position:absolute;inset:12px}.dropzone.show{display:flex}body.photo .topbar,body.photo .dock{display:none}body.photo .panel{top:var(--top-photo);bottom:calc(150px + var(--safe-b))}.frame{pointer-events:none;z-index:1;background-image:linear-gradient(90deg,#0000 calc(33.33% - .5px),#ffffff2e calc(33.33% - .5px) calc(33.33% + .5px),#0000 calc(33.33% + .5px) calc(66.66% - .5px),#ffffff2e calc(66.66% - .5px) calc(66.66% + .5px),#0000 calc(66.66% + .5px)),linear-gradient(#0000 calc(33.33% - .5px),#ffffff2e calc(33.33% - .5px) calc(33.33% + .5px),#0000 calc(33.33% + .5px) calc(66.66% - .5px),#ffffff2e calc(66.66% - .5px) calc(66.66% + .5px),#0000 calc(66.66% + .5px));display:none;position:absolute;box-shadow:0 0 0 100vmax #0000008c}.frame.show{display:block}.photo-hud{display:contents}.hud-exit{top:var(--top-photo);z-index:8;position:absolute;left:12px}.hud-bottom{left:50%;bottom:calc(14px + var(--safe-b));z-index:8;flex-direction:column;align-items:center;gap:12px;width:max-content;max-width:calc(100vw - 20px);display:flex;position:absolute;transform:translate(-50%)}.hud-bottom .chips{background:var(--glass);max-width:100%;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);scrollbar-width:none;border-radius:40px;flex-wrap:nowrap;padding:5px;overflow-x:auto}.hud-bottom .chip{background:0 0;border:0;height:30px}.hud-bottom .chip.active{background:var(--accent)}.hud-row{align-items:center;gap:28px;display:flex}.shutter{background:#00000040;border:4px solid #fff;border-radius:50%;place-items:center;width:74px;height:74px;display:grid}.shutter i{background:#fff;border-radius:50%;width:56px;height:56px;transition:transform .12s}.shutter:active i{background:var(--accent);transform:scale(.88)}.flash{z-index:40;pointer-events:none;background:#fff;animation:.45s ease-out forwards flash;position:absolute;inset:0}@keyframes flash{0%{opacity:.85}to{opacity:0}}@media (width>=761px){body.panel-open .selbar,body.panel-open .loader{left:calc(50% - 180px)}}@media (width>=761px) and (width<=1240px){body.panel-open .selbar .ibtn.tool span,body.panel-open .selbar .sel-name:not(.always){display:none}}@media (width<=760px){:root{--dock-h:62px}.brand{padding:4px 6px 4px 4px}.brand .brand-lettering{display:none}.brand .brand-icon{display:block}.top-actions .ibtn{min-width:36px;padding:0 6px}.dock{left:8px;right:8px;bottom:calc(8px + var(--safe-b));justify-content:space-between;transform:none}.tab{flex:1;width:auto;height:52px;font-size:10.5px}.panel{width:auto;top:auto;left:8px;right:8px;bottom:calc(var(--dock-h) + 16px + var(--safe-b));height:var(--sheet-height,48vh);max-height:var(--ctx-panel-max,calc(100dvh - var(--top) - var(--dock-h) - 32px - var(--safe-b)));opacity:0;pointer-events:none;will-change:transform, opacity, height;box-sizing:border-box;transition:transform .2s cubic-bezier(.16,1,.3,1),opacity .18s ease-out,height .24s cubic-bezier(.16,1,.3,1);overflow:clip;transform:translateY(14px)scale(.98)}.panel.show{opacity:1;pointer-events:auto;transform:none}body.photo .panel{top:auto;bottom:calc(160px + var(--safe-b));max-height:calc(100dvh - 230px - var(--safe-b))}.panel-grip{width:100%;color:var(--lilac);cursor:ns-resize;touch-action:none;background:0 0;border:0;border-radius:32px 32px 0 0;flex:0 0 36px;place-items:center;padding:0;display:grid}.panel-grip:after{content:"";opacity:.6;background:currentColor;border-radius:4px;width:38px;height:4px;transition:width .18s cubic-bezier(.2,0,0,1),opacity .18s}.panel-grip:active:after,.panel.sheet-dragging .panel-grip:after{opacity:1;width:48px}body{--safe-b:calc(env(safe-area-inset-bottom,0px) + var(--keyboard-inset,0px))}.panel-grip:focus-visible{outline:2px solid var(--gold);outline-offset:-4px}.panel.sheet-dragging{transition:none}.panel>.panel-head,.panel>.segmented,.panel>.panel-foot{flex-shrink:0}.selbar{top:calc(64px + var(--safe-t));padding:4px}.sel-name{display:none}.sel-tools .ibtn{gap:4px;min-width:36px;padding:0 5px}.sel-tools .sep{margin:0 2px}.selbar{scrollbar-width:none;overflow-x:auto}.selbar::-webkit-scrollbar{display:none}.sel-name.measure,.sel-name.always{display:flex}.sel-name.always{max-width:120px;padding:0 4px 0 8px}.sel-name.always svg{display:none}.toasts{bottom:calc(var(--dock-h) + 24px + var(--safe-b))}}svg.lucide{stroke:#fff;flex:none}button:disabled svg.lucide{opacity:.6}.menu{top:calc(var(--top) + 2px);width:300px;max-width:calc(100vw - 20px);max-height:calc(100dvh - var(--top) - 12px);box-sizing:border-box;background:var(--glass-strong);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--line);z-index:12;opacity:0;pointer-events:none;border-radius:28px;padding:10px;transition:opacity .18s cubic-bezier(.16,1,.3,1),transform .18s cubic-bezier(.16,1,.3,1);position:absolute;left:10px;overflow:hidden auto;transform:translateY(-8px)scale(.97);box-shadow:0 24px 60px #00000059,inset 0 1px #ffffff14}.menu.show{opacity:1;pointer-events:auto;transform:none}.menu-name{color:var(--muted);flex-direction:column;gap:6px;padding:4px 6px 10px;font-size:12px;display:flex}.menu-item{text-align:left;border-radius:999px;align-items:center;gap:12px;width:100%;height:46px;padding:0 16px;display:flex}.menu-item:hover{background:#ffffff14}.menu-item span{flex:1}.menu-item.described{border-radius:18px;height:auto;min-height:46px;padding-block:10px}.menu-item.described svg{flex-shrink:0}.menu-item small{color:var(--muted);margin-top:4px;font-size:12px;line-height:1.4;display:block}.menu-item kbd{font:inherit;color:var(--muted);font-size:11px}.menu .hint{margin:8px 10px 4px}.empty .saved-at{color:var(--muted);margin:6px 0 18px;font-size:12px;display:block}.mlabels{pointer-events:none;z-index:2;position:absolute;inset:0;overflow:hidden}.mlabel{-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);color:#f5c871;font-variant-numeric:tabular-nums;white-space:nowrap;pointer-events:auto;cursor:pointer;background:#251c35bf;border:1px solid #e9a83b99;border-radius:999px;align-items:center;gap:2px;padding:4px 10px;font-size:12.5px;font-weight:600;display:flex;position:absolute;top:0;left:0}.mlabel.active{border-color:var(--gold);padding-right:4px}.mlabel .ibtn.mini{min-width:28px;height:28px}.ibtn.mini.active{color:inherit;background:#ffffff29}.sel-name.measure,.sel-name.measure span{color:#f5c871}.dims{box-sizing:border-box;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%;display:grid}.dims .num-step{display:none}.dims .num-field{padding:0 8px}.num{color:var(--muted);flex-direction:column;gap:4px;min-width:0;font-size:12px;display:flex}.num-label{cursor:ew-resize;-webkit-user-select:none;user-select:none;touch-action:pan-y;transition:color .15s}.num-label:hover{color:var(--text)}.num-field{border:1px solid var(--line);box-sizing:border-box;background:#ffffff12;border-radius:999px;align-items:center;gap:2px;min-width:0;height:36px;padding:0 4px;display:flex}.num-step{width:26px;height:26px;color:var(--muted);cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;background:0 0;border:0;border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;font-size:15px;font-weight:600;transition:background .12s,color .12s,transform 60ms;display:flex}.num-step:hover{color:var(--text);background:#ffffff14}.num-step:active{color:var(--text);background:#ffffff29;transform:scale(.9)}.num-field input{width:100%;min-width:0;font:inherit;color:var(--text);-webkit-user-select:text;user-select:text;-moz-appearance:textfield;text-align:center;background:0 0;border:0;outline:none;flex:1;font-size:13px}.num-field input::-webkit-inner-spin-button{-webkit-appearance:none}.num-field em{color:var(--muted);font-size:11px;font-style:normal}.guide{background:#a57abb14;border:1px solid #a57abb66;border-radius:20px;padding:10px}.guide>*+*{margin-top:8px}.guide-head{align-items:flex-end;gap:6px;display:flex}.guide-head .num{flex:1}.align-grid{grid-template-columns:auto repeat(3,minmax(0,1fr));align-items:center;gap:6px;display:grid}.align-grid>span{color:var(--muted);padding-right:6px;font-size:12px}.ibtn.boxed{border:1px solid var(--line);background:#ffffff12;width:100%}.sec h4{color:var(--muted);margin:14px 0 0;font-size:12px;font-weight:600}.sel-name.wide{max-width:280px}.glabel{min-height:34px;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);color:#dcc4ea;font-variant-numeric:tabular-nums;white-space:nowrap;pointer-events:auto;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background:#251c35bf;border:1px solid #a57abbb3;border-radius:999px;align-items:center;gap:6px;padding:0 12px;font-size:12.5px;font-weight:600;display:flex;position:absolute;top:0;left:0}.glabel svg.lucide{stroke:#dcc4ea}.glabel.dragging{cursor:grabbing;border-color:var(--lilac);background:#a57abb59}.glabel.active{border-color:var(--lilac);padding-right:4px}.glabel .ibtn.mini{min-width:28px;height:28px}.toast.with-action{text-align:left;pointer-events:auto;align-items:center;gap:12px;padding:8px 8px 8px 16px;display:flex}.toast.with-action .chip{flex:none}.ibtn.active svg.lucide,.btn.primary svg.lucide,.chip.active svg.lucide{stroke:var(--accent-ink)}.ibtn.danger svg.lucide,.btn.danger svg.lucide{stroke:var(--danger)}.titlebar-drag{display:none}@media (display-mode:window-controls-overlay){:root{--titlebar-h:env(titlebar-area-height,33px);--top:calc(var(--titlebar-h) + 10px);--top-photo:calc(var(--titlebar-h) + 10px)}.titlebar-drag{left:env(titlebar-area-x,0);top:env(titlebar-area-y,0);width:env(titlebar-area-width,100%);height:var(--titlebar-h);z-index:4;-webkit-app-region:drag;app-region:drag;display:block;position:absolute}.topbar{left:env(titlebar-area-x,0);top:env(titlebar-area-y,0);width:env(titlebar-area-width,100%);height:var(--titlebar-h);-webkit-app-region:drag;app-region:drag;padding:0 6px;right:auto}.top-actions{-webkit-app-region:no-drag;app-region:no-drag;padding:2px}.top-actions .ibtn{height:calc(var(--titlebar-h) - 6px);border-radius:999px;min-width:30px;padding:0 6px}.top-actions svg.lucide{width:16px;height:16px}.brand{padding:2px 12px}.brand img{height:calc(var(--titlebar-h) - 12px)}.menu,.hud-exit{-webkit-app-region:no-drag;app-region:no-drag}}.ar-hud{z-index:50;touch-action:none;-webkit-user-select:none;user-select:none;color:var(--text);font-family:inherit;display:none;position:fixed;inset:0}.ar-hud.show{display:block}.ar-exit{top:calc(14px + var(--safe-t));position:absolute;left:14px}.ar-hint{top:calc(78px + var(--safe-t));background:var(--glass-strong);width:max-content;max-width:calc(100vw - 28px);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--line);text-align:center;border-radius:999px;align-items:center;gap:10px;padding:10px 16px;font-size:13px;line-height:1.35;display:flex;position:absolute;left:50%;transform:translate(-50%)}.ar-bottom{left:50%;bottom:calc(28px + var(--safe-b));align-items:center;gap:28px;display:flex;position:absolute;transform:translate(-50%)}.ar-top-right{top:calc(14px + var(--safe-t));gap:8px;display:flex;position:absolute;right:14px}.ar-show-ui{right:14px;bottom:calc(24px + var(--safe-b));opacity:.55;position:absolute}.ar-fps{bottom:calc(108px + var(--safe-b));background:var(--glass-strong);font-variant-numeric:tabular-nums;border-radius:999px;padding:4px 10px;font-size:12px;position:absolute;left:14px}.ar-options{top:calc(76px + var(--safe-t));width:min(320px,100vw - 28px);max-height:calc(100vh - 220px - var(--safe-t) - var(--safe-b));background:var(--glass-strong);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--line);border-radius:24px;flex-direction:column;gap:4px;padding:10px 12px;display:flex;position:absolute;right:14px;overflow-y:auto}.ar-options h4{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:6px 4px 2px;font-size:11px;font-weight:600}.ar-note{color:var(--muted);margin:0 4px;font-size:11.5px}.viewstack{right:10px;bottom:calc(var(--dock-h) + 24px + var(--safe-b));background:var(--glass);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--line);z-index:5;border-radius:999px;flex-direction:column;gap:2px;padding:4px;display:flex;position:absolute}body.photo .viewstack{display:none}@media (width>=761px){body.panel-open .viewstack{right:360px}}.ctxbar{--ctx-inset:8px;--ctx-row-height:max(36px, min(48px, calc(var(--ctx-height) - 18px)));--ctx-pad-top:calc((var(--ctx-height) - var(--ctx-row-height)) / 2 - 1px);--ctx-pad-bottom:calc((var(--ctx-height) - var(--ctx-row-height)) / 2 + 1px);z-index:6;isolation:isolate;max-width:calc(100vw - 16px);height:var(--ctx-height);align-items:center;gap:8px;display:none;position:absolute}.ctxbar.show{display:flex}.ctx-track{position:absolute;inset:0}.ctx-track.overflowing{scrollbar-width:thin;overscroll-behavior-x:contain;touch-action:pan-x;overflow:auto hidden}.ctx-bubble{flex:none;justify-content:center;align-items:center;width:48px;min-width:0;height:48px;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.ctx-bubble.expanded{height:var(--ctx-height)}.ctx-bubble.expanded.has-parts{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0}.ctx-bubble.expanded.has-parts>.ctx-controls{border-radius:0;overflow:visible}.ctxbar .selbar.ctx-sections,.ctxbar .selbar.ctx-sections.show{gap:8px;padding:0;overflow:visible}.ctx-sub{flex:none;justify-content:center;align-items:center;width:48px;height:48px;transition:width .26s cubic-bezier(.22,1,.36,1),height .26s cubic-bezier(.22,1,.36,1);display:flex;position:relative}.ctx-sub.expanded{height:var(--ctx-height)}.ctx-sub-trigger{border-radius:inherit;width:100%;height:100%;color:var(--text);justify-content:center;align-items:center;display:flex}.ctx-sub-trigger[hidden],.ctx-sub-controls[hidden]{display:none}.ctx-sub-controls{width:max-content;max-width:calc(100% - 2 * var(--ctx-inset));height:100%;padding:var(--ctx-pad-top) 0 var(--ctx-pad-bottom);scrollbar-width:none;overscroll-behavior-x:contain;touch-action:pan-x;align-items:center;gap:4px;display:flex;overflow-x:auto}.ctx-sub-controls>*{flex:none}.ctx-sub.expanded .ctx-sub-controls{animation:.16s 80ms backwards ctx-reveal}@keyframes ctx-reveal{0%{opacity:0}to{opacity:1}}.ctx-sub-controls::-webkit-scrollbar{display:none}.ctx-sub-trigger:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.ctx-bubble.busy:not(.expanded):after{content:"";background:var(--gold);pointer-events:none;border-radius:50%;width:7px;height:7px;position:absolute;top:3px;right:3px}.ctx-bubble.busy.has-progress:not(.expanded):after{background:conic-gradient(var(--gold) calc(var(--ctx-progress) * 1turn), var(--line) 0);width:auto;height:auto;inset:2px;-webkit-mask:radial-gradient(farthest-side,#0000 calc(100% - 2px),#000 0);mask:radial-gradient(farthest-side,#0000 calc(100% - 2px),#000 0)}.ctx-activity{align-items:center;gap:8px;min-width:0;display:flex}.ctx-activity>svg{flex-shrink:0}.ctx-activity-copy{flex-direction:column;gap:5px;width:clamp(148px,20vw,240px);min-width:0;display:flex}.ctx-activity-heading{align-items:center;gap:8px;line-height:16px;display:flex}.ctx-activity-heading>span:first-child{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12px;overflow:hidden}.ctx-percent{color:var(--text);white-space:nowrap;font-size:12px}.ctx-activity .progress.compact{border-radius:var(--radius);height:4px}.ctx-activity .progress.compact span{display:none}.ctx-activity .progress.indeterminate i{animation:1.4s ease-in-out infinite ctx-progress;width:35%!important}@keyframes ctx-progress{0%{transform:translate(-100%)}to{transform:translate(290%)}}.ctx-trigger{border-radius:inherit;width:100%;height:100%;color:var(--text);cursor:pointer;justify-content:center;align-items:center;transition:background .16s,color .16s;display:flex}.ctx-trigger:hover,.ctx-sub-trigger:hover{color:var(--gold)}.ctxbar .btn,.ctxbar .ibtn{height:var(--ctx-row-height);border-radius:var(--radius);flex:none;min-height:36px}.ctxbar .ibtn.tool{max-inline-size:160px}.ctxbar .ibtn.tool svg{flex-shrink:0}.ctxbar .ibtn.tool span{min-width:0;text-overflow:ellipsis;white-space:nowrap;max-inline-size:100%;overflow:hidden}.ctxbar.at-header .ctx-sub-controls .ibtn.tool{height:var(--ctx-row-height)}.ctx-trigger:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.ctx-trigger[hidden],.ctx-controls[hidden]{display:none}.ctx-controls{scrollbar-width:none;border-radius:inherit;width:100%;min-width:0;height:100%;overflow:auto hidden}.ctx-controls::-webkit-scrollbar{display:none}.ctx-handle{z-index:8;cursor:grab;touch-action:none;background:0 0;border:0;width:68px;height:36px;position:absolute;bottom:-14px;left:50%;transform:translate(-50%)}.ctx-handle:before{content:"";background:var(--muted);border-radius:2px;width:32px;height:3px;position:absolute;bottom:18px;left:18px}.ctxbar.dragging{z-index:30}.ctxbar.dragging .ctx-handle{cursor:grabbing}.ctx-handle:focus-visible{outline:2px solid var(--gold);border-radius:999px}.ctxbar.dragging .ctx-handle:before{background:var(--gold)}.ctxbar .selbar,.ctxbar .selbar.show{opacity:1;pointer-events:auto;width:max-content;min-width:0;max-width:none;height:100%;padding:var(--ctx-pad-top) var(--ctx-inset) var(--ctx-pad-bottom);-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;gap:6px;transition:none;position:static;overflow:visible;transform:none}.ctxbar .xbar,.ctxbar .xbar.show{width:min(420px,100vw - 16px);max-width:100%;position:absolute;top:auto;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.ctxbar.at-top .xbar{top:calc(100% + 18px);bottom:auto}@media (width<=760px){.ctx-sections .ctx-sub .ibtn.tool{flex-direction:column;gap:2px;width:max-content;min-width:42px;height:44px;padding:0 8px}.ctx-sections .ctx-sub .ibtn.tool span,.ctx-sections .ctx-sub .ibtn.tool:not(.active) span{font-size:10.5px;display:block}.ctx-sections .objmode .ibtn:not(.active){display:inline-flex}.ctx-sections .objmode{margin:0}.ctx-sections [data-part=mode] .ibtn.tool{min-width:64px}.ctx-sections [data-part=view] .ibtn.tool:first-child{min-width:72px}.ctxbar .sel-tools .ibtn{height:36px}.ctxbar .sel-name{max-width:150px}.ctx-expand,.ctxbar .ctx-secondary{display:none}}@media (prefers-reduced-motion:reduce){.ctx-activity .progress.indeterminate i{animation:none;transform:translate(90%)}.ctx-trigger,.ctx-sub{transition:none}.ctx-sub-controls{animation:none!important}}.objmode{border-radius:calc(var(--radius) - 4px);background:#ffffff0f;gap:2px;margin-right:4px;padding:2px;display:inline-flex}.objmode .ibtn.active{color:#fff;background:linear-gradient(160deg,#a57abb73,#251c358c)}.objmode .ibtn.active svg.lucide{stroke:#fff}.xbar{top:calc(var(--top) + 58px);background:var(--glass);width:min(420px,100vw - 20px);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--line);z-index:5;border-radius:24px;flex-direction:column;gap:6px;padding:10px 16px 6px;display:none;position:absolute;left:50%;transform:translate(-50%,-8px)}.xbar.show{display:flex;transform:translate(-50%)}@media (width>=761px){body.panel-open .xbar{left:calc(50% - 180px)}}@media (width<=760px){.selbar .ibtn.tool:not(.active) span{display:none}.objmode{background:0 0;margin:0;padding:0}.objmode .ibtn:not(.active),.selbar .slider-btn{display:none}}.modal-hint{left:50%;top:calc(var(--top) + 8px);border-radius:var(--radius);background:var(--glass);max-width:calc(100vw - 20px);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--line);z-index:20;pointer-events:none;padding:8px 14px;font-size:13px;display:none;position:fixed;transform:translate(-50%)}.modal-hint.show{display:block}.selmenu{overscroll-behavior:contain;top:calc(var(--top) + 58px);width:280px;left:50%;overflow-y:auto;transform:translate(-50%,-8px)}.selmenu.show{transform:translate(-50%)}@media (width>=761px){body.panel-open .selmenu{left:calc(50% - 180px)}}.menu-item.on{color:var(--accent)}.menu-check{border:1.5px solid var(--line);border-radius:50%;flex:none;width:18px;height:18px}.menu-item.on .menu-check{background:var(--accent);border-color:var(--accent);box-shadow:inset 0 0 0 3px var(--purple)}.group-title{border-top:1px solid var(--line);margin:18px 0 2px;padding-top:14px;font-size:15px;font-weight:600}.ui-restore{right:14px;bottom:calc(20px + var(--safe-b));opacity:.55;z-index:20;display:none;position:absolute}.ui-restore:hover{opacity:1}body.ui-hidden .topbar,body.ui-hidden .selbar,body.ui-hidden .ctxbar,body.ui-hidden .xbar,body.ui-hidden .dock,body.ui-hidden .panel,body.ui-hidden .viewstack,body.ui-hidden .photo-hud>*,body.ui-hidden .mlabels,body.ui-hidden .joint-layer,body.ui-hidden .stroke-layer,body.ui-hidden .empty,body.ui-hidden .menu,body.ui-hidden .frame{display:none!important}body.ui-hidden .ui-restore{place-items:center;display:grid}.hud-hide{top:var(--top-photo);z-index:8;position:absolute;right:12px}@media (width<=760px){.viewstack{right:8px;bottom:calc(var(--dock-h) + 16px + var(--safe-b))}body.panel-open .viewstack{display:none}.selmenu{top:calc(var(--top) + 52px)}}.tab-scroll{flex:none;align-items:center;gap:4px;min-width:0;margin:2px 16px 6px;display:flex}.tab-scroll .segmented{flex:1;min-width:0;margin:0}.tab-scroll-button{flex:none;width:36px;min-width:36px;height:36px;padding:0}.tab-scroll-button[hidden]{display:none}.segmented{scrollbar-width:none;background:#ffffff0f;border-radius:999px;flex:none;gap:2px;margin:2px 16px 6px;padding:3px;display:flex;overflow-x:auto}.segmented button{height:36px;min-height:36px;color:var(--muted);white-space:nowrap;border-radius:999px;flex:1 0 auto;padding:0 8px;font-size:13px;font-weight:500;transition:background .18s cubic-bezier(.2,0,0,1),color .18s,transform 80ms ease-out}.segmented button.active{color:var(--text);background:#a57abb66;font-weight:600}.slider-track{position:relative}@media (pointer:coarse){.panel-body{padding-right:18px}.panel-body .sec>*+*{margin-top:12px}.slider-track.dragging input[type=range]::-webkit-slider-thumb{transform:scale(1.15)}.ibtn.mini,.num-step{min-width:36px;height:36px}}.ibtn.round{background:var(--glass);width:50px;min-width:50px;height:50px;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--line);border-radius:50%;padding:0;font-size:13px;font-weight:600}.ibtn.round.active{background:var(--accent)}.segmented.modes{margin:0;padding:2px}.segmented.modes button{flex:none;align-items:center;gap:6px;height:36px;padding:0 14px;display:inline-flex}.segmented.modes button.active{background:var(--accent);color:var(--accent-ink)}.segmented.modes button.active svg.lucide{stroke:var(--accent-ink)}.segmented svg.lucide{stroke:currentColor}.ar-options .chips{padding:2px 0 4px}@media (width<=760px){.segmented.modes button{padding:0 10px}.segmented.modes svg.lucide{display:none}}.sec h4.sub{color:var(--muted);margin:12px 0 6px;font-size:12px;font-weight:600}.joint-layer{pointer-events:none;z-index:2;display:none;position:absolute;inset:0;overflow:hidden}.joint-layer.show{display:block}.joint-layer svg{width:100%;height:100%;position:absolute;inset:0}.joint-layer line{stroke:var(--gold);stroke-width:2px;stroke-opacity:.55}.joint{pointer-events:auto;cursor:pointer;touch-action:none;background:0 0;border:0;width:36px;height:36px;padding:0;position:absolute;top:0;left:0}.joint:after{content:"";border:2px solid var(--gold);background:#251c35cc;border-radius:50%;transition:inset .12s,background .12s;position:absolute;inset:11px}.joint.ik:after{border-radius:4px}.joint.side:after{border-color:var(--lilac)}.joint:hover:after,.joint.dragging:after{inset:9px}.joint.auto{pointer-events:none}.joint.auto:after{border-width:1.5px;inset:14px}.joint.active:after{background:var(--gold);border-color:#fff;inset:8px}@media (width<=400px){.selbar .play-btn{display:none}}.step-count{border-radius:var(--radius);background:var(--lilac);color:var(--purple);flex:none;padding:1px 7px;font-size:11px;font-weight:700}.progress{border-radius:var(--radius);background:var(--line);height:28px;position:relative;overflow:hidden}.progress i{background:var(--gold);transition:width .2s;position:absolute;inset:0 auto 0 0}.progress span{text-align:center;color:var(--text);mix-blend-mode:difference;font-size:12px;font-weight:600;line-height:28px;display:block;position:relative}.readout{margin:0;padding:0;font-size:12.5px;list-style:none}.readout li{border-bottom:1px solid var(--line);justify-content:space-between;gap:8px;padding:5px 0;display:flex}.readout li span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.readout li b{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}.stepper{counter-reset:none;margin:0;padding:2px 16px 10px;list-style:none;display:flex}.stepper li{flex:1;position:relative}.stepper li+li:before{content:"";background:var(--line);border-radius:1px;height:2px;position:absolute;top:15px;left:calc(18px - 50%);right:calc(50% + 18px)}.stepper li.done+li:before,.stepper li.done+li.active:before{background:var(--lilac)}.stepper button{width:100%;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:center;gap:4px;padding:0;font-size:12px;display:flex}.stepper button:disabled{cursor:default}.stepper li.active button:disabled{opacity:1}.stepper b{border:1.5px solid var(--line);border-radius:50%;place-items:center;width:30px;height:30px;font-size:13px;font-weight:700;display:grid}.stepper li.done b{background:var(--lilac);border-color:var(--lilac);color:var(--purple)}.stepper li.active b{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.stepper li.active span{color:var(--text);font-weight:600}.stepper li:not(.active) button:not(:disabled):hover span{color:var(--text)}.panel-foot{border-top:1px solid var(--line);align-items:center;gap:8px;padding:12px 16px 16px;display:flex}.panel-foot .grow{flex:1}.project-gallery{border:1px solid var(--line);background:var(--purple);width:min(880px,100vw - 24px);max-height:calc(100dvh - 32px);color:var(--text);border-radius:28px;padding:0;box-shadow:0 30px 80px #00000080}.project-gallery::backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0a061099}.gallery-inner{flex-direction:column;gap:16px;padding:20px 22px 18px;display:flex}.gallery-head{justify-content:space-between;align-items:center;display:flex}.gallery-head h2{margin:0;font-size:22px}.gallery-actions{flex-wrap:wrap;gap:8px;display:flex}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(min(200px,100%),1fr));gap:14px;display:grid}.gallery-card{border:1px solid var(--line);background:#ffffff0a;border-radius:18px;flex-direction:column;min-width:0;display:flex;overflow:hidden}.gallery-card.current{border-color:var(--gold)}.gallery-open{border-radius:0;padding:0;display:block;position:relative}.gallery-thumb{aspect-ratio:16/10;object-fit:cover;width:100%;color:var(--muted);background:#ffffff0d;place-items:center;display:grid}.gallery-open:hover .gallery-thumb{filter:brightness(1.1)}.gallery-badge{background:var(--gold);color:var(--purple);border-radius:999px;padding:3px 9px;font-size:11.5px;font-weight:600;position:absolute;top:8px;left:8px}.gallery-meta{align-items:center;gap:2px;padding:8px 6px 8px 12px;display:flex}.gallery-text{flex-direction:column;flex:1;min-width:0;display:flex}.gallery-text b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.gallery-text small,.gallery-foot small{color:var(--muted)}.gallery-meta .ibtn{width:36px;min-width:36px;height:36px}.gallery-foot{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding-top:12px;display:flex}body.ui-hidden .project-gallery{visibility:hidden}.empty-row{gap:8px;margin-top:6px;display:flex}.empty-row .btn{flex:1;margin-top:0}.recent-projects{border-top:1px solid var(--line);text-align:left;margin-top:18px;padding-top:14px}.recent-head{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.recent-head h3{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin:0;font-size:13px;font-weight:600}.empty .recent-head .btn{width:auto;height:30px;color:var(--gold);background:0 0;border:0;margin:0;padding:0 8px;font-weight:600}.recent-item{text-align:left;border-radius:14px;align-items:center;gap:12px;width:100%;padding:6px;display:flex}.recent-item:hover{background:#ffffff12}.recent-thumb{object-fit:cover;width:56px;height:40px;color:var(--muted);background:#ffffff0f;border-radius:9px;flex:none;place-items:center;display:grid}.recent-thumb svg{width:16px;height:16px}.recent-text{flex-direction:column;min-width:0;display:flex}.recent-text b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.recent-text small{color:var(--muted)}.stroke-layer{z-index:3;pointer-events:none;display:none;position:fixed;inset:0}body.drawing canvas{cursor:crosshair}.stroke-layer.on{display:block}.stroke-layer svg{pointer-events:none;width:100%;height:100%}.stroke-layer polyline{fill:color-mix(in srgb, var(--gold) 14%, transparent);stroke:var(--gold);stroke-width:2px;stroke-dasharray:6 5;stroke-linejoin:round;stroke-linecap:round}.stroke-layer.brush polyline{fill:none;stroke:color-mix(in srgb, var(--gold) 40%, transparent);stroke-dasharray:none}.brush-size-preview{align-items:center;gap:12px;min-height:56px;display:flex}.brush-size-swatch{background:var(--glass);border-radius:12px;flex:0 0 56px;place-items:center;height:56px;display:grid}.brush-size-dot{border:1px solid var(--gold);background:color-mix(in srgb, var(--gold) 20%, transparent);border-radius:50%}.brush-size-dimensions{color:var(--text);font-size:12px}.stroke-layer circle{fill:none}.stroke-layer .brush-outline-back{stroke:var(--purple);stroke-width:4px}.stroke-layer .brush-outline{stroke:var(--gold);stroke-width:2px}.library{flex-direction:column;gap:10px;padding-top:4px;display:flex}.library-search{border:1px solid var(--line);height:42px;color:var(--muted);background:#ffffff12;border-radius:999px;align-items:center;gap:8px;padding:0 6px 0 14px;display:flex}.library-search:focus-within{border-color:var(--gold);color:var(--text)}.library-search input{min-width:0;height:100%;font:inherit;color:var(--text);-webkit-user-select:text;user-select:text;background:0 0;border:0;outline:none;flex:1}.library-search input::-webkit-search-cancel-button{display:none}.library-search .library-clear{width:32px;min-width:32px;height:32px}.library-categories .chips{scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.library-categories .chip{text-transform:capitalize}.library-status:empty{display:none}.library-status{color:var(--muted);margin:0;font-size:13px}.library-grid{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:10px;display:grid}.library-card{text-align:left;border-radius:14px;flex-direction:column;gap:6px;min-width:0;padding:0;display:flex}.library-thumb{aspect-ratio:1;background:#ffffff0f;border:2px solid #0000;border-radius:14px;display:block;overflow:hidden}.library-thumb img{object-fit:cover;width:100%;height:100%;display:block}.library-card:hover .library-thumb{border-color:#e9a83b73}.library-card.active .library-thumb{border-color:var(--gold)}.library-name{-webkit-line-clamp:2;-webkit-box-orient:vertical;padding:0 2px;font-size:12.5px;line-height:1.25;display:-webkit-box;overflow:hidden}.library-more{width:100%}.library-bar{background:var(--purple);border-top:1px solid var(--line);z-index:1;flex-direction:column;gap:10px;margin:4px -16px -18px;padding:12px 16px 16px;display:flex;position:sticky;bottom:-18px;box-shadow:0 -10px 24px #00000059}.library-bar[hidden]{display:none}.library-bar-head{align-items:flex-start;gap:8px;display:flex}.library-bar-title{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.library-bar-title b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.library-bar-title a{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.library-bar .chips{scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.library-bar-actions{align-items:center;gap:8px;display:flex}.library-bar-actions .primary{flex:1;height:44px}.library-bar-actions .progress{flex:1}.library>*{min-width:0}.panel-body:has(.library){overflow-x:hidden}.library-search .library-clear[hidden]{display:none}.texture-slot{border-top:1px solid var(--line);flex-direction:column;gap:8px;padding:10px 0;display:flex}.texture-slot:first-of-type{border-top:0}.texture-slot-head{align-items:center;gap:10px;display:flex}.texture-thumb{object-fit:cover;border:1px solid var(--line);background:#ffffff0f;border-radius:10px;flex:none;width:48px;height:48px}.texture-thumb.blank{border-style:dashed;display:block}.texture-slot-title{flex:1;min-width:0}.texture-slot-title h4{margin:0}.texture-slot-title small{color:var(--muted)}.texture-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.texture-picker{border:1px solid var(--line);background:#ffffff0a;border-radius:14px;padding:8px}.texture-picker-grid{grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px;max-height:260px;display:grid;overflow-y:auto}.texture-pick{min-width:0;color:var(--muted);border-radius:12px;flex-direction:column;align-items:center;gap:4px;padding:4px;font-size:11.5px;display:flex}.texture-pick:hover{color:var(--text);background:#ffffff14}.texture-pick .texture-thumb{aspect-ratio:1;width:100%;height:auto}.texture-pick span{text-align:center;-webkit-line-clamp:2;-webkit-box-orient:vertical;width:100%;display:-webkit-box;overflow:hidden}.size-fields{flex-direction:column;gap:8px;margin-top:6px;display:flex}.mirror-row{align-items:center;gap:6px;display:flex}.mirror-row>span{color:var(--muted);flex:1;font-size:13px}.mirror-row .btn.active{border-color:var(--gold);color:var(--gold)}.mirror-row .btn.active svg.lucide{stroke:var(--gold)}.progress.indeterminate i{opacity:.3}
