:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#273036;-webkit-font-smoothing:antialiased;background:#f4f5f6;font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box}body{margin:0}button{font:inherit;color:inherit;cursor:pointer}.workspace{background:#f4f5f6;width:100%;height:100dvh;position:relative;overflow:hidden}.viewer-layer,.three-host{width:100%;height:100%;position:absolute;inset:0}.three-host canvas{touch-action:none;display:block}.three-host.orbit{cursor:url(/cursors/orbit.svg) 16 16,grab}.three-host.orbit:active{cursor:url(/cursors/orbit.svg) 16 16,grabbing}.hidden{visibility:hidden;pointer-events:none}.view-tabs{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:5;background:#fffffff0;border:1px solid #d7dde1;border-radius:10px;gap:5px;padding:5px;display:flex;position:absolute;top:22px;left:50%;transform:translate(-50%);box-shadow:0 4px 18px #18212a0d}.view-tabs button{color:#67737c;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;gap:9px;width:137px;height:41px;font-size:12px;transition:background .15s,color .15s;display:flex}.view-tabs button:hover{color:#27382b;background:#edf0f2}.view-tabs button.active{color:#35512c;background:#e5eedf}.floor-plan{background-image:radial-gradient(#dce1e5 1px,#0000 1px);background-size:22px 22px;justify-content:center;align-items:center;padding:105px 30px 100px;display:flex;position:absolute;inset:0}.plan-image{display:flex;position:relative}.plan-image img{object-fit:contain;max-width:min(85vw,1100px);max-height:calc(100dvh - 205px);display:block;box-shadow:0 15px 60px #18212a1a}.plan-image svg{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.upload-button{white-space:nowrap;background:#fff;border:1px solid #d2d9de;border-radius:8px;align-items:center;gap:9px;padding:13px 18px;font-size:12px;display:flex;position:absolute;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 4px 18px #18212a0d}.upload-button:hover{color:#35512c;background:#edf3e7;border-color:#a8bb98}.loading,.empty-model,.webgl-error,.drop-overlay{color:#51674a;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:15px;padding:35px;font-size:13px;display:flex;position:absolute;inset:0}.loading{z-index:4;pointer-events:none;background:#f4f5f6dc}.drop-overlay{z-index:10;pointer-events:none;background:#f1f6eced;border:2px dashed #8ba773}.error-toast{color:#73472c;z-index:6;background:#fff5ed;border:1px solid #dfbda7;border-radius:8px;align-items:center;gap:15px;max-width:min(520px,90vw);padding:14px 18px;font-size:12px;line-height:1.6;display:flex;position:absolute;bottom:85px;left:50%;transform:translate(-50%)}.error-toast button{background:0 0;border:0;padding:0;display:flex}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:600px){.view-tabs{top:15px}.view-tabs button{width:122px;height:39px}.floor-plan{padding-inline:15px}.plan-image img{max-width:92vw}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation-duration:.01ms!important}}.camera-cursor{pointer-events:none;z-index:3;background:url(/cursors/orbit.svg) 50%/contain no-repeat;width:32px;height:32px;display:none;position:absolute;transform:translate(-50%,-50%)}.camera-cursor.visible{display:block}.three-host.rotating,.three-host.rotating canvas{cursor:none}.build-toolbar{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:5;background:#fffffff2;border:1px solid #d4dbdf;border-radius:12px;align-items:stretch;gap:7px;padding:7px;display:flex;position:absolute;bottom:22px;left:50%;transform:translate(-50%);box-shadow:0 8px 30px #24313c12}.build-toolbar>button{color:#59666c;text-align:left;background:0 0;border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;gap:12px;min-width:145px;height:62px;padding:10px 18px;font-size:13px;display:flex}.build-toolbar>button:hover{background:#f0f3ee}.build-toolbar>button.active{color:#38532c;background:#e5eedf;border-color:#c4d4b8}.build-toolbar>button.delete-active{color:#995942;background:#f8e9e3;border-color:#e9c7ba}.build-toolbar small{color:#87928a;white-space:nowrap;margin-top:5px;font-size:9px;font-weight:400;display:block}.history-buttons{border-left:1px solid #e0e5e7;flex-direction:column;justify-content:center;margin-left:2px;padding-left:5px;display:flex}.history-buttons button{color:#64735e;background:0 0;border:0;border-radius:4px;place-items:center;width:26px;height:28px;display:grid}.history-buttons button:hover{background:#edf2e9}.history-buttons button:disabled{opacity:.25;cursor:default}.build-instruction{color:#7b878b;z-index:4;text-align:center;white-space:nowrap;pointer-events:none;background:#f4f5f6d9;border-radius:5px;padding:7px 12px;font-size:10px;position:absolute;bottom:111px;left:50%;transform:translate(-50%)}.furniture-picker{z-index:6;background:#fffffff5;border:1px solid #d7dfe1;border-radius:11px;gap:8px;padding:10px;display:flex;position:absolute;bottom:147px;left:50%;transform:translate(-50%);box-shadow:0 8px 35px #24313c15}.furniture-picker button{color:#65745e;background:#f7f9f5;border:1px solid #e0e6e1;border-radius:7px;flex-direction:column;align-items:center;gap:10px;width:130px;padding:18px 15px;display:flex}.furniture-picker button:hover,.furniture-picker button.active{background:#e5eedf;border-color:#b4c7a4}.furniture-picker strong{font-size:12px;font-weight:500}.furniture-picker span{color:#87928a;font-size:10px}.editable-plan{touch-action:none;-webkit-user-select:none;user-select:none;width:100%;max-width:1200px;height:100%}.floor-plan{padding:100px 30px 145px}.floor-plan .upload-button{z-index:5;padding:11px 13px;font-size:10px;inset:27px 22px auto auto;transform:none}.tool-wall,.tool-door,.tool-window,.tool-delete{cursor:crosshair!important}.placement-tip{color:#49603c;pointer-events:none;z-index:4;white-space:nowrap;background:#fffffff0;border:1px solid #d0ddc7;border-radius:5px;padding:7px 9px;font-size:10px;display:none;position:absolute}.error-toast{bottom:150px}@media (max-width:650px){.build-toolbar{gap:3px;max-width:96vw;padding:5px;bottom:14px}.build-toolbar>button{gap:7px;width:100px;min-width:0;height:59px;padding:8px;font-size:11px}.build-toolbar>button svg{width:19px}.build-toolbar small{font-size:7px}.build-instruction{white-space:normal;width:90%;font-size:9px;bottom:94px}.floor-plan .upload-button{padding:9px;top:76px;right:15px}.floor-plan{padding:125px 10px 130px}.history-buttons{display:none}}.edit-utilities{z-index:5;justify-content:center;align-items:center;gap:8px;display:flex;position:absolute;bottom:111px;left:50%;transform:translate(-50%)}.edit-utilities .history-buttons{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff2;border:1px solid #d4dbdf;border-radius:8px;flex-direction:row;gap:4px;margin:0;padding:5px;display:flex;box-shadow:0 4px 18px #24313c10}.edit-utilities .history-buttons button{color:#4c585f;width:33px;height:30px}.selection-actions{background:#faf9fff5;border:1px solid #c6c0e2;border-radius:8px;align-items:center;gap:9px;height:42px;padding:8px 10px;display:flex;box-shadow:0 4px 18px #24313c10}.selection-actions span{color:#6b5d99;white-space:nowrap;font-size:10px}.selection-actions button{color:#8475b8;background:0 0;border:0;border-radius:4px;place-items:center;width:25px;height:25px;padding:0;display:grid}.selection-actions button:hover{background:#eae5f8}.selection-marquee{pointer-events:none;z-index:3;background:#a594dd26;border:1px solid #8a7aca;display:none;position:absolute}.three-host.tool-select{cursor:default}.placement-tip{white-space:normal;max-width:calc(100% - 40px);line-height:1.6}@media (max-width:650px){.edit-utilities{bottom:94px}.build-instruction.with-utilities{bottom:143px}.selection-actions{gap:5px;padding:6px}}.placement-tip{width:max-content;max-width:min(320px,100% - 24px)}.tool-floor,.tool-fill-floor{cursor:crosshair!important}@media (max-width:650px){.build-picker button{width:96px;padding:14px 8px}.build-picker span{font-size:8px}}:root{--paper:#fffdf8;--ink:#384944;--accent:#427b64;--accent-soft:#e2f0dc;--line:#dedfd3;--danger:#bb554b;--ease:cubic-bezier(.2,.8,.2,1)}button{-webkit-tap-highlight-color:transparent;transition:background .16s, color .16s, border-color .16s, box-shadow .18s, scale .18s var(--ease)}button:not(:disabled):active{scale:.96}button:disabled{cursor:default}button:focus-visible{outline-offset:3px;outline:3px solid #72a790}.view-tabs{background:var(--paper);border-color:var(--line);-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:18px;padding:6px;box-shadow:0 5px #dce0d780,0 9px 24px #3849440b}.view-tabs button{border-radius:12px;font-weight:600}.view-tabs button.active{background:var(--accent-soft);color:var(--accent);box-shadow:inset 0 -2px #c4d8bc}.build-toolbar{width:min(580px,100%);padding:12px 16px max(12px, env(safe-area-inset-bottom));border:1px solid var(--line);background:var(--paper);-webkit-backdrop-filter:none;backdrop-filter:none;border-bottom:0;border-radius:28px 28px 0 0;gap:8px;bottom:0;box-shadow:0 -8px 30px #3849440d,inset 0 3px #fff}.build-toolbar>button{min-width:0;height:62px;color:var(--ink);border-radius:17px;flex:1;padding:10px 12px;font-weight:600;position:relative}.build-toolbar>button:after{content:"";background:var(--accent);opacity:0;width:18px;height:3px;transition:opacity .16s, scale .2s var(--ease);border-radius:4px;position:absolute;bottom:4px;scale:.4 1}.build-toolbar>button.active:after{opacity:1;scale:1}.build-toolbar>button:hover{background:#f0f2e9;box-shadow:0 3px 8px #3849440a}.build-toolbar>button.active{background:var(--accent-soft);color:var(--accent);border-color:#bfd6b7;box-shadow:inset 0 -3px #c9debf}.build-toolbar>button.delete-active{color:var(--danger);background:#fbe5dd;border-color:#efc6bc;box-shadow:inset 0 -3px #efc6bc}.build-toolbar>button.delete-active:after{background:var(--danger)}.build-toolbar small{color:#7b8b7c;font-size:9px}.furniture-picker{background:var(--paper);border-color:var(--line);width:min(550px,100% - 24px);animation:tray-in .18s var(--ease);border-radius:22px;gap:8px;padding:12px;bottom:142px;box-shadow:0 8px #dce0d74d,0 16px 35px #38494412}.furniture-picker button{width:auto;min-width:0;color:var(--ink);background:#f3f5ec;border-color:#e0e5d7;border-radius:15px;flex:1;padding:16px 8px}.furniture-picker button:hover{background:var(--accent-soft);translate:0 -2px;box-shadow:0 4px #c9debf}.furniture-picker strong{font-weight:600}.furniture-picker span{text-align:center;line-height:1.4}.build-instruction{background:var(--paper);color:#617569;white-space:normal;border-radius:10px;width:max-content;max-width:calc(100% - 24px);padding:7px 12px;bottom:99px}.build-instruction.with-utilities{bottom:144px}.edit-utilities{bottom:97px}.edit-utilities .history-buttons,.selection-actions{background:var(--paper);-webkit-backdrop-filter:none;backdrop-filter:none;border-color:var(--line);border-radius:13px}.error-toast{color:#9d4c42;background:#fff1eb;border-color:#edc2b9;border-radius:16px;animation:.24s ease-out invalid-shake;bottom:195px;box-shadow:0 8px 25px #bb554b10}.success-feedback{background:var(--accent-soft);color:var(--accent);z-index:4;pointer-events:none;animation:tray-in .16s var(--ease);border-radius:12px;padding:8px 14px;font-size:11px;position:absolute;top:90px;left:50%;translate:-50%}.placement-tip{background:var(--paper);border-radius:11px;box-shadow:0 3px 12px #38494410}.upload-button{background:var(--paper);border-color:var(--line);border-radius:12px}.placement-failed .three-host canvas,.placement-failed .editable-plan{animation:.26s ease-out invalid-flash}@keyframes tray-in{0%{opacity:0;margin-bottom:-8px}to{opacity:1;margin-bottom:0}}@keyframes invalid-shake{25%,75%{margin-left:-4px}50%{margin-left:4px}}@keyframes invalid-flash{50%{filter:sepia(.18)}}@media (max-width:650px){.build-toolbar{width:100%;max-width:100%;padding:10px 9px max(10px, env(safe-area-inset-bottom));gap:4px;bottom:0}.build-toolbar>button{gap:8px;width:auto;padding:8px;font-size:12px}.build-toolbar small{font-size:8px}.build-picker{flex-wrap:wrap}.build-picker button{flex-basis:calc(50% - 8px);gap:6px;padding:11px 8px}.view-tabs{top:14px}.furniture-picker{bottom:183px}.build-instruction{bottom:97px}.build-instruction.with-utilities{bottom:145px}.edit-utilities{bottom:97px}.selection-actions span{text-overflow:ellipsis;max-width:120px;overflow:hidden}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.furniture-picker{opacity:1;transition:opacity .16s var(--ease), translate .16s var(--ease), display .16s allow-discrete;animation:none;translate:0}.furniture-picker[hidden]{opacity:0;pointer-events:none;display:none;translate:0 8px}@starting-style{.furniture-picker:not([hidden]){opacity:0;translate:0 8px}}@media (prefers-reduced-motion:reduce){.furniture-picker{transition:none}}.import-launch{z-index:5;border:1px solid var(--line);background:var(--paper);border-radius:12px;align-items:center;gap:9px;padding:12px 15px;font-size:12px;display:flex;position:absolute;top:27px;right:22px}.import-dialog{border:1px solid var(--line);background:var(--paper);width:100%;color:var(--ink);border-radius:16px;padding:24px}.import-dialog header{justify-content:space-between;align-items:center;gap:20px;display:flex}.import-dialog h1,.scan-card h1{letter-spacing:-.7px;margin:8px 0 18px;font-size:26px}.import-eyebrow{letter-spacing:1.5px;color:var(--accent);font-size:10px;font-weight:700}.import-dialog button,.scan-card button{background:var(--accent-soft);color:var(--accent);border:1px solid #bfd6b7;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:11px 14px;font-size:12px;display:inline-flex}.import-dialog button:disabled,.scan-card button:disabled{opacity:.45}.import-dialog p,.scan-card p{color:#68776b;font-size:12px;line-height:1.7}.import-dialog p[role=alert]{color:var(--danger)}.import-upload{max-width:620px;margin:20px auto}.import-action{background:var(--accent-soft);color:var(--accent);cursor:pointer;border:1px dashed #9dbf95;border-radius:15px;justify-content:center;align-items:center;gap:8px;margin:16px 0;padding:16px;font-size:13px;font-weight:600;display:flex}.import-action:focus-within{outline:3px solid #72a790}.import-action.secondary{background:#f0f1e8}.qr-pair{align-items:center;gap:20px;margin-top:20px;display:flex}.qr-pair img{border-radius:15px;width:190px;height:190px}.pair-url{overflow-wrap:anywhere}.import-review{grid-template-columns:minmax(0,1fr) 260px;gap:22px;display:grid}.import-canvas{background:#f3f5ef;border-radius:18px;flex-direction:column;min-height:480px;display:flex;position:relative;overflow:hidden}.import-canvas>svg{flex:1;width:100%;height:470px}.review-layers{gap:14px;padding:12px;font-size:11px;display:flex}.import-review aside{max-height:560px;padding-right:6px;overflow:auto}.import-review aside>label{margin:12px 0;font-size:11px;line-height:1.7;display:block}.import-review input[type=number]{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:8px;padding:9px;display:block}.review-tools{flex-wrap:wrap;gap:5px;display:flex}.review-tools button{border-color:var(--line);background:#f3f5ef;padding:8px;font-size:10px}.review-tools button[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent)}.import-dialog footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;margin-top:16px;padding-top:12px;display:flex}.import-dialog footer button{background:var(--accent);color:#fff;flex-shrink:0}.import-dialog details{margin-top:15px;font-size:11px}.scan-page{background:#eef2e8;place-items:center;min-height:100dvh;padding:32px 16px;display:grid}.scan-card{border:1px solid var(--line);background:var(--paper);border-radius:26px;width:min(480px,100%);padding:26px;box-shadow:0 12px 35px #3849440c}.scan-preview{object-fit:contain;border-radius:14px;width:100%;max-height:45dvh;margin:12px 0}.scan-card>button{width:100%}@media (max-width:700px){.import-launch{padding:9px;font-size:10px;top:78px;right:15px}.import-review{grid-template-columns:1fr}.import-dialog{padding:16px}.import-canvas{min-height:320px}.import-canvas>svg{height:320px}.import-review aside{max-height:none}.qr-pair{text-align:center;flex-direction:column}.import-dialog footer{flex-direction:column;align-items:stretch}.import-dialog h1{font-size:22px}}.scan-analysis{text-align:center;background:#f3f5ef;border-radius:16px;margin-top:18px;padding:12px;position:relative;overflow:hidden}.scan-analysis img{object-fit:contain;width:100%;max-height:310px}.scan-beam{pointer-events:none;background:#65b4a2;height:2px;animation:1.3s ease-in-out infinite alternate scan-sweep;position:absolute;top:0;left:0;right:0;box-shadow:0 0 22px 7px #65b4a244}@keyframes scan-sweep{to{top:75%}}.scan-static .scan-beam{display:none}.import-canvas [stroke=\#4b5948]{stroke:#4289c4}.import-canvas [stroke=\#997451]{stroke:#419c6e}.import-canvas [stroke=\#6196a5]{stroke:#d58a36}.import-canvas [data-floor-id]{fill:#a192cf;fill-opacity:.25}@media (prefers-reduced-motion:reduce){.scan-beam{display:none}}.import-review select{border:1px solid var(--line);width:100%;max-width:100%;color:var(--ink);background:#fff;border-radius:8px;padding:8px}.review-inspector{border:1px solid var(--line);border-radius:10px;gap:10px;margin:10px 0;padding:10px;display:grid}.review-inspector>div{flex-wrap:wrap;gap:6px;display:flex}.review-inspector>div>span{text-transform:capitalize;width:100%;font-size:11px}.review-inspector input[type=number]{width:calc(50% - 3px)}.import-review details button{margin:4px 0}
.studio{--chrome:#fbfcfd;--chrome-2:#f1f4f7;--chrome-3:#e6ebf0;--line:#d3dae2;--line-2:#c2cbd6;--ink:#18212c;--ink-2:#3a4655;--muted:#6c7888;--accent:#1f6feb;--accent-2:#e7f0ff;--suggest:#3d9bff;--good:#16834a;--bad:#c6382a;--warn:#a96500;--radius:8px;--shadow:0 6px 22px #08182c38,0 1px 2px #08182c1f;color:var(--ink);-webkit-user-select:none;user-select:none;background:#0b0c0e;font:12.5px/1.4 Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;position:fixed;inset:0;overflow:hidden}.studio :where(button,input,select){font:inherit;color:inherit}.studio :where(button){cursor:pointer;background:0 0;border:0;padding:0}.studio :where(button:disabled){cursor:default;opacity:.38}.studio :focus-visible{outline:2px solid var(--accent);outline-offset:2px}.studio :where(svg){flex:none;width:18px;height:18px}.editor-surface,.scene-loading,.egress-scene{position:absolute;inset:0}.egress-scene canvas{touch-action:none;display:block}.egress-scene.tool-wall canvas,.egress-scene.tool-box canvas,.egress-scene.tool-door canvas,.egress-scene.tool-window canvas,.egress-scene.tool-exit canvas{cursor:crosshair}.egress-scene.tool-pan canvas{cursor:grab}.egress-scene.tool-pan canvas:active{cursor:grabbing}.egress-scene.tool-erase canvas{cursor:cell}.scene-error{background:var(--chrome);border-radius:var(--radius);padding:12px 16px;position:absolute;top:40%;left:50%;transform:translate(-50%)}.project-chip,.mode-switch,.hud-button,.chip,.rail,.rail-tab,.pane,.dock,.menu,.toast{background:var(--chrome);border:1px solid var(--line);box-shadow:var(--shadow)}.project-chip{border-radius:var(--radius);align-items:center;gap:8px;max-width:min(360px,30vw);height:32px;padding:0 10px;font-weight:600;display:flex;position:absolute;top:12px;left:12px}.project-chip span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.project-chip em{color:var(--muted);background:var(--chrome-2);text-transform:capitalize;border-radius:4px;padding:1px 6px;font-size:11px;font-style:normal;font-weight:500}.project-chip svg{width:14px;height:14px;color:var(--muted)}.project-chip:hover{background:#fff}.sync{background:var(--good);border-radius:50%;flex:none;width:7px;height:7px}.sync.busy{background:#e7a321}.sync.off{background:var(--bad)}.viewcube-host{width:104px;height:104px;position:absolute;top:52px;left:8px}.viewcube{cursor:grab;display:block}.viewcube.locked{opacity:.75}.mode-switch{border-radius:9px;gap:2px;padding:3px;display:flex;position:absolute;top:12px;left:50%;transform:translate(-50%)}.mode-switch button{height:26px;color:var(--ink-2);border-radius:6px;padding:0 14px;font-weight:500}.mode-switch button:hover{background:var(--chrome-2)}.mode-switch button[aria-pressed=true]{color:#fff;background:#047857}.right-column{pointer-events:none;z-index:6;flex-direction:column;gap:8px;width:304px;display:flex;position:absolute;top:12px;bottom:84px;right:12px}.right-column>*{pointer-events:auto}.hud-right{justify-content:flex-end;align-items:flex-start;gap:8px;display:flex}.layers-panel{background:var(--chrome);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:12px;flex-direction:column;flex:none;padding:4px 4px 6px;display:flex}.layers-panel>button{text-align:left;border-radius:6px;align-items:center;gap:8px;height:30px;padding:0 8px;display:flex}.layers-panel>button:hover:not(:disabled){background:var(--chrome-2)}.layers-panel>button[aria-pressed=true]{font-weight:600}.layers-panel>button svg{width:15px;height:15px;color:var(--accent);margin-left:auto}.layers-panel hr{border:0;border-top:1px solid var(--chrome-3);margin:4px 2px}.layers-panel .segmented{margin:0 4px 4px}.pane>.pane-collapse{background:var(--chrome);border:1px solid var(--line);width:18px;height:44px;color:var(--muted);border-right:0;border-radius:9px 0 0 9px;place-items:center;display:grid;position:absolute;top:14px;left:-19px}.pane-collapse:hover{color:var(--ink)}.pane-collapse svg{width:13px;height:13px}.pane-tab{background:var(--chrome);border:1px solid var(--line);width:18px;height:72px;box-shadow:var(--shadow);color:var(--muted);z-index:6;border-right:0;border-radius:9px 0 0 9px;place-items:center;display:grid;position:absolute;top:50%;right:0;transform:translateY(-50%)}.pane-tab:hover{color:var(--ink);width:22px}.pane-tab svg{width:14px;height:14px}.studio.theme-blueprint{background:#1c446f}.studio.menus-open [data-tip]:hover:after{display:none}.hud-button{border-radius:var(--radius);align-items:center;gap:7px;height:32px;padding:0 10px;font-weight:500;display:flex}.hud-button:hover,.hud-button.on{background:#fff}.hud-button .caret{width:14px;height:14px;color:var(--muted)}.chip{border-radius:var(--radius);align-items:center;gap:6px;height:32px;padding:0 10px;font-weight:500;display:flex}.chip.warn{color:var(--warn)}.rail-tab{width:18px;height:72px;color:var(--muted);border-left:0;border-radius:0 9px 9px 0;place-items:center;display:grid;position:absolute;top:50%;left:0;transform:translateY(-50%)}.rail-tab:hover{color:var(--ink);width:22px}.rail-tab svg{width:14px;height:14px}.rail{border-radius:12px;flex-direction:column;gap:4px;padding:6px;display:flex;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.rail-button{width:40px;height:40px;color:var(--ink-2);border-radius:8px;place-items:center;display:grid}.rail-button:hover{background:var(--chrome-2);color:var(--ink)}.rail-sep{background:var(--line);height:1px;margin:2px 4px}.rail-anchor{position:relative}.rail-menu{min-width:150px;top:0;left:48px}.pane{-webkit-user-select:text;user-select:text;border-radius:12px;flex-direction:column;flex:0 auto;min-height:0;display:flex;position:relative}.pane-head{border-bottom:1px solid var(--chrome-3);justify-content:space-between;align-items:baseline;gap:8px;padding:12px 14px 8px;display:flex}.pane-head h2{margin:0;font-size:13px;font-weight:650}.pane-head span{color:var(--muted);font-variant-numeric:tabular-nums}.pane-body{flex:1;min-height:0;padding:8px 14px 12px;overflow:hidden auto}.pane-actions{border:1px dashed var(--line-2);border-radius:10px;gap:8px;margin:0 10px 10px;padding:8px;display:flex}.pane-actions .button{flex:1;justify-content:center}.field{align-items:center;gap:8px;min-height:34px;margin:2px 0;display:flex}.field>span{width:84px;color:var(--muted);flex:none}.field input[type=number],.field select{border:1px solid var(--line);font-variant-numeric:tabular-nums;background:#fff;border-radius:6px;width:100%;height:28px;padding:0 8px}.field input.narrow{flex:none;width:68px}.field input.wide{flex:1;width:0;min-width:0}.field input[type=range]{width:0;min-width:0;accent-color:var(--accent);flex:1}.field em{color:var(--muted);font-style:normal}.segmented{background:var(--chrome-2);border:1px solid var(--line);border-radius:7px;flex:1;gap:2px;padding:2px;display:flex}.segmented button{height:24px;color:var(--ink-2);white-space:nowrap;border-radius:5px;flex:1;padding:0 6px}.segmented button[aria-pressed=true]{color:var(--ink);background:#fff;font-weight:600;box-shadow:0 1px 2px #0000001f}.button{border-radius:7px;align-items:center;gap:6px;height:32px;padding:0 12px;font-weight:600;display:inline-flex;border:1px solid var(--line)!important;background:#fff!important}.button:hover:not(:disabled){background:var(--chrome-2)!important}.button.primary{color:#fff;background:var(--accent)!important;border-color:var(--accent)!important}.button.primary:hover:not(:disabled){background:#1858c4!important}.button.danger{color:var(--bad)}.button svg{width:16px;height:16px}.icon-button{width:28px;height:28px;color:var(--muted);border-radius:6px;place-items:center;display:grid}.icon-button:hover{background:var(--chrome-2);color:var(--ink)}.icon-button svg{width:16px;height:16px}.note{border-radius:6px;margin:8px 0 0;padding:6px 8px;font-size:12px}.note.warn{color:var(--warn);background:#fff4e0}.note.error{color:var(--bad);background:#fdecea}.fine{color:var(--muted);margin:10px 0 0;font-size:11.5px}.check{align-items:center;gap:8px;margin:8px 0;display:flex}.readout{border-top:1px solid var(--chrome-3);margin-top:10px;padding-top:8px}.run-state{align-items:center;gap:6px;margin-bottom:4px;font-weight:650;display:flex}.run-state.live:before{content:"";background:var(--bad);border-radius:50%;width:7px;height:7px;animation:1s infinite blink}.run-state.done:before{content:"";background:var(--good);border-radius:50%;width:7px;height:7px}.run-state.verdict-great,.run-state.verdict-good{color:var(--good)}.run-state.verdict-poor{color:var(--warn)}.run-state.verdict-poor:before{background:var(--warn)}.run-state.verdict-bad{color:var(--bad)}.run-state.verdict-bad:before{background:var(--bad)}.verdict-reason{color:var(--muted);margin:-2px 0 6px;font-size:11.5px}.readout dl,.delta{margin:0}.readout dl>div,.delta>div{border-bottom:1px solid var(--chrome-2);justify-content:space-between;padding:4px 0;display:flex}.readout dt,.delta dt{color:var(--muted)}.readout dd,.delta dd{font-variant-numeric:tabular-nums;margin:0;font-weight:600}.delta dd.good{color:var(--good)}.delta dd.bad{color:var(--bad)}.feed .ask{background:var(--chrome-2);color:var(--ink-2);border-radius:8px;margin:4px 0 8px;padding:7px 9px}.steps{margin:0;padding:0;list-style:none}.steps li{color:var(--ink-2);justify-content:space-between;gap:10px;padding:4px 0 4px 14px;display:flex;position:relative}.steps li:before{content:"";background:var(--accent);border-radius:50%;width:5px;height:5px;position:absolute;top:10px;left:2px}.steps li.err{color:var(--bad)}.steps li.err:before{background:var(--bad)}.steps b{font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;max-width:120px;font-weight:600;overflow:hidden}.answer{border-left:2px solid var(--accent);background:var(--accent-2);color:var(--ink);border-radius:0 8px 8px 0;margin:8px 0 0;padding:8px 10px}.proposal{border-top:1px solid var(--chrome-3);margin-top:12px;padding-top:10px}.proposal h3{align-items:center;gap:6px;margin:0 0 6px;font-size:12.5px;display:flex}.proposal h3:before{content:"";background:var(--suggest);border-radius:3px;width:10px;height:10px}.reasons{color:var(--ink-2);margin:0 0 8px;padding-left:18px}.reasons li{margin:3px 0}.pulse{font-weight:600;animation:1.2s infinite blink;color:var(--accent)!important}.dock{border-bottom:0;border-radius:14px 14px 0 0;align-items:center;gap:4px;max-width:calc(100% - 120px);padding:8px 14px 9px;display:flex;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.dock:before,.dock:after{content:"";pointer-events:none;width:16px;height:16px;position:absolute;bottom:0}.dock:before{background:radial-gradient(circle at 0 0,transparent 15.5px,var(--line) 15.5px,var(--line) 16.5px,var(--chrome) 16.5px);left:-16px}.dock:after{background:radial-gradient(circle at 100% 0,transparent 15.5px,var(--line) 15.5px,var(--line) 16.5px,var(--chrome) 16.5px);right:-16px}.tool{width:38px;height:38px;color:var(--ink-2);border-radius:8px;place-items:center;display:grid;position:relative}.tool:hover:not(:disabled){background:var(--chrome-2);color:var(--ink)}.tool[aria-pressed=true]{background:var(--ink);color:#fff}.tool svg{width:20px;height:20px}.dock .sep{background:var(--line);width:1px;height:24px;margin:0 4px}.swatch{border:1px solid #8a96a5;border-radius:2px;flex:none;width:10px;height:10px;display:inline-block}.swatch.normal{background:#f2f5f8}.swatch.reinforced{background:#b4c2d1}.swatch.glass{background:#bfe8ff}.tool .swatch{width:7px;height:7px;position:absolute;bottom:4px;right:4px}.transport{align-items:center;gap:4px;display:flex}.transport.idle{opacity:.5}.timeline{align-items:center;gap:10px;margin:0 8px;display:flex}.timeline input{width:min(420px,34vw);accent-color:var(--accent)}.time{font-variant-numeric:tabular-nums;text-align:right;min-width:52px;font-weight:600}.badge{letter-spacing:.04em;height:22px;color:var(--muted);border-radius:5px;padding:0 8px;font-size:11px;font-weight:700;border:1px solid var(--line)!important}.badge.live.on{color:#fff;background:var(--bad)!important;border-color:var(--bad)!important}.badge.end{color:#fff;background:var(--ink)!important;border-color:var(--ink)!important}.speeds{border:1px solid var(--line);border-radius:7px;display:flex;overflow:hidden}.speeds button{height:28px;color:var(--ink-2);font-variant-numeric:tabular-nums;padding:0 9px;font-weight:600}.speeds button[aria-pressed=true]{color:#202831;background:#d8dce0}.chat{align-items:center;gap:8px;width:min(620px,58vw);display:flex}.chat-icon{color:var(--suggest)}.chat input{border:1px solid var(--line);-webkit-user-select:text;user-select:text;background:#fff;border-radius:8px;flex:1;height:36px;padding:0 12px}.spin{animation:1s linear infinite spin}.menu{z-index:20;border-radius:9px;flex-direction:column;min-width:180px;padding:4px;display:flex;position:absolute}.menu button{text-align:left;white-space:nowrap;border-radius:6px;align-items:center;gap:8px;height:30px;padding:0 8px;display:flex}.menu button:hover:not(:disabled){background:var(--chrome-2)}.menu button svg{width:15px;height:15px;margin-left:auto}.menu button.danger{color:var(--bad)}.menu button.danger svg{margin-left:0}.menu hr{border:0;border-top:1px solid var(--chrome-3);margin:4px 2px}.menu-label{color:var(--muted);padding:6px 8px 3px;font-size:11px}.menu .segmented{margin:0 4px 4px}.legend{color:var(--muted);align-items:center;gap:8px;padding:6px 8px;font-size:11px;display:flex}.air-readout{color:var(--muted);padding:3px 8px;font-size:11.5px;line-height:1.4}.legend.air-legend i{background:linear-gradient(90deg,#c3edf1,#1099aa,#165f93)}.legend i{background:linear-gradient(90deg,#ffe16e59,#ff8c28,#e11e28);border-radius:4px;flex:1;height:8px}.type-menu{transform:translate(-50%,calc(-100% - 8px))}.context-menu{transform:translate(4px,4px)}[data-tip]{position:relative}[data-tip]:hover:after{content:attr(data-tip);background:var(--ink);color:#fff;white-space:nowrap;pointer-events:none;z-index:30;border-radius:5px;padding:4px 8px;font-size:11.5px;font-weight:500;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}[data-tip-side=right]:hover:after{top:50%;bottom:auto;left:calc(100% + 10px);transform:translateY(-50%)}.project-chip[data-tip]:hover:after,.hud-right [data-tip]:hover:after,.mode-switch [data-tip]:hover:after{top:calc(100% + 8px);bottom:auto}.toast{border-radius:var(--radius);color:var(--bad);z-index:25;align-items:center;gap:8px;max-width:min(560px,70vw);padding:7px 8px 7px 12px;display:flex;position:absolute;top:52px;left:50%;transform:translate(-50%)}.studio.on-saves .toast{z-index:35}.project-entry{z-index:40;cursor:progress;place-items:end center;padding:0 12px 72px;display:grid;position:fixed;inset:0}.project-entry span{color:#18212c;background:#fbfcfd;border-radius:8px;padding:6px 12px;font:13px/1.4 system-ui;box-shadow:0 2px 12px #08182c33}.toast button{color:var(--muted);place-items:center;display:grid}.toast svg{width:16px;height:16px}.scene-dim{color:#fff;font-variant-numeric:tabular-nums;pointer-events:none;background:#0a1828d1;border-radius:4px;padding:2px 6px;font-size:11.5px;font-weight:600;position:absolute;top:0;left:0}.scene-note{pointer-events:none;z-index:5;position:absolute;top:0;left:0}.scene-note span{width:max-content;max-width:220px;color:var(--ink);border:1.5px solid var(--suggest);box-shadow:var(--shadow);-webkit-user-select:none;user-select:none;background:#fff;border-radius:8px;padding:6px 9px;font-size:11.5px;line-height:1.35;display:block;position:absolute;bottom:10px;left:-14px}.scene-note span:after{content:"";border-right:1.5px solid var(--suggest);border-bottom:1.5px solid var(--suggest);background:#fff;width:10px;height:10px;position:absolute;bottom:-7px;left:10px;transform:rotate(45deg)}.modal-backdrop{z-index:40;background:#08142473;place-items:center;display:grid;position:fixed;inset:0}.modal{background:var(--chrome);border:1px solid var(--line);-webkit-user-select:text;user-select:text;border-radius:12px;flex-direction:column;width:min(440px,100vw - 32px);max-height:min(640px,100vh - 48px);display:flex;box-shadow:0 24px 64px #00000059}.modal>header{border-bottom:1px solid var(--chrome-3);justify-content:space-between;align-items:center;padding:12px 12px 10px 16px;display:flex}.modal>header h2{margin:0;font-size:14px;font-weight:650}.project-search{border:1px solid var(--line);background:#fff;border-radius:7px;width:100%;min-width:0;height:32px;padding:0 10px}.project-list{padding:0 8px 12px;overflow:auto}.list-label{color:var(--muted);padding:8px 8px 4px;font-size:11px}.project-row{text-align:left;border-radius:7px;align-items:center;gap:10px;width:100%;height:38px;padding:0 8px;display:flex}.project-row:hover{background:var(--chrome-2)}.project-row.current{background:var(--accent-2)}.project-row span{white-space:nowrap;text-overflow:ellipsis;flex:1;font-weight:550;overflow:hidden}.project-row em{color:var(--muted);text-transform:capitalize;font-size:11px;font-style:normal}.project-row time{color:var(--muted);font-variant-numeric:tabular-nums;font-size:11.5px}.project-row svg{color:var(--muted)}.empty{color:var(--muted);margin:0;padding:2px 8px}.share{flex-direction:column;gap:10px;padding:4px 16px 16px;display:flex}.link-row{align-items:center;gap:8px;display:flex}.link-row input{border:1px solid var(--line);background:#fff;border-radius:7px;flex:1;height:32px;padding:0 8px;font-size:12px}.link-row>svg{color:var(--muted)}.import-host{--paper:var(--chrome);--accent-soft:var(--accent-2);width:min(520px,100vw - 32px);max-height:calc(100vh - 48px);padding:0;overflow:auto}.import-host:has(.import-review){width:min(1100px,100vw - 32px)}.import-host .import-dialog{width:auto;max-width:none;height:auto;max-height:none;box-shadow:none;border:0;border-radius:12px;margin:0;padding:14px 16px 16px;position:static;inset:auto}.import-host .import-dialog button{border-color:var(--line);border-radius:8px}.import-host .import-dialog header{gap:12px}.import-host .import-dialog h1{letter-spacing:0;margin:0;font-size:15px;font-weight:650}.import-host .import-dialog header button{width:28px;height:28px;color:var(--muted);background:0 0;border:0;border-radius:6px;padding:0}.import-host .import-dialog header button:hover{background:var(--chrome-2);color:var(--ink)}.import-host .import-dialog header svg{width:18px;height:18px}.import-host .import-dialog p{color:var(--muted);line-height:1.5}.import-host .import-upload{flex-direction:column;gap:8px;max-width:none;margin:4px 0 0;display:flex}.import-host .import-upload>p{margin:0}.import-host .import-action{border:1.5px dashed var(--accent);background:var(--accent-2);color:var(--accent);border-radius:10px;margin:6px 0 0;padding:30px 16px;font-size:13px}.import-host .import-action:hover{background:#dce9ff}.import-host .import-upload>button{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;padding:9px 14px;font-weight:600}.import-host .import-upload>button:hover:not(:disabled){background:var(--chrome-2)}.import-host .qr-pair{margin-top:8px}.import-host .import-dialog footer button{background:var(--accent);border-color:var(--accent);color:#fff}.import-host .review-tools button[aria-pressed=true]{border-color:var(--accent)}@keyframes blink{50%{opacity:.35}}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:900px){.right-column{width:min(304px,100% - 24px);bottom:76px}.project-chip{max-width:40vw}.dock{max-width:calc(100% - 40px);overflow-x:auto}.timeline input{width:28vw}}.saves{z-index:30;background:var(--chrome-2);color:var(--ink);-webkit-user-select:text;user-select:text;flex-direction:column;transition:transform .45s cubic-bezier(.4,0,.2,1),visibility 0s linear .45s;display:flex;position:absolute;inset:0}.saves.shown{visibility:visible;transition:transform .45s cubic-bezier(.4,0,.2,1),visibility;transform:translate(0)}.saves.hidden{visibility:hidden;transform:translate(-100%)}.saves-header{border-bottom:1px solid var(--line);background:var(--chrome);grid-template-columns:minmax(0,1fr) clamp(170px,20vw,320px) minmax(0,1fr);align-items:center;gap:16px;padding:14px 20px;display:grid}.egress-logo{flex:none;width:120px;height:auto;display:block}.saves-splash{z-index:5;background:var(--chrome);place-items:center;display:grid;position:absolute;inset:0}.saves-splash>div{position:relative}.saves-splash .egress-logo{width:min(192px,60vw)}.saves-splash p{width:100%;color:var(--muted);text-align:center;margin:14px 0 0;position:absolute;top:100%}.saves-splash.fading{animation:.22s ease-out forwards splash-fade}@keyframes splash-fade{to{opacity:0}}@media (prefers-reduced-motion:reduce){.saves-splash.fading{animation-duration:1ms}}.saves-actions{flex-wrap:wrap;justify-content:flex-end;justify-self:end;align-items:center;gap:8px;display:flex}@media (max-width:1020px){.saves-header{grid-template-columns:1fr minmax(160px,32vw) 1fr}.saves-actions{grid-column:1/-1;justify-content:center;justify-self:stretch}}@media (max-width:540px){.saves-header{grid-template-columns:auto 1fr;gap:8px;padding:10px}.saves-header .egress-logo{width:84px}}.saves-body{flex:1;grid-template-columns:minmax(0,1fr) 380px;gap:16px;min-height:0;padding:16px 20px;display:grid}.saves-list{background:var(--chrome);border:1px solid var(--line);border-radius:12px;overflow:auto}.saves-list table{border-collapse:collapse;width:100%}.saves-list th{background:var(--chrome);text-align:left;color:var(--muted);border-bottom:1px solid var(--line);padding:10px 12px;font-size:11.5px;font-weight:600;position:sticky;top:0}.saves-list td{border-bottom:1px solid var(--chrome-2);white-space:nowrap;padding:9px 12px}.saves-list tbody tr:not(.group){cursor:default}.saves-list tbody tr:not(.group):hover{background:var(--chrome-2)}.saves-list tr.selected{background:var(--accent-2)!important}.saves-list tr.group td{color:var(--muted);border:0;padding:12px 12px 4px;font-size:11px}.saves-list td.name{text-overflow:ellipsis;width:50%;max-width:0;font-weight:550;overflow:hidden}.save-name-line{align-items:baseline;gap:8px;display:flex}.saves-list td.name em{color:var(--accent);flex:none;font-size:11px;font-style:normal;font-weight:600}.save-name{text-align:left;text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:100%;overflow:hidden}.save-name:hover{text-decoration:underline}.saves-detail h2 input,.saves-list td.name input{border:1px solid var(--accent);border-radius:5px;width:100%;height:26px;padding:0 6px}.saves-list td.role{text-transform:capitalize;color:var(--muted)}.saves-list .num{text-align:right;font-variant-numeric:tabular-nums}.saves-list td.actions{text-align:right;width:84px}.saves-list td.actions .icon-button{display:inline-grid}.row-menu{display:inline-block;position:relative}.row-menu .menu button svg{margin-left:0}.row-menu .menu{min-width:150px;top:30px;right:0}.saves-detail{background:var(--chrome);border:1px solid var(--line);border-radius:12px;flex-direction:column;min-height:0;padding:14px;display:flex;overflow:auto}.plan-frame{aspect-ratio:4/3;border:1px solid var(--line);background:#fff;border-radius:8px;place-items:center;display:grid;overflow:hidden}.plan-frame svg{width:100%;height:100%;padding:10px}.plan-frame svg path{fill:#000}.plan-frame svg circle.exit{fill:#fff;stroke:#000;stroke-width:.08px}.plan-frame .plan-placeholder{color:var(--muted)}.saves-detail h2{overflow-wrap:anywhere;margin:12px 0 6px;font-size:16px;font-weight:650}.details{margin:0 0 12px}.details>div{border-bottom:1px solid var(--chrome-2);justify-content:space-between;gap:12px;padding:6px 0;display:flex}.details dt{color:var(--muted)}.details dd{font-variant-numeric:tabular-nums;text-transform:none;margin:0;font-weight:550}.detail-actions{justify-content:space-between;align-items:center;gap:8px;margin-top:auto;display:flex}.saves .empty{color:var(--muted);padding:16px}.project-chip,.mode-switch,.right-column,.dock,.rail,.rail-tab,.pane-tab,.viewcube-host{transition:transform .45s cubic-bezier(.4,0,.2,1),opacity .3s}.studio.on-saves .project-chip,.studio.on-saves .viewcube-host{transform:translateY(-160px)}.studio.on-saves .mode-switch{transform:translate(-50%,-80px)}.studio.on-saves .right-column{transform:translate(360px)}.studio.on-saves .pane-tab{transform:translate(60px,-50%)}.studio.on-saves .dock{transform:translate(-50%,120px)}.studio.on-saves .rail,.studio.on-saves .rail-tab{transform:translate(-90px,-50%)}@media (max-width:900px){.saves-body{grid-template-columns:1fr;overflow:auto}.saves-detail{min-height:420px}}@media (prefers-reduced-motion:reduce){.saves,.project-chip,.mode-switch,.right-column,.dock,.rail,.rail-tab,.pane-tab,.viewcube-host,.floor-switch{transition:none}}.presence{border-radius:var(--radius);background:var(--chrome);border:1px solid var(--line);height:32px;box-shadow:var(--shadow);font-variant-numeric:tabular-nums;cursor:default;align-items:center;gap:6px;padding:0 10px;font-weight:600;display:flex;position:relative}.presence svg{width:16px;height:16px}.presence-pop{background:var(--chrome);border:1px solid var(--line);width:max-content;min-width:min(262px,65vw);max-width:calc(100vw - 110px);box-shadow:var(--shadow);z-index:20;border-radius:9px;padding:6px;font-weight:500;display:none;position:absolute;top:calc(100% + 6px);right:0}.presence:hover .presence-pop,.presence:focus-within .presence-pop{display:block}.presence-pop>div{align-items:center;gap:8px;padding:5px 6px;display:flex}.presence-pop code{text-overflow:ellipsis;overflow:hidden}.presence-pop span{white-space:nowrap;color:var(--muted);text-transform:capitalize;margin-left:auto}.presence-pop em,.member-list em{color:var(--accent);font-size:11px;font-style:normal;font-weight:600}.dot{background:var(--line-2);border-radius:50%;flex:none;width:7px;height:7px}.dot.on{background:var(--good)}.member-list{max-height:260px;margin:0;padding:0;list-style:none;overflow:auto}.member-list li{border-bottom:1px solid var(--chrome-2);align-items:center;gap:8px;padding:6px 0;display:flex}.member-list select{border:1px solid var(--line);background:#fff;border-radius:6px;height:28px;margin-left:auto;padding:0 6px}.share code,.presence code{font-size:12px}.room-tag{z-index:4;color:var(--ink);border:1px solid var(--line-2);white-space:nowrap;cursor:pointer;background:#ffffffeb;border-radius:5px;padding:2px 7px;font-size:11px;font-weight:600;position:absolute;top:0;left:0;box-shadow:0 1px 3px #00000040}.room-tag.muted{color:var(--muted);font-weight:500}.room-tag:hover{border-color:var(--accent)}.room-menu{gap:6px;width:220px;padding:8px;transform:translate(8px,8px)}.room-menu input,.room-menu select{border:1px solid var(--line);background:#fff;border-radius:6px;height:30px;padding:0 8px}.menu-row{justify-content:flex-end;gap:6px;display:flex}.menu-row button{border:1px solid var(--line);border-radius:6px;height:28px;padding:0 10px}.menu-row button.primary{background:var(--accent);border-color:var(--accent);color:#fff}.modal.wide{width:min(1100px,100vw - 32px);max-height:calc(100vh - 48px)}.plans{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px;padding:14px 16px 16px;display:grid;overflow:auto}.plan-card{border:1px solid var(--line);background:#fff;border-radius:10px;padding:10px}.plan-card header{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.plan-card h3{margin:0;font-size:13.5px}.plan-card svg{border:1px solid var(--chrome-3);border-radius:6px;width:100%;height:auto}.plan-card .details{margin:8px 0 0}.workspace-settings{z-index:7;position:absolute;bottom:12px;right:12px}.workspace-settings .settings-toggle{background:var(--chrome);border:1px solid var(--line);width:32px;height:32px;box-shadow:var(--shadow);border-radius:8px}.workspace-settings .settings-toggle:hover{background:var(--chrome-2)}.settings-panel{width:208px;padding:6px 8px 8px;bottom:calc(100% + 8px);right:0}.settings-panel .segmented button{text-align:center;display:block}.studio.on-saves .workspace-settings{visibility:hidden}.floor-switch{z-index:5;background:var(--chrome);border:1px solid var(--line);height:36px;box-shadow:var(--shadow);border-radius:10px;align-items:center;gap:2px;padding:0 4px;transition:transform .45s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;bottom:12px;left:12px}.floor-switch .floor-name{white-space:nowrap;text-overflow:ellipsis;border-radius:6px;align-items:center;gap:6px;max-width:180px;height:28px;padding:0 8px;font-weight:600;display:flex;overflow:hidden}.floor-switch .floor-name:hover{background:var(--chrome-2)}.floor-switch .floor-name em{color:var(--muted);font-variant-numeric:tabular-nums;font-size:11px;font-style:normal;font-weight:500}.floor-panel{width:260px;padding:4px 10px 10px;bottom:calc(100% + 8px);left:0}.floor-panel .field input:not([type]){border:1px solid var(--line);background:#fff;border-radius:6px;width:100%;height:28px;padding:0 8px}.floor-panel button.danger{margin-top:8px}.studio.on-saves .floor-switch{transform:translateY(120px)}@media (max-width:1100px){.floor-switch{bottom:70px}}.swatch.floor-wood{background:#b5875a}.swatch.floor-basic{background:#d6dbe1}.swatch.floor-tile{background:repeating-linear-gradient(90deg,#e4e8ec 0 3px,#8a96a5 3px 4px)}.field .value{font-weight:600}.egress-scene.tool-slab canvas,.egress-scene.tool-stair canvas{cursor:crosshair}.paint-box{border:1px solid var(--chrome-3);background:var(--chrome-2);border-radius:8px;margin:4px 0 6px;padding:4px 8px 8px}.paint-box .icon-button{flex:none}.paint-box .icon-button.on{background:var(--ink);color:#fff;border-radius:50%}.paint-box .field .button{height:26px;padding:0 8px;font-weight:500}.note:not(.warn):not(.error){background:var(--chrome-2);color:var(--ink-2)}@media (prefers-reduced-motion:no-preference){.menu,.layers-panel,.presence-pop,.paint-box{animation:.16s ease-out studio-flyout}.pane,.rail{transition:translate .2s,opacity .2s,visibility}.pane[aria-hidden=true],.rail[aria-hidden=true]{transition-delay:0s,0s,.2s}@starting-style{.pane[aria-hidden=false]{opacity:0;translate:24px}}.rail-tab,.pane-tab{transition:transform .45s cubic-bezier(.4,0,.2,1),width .16s,opacity .3s}.mode-switch button,.speeds button{transition:background-color .16s,color .16s}@supports (interpolate-size:allow-keywords){.layers-panel,.paint-box,.proposal{interpolate-size:allow-keywords;animation:.18s ease-out studio-expand}@keyframes studio-expand{0%{opacity:0;height:0;overflow:clip}to{opacity:1;height:auto;overflow:clip}}}}@keyframes studio-flyout{0%{opacity:0;translate:0 4px}to{opacity:1;translate:0}}.rail[aria-hidden=true],.pane[aria-hidden=true]{opacity:0;visibility:hidden;pointer-events:none}.rail[aria-hidden=true]{translate:calc(-100% - 12px)}.pane[aria-hidden=true]{translate:calc(100% + 32px)}.presence.locked{color:var(--bad);background:#fdecea;border-color:#f2b8b0}.presence.locked svg{color:var(--bad)}.presence-pop .lock-note{color:var(--bad);white-space:normal;background:#fdecea;border-radius:6px;margin:2px 4px 6px;padding:6px 8px;font-size:12px}.lock-banner{z-index:6;height:38px;color:var(--bad);box-shadow:var(--shadow);white-space:nowrap;background:#fdecea;border:1px solid #f2b8b0;border-radius:10px;align-items:center;gap:8px;padding:0 6px 0 12px;font-weight:600;display:flex;position:absolute;top:56px;left:50%;transform:translate(-50%)}.lock-banner>svg{width:16px;height:16px}.lock-banner .button{height:28px;padding:0 10px}.studio.on-saves .lock-banner{display:none}.examples-anchor{display:inline-block;position:relative}.examples-menu{min-width:300px;top:38px;right:0}.examples-menu button{flex-direction:column;align-items:flex-start;gap:1px;height:auto;padding:7px 10px}.examples-menu .example-name{font-weight:600}.examples-menu .example-note{color:var(--muted);font-size:11.5px}.egress-scene.tool-place canvas{cursor:crosshair}.wind-compass{flex-direction:column;align-items:center;gap:2px;padding:2px 0 4px;display:flex}.wind-compass svg{cursor:grab;touch-action:none;border-radius:50%;width:132px;height:132px}.wind-compass svg:active{cursor:grabbing}.wind-compass .rim{fill:var(--chrome-2);stroke:var(--line-2);stroke-width:1.5px}.wind-compass .tick{stroke:var(--muted);stroke-width:1px}.wind-compass .tick.major{stroke:var(--ink-2);stroke-width:1.6px}.wind-compass text{fill:var(--muted);-webkit-user-select:none;user-select:none;font-size:9px;font-weight:650}.wind-compass .arrow{stroke:var(--accent);stroke-width:2.5px;stroke-linecap:round}.wind-compass .arrow-head{fill:var(--accent)}.wind-compass .handle{fill:var(--accent);stroke:#fff;stroke-width:2px}.wind-readout{font-variant-numeric:tabular-nums;font-size:12px;font-weight:600}
