:root{--world-bg:#0b0d16;--glass-bg: rgba(20,22,38,.42);--glass-border: rgba(255,255,255,.14);--glass-heavy: rgba(16,18,30,.66);--text:#eef0f8;--text-dim:#9aa0b8;--paper-bone:#F4F3EF;--paper-ink:#1D322D;--paper-line:rgba(29,50,45,.16);--terracotta:#B5562E;--terracotta-soft:rgba(181,86,46,.16);--accent1:#7c5cff;--accent2:#00d4ff;--accent3:#ff5ca8;--di-gradient:linear-gradient(90deg,var(--accent2),var(--accent1),var(--accent3));--ok:#3ddc97;--warn:var(--terracotta);--bad:#ff6b6b;--font-ui:"Segoe UI",system-ui,-apple-system,sans-serif;--font-display:"Fraunces",Georgia,"Times New Roman",serif;--font-mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;--type-micro:10.5px;--type-caption:11.5px;--type-body:12.5px;--type-label:13px;--type-title:16px;--type-display-sm:22px;--type-display:32px;--radius-sm:8px;--radius-md:10px;--radius-lg:14px;--radius-xl:16px;--radius-pill:999px;--blur-soft:12px;--blur-glass:22px;--blur-heavy:24px;--blur-field:90px;--shadow-panel:0 8px 40px rgba(0,0,0,.4);--shadow-paper:0 12px 32px rgba(0,0,0,.28);--shadow-raise:0 2px 10px rgba(0,0,0,.25);--motion-typewriter:24ms;--motion-stagger:.12s;--motion-fast:.15s;--motion-base:.25s;--motion-slow:.45s;--ease-out:cubic-bezier(.22,1,.36,1);--ease-in-out:cubic-bezier(.65,0,.35,1);--z-canvas:1;--z-surface:5;--z-sticky:6;--z-chrome:20;--z-panel:30;--z-header:70;--z-menu:800;--z-overlay:900;--z-toast:1200}*{margin:0;padding:0;box-sizing:border-box;font-family:var(--font-ui)}html,body,#root{height:100%;overflow:hidden;background:var(--world-bg);color:var(--text)}#cv{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;display:block;cursor:crosshair;z-index:var(--z-canvas)}.gradient-field{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;filter:blur(var(--blur-field));opacity:.16;pointer-events:none}.blob{position:absolute;border-radius:50%;mix-blend-mode:screen}.b1{width:46vw;height:46vw;left:-26vw;top:-22vh;background:radial-gradient(circle,var(--accent1),transparent 62%);animation:breathe1 24s ease-in-out infinite alternate}.b2{width:42vw;height:42vw;right:-24vw;bottom:-20vh;background:radial-gradient(circle,var(--accent2),transparent 62%);animation:breathe2 30s ease-in-out infinite alternate}.b3{width:34vw;height:34vw;right:-20vw;top:-18vh;background:radial-gradient(circle,var(--accent3),transparent 62%);animation:breathe3 36s ease-in-out infinite alternate}@keyframes breathe1{0%{transform:scale(1)}to{transform:scale(1.18)}}@keyframes breathe2{0%{transform:scale(1.12)}to{transform:scale(.92)}}@keyframes breathe3{0%{transform:scale(.95)}to{transform:scale(1.12)}}@keyframes flow{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.glass{background:var(--glass-bg);backdrop-filter:blur(var(--blur-glass)) saturate(140%);-webkit-backdrop-filter:blur(var(--blur-glass)) saturate(140%);border:1px solid var(--glass-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-panel)}.toolbar{position:fixed;top:14px;left:14px;z-index:var(--z-chrome);display:flex;align-items:center;gap:5px;padding:7px 8px;flex-wrap:nowrap;overflow:visible;max-width:calc(100vw - 28px - var(--shell-chips-w, 300px) - 12px)}.logo{width:24px;height:24px;border-radius:var(--radius-sm);background:linear-gradient(135deg,var(--accent1),var(--accent2),var(--accent3));background-size:300% 300%;animation:flow 8s ease infinite;flex:none}.tool{background:#ffffff12;border:1px solid var(--glass-border);color:var(--text-dim);padding:6px 12px;border-radius:var(--radius-md);font-size:12px;cursor:pointer;transition:all .2s;-webkit-user-select:none;user-select:none;white-space:nowrap}.tool:hover{color:var(--text);border-color:#ffffff4d}.tool.active{background:linear-gradient(135deg,#7c5cff59,#00d4ff40);color:#fff;border-color:var(--accent1)}.tool.danger.active{background:linear-gradient(135deg,#ff6b6b66,#ff5ca84d);border-color:var(--bad)}.vsep{width:1px;height:22px;background:var(--glass-border);margin:0 3px}.tgroup{position:relative}.tmenu{display:flex;flex-direction:column;gap:4px;padding:6px;min-width:160px}.tmenu .tool{text-align:left}.toolbar .ticon{font-size:13px;margin-right:4px;opacity:.9}.toolbar .tlabel{white-space:nowrap}.toolbar .tool{display:inline-flex;align-items:center;padding:6px 9px}.toolbar .tool.mini{padding:5px 7px;min-width:0}.toolbar .snapbar{gap:3px}.tmenu-wide{min-width:230px;max-width:min(320px,90vw)}.tmenu-sec{display:flex;flex-direction:column;gap:3px;padding-top:4px}.tmenu-sec+.tmenu-sec{border-top:1px solid var(--glass-border);margin-top:4px}.tmenu-sec h5{font-size:9.5px;text-transform:uppercase;letter-spacing:1.1px;color:var(--text-dim);padding:3px 6px 1px;font-weight:600}.tmenu .tool.muted{opacity:.5}body.paper .glass,body.paper [data-shell-chips]{background:#141822e6}body.paper .toolbar .tool{color:#e9edf5;background:#ffffff1a}body.paper .toolbar .tool.active{color:#fff}.viewdock{position:fixed;bottom:56px;right:14px;z-index:calc(var(--z-chrome) - 4);padding:5px;display:flex;flex-direction:column;gap:6px;align-items:stretch}.view-toggle{display:flex;background:#ffffff0f;border:1px solid var(--glass-border);border-radius:var(--radius-md);overflow:hidden}.view-toggle button{background:none;border:none;color:var(--text-dim);padding:7px 15px;font-size:12.5px;cursor:pointer;transition:all .25s;white-space:nowrap}.view-toggle button.on{background:linear-gradient(135deg,var(--accent1),var(--accent2));color:#fff}.level-dock{display:flex;flex-direction:column;gap:5px}.level-strip{flex-direction:column}.level-strip button{padding:6px 13px;font-size:12px;border-bottom:1px solid var(--glass-border)}.level-strip button:last-child{border-bottom:none}.level-edit{display:flex;flex-direction:column;gap:6px;padding:8px;border:1px solid var(--glass-border);border-radius:var(--radius-md);background:#ffffff0a}.level-edit label{display:flex;flex-direction:column;gap:3px;font-size:10px;color:var(--text-dim)}.level-edit input{background:#ffffff12;border:1px solid var(--glass-border);border-radius:var(--radius-sm);padding:5px 7px;color:var(--text);font-size:11.5px;outline:none;width:130px}.level-edit input:focus{border-color:var(--accent1)}.level-edit small{font-size:9px;color:var(--text-dim);opacity:.75;line-height:1.35;max-width:140px}.chat{position:fixed;left:14px;top:70px;bottom:14px;width:295px;z-index:calc(var(--z-chrome) - 5);display:flex;flex-direction:column;overflow:hidden}.chat-head{padding:11px 14px;font-size:12px;color:var(--text-dim);border-bottom:1px solid var(--glass-border);display:flex;align-items:center;gap:8px}.pulse{width:8px;height:8px;border-radius:50%;background:linear-gradient(135deg,var(--accent1),var(--accent2));animation:pul 2.4s ease infinite}@keyframes pul{0%,to{opacity:.5}50%{opacity:1;transform:scale(1.25)}}.chat-head .x,.boq-head .x{margin-left:auto;cursor:pointer;color:var(--text-dim);font-size:15px;padding:0 4px}.chat-head .x:hover,.boq-head .x:hover{color:#fff}.chat-log{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:9px;font-size:12.5px}.msg{padding:8px 11px;border-radius:11px;line-height:1.45;max-width:96%}.msg.sys{background:#7c5cff21;border:1px solid rgba(124,92,255,.25);color:#d9d2ff}.msg.usr{background:#ffffff14;align-self:flex-end}.msg.thinking{opacity:.7;font-style:italic}.thinking{background:var(--di-gradient);background-size:200% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:flow 2s linear infinite}.chat-input{display:flex;gap:7px;padding:10px;border-top:1px solid var(--glass-border)}.chat-input input[type=text],.chat-input input:not([type]){flex:1;min-width:0;background:#ffffff12;border:1px solid var(--glass-border);border-radius:var(--radius-md);padding:9px 11px;color:var(--text);font-size:12.5px;outline:none}.chat-input input:focus{border-color:var(--accent1)}.chat-input .send{background:linear-gradient(135deg,var(--accent1),var(--accent2));border:none;border-radius:var(--radius-md);padding:0 13px;color:#fff;cursor:pointer;font-size:13px}.chat-input .clip{background:#ffffff14;border:1px solid var(--glass-border);color:var(--text);border-radius:var(--radius-md);padding:0 11px;cursor:pointer;font-size:14px}.boq{position:fixed;right:14px;top:70px;bottom:14px;width:330px;z-index:calc(var(--z-chrome) - 5);display:flex;flex-direction:column;overflow:hidden}.libpanel{right:auto;left:50%;transform:translate(-50%);width:380px;top:70px;bottom:auto;max-height:74vh;z-index:calc(var(--z-chrome) - 2)}.boq-head{padding:12px 16px;border-bottom:1px solid var(--glass-border);display:flex;align-items:flex-start}.boq-head h2{font-size:13px;font-weight:600}.boq-head span{font-size:10.5px;color:var(--text-dim);display:block}.boq-body{flex:1;overflow-y:auto;padding:9px 12px}.boq-cat h3{font-size:10.5px;text-transform:uppercase;letter-spacing:1.2px;color:var(--text-dim);padding:6px 4px}.line{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 9px;border-radius:var(--radius-md);background:#ffffff0d;margin-bottom:5px;font-size:12px}.line .nm{flex:1}.line .nm small{display:block;color:var(--text-dim);font-size:10px}.boq-bench-toggle{margin-left:auto;margin-right:8px;background:#ffffff12;border:1px solid var(--glass-border);border-radius:var(--radius-sm);color:var(--text-dim);font-family:inherit;font-size:10.5px;padding:3px 8px;cursor:pointer;letter-spacing:.03em}.boq-bench-toggle:hover{color:var(--text)}.boq-bench-toggle.on{color:var(--terracotta);background:var(--terracotta-soft);border-color:var(--terracotta)}.boq-bench-summary{padding:8px 16px;border-bottom:1px solid var(--glass-border);font-size:11px;color:var(--text-dim);line-height:1.5}.boq-bench-summary b{color:var(--text)}.boq-bench-summary small{display:block;margin-top:3px;font-size:9.5px;opacity:.75;line-height:1.45}.boq-target{padding:8px 16px;border-bottom:1px solid var(--glass-border);font-size:11.5px;color:var(--text-dim);line-height:1.5}.boq-target b{color:var(--text)}.boq-target small{display:block;margin-top:2px;font-size:9.5px;opacity:.7}.boq-target.over{color:var(--terracotta);background:var(--terracotta-soft)}.boq-target.over b{color:var(--terracotta)}.boq-levels{margin:5px 0 3px;padding:5px 0;border-top:1px dashed var(--glass-border);border-bottom:1px dashed var(--glass-border)}.boq-levels .trow.on{color:var(--text)}.areapanel .area-table{width:100%;border-collapse:collapse;font-size:11.5px}.areapanel .area-table th{text-align:right;font-weight:600;color:var(--text-dim);font-size:10px;padding:3px 0;border-bottom:1px solid var(--glass-border)}.areapanel .area-table th:first-child{text-align:left}.areapanel .area-table td{text-align:right;padding:4px 0;color:var(--text-dim)}.areapanel .area-table td:first-child{text-align:left;color:var(--text)}.areapanel .area-table tr.tot td{border-top:1px solid var(--glass-border);color:var(--text);font-weight:600;padding-top:6px}.areapanel .area-note{display:block;margin-top:6px;font-size:9.5px;color:var(--text-dim);opacity:.75;line-height:1.45}.areapanel .area-fields{display:grid;grid-template-columns:1fr 1fr;gap:7px}.areapanel .af{display:flex;flex-direction:column;gap:3px;font-size:10px;color:var(--text-dim)}.areapanel .af input{background:#ffffff12;border:1px solid var(--glass-border);border-radius:var(--radius-sm);padding:5px 7px;color:var(--text);font-size:11.5px;outline:none;width:100%}.areapanel .af input:focus{border-color:var(--accent1)}.areapanel .af-check{flex-direction:row;align-items:flex-start;gap:6px;margin-top:8px;line-height:1.4}.areapanel .af-check input{width:auto;margin-top:1px}.areapanel .area-kpis{margin-top:9px}.areapanel .area-kpis .trow span:last-child{color:var(--text);font-weight:600}.areapanel .area-kpis .trow.over span:last-child{color:var(--terracotta)}.bench-ref{color:var(--text-dim);cursor:help}.bench-ref.none{opacity:.45}.bench-chip{display:inline-block;margin-left:7px;color:var(--terracotta);background:var(--terracotta-soft);border:1px solid var(--terracotta);border-radius:999px;padding:0 7px;font-size:9.5px;line-height:1.6;cursor:help;vertical-align:middle}.line .qty{color:var(--accent2);min-width:66px;text-align:right;font-variant-numeric:tabular-nums}.line .amt{min-width:78px;text-align:right;font-weight:600;font-variant-numeric:tabular-nums}.totals{padding:12px 16px;border-top:1px solid var(--glass-border)}.trow{display:flex;justify-content:space-between;font-size:12px;padding:2px 0;color:var(--text-dim)}.trow.grand{font-size:16px;font-weight:700;color:var(--text);padding-top:7px}.trow.grand .v{background:var(--di-gradient);background-size:200% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:flow 5s linear infinite}.launcher{position:fixed;z-index:calc(var(--z-chrome) - 4);cursor:pointer;display:flex;align-items:center;gap:8px;padding:9px 13px;font-size:12.5px;color:var(--text)}#launch-chat{left:14px;top:70px}#launch-boq{right:14px;top:70px;font-variant-numeric:tabular-nums}#launch-boq b{background:linear-gradient(90deg,var(--accent2),var(--accent1));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.mini-logo{width:18px;height:18px;border-radius:6px;background:linear-gradient(135deg,var(--accent1),var(--accent2),var(--accent3));background-size:300% 300%;animation:flow 8s ease infinite}.hint{position:fixed;bottom:14px;left:calc(var(--dock-left,0px) + 14px);font-size:11.5px;color:var(--text-dim);z-index:calc(var(--z-chrome) - 6);background:var(--glass-heavy);-webkit-backdrop-filter:blur(var(--blur-soft));backdrop-filter:blur(var(--blur-soft));padding:7px 16px;border-radius:20px;border:1px solid var(--glass-border);white-space:nowrap;max-width:calc(100vw - var(--dock-left,0px) - var(--canvas-right,0px) - 160px);overflow:hidden;text-overflow:ellipsis}.zoomhud{position:fixed;bottom:14px;right:14px;z-index:calc(var(--z-chrome) - 4);display:flex;align-items:center;gap:4px;padding:5px 8px;font-size:12px;color:var(--text-dim)}.zoomhud button{background:#ffffff12;border:1px solid var(--glass-border);color:var(--text);width:26px;height:26px;border-radius:var(--radius-sm);cursor:pointer;font-size:14px;line-height:1}.zoomhud span{min-width:44px;text-align:center;font-variant-numeric:tabular-nums}.props{position:fixed;display:flex;flex-direction:column;gap:8px;padding:13px;width:225px;z-index:calc(var(--z-panel) + 3);background:var(--glass-heavy);-webkit-backdrop-filter:blur(var(--blur-heavy));backdrop-filter:blur(var(--blur-heavy));border:1px solid var(--glass-border);border-radius:var(--radius-lg);font-size:12px}.props h4{font-size:11px;color:var(--text-dim);text-transform:uppercase;letter-spacing:1px}.props .row{display:flex;gap:6px}.ptag{flex:1;text-align:center;padding:6px 4px;border-radius:var(--radius-sm);border:1px solid var(--glass-border);cursor:pointer;color:var(--text-dim);transition:all .2s;font-size:11.5px}.ptag.on.existing{background:#9aa0b840;color:#fff;border-color:#9aa0b8}.ptag.on.new{background:#3ddc9738;color:#7dffc8;border-color:var(--ok)}.ptag.on.demolish{background:#ff6b6b38;color:#ffb3b3;border-color:var(--bad)}.props label{color:var(--text-dim);font-size:11px}.props input{width:100%;background:#ffffff14;border:1px solid var(--glass-border);border-radius:var(--radius-sm);padding:6px 8px;color:var(--text);outline:none;font-size:12px}.props .del{background:#ff6b6b26;border:1px solid rgba(255,107,107,.4);color:#ffb3b3;border-radius:var(--radius-sm);padding:7px;cursor:pointer;text-align:center}.cat-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.cat-item{display:flex;align-items:center;gap:7px;padding:7px 9px;border-radius:9px;background:#ffffff0d;border:1px solid var(--glass-border);cursor:pointer;transition:all .15s}.cat-item:hover{background:#ffffff1a;border-color:#ffffff4d}.cat-item.on{background:linear-gradient(135deg,#7c5cff59,#00d4ff40);border-color:var(--accent1)}.ci-ico{font-size:15px;line-height:1}.ci-lbl{font-size:11px;color:var(--text)}.dim-entry{position:fixed;bottom:52px;left:50%;transform:translate(-50%);z-index:calc(var(--z-chrome) + 2);display:flex;align-items:center;gap:8px;padding:7px 12px;font-size:12.5px}.thickbar{position:fixed;top:64px;left:50%;transform:translate(-50%);z-index:calc(var(--z-chrome) - 1);display:flex;align-items:center;gap:6px;padding:6px 10px;font-size:12px}.tb-label{color:var(--text-dim);font-size:11px;margin-right:2px}.tb-custom{width:52px;background:#ffffff12;border:1px solid var(--glass-border);border-radius:var(--radius-sm);padding:5px 7px;color:var(--text);outline:none;font-size:12px}.tb-custom:focus{border-color:var(--accent1)}.dim-live{color:var(--accent2);font-weight:600;font-variant-numeric:tabular-nums}.dim-or{color:var(--text-dim);font-size:11px}.dim-entry input{width:80px;background:#ffffff14;border:1px solid var(--glass-border);border-radius:var(--radius-sm);padding:5px 8px;color:var(--text);outline:none;font-size:12px}.dim-entry input:focus{border-color:var(--accent1)}.dim-entry button{background:linear-gradient(135deg,var(--accent1),var(--accent2));border:none;border-radius:var(--radius-sm);padding:5px 10px;color:#fff;cursor:pointer}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:4px}::-webkit-scrollbar-track{background:transparent}.glass-panel{background:var(--glass-bg);backdrop-filter:blur(var(--blur-glass)) saturate(140%);-webkit-backdrop-filter:blur(var(--blur-glass)) saturate(140%);border:1px solid var(--glass-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-panel);color:var(--text)}.paper-surface{background:var(--paper-bone);color:var(--paper-ink);border-radius:var(--radius-lg);box-shadow:var(--shadow-paper)}.paper-surface h1,.paper-surface h2,.paper-surface h3,.paper-surface .display{font-family:var(--font-display);font-weight:600;letter-spacing:-.01em}.di-gradient-text{background:var(--di-gradient);background-size:200% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.terracotta-flag{display:inline-flex;align-items:center;gap:5px;color:var(--terracotta);background:var(--terracotta-soft);border:1px solid var(--terracotta);border-radius:var(--radius-sm);padding:2px 8px;font-size:var(--type-caption);line-height:1.5}.paper-surface .terracotta-flag{background:#b5562e1a}.chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--radius-pill);background:#ffffff0f;border:1px solid var(--glass-border);color:var(--text-dim);font-size:var(--type-caption);white-space:nowrap}@media (prefers-reduced-motion: reduce){:root{--motion-typewriter:0ms;--motion-stagger:0ms;--motion-fast:0ms;--motion-base:0ms;--motion-slow:0ms}*,*:before,*:after{animation:none!important;transition:none!important}}@media (prefers-reduced-transparency: reduce){:root{--glass-bg:#141626;--glass-heavy:#10121e}.glass,.glass-panel,.props,.hint{backdrop-filter:none;-webkit-backdrop-filter:none}.gradient-field{display:none}}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton{display:inline-block;border-radius:var(--radius-sm);background:linear-gradient(90deg,#ffffff0f 25%,#ffffff24,#ffffff0f 75%);background-size:200% 100%;animation:skeleton-shimmer 1.2s linear infinite;animation-delay:.2s}.toolbar button.tool{font-family:var(--font-ui);line-height:1.2}.tool.mini{padding:5px 8px;font-size:12px;min-width:30px;text-align:center}.snapbar{display:flex;gap:4px}.tmenu button.tool{display:flex;justify-content:space-between;align-items:center;gap:14px;width:100%}.tmenu .tkey{color:var(--text-dim);font-size:10px;font-variant-numeric:tabular-nums;opacity:.85}.tmenu{max-height:70vh;overflow-y:auto}.inspector{position:fixed;top:70px;width:290px;max-height:min(62vh,640px);z-index:calc(var(--z-chrome) - 3);display:flex;flex-direction:column;overflow:hidden}.insp-head{display:flex;align-items:center;gap:4px;padding:8px 10px;border-bottom:1px solid var(--glass-border)}.insp-tab{background:none;border:1px solid transparent;color:var(--text-dim);padding:5px 10px;border-radius:var(--radius-md);font-size:12px;cursor:pointer}.insp-tab.on{background:linear-gradient(135deg,#7c5cff59,#00d4ff40);color:#fff;border-color:var(--accent1)}.insp-head .x{margin-left:auto;background:none;border:none;color:var(--text-dim);font-size:14px;cursor:pointer;padding:0 4px}.insp-head .x:hover{color:#fff}.insp-body{flex:1;overflow-y:auto;padding:8px 10px;font-size:12px}.tree-search,.layers-actions input{width:100%;background:#ffffff12;border:1px solid var(--glass-border);border-radius:var(--radius-sm);padding:5px 8px;color:var(--text);font-size:11.5px;outline:none;margin-bottom:6px}.tree-search:focus,.layers-actions input:focus{border-color:var(--accent1)}.tree-level{margin-bottom:4px}.tree-branch-head{display:flex;align-items:center;gap:6px;width:100%;background:none;border:none;color:var(--text);font-size:12px;padding:5px 4px;cursor:pointer;text-align:left;border-radius:var(--radius-sm)}.tree-branch-head:hover{background:#ffffff0f}.tree-branch-head.lvl{font-weight:600}.tree-level:not(.active) .tree-branch-head.lvl{color:var(--text-dim)}.tree-branch-head small,.tree-name small{color:var(--text-dim);font-size:10px;margin-left:auto}.tw{width:14px;color:var(--text-dim);font-size:10px;background:none;border:none;cursor:pointer;padding:0}.tree-children{padding-left:10px}.tree-branch{padding-left:6px}.tree-branch.group.inside{border-left:2px solid var(--accent1)}.tree-row{display:flex;align-items:center;gap:2px;padding:2px 2px 2px 0;border-radius:var(--radius-sm)}.tree-row.on{background:#7c5cff2e}.tree-row.hid .tree-name{opacity:.45}.tree-name{flex:1;min-width:0;background:none;border:none;color:var(--text);font-size:11.5px;text-align:left;cursor:pointer;padding:4px 6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center;gap:6px}.tree-name:hover{color:#fff}.tree-ic{background:none;border:none;color:var(--text-dim);font-size:11px;cursor:pointer;padding:2px 4px;border-radius:var(--radius-sm);line-height:1}.tree-ic:hover{color:var(--text);background:#ffffff14}.tree-ic.off{opacity:.4}.tree-ic.on{color:var(--accent2)}.tree-ic:disabled{opacity:.3;cursor:default}.tree-empty{color:var(--text-dim);font-size:11px;padding:6px}.layers-actions{display:flex;gap:6px;align-items:center;margin-bottom:6px}.layers-actions input{margin-bottom:0;flex:1}.layers-actions .ptag{flex:none;padding:5px 9px}.layer-row{display:flex;align-items:center;gap:3px;padding:3px 2px;border-radius:var(--radius-sm)}.layer-row:hover{background:#ffffff0d}.layer-row.hid .layer-name{opacity:.45}.layer-name{flex:1;min-width:0;font-size:11.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layer-name small{color:var(--text-dim);font-size:10px;margin-left:5px}.layer-color{position:relative;width:16px;height:16px;flex:none}.layer-color .sw{display:block;width:14px;height:14px;border-radius:4px;border:1px solid}.layer-color select{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer;width:100%}.history .hist-row{display:flex;gap:8px;align-items:center;width:100%;background:none;border:none;color:var(--text-dim);font-size:11.5px;padding:5px 6px;cursor:pointer;text-align:left;border-radius:var(--radius-sm)}.history .hist-row:hover{background:#ffffff0f;color:var(--text)}.history .hist-row.on{background:#7c5cff33;color:#fff}.history .hist-row.future{opacity:.5;font-style:italic}.hist-n{width:24px;text-align:right;font-variant-numeric:tabular-nums;color:var(--text-dim);font-size:10px}.hist-l{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dyn{position:fixed;z-index:calc(var(--z-chrome) + 3);padding:6px 9px;width:250px;font-size:12px;pointer-events:none}.dyn-fields{display:flex;gap:10px;align-items:center}.dyn-field{color:var(--text-dim);font-variant-numeric:tabular-nums;padding:2px 6px;border-radius:var(--radius-sm);border:1px solid transparent}.dyn-field.on{color:var(--text);border-color:var(--accent2);background:#00d4ff14}.dyn-field small{color:var(--text-dim);font-size:10px;margin-right:3px}.dyn-field b{color:var(--accent2)}.dyn-prompt{color:var(--text-dim);font-size:10.5px;margin-top:3px;line-height:1.35}.dyn-input{pointer-events:auto;width:100%;margin-top:5px;background:#ffffff12;border:1px solid var(--glass-border);border-radius:var(--radius-sm);padding:4px 7px;color:var(--text);font-size:11.5px;outline:none}.dyn-input:focus{border-color:var(--accent1)}.prefs{top:64px;left:50%;transform:translate(-50%);width:420px;max-height:80vh;overflow-y:auto;z-index:calc(var(--z-panel) + 1)}.prefs-head{display:flex;align-items:center;justify-content:space-between}.prefs-head .x{background:none;border:none;color:var(--text-dim);cursor:pointer;font-size:14px}.prefs-note{color:var(--text-dim);font-size:10.5px;line-height:1.4}.prefs-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:5px}.prefs .ptag{cursor:pointer;background:none;font-family:var(--font-ui)}.prefs .ptag:disabled{opacity:.35;cursor:default}.prefs label.inline{display:flex;flex-direction:column;gap:3px;flex:1;font-size:11px;color:var(--text-dim)}.prefs select{background:#ffffff14;border:1px solid var(--glass-border);border-radius:var(--radius-sm);padding:5px 6px;color:var(--text);font-size:12px;outline:none}.prefs select option{background:#141626;color:var(--text)}.cheat{max-height:240px;overflow-y:auto;border:1px solid var(--glass-border);border-radius:var(--radius-sm);padding:4px}.cheat-row{display:grid;grid-template-columns:1.2fr .7fr 1.2fr;gap:6px;font-size:10.5px;padding:3px 4px;border-bottom:1px solid rgba(255,255,255,.05)}.cheat-row b{color:var(--accent2);font-weight:600}.cheat-row small{color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toolbar button.tool{font-family:inherit;line-height:normal}.b2-panel{width:330px;max-height:calc(100vh - 170px);overflow-y:auto;z-index:calc(var(--z-panel) + 1);gap:7px;outline:none}.b2-panel-head{display:flex;align-items:flex-start;gap:8px}.b2-panel-head h4{margin:0}.b2-panel-sub{font-size:10.5px;color:var(--text-dim);margin-top:2px;line-height:1.35}.b2-x{margin-left:auto;background:none;border:none;color:var(--text-dim);cursor:pointer;font-size:14px;padding:0 4px;line-height:1}.b2-x:hover{color:var(--text)}.b2-panel button.ptag{font-family:inherit;background:#ffffff0a}.b2-panel button.ptag:hover{color:var(--text);border-color:#ffffff4d}.b2-chip{flex:0 1 auto;padding:5px 9px}.b2-cost{padding:8px 10px;border-radius:var(--radius-md);background:#ffffff0f;border:1px solid var(--glass-border);line-height:1.4}.b2-cost b{font-size:15px;color:var(--text)}.b2-cost small{display:block;color:var(--text-dim);font-size:10.5px}.b2-cost .b2-over{color:var(--terracotta)}.b2-cost .b2-under{color:var(--accent2)}.b2-section{border:1px solid var(--glass-border);border-radius:var(--radius-md);background:#ffffff08}.b2-section-head{width:100%;display:flex;align-items:center;gap:6px;background:none;border:none;color:var(--text);font:inherit;font-size:11.5px;padding:7px 9px;cursor:pointer;text-align:left}.b2-section-title{font-weight:600}.b2-section-summary{margin-left:auto;color:var(--text-dim);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:55%}.b2-caret{color:var(--text-dim);font-size:10px;width:10px}.b2-section-body{display:flex;flex-direction:column;gap:7px;padding:2px 9px 9px}.b2-stepper{display:flex;align-items:center;gap:6px;font-size:11.5px}.b2-stepper-label{flex:1;color:var(--text-dim)}.b2-stepper button{width:24px;height:24px;border-radius:var(--radius-sm);border:1px solid var(--glass-border);background:#ffffff12;color:var(--text);cursor:pointer;font-size:14px;line-height:1}.b2-stepper button:disabled{opacity:.35;cursor:default}.b2-stepper-val{min-width:28px;text-align:center;font-variant-numeric:tabular-nums;color:var(--text)}.b2-num{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}.b2-num span{color:var(--text-dim);font-size:10.5px}.b2-num span small{opacity:.7}.b2-num input{width:100%;box-sizing:border-box}.b2-note{font-size:10.5px;color:var(--text-dim);line-height:1.45}.b2-cta{width:100%;padding:8px;font-size:12px;font-weight:600}.b2-cta:disabled{opacity:.5;cursor:default}.b2-cta-quiet{font-size:11px;padding:6px;opacity:.85}.b2-table{width:100%;border-collapse:collapse;font-size:10.5px}.b2-table th{text-align:left;color:var(--text-dim);font-weight:600;padding:2px 3px;border-bottom:1px solid var(--glass-border)}.b2-table td{padding:3px;border-bottom:1px dashed rgba(255,255,255,.06);vertical-align:top;color:var(--text)}.b2-table td small{display:block;color:var(--text-dim);font-size:9.5px}.b2-table .num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.b2-table tr.tot td{font-weight:700;border-bottom:none;padding-top:5px}.b2-modules{display:flex;gap:2px;height:26px}.b2-module{display:flex;align-items:center;justify-content:center;font-size:9px;color:var(--text);background:#ffb45440;border:1px solid rgba(255,180,84,.5);border-radius:4px;overflow:hidden;white-space:nowrap}.b2-module.sink{background:#00d4ff33;border-color:#00d4ff80}.b2-module.hob{background:#ff6b6b33;border-color:#ff6b6b80}.b2-module.tall,.b2-module.corner{background:#7c5cff40;border-color:#7c5cff80}.b2-module.filler{background:#ffffff0f}.b2-lib{display:flex;flex-direction:column;gap:6px;padding:2px 4px 8px}.b2-lib-search{width:100%;box-sizing:border-box;background:#ffffff12;border:1px solid var(--glass-border);border-radius:var(--radius-md);padding:8px 10px;color:var(--text);outline:none;font-size:12px}.b2-lib-search:focus{border-color:var(--accent1)}.b2-lib-chips{display:flex;flex-wrap:wrap;gap:4px}.b2-lib-chip{background:#ffffff0d;border:1px solid var(--glass-border);color:var(--text-dim);border-radius:var(--radius-pill);padding:3px 9px;font-size:10.5px;cursor:pointer;font-family:inherit}.b2-lib-chip:hover{color:var(--text)}.b2-lib-chip.on{background:linear-gradient(135deg,#7c5cff59,#00d4ff40);color:#fff;border-color:var(--accent1)}.b2-lib-count{font-size:10px;color:var(--text-dim)}.b2-sublines{margin-top:4px}.b2-sublines summary{cursor:pointer;font-size:10px;color:var(--accent2);list-style:none}.b2-sublines summary:before{content:"▸ "}.b2-sublines[open] summary:before{content:"▾ "}.b2-sublines .b2-table{margin-top:3px;font-size:9.5px}.b2-sublines .b2-table td{color:var(--text-dim);padding:2px}.sheets-panel{width:min(980px,calc(100vw - 40px));max-height:88vh;top:66px;z-index:calc(var(--z-chrome) + 1);outline:none}.sheets-controls{display:flex;align-items:center;gap:12px;padding:9px 16px;border-bottom:1px solid var(--glass-border);flex-wrap:wrap}.sheets-controls label{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-dim)}.sheets-controls select,.sheet-facts input,.sheet-rev-add input,.sheets-issue input{background:#ffffff12;border:1px solid var(--glass-border);border-radius:var(--radius-sm);padding:5px 8px;color:var(--text);font-size:11.5px;outline:none}.sheets-controls select:focus,.sheet-facts input:focus,.sheet-rev-add input:focus,.sheets-issue input:focus{border-color:var(--accent1)}.sheets-seg{display:flex;background:#ffffff0f;border:1px solid var(--glass-border);border-radius:var(--radius-md);overflow:hidden}.sheets-seg button{background:none;border:none;color:var(--text-dim);padding:6px 12px;font-size:12px;cursor:pointer;white-space:nowrap}.sheets-seg button.on{background:linear-gradient(135deg,var(--accent1),var(--accent2));color:#fff}.sheets-body{display:grid;grid-template-columns:minmax(300px,1fr) 480px;gap:0;min-height:0;flex:1;overflow:hidden}.sheets-list{overflow-y:auto;padding:8px 10px;border-right:1px solid var(--glass-border)}.sheet-row{display:grid;grid-template-columns:16px 56px 64px 1fr auto;align-items:center;gap:9px;padding:6px 8px;border-radius:var(--radius-md);cursor:pointer;margin-bottom:4px;background:#ffffff0a;border:1px solid transparent}.sheet-row:hover{background:#ffffff14}.sheet-row.on{border-color:var(--accent1);background:#7c5cff24}.sheet-row.off{opacity:.55}.sheet-row input[type=checkbox]{accent-color:var(--accent1)}.sheet-id b{display:block;font-size:12px;color:var(--text)}.sheet-id small{display:block;font-size:9.5px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.6px}.sheet-title{font-size:12px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sheet-rev{padding:2px 8px;font-size:10.5px}.sheet-rev.unissued{opacity:.55}.sheets-preview{display:flex;flex-direction:column;gap:9px;padding:12px;overflow-y:auto}.sheet-paper{background:var(--paper-bone);border-radius:var(--radius-md);box-shadow:var(--shadow-paper);padding:6px;align-self:center}.sheet-paper-scroll{overflow:auto;max-height:min(52vh,520px);display:flex;justify-content:flex-start;border-radius:var(--radius-md)}.sheet-paper-scroll .sheet-paper{margin:auto}.sheet-zoom{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.sheet-zoom .sheets-seg button{padding:4px 9px;font-size:11px}.sheet-fillnote{font-size:10.5px;color:var(--text-dim);margin-left:auto;text-align:right}.sheet-facts{display:flex;align-items:center;gap:8px}.sheet-facts label{display:flex;flex-direction:column;gap:3px;font-size:10px;color:var(--text-dim)}.sheet-facts label.grow{flex:1}.sheet-facts input{width:100%}.sheet-facts .chip{align-self:flex-end}.sheet-revs{display:flex;flex-direction:column;gap:6px;border:1px solid var(--glass-border);border-radius:var(--radius-md);padding:8px;background:#ffffff08}.sheet-rev-line{font-size:11.5px;color:var(--text)}.sheet-rev-line span{color:var(--text-dim);margin:0 4px}.sheet-rev-line small{color:var(--text-dim)}.sheet-rev-line.dim{color:var(--text-dim);font-size:11px}.sheet-rev-add{display:flex;gap:6px}.sheet-rev-add input{flex:1;min-width:0}.sheet-actions,.sheets-issue{display:flex;gap:6px;align-items:center}.sheet-actions button,.sheet-rev-add button,.sheets-issue button{background:#ffffff12;border:1px solid var(--glass-border);color:var(--text);border-radius:var(--radius-sm);padding:6px 10px;font-size:11.5px;cursor:pointer;white-space:nowrap}.sheet-actions button:hover,.sheet-rev-add button:hover,.sheets-issue button:hover{border-color:#ffffff4d}.sheet-actions button:disabled,.sheet-rev-add button:disabled,.sheets-issue button:disabled{opacity:.45;cursor:default}.sheets-issue button.primary{background:linear-gradient(135deg,var(--accent1),var(--accent2));border:none;color:#fff;font-weight:600}.sheets-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;border-top:1px solid var(--glass-border);flex-wrap:wrap}.sheets-sections{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.sheets-sections .chip{gap:4px}.chip-x{background:none;border:none;color:var(--text-dim);cursor:pointer;font-size:10px;padding:0 2px;line-height:1}.chip-x:hover{color:var(--bad)}.sheets-issue input{width:220px}.sheets-empty{padding:24px 12px;font-size:12px;color:var(--text-dim);text-align:center}@media (max-width:900px){.sheets-body{grid-template-columns:1fr}.sheets-preview{display:none}}.di-card{position:relative;border-radius:12px;padding:10px 12px;margin:2px 0;background:linear-gradient(var(--glass-heavy),var(--glass-heavy)) padding-box,var(--di-gradient) border-box;border:1px solid transparent;color:var(--text);font-size:12px;line-height:1.45;max-width:100%}.di-card.settled{opacity:.72;background:linear-gradient(var(--glass-heavy),var(--glass-heavy)) padding-box,#ffffff29 border-box}.di-card.compact{padding:8px 10px;margin:6px 0}.di-card-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:4px}.di-tag{font-size:var(--type-micro);letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim)}.di-title{font-size:var(--type-label)}.di-cost{margin-left:auto;font-variant-numeric:tabular-nums;font-size:var(--type-caption);border-radius:var(--radius-pill);padding:1px 8px;border:1px solid transparent;white-space:nowrap}.di-cost.up{color:var(--terracotta);background:var(--terracotta-soft);border-color:var(--terracotta)}.di-cost.down{color:var(--ok);background:#3ddc971f;border-color:#3ddc9780}.di-cost.flat{color:var(--text-dim);border-color:var(--glass-border)}.di-summary{color:#d9d2ff;margin:2px 0 4px}.di-lines{list-style:none;margin:2px 0 6px;padding:0;color:var(--text)}.di-lines li{padding:1px 0 1px 12px;position:relative}.di-lines li:before{content:"";position:absolute;left:0;top:8px;width:6px;height:6px;border-radius:50%;background:var(--terracotta);opacity:.8}.di-lines li.di-dim,.di-dim{color:var(--text-dim)}.di-ops-toggle{background:none;border:none;color:var(--text-dim);font-size:var(--type-caption);cursor:pointer;padding:2px 0;text-align:left}.di-ops-toggle:hover{color:#fff}.di-ops{max-height:220px;overflow-y:auto;border:1px solid var(--glass-border);border-radius:var(--radius-sm);padding:4px 6px;margin:4px 0 6px;background:#ffffff08}.di-op-group{margin-bottom:4px}.di-op-row{display:flex;align-items:center;gap:6px;font-size:var(--type-caption);padding:2px 0 2px 14px;cursor:pointer}.di-op-row.head{padding-left:0;font-weight:600}.di-op-row.blocked{opacity:.45}.di-op-row input{accent-color:var(--terracotta);margin:0}.di-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}.di-btn{background:#ffffff14;border:1px solid var(--glass-border);color:var(--text);border-radius:var(--radius-sm);padding:5px 10px;font-size:var(--type-caption);cursor:pointer;font-family:var(--font-ui)}.di-btn:hover{border-color:var(--accent1);color:#fff}.di-btn:disabled{opacity:.4;cursor:default}.di-btn.primary{background:linear-gradient(135deg,var(--accent1),var(--accent2));border:none;color:#fff;font-weight:600}.di-btn.ghost{background:none}.di-btn.mini{padding:2px 7px;font-size:var(--type-micro)}.di-status{color:var(--text-dim);font-size:var(--type-caption);margin-top:4px}.di-whispers{position:fixed;z-index:calc(var(--z-chrome) - 4);width:250px;display:flex;flex-direction:column;gap:5px;pointer-events:auto}.di-whisper{display:grid;grid-template-columns:1fr auto;grid-template-areas:"main cost" "main actions";gap:2px 8px;align-items:center;border-radius:10px;padding:7px 9px;background:linear-gradient(var(--glass-heavy),var(--glass-heavy)) padding-box,var(--di-gradient) border-box;border:1px solid transparent;font-size:var(--type-caption);color:var(--text);box-shadow:var(--shadow-raise)}.di-whisper-main{grid-area:main;display:flex;flex-direction:column;gap:1px;min-width:0}.di-whisper-main b{font-size:var(--type-caption)}.di-whisper-main small{color:var(--text-dim);font-size:var(--type-micro);line-height:1.3}.di-whisper .di-cost{grid-area:cost;margin-left:0;justify-self:end}.di-whisper .di-btn.mini{grid-area:actions;justify-self:end}.di-whisper .di-x{grid-area:actions;justify-self:end;margin-right:44px;background:none;border:none;color:var(--text-dim);cursor:pointer;font-size:11px;padding:0 4px}.di-whisper .di-x:hover{color:#fff}.di-panel{position:fixed;top:70px;width:330px;max-height:min(70vh,720px);z-index:calc(var(--z-chrome) - 3);display:flex;flex-direction:column;overflow:hidden}.di-body{display:flex;flex-direction:column;gap:2px}.di-tool{display:inline-flex;align-items:center;gap:5px}.di-badge{display:inline-block;min-width:16px;padding:0 5px;border-radius:var(--radius-pill);background:var(--terracotta);color:#fff;font-size:10px;line-height:16px;text-align:center;font-weight:700}.di-badge.err{background:var(--bad)}.di-lint-head{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--text-dim);font-size:var(--type-caption);padding:2px 0 6px}.di-pins{display:inline-flex;align-items:center;gap:5px;cursor:pointer}.di-pins input{accent-color:var(--terracotta);margin:0}.di-finding{display:grid;grid-template-columns:auto 1fr auto auto;gap:6px;align-items:center;padding:6px 4px;border-top:1px solid var(--glass-border);font-size:var(--type-caption)}.di-finding-main{min-width:0}.di-finding-msg{line-height:1.35}.di-finding small{color:var(--text-dim);font-size:var(--type-micro)}.di-dot{width:8px;height:8px;border-radius:50%;background:var(--terracotta);display:inline-block;flex:none}.di-finding.error .di-dot,.di-dot.error{background:var(--bad)}.di-finding.info .di-dot,.di-dot.info{background:var(--accent2);opacity:.8}.di-rule{border-top:1px solid var(--glass-border);padding:6px 0;font-size:var(--type-caption)}.di-rule summary{cursor:pointer;display:flex;align-items:center;gap:6px;list-style:none}.di-rule summary::-webkit-details-marker{display:none}.di-rule p{margin:6px 0 4px;line-height:1.45;color:var(--text)}.di-refs{margin:4px 0 0;padding-left:14px;color:var(--text-dim);font-size:var(--type-micro);line-height:1.5}.di-refs b{color:var(--text)}.msg.sys.di-holder{background:none;border:none;padding:0;max-width:100%}.d3-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-overlay);background:#080a148c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:20px}.d3-designer{width:min(1180px,96vw);max-height:min(760px,92vh);display:flex;flex-direction:column;padding:14px 16px 16px;gap:10px;outline:none;overflow:hidden}.d3-head{display:flex;align-items:flex-start;gap:12px}.d3-head h2{font-size:16px;font-weight:650;letter-spacing:-.01em}.d3-head span{display:block;font-size:10.5px;color:var(--text-dim);margin-top:2px}.d3-name{flex:1;min-width:120px;max-width:340px;margin-left:auto;background:#ffffff12;border:1px solid var(--glass-border);border-radius:var(--radius-md);padding:7px 10px;color:var(--text);font-size:12.5px;font-family:inherit;outline:none}.d3-name:focus{border-color:var(--accent1)}.d3-families{display:flex;flex-wrap:wrap;gap:4px}.d3-body{display:grid;grid-template-columns:minmax(300px,1fr) minmax(280px,1fr) minmax(260px,.9fr);gap:12px;min-height:0;flex:1}.d3-col{min-width:0;overflow-y:auto;display:flex;flex-direction:column;gap:8px;padding-right:2px}.d3-col::-webkit-scrollbar{width:7px}.d3-col::-webkit-scrollbar-thumb{background:#ffffff24;border-radius:4px}.d3-viewtabs{display:flex;gap:4px}.d3-canvas{width:100%;height:260px;border-radius:var(--radius-md);border:1px solid var(--glass-border);background:#f4f3ef;display:block;flex:none}.d3-ref{display:flex;flex-direction:column;gap:6px}.d3-ref-head{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-dim)}.d3-ref-head b{color:var(--text);font-size:11.5px;margin-right:auto}.d3-file{position:relative;overflow:hidden;cursor:pointer}.d3-file input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.d3-ref-img{width:100%;max-height:180px;object-fit:contain;border-radius:var(--radius-md);border:1px solid var(--glass-border);background:#ffffff0a}.d3-ref-drop{border:1px dashed var(--glass-border);border-radius:var(--radius-md);padding:14px;font-size:10.5px;line-height:1.5;color:var(--text-dim);text-align:center}.d3-proposal{border-radius:var(--radius-md);padding:9px 10px;background:#ffffff0d;border:1px solid transparent;background-clip:padding-box;position:relative}.d3-proposal:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--radius-md);padding:1px;background:var(--di-gradient);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.d3-proposal-head{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent2);margin-bottom:4px}.d3-diff{margin:4px 0 6px;padding-left:15px;font-size:10.5px;line-height:1.55;color:var(--text)}.d3-slots .b2-section{border-radius:var(--radius-md)}.d3-designer{font-size:12px}.d3-designer .row{display:flex;gap:6px}.d3-designer label{color:var(--text-dim);font-size:11px}.d3-designer input[type=number],.d3-designer input[type=text],.d3-designer input[type=search]{width:100%;box-sizing:border-box;background:#ffffff14;border:1px solid var(--glass-border);border-radius:var(--radius-sm);padding:6px 8px;color:var(--text);outline:none;font-size:12px;font-family:inherit}.d3-designer input[type=number]:focus,.d3-designer input[type=text]:focus,.d3-designer input[type=search]:focus{border-color:var(--accent1)}.d3-designer .del{background:#ff6b6b26;border:1px solid rgba(255,107,107,.4);color:#ffb3b3;border-radius:var(--radius-sm);padding:7px;cursor:pointer;text-align:center;font-family:inherit;font-size:11.5px}.d3-assets{display:grid;grid-template-columns:repeat(auto-fill,minmax(74px,1fr));gap:6px;margin-top:6px}.d3-asset{display:flex;flex-direction:column;align-items:center;gap:3px;padding:4px;cursor:pointer;background:#ffffff0d;border:1px solid var(--glass-border);border-radius:var(--radius-sm);color:var(--text-dim);font-size:9.5px;font-family:inherit;line-height:1.25;text-align:center}.d3-asset:hover{color:var(--text);border-color:var(--accent1)}.d3-asset img{width:100%;height:46px;object-fit:contain;border-radius:4px;background:#f4f3ef}.d3-asset-ph{height:46px;display:flex;align-items:center;font-size:18px}.d3-bars{display:flex;flex-direction:column;gap:3px}.d3-bar{display:grid;grid-template-columns:74px 1fr auto;gap:6px;align-items:center;font-size:10px;color:var(--text-dim)}.d3-bar-lbl{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.d3-bar-track{height:6px;border-radius:3px;background:#ffffff14;overflow:hidden}.d3-bar-track i{display:block;height:100%;background:var(--accent1);opacity:.75;border-radius:3px}.d3-bar-amt{font-variant-numeric:tabular-nums;color:var(--text)}.d3-actions{display:flex;flex-direction:column;gap:6px;margin-top:auto;padding-top:6px}@media (max-width:1080px){.d3-body{grid-template-columns:1fr 1fr}.d3-money{grid-column:1 / -1}}.fl-root{position:fixed;top:0;right:0;bottom:0;left:0;overflow-y:auto;-webkit-overflow-scrolling:touch;background:var(--world-bg,#0b0d16);color:var(--text,#eef0f8);font-size:15px;-webkit-tap-highlight-color:transparent}.fl-wrap{max-width:540px;margin:0 auto;padding:12px 14px 120px}.fl-top{display:flex;align-items:center;gap:10px;padding:8px 2px 6px}.fl-brand{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--text-dim,#9aa0b8)}.fl-title{font-size:16px;font-weight:600}.fl-sub{font-size:12px;color:var(--text-dim,#9aa0b8);line-height:1.45}.fl-center{text-align:center}.fl-card{background:var(--glass-heavy,rgba(16,18,30,.66));border:1px solid var(--glass-border,rgba(255,255,255,.14));border-radius:16px;padding:14px 14px 16px;margin-top:12px}.fl-subcard{background:#ffffff0a;border:1px dashed var(--glass-border,rgba(255,255,255,.14));border-radius:12px;padding:12px;margin-top:8px}.fl-subcard.fl-pulse{border-color:var(--amber,#ffb020);animation:fl-pulse 1.6s ease-in-out 2}@keyframes fl-pulse{0%,to{box-shadow:0 0 #ffb02000}50%{box-shadow:0 0 0 4px #ffb02040}}.fl-label{display:block;font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim,#9aa0b8);margin:16px 0 6px}.fl-label:first-child{margin-top:0}.fl-input,.fl-textarea{width:100%;box-sizing:border-box;background:#ffffff12;border:1px solid var(--glass-border,rgba(255,255,255,.14));border-radius:12px;padding:13px 14px;color:var(--text,#eef0f8);font-size:16px;font-family:inherit;outline:none;min-height:48px}.fl-input:focus,.fl-textarea:focus{border-color:#00d4ff8c}.fl-input:disabled{opacity:.55}.fl-amount{display:flex;align-items:center;gap:8px}.fl-amount .fl-rupee{font-size:26px;font-weight:700;color:var(--text-dim,#9aa0b8)}.fl-amount .fl-input{font-size:26px;font-weight:700;padding:10px 14px}.fl-chips{display:flex;flex-wrap:wrap;gap:8px}.fl-chip{display:inline-flex;align-items:center;min-height:40px;padding:8px 14px;border-radius:999px;border:1px solid var(--glass-border,rgba(255,255,255,.14));background:#ffffff0d;color:var(--text,#eef0f8);font-size:14px;font-family:inherit;cursor:pointer;-webkit-user-select:none;user-select:none}.fl-chip.fl-on{border-color:var(--a2,#00d4ff);background:#00d4ff24;color:#fff}.fl-chip.fl-amber{border-color:#ffb02080}.fl-chip.fl-amber.fl-on{background:#ffb0202e;border-color:var(--amber,#ffb020)}.fl-chip.fl-small{min-height:32px;padding:5px 10px;font-size:12.5px}.fl-headgrid .fl-chip{font-size:13px;min-height:36px;padding:6px 11px}.fl-picked{display:flex;align-items:center;justify-content:space-between;background:#00d4ff1f;border:1px solid rgba(0,212,255,.5);border-radius:12px;padding:10px 12px;margin-bottom:8px;font-size:14px}.fl-picked button{background:none;border:none;color:var(--text-dim,#9aa0b8);font-size:18px;cursor:pointer;padding:0 4px;font-family:inherit}.fl-grouplab{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim,#9aa0b8);margin:8px 0 4px}.fl-btn{display:block;width:100%;box-sizing:border-box;min-height:52px;padding:14px 16px;border-radius:14px;border:1px solid transparent;background:linear-gradient(135deg,var(--a1,#7c5cff),var(--a2,#00d4ff));color:#fff;font-size:16px;font-weight:600;font-family:inherit;cursor:pointer;margin-top:10px}.fl-btn:disabled{opacity:.5;cursor:not-allowed}.fl-btn.fl-ghost{background:#ffffff0f;border-color:var(--glass-border,rgba(255,255,255,.14));color:var(--text,#eef0f8);font-weight:500}.fl-btn.fl-danger{background:transparent;border-color:#b5562e99;color:var(--terracotta,#B5562E)}.fl-btn.fl-warn{background:transparent;border-color:#ffb0208c;color:var(--amber,#ffb020)}.fl-btn.fl-primary-big{font-size:19px;padding:20px;margin-top:16px}.fl-bigbtns{display:grid;grid-template-columns:1fr 1fr;gap:10px}.fl-bigbtns .fl-btn{margin-top:0}.fl-err{color:var(--bad,#ff6b6b);font-size:13px;min-height:1.2em;margin-top:8px}.fl-nudge{color:var(--amber,#ffb020);font-size:12.5px;margin-top:12px;min-height:1em}.fl-ai{display:inline-block;padding:2px 9px;border-radius:999px;font-size:11.5px;color:#fff;background:linear-gradient(135deg,var(--a1,#7c5cff),var(--a2,#00d4ff))}.fl-hist{display:flex;gap:10px;align-items:flex-start;padding:12px 0;border-top:1px solid rgba(255,255,255,.08);font-size:14px}.fl-hist .fl-amt{font-weight:700;min-width:84px;font-variant-numeric:tabular-nums}.fl-hist .fl-mid{flex:1;min-width:0}.fl-hist .fl-acts{display:flex;flex-direction:column;gap:6px;align-items:flex-end}.fl-tag{display:inline-flex;align-items:center;min-height:28px;padding:3px 10px;border-radius:999px;font-size:11.5px;border:1px solid var(--glass-border,rgba(255,255,255,.14));color:var(--text-dim,#9aa0b8);background:transparent;font-family:inherit;cursor:default;white-space:nowrap}.fl-tag.fl-btnish{cursor:pointer;color:var(--text,#eef0f8)}.fl-tag.fl-ok{border-color:var(--ok,#3ddc97);color:var(--ok,#3ddc97)}.fl-tag.fl-cyan{border-color:var(--a2,#00d4ff);color:var(--a2,#00d4ff)}.fl-tag.fl-amber{border-color:var(--amber,#ffb020);color:var(--amber,#ffb020)}.fl-tag.fl-terra{border-color:var(--terracotta,#B5562E);color:var(--terracotta,#B5562E)}.fl-section{font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim,#9aa0b8);padding:10px 0 2px}.fl-section.fl-amber{color:var(--amber,#ffb020)}.fl-void{opacity:.62}.fl-strike{text-decoration:line-through;color:var(--text-dim,#9aa0b8)}.fl-tick{width:64px;height:64px;border-radius:50%;background:#3ddc9729;border:1px solid var(--ok,#3ddc97);color:var(--ok,#3ddc97);font-size:32px;display:flex;align-items:center;justify-content:center;margin:12px auto}.fl-sigpad{width:100%;height:150px;background:#fff;border-radius:10px;touch-action:none;display:block}.fl-link{background:none;border:none;color:var(--text-dim,#9aa0b8);text-decoration:underline;font-size:13px;cursor:pointer;font-family:inherit;padding:0}.fl-bar{position:fixed;left:0;right:0;bottom:0;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:linear-gradient(180deg,#0b0d1600,#0b0d16eb 30%)}.fl-bar-inner{max-width:540px;margin:0 auto}.fl-receipt-img{max-width:100%;border-radius:10px;margin-top:8px;display:block}.fl-paper{background:var(--paper-bone,#F4F3EF);color:var(--paper-ink,#1D322D);border-radius:14px;padding:22px 20px;margin-top:12px;font-family:Georgia,Times New Roman,serif}.fl-paper h2{font-size:18px;margin:0 0 4px}.fl-paper .fl-psub{font-size:11px;opacity:.7}.fl-paper table{width:100%;border-collapse:collapse;margin-top:12px;font-size:11.5px}.fl-paper th{text-align:left;font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;opacity:.65;border-bottom:1px solid rgba(29,50,45,.4);padding:5px 4px}.fl-paper td{padding:6px 4px;border-bottom:1px solid var(--paper-line,rgba(29,50,45,.16));vertical-align:top}.fl-paper .fl-num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.fl-paper tr.fl-total td{border-top:1.5px solid var(--paper-ink,#1D322D);border-bottom:none;font-weight:700;padding-top:8px}.fl-paper .fl-sig{margin-top:36px;display:flex;gap:24px}.fl-paper .fl-sig div{flex:1;border-top:1px solid var(--paper-ink,#1D322D);padding-top:5px;font-size:10px;opacity:.75}@media print{.fl-root{position:static;overflow:visible;background:#fff;color:#000}.fl-noprint{display:none!important}.fl-paper{border-radius:0;padding:0;margin:0;background:#fff;color:#000}.fl-wrap{max-width:none;padding:0}}.adopt-panel{position:fixed;top:64px;right:14px;width:390px;max-height:calc(100vh - 140px);background:var(--glass-heavy);z-index:calc(var(--z-panel) + 4);display:flex;flex-direction:column;gap:10px;padding:14px;overflow-y:auto;font-size:12.5px;color:var(--text);outline:none}.adopt-panel h2{margin:0;font-size:14px;font-weight:600;letter-spacing:.01em}.adopt-panel h3{margin:0 0 6px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim)}.adopt-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.adopt-sub{display:block;margin-top:3px;font-size:11px;color:var(--text-dim);line-height:1.5}.adopt-x{background:none;border:none;color:var(--text-dim);font-size:14px;cursor:pointer;padding:2px 4px;border-radius:var(--radius-sm)}.adopt-x:hover{color:var(--text);background:#ffffff14}.adopt-step{border-top:1px solid var(--glass-border);padding-top:9px}.adopt-step:first-of-type{border-top:none;padding-top:0}.adopt-note{margin:0 0 7px;font-size:11.5px;line-height:1.5;color:var(--text-dim)}.adopt-note.live{color:var(--text);display:flex;align-items:center;gap:8px}.adopt-row{display:flex;align-items:center;gap:7px;margin:6px 0;flex-wrap:wrap}.adopt-row label{font-size:11.5px;color:var(--text-dim)}.adopt-row input[type=number]{width:76px;background:#ffffff12;border:1px solid var(--glass-border);color:var(--text);border-radius:var(--radius-sm);padding:4px 7px;font-size:12px;font-family:var(--font-ui)}.adopt-row input[type=range]{flex:1;min-width:110px;accent-color:#B5562E}.adopt-unit{font-size:11px;color:var(--text-dim)}.adopt-summary{display:flex;align-items:center;gap:8px;font-size:12px;margin-bottom:6px}.adopt-cost{margin-left:auto;font-size:11px;padding:1px 7px;border-radius:999px;border:1px solid var(--glass-border)}.adopt-cost.up{color:#e8b4a0}.adopt-cost.down{color:#9fd6c0}.adopt-actions-row{display:flex;gap:6px;margin:4px 0 8px}.adopt-opts{display:flex;flex-direction:column;gap:4px;margin:6px 0 4px;font-size:11.5px;color:var(--text-dim)}.adopt-opts label{display:flex;align-items:flex-start;gap:6px;cursor:pointer;line-height:1.45}.adopt-opts input{margin-top:2px;accent-color:#B5562E}.adopt-group{border-top:1px solid var(--glass-border);padding-top:6px;margin-top:6px}.adopt-group-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.adopt-group-head label{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:12px}.adopt-group-head input{accent-color:#B5562E}.adopt-group-head small{color:var(--text-dim)}.adopt-more{background:none;border:none;color:var(--text-dim);font-size:11px;cursor:pointer;padding:2px 4px;font-family:var(--font-ui)}.adopt-more:hover{color:var(--text)}.adopt-rows{list-style:none;margin:5px 0 0;padding:0;max-height:220px;overflow-y:auto}.adopt-rows li{display:flex;align-items:center;gap:6px;padding:2px 0;font-size:11.5px}.adopt-rows li.off{opacity:.45}.adopt-rows li label{display:flex;align-items:center;gap:6px;flex:1;min-width:0;cursor:pointer}.adopt-rows input{accent-color:#B5562E}.adopt-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.adopt-more-note{color:var(--text-dim);font-style:italic}.adopt-chip{font-size:10px;padding:1px 6px;border-radius:999px;border:1px solid transparent;white-space:nowrap}.adopt-chip.hi{background:#b5562ee6;color:#fff}.adopt-chip.mid{background:#b5562e47;color:var(--text);border-color:#b5562e99}.adopt-chip.lo{background:#ffffff0f;color:var(--text-dim);border-color:var(--glass-border)}.adopt-chip.src{background:#78c8dc2e;color:var(--text);border-color:#78c8dc73;margin-right:6px}.adopt-reclass{display:flex;gap:2px}.adopt-reclass button{background:#ffffff0f;border:1px solid var(--glass-border);color:var(--text-dim);border-radius:4px;font-size:10px;line-height:1;padding:3px 5px;cursor:pointer;font-family:var(--font-ui)}.adopt-reclass button:hover{color:#fff;border-color:#b5562e;background:#b5562e59}.adopt-warn{list-style:none;margin:8px 0 0;padding:7px 9px;border-radius:var(--radius-sm);background:#b5562e1f;border:1px solid rgba(181,86,46,.35);font-size:11px;line-height:1.5;color:var(--text-dim)}.adopt-warn li+li{margin-top:4px}.adopt-foot{display:flex;align-items:center;gap:7px;flex-wrap:wrap;border-top:1px solid var(--glass-border);padding-top:10px}.adopt-foot-note{font-size:10.5px;color:var(--text-dim);margin-left:auto}.adopt-pick{position:fixed;top:0;right:0;bottom:0;left:0;z-index:calc(var(--z-panel) - 1);cursor:crosshair;background:#b5562e0a}.adopt-drop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:calc(var(--z-panel) + 6);display:flex;align-items:center;justify-content:center;pointer-events:none;background:#b5562e1a;border:2px dashed rgba(181,86,46,.75)}.adopt-drop span{background:#1d1d1fdb;border:1px solid rgba(181,86,46,.6);border-radius:var(--radius-sm);padding:10px 16px;font-size:13px;color:#fff}.adopt-busy{position:fixed;top:64px;left:50%;transform:translate(-50%);z-index:calc(var(--z-panel) + 5);display:flex;align-items:center;gap:10px;padding:9px 14px;font-size:12.5px;color:var(--text);max-width:min(560px,92vw)}.adopt-busy.adopt-err{border-color:#b5562e99}.vp3d{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2}.vp3d-canvas{display:block;width:100%;height:100%;outline:none}.vp3d-hud{background:#10121ee0;position:fixed;top:64px;left:50%;transform:translate(-50%);z-index:17;display:flex;align-items:center;gap:5px;padding:5px 8px;max-width:calc(100vw - 660px);flex-wrap:wrap;justify-content:center}.vp3d-hud.under-thickbar{top:108px}.vp3d-hud .tool{padding:5px 9px;font-size:11.5px}.vp3d-hud button{font:inherit}.vp3d-hud .tool{display:inline-flex;align-items:center;gap:5px;line-height:1.2}.vp3d-hud .tool[aria-pressed=true]{background:linear-gradient(135deg,#7c5cff59,#00d4ff40);color:#fff;border-color:var(--accent1)}.vp3d-lens{display:flex;background:#ffffff0f;border:1px solid var(--glass-border);border-radius:var(--radius-md);overflow:hidden}.vp3d-lens button{background:none;border:none;color:var(--text-dim);padding:6px 13px;font-size:12px;cursor:pointer;white-space:nowrap}.vp3d-lens button.on{background:linear-gradient(135deg,var(--accent1),var(--accent2));color:#fff}.vp3d-sun{display:flex;align-items:center;gap:6px;color:var(--text-dim);font-size:11.5px;padding:0 4px}.vp3d-sun input[type=range]{width:84px;accent-color:var(--accent1)}.vp3d-sun span{min-width:44px;text-align:center;font-variant-numeric:tabular-nums;color:var(--text)}.vp3d-more{background:#10121ef0;position:absolute;top:calc(100% + 8px);right:8px;display:flex;flex-direction:column;gap:8px;padding:10px 12px;min-width:220px;font-size:12px;color:var(--text-dim)}.vp3d-more label{display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer}.vp3d-more input[type=range]{width:110px;accent-color:var(--accent1)}.vp3d-more input[type=checkbox]{accent-color:var(--accent1)}.vp3d-more .stats{font-size:10.5px;opacity:.75;border-top:1px solid var(--glass-border);padding-top:6px;font-variant-numeric:tabular-nums}.vp3d-tip{position:fixed;z-index:18;pointer-events:none;background:var(--glass-heavy);border:1px solid var(--glass-border);color:var(--text);padding:5px 9px;border-radius:var(--radius-sm);font-size:11.5px;white-space:nowrap;box-shadow:var(--shadow-raise)}.vp3d-walkhint{position:fixed;bottom:92px;left:50%;transform:translate(-50%);z-index:17;font-size:11px;color:var(--text-dim);background:var(--glass-heavy);border:1px solid var(--glass-border);border-radius:20px;padding:5px 12px;white-space:nowrap}.vp3d-transition{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3;pointer-events:none}@media (prefers-reduced-motion: reduce){.vp3d-canvas{transition:none}}.vp3d-quality{display:flex;align-items:center;justify-content:space-between;gap:10px}.vp3d-quality>div{display:flex;background:#ffffff0f;border:1px solid var(--glass-border);border-radius:var(--radius-md);overflow:hidden}.vp3d-quality button{background:none;border:none;color:var(--text-dim);padding:4px 9px;font:inherit;font-size:11px;cursor:pointer}.vp3d-quality button.on{background:linear-gradient(135deg,var(--accent1),var(--accent2));color:#fff}.vp3d-rooms{background:#10121ef0;position:absolute;top:calc(100% + 8px);left:8px;display:flex;flex-direction:column;gap:2px;padding:6px;min-width:190px;max-height:min(52vh,420px);overflow:auto;z-index:19}.vp3d-rooms button{display:flex;align-items:center;justify-content:space-between;gap:12px;background:none;border:none;color:var(--text);font:inherit;font-size:11.5px;padding:6px 8px;border-radius:var(--radius-sm);cursor:pointer;text-align:left;width:100%}.vp3d-rooms button:hover,.vp3d-rooms button:focus-visible{background:#7c5cff38}.vp3d-rooms em{font-style:normal;color:var(--text-dim);font-size:10.5px;font-variant-numeric:tabular-nums}.vp3d-rooms .empty{color:var(--text-dim);font-size:11.5px;padding:6px 8px}.vp3d-render{position:fixed;bottom:132px;left:50%;transform:translate(-50%);z-index:18;display:flex;align-items:center;gap:10px;background:#10121eeb;border:1px solid var(--glass-border);border-radius:22px;padding:7px 10px 7px 14px;font-size:11.5px;color:var(--text);white-space:nowrap;box-shadow:var(--shadow-raise)}.vp3d-render-bar{width:130px;height:5px;border-radius:3px;background:#ffffff1f;overflow:hidden}.vp3d-render-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--accent1),var(--accent2));transition:width .2s linear}.vp3d-render .tool{padding:4px 9px;font-size:11px}.vp3d-pop-mid{right:auto;left:50%;transform:translate(-50%)}.vp3d-hud .tgroup{position:static}.fd-root{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;isolation:isolate;background:var(--world-bg, #0b0d16);color:var(--text, #eef0f8);font-family:var(--font-ui);display:grid;grid-template-columns:minmax(0,1fr);place-items:center;padding:24px;box-sizing:border-box;--fd-x: 0;--fd-y: 0;--fd-hue: 0deg}.fd-ground{position:absolute;top:-10%;right:-10%;bottom:-10%;left:-10%;z-index:0;filter:blur(70px) saturate(132%) hue-rotate(var(--fd-hue));transition:filter .9s var(--ease-out, cubic-bezier(.22, 1, .36, 1));transform:translate3d(calc(var(--fd-x) * 40px),calc(var(--fd-y) * 40px),0);will-change:transform,filter;pointer-events:none}.fd-blob{position:absolute;border-radius:50%;opacity:.6;mix-blend-mode:screen;will-change:transform}.fd-blob.a{width:62vmax;height:62vmax;left:calc(29% - 31vmax);top:calc(33% - 31vmax);background:radial-gradient(circle at 50% 50%,#7c5cff,#7c5cff80 38%,#7c5cff00 70%);animation:fd-drift-a 62s ease-in-out infinite}.fd-blob.b{width:56vmax;height:56vmax;left:calc(73% - 28vmax);top:calc(32% - 28vmax);background:radial-gradient(circle at 50% 50%,#00d4ff,#00d4ff6b 38%,#00d4ff00 70%);animation:fd-drift-b 84s ease-in-out infinite}.fd-blob.c{width:58vmax;height:58vmax;left:calc(23% - 29vmax);top:calc(77% - 29vmax);background:radial-gradient(circle at 50% 50%,#b5562e,#b5562e80 40%,#b5562e00 72%);animation:fd-drift-c 47s ease-in-out infinite}.fd-blob.d{width:48vmax;height:48vmax;left:calc(68% - 24vmax);top:calc(82% - 24vmax);background:radial-gradient(circle at 50% 50%,#22d3ee,#22d3ee61 38%,#22d3ee00 70%);animation:fd-drift-d 73s ease-in-out infinite}.fd-blob.e{width:96vmax;height:76vmax;left:calc(50% - 48vmax);top:calc(50% - 38vmax);opacity:.32;background:radial-gradient(closest-side,#7c5cff8c,#ff5ca838 45%,#7c5cff00 78%);animation:fd-drift-b 96s ease-in-out infinite reverse}@keyframes fd-drift-a{0%{transform:translateZ(0) scale(1)}33%{transform:translate3d(9vw,6vh,0) scale(1.14)}66%{transform:translate3d(3vw,12vh,0) scale(.94)}to{transform:translateZ(0) scale(1)}}@keyframes fd-drift-b{0%{transform:translateZ(0) scale(1.04)}40%{transform:translate3d(-11vw,9vh,0) scale(.9)}70%{transform:translate3d(-4vw,2vh,0) scale(1.16)}to{transform:translateZ(0) scale(1.04)}}@keyframes fd-drift-c{0%{transform:translateZ(0) scale(.96)}45%{transform:translate3d(12vw,-8vh,0) scale(1.12)}75%{transform:translate3d(18vw,-3vh,0) scale(1)}to{transform:translateZ(0) scale(.96)}}@keyframes fd-drift-d{0%{transform:translateZ(0) scale(1.1)}50%{transform:translate3d(-9vw,-11vh,0) scale(.92)}to{transform:translateZ(0) scale(1.1)}}.fd-grain{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;opacity:.055;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/></filter><rect width='160' height='160' filter='url(%23n)' opacity='0.9'/></svg>");background-size:160px 160px}.fd-vignette{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;background:radial-gradient(118% 88% at 50% 46%,#0b0d1600 38%,#0b0d168c)}.fd-stage{position:relative;z-index:2;width:100%;min-width:0;max-width:520px;display:flex;flex-direction:column;align-items:stretch;gap:26px}.fd-title{margin:0;font-family:var(--font-display, Georgia, serif);font-weight:700;font-size:clamp(48px,9vw,112px);line-height:.9;letter-spacing:-.035em;text-align:center;color:#fff;text-shadow:0 2px 40px rgba(0,0,0,.35);transform:perspective(900px) rotateY(calc(var(--fd-x) * 1.6deg)) rotateX(calc(var(--fd-y) * -1.6deg)) translate3d(calc(var(--fd-x) * 11px),calc(var(--fd-y) * 11px),0);will-change:transform}.fd-tagline{margin:14px 0 0;text-align:center;font-size:13.5px;letter-spacing:.14em;text-transform:uppercase;color:#ffffff9e}.fd-demo{position:fixed;top:20px;right:20px;z-index:3;display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 16px;border-radius:var(--radius-pill, 999px);cursor:pointer;font:inherit;font-size:13px;color:#ffffffe6;background:#ffffff12;border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(18px) saturate(150%);-webkit-backdrop-filter:blur(18px) saturate(150%);box-shadow:inset 1px 1px #ffffff38,0 12px 30px -18px #000c;transition:background .18s var(--ease-out),border-color .18s var(--ease-out),transform .16s var(--ease-out)}.fd-demo:hover{background:#ffffff1f;border-color:#ffffff42}.fd-demo:active{transform:translateY(1px)}.fd-demo span{font-size:10px;opacity:.85}.fd-demo-link{display:none;background:none;border:none;padding:0;margin:-6px auto 0;cursor:pointer;font:inherit;font-size:13px;color:#ffffffb8}.fd-di{display:flex;flex-direction:column;align-items:center;gap:13px;margin-top:26px;text-align:center}.fd-di-badge{display:inline-block;padding:5px 13px;border-radius:var(--radius-pill, 999px);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:#ffffffe6;border:1px solid transparent;background:linear-gradient(#0d0f1ac7,#0d0f1a99) padding-box,var(--di-gradient, linear-gradient(90deg, #00d4ff, #7c5cff, #ff5ca8)) border-box;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);white-space:nowrap}.fd-di-line{min-height:1.5em;max-width:34ch;font-size:16px;line-height:1.5;color:#ffffffd6;opacity:1;transition:opacity .32s var(--ease-out, cubic-bezier(.22, 1, .36, 1))}.fd-di-line.out{opacity:0}.fd-di-caret{display:inline-block;width:1px;height:1em;margin-left:2px;vertical-align:-.15em;background:currentColor;animation:fd-caret 1s steps(2,end) infinite}@keyframes fd-caret{50%{opacity:0}}.fd-card{position:relative;border-radius:32px;padding:30px 30px 26px;box-sizing:border-box;background:linear-gradient(155deg,#ffffff21,#ffffff0f 46%,#ffffff17);backdrop-filter:blur(28px) saturate(160%);-webkit-backdrop-filter:blur(28px) saturate(160%);border:1px solid rgba(255,255,255,.1);box-shadow:0 44px 90px -28px #000000b8,0 8px 26px -14px #00000080,inset 1.5px 1.5px #ffffff80,inset -1px -1px #ffffff0f,inset 0 -18px 40px -30px #ffffff59;transform:translate3d(calc(var(--fd-x) * 7px),calc(var(--fd-y) * 7px),0);will-change:transform}.fd-card:before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:33px;padding:1px;background:linear-gradient(150deg,#ffffff8c,#ffffff0f 26%,#fff0 55%,#ffffff1a 82%,#ffffff4d);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;transform:translate(1px,1px);filter:blur(.6px);pointer-events:none}.fd-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:32px;pointer-events:none;background:radial-gradient(130% 70% at 8% -8%,#fff3,#ffffff0d 34%,#fff0 62%),radial-gradient(80% 50% at 100% 106%,#ffffff14,#fff0 60%)}.fd-card>*{position:relative;z-index:1}.fd-row{display:flex;align-items:stretch;gap:10px}.fd-field{flex:1;min-width:0;display:flex;align-items:center;gap:8px;background:#ffffff0f;border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:0 14px;height:52px;box-shadow:inset 1px 1px #ffffff24;transition:border-color .18s var(--ease-out),background .18s var(--ease-out),box-shadow .18s var(--ease-out)}.fd-field:focus-within{border-color:#ffffff57;background:#ffffff1a;box-shadow:inset 1px 1px #ffffff38,0 0 0 4px #7c5cff29}.fd-field.bad{border-color:var(--terracotta, #b5562e)}.fd-cc{width:3.4em;flex:none;background:none;border:none;outline:none;color:#ffffffb8;font:inherit;font-size:16px;font-variant-numeric:tabular-nums;padding:0}.fd-cc-sep{width:1px;height:22px;background:#ffffff29;flex:none}.fd-input{flex:1;width:100%;min-width:0;background:none;border:none;outline:none;color:#fff;font:inherit;font-size:16px;letter-spacing:.01em;padding:0}.fd-input::placeholder{color:#ffffff57}.fd-go{flex:none;height:52px;min-width:52px;padding:0 22px;border:none;border-radius:16px;cursor:pointer;font:inherit;font-size:14.5px;font-weight:600;color:#fff;background:linear-gradient(135deg,#7c5cff,#00d4ff);box-shadow:0 10px 26px -12px #7c5cffe6,inset 1px 1px #ffffff4d;transition:transform .16s var(--ease-out),filter .16s var(--ease-out)}.fd-go:hover{filter:brightness(1.08)}.fd-go:active{transform:translateY(1px)}.fd-go:disabled{opacity:.5;cursor:default}.fd-go-sm{height:40px;min-width:0;padding:0 18px;font-size:13.5px;border-radius:13px}.fd-note{margin-top:12px;font-size:12px;line-height:1.6;color:#ffffff94}.fd-error{margin-top:12px;font-size:12.5px;line-height:1.55;color:#e8825a}.fd-or{display:flex;align-items:center;gap:12px;margin:22px 0 16px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#ffffff61}.fd-or:before,.fd-or:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,#fff0,#ffffff29,#fff0)}.fd-alts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.fd-alt{display:flex;align-items:center;justify-content:center;gap:8px;height:46px;border-radius:14px;cursor:pointer;font:inherit;font-size:13px;color:#ffffffdb;background:#ffffff0e;border:1px solid rgba(255,255,255,.12);box-shadow:inset 1px 1px #ffffff24;transition:background .18s var(--ease-out),border-color .18s var(--ease-out),transform .16s var(--ease-out)}.fd-alt:hover{background:#ffffff1a;border-color:#ffffff38}.fd-alt:active{transform:translateY(1px)}.fd-alt[aria-pressed=true]{background:#ffffff21;border-color:#ffffff47}.fd-alt-glyph{font-size:15px;line-height:1;opacity:.9}.fd-otp{display:flex;gap:10px;justify-content:space-between}.fd-otp input{width:100%;height:60px;min-width:0;text-align:center;font:inherit;font-size:24px;font-variant-numeric:tabular-nums;color:#fff;background:#ffffff0f;border:1px solid rgba(255,255,255,.14);border-radius:14px;outline:none;box-shadow:inset 1px 1px #ffffff24;transition:border-color .16s var(--ease-out),background .16s var(--ease-out)}.fd-otp input:focus{border-color:#fff6;background:#ffffff1c}.fd-quiet{background:none;border:none;padding:0;cursor:pointer;font:inherit;font-size:12.5px;color:#ffffff9e;text-decoration:underline;text-underline-offset:3px}.fd-quiet:hover{color:#fff}.fd-quiet:disabled{color:#ffffff4d;cursor:default;text-decoration:none}.fd-progress{position:relative;height:2px;border-radius:2px;background:#ffffff1a;overflow:hidden;margin-bottom:26px}.fd-progress i{position:absolute;inset:0 auto 0 0;display:block;border-radius:2px;background:linear-gradient(90deg,#00d4ff,#7c5cff);transition:width .42s var(--ease-out, cubic-bezier(.22, 1, .36, 1))}.fd-stepwrap{position:relative}.fd-step{display:block}.fd-step.leaving{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.fd-stepno{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#ffffff80;margin-bottom:10px}.fd-question{margin:0 0 18px;font-family:var(--font-display, Georgia, serif);font-weight:600;font-size:clamp(23px,3.4vw,31px);line-height:1.18;letter-spacing:-.015em;color:#fff}.fd-sub{margin:0 0 16px;font-size:13px;line-height:1.55;color:#ffffff9e}.fd-hint{margin-top:14px;font-size:12px;color:#ffffff73;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.fd-key{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border-radius:6px;background:#ffffff14;border:1px solid rgba(255,255,255,.14);font-size:11px;color:#ffffffb8}.fd-preview b{white-space:nowrap}.fd-preview{margin-top:14px;font-family:var(--font-mono);font-size:12.5px;letter-spacing:.04em;color:#ffffff9e}.fd-preview b{color:#fff;font-weight:600}@keyframes fd-in{0%{opacity:0;transform:translate3d(0,34px,0)}to{opacity:1;transform:translateZ(0)}}@keyframes fd-out{0%{opacity:1;transform:translateZ(0)}to{opacity:0;transform:translate3d(0,-48px,0)}}@keyframes fd-in-back{0%{opacity:0;transform:translate3d(0,-34px,0)}to{opacity:1;transform:translateZ(0)}}@keyframes fd-out-back{0%{opacity:1;transform:translateZ(0)}to{opacity:0;transform:translate3d(0,48px,0)}}.fd-step.entering>*{animation:fd-in .26s var(--ease-out, cubic-bezier(.22, 1, .36, 1)) both}.fd-step.entering>*:nth-child(2){animation-delay:40ms}.fd-step.entering>*:nth-child(3){animation-delay:80ms}.fd-step.entering>*:nth-child(4){animation-delay:.12s}.fd-step.leaving{animation:fd-out .22s cubic-bezier(.25,1,.5,1) both}.fd-step.entering.back>*{animation-name:fd-in-back}.fd-step.leaving.back{animation-name:fd-out-back}@keyframes fd-rise{0%{opacity:0;transform:translate3d(0,26px,0) scale(.985)}to{opacity:1;transform:translateZ(0) scale(1)}}.fd-stage{animation:fd-rise .62s var(--ease-out, cubic-bezier(.22, 1, .36, 1)) both}@media (max-width: 430px){.fd-row{flex-wrap:wrap}.fd-go{width:100%}}@media (max-width: 520px){.fd-root{padding:20px 16px;align-items:center}.fd-blob{opacity:.46}.fd-blob.e{opacity:.24}.fd-stage{gap:20px}.fd-card{padding:24px 20px 20px;border-radius:28px}.fd-alts{grid-template-columns:1fr 1fr 1fr;gap:8px}.fd-alt{font-size:12px;height:44px}.fd-otp{gap:7px}.fd-otp input{height:52px;font-size:20px;border-radius:12px}.fd-tagline{font-size:11.5px;letter-spacing:.12em}.fd-demo{display:none}.fd-demo-link{display:block}.fd-di{margin-top:16px;gap:10px}.fd-di-line{font-size:13.5px;max-width:26ch;min-height:2.9em}.fd-di-badge{font-size:9.5px;letter-spacing:.13em;padding:4px 11px}}@media (prefers-reduced-motion: reduce){.fd-ground,.fd-title,.fd-card{transform:none}}
