@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff)format("woff")}:root{--color-bg:#0b0f14;--color-surface:#111821;--color-surface-2:#17202b;--color-surface-hover:#1b2430;--color-border:#2a3441;--color-border-strong:#3a4554;--color-text:#e6edf3;--color-text-muted:#8b949e;--color-text-subtle:#828d99;--color-text-dim:#6e7681;--color-surface-1:var(--color-surface);--color-surface-raised:var(--color-surface-hover);--color-accent:#4da3ff;--color-accent-hi:#7cc0ff;--color-accent-dim:#4da3ff1f;--color-accent-border:#4da3ff73;--color-on-accent:#06111e;--color-warning:#f59e0b;--color-error:#ef4444;--color-error-text:#fca5a5;--color-success:#22c55e;--color-viewport-bg:#070b10;--color-viewport-text:#e6edf3;--color-viewport-text-muted:#8b949e;--color-viewport-border:#e6edf32e;--color-select:#4da3ff;--color-preselect:#7cc0ff;--color-preview:#58d6c2;--color-handle-x:#ef6a6a;--color-handle-y:#6fd66f;--color-handle-z:#5f8fef;--font-ui:"IBM Plex Sans", system-ui, -apple-system, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;--fs-mini:11px;--fs-xs:11.5px;--fs-sm:12px;--fs-base:13px;--fs-md:14px;--fs-lg:16px;--fs-xl:22px;--fw-regular:400;--fw-normal:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--lh-tight:1.35;--lh-normal:1.5;--lh-loose:1.7;--ls-eyebrow:.14em;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--radius-sm:3px;--radius-md:4px;--radius-lg:8px;--border-thin:1px solid var(--color-border);--border-strong:1px solid var(--color-border-strong);--shadow-1:0 2px 8px #00000040;--shadow-2:0 8px 24px #00000059;--shadow-3:0 18px 48px #0000008c;--shadow-popover:var(--shadow-2);--topbar-h:44px;--toolbar-h:48px;--statusbar-h:30px;--sidebar-w:252px;--context-w:330px;--assistant-w:360px;--dur-fast:.1s;--dur-base:.2s;--dur-slow:.35s;--ease-out:cubic-bezier(.16, 1, .3, 1);--z-viewer-overlay:2;--z-inspector-float:5;--z-assistant-float:6;--z-panel-resizer:7;--z-popover:40;--z-modal:50;--z-context-menu:60;--z-start-screen:100;--z-settings:110}:root[data-theme=light]{--color-bg:#eef1f5;--color-surface:#f7f9fb;--color-surface-2:#e7ebf1;--color-surface-hover:#dfe5ec;--color-border:#cdd5de;--color-border-strong:#aeb9c6;--color-text:#1a2330;--color-text-muted:#5b6572;--color-text-subtle:#5e6773;--color-text-dim:#7a8390;--color-accent:#1c64c2;--color-accent-hi:#1858ad;--color-accent-dim:#1f6fd61a;--color-accent-border:#1f6fd673;--color-on-accent:#fff;--color-warning:#a64c08;--color-error:#dc2626;--color-error-text:#b91c1c;--color-success:#137638}kbd{min-width:16px;color:var(--color-text-muted);background:var(--color-surface-2);border:var(--border-thin);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--fs-mini);text-align:center;border-bottom-width:2px;padding:1px 5px;line-height:1.4;display:inline-block}*,:before,:after{box-sizing:border-box}html,body,#root{background:var(--color-bg);height:100%;color:var(--color-text);font-family:var(--font-ui);font-size:var(--fs-base);line-height:var(--lh-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0;overflow:hidden}button{font-family:inherit;font-size:inherit;color:inherit;cursor:pointer;background:0 0;border:none;padding:0}button:disabled{cursor:not-allowed;opacity:.45}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}input,select,textarea{font-family:inherit;font-size:inherit;color:var(--color-text);background:var(--color-bg);border:var(--border-thin);border-radius:var(--radius-sm);height:30px;padding:6px 8px}input:focus,select:focus,textarea:focus{border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-dim);outline:none}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}html[data-reduced-motion=true] *,html[data-reduced-motion=true] :before,html[data-reduced-motion=true] :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-border);background-clip:padding-box;border:2px solid #0000;border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--color-border-strong);background-clip:padding-box;border:2px solid #0000}.mono{font-family:var(--font-mono);font-feature-settings:"zero" 1}.app-shell{grid-template-columns:minmax(0,1fr);grid-template-rows:var(--topbar-h) minmax(0, 1fr);background:var(--color-bg);height:100vh;display:grid}.workspace{--sidebar-col-w:min(var(--sidebar-w), 30vw);--assistant-col-w:0px;grid-template-columns:var(--sidebar-col-w) minmax(360px, 1fr);background:var(--color-bg);min-height:0;display:grid;position:relative}.panel-resizer{z-index:var(--z-panel-resizer);cursor:col-resize;touch-action:none;width:11px;position:absolute;top:0;bottom:0}.sidebar-resizer{left:var(--sidebar-col-w);transform:translate(-50%)}.assistant-resizer{right:var(--assistant-col-w);transform:translate(50%)}.panel-resizer:after{content:"";width:2px;transition:background var(--dur-fast) var(--ease-out);background:0 0;position:absolute;inset:0 auto 0 50%;transform:translate(-50%)}.panel-resizer:hover:after,.panel-resizer:focus-visible:after,.panel-resizer[data-dragging=true]:after{background:var(--color-accent)}.panel-resizer:focus-visible{outline:none}:root[data-panel-resizing=true] body{cursor:col-resize;user-select:none}.viewer-area{min-width:0;min-height:0;display:flex;position:relative;container:viewer-area/inline-size}.viewer-area .viewer-shell{flex:1}.inspector-float{z-index:var(--z-inspector-float);width:min(var(--context-w), calc(100% - 20px));pointer-events:none;align-items:flex-start;display:flex;position:absolute;top:10px;bottom:10px;right:10px}.inspector-float>*{pointer-events:auto}.topbar{align-items:center;gap:var(--sp-3);min-width:0;padding:0 var(--sp-3);color:var(--color-text-muted);background:var(--color-surface);border-bottom:var(--border-thin);display:flex}.brand{color:var(--color-text);font-size:var(--fs-md);font-weight:var(--fw-medium);white-space:nowrap;align-items:center;gap:7px;display:inline-flex}.brand svg{width:18px;height:18px;color:var(--color-accent)}.beta-tag{min-height:16px;color:var(--color-accent);background:var(--color-accent-dim);border:1px solid var(--color-accent-border);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--fs-mini);text-transform:uppercase;align-items:center;padding:0 5px;line-height:1;display:inline-flex}.file-menu-count{min-width:16px;height:16px;color:var(--color-text-muted);background:var(--color-surface-2);font-family:var(--font-mono);font-size:var(--fs-mini);border-radius:999px;place-items:center;padding:0 4px;line-height:1;display:inline-grid}.topbar-divider{background:var(--color-border);width:1px;height:20px}.breadcrumb{white-space:nowrap;flex:0 auto;align-items:center;gap:7px;min-width:0;max-width:40%;display:inline-flex;overflow:hidden}.breadcrumb strong{color:var(--color-text);font-weight:var(--fw-medium);text-overflow:ellipsis;overflow:hidden}.project-title-button{min-width:0;color:var(--color-text);align-items:center;gap:5px;display:inline-flex}.project-title-button strong{min-width:0}.project-title-button svg{color:var(--color-text-subtle);opacity:0;transition:opacity var(--dur-fast) var(--ease-out);flex:none}.project-title-button:hover svg,.project-title-button:focus-visible svg{opacity:1}.project-title-input{width:clamp(120px,18vw,280px);height:28px;color:var(--color-text);background:var(--color-surface-2);border:1px solid var(--color-accent-border);border-radius:var(--radius-sm);font:inherit;font-weight:var(--fw-medium);outline:none;padding:0 7px}.project-title-input:focus{box-shadow:0 0 0 2px var(--color-accent-dim)}.breadcrumb .mono{font-size:var(--fs-xs);color:var(--color-text-subtle)}.topbar-actions{flex:none;grid-auto-columns:max-content;grid-auto-flow:column;align-items:center;gap:2px;margin-left:auto;display:grid}.topbar-actions>*{min-width:0}.icon-button{width:28px;height:28px;color:var(--color-text-muted);border:var(--border-thin);border-radius:var(--radius-sm);background:var(--color-surface-2);transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);place-items:center;display:inline-grid}.icon-button:hover:not(:disabled),.icon-button:focus-visible{color:var(--color-text);background:var(--color-surface-hover);border-color:var(--color-border-strong);outline:none}.icon-button.is-on{color:var(--color-accent);background:var(--color-accent-dim);border-color:var(--color-accent-border)}.topbar-action{white-space:nowrap;cursor:pointer;min-height:30px}.artifact-menu,.topbar-menu{position:relative}.artifact-menu>summary,.topbar-menu>summary{align-items:center;gap:6px;list-style:none;display:inline-flex}.artifact-menu>summary::-webkit-details-marker,.topbar-menu>summary::-webkit-details-marker{display:none}.artifact-menu-panel,.topbar-menu-panel{z-index:var(--z-modal);width:min(340px,80vw);max-height:320px;padding:var(--sp-3);color:var(--color-text-muted);background:var(--color-surface-2);border:var(--border-thin);border-radius:var(--radius-md);position:absolute;top:calc(100% + 8px);right:0;overflow:auto}.artifact-menu-panel>strong,.artifact-menu-panel>span{margin-bottom:var(--sp-2);display:block}.topbar-menu-item{width:100%;color:var(--color-text);border-radius:var(--radius-sm);font-size:var(--fs-xs);text-align:left;background:0 0;border:0;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:2px 8px;padding:7px 8px;display:grid}.topbar-menu-item:hover:not(:disabled){background:var(--color-surface-hover)}.topbar-menu-item:disabled{color:var(--color-text-subtle)}.topbar-menu-item svg{grid-row:1/span 2}.topbar-menu-item span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.topbar-menu-item small{color:var(--color-text-subtle)}.topbar-menu-sep{background:var(--color-border);height:1px;margin:6px 4px}.topbar-menu-label{color:var(--color-text-subtle);font-family:var(--font-mono);font-size:var(--fs-mini);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;align-items:center;gap:5px;padding:2px 8px 4px;display:flex}.topbar-menu-label+.topbar-menu-item{margin-top:0}.topbar-menu-item+.topbar-menu-label{margin-top:6px}.topbar-menu-badge{color:var(--color-warning);background:color-mix(in srgb, var(--color-warning) 12%, transparent);border:1px solid color-mix(in srgb, var(--color-warning) 40%, transparent);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--fs-mini);vertical-align:1px;margin-left:8px;padding:0 5px;line-height:16px;display:inline-block}.file-menu-attention{background:var(--color-warning);border-radius:999px;width:6px;height:6px;margin-left:5px;display:inline-block}.topbar-menu-empty{color:var(--color-text-subtle);font-size:var(--fs-mini);padding:2px 8px 6px;display:block}.artifact-menu-panel a{color:var(--color-text);border-radius:var(--radius-sm);grid-template-columns:auto minmax(0,1fr);gap:2px 8px;padding:8px;display:grid}.artifact-menu-panel a:hover{background:var(--color-surface-hover)}.artifact-menu-panel a svg{grid-row:1/span 2;margin-top:2px}.artifact-menu-panel a span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.artifact-menu-panel a small{color:var(--color-text-subtle)}.save-state{width:100%;min-height:30px;color:var(--color-text-muted);background:var(--color-surface-2);border:var(--border-thin);border-radius:var(--radius-md);font-family:var(--font-mono);font-size:var(--fs-xs);justify-content:center;align-items:center;gap:6px;padding:0 9px;display:inline-flex}.save-state:hover:not(:disabled),.save-state:focus-visible,.collaboration-state:hover:not(:disabled),.collaboration-state:focus-visible{color:var(--color-text);background:var(--color-surface-hover);border-color:var(--color-border-strong);outline:none}.save-state:active:not(:disabled),.collaboration-state:active:not(:disabled){transform:translateY(1px)}.save-state.is-conflict,.save-state.is-repair,.save-state.is-refused,.save-state.is-local-source{color:var(--color-warning);border-color:currentColor}.save-state.is-device-failed{color:var(--color-error);border-color:currentColor}.account-state,.collaboration-state{width:100%;min-height:30px;color:var(--color-text-subtle);font-family:var(--font-mono);font-size:var(--fs-mini);white-space:nowrap;align-items:center;gap:5px;padding:0 8px;display:inline-flex}.collaboration-state{background:var(--color-surface-2);border:var(--border-thin);border-radius:var(--radius-md);cursor:pointer}.collaboration-state:disabled{cursor:default;opacity:.55}.collaboration-state.live{color:var(--color-success)}.collaboration-state.conflict,.collaboration-state.rejected,.collaboration-state.oversize{color:var(--color-warning)}.account-state,.save-state,.collaboration-state,.file-menu>summary,.topbar-actions .settings-action{width:auto;min-width:0;height:24px;min-height:24px;color:var(--color-text-muted);border-radius:var(--radius-sm);font-family:var(--font-ui);font-size:var(--fs-sm);font-weight:var(--fw-medium);white-space:nowrap;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:5px;padding:0 7px;display:inline-flex}.file-menu>summary,.topbar-actions .settings-action{color:var(--color-text)}.save-state:hover:not(:disabled),.save-state:focus-visible,.collaboration-state:hover:not(:disabled),.collaboration-state:focus-visible,.file-menu>summary:hover,.file-menu[open]>summary,.topbar-actions .settings-action:hover{background:var(--color-surface-2);border-color:var(--color-border)}.save-state.is-conflict,.save-state.is-repair,.save-state.is-refused,.save-state.is-local-source,.save-state.is-device-failed{border-color:#0000}.topbar-actions .file-menu{margin-left:8px}.topbar-actions .file-menu:before{content:"";background:var(--color-border);width:1px;height:14px;position:absolute;top:50%;left:-5px;transform:translateY(-50%)}.collaboration-state{position:relative}.live-badge{min-width:14px;height:14px;color:var(--color-on-accent);background:var(--color-success);box-shadow:0 0 0 2px var(--color-surface);font-family:var(--font-mono);font-size:9.5px;font-weight:var(--fw-medium);border-radius:999px;place-items:center;padding:0 3px;line-height:1;display:none;position:absolute;top:-5px;right:-5px}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.palette-float{z-index:var(--z-viewer-overlay);pointer-events:none;align-items:flex-start;display:flex;position:absolute;top:10px;bottom:10px;left:10px}.palette-float>*{pointer-events:auto}.palette-float:has(.direct-mode-strip){bottom:auto;left:50%;right:auto;transform:translate(-50%)}.direct-mode-strip{min-height:38px;color:var(--color-text);background:var(--color-surface);border:var(--border-strong);border-radius:var(--radius-md);white-space:nowrap;align-items:center;gap:8px;padding:0 14px;display:flex}.direct-mode-strip svg{color:var(--color-warning)}.direct-mode-strip.extrude-mode svg{color:var(--color-accent)}.direct-mode-strip strong{font-size:var(--fs-sm);font-weight:var(--fw-medium)}.direct-mode-strip span{color:var(--color-text-subtle);font-size:var(--fs-xs)}.primary,.secondary{border-radius:var(--radius-md);border:var(--border-thin);min-height:32px;font-weight:var(--fw-medium);font-size:var(--fs-sm);justify-content:center;align-items:center;gap:8px;padding:6px 11px;text-decoration:none;display:inline-flex}.primary{color:var(--color-on-accent);background:var(--color-accent);border-color:var(--color-accent)}.primary:hover:not(:disabled){background:var(--color-accent-hi);border-color:var(--color-accent-hi)}.secondary{color:var(--color-text);background:var(--color-surface-2)}.secondary:hover:not(:disabled){border-color:var(--color-border-strong);background:var(--color-surface-hover)}.secondary.danger{color:var(--color-error)}.secondary.danger:hover:not(:disabled){border-color:color-mix(in srgb, var(--color-error) 50%, transparent);background:color-mix(in srgb, var(--color-error) 8%, transparent)}.wide{width:100%}.tooltip{z-index:var(--z-context-menu);max-width:min(320px,100vw - 16px);color:var(--color-text);background:var(--color-surface-2);border:var(--border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-popover);font-size:var(--fs-xs);line-height:var(--lh-tight);pointer-events:none;white-space:nowrap;animation:tooltip-in var(--dur-fast) var(--ease-out);align-items:center;gap:6px;padding:6px 8px;display:flex;position:fixed;transform:translate(-50%)}.tooltip[data-placement=above]{transform:translate(-50%,-100%)}.tooltip-label{font-weight:var(--fw-medium)}.tooltip kbd{color:var(--color-text-muted);background:var(--color-bg);border:var(--border-thin);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--fs-mini);padding:1px 4px}.tooltip-description{min-width:0;color:var(--color-text-subtle);text-overflow:ellipsis;overflow:hidden}@keyframes tooltip-in{0%{opacity:0}to{opacity:1}}[data-reduced-motion=true] .tooltip{animation:none}.stable-label{place-items:center start;display:inline-grid}.stable-label-center{justify-items:center}.stable-label-text,.stable-label:after{white-space:nowrap;grid-area:1/1}.stable-label:after{content:attr(data-reserve);visibility:hidden;pointer-events:none}.icon-slot{flex:none;place-items:center;width:13px;height:13px;display:inline-grid}.mode-switch-option .stable-label:after{font-weight:var(--fw-medium)}.sidebar-label{min-height:34px;color:var(--color-text-subtle);border-bottom:var(--border-thin);font-family:var(--font-mono);font-size:var(--fs-mini);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;align-items:center;padding:0 12px;display:flex}.sidebar{background:var(--color-surface);border-right:var(--border-thin);flex-direction:column;min-height:0;display:flex;overflow-y:auto}.sidebar-section{border-bottom:var(--border-thin);padding:12px 10px 10px}.sidebar-section.grow{flex:1}.sidebar-section .section-title{text-align:left;border:0;align-items:center;gap:5px;width:100%;margin:0 0 8px;padding:0 2px;display:flex}.sidebar-section .section-title:hover{color:var(--color-text)}.sidebar-section .section-title>span{flex:1}.sidebar-section.collapsed .section-title{margin-bottom:0}.sidebar-section.collapsed.grow{flex:none}.section-count{box-sizing:content-box;text-align:center;font-variant-numeric:tabular-nums;min-width:2.5ch;color:var(--color-text-muted);background:var(--color-surface-2);font-family:var(--font-mono);font-size:var(--fs-mini);border-radius:999px;padding:0 5px}.sidebar-hint{font-size:var(--fs-xs);margin:8px 2px 0;line-height:1.5}.param-list{gap:3px;display:grid}.param-row,.param-add{grid-template-columns:minmax(0,1fr) 76px minmax(0,max-content) 20px 20px;align-items:center;gap:6px;display:grid}.param-add{grid-template-columns:minmax(0,1fr) 76px 28px;margin-top:4px}.param-row input,.param-add input{height:26px;font-size:var(--fs-xs);min-width:0;padding:2px 6px}.param-name{color:var(--color-accent);font-size:var(--fs-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.param-value{color:var(--color-text-muted);font-size:var(--fs-mini);text-align:right;min-width:34px}.param-value.error{color:var(--color-error)}.param-expose{grid-column:4}.param-row .row-delete{grid-column:5}.param-entry{gap:3px;display:grid}.param-description{height:24px;color:var(--color-text-muted);font-size:var(--fs-mini);padding:2px 6px}.param-description::placeholder{color:var(--color-text-subtle)}.param-expose{width:20px;height:20px;color:var(--color-text-subtle);border-radius:var(--radius-sm);opacity:0;place-items:center;display:inline-grid}.param-row:hover .param-expose,.param-expose:focus-visible,.param-expose.on{opacity:1}.param-expose.on{color:var(--color-accent)}.param-expose:hover{background:var(--color-surface-hover)}.row-delete{width:20px;height:20px;color:var(--color-text-subtle);border-radius:var(--radius-sm);opacity:0;place-items:center;display:inline-grid}.param-row:hover .row-delete,.feature-row:hover .row-delete,.row-delete:focus-visible{opacity:1}.row-delete:hover{color:var(--color-error);background:color-mix(in srgb, var(--color-error) 10%, transparent)}.feature-list{grid-template-columns:minmax(0,1fr);gap:2px;display:grid}.feature-row,.body-row{border-radius:var(--radius-sm);border:1px solid #0000;border-left-width:2px;align-items:center;gap:2px;display:flex}.feature-row.selected,.body-row.selected{background:var(--color-accent-dim);border-left-color:var(--color-accent)}.feature-row.consumed .feature-name,.body-row.consumed .feature-name{color:var(--color-text-subtle)}.feature-row.consumed .feature-icon,.body-row.consumed .feature-icon{opacity:.55}.consumed-toggle{min-height:22px;color:var(--color-text-subtle);font-size:var(--fs-mini);border-radius:var(--radius-sm);text-align:left;align-items:center;gap:5px;padding:2px 6px;display:flex}.consumed-toggle:hover{color:var(--color-text-muted);background:var(--color-surface-hover)}.feature-row.suppressed .feature-name{color:var(--color-text-subtle);text-decoration:line-through;text-decoration-color:var(--color-warning);font-style:italic}.feature-row.rollback-marker{box-shadow:0 2px 0 color-mix(in srgb, var(--color-accent) 70%, transparent);margin-bottom:3px}.feature-row-main,.body-row-main{min-width:0;min-height:28px;color:var(--color-text-muted);border-radius:var(--radius-sm);text-align:left;font-size:var(--fs-sm);flex:1;align-items:center;gap:8px;padding:3px 6px;display:flex}.feature-row:hover .feature-row-main,.feature-row.selected .feature-row-main,.body-row:hover .body-row-main,.body-row.selected .body-row-main{color:var(--color-text)}.feature-row:not(.selected):hover,.body-row:not(.selected):hover{background:var(--color-surface-hover)}.feature-icon{color:var(--color-text-subtle);flex:none;place-items:center;display:inline-grid}.feature-row.selected .feature-icon{color:var(--color-accent)}.feature-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.feature-flag{color:var(--color-text-subtle);font-family:var(--font-mono);font-size:var(--fs-mini)}.feature-flag.error{color:var(--color-warning);place-items:center;display:inline-grid}.row-suppression,.row-rollback{width:20px;height:20px;color:var(--color-text-subtle);border-radius:var(--radius-sm);opacity:0;flex:none;place-items:center;display:inline-grid}.feature-row:hover .row-suppression,.feature-row:hover .row-rollback,.row-suppression:focus-visible,.row-rollback:focus-visible,.row-suppression.is-suppressed,.row-rollback.is-active{opacity:1}.row-suppression:hover,.row-rollback:hover{color:var(--color-text);background:var(--color-surface-hover)}.row-suppression.is-suppressed{color:var(--color-warning)}.row-rollback.is-active{color:var(--color-accent);background:var(--color-accent-dim)}.diagnostics{border-top:var(--border-thin);border-bottom:none;max-height:180px;overflow-y:auto}.diagnostic-row{color:var(--color-warning);font-size:var(--fs-xs);align-items:flex-start;gap:7px;margin:0 0 7px;line-height:1.45;display:flex}.diagnostic-row svg{flex:none;margin-top:2px}.feature-row-grip{cursor:grab;opacity:0}.feature-row:hover .feature-row-grip,.feature-row-grip:focus-visible{opacity:1}.feature-row.is-dragging{opacity:.45}.feature-row.is-drop-target{outline:2px dashed var(--color-accent);outline-offset:-2px}@media (hover:none){.row-delete,.param-expose,.row-suppression,.row-rollback,.feature-row-grip{opacity:1}}.feature-history-panel{border-bottom:var(--border-thin);font-size:var(--fs-xs);gap:10px;padding:10px 12px;display:grid}.feature-history-panel p{overflow-wrap:anywhere;margin:5px 0}.feature-history-panel ul{max-height:120px;margin:5px 0;padding-left:15px;overflow-y:auto}.feature-history-panel button{font-size:inherit;text-align:left;padding:4px 6px}.feature-history-panel summary{cursor:pointer;margin-top:8px}.feature-history-failure{border-left:2px solid var(--color-warning);padding-left:8px}.param-toggle{height:26px;font-size:var(--fs-xs);justify-content:center;align-items:center;gap:6px;display:inline-flex}.param-toggle>span{background:var(--color-text-muted);border-radius:50%;width:8px;height:8px}.param-toggle[aria-checked=true]>span{background:var(--color-accent)}.param-toggle[aria-checked=true]{color:var(--color-accent)}.param-create>select{width:100%;font-size:var(--fs-xs);margin-top:6px;padding:3px 6px}.param-bindings{font-size:var(--fs-xs);color:var(--color-text-muted);padding:3px 0 5px}.param-bindings>summary{cursor:pointer}.param-body-choices{border:1px solid var(--color-border);min-width:0;font-size:var(--fs-xs);margin:6px 0;padding:6px}.param-body-choices label{align-items:center;gap:6px;padding:3px 0;display:flex}.param-body-choices label span{overflow-wrap:anywhere}.param-body-choices input{flex:none}.param-body-choices p{color:var(--color-text-muted);margin:5px 0 0}.parameter-feedback{overflow-wrap:anywhere;color:var(--color-text-subtle);margin:6px 0 0;font-size:12px;line-height:1.45}.parameter-feedback.error{color:var(--color-error)}.viewer-shell{background:var(--color-viewport-bg);min-width:0;min-height:0;position:relative;overflow:hidden}.viewer-shell canvas{display:block;width:100%!important;height:100%!important}.viewer-host{position:absolute;inset:0}[data-viewport-hud][hidden]{display:none!important}.viewport-scale-indicator{z-index:var(--z-viewer-overlay);color:var(--color-viewport-text);pointer-events:none;user-select:none;flex-direction:column;align-items:center;display:flex;position:absolute;bottom:38px;left:18px}.viewport-scale-indicator[hidden]{display:none}.viewer-shell canvas.viewport-scale-rule{flex:none;display:block;width:var(--viewport-scale-width,1px)!important;height:18px!important}.viewport-scale-value{min-width:max-content;color:var(--color-viewport-text);font-family:var(--font-mono);font-size:16px;font-weight:var(--fw-regular);letter-spacing:.01em;white-space:nowrap;margin-top:4px;line-height:1}.viewer-rail-stack{z-index:var(--z-viewer-overlay);flex-direction:column;align-items:flex-end;gap:6px;display:flex;position:absolute;top:10px;right:10px}.viewer-rail-stack .orientation-widget{position:static}.viewer-area.has-inspector .viewer-rail-stack{right:calc(var(--context-w) + 20px)}@container viewer-area (width<=929px){.viewer-area.has-inspector .viewer-rail-stack{top:150px}}.viewer-rail{z-index:var(--z-viewer-overlay);background:var(--color-surface);border:var(--border-thin);border-radius:var(--radius-md);flex-direction:column;gap:2px;padding:4px;display:flex;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.rail-button{width:26px;height:26px;color:var(--color-text-muted);border-radius:var(--radius-sm);border:1px solid #0000;place-items:center;display:grid}.rail-button:hover:not(:disabled),.rail-button.open{color:var(--color-text);background:var(--color-surface-2)}.rail-button.active{color:var(--color-accent);background:var(--color-accent-dim);border-color:var(--color-accent-border)}.rail-divider{background:var(--color-border);height:1px;margin:3px 2px}.rail-views-anchor{position:relative}.rail-section-panel{background:var(--color-surface);border:var(--border-thin);border-radius:var(--radius-md);flex-direction:column;align-items:stretch;gap:6px;width:232px;padding:8px 10px;display:flex;position:absolute;bottom:calc(100% + 7px);left:50%;transform:translate(-50%);box-shadow:0 8px 22px #00000073}.rail-section-slider{width:100%}.rail-section-state{font-size:var(--fs-xs);flex-direction:column;gap:1px;margin:0;line-height:1.3;display:flex}.rail-section-state-kind{color:var(--color-text-muted)}.rail-section-state.is-exact .rail-section-state-kind{color:var(--color-accent)}.rail-section-state.is-refused .rail-section-state-kind{color:var(--color-warning)}.rail-section-state-detail{color:var(--color-text-muted)}.rail-section-export{min-height:22px;color:var(--color-text-muted);border:var(--border-thin);border-radius:var(--radius-sm);font-size:var(--fs-xs);align-self:flex-end;padding:0 8px}.rail-section-export:hover:not(:disabled){color:var(--color-text);background:var(--color-surface-2)}.rail-section-export:disabled{opacity:.45}.rail-views-panel{background:var(--color-surface);border:var(--border-thin);border-radius:var(--radius-md);grid-template-columns:repeat(2,66px);gap:2px;padding:4px;display:grid;position:absolute;bottom:-4px;right:calc(100% + 7px);box-shadow:0 8px 22px #00000073}.rail-views-panel button{min-height:22px;color:var(--color-text-muted);border-radius:var(--radius-sm);font-size:var(--fs-xs);white-space:nowrap;border:1px solid #0000;padding:0 6px}.rail-views-panel button:hover{color:var(--color-text);background:var(--color-surface-2)}.rail-view-wide{grid-column:1/-1}.viewer-shell:has(.handle-value-chip:not([hidden])) .selection-callout{margin-top:-30px}.selection-callout{white-space:nowrap;color:var(--color-viewport-text);border:1px solid var(--color-accent-border);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--fs-mini);backdrop-filter:blur(8px);pointer-events:none;background:#111821d9;padding:3px 7px}.selection-callout.body-order-callout{border-color:var(--color-accent);align-items:center;gap:6px;padding-left:4px;display:inline-flex}.callout-order{min-width:16px;height:16px;color:var(--color-on-accent);background:var(--color-accent);border-radius:8px;place-items:center;padding:0 4px;font-weight:700;line-height:1;display:inline-grid}.selection-callout.sketch-callout{color:var(--color-accent);border-color:#4da3ff4d}.selection-callout.direct-edit-callout{color:#e8f3ffe6;backdrop-filter:blur(5px);background:#0a16248f;border-color:#7cc0ff6b;box-shadow:0 5px 16px #0003}.dimension-callout-anchor{pointer-events:auto}.selection-callout.dimension-callout{transform:rotate(var(--dimension-label-angle,0deg)) scale(var(--dimension-label-scale,1));transform-origin:50%;will-change:transform}.selection-callout.measurement-callout{color:#e1f2fff5;font-family:var(--font-mono);font-size:var(--fs-mini);font-variant-numeric:tabular-nums;pointer-events:none;background:#091828c7;border-color:#7cc0ff7a;padding:3px 7px;box-shadow:0 3px 10px #0000003d}.measurement-leader{transform-origin:0;pointer-events:none;border-top:1px solid #7cc0ff8c;height:0;position:absolute;top:50%;left:50%}.measurement-leader:after{content:"";background:#7cc0ffeb;border-radius:50%;width:5px;height:5px;position:absolute;top:-3px;right:-3px}.selection-callout.measurement-callout.selected .measurement-leader{border-top-color:#9bd3ffd9}.selection-callout.measurement-callout.selected .measurement-leader:after{background:#9bd3ff}.selection-callout.measurement-callout.stale .measurement-leader{border-top-color:#f59e0b8c}.selection-callout.measurement-callout.stale .measurement-leader:after{background:#f59e0beb}.selection-callout.measurement-callout.selected{color:#fff;border-color:#9bd3ffe6;box-shadow:0 0 0 1px #9bd3ff52,0 5px 16px #00000052}.selection-callout.measurement-callout.stale{color:#f7c76f;border-color:#f59e0b94}.selection-callout.direct-edit-callout.editable{border-radius:999px;padding:0;overflow:hidden}.callout-value{color:inherit;font:inherit;white-space:nowrap;cursor:text;padding:4px 11px}.callout-value:hover{background:#7cc0ff2e}.callout-input{color:#f3f8ff;width:84px;height:26px;font-family:var(--font-mono);font-size:var(--fs-xs);background:#08121efa;border:none;border-radius:999px;padding:0 9px}.callout-input:focus{box-shadow:inset 0 0 0 1px var(--color-accent);outline:none}.selection-chip{z-index:var(--z-viewer-overlay);min-height:24px;color:var(--color-accent);background:var(--color-surface);border:1px solid var(--color-accent-border);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--fs-mini);text-transform:uppercase;white-space:nowrap;align-items:center;gap:8px;padding:2px 4px 2px 10px;display:inline-flex;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.toast{z-index:calc(var(--z-inspector-float) + 1);max-width:min(560px,100% - 24px);min-height:30px;color:var(--color-text);background:var(--color-surface-2);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);font-size:var(--fs-sm);white-space:nowrap;align-items:center;gap:10px;padding:4px 4px 4px 12px;display:inline-flex;position:absolute;bottom:48px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #00000059}.toast-message{text-overflow:ellipsis;overflow:hidden}.toast-action{color:var(--color-accent);font-weight:var(--fw-medium);border-radius:var(--radius-sm);padding:3px 9px}.toast-action:hover{background:var(--color-accent-dim)}.toast-dismiss{width:24px;height:24px;color:var(--color-text-muted);border-radius:var(--radius-sm);justify-content:center;align-items:center;display:inline-flex}.toast-dismiss:hover{color:var(--color-text);background:var(--color-surface-hover)}.selection-chip-label{font-weight:var(--fw-medium)}.selection-chip-detail{color:var(--color-text-subtle);font-family:var(--font-mono);font-size:var(--fs-mini)}.selection-chip-clear{width:18px;height:18px;color:var(--color-text-subtle);border-radius:var(--radius-sm);font-size:var(--fs-md);place-items:center;line-height:1;display:inline-grid}.selection-chip-clear:hover{color:var(--color-text);background:var(--color-surface-hover)}.snap-glyph{z-index:calc(var(--z-viewer-overlay) + 2);color:#f3f8ff;border:1px solid var(--color-accent);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--fs-xs);white-space:nowrap;pointer-events:none;background:#08121ef0;padding:1px 6px;position:absolute;transform:translate(10px,-50%)}.snap-glyph:before{content:"";background:var(--color-accent);width:7px;height:7px;position:absolute;top:50%;left:-14px;transform:translate(-50%,-50%)rotate(45deg)}.snap-glyph[data-kind=center]:before{border:2px solid var(--color-accent);background:0 0;border-radius:999px;transform:translate(-50%,-50%)}.selection-band{z-index:calc(var(--z-viewer-overlay) + 1);border:1px solid var(--color-accent);pointer-events:none;background:#4da3ff1f;position:absolute}.selection-band.crossing{border-style:dashed;border-color:var(--color-success);background:#5dd69a1f}.direct-edit-hud{z-index:calc(var(--z-viewer-overlay) + 1);color:#f3f8ff;border-radius:var(--radius-sm);min-width:112px;font-family:var(--font-mono);font-size:var(--fs-xs);white-space:nowrap;pointer-events:none;background:#08121ef5;border:1px solid #7cc0ffb3;padding:6px 9px;position:absolute;box-shadow:0 10px 26px #00000059}.topology-pick-list{z-index:calc(var(--z-viewer-overlay) + 4);width:min(278px,100% - 16px);max-height:min(340px,100% - 16px);color:var(--color-viewport-text);border:1px solid var(--color-accent-border);border-radius:var(--radius-md);backdrop-filter:blur(10px);pointer-events:auto;background:#07101bf7;padding:5px;position:absolute;overflow-y:auto;box-shadow:0 14px 38px #00000075}.topology-pick-list-title{color:var(--color-viewport-text-muted);font-size:var(--fs-mini);font-weight:var(--fw-semibold);letter-spacing:.04em;text-transform:uppercase;justify-content:space-between;align-items:baseline;gap:10px;padding:3px 7px 6px;display:flex}.topology-pick-list-title span{color:var(--color-viewport-text-muted);font-weight:var(--fw-normal);letter-spacing:0;text-transform:none}.topology-pick-list-row{width:100%;min-height:31px;color:var(--color-viewport-text);border-radius:var(--radius-sm);font-size:var(--fs-xs);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:5px 8px;display:grid}.topology-pick-list-row>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.topology-pick-list-row small{color:var(--color-viewport-text-muted);font-family:var(--font-mono);font-size:var(--fs-mini);text-transform:uppercase}.topology-pick-list-row:hover,.topology-pick-list-row:focus-visible{color:#f5faff;background:#4da3ff2e;border-color:#7cc0ff85;outline:none}.topology-pick-list-row:hover small,.topology-pick-list-row:focus-visible small{color:var(--color-accent-hi)}.move-gizmo-hud{--gizmo-axis-color:#e8f3ff;z-index:calc(var(--z-viewer-overlay) + 2);color:#f8fbff;border:2px solid var(--gizmo-axis-color);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:.02em;white-space:nowrap;pointer-events:none;background:#050c16f5;padding:7px 10px;position:absolute;transform:translateY(-100%);box-shadow:0 0 0 1px #ffffff57,0 8px 24px #00000073}.move-gizmo-hud:before{content:"";background:var(--gizmo-axis-color);width:8px;height:8px;box-shadow:0 0 8px var(--gizmo-axis-color);vertical-align:1px;border:1px solid #ffffffe6;border-radius:999px;margin-right:7px;display:inline-block}.move-gizmo-hud.is-active{box-shadow:0 0 0 2px #ffffffb8, 0 0 18px color-mix(in srgb, var(--gizmo-axis-color) 65%, transparent), 0 10px 28px #00000080;background:#020812fa}.sketch-workspace{z-index:calc(var(--z-viewer-overlay) + 2);background:#090b0e;position:absolute;inset:0;overflow:hidden}.sketch-canvas{touch-action:none;cursor:crosshair;width:100%;height:100%;position:absolute;inset:0}.sketch-instruction,.extrude-instruction,.profile-pick-prompt{z-index:4;width:min(430px,100% - 340px);min-width:280px;color:var(--color-text);border:var(--border-thin);border-radius:var(--radius-lg);backdrop-filter:blur(10px);background:#181b1ff0;align-items:center;gap:10px;padding:9px 12px;display:flex;position:absolute;top:14px;left:50%;transform:translate(-50%);box-shadow:0 12px 32px #00000057}.sketch-instruction-icon,.extrude-instruction-icon{width:38px;height:38px;color:var(--color-warning);border-radius:var(--radius-md);background:#f59e0b1f;border:1px solid #f59e0b52;flex:none;place-items:center;display:grid}.extrude-instruction-icon{color:var(--color-accent);background:var(--color-accent-dim);border-color:var(--color-accent-border)}.sketch-instruction>span:last-child,.extrude-instruction>span:last-child,.profile-pick-prompt>span{gap:1px;min-width:0;display:grid}.sketch-instruction strong,.extrude-instruction strong,.profile-pick-prompt strong{font-size:var(--fs-sm);font-weight:var(--fw-medium)}.sketch-instruction small,.extrude-instruction small,.profile-pick-prompt small{color:var(--color-text-muted);font-size:var(--fs-xs)}.sketch-tools{z-index:4;border:var(--border-thin);border-radius:var(--radius-lg);backdrop-filter:blur(10px);background:#16181cf0;gap:3px;width:176px;padding:6px;display:grid;position:absolute;top:72px;left:14px;box-shadow:0 14px 34px #0000004d}.sketch-tools button{min-height:34px;color:var(--color-text-muted);border-radius:var(--radius-md);text-align:left;font-size:var(--fs-sm);border:1px solid #0000;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:7px;padding:5px 8px;display:grid}.sketch-tools button:hover:not(:disabled),.sketch-tools button.active{color:var(--color-text);background:var(--color-surface-hover);border-color:var(--color-border-strong)}.sketch-tools button.active svg{color:var(--color-warning)}.sketch-tools kbd{padding:0 4px}.sketch-tools-separator{background:var(--color-border);height:1px;margin:3px 2px}.sketch-setup{z-index:4;width:238px;color:var(--color-text-muted);border:var(--border-thin);border-radius:var(--radius-lg);backdrop-filter:blur(10px);background:#16181cf0;padding:10px;position:absolute;top:72px;right:14px;box-shadow:0 14px 34px #0000004d}.sketch-setup-header,.extrude-controller-header{color:var(--color-text);font-size:var(--fs-sm);font-weight:var(--fw-medium);justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.sketch-setup-header>span,.extrude-controller-header>span{align-items:center;gap:7px;display:inline-flex}.sketch-setup-header svg{color:var(--color-warning)}.sketch-setup-header button,.extrude-controller-header button{width:26px;height:26px;color:var(--color-text-subtle);border-radius:var(--radius-sm);place-items:center;display:grid}.sketch-setup-header button:hover,.extrude-controller-header button:hover{color:var(--color-text);background:var(--color-surface-hover)}.plane-picker{grid-template-columns:repeat(3,1fr);gap:4px;margin-bottom:10px;display:grid}.plane-picker button{min-width:0;color:var(--color-text-muted);background:var(--color-surface-2);border:var(--border-thin);border-radius:var(--radius-sm);font-size:var(--fs-xs);gap:1px;padding:6px 3px;display:grid}.plane-picker button small{color:var(--color-text-subtle);font-family:var(--font-mono);font-size:var(--fs-mini)}.plane-picker button.active{color:var(--color-text);background:#f59e0b1a;border-color:#f59e0b80}.plane-picker button.active small{color:var(--color-warning)}.sketch-setup-row{border-top:var(--border-thin);min-height:30px;font-size:var(--fs-xs);justify-content:space-between;align-items:center;display:flex}.sketch-setup-row b{color:var(--color-text);font-family:var(--font-mono);font-size:var(--fs-mini);font-weight:var(--fw-regular)}.sketch-setup-row b.ready{color:var(--color-success)}.sketch-profile-summary{color:var(--color-warning);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--fs-mini);text-align:center;background:#f59e0b14;border:1px solid #f59e0b3d;margin:5px 0 8px;padding:7px 8px}.sketch-finish{margin-top:6px}.sketch-enter-hint{color:var(--color-text-subtle);font-size:var(--fs-mini);text-align:center;margin-top:7px;display:block}.profile-quick-action{z-index:calc(var(--z-viewer-overlay) + 2);min-width:370px;color:var(--color-viewport-text);border:1px solid var(--color-accent-border);border-radius:var(--radius-lg);backdrop-filter:blur(10px);background:#111821f2;align-items:center;gap:9px;padding:7px 8px 7px 10px;display:flex;position:absolute;top:66px;left:50%;transform:translate(-50%);box-shadow:0 12px 30px #00000057}.profile-ready-icon{color:#dff9e8;background:#22c55e2e;border:1px solid #22c55e61;border-radius:50%;place-items:center;width:25px;height:25px;display:grid}.profile-quick-copy{flex:1;min-width:0;line-height:1.3;display:grid}.profile-quick-copy strong{font-size:var(--fs-xs);font-weight:var(--fw-medium)}.profile-quick-copy small{color:var(--color-text-muted);font-size:var(--fs-mini)}.profile-extrude{min-height:30px;color:var(--color-on-accent);background:var(--color-accent);border-radius:var(--radius-md);font-size:var(--fs-xs);align-items:center;gap:6px;padding:0 9px;display:inline-flex}.profile-extrude kbd{color:#fffc;background:#ffffff1f;border-color:#ffffff2e}.profile-dismiss{width:25px;height:25px;color:var(--color-text-subtle);border-radius:var(--radius-sm);place-items:center;display:grid}.profile-dismiss:hover{color:var(--color-text);background:var(--color-surface-hover)}.extrude-instruction,.profile-pick-prompt{z-index:calc(var(--z-viewer-overlay) + 2)}.profile-pick-prompt{width:auto;color:var(--color-text)}.profile-pick-prompt>svg{color:var(--color-accent)}.extrude-controller{z-index:calc(var(--z-viewer-overlay) + 2);width:250px;color:var(--color-viewport-text-muted);border:1px solid var(--color-viewport-border);border-radius:var(--radius-lg);backdrop-filter:blur(10px);background:#111821f2;padding:12px;position:absolute;top:66px;right:14px;box-shadow:0 14px 34px #00000061}.extrude-controller-header svg{color:var(--color-accent)}.move-controller .panel-header{margin:-12px -12px 10px;padding:10px 12px 9px}.move-controller .panel-title-row h2{font-size:var(--fs-md);align-items:center;gap:6px;display:flex}.move-controller .panel-title-row h2 svg{color:var(--color-accent)}.move-controller .form-actions{margin-top:10px}.extrude-controller>p{color:var(--color-text-subtle);font-size:var(--fs-xs);margin:-2px 0 10px}.extrude-profile-field{background:var(--color-surface-2);border:var(--border-thin);border-radius:var(--radius-md);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px 8px;margin-bottom:10px;padding:8px;display:grid}.extrude-profile-field>span{min-width:0;display:grid}.extrude-profile-field strong,.extrude-profile-field b{color:var(--color-text);font-size:var(--fs-xs)}.extrude-profile-field small{color:var(--color-text-subtle);font-size:var(--fs-mini);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.extrude-profile-field>button{min-height:26px;color:var(--color-text-muted);background:var(--color-surface-hover);border-radius:var(--radius-sm);font-size:var(--fs-mini);padding:0 7px}.extrude-controller label{font-size:var(--fs-xs);gap:5px;display:grid}.extrude-distance-input{display:block;position:relative}.extrude-distance-input input{width:100%;font-family:var(--font-mono);-moz-appearance:textfield;appearance:textfield;padding-right:38px}.extrude-distance-input input::-webkit-outer-spin-button,.extrude-distance-input input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.extrude-distance-input b{color:var(--color-text-subtle);font-family:var(--font-mono);font-size:var(--fs-mini);font-weight:var(--fw-regular);pointer-events:none;position:absolute;top:50%;right:9px;transform:translateY(-50%)}.extrude-direction{color:var(--color-accent);font-family:var(--font-mono);font-size:var(--fs-mini);align-items:center;gap:6px;margin:8px 0 12px;display:flex}.extrude-direction button{color:var(--color-text);background:var(--color-surface-hover);border-radius:var(--radius-sm);font-size:var(--fs-mini);margin-left:auto;padding:3px 7px}.extrude-actions{grid-template-columns:auto 1fr;gap:6px;display:grid}.extrude-value-callout{color:#e6f2ff;background:#08121ef2;border-color:#7cc0ffb3}.sketch-dimension-label{pointer-events:auto;color:var(--color-text);background:var(--color-surface-2);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);font-size:var(--fs-xs);font-variant-numeric:tabular-nums;white-space:nowrap;cursor:pointer;padding:4px 8px}.sketch-dimension-label:focus-visible{outline:2px solid var(--color-text);outline-offset:2px}.sketch-workflow{font-size:var(--fs-xs);border-bottom:var(--border-thin);gap:8px;padding:12px;display:grid}.sketch-workflow p{margin:0}.sketch-workflow-context,.sketch-workflow-snaps{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;min-width:0;display:flex}.sketch-workflow-context strong,.sketch-workflow-context span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.sketch-workflow-context span{text-transform:capitalize;color:var(--color-text-muted)}.sketch-workflow-snaps button{min-width:0;font-size:inherit;white-space:nowrap;text-overflow:ellipsis;flex:auto;padding:5px;overflow:hidden}.sketch-workflow-snaps button[aria-pressed=true]{color:var(--color-accent);background:var(--color-accent-dim)}.sketch-workflow-problems summary{cursor:pointer;color:var(--color-warning)}.sketch-workflow-problems ul{padding-left:16px}.sketch-workflow-problems li button{text-align:left;font-size:inherit}.workspace-column-tools:has(.sketch-workflow){max-height:65vh;overflow-y:auto}.sketch-workflow-readiness{font-weight:var(--fw-medium)}.sketch-entity-values{border:0;min-width:0;margin:0;padding:0}.workspace.with-assistant{--assistant-col-w:min(var(--assistant-w), 35vw);grid-template-columns:var(--sidebar-col-w) minmax(280px, 1fr) var(--assistant-col-w)}.assistant-panel{background:var(--color-surface);border-left:var(--border-thin);min-width:0;min-height:0;animation:assistant-dock-in var(--dur-base) var(--ease-out);grid-template-rows:auto minmax(0,1fr) auto;display:grid;position:relative}@keyframes assistant-dock-in{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:none}}.assistant-panel.assistant-off-screen,.assistant-launcher.assistant-off-screen{display:none}.assistant-panel.dragging{outline:1px dashed var(--color-accent-border);outline-offset:-3px}.assistant-panel.dragging:after{content:"Drop the drawing to attach it";color:var(--color-accent);background:var(--color-surface-2);border:1px solid var(--color-accent-border);border-radius:var(--radius-md);font-size:var(--fs-xs);text-align:center;pointer-events:none;padding:7px 10px;position:absolute;inset:auto 10px 84px}.assistant-header{align-items:center;gap:var(--sp-2);color:var(--color-accent);border-bottom:var(--border-thin);padding:7px 8px 7px 10px;display:flex}.assistant-heading{flex:1;align-items:center;gap:6px;min-width:0;display:flex}.assistant-title{color:var(--color-text-subtle);font-family:var(--font-mono);font-size:var(--fs-mini);letter-spacing:.08em;flex:none}.assistant-model,.assistant-turn-count{color:var(--color-text-subtle);font-family:var(--font-mono);font-size:var(--fs-mini)}.assistant-model{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.assistant-icon-button{width:24px;height:24px;color:var(--color-text-muted);border-radius:var(--radius-sm);border:1px solid #0000;place-items:center;display:grid}.assistant-icon-button:hover:not(:disabled){color:var(--color-text);background:var(--color-surface-hover);border-color:var(--color-border-strong)}.assistant-launcher,.assistant-seam{z-index:var(--z-inspector-float);width:26px;height:128px;color:var(--color-text-muted);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-lg) 0 0 var(--radius-lg);cursor:pointer;transition:color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);border-right:0;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:0;display:flex;position:fixed;top:50%;right:0;transform:translateY(-50%);box-shadow:-6px 0 18px #0000004d}.assistant-launcher{animation:assistant-launcher-in var(--dur-base) var(--ease-out)}@keyframes assistant-launcher-in{0%{opacity:0;transform:translateY(-50%)translate(8px)}to{opacity:1;transform:translateY(-50%)}}.assistant-launcher:hover,.assistant-launcher:focus-visible,.assistant-seam:hover,.assistant-seam:focus-visible{color:var(--color-text);background:var(--color-surface-hover);outline:none}.assistant-seam{border-right:0;position:absolute;right:100%}.assistant-launcher-word{writing-mode:vertical-rl;color:var(--color-text-subtle);font-size:var(--fs-mini);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;transform:rotate(180deg)}.assistant-launcher-badge{background:var(--color-accent);width:7px;height:7px;box-shadow:0 0 0 2px var(--color-accent-dim);border-radius:999px}.assistant-launcher.unread{border-color:var(--color-accent-border)}.assistant-panel{animation:assistant-dock-in var(--dur-base) var(--ease-out)}[data-reduced-motion=true] .assistant-panel,[data-reduced-motion=true] .assistant-launcher{animation:none}.assistant-launcher.working:before{content:"";border:1px solid var(--color-accent-hi);border-radius:var(--radius-lg) 0 0 var(--radius-lg);animation:assistant-pulse 1.8s var(--ease-out) infinite;border-right:0;position:absolute;inset:-3px 0 -3px -3px}@keyframes assistant-pulse{0%{opacity:.75;transform:scale(.98)}70%{opacity:0;transform:scale(1.12)}to{opacity:0;transform:scale(1.12)}}.assistant-thread{gap:var(--sp-3);min-height:0;padding:var(--sp-3) 10px;scroll-behavior:smooth;scrollbar-gutter:stable;flex-direction:column;display:flex;overflow-y:auto}.assistant-day{gap:var(--sp-2);flex-direction:column;display:flex}.assistant-day-rule{align-items:center;gap:var(--sp-2);color:var(--color-text-subtle);font-family:var(--font-mono);font-size:var(--fs-mini);letter-spacing:.06em;text-transform:uppercase;display:flex}.assistant-day-rule:before,.assistant-day-rule:after{content:"";background:var(--color-border);flex:1;height:1px}.assistant-empty{gap:var(--sp-2);color:var(--color-text-muted);font-size:var(--fs-xs);margin:auto 0;line-height:1.55;display:grid}.assistant-empty p{margin:0}.assistant-empty-lead{color:var(--color-text);font-size:var(--fs-sm)}.assistant-empty-hint{color:var(--color-text-subtle)}.assistant-suggestions{margin:var(--sp-1) 0 0;gap:5px;padding:0;list-style:none;display:grid}.assistant-suggestion{justify-content:space-between;align-items:center;gap:var(--sp-2);width:100%;color:var(--color-text);background:var(--color-surface-2);border:var(--border-thin);border-radius:var(--radius-md);font-size:var(--fs-xs);text-align:left;cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);padding:7px 9px;line-height:1.4;display:flex}.assistant-suggestion:hover:not(:disabled){background:var(--color-surface-hover);border-color:var(--color-accent-border);transform:translate(2px)}.assistant-suggestion:disabled{opacity:.5}.assistant-suggestion-badge{color:var(--color-accent);background:var(--color-accent-dim);border:1px solid var(--color-accent-border);font-size:var(--fs-mini);font-weight:var(--fw-medium);letter-spacing:.02em;border-radius:999px;flex:none;padding:1px 5px}.assistant-turn{min-width:0;animation:assistant-turn-in var(--dur-base) var(--ease-out);flex-direction:column;gap:4px;display:flex;position:relative}.assistant-turn.continues{margin-top:-4px}@keyframes assistant-turn-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.assistant-turn.user{align-items:flex-end}.assistant-turn-meta{color:var(--color-text-subtle);font-family:var(--font-mono);font-size:var(--fs-mini);letter-spacing:.05em;align-items:center;gap:5px;display:inline-flex}.assistant-turn-mark{width:15px;height:15px;color:var(--color-accent);background:var(--color-accent-dim);border-radius:50%;place-items:center;display:grid}.assistant-turn-time{font-variant-numeric:tabular-nums;opacity:0;transition:opacity var(--dur-fast) var(--ease-out)}.assistant-turn:hover .assistant-turn-time,.assistant-turn:focus-within .assistant-turn-time{opacity:1}.assistant-turn-body{flex-direction:column;min-width:0;max-width:100%;display:flex}.assistant-turn.user .assistant-turn-body{align-items:flex-end}.assistant-bubble{max-width:90%;color:var(--color-text);background:linear-gradient(180deg, color-mix(in srgb, var(--color-accent) 16%, transparent), color-mix(in srgb, var(--color-accent) 9%, transparent));border:1px solid var(--color-accent-border);font-size:var(--fs-sm);transition:border-color var(--dur-fast) var(--ease-out);border-radius:10px 10px 3px;padding:8px 11px;line-height:1.5;box-shadow:0 1px 2px #00000040}.assistant-turn.continues .assistant-bubble{border-radius:10px 3px 3px 10px}.assistant-turn.user:hover .assistant-bubble{border-color:var(--color-accent-hi)}.assistant-bubble p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.assistant-answer-list{gap:6px;margin:0;display:grid}.assistant-answer-list>div+div{border-top:1px solid color-mix(in srgb, var(--color-accent) 18%, transparent);padding-top:6px}.assistant-answer-list dt{color:var(--color-text-muted);font-size:var(--fs-mini);line-height:1.35}.assistant-answer-list dd{color:var(--color-text);font-family:var(--font-mono);font-size:var(--fs-xs);margin:2px 0 0}.assistant-thumbs{flex-wrap:wrap;gap:5px;margin-top:7px;display:flex}.assistant-thumbs img{object-fit:cover;border:var(--border-thin);border-radius:var(--radius-md);width:62px;height:62px;transition:transform var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);background:#fff}.assistant-thumbs img:hover{border-color:var(--color-accent-border);transform:scale(1.04)}.assistant-thumb-gone{color:var(--color-text-subtle);background:var(--color-surface);border:1px dashed var(--color-border-strong);border-radius:var(--radius-sm);font-size:var(--fs-mini);align-items:center;gap:4px;padding:4px 7px;display:inline-flex}.assistant-working{color:var(--color-accent);font-size:var(--fs-xs);flex-direction:row;align-items:flex-start;gap:7px;line-height:1.45}.assistant-typing{align-items:center;gap:3px;padding-top:6px;display:inline-flex}.assistant-typing i{background:var(--color-accent);width:4px;height:4px;animation:assistant-typing 1.1s var(--ease-out) infinite;border-radius:50%}.assistant-typing i:nth-child(2){animation-delay:.15s}.assistant-typing i:nth-child(3){animation-delay:.3s}@keyframes assistant-typing{0%,60%,to{opacity:.25;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}.assistant-working-copy{gap:2px;min-width:0;display:grid}.assistant-working-text{color:var(--color-text-muted);overflow-wrap:anywhere;font-style:normal}.assistant-spin{animation:.9s linear infinite assistant-spin}@keyframes assistant-spin{to{transform:rotate(360deg)}}.assistant-jump{z-index:2;color:var(--color-on-accent);background:var(--color-accent);border:1px solid var(--color-accent-hi);font-size:var(--fs-mini);cursor:pointer;animation:assistant-turn-in var(--dur-fast) var(--ease-out);border-radius:999px;align-items:center;gap:5px;padding:5px 10px;display:inline-flex;position:absolute;bottom:104px;right:14px;box-shadow:0 4px 14px #00000073}.assistant-jump:hover{background:var(--color-accent-hi)}.assistant-card{background:var(--color-surface-2);border:var(--border-thin);min-width:0;font-size:var(--fs-xs);border-radius:3px 10px 10px;gap:7px;padding:9px 11px;display:grid;box-shadow:0 1px 2px #00000040}.assistant-turn.continues .assistant-card{border-radius:3px 10px 10px 3px}.assistant-card.questions{border-color:var(--color-accent-border)}.assistant-card.proposal.open{border-color:var(--color-accent-border);box-shadow:inset 2px 0 0 var(--color-accent)}.assistant-card.proposal.previewing{box-shadow:inset 2px 0 0 var(--color-preview), 0 0 0 1px var(--color-preview)}.assistant-card.proposal.applied{box-shadow:inset 2px 0 0 var(--color-success)}.assistant-card.proposal.rejected,.assistant-card.questions.sent{opacity:.62}.assistant-card.proposal.rejected:hover,.assistant-card.questions.sent:hover{opacity:1}.assistant-card.message.error{border-color:color-mix(in srgb, var(--color-error) 55%, transparent)}.assistant-card-label{color:var(--color-text-subtle);font-family:var(--font-mono);font-size:var(--fs-mini);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:5px;display:inline-flex}.assistant-card.questions .assistant-card-label,.assistant-card.proposal.open .assistant-card-label{color:var(--color-accent)}.assistant-card.proposal.applied .assistant-card-label{color:var(--color-success)}.assistant-card-note{color:var(--color-text-subtle);font-size:var(--fs-mini);line-height:1.4}.assistant-live-pill{color:var(--color-preview);background:color-mix(in srgb, var(--color-preview) 12%, transparent);letter-spacing:.04em;text-transform:none;border-radius:999px;align-items:center;gap:3px;padding:1px 6px;display:inline-flex}.assistant-progress-pill{color:var(--color-text-subtle);letter-spacing:.04em;margin-left:auto}.assistant-progress-track{background:var(--color-border);border-radius:999px;height:2px;overflow:hidden}.assistant-progress-fill{background:var(--color-accent);height:100%;transition:width var(--dur-base) var(--ease-out);display:block}.assistant-prose{min-width:0;color:var(--color-text);overflow-wrap:anywhere;gap:6px;line-height:1.5;display:grid}.assistant-prose p{margin:0}.assistant-prose ul,.assistant-prose ol{gap:3px;margin:0;padding-left:17px;display:grid}.assistant-prose code{color:var(--color-accent-hi);background:var(--color-bg);border-radius:var(--radius-sm);font-family:var(--font-mono);padding:1px 4px;font-size:.94em}.assistant-prose pre{background:var(--color-bg);border:var(--border-thin);border-radius:var(--radius-sm);margin:0;padding:7px 8px;overflow-x:auto}.assistant-prose pre code{color:var(--color-text-muted);background:0 0;padding:0}.assistant-card-copy{color:var(--color-text);margin:0;line-height:1.45}.assistant-card.message .assistant-card-copy{font-size:var(--fs-sm);line-height:1.5}.assistant-card-actions{flex-wrap:wrap;align-items:center;gap:4px;margin-top:2px;display:flex}.assistant-card-actions button{min-height:27px;color:var(--color-text-muted);border-radius:var(--radius-sm);font-size:var(--fs-xs);border:1px solid #0000;align-items:center;gap:5px;padding:0 9px;display:inline-flex}.assistant-card-actions button:hover:not(:disabled),.assistant-card-actions button.active{color:var(--color-text);background:var(--color-surface-hover);border-color:var(--color-border-strong)}.assistant-action-hint{color:var(--color-text-subtle);font-size:var(--fs-mini)}.assistant-primary,.assistant-card-actions .assistant-primary{color:var(--color-on-accent);background:var(--color-accent)}.assistant-primary:hover:not(:disabled),.assistant-card-actions .assistant-primary:hover:not(:disabled){color:var(--color-on-accent);background:var(--color-accent-hi);border-color:var(--color-accent)}.assistant-questions{gap:8px;margin:0;padding:0;list-style:none;display:grid}.assistant-questions>li{border-left:2px solid var(--color-border);transition:border-color var(--dur-base) var(--ease-out);padding-left:8px}.assistant-questions>li.answered{border-left-color:var(--color-success)}.assistant-questions>li.unanswered{border-left-color:var(--color-accent-border)}.assistant-question-prompt{color:var(--color-text);align-items:baseline;gap:5px;margin:0 0 4px;line-height:1.4;display:flex}.assistant-question-unit{color:var(--color-text-subtle);font-family:var(--font-mono);font-size:var(--fs-mini)}.assistant-chips{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.assistant-chip{min-height:25px;color:var(--color-accent);background:var(--color-accent-dim);border:1px solid var(--color-accent-border);font-size:var(--fs-mini);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);border-radius:999px;padding:0 9px}.assistant-chip:hover:not(:disabled){color:var(--color-on-accent);background:var(--color-accent);transform:translateY(-1px)}.assistant-chip:active:not(:disabled){transform:translateY(0)}.assistant-chip-input{align-items:center;gap:4px;display:inline-flex}.assistant-chip-input input{width:96px;min-height:25px;font-size:var(--fs-mini);padding:0 6px}.assistant-answer{color:var(--color-success);align-items:center;gap:5px;margin:0;display:inline-flex}.assistant-answer-value{color:var(--color-text)}.assistant-link{color:var(--color-text-subtle);font-size:var(--fs-mini);border:0;align-items:center;gap:3px;padding:0;text-decoration:underline;display:inline-flex}.assistant-link:hover{color:var(--color-accent)}.assistant-assumptions{color:var(--color-text-muted);font-size:var(--fs-mini);gap:3px;margin:0;padding-left:15px;line-height:1.45;display:grid}.assistant-disclosure{color:var(--color-text-subtle);font-family:var(--font-mono);font-size:var(--fs-mini);text-align:left;border:0;align-items:center;gap:5px;padding:2px 0;display:inline-flex}.assistant-disclosure:hover{color:var(--color-text)}.assistant-op-totals{color:var(--color-text-muted)}.assistant-operations{color:var(--color-text-muted);font-family:var(--font-mono);font-size:var(--fs-mini);gap:3px;margin:0;padding-left:18px;line-height:1.5;display:grid}.assistant-readings{gap:4px;min-width:0;display:grid}.assistant-readings table{border-collapse:collapse;width:100%;font-size:var(--fs-mini)}.assistant-readings th,.assistant-readings td{text-align:left;vertical-align:top;border-top:var(--border-thin);padding:3px 5px}.assistant-readings thead th{color:var(--color-text-subtle);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;border-top:0;font-weight:400}.assistant-readings tbody th{color:var(--color-text);font-weight:500}.assistant-readings tbody td{color:var(--color-text-muted)}.assistant-readings tr.unreadable th,.assistant-readings tr.unreadable td{color:var(--color-error-text)}.assistant-confidence{color:var(--color-text-subtle);font-family:var(--font-mono);margin-left:5px;font-size:.85em}.assistant-readings tr.read .assistant-confidence{color:var(--color-accent)}.assistant-composer{border-top:var(--border-thin);gap:5px;padding:8px 10px 9px;display:grid}.assistant-notice{color:var(--color-error-text);font-size:var(--fs-mini);margin:0;line-height:1.4}.assistant-pending{flex-wrap:wrap;gap:4px;display:flex}.assistant-pending-item{background:var(--color-surface-2);border:var(--border-thin);border-radius:var(--radius-sm);font-size:var(--fs-mini);align-items:center;gap:5px;padding:3px 5px 3px 3px;display:inline-flex}.assistant-pending-item img{object-fit:cover;border-radius:var(--radius-sm);background:#fff;width:22px;height:22px}.assistant-pending-label{max-width:116px;color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.assistant-pending-item button{color:var(--color-text-subtle);border:0;place-items:center;padding:2px;display:grid}.assistant-pending-item button:hover{color:var(--color-text)}.assistant-verified-action{min-width:0;color:var(--color-text-muted);background:var(--color-surface-2);border:var(--border-thin);border-radius:var(--radius-sm);font-size:var(--fs-mini);text-align:left;align-items:center;gap:5px;padding:5px 7px;display:flex}.assistant-edit-catalog{max-height:220px;padding:6px 0;font-size:12px;overflow-y:auto}.assistant-edit-catalog summary{cursor:pointer;padding:4px}.assistant-edit-catalog p{padding:4px;line-height:1.5}.assistant-edit-catalog .assistant-verified-action>span:first-child{text-overflow:ellipsis;min-width:0;overflow:hidden}.assistant-verified-action>span:nth-child(2){text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.assistant-verified-action .assistant-suggestion-badge{margin-left:auto}.assistant-verified-action:hover:not(:disabled){color:var(--color-text);background:var(--color-surface-hover);border-color:var(--color-accent-border)}.assistant-verified-action:disabled{opacity:.5}.assistant-prompt{background:var(--color-bg);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);transition:border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);grid-template-columns:auto minmax(0,1fr) auto;align-items:end;gap:6px;padding:5px 5px 5px 6px;display:grid}.assistant-prompt:focus-within{border-color:var(--color-accent-border);box-shadow:0 0 0 2px var(--color-accent-dim)}.assistant-prompt textarea{resize:none;width:100%;min-height:64px;max-height:180px;color:var(--color-text);box-shadow:none;background:0 0;border:0;padding:2px 0;line-height:20px;overflow-y:auto}.assistant-prompt textarea:focus{box-shadow:none}.assistant-submit{width:26px;height:26px;color:var(--color-on-accent);background:var(--color-accent);border-radius:var(--radius-sm);transition:background-color var(--dur-fast) var(--ease-out), opacity var(--dur-fast) var(--ease-out);place-items:center;display:grid}.assistant-submit:hover:not(:disabled){background:var(--color-accent-hi)}.assistant-submit.stop{color:var(--color-text);background:var(--color-surface-hover);border:1px solid var(--color-border-strong)}.assistant-submit.stop:hover{color:var(--color-error-text);border-color:color-mix(in srgb, var(--color-error) 55%, transparent);background:var(--color-surface-2)}.assistant-submit:disabled{opacity:.45}.assistant-foot{color:var(--color-text-subtle);font-family:var(--font-mono);font-size:var(--fs-mini);margin:0}.inspector{background:var(--color-surface);border:var(--border-thin);border-radius:var(--radius-md);flex-direction:column;width:100%;min-height:0;max-height:100%;display:flex;overflow:hidden}.panel-close{flex:none}.panel-header{border-bottom:var(--border-thin);padding:10px 16px 9px}.panel-title-row{justify-content:space-between;align-items:center;gap:var(--sp-3);display:flex}.panel-title-row .panel-eyebrow{margin-left:auto}.panel-title-row h2{color:var(--color-text);font-size:var(--fs-lg);font-weight:var(--fw-medium);text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;overflow:hidden}.panel-eyebrow{color:var(--color-text-subtle);font-family:var(--font-mono);font-size:var(--fs-mini);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;white-space:nowrap}.inspector.object-readout .panel-title-row{grid-template-columns:minmax(0,1fr) auto;row-gap:2px;display:grid}.inspector.object-readout .panel-title-row h2{grid-area:2/1}.inspector.object-readout .panel-title-row .panel-eyebrow{text-overflow:ellipsis;grid-area:1/1;min-width:0;margin-left:0;overflow:hidden}.inspector.object-readout .panel-close{grid-area:1/2/3}.muted{color:var(--color-text-muted);font-size:var(--fs-xs);margin:10px 0 0;line-height:1.5}.panel-body{flex:1;min-height:0;padding:14px 16px;overflow-y:auto}.panel-body h3,.section-title{color:var(--color-text-subtle);font-family:var(--font-mono);font-size:var(--fs-mini);font-weight:var(--fw-regular);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;margin:16px 0 8px}.panel-body h3:first-child,.panel-body .section-title:first-child{margin-top:0}.tool-grid{gap:var(--sp-2);grid-template-columns:1fr 1fr;margin:0 0 14px;display:grid}.tool-button{min-height:34px;color:var(--color-text);background:var(--color-surface-2);border:var(--border-thin);border-radius:var(--radius-md);font-size:var(--fs-sm);align-items:center;gap:8px;padding:6px 10px;display:inline-flex}.tool-button svg{color:var(--color-accent);flex:none}.tool-button:hover:not(:disabled){border-color:var(--color-accent-border);background:var(--color-surface-hover)}.feature-form{gap:2px;display:grid}.field{color:var(--color-text-muted);font-size:var(--fs-sm);font-weight:var(--fw-medium);gap:5px;margin:0 0 10px;display:grid}.field>span{font-size:var(--fs-xs)}.field-error{color:var(--color-error);font-size:var(--fs-xs)}.inspector-commit-error{margin-bottom:var(--sp-3);padding:var(--sp-2);background:color-mix(in srgb, var(--color-error) 12%, transparent);border:1px solid var(--color-error);border-radius:var(--radius-sm);line-height:1.45}.field-pair{gap:var(--sp-2);grid-template-columns:1fr 1fr;display:grid}.selection-summary{color:var(--color-text-muted);background:var(--color-accent-dim);border:1px solid var(--color-accent-border);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--fs-mini);margin-bottom:10px;padding:8px 9px}.edge-selection-action{justify-content:center;width:100%;margin-bottom:7px}.edge-selection-hint{font-size:var(--fs-mini);margin:0 0 10px}.field-triple{gap:var(--sp-2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.expr-input-row{gap:3px;display:grid}.expr-input-row input{width:100%;font-size:var(--fs-sm)}.expr-preview{color:var(--color-text-subtle);font-family:var(--font-mono);font-size:var(--fs-mini);text-overflow:ellipsis;white-space:nowrap;min-height:13px;overflow:hidden}.expr-preview.error,.feature-form .muted.error{color:var(--color-error)}.form-actions{gap:var(--sp-2);margin-top:6px;display:flex}.form-actions .primary{flex:1}.kbd-inline{color:#06111ebf;border-radius:var(--radius-sm);font-size:var(--fs-mini);background:#ffffff47;border:none;padding:0 4px}.danger-zone{border-top:var(--border-thin);margin-top:18px;padding-top:12px}.danger-zone .secondary{width:100%}.pick-list{gap:3px;max-height:190px;display:grid;overflow-y:auto}.pick-row{min-height:30px;color:var(--color-text-muted);border:var(--border-thin);border-radius:var(--radius-sm);text-align:left;font-size:var(--fs-sm);align-items:center;gap:8px;padding:3px 8px;display:flex}.pick-row:hover{background:var(--color-surface-hover)}.pick-row.selected{color:var(--color-text);background:var(--color-accent-dim);border-color:var(--color-accent-border)}.pick-order{width:16px;color:var(--color-accent);font-size:var(--fs-mini);text-align:center}.pick-row .body-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.pick-row small{color:var(--color-text-subtle);font-family:var(--font-mono);font-size:var(--fs-mini)}.appearance-controls{gap:8px;margin:8px 0;display:grid}.appearance-field{justify-content:space-between;align-items:center;gap:var(--sp-3);color:var(--color-text-muted);font-size:var(--fs-sm);display:flex}.appearance-inputs{align-items:center;gap:8px;min-width:0;display:flex}.appearance-swatch{border:var(--border-thin);border-radius:var(--radius-sm);cursor:pointer;width:42px;height:26px;padding:0}.appearance-swatch:hover{border-color:var(--color-border-strong)}.appearance-swatch[aria-expanded=true]{border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-dim)}.appearance-inputs input[type=range]{-webkit-appearance:none;appearance:none;cursor:pointer;background:0 0;border:none;width:130px;height:26px;padding:0}.appearance-inputs input[type=range]::-webkit-slider-runnable-track{border-radius:var(--radius-sm);background:var(--color-border);height:4px}.appearance-inputs input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:var(--color-text);border:2px solid var(--color-accent);border-radius:50%;width:13px;height:13px;margin-top:-4.5px}.appearance-inputs input[type=range]::-moz-range-track{border-radius:var(--radius-sm);background:var(--color-border);height:4px}.appearance-inputs input[type=range]::-moz-range-thumb{background:var(--color-text);border:2px solid var(--color-accent);border-radius:50%;width:9px;height:9px}.appearance-value{min-width:44px;color:var(--color-text);font-family:var(--font-mono);font-size:var(--fs-xs);text-align:right}.appearance-reset{color:var(--color-text-muted);font-size:var(--fs-xs);justify-self:start;padding:0}.appearance-reset:hover{color:var(--color-accent-hi)}.kv-grid{font-family:var(--font-mono);font-size:var(--fs-xs);grid-template-columns:auto 1fr;gap:5px 14px;margin:8px 0;display:grid}.kv-grid b{color:var(--color-text-subtle);font-weight:var(--fw-regular)}.kv-grid span{color:var(--color-text);text-align:right;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.object-definition-row{justify-content:space-between;align-items:center;gap:var(--sp-3);margin-top:var(--sp-3);padding-top:var(--sp-3);border-top:var(--border-thin);color:var(--color-text);font-size:var(--fs-xs);display:flex}.object-definition-row b{margin-right:var(--sp-1);color:var(--color-text-subtle);font-weight:var(--fw-regular)}.plane-chips{flex-wrap:wrap;gap:6px;display:flex}.plane-chip{color:var(--color-text-muted);background:var(--color-surface-2);border:var(--border-thin);font-size:var(--fs-xs);border-radius:999px;padding:4px 9px}.plane-chip:hover{color:var(--color-text)}.plane-chip[aria-pressed=true]{color:var(--color-accent);background:var(--color-accent-dim);border-color:var(--color-accent-border)}.topology-measurements{grid-column:1/-1;margin-top:6px}.topology-selection{color:var(--color-text-muted);background:var(--color-accent-dim);border:1px solid var(--color-accent-border);border-radius:var(--radius-sm);font-size:var(--fs-xs);grid-template-columns:auto minmax(0,1fr);gap:8px;margin-top:10px;padding:8px;display:grid}.topology-selection span{text-overflow:ellipsis;overflow:hidden}.direct-face-editor{border-top:var(--border-thin);margin-top:14px;padding-top:12px}.direct-face-summary{justify-content:space-between;align-items:center;gap:10px;display:flex}.direct-face-summary strong{color:var(--color-text);font-size:var(--fs-sm)}.direct-face-summary span{color:var(--color-text-subtle);font-size:var(--fs-mini)}.direct-diameter-form{margin-top:12px}.remove-face-feature{justify-content:center;align-items:center;gap:7px;width:100%;margin-top:10px;display:inline-flex}.direct-edit-note{margin-top:8px}.import-solid-selection{padding:var(--sp-2) var(--sp-3);border:var(--border-thin);border-radius:var(--radius-md);gap:var(--sp-1);flex-direction:column;margin:0;display:flex}.import-solid-selection legend{padding:0 var(--sp-1);color:var(--color-text-muted);font-size:var(--fs-xs)}.import-solid-selection label{align-items:center;gap:var(--sp-2);font-size:var(--fs-sm);display:flex}.panel-section>summary.section-title{cursor:pointer;align-items:center;gap:4px;list-style:none;display:flex}.panel-section>summary.section-title::-webkit-details-marker{display:none}.panel-section>summary.section-title:before{content:"›";color:var(--color-text-muted);transition:transform var(--dur-fast) var(--ease-out);display:inline-block}.panel-section[open]>summary.section-title:before{transform:rotate(90deg)}.panel-overflow{position:relative}.panel-overflow>summary{cursor:pointer;list-style:none}.panel-overflow>summary::-webkit-details-marker{display:none}.panel-overflow-menu{z-index:var(--z-popover);background:var(--color-surface);border:var(--border-thin);border-radius:var(--radius-md);min-width:176px;box-shadow:var(--shadow-popover);padding:4px;position:absolute;right:0}.panel-overflow-item{width:100%;color:var(--color-text);font-size:var(--fs-sm);text-align:left;border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:6px 8px;display:flex}.panel-overflow-item:hover{background:#ffffff14}.panel-overflow-item.danger{color:var(--color-error-text)}.edge-size-slider{width:100%;min-height:28px;accent-color:var(--color-accent);cursor:ew-resize;margin:0 0 8px;padding:0}.color-picker{gap:var(--sp-2);background:var(--color-surface-2);border:var(--border-thin);border-radius:var(--radius-md);padding:10px;display:grid}.color-picker-sv{border-radius:var(--radius-sm);cursor:crosshair;touch-action:none;height:128px;position:relative}.color-picker-sv-white,.color-picker-sv-black{border-radius:var(--radius-sm);pointer-events:none;position:absolute;inset:0}.color-picker-sv-white{background:linear-gradient(90deg,#fff,#fff0)}.color-picker-sv-black{background:linear-gradient(#0000,#000)}.color-picker-hue{cursor:crosshair;touch-action:none;background:linear-gradient(90deg,red 0%,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%);border-radius:6px;height:12px;position:relative}.color-picker-cursor{pointer-events:none;border:2px solid #fff;border-radius:50%;width:12px;height:12px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #000000a6}.color-picker-hue .color-picker-cursor{top:50%}.color-picker-hex{color:var(--color-text-subtle);font-family:var(--font-mono);font-size:var(--fs-mini);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;align-items:center;gap:8px;display:flex}.color-picker-hex input{min-width:0;height:26px;font-family:var(--font-mono);font-size:var(--fs-xs);flex:1}.color-picker-presets{flex-wrap:wrap;gap:6px;display:flex}.color-picker-presets button{border:var(--border-thin);border-radius:var(--radius-sm);cursor:pointer;width:22px;height:22px;padding:0}.color-picker-presets button:hover{border-color:var(--color-border-strong)}.color-picker-presets button.active{border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-dim)}.status-log-panel{z-index:var(--z-context-menu);height:min(38vh,360px);color:var(--color-text);background:color-mix(in srgb, var(--color-surface) 97%, black);border-top:var(--border-strong);flex-direction:column;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -18px 40px #00000052}.status-log-header{justify-content:space-between;align-items:center;gap:var(--sp-3);border-bottom:var(--border-thin);min-height:48px;padding:8px 14px;display:flex}.status-log-header>div{align-items:baseline;gap:10px;min-width:0;display:flex}.status-log-header strong{font-size:var(--fs-base);font-weight:var(--fw-medium)}.status-log-header span{color:var(--color-text-subtle);font-family:var(--font-mono);font-size:var(--fs-xs)}.status-log-close{border:var(--border-thin);border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:var(--fs-xs);flex:none;padding:4px 8px}.status-log-close:hover{color:var(--color-text);background:var(--color-surface-2)}.status-log-list{flex:1;min-height:0;margin:0;padding:4px 12px 12px;list-style:none;overflow-y:auto}.status-log-entry{border-bottom:1px solid color-mix(in srgb, var(--color-border) 65%, transparent);min-height:34px;color:var(--color-text-muted);font-family:var(--font-mono);font-size:var(--fs-xs);line-height:var(--lh-normal);content-visibility:auto;contain-intrinsic-size:0 34px;grid-template-columns:8px 92px minmax(0,1fr);align-items:start;gap:10px;padding:8px 6px;display:grid}.status-log-entry.current{color:var(--color-text);background:var(--color-accent-dim)}.status-log-entry>i{background:var(--color-success);border-radius:999px;width:7px;height:7px;margin-top:5px}.status-log-entry>i.warning{background:var(--color-warning)}.status-log-entry>i.running{background:var(--color-accent)}.status-log-entry time{color:var(--color-text-subtle);white-space:nowrap}.status-log-entry>span{overflow-wrap:anywhere;white-space:normal}@media (width<=720px){.status-log-panel{height:min(55vh,360px)}.status-log-entry{grid-template-columns:8px 76px minmax(0,1fr);gap:8px}}.status-warning{color:var(--color-warning)}.startup-screen{z-index:var(--z-start-screen);background:var(--color-bg);place-items:center;display:grid;position:absolute;inset:0}.startup-card{justify-items:center;gap:var(--sp-2);color:var(--color-text-subtle);font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;display:grid}.startup-card svg{width:34px;height:34px;color:var(--color-accent)}.startup-card strong{color:var(--color-text);font-size:var(--fs-lg);font-weight:var(--fw-medium);letter-spacing:.01em;text-transform:none}.start-screen{z-index:var(--z-start-screen);grid-template-columns:minmax(0,1fr);grid-template-rows:var(--topbar-h) 1fr var(--statusbar-h);background:var(--color-bg);display:grid;position:absolute;inset:0;overflow:hidden}.start-screen:before{content:"";pointer-events:none;background:radial-gradient(90% 50% at 50% 0%, var(--color-accent-dim), transparent 70%), linear-gradient(color-mix(in srgb, var(--color-accent) 5%, transparent) 1px, transparent 1px) 0 0 / 42px 42px, linear-gradient(90deg, color-mix(in srgb, var(--color-accent) 5%, transparent) 1px, transparent 1px) 0 0 / 42px 42px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#000 40%,#0000 90%);mask-image:linear-gradient(#000,#000 40%,#0000 90%)}.start-header,.start-foot{z-index:1;align-items:center;gap:var(--sp-3);padding:0 var(--sp-4);background:var(--color-surface);display:flex;position:relative}.start-header{border-bottom:var(--border-thin)}.start-foot{border-top:var(--border-thin)}.start-brand{align-items:center;gap:8px;display:inline-flex}.start-brand>svg{width:20px;height:20px;color:var(--color-accent);flex:none}.start-header-name{font-size:var(--fs-md);font-weight:var(--fw-medium);letter-spacing:.01em;margin:0}.start-beta{min-height:16px;color:var(--color-accent);background:var(--color-accent-dim);border:1px solid var(--color-accent-border);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--fs-mini);text-transform:uppercase;align-items:center;padding:0 5px;line-height:1;display:inline-flex}.start-tagline{padding-left:var(--sp-3);border-left:var(--border-thin);color:var(--color-text-subtle);font-size:var(--fs-sm)}.start-settings-button{background:var(--color-surface-2);border:var(--border-thin);margin-left:auto}.start-body{z-index:1;align-content:start;gap:var(--sp-6);width:100%;min-width:0;padding:var(--sp-5) max(var(--sp-5), calc((100% - 1180px) / 2 + var(--sp-5))) var(--sp-6);display:grid;position:relative;overflow:hidden auto}.start-launch{gap:var(--sp-5);padding:var(--sp-4) var(--sp-5);background:color-mix(in srgb, var(--color-surface) 88%, transparent);border:1px solid var(--color-accent-border);border-radius:var(--radius-lg);grid-template-columns:minmax(200px,1fr) minmax(0,2fr);align-items:center;display:grid;box-shadow:0 12px 40px -20px #0009}.start-launch-copy{gap:4px;display:grid}.start-launch-copy h2{color:var(--color-text);font-size:var(--fs-lg);font-weight:var(--fw-medium);align-items:center;gap:7px;margin:0;display:inline-flex}.start-launch-copy h2 svg{color:var(--color-accent)}.start-launch-copy p{color:var(--color-text-subtle);font-size:var(--fs-sm);margin:0;line-height:1.45}.start-launch-form{gap:var(--sp-3);grid-template-columns:minmax(0,1fr) 150px auto;align-items:end;display:grid}.start-field{gap:4px;min-width:0;display:grid}.start-field-label{color:var(--color-text-subtle);font-family:var(--font-mono);font-size:var(--fs-mini);letter-spacing:.06em;text-transform:uppercase}.start-field input,.start-field select{background:var(--color-surface-2);width:100%;min-height:32px}.start-field-name input{font-size:var(--fs-md)}.start-launch-submit{min-height:32px;padding:0 var(--sp-4);white-space:nowrap}.start-launch-error{grid-column:1/-1}.start-section{gap:var(--sp-3);display:grid}.start-toolbar{align-items:center;gap:var(--sp-3) var(--sp-4);flex-wrap:wrap;min-height:32px;display:flex}.start-toolbar-title{align-items:baseline;gap:var(--sp-1) var(--sp-2);flex-wrap:wrap;min-width:0;display:flex}.start-toolbar h2{color:var(--color-text);font-size:var(--fs-lg);font-weight:var(--fw-medium);white-space:nowrap;margin:0}.start-section-note{color:var(--color-text-subtle);font-family:var(--font-mono);font-size:var(--fs-mini)}.start-search{align-items:center;width:min(260px,100%);margin-left:auto;display:flex;position:relative}.start-search>svg{color:var(--color-text-subtle);pointer-events:none;position:absolute;left:9px}.start-search input{background:var(--color-surface);width:100%;min-height:30px;font-size:var(--fs-sm);padding-left:27px;padding-right:26px}.start-search input::placeholder{color:var(--color-text-subtle)}.start-search-clear{width:20px;height:20px;color:var(--color-text-subtle);border-radius:var(--radius-sm);place-items:center;display:grid;position:absolute;right:5px}.start-search-clear:hover{color:var(--color-text);background:var(--color-surface-hover)}.start-no-matches{align-items:center;gap:var(--sp-3);color:var(--color-text-subtle);font-size:var(--fs-sm);margin:0;display:flex}.start-no-matches button{color:var(--color-accent);font-size:var(--fs-sm);text-underline-offset:2px;text-decoration:underline}.start-no-matches button:hover{color:var(--color-accent-hi)}.start-empty{padding:var(--sp-6) var(--sp-4);color:var(--color-text-subtle);background:color-mix(in srgb, var(--color-surface) 60%, transparent);border:1px dashed var(--color-border-strong);border-radius:var(--radius-lg);font-size:var(--fs-sm);text-align:center;justify-items:center;gap:6px;display:grid}.start-empty-mark svg{width:32px;height:32px;color:var(--color-border-strong)}.start-empty strong{color:var(--color-text);font-size:var(--fs-md);font-weight:var(--fw-medium)}.start-shelf-tabs{background:var(--color-surface);border:var(--border-thin);border-radius:var(--radius-md);gap:2px;padding:2px;display:flex}.start-shelf-tabs button{min-height:26px;color:var(--color-text-muted);border-radius:var(--radius-sm);font-size:var(--fs-sm);align-items:center;gap:6px;padding:0 10px;display:flex}.start-shelf-tabs button:hover{color:var(--color-text)}.start-shelf-tabs button.is-active{color:var(--color-text);background:var(--color-surface-hover)}.start-shelf-count{min-width:18px;color:var(--color-text-subtle);background:var(--color-surface-2);font-family:var(--font-mono);font-size:var(--fs-mini);font-variant-numeric:tabular-nums;text-align:center;border-radius:999px;padding:0 5px}.start-shelf-tabs button.is-active .start-shelf-count{color:var(--color-accent);background:var(--color-accent-dim)}.start-shelf-bar{align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);background:var(--color-surface);border:var(--border-thin);border-radius:var(--radius-md);display:flex}.start-shelf-hint{color:var(--color-text-subtle);font-size:var(--fs-sm)}.start-shelf-action{border:var(--border-thin);border-radius:var(--radius-md);min-height:26px;font-size:var(--fs-sm);white-space:nowrap;align-items:center;gap:6px;margin-left:auto;padding:0 10px;display:inline-flex}.start-shelf-action:hover:not(:disabled){background:var(--color-surface-hover);border-color:var(--color-border-strong)}.start-shelf-action.is-destructive{color:var(--color-error)}.start-adopt-bar{align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);background:var(--color-surface);border:var(--border-thin);border-radius:var(--radius-md);color:var(--color-text-subtle);font-size:var(--fs-sm);display:flex}.start-adopt-bar.is-unavailable{color:var(--color-warning)}.start-sync-panel{gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);background:var(--color-surface);border:var(--border-thin);border-radius:var(--radius-md);color:var(--color-text-subtle);font-size:var(--fs-sm);flex-direction:column;display:flex}.start-sync-head{align-items:center;gap:var(--sp-2);display:flex}.start-sync-head svg.is-synced{color:var(--color-success)}.start-sync-head svg.is-failed{color:var(--color-error)}.start-sync-title{color:var(--color-text);flex:1}.start-sync-dismiss{border-radius:var(--radius-sm);color:var(--color-text-subtle);cursor:pointer;background:0 0;border:none;padding:3px;display:inline-flex}.start-sync-dismiss:hover{color:var(--color-text);background:var(--color-surface-2)}.start-sync-track{background:var(--color-surface-2);border-radius:999px;height:4px;display:flex;overflow:hidden}.start-sync-fill{background:var(--color-success);height:100%;transition:width var(--dur-base) var(--ease-out)}.start-sync-fill.is-failed{background:var(--color-error)}.start-sync-failures{gap:var(--sp-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.start-sync-failure{align-items:center;gap:var(--sp-2);padding:var(--sp-1) 0;border-top:var(--border-thin);display:flex}.start-sync-failure>svg{color:var(--color-error);flex-shrink:0}.start-sync-failure-name{text-overflow:ellipsis;white-space:nowrap;max-width:18ch;color:var(--color-text);font-weight:var(--fw-medium);flex-shrink:0;overflow:hidden}.start-sync-failure-detail{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.start-sync-spin{animation:.9s linear infinite start-sync-spin}@keyframes start-sync-spin{to{transform:rotate(360deg)}}.start-tile-grid{gap:var(--sp-3);grid-template-columns:repeat(auto-fill,minmax(208px,1fr));display:grid}.start-tile{background:var(--color-surface);border:var(--border-thin);border-radius:var(--radius-lg);text-align:left;display:grid}.start-tile-project{color:var(--color-text-muted);position:relative}.start-tile-open{border-radius:inherit;color:inherit;text-align:left;grid-template-rows:auto 1fr;gap:0;padding:0;display:grid}.start-tile-project:has(.start-tile-open:hover:not(:disabled)),.start-tile-project:has(.start-tile-open:focus-visible),.start-tile-project.is-drop-target{color:var(--color-text);border-color:var(--color-accent-border)}.start-tile-project:has(.start-tile-open:focus-visible){box-shadow:0 0 0 2px var(--color-accent-dim)}.start-tile-open:focus-visible{outline:none}.start-tile-project.is-pinned{border-color:var(--color-accent-border)}.start-tile-project.is-dragging{opacity:.45}.start-tile-project.is-drop-target{outline:2px dashed var(--color-accent);outline-offset:-2px}.start-tile-thumb{aspect-ratio:16/10;padding:var(--sp-3);background:var(--color-viewport-bg);border-bottom:var(--border-thin);border-radius:calc(var(--radius-lg) - 1px) calc(var(--radius-lg) - 1px) 0 0;color:var(--color-border-strong);place-items:center;display:grid;position:relative;overflow:hidden}.start-tile-thumb svg{width:100%;height:100%}.start-tile-thumb img{object-fit:contain;user-select:none;width:100%;min-width:0;height:100%;min-height:0;display:block}.start-tile-thumb-empty{color:var(--color-text-subtle);font-family:var(--font-mono);font-size:var(--fs-mini);letter-spacing:.04em}.start-tile-project:hover .start-tile-thumb{color:var(--color-accent)}.start-tile-badge{background:var(--color-surface);border:var(--border-thin);border-radius:var(--radius-sm);color:var(--color-text-subtle);padding:3px;display:inline-flex;position:absolute;top:6px;left:6px}.start-tile-badge svg{width:12px;height:12px}.start-tile-badge.is-conflict{color:var(--color-warning);border-color:currentColor}.start-tile-badge.is-sync-syncing{color:var(--color-accent)}.start-tile-badge.is-sync-synced{color:var(--color-success)}.start-tile-badge.is-sync-failed{color:var(--color-error);border-color:currentColor}.start-tile-body{padding:9px var(--sp-3) 10px;gap:3px;display:grid}.start-tile-name{color:var(--color-text);font-size:var(--fs-base);font-weight:var(--fw-medium);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.start-tile-meta{justify-content:space-between;align-items:center;gap:var(--sp-2);color:var(--color-text-subtle);font-size:var(--fs-xs);display:flex}.start-tile-meta time{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.start-tile-rev{color:var(--color-text-subtle);font-family:var(--font-mono);font-size:var(--fs-mini);font-variant-numeric:tabular-nums;flex:none}.start-tile-purge{color:var(--color-warning);font-size:var(--fs-xs)}.start-tile-actions{opacity:0;transition:opacity var(--dur-fast) var(--ease-out);gap:2px;display:flex;position:absolute;top:6px;right:6px}.start-tile-project:hover .start-tile-actions,.start-tile-project:focus-within .start-tile-actions,.start-tile-project.is-pinned .start-tile-actions{opacity:1}.start-tile-action{width:24px;height:24px;color:var(--color-text-subtle);background:var(--color-surface);border:var(--border-thin);border-radius:var(--radius-sm);place-items:center;display:grid}.start-tile-action:hover:not(:disabled){color:var(--color-text);background:var(--color-surface-hover);border-color:var(--color-border-strong)}.start-tile-action[aria-pressed=true]{color:var(--color-accent);border-color:var(--color-accent-border)}.start-tile-grip{cursor:grab}.start-tile-grip:active{cursor:grabbing}.start-tile-menu{z-index:2;background:var(--color-surface-2);border:var(--border-thin);border-color:var(--color-border-strong);border-radius:var(--radius-md);min-width:168px;padding:4px;display:grid;position:absolute;top:32px;right:6px;box-shadow:0 8px 24px #00000073}.start-tile-menu button,.start-tile-footer button{color:var(--color-text-muted);border-radius:var(--radius-sm);font-size:var(--fs-sm);text-align:left;align-items:center;gap:8px;padding:6px 8px;display:flex}.start-tile-menu button:hover:not(:disabled),.start-tile-footer button:hover:not(:disabled){color:var(--color-text);background:var(--color-surface-hover)}.start-tile-menu button.is-destructive,.start-tile-footer button.is-destructive{color:var(--color-error)}.start-tile-footer{gap:var(--sp-2);padding:0 var(--sp-3) var(--sp-3);display:flex}.start-tile-footer button{border:var(--border-thin);flex:1;justify-content:center}.start-expand{min-height:28px;color:var(--color-text-muted);border:var(--border-thin);border-radius:var(--radius-md);font-size:var(--fs-sm);background:0 0;justify-self:start;align-items:center;gap:7px;padding:0 10px;display:inline-flex}.start-expand:hover{color:var(--color-text);background:var(--color-surface-hover);border-color:var(--color-border-strong)}.start-expand svg{transition:transform var(--dur-fast) var(--ease-out)}.start-expand svg.is-open{transform:rotate(180deg)}.start-status{color:var(--color-text-subtle);font-family:var(--font-mono);font-size:var(--fs-xs)}@media (width<=860px){.start-launch{gap:var(--sp-3);grid-template-columns:minmax(0,1fr)}}@media (width<=560px){.start-launch-form{grid-template-columns:minmax(0,1fr)}.start-tagline{display:none}.start-search{width:100%;margin-left:0}}.modal-backdrop{z-index:var(--z-modal);backdrop-filter:blur(2px);background:#04070b8c;justify-content:center;align-items:flex-start;padding:12vh 16px 16px;display:flex;position:fixed;inset:0}.conflict-dialog{gap:var(--sp-3);width:min(520px,100%);padding:var(--sp-4);background:var(--color-surface);border:var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-3);flex-direction:column;display:flex}.conflict-dialog h2{align-items:center;gap:var(--sp-2);color:var(--color-warning);font-size:var(--fs-md);display:flex}.conflict-dialog p{color:var(--color-text-muted);font-size:var(--fs-sm);line-height:1.5}.conflict-dialog-actions{gap:var(--sp-2);flex-direction:column;display:flex}.conflict-dialog-actions button{min-height:34px;padding:0 var(--sp-3);border:var(--border-thin);border-radius:var(--radius-md);font-size:var(--fs-sm);text-align:left}.conflict-dialog-actions button:hover:not(:disabled){background:var(--color-surface-hover);border-color:var(--color-border-strong)}.conflict-dialog-note{color:var(--color-text-muted);font-size:var(--fs-xs);margin:0}.cloud-deletion-dialog{gap:var(--sp-4);width:min(560px,100%);padding:var(--sp-4);color:var(--color-text);background:var(--color-surface);border:1px solid color-mix(in srgb, var(--color-error) 55%, transparent);border-radius:var(--radius-lg);box-shadow:var(--shadow-3);display:grid}.cloud-deletion-dialog>header{gap:var(--sp-3);color:var(--color-error);grid-template-columns:auto 1fr;display:grid}.cloud-deletion-dialog h2,.cloud-deletion-dialog p{margin:0}.cloud-deletion-dialog h2{font-size:var(--fs-lg)}.cloud-deletion-dialog header p,.cloud-deletion-impact p,.cloud-deletion-impact small,.cloud-deletion-loading{color:var(--color-text-muted);font-size:var(--fs-sm);line-height:1.5}.cloud-deletion-impact{gap:var(--sp-2);padding:var(--sp-3);background:color-mix(in srgb, var(--color-error) 7%, transparent);border:1px solid color-mix(in srgb, var(--color-error) 24%, transparent);border-radius:var(--radius-md);display:grid}.cloud-deletion-impact>strong,.cloud-deletion-error{color:var(--color-error)}.cloud-deletion-confirmation{gap:var(--sp-2);font-size:var(--fs-sm);display:grid}.cloud-deletion-confirmation input{width:100%;font-family:var(--font-mono)}.cloud-deletion-error{font-size:var(--fs-sm);margin:0}.cloud-deletion-actions{justify-content:flex-end;gap:var(--sp-2);display:flex}.cloud-deletion-confirm{color:#fff;background:var(--color-error);border:1px solid var(--color-error);border-radius:var(--radius-md);min-height:32px;font-size:var(--fs-sm);font-weight:var(--fw-medium);padding:6px 11px}.cloud-deletion-confirm:hover:not(:disabled){filter:brightness(1.08)}.save-revision-dialog{gap:var(--sp-3);width:min(420px,100%);padding:var(--sp-4);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-3);display:grid}.save-revision-dialog h2{align-items:center;gap:var(--sp-2);font-size:var(--fs-lg);margin:0;display:flex}.save-revision-dialog p{color:var(--color-text-muted);font-size:var(--fs-sm);margin:0;line-height:1.5}.save-revision-dialog form{gap:var(--sp-3);display:grid}.save-revision-name{gap:var(--sp-2);color:var(--color-text-muted);font-size:var(--fs-sm);display:grid}.save-revision-name input{width:100%}.save-revision-actions{justify-content:flex-end;gap:var(--sp-2);display:flex}.export-dialog{gap:var(--sp-3);width:min(480px,100%);padding:var(--sp-4);background:var(--color-surface);border:var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-3);flex-direction:column;display:flex}.export-dialog h2{align-items:center;gap:var(--sp-2);font-size:var(--fs-md);margin:0;display:flex}.export-dialog-scope{color:var(--color-text-muted);font-size:var(--fs-sm);margin:0}.export-dialog-group{gap:var(--sp-2);padding:var(--sp-2) var(--sp-3) var(--sp-3);border:var(--border-thin);border-radius:var(--radius-md);margin:0;display:grid}.export-dialog-group legend{padding:0 var(--sp-1);color:var(--color-text-subtle);font-family:var(--font-mono);font-size:var(--fs-mini);letter-spacing:var(--ls-eyebrow);text-transform:uppercase}.export-dialog-option{align-items:baseline;gap:var(--sp-2);font-size:var(--fs-sm);cursor:pointer;display:flex}.export-dialog-option small{color:var(--color-text-subtle);font-size:var(--fs-xs)}.export-dialog-presets{gap:var(--sp-2);flex-wrap:wrap;display:flex}.export-dialog-presets button{min-height:34px;padding:4px var(--sp-3);border:var(--border-thin);border-radius:var(--radius-md);font-size:var(--fs-sm);gap:1px;display:grid}.export-dialog-presets button:hover:not(:disabled){background:var(--color-surface-hover);border-color:var(--color-border-strong)}.export-dialog-presets button small{color:var(--color-text-subtle);font-size:var(--fs-mini)}.export-dialog-presets button.active{border-color:var(--color-accent);background:var(--color-accent-dim)}.export-dialog-custom{align-items:center;gap:var(--sp-2);font-size:var(--fs-sm);display:flex}.export-dialog-custom input{width:90px}.export-dialog-quality header{font-size:var(--fs-sm);justify-content:space-between;align-items:center;display:flex}.export-dialog-quality header button{align-items:center;gap:var(--sp-1);min-height:26px;font-size:var(--fs-xs);padding:2px 10px;display:inline-flex}.export-dialog-report{gap:var(--sp-1);margin:0;padding:0;list-style:none;display:grid}.export-dialog-report li{align-items:center;gap:var(--sp-2);font-size:var(--fs-sm);color:var(--color-warning);display:flex}.export-dialog-report li[data-ok=true]{color:var(--color-success)}.export-dialog-report li span{color:var(--color-text)}.export-dialog-report li small{color:var(--color-text-muted);font-size:var(--fs-xs)}.export-dialog-hint{color:var(--color-text-subtle);font-size:var(--fs-xs);margin:0}.export-dialog-error{color:var(--color-error);font-size:var(--fs-sm);margin:0}.export-dialog-progress{align-items:center;gap:var(--sp-2);color:var(--color-text-muted);font-size:var(--fs-sm);margin:0;display:flex}.export-dialog-status{min-height:20px}.export-dialog-actions{justify-content:flex-end;gap:var(--sp-2);display:flex}.export-dialog-actions .primary{align-items:center;gap:var(--sp-1);display:inline-flex}.shapr-import-dialog{gap:var(--sp-3);width:min(680px,100%);max-height:min(760px,90vh);padding:var(--sp-4);background:var(--color-surface);border:var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-3);flex-direction:column;display:flex;overflow:auto}.shapr-import-dialog header h2{align-items:center;gap:var(--sp-2);font-size:var(--fs-md);margin:0;display:flex}.shapr-import-dialog header p,.shapr-import-history>p,.shapr-import-privacy{margin:var(--sp-1) 0 0;color:var(--color-text-muted);font-size:var(--fs-xs)}.shapr-import-progress,.shapr-import-error{align-items:center;gap:var(--sp-2);font-size:var(--fs-sm);margin:0;display:flex}.shapr-import-error{color:var(--color-error)}.shapr-import-exact{gap:var(--sp-2);padding:var(--sp-3);color:var(--color-success);background:color-mix(in srgb, var(--color-success) 9%, transparent);border:1px solid color-mix(in srgb, var(--color-success) 35%, transparent);border-radius:var(--radius-md);display:flex}.shapr-import-exact p{margin:var(--sp-1) 0 0;color:var(--color-text-muted);font-size:var(--fs-xs)}.shapr-import-summary{gap:var(--sp-2);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;display:grid}.shapr-import-summary div{padding:var(--sp-2);background:var(--color-surface-2);border:var(--border-thin);border-radius:var(--radius-md)}.shapr-import-summary dt{color:var(--color-text-subtle);font-size:var(--fs-mini)}.shapr-import-summary dd{margin:var(--sp-1) 0 0;font-family:var(--font-mono);font-size:var(--fs-sm)}.shapr-import-history h3{font-size:var(--fs-sm);margin:0}.shapr-import-history ol{gap:var(--sp-1);max-height:240px;margin:var(--sp-2) 0 0;padding:0;list-style:none;display:grid;overflow:auto}.shapr-import-history li{gap:var(--sp-1) var(--sp-2);padding:var(--sp-2);border-bottom:var(--border-thin);font-size:var(--fs-xs);grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.shapr-import-history li>span:first-child{gap:var(--sp-2);align-items:baseline;display:flex}.shapr-import-history li small{color:var(--color-text-subtle)}.shapr-import-history li>small{font-family:var(--font-mono);grid-column:1/-1}.shapr-status{padding:2px var(--sp-2);font-family:var(--font-mono);font-size:var(--fs-mini);color:var(--color-warning);background:color-mix(in srgb, var(--color-warning) 12%, transparent);border-radius:999px}.shapr-status.unsupported,.shapr-status.ambiguous{color:var(--color-text-muted);background:var(--color-surface-2)}.shapr-status.proven{color:var(--color-success);background:color-mix(in srgb, var(--color-success) 12%, transparent)}.shapr-import-actions{justify-content:flex-end;gap:var(--sp-2);display:flex}.shapr-import-actions .primary{align-items:center;gap:var(--sp-1);display:inline-flex}@media (width<=600px){.shapr-import-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}.palette{background:var(--color-surface);border:var(--border-strong);border-radius:var(--radius-lg);width:min(520px,100%);max-height:60vh;box-shadow:var(--shadow-3);flex-direction:column;display:flex;overflow:hidden}.palette-input-row{align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);color:var(--color-text-subtle);border-bottom:var(--border-thin);display:flex}.palette-input-row input{height:32px;font-size:var(--fs-md);background:0 0;border:none;flex:1}.palette-input-row input:focus{box-shadow:none;border:none;outline:none}.palette-list{padding:var(--sp-1);gap:1px;display:grid;overflow-y:auto}.palette-empty{padding:var(--sp-3);color:var(--color-text-subtle);font-size:var(--fs-sm);text-align:center;margin:0}.palette-row{align-items:center;gap:var(--sp-2);min-height:32px;color:var(--color-text-muted);border-radius:var(--radius-md);text-align:left;font-size:var(--fs-sm);padding:4px 9px;display:flex}.palette-row:not(.disabled):hover,.palette-row.active{color:var(--color-text);background:var(--color-surface-hover)}.palette-row.disabled{opacity:.5;cursor:not-allowed}.palette-icon{width:18px;color:var(--color-accent);flex:none;place-items:center;display:inline-grid}.palette-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.palette-group,.palette-reason{color:var(--color-text-subtle);font-family:var(--font-mono);font-size:var(--fs-mini);white-space:nowrap}.shortcuts-card{background:var(--color-surface);border:var(--border-strong);border-radius:var(--radius-lg);width:min(640px,100%);max-height:76vh;box-shadow:var(--shadow-3);flex-direction:column;display:flex;overflow:hidden}.shortcuts-header{padding:var(--sp-3) var(--sp-4);border-bottom:var(--border-thin);justify-content:space-between;align-items:center;display:flex}.shortcuts-header h2{font-size:var(--fs-md);font-weight:var(--fw-medium);margin:0}.sharing-card{border-radius:var(--radius-md);width:min(460px,100%)}.sharing-header{padding:10px var(--sp-3)}.sharing-header h2{font-size:var(--fs-base)}.sharing-header-text{gap:2px;display:grid}.sharing-meta{color:var(--color-text-muted);font-size:var(--fs-xs);flex-wrap:wrap;align-items:center;margin:0;display:flex}.sharing-meta strong{color:var(--color-text);font-weight:var(--fw-medium)}.sharing-meta-item{align-items:center;gap:6px;display:inline-flex}.sharing-meta-item+.sharing-meta-item:before{content:"";width:3px;height:3px;margin:0 var(--sp-2);background:var(--color-border-strong);border-radius:50%}.sharing-room-dot{background:var(--color-text-subtle);border-radius:50%;width:7px;height:7px}.sharing-room-dot[data-state=live]{background:var(--color-success);box-shadow:0 0 6px color-mix(in srgb, var(--color-success) 45%, transparent)}.sharing-room-dot[data-state=connecting]{background:var(--color-warning)}.sharing-room-dot[data-state=conflict],.sharing-room-dot[data-state=oversize],.sharing-room-dot[data-state=rejected]{background:var(--color-error)}.sharing-body{padding:0 var(--sp-3) var(--sp-3);overflow-y:auto}.sharing-body>*+*{margin-top:var(--sp-3)}.sharing-status-line{border-radius:var(--radius-sm);font-size:var(--fs-xs);margin:0}.sharing-status-line:empty{height:0;margin-top:0;overflow:hidden}.sharing-status-line:not(:empty){padding:6px var(--sp-2)}.sharing-status-line[data-tone=error]{color:var(--color-error);background:color-mix(in srgb, var(--color-error) 8%, transparent)}.sharing-status-line[data-tone=busy]{color:var(--color-text-muted);background:var(--color-surface-2)}.sharing-cmd-bar{align-items:center;gap:var(--sp-2);margin:0 calc(-1 * var(--sp-3));padding:2px var(--sp-3);border-bottom:var(--border-thin);display:flex}.sharing-cmd-icon{color:var(--color-text-subtle);font-size:var(--fs-sm)}.sharing-cmd-bar input{min-width:0;height:34px;font-size:var(--fs-md);background:0 0;border:none;flex:1;padding:0}.sharing-cmd-bar input:focus{box-shadow:none;border:none;outline:none}.sharing-cmd-bar select{height:24px;font-size:var(--fs-xs);background:0 0;border-color:#0000;padding:1px 4px}.sharing-cmd-bar select:hover,.sharing-cmd-bar select:focus{border-color:var(--color-border)}.sharing-cmd-bar .primary{min-height:26px;font-size:var(--fs-xs);padding:2px 10px}.sharing-invite-sent{color:var(--color-text-muted);font-size:var(--fs-xs);margin-top:var(--sp-2);padding:var(--sp-2);border:1px dashed var(--color-accent-border);border-radius:var(--radius-md);background:var(--color-accent-dim)}.sharing-group-label{padding:0 var(--sp-1);color:var(--color-text-subtle);font-family:var(--font-mono);font-size:var(--fs-mini);font-weight:var(--fw-regular);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;justify-content:space-between;align-items:baseline;margin:0;display:flex}.sharing-count{letter-spacing:normal}.sharing-list{margin:0;padding:0;list-style:none}.sharing-list>li{align-items:center;gap:var(--sp-2);min-height:28px;padding:0 var(--sp-1);border-radius:var(--radius-md);display:flex}.sharing-list>li:hover{background:var(--color-surface-hover)}.sharing-avatar{background:var(--color-accent-dim);width:20px;height:20px;color:var(--color-accent-hi);font-size:var(--fs-mini);font-weight:var(--fw-medium);text-transform:uppercase;border-radius:50%;flex:none;place-items:center;display:inline-grid}.sharing-member-id{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--fs-sm);flex:1;overflow:hidden}.sharing-presence{color:var(--color-text-muted);font-size:var(--fs-xs);align-items:center;gap:6px;display:inline-flex}.sharing-presence:before{content:"";background:var(--color-text-subtle);border-radius:50%;width:7px;height:7px}.sharing-presence[data-status=active]:before{background:var(--color-success);box-shadow:0 0 6px color-mix(in srgb, var(--color-success) 45%, transparent)}.sharing-role-select{height:24px;font-size:var(--fs-xs);background:0 0;border-color:#0000;padding:1px 4px}.sharing-role-select:hover,.sharing-role-select:focus{border-color:var(--color-border)}.sharing-kind{color:var(--color-text-subtle);font-family:var(--font-mono);font-size:var(--fs-mini);white-space:nowrap}.sharing-row-action{border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:var(--fs-xs);opacity:0;padding:3px 7px}.sharing-list>li:hover .sharing-row-action,.sharing-row-action:focus-visible{opacity:1}@media (hover:none){.sharing-row-action{opacity:1}}.sharing-row-action:hover:not(:disabled){color:var(--color-error);background:color-mix(in srgb, var(--color-error) 8%, transparent)}.sharing-empty{padding:0 var(--sp-1);color:var(--color-text-subtle);font-size:var(--fs-xs);margin:0}.sharing-share-hint{margin:var(--sp-1) 0 var(--sp-2);padding:0 var(--sp-1);color:var(--color-text-muted);font-size:var(--fs-xs);line-height:1.5}.sharing-share-create{min-height:26px;font-size:var(--fs-xs);padding:2px 10px}.sharing-share-output{gap:var(--sp-2);margin-top:var(--sp-2);padding:var(--sp-2);border:1px dashed var(--color-accent-border);border-radius:var(--radius-md);background:var(--color-accent-dim);grid-template-columns:1fr auto;align-items:center;display:grid}.sharing-share-url{min-width:0;height:26px;padding:0 var(--sp-1);border:var(--border-thin);border-radius:var(--radius-sm);background:var(--color-surface-2);font-family:var(--font-mono);font-size:var(--fs-xs)}.sharing-share-copy{min-height:26px;font-size:var(--fs-xs);padding:2px 10px}.sharing-share-once{color:var(--color-text-muted);font-size:var(--fs-mini);grid-column:1/-1;margin:0}.shortcuts-grid{gap:var(--sp-4) var(--sp-5);padding:var(--sp-4);grid-template-columns:1fr 1fr;display:grid;overflow-y:auto}.shortcuts-grid dl{gap:5px;margin:0;display:grid}.shortcut-row{align-items:center;gap:var(--sp-3);display:flex}.shortcut-row dt{flex:0 0 148px}.shortcut-key-sequence{flex-wrap:wrap;gap:3px;display:flex}.shortcut-key-sequence kbd{width:max-content;max-width:100%}.shortcut-row dd{color:var(--color-text-muted);font-size:var(--fs-sm);margin:0}@media (width<=1120px){.workspace{grid-template-columns:var(--sidebar-col-w) minmax(320px, 1fr)}.topbar-actions{gap:4px}.account-state,.save-state,.collaboration-state,.file-menu>summary,.topbar-actions .settings-action{background:var(--color-surface-2);border-color:var(--color-border);gap:0;width:28px;height:28px;min-height:28px;padding:0;font-size:0}.topbar-actions .file-menu{margin-left:0}.topbar-actions .file-menu:before{display:none}.live-badge{font-size:9.5px;display:grid}.file-menu-count{min-width:14px;height:14px;color:var(--color-text);background:var(--color-surface-hover);box-shadow:0 0 0 2px var(--color-surface);padding:0 3px;font-size:9.5px;position:absolute;top:-5px;right:-5px}.shortcuts-grid{grid-template-columns:1fr}}@media (width<=820px){.workspace{grid-template-columns:var(--sidebar-col-w) minmax(320px, 1fr)}.workspace.with-assistant{--assistant-col-w:min(var(--assistant-w), 100%);grid-template-columns:var(--sidebar-col-w) minmax(280px, 1fr)}.assistant-panel{width:var(--assistant-col-w);z-index:var(--z-assistant-float);position:absolute;inset:0 0 0 auto}.viewer-area.has-inspector .viewer-rail-stack{display:none}}@media (width<=620px){.topbar{gap:var(--sp-1);padding-inline:6px}.brand{flex:none;gap:0;font-size:0}.brand .beta-tag,.topbar-divider,.breadcrumb .mono{display:none}.breadcrumb{flex:auto;max-width:none}.project-title-button{max-width:100%}.topbar-actions{gap:var(--sp-1);margin-left:0}.topbar .topbar-action{flex:0 0 28px;justify-content:center;gap:0;width:28px;padding-inline:0;font-size:0}.account-state,.collaboration-state{justify-content:center;gap:0;width:28px;padding-inline:0;font-size:0}.workspace,.workspace.with-assistant{grid-template-rows:minmax(120px,32%) minmax(160px,1fr);grid-template-columns:minmax(0,1fr)}.sidebar{border-right:0;border-bottom:var(--border-thin)}.panel-resizer{display:none}.palette-float{inset:6px auto 6px 6px}.viewer-rail-stack{top:6px;right:6px}.viewer-rail{right:6px}.status-bar{gap:6px;padding-inline:6px}.status-state{flex:auto}.status-hint,.status-groups,.status-filters>b{display:none}.status-filters{margin-left:0}}.orientation-widget{z-index:var(--z-viewer-overlay);pointer-events:none;align-items:flex-start;gap:2px;display:flex;position:absolute;top:10px;right:10px}.orientation-cube{pointer-events:none;touch-action:none;user-select:none}.cube-face,.cube-corner,.cube-corner-hit{pointer-events:auto;touch-action:none;cursor:grab;stroke:#10151c;stroke-width:2.5px;stroke-linejoin:round;transition:fill var(--dur-fast) ease}.cube-corner{stroke-width:1.8px}.cube-corner-hit{fill:#0000;stroke:#0000;pointer-events:all}.orientation-cube:active .cube-face,.orientation-cube:active .cube-corner,.orientation-cube:active .cube-corner-hit{cursor:grabbing}.cube-face:hover,.cube-corner-target:hover .cube-corner{fill:#37527a}.cube-face:focus,.cube-corner-hit:focus{outline:none}.cube-face:focus-visible,.cube-corner-target:has(.cube-corner-hit:focus-visible) .cube-corner{stroke:var(--color-accent);stroke-width:1.5px}.orientation-triad{pointer-events:none}.cube-face-label{fill:var(--color-viewport-text);font-size:9px;font-weight:var(--fw-medium);letter-spacing:.02em;text-anchor:middle;dominant-baseline:central;pointer-events:none;user-select:none}.orientation-axis-label{font-size:10px;font-weight:var(--fw-medium);text-anchor:middle;user-select:none}.orientation-roll{pointer-events:auto;width:26px;height:26px;color:var(--color-viewport-text);border:1px solid var(--color-viewport-border);transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);background:#111821b8;border-radius:999px;justify-content:center;align-items:center;margin-top:16px;display:flex}.orientation-roll:hover{color:var(--color-viewport-text);border-color:var(--color-viewport-text-muted);background:#e6edf329}.context-menu:focus,.marking-menu:focus{outline:none}.context-menu{z-index:var(--z-context-menu);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);min-width:190px;padding:4px;position:fixed;box-shadow:0 10px 32px #00000080}.context-menu-section{border-top:var(--border-thin);margin-top:4px;padding-top:4px}.context-menu-item{width:100%;min-height:28px;color:var(--color-text-muted);border-radius:var(--radius-sm);text-align:left;font-size:var(--fs-sm);align-items:center;gap:9px;padding:3px 8px;display:flex}.context-menu-item:hover:not(:disabled),.context-menu-item:focus-visible{color:var(--color-text);background:var(--color-surface-hover)}.context-menu-item.danger{color:var(--color-error)}.context-menu-item.danger:hover:not(:disabled),.context-menu-item.danger:focus-visible{background:#ef44441a}.context-menu-icon{flex:none;place-items:center;display:inline-grid}.context-menu-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.marking-menu{z-index:var(--z-context-menu);pointer-events:none;width:1px;height:1px;position:fixed;overflow:visible}.marking-menu>*{pointer-events:auto}.marking-menu-measure{visibility:hidden}.marking-menu-hub{border:1px solid var(--color-viewport-border);max-width:240px;color:var(--color-viewport-text);white-space:nowrap;line-height:var(--lh-tight);pointer-events:none;background:#0b0f14f0;border-radius:999px;align-items:center;gap:8px;padding:5px 14px 5px 8px;display:inline-flex;position:absolute;transform:translate(-50%,-50%)}.marking-menu-hub:not(.armed){padding:5px 14px}.marking-menu-hub-icon{background:var(--color-accent-dim);width:22px;height:22px;color:var(--color-accent);font-size:var(--fs-mini);border-radius:999px;flex:none;place-items:center;display:inline-grid}.marking-menu-hub.armed.danger .marking-menu-hub-icon{color:var(--color-error);background:#ef44441f}.marking-menu-hub.armed{border-color:var(--color-accent)}.marking-menu-hub.armed.danger{border-color:var(--color-error);color:var(--color-error)}.marking-menu-rest{font-family:var(--font-mono);font-size:var(--fs-mini);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--color-text-subtle)}.marking-menu-read{text-overflow:ellipsis;font-size:var(--fs-xs);overflow:hidden}.marking-menu-hub small{font-family:var(--font-mono);font-size:var(--fs-mini);color:var(--color-text-subtle)}.marking-menu-hub.armed.danger small{color:inherit}.marking-menu-slot{width:38px;height:38px;color:var(--color-text-muted);background:var(--color-surface);border:1px solid var(--color-border-strong);font-size:var(--fs-sm);border-radius:999px;place-items:center;transition:transform .12s,background .12s,border-color .12s,color .12s;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 6px 20px #00000073}.marking-menu-slot:hover:not(:disabled),.marking-menu-slot:focus-visible,.marking-menu-slot.aimed:not(:disabled){color:var(--color-text);border-color:var(--color-accent);background:var(--color-surface-hover)}.marking-menu-slot.aimed:not(:disabled){box-shadow:0 0 0 2px var(--color-accent);transform:translate(-50%,-50%)scale(1.12)}.marking-menu-slot:disabled{opacity:1;color:var(--color-text-subtle);border-color:var(--color-border);box-shadow:none}.marking-menu-slot:disabled .marking-menu-icon{opacity:.45}.marking-menu-slot.danger{color:var(--color-error)}.marking-menu-slot.danger:hover:not(:disabled),.marking-menu-slot.danger:focus-visible,.marking-menu-slot.danger.aimed:not(:disabled){color:var(--color-error);border-color:var(--color-error)}.marking-menu-slot.danger.aimed:not(:disabled){box-shadow:0 0 0 2px var(--color-error)}.marking-menu-icon{flex:none;place-items:center;display:inline-grid}.row-visibility{width:20px;height:20px;color:var(--color-text-subtle);border-radius:var(--radius-sm);opacity:0;flex:none;place-items:center;display:inline-grid}.feature-row:hover .row-visibility,.feature-row.hidden-body .row-visibility,.body-row:hover .row-visibility,.body-row.hidden-body .row-visibility,.row-visibility:focus-visible{opacity:1}.row-visibility:hover{color:var(--color-text);background:var(--color-surface-hover)}.row-visibility.is-hidden{color:var(--color-warning)}.feature-row.hidden-body .feature-name,.body-row.hidden-body .feature-name{color:var(--color-text-subtle);font-style:italic}.move-controller{width:316px}.move-name,.move-target{margin-bottom:10px}.move-name input,.move-target select{width:100%}.move-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-bottom:8px;display:grid}.move-grid label{gap:3px;display:grid}.move-grid .extrude-distance-input input{width:100%;min-width:0;padding-right:28px}.move-grid .extrude-distance-input b{right:7px}.move-axis{font-family:var(--font-mono);font-size:var(--fs-mini);color:var(--color-text-subtle)}.move-axis-x{color:var(--color-handle-x)}.move-axis-y{color:var(--color-handle-y)}.move-axis-z{color:var(--color-handle-z)}.primary,.secondary,.icon-button,.topbar-action,.settings-back-action,.tool-tile,.rail-button,.rail-views-panel button,.feature-row-main,.body-row-main,.param-add button,.start-tile-project,.start-expand,.callout-value,.context-menu-item,.assistant-card-actions button,.row-delete,.row-suppression,.row-rollback,.row-visibility,.selection-chip-clear,.toast-action,.toast-dismiss,.save-state{transition:background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out), opacity var(--dur-fast) var(--ease-out)}.primary:active:not(:disabled),.secondary:active:not(:disabled),.icon-button:active:not(:disabled),.tool-tile:active:not(:disabled),.rail-views-panel button:active:not(:disabled),.context-menu-item:active:not(:disabled),.assistant-card-actions button:active:not(:disabled){transform:translateY(1px)}.primary:not(:disabled),.secondary:not(:disabled),.icon-button:not(:disabled),.tool-tile:not(:disabled){cursor:pointer}.primary:hover:not(:disabled){box-shadow:0 2px 14px color-mix(in srgb, var(--color-accent) 28%, transparent)}input,select,textarea{transition:border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out)}.feature-row,.body-row{transition:background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out)}.row-delete,.row-suppression,.row-rollback,.row-visibility{transition:opacity var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out)}.tool-tile svg{transition:color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out)}.tool-tile:hover:not(:disabled) svg{transform:translate(1px)}.tool-tile.active{transition:background-color var(--dur-base) var(--ease-out), color var(--dur-fast) var(--ease-out), border-color var(--dur-base) var(--ease-out)}@keyframes oz-rise{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes oz-pop{0%{opacity:0;transform:translate(-50%)translateY(6px)scale(.97)}to{opacity:1;transform:translate(-50%)translateY(0)scale(1)}}@keyframes oz-fade{0%{opacity:0}to{opacity:1}}.selection-callout:not(.dimension-callout){animation:oz-fade var(--dur-base) var(--ease-out)}.selection-chip{animation:oz-pop var(--dur-base) var(--ease-out)}.inspector-float>*{animation:oz-rise var(--dur-base) var(--ease-out)}.modal-backdrop{animation:oz-fade var(--dur-fast) var(--ease-out)}.context-menu{animation:oz-rise var(--dur-fast) var(--ease-out);transform-origin:0 0}.start-tile-project:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 4px 18px #0000004d}.start-tile-project:not(:disabled):active{transform:translateY(0)}.toast{animation:oz-pop var(--dur-base) var(--ease-out)}.toast.closing{animation:oz-fade-out var(--dur-fast) var(--ease-out) forwards}@keyframes oz-fade-out{to{opacity:0}}.demo-list{gap:var(--sp-3);grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;display:grid}.demo-card{gap:var(--sp-3);min-width:0;padding:var(--sp-3) var(--sp-4);color:var(--color-text-muted);background:var(--color-surface);border:var(--border-thin);border-radius:var(--radius-lg);text-align:left;transition:background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);grid-template-rows:auto 1fr auto;display:grid}.demo-card:hover:not(:disabled),.demo-card:focus-visible{color:var(--color-text);border-color:var(--color-accent-border);outline:none;transform:translateY(-1px);box-shadow:0 4px 18px #0000004d}.demo-card:active:not(:disabled){transform:translateY(0)}.demo-card-head{align-items:flex-start;gap:10px;min-width:0;display:flex}.demo-card-icon{width:30px;height:30px;color:var(--color-accent);background:var(--color-accent-dim);border:1px solid var(--color-accent-border);border-radius:var(--radius-md);flex:none;place-items:center;display:grid}.demo-card-title{gap:2px;min-width:0;display:grid}.demo-card-title strong{color:var(--color-text);font-size:var(--fs-md);font-weight:var(--fw-medium)}.demo-card-tagline{color:var(--color-text-subtle);font-size:var(--fs-sm);line-height:1.4}.demo-card-revs{gap:6px;margin:0;padding:0;display:grid;position:relative}.demo-card-revs:before{content:"";background:var(--color-border);width:1px;position:absolute;top:10px;bottom:10px;left:9px}.demo-rev{min-width:0;font-size:var(--fs-sm);align-items:center;gap:9px;display:flex;position:relative}.demo-rev-letter{width:19px;height:19px;color:var(--color-accent);background:var(--color-surface);border:1px solid var(--color-accent-border);font-family:var(--font-mono);font-size:var(--fs-mini);border-radius:999px;flex:none;place-items:center;display:grid}.demo-rev-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.demo-card-cta{color:var(--color-accent);font-size:var(--fs-sm);font-weight:var(--fw-medium);align-items:center;gap:5px;display:inline-flex}.demo-card:hover:not(:disabled) .demo-card-cta{color:var(--color-accent-hi)}@media (width<=720px){.demo-list{grid-template-columns:minmax(0,1fr);grid-auto-columns:auto;grid-auto-flow:row}.demo-card-title,.demo-card-tagline{overflow-wrap:anywhere;min-width:0}}.revision-list{gap:1px;display:grid}.revision-row{min-height:24px;color:var(--color-text-muted);font-size:var(--fs-xs);align-items:center;gap:8px;padding:2px 4px 2px 18px;display:flex;position:relative}.revision-row:before{content:"";background:var(--color-border);width:1px;position:absolute;top:0;bottom:0;left:5px}.revision-row:first-child:before{top:50%}.revision-row:last-child:before{bottom:50%}.revision-row:only-child:before{display:none}.revision-dot{background:var(--color-border-strong);width:7px;height:7px;transition:background-color var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out);border-radius:999px;position:absolute;left:2px}.revision-row.latest .revision-dot{background:var(--color-accent);box-shadow:0 0 7px var(--color-accent-border)}.revision-row.latest .revision-reason{color:var(--color-text);font-weight:var(--fw-medium)}.revision-reason{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.revision-time{color:var(--color-text-subtle);font-size:var(--fs-mini)}.revision-actions{opacity:0;transition:opacity var(--dur-base) var(--ease-out);flex:none;gap:2px;display:flex}.revision-row:hover .revision-actions,.revision-row:focus-within .revision-actions{opacity:1}.revision-action{width:20px;height:20px;color:var(--color-text-muted);border-radius:var(--radius-sm);cursor:pointer;transition:color var(--dur-base) var(--ease-out), background-color var(--dur-base) var(--ease-out), border-color var(--dur-base) var(--ease-out);background:0 0;border:1px solid #0000;place-items:center;padding:0;display:grid}.revision-action:hover{color:var(--color-text);background:var(--color-surface-raised);border-color:var(--color-border)}.revision-action:focus-visible{color:var(--color-text);border-color:var(--color-accent);outline:none}.revision-unavailable{color:var(--color-text-subtle);font-size:var(--fs-mini);flex:none;font-style:italic}.error-boundary{place-content:center;gap:var(--sp-2);min-height:12rem;padding:var(--sp-6);color:var(--color-text-muted);text-align:center;background:var(--color-surface);border:1px solid var(--color-border);display:grid}.error-boundary strong{color:var(--color-text)}.error-boundary button{justify-self:center}.settings-overlay{z-index:var(--z-settings);background:var(--color-bg);position:fixed;inset:0}.settings-page{grid-template-rows:var(--topbar-h) minmax(0, 1fr);height:100%;color:var(--color-text);background:var(--color-bg);display:grid}.settings-page[data-reduced-motion=true] *,.settings-page[data-reduced-motion=true] :before,.settings-page[data-reduced-motion=true] :after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.settings-topbar{align-items:center;gap:var(--sp-2);min-width:0;padding:0 var(--sp-3);background:var(--color-surface);border-bottom:var(--border-thin);display:flex}.settings-topbar-title{padding-left:var(--sp-3);border-left:var(--border-thin);color:var(--color-text-muted);font-size:var(--fs-base);font-weight:var(--fw-medium);margin:0}.settings-save-message{min-width:0;color:var(--color-text-subtle);font-family:var(--font-mono);font-size:var(--fs-mini);text-align:right;text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.settings-back-action{width:auto;min-width:0;height:24px;min-height:24px;color:var(--color-text);border-radius:var(--radius-sm);font-family:var(--font-ui);font-size:var(--fs-sm);font-weight:var(--fw-medium);white-space:nowrap;cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:5px;padding:0 7px;display:inline-flex}.settings-back-action:hover,.settings-back-action:focus-visible{background:var(--color-surface-2);border-color:var(--color-border)}.settings-topbar .secondary,.settings-card-action .secondary,.settings-token-control .secondary,.danger-ghost{border-radius:var(--radius-md);white-space:nowrap;justify-content:center;align-items:center;gap:6px;min-height:30px;padding:5px 9px;display:inline-flex}.danger-ghost{color:var(--color-error);border:1px solid #0000}.danger-ghost:hover:not(:disabled){background:color-mix(in srgb, var(--color-error) 10%, transparent);border-color:color-mix(in srgb, var(--color-error) 35%, transparent)}.settings-layout{grid-template-columns:270px minmax(0,1fr);min-height:0;display:grid}.settings-nav{min-height:0;padding:var(--sp-3);background:var(--color-surface);border-right:var(--border-thin);flex-direction:column;display:flex}.settings-search{align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-3);padding-inline:var(--sp-2);color:var(--color-text-subtle);background:var(--color-bg);border:var(--border-thin);border-radius:var(--radius-md);display:flex}.settings-search:focus-within{border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-dim)}.settings-search input{min-width:0;box-shadow:none;background:0 0;border:0;flex:1;padding-inline:0}.settings-nav nav{align-content:start;gap:2px;min-height:0;display:grid;overflow-y:auto}.settings-nav nav button{align-items:center;gap:var(--sp-2);width:100%;padding:7px var(--sp-2);color:var(--color-text-muted);border-radius:var(--radius-md);text-align:left;border:1px solid #0000;grid-template-columns:20px minmax(0,1fr);display:grid}.settings-nav nav button:hover{color:var(--color-text);background:var(--color-surface-2);border-color:var(--color-border)}.settings-nav nav button.active{color:var(--color-text);background:var(--color-accent-dim);border-color:#0000}.settings-nav nav button>svg{color:var(--color-accent)}.settings-nav-empty{padding:var(--sp-2) var(--sp-3);color:var(--color-text-muted);font-size:var(--fs-sm);margin:0}.settings-nav nav button span,.settings-nav-status span,.settings-deployment-summary span,.settings-privacy-note span{min-width:0;display:grid}.settings-nav nav button strong,.settings-nav-status strong,.settings-deployment-summary strong,.settings-privacy-note strong{font-size:var(--fs-sm);font-weight:var(--fw-medium)}.settings-nav nav button small,.settings-nav-status small,.settings-deployment-summary small,.settings-privacy-note small{color:var(--color-text-subtle);font-size:var(--fs-mini)}.settings-nav-status{align-items:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-2) 0;color:var(--color-text-muted);border-top:var(--border-thin);margin-top:auto;display:flex}.settings-content{min-width:0;padding:var(--sp-6) clamp(var(--sp-4), 5vw, 72px) 64px;overflow-y:auto}.settings-section{width:min(900px,100%);margin:0 auto}.settings-section.settings-section-wide{width:min(1180px,100%)}.settings-section>header{margin-bottom:var(--sp-4)}.settings-section h2{margin:0 0 var(--sp-1);font-size:var(--fs-xl);font-weight:var(--fw-medium)}.settings-section>header p{max-width:720px;color:var(--color-text-muted);margin:0}.settings-card{background:var(--color-surface);border:var(--border-thin);border-radius:var(--radius-lg);overflow:hidden}.settings-cloud-delete-all{background:color-mix(in srgb, var(--color-error) 7%, transparent)}.setting-row{align-items:center;gap:var(--sp-4);min-height:68px;padding:var(--sp-3) var(--sp-4);border-bottom:var(--border-thin);grid-template-columns:minmax(0,1fr) minmax(180px,auto);display:grid}.density-comfortable .setting-row{min-height:82px;padding-block:var(--sp-4)}.setting-copy,.settings-long-field{gap:3px;min-width:0;display:grid}.setting-title,.settings-long-field>span{align-items:center;gap:var(--sp-2);display:flex}.setting-title strong,.settings-long-field strong{font-weight:var(--fw-medium)}.setting-copy small,.settings-long-field small{color:var(--color-text-muted);font-size:var(--fs-xs)}.settings-scope{color:var(--color-text-subtle);background:var(--color-surface-2);border:var(--border-thin);font-family:var(--font-mono);font-size:var(--fs-mini);font-weight:var(--fw-regular);white-space:nowrap;border-radius:999px;padding:1px 5px}.setting-control{justify-content:flex-end;align-items:center;min-width:0;display:flex}.setting-control select{min-width:180px}.settings-number{width:116px;font-family:var(--font-mono)}.settings-text-wide{width:min(360px,36vw)}.settings-unit-input{color:var(--color-text-muted);font-family:var(--font-mono);align-items:center;gap:6px;display:flex}.settings-toggle{width:36px;height:20px;display:inline-flex;position:relative}.settings-toggle input{opacity:0;width:1px;height:1px;position:absolute}.settings-toggle span{background:var(--color-border-strong);border:1px solid var(--color-border-strong);width:36px;height:20px;transition:background-color var(--dur-fast) var(--ease-out);border-radius:999px;display:block}.settings-toggle span:after{content:"";background:var(--color-text-muted);width:14px;height:14px;transition:transform var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);border-radius:50%;position:absolute;top:3px;left:3px}.settings-toggle input:checked+span{background:var(--color-accent-dim);border-color:var(--color-accent)}.settings-toggle input:checked+span:after{background:var(--color-accent-hi);transform:translate(16px)}.settings-toggle input:focus-visible+span{outline:1px solid var(--color-accent);outline-offset:2px}.settings-state{color:var(--color-text-muted);background:var(--color-surface-2);border:var(--border-thin);font-family:var(--font-mono);font-size:var(--fs-mini);border-radius:999px;padding:2px 7px}.settings-state.good{color:var(--color-success);border-color:color-mix(in srgb, var(--color-success) 35%, transparent)}.settings-state.warning,.settings-warning{color:var(--color-warning)}.settings-card-action{padding:var(--sp-3) var(--sp-4);justify-content:flex-end;display:flex}.settings-card-action.split{justify-content:space-between;align-items:center;gap:var(--sp-3);border-bottom:var(--border-thin)}.settings-card-action.split>span:last-child{gap:var(--sp-2);display:flex}.settings-token-control{align-items:center;gap:var(--sp-1);display:flex}.settings-token-control input{width:min(260px,27vw);font-family:var(--font-mono)}.settings-warning{padding:var(--sp-3) var(--sp-4);background:color-mix(in srgb, var(--color-warning) 7%, transparent);border-bottom:var(--border-thin);font-size:var(--fs-xs)}.settings-sign-in-warning{align-items:center;gap:var(--sp-3);justify-content:space-between;display:flex}.settings-auth-form{border-bottom:var(--border-thin);align-items:flex-start;gap:var(--sp-4);padding:var(--sp-4);grid-template-columns:minmax(210px,1fr) minmax(280px,.85fr);display:grid}.settings-auth-form>span{gap:var(--sp-1);display:grid}.settings-auth-form>span small{color:var(--color-text-muted);line-height:1.45}.settings-auth-controls{gap:var(--sp-2);display:grid}.settings-auth-controls label{gap:var(--sp-1);display:grid}.settings-auth-controls label>span{color:var(--color-text-muted);font-size:var(--fs-mini);font-weight:var(--fw-medium)}.settings-auth-controls input{width:100%;min-width:0}.settings-auth-controls>input.mono{font-size:var(--fs-md);letter-spacing:.18em;text-align:center}.settings-turnstile{min-height:65px}.settings-long-field{padding:var(--sp-4);border-bottom:var(--border-thin)}.settings-long-field textarea{height:auto;min-height:100px;margin-top:var(--sp-2);resize:vertical}.settings-deployment-summary,.settings-privacy-note{align-items:flex-start;gap:var(--sp-3);padding:var(--sp-4);display:flex}.settings-deployment-summary{border-bottom:var(--border-thin)}.settings-deployment-summary>svg,.settings-privacy-note>svg{color:var(--color-accent);flex:none}.settings-privacy-note{background:var(--color-accent-dim)}.settings-controls-note{align-items:flex-start;gap:var(--sp-3);padding:var(--sp-4);color:var(--color-text-muted);background:var(--color-accent-dim);border-bottom:var(--border-thin);display:flex}.settings-controls-note>svg{color:var(--color-accent);flex:none}.settings-controls-note>span{gap:2px;display:grid}.settings-controls-note strong{color:var(--color-text);font-weight:var(--fw-medium)}.settings-controls-note small{color:var(--color-text-muted)}.settings-control-collection+.settings-control-collection{border-top:var(--border-thin)}.settings-control-collection>header{align-items:flex-start;gap:var(--sp-3);padding:var(--sp-4);background:var(--color-surface-2);border-bottom:var(--border-thin);display:flex}.settings-control-collection-icon{width:30px;height:30px;color:var(--color-accent);background:var(--color-accent-dim);border:1px solid var(--color-accent-border);border-radius:var(--radius-md);flex:none;place-items:center;display:grid}.settings-control-collection>header>span:last-child{gap:2px;min-width:0;display:grid}.settings-control-collection h3,.settings-control-group h4{font-weight:var(--fw-medium);margin:0}.settings-control-collection h3{font-size:var(--fs-md)}.settings-control-collection>header p,.settings-control-group>p{color:var(--color-text-muted);font-size:var(--fs-xs);margin:0}.settings-control-groups{background:var(--color-border);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1px;display:grid}.settings-control-group{min-width:0;padding:var(--sp-4);background:var(--color-surface)}.settings-control-group>header{justify-content:space-between;align-items:baseline;gap:var(--sp-3);display:flex}.settings-control-group h4{color:var(--color-text);font-size:var(--fs-base)}.settings-control-group>header>span{color:var(--color-text-subtle);font-family:var(--font-mono);font-size:var(--fs-mini);white-space:nowrap}.settings-control-group>p{min-height:34px;margin-top:var(--sp-1)}.settings-control-group dl{margin:var(--sp-3) 0 0;gap:0;display:grid}.settings-control-row{gap:var(--sp-3);border-top:var(--border-thin);grid-template-columns:minmax(112px,.42fr) minmax(0,1fr);min-width:0;padding:9px 0;display:grid}.settings-control-row dt,.settings-control-row dd{min-width:0;margin:0}.settings-control-keys{flex-wrap:wrap;gap:4px;display:flex}.settings-control-keys kbd{overflow-wrap:anywhere;text-align:center;width:max-content;min-width:30px;max-width:100%}.settings-control-row dd{gap:2px;display:grid}.settings-control-row dd strong{color:var(--color-text);font-size:var(--fs-sm);font-weight:var(--fw-medium)}.settings-control-row dd small{color:var(--color-text-muted);font-size:var(--fs-mini);line-height:1.4}@media (width<=860px){.settings-topbar-title,.settings-save-message,.settings-topbar .secondary{display:none}.settings-back-action{margin-left:auto}.settings-layout{grid-template-columns:210px minmax(0,1fr)}.settings-nav nav button small,.settings-nav-status{display:none}.settings-content{padding:var(--sp-4)}.setting-row{grid-template-columns:1fr}.setting-control{justify-content:flex-start}.settings-text-wide,.settings-token-control input{width:min(100%,420px)}.settings-token-control{flex-wrap:wrap;width:100%}.settings-card-action.split,.settings-auth-form{grid-template-columns:1fr}.settings-card-action.split{flex-direction:column;align-items:flex-start}}@media (width<=580px){.settings-layout{grid-template-columns:64px minmax(0,1fr)}.settings-nav{padding:var(--sp-2)}.settings-search,.settings-nav nav button span{display:none}.settings-nav nav button{grid-template-columns:1fr;place-items:center;min-height:40px}.settings-content{padding:var(--sp-3)}.settings-control-groups{grid-template-columns:1fr}.settings-control-group{padding:var(--sp-3)}.settings-control-row{gap:var(--sp-2);grid-template-columns:minmax(96px,.38fr) minmax(0,1fr)}.settings-section h2{font-size:var(--fs-lg)}.setting-row{padding:var(--sp-3)}.setting-control select,.setting-control input:not([type=checkbox]){width:100%;min-width:0}.settings-back-action{font-size:0}}.settings-field-inline{gap:var(--sp-1);min-width:12rem;display:grid}.settings-field-inline span{color:var(--color-text-muted);font-size:var(--fs-mini);font-weight:var(--fw-medium)}.tool-card{z-index:calc(var(--z-inspector-float) + 1);box-sizing:border-box;--tool-card-room:calc(100% - 20px);width:clamp(280px, var(--tool-card-room), 460px);max-width:calc(100% - 20px);color:var(--color-text);background:var(--color-surface-2);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:8px 10px;padding:8px 8px 8px 10px;animation:.14s ease-out tool-card-in;display:grid;position:absolute;top:14px;left:50%;transform:translate(-50%);box-shadow:0 14px 34px #0006}.tool-card>*{grid-column:1/-1}.tool-card-icon{grid-area:1/1}.tool-card-copy{grid-area:1/2;min-width:0}.tool-card-close{grid-area:1/3}.viewer-area.has-inspector .tool-card{--tool-card-room:calc(100% - 170px - var(--context-w) - 30px);left:max(170px, calc(170px + var(--tool-card-room) / 2))}@keyframes tool-card-in{0%{opacity:0;transform:translate(-50%)translateY(-6px)}to{opacity:1;transform:translate(-50%)translateY(0)}}[data-reduced-motion=true] .tool-card,[data-reduced-motion=true] .tool-card[aria-busy=true] .tool-card-icon svg{animation:none}.tool-card-icon{width:28px;height:28px;color:var(--color-accent-hi);background:var(--color-accent-dim);border-radius:var(--radius-sm);place-items:center;display:grid}.tool-card-copy{white-space:nowrap;flex-direction:column;gap:1px;display:flex}.tool-card-copy>span:not(.tool-card-diagnostic),.tool-card-copy>small{text-overflow:ellipsis;min-width:0;overflow:hidden}.tool-card-copy strong{font-size:var(--fs-sm);align-items:center;gap:8px;font-weight:600;display:flex}.tool-card-title{text-overflow:ellipsis;flex:0 auto;min-width:0;overflow:hidden}.tool-card-phase{font-size:var(--fs-xs);letter-spacing:.02em;color:var(--color-text-muted);border:1px solid var(--color-border);background:#ffffff0d;border-radius:999px;flex:none;padding:1px 7px;font-weight:500}.tool-card-phase.pill-dragging,.tool-card-phase.pill-exact-entry{color:var(--color-accent-hi);background:var(--color-accent-dim);border-color:var(--color-accent-border)}.tool-card-phase.pill-validating{color:var(--color-preview);background:#58d6c21a;border-color:#58d6c266}.tool-card-phase.pill-failed{color:var(--color-error);background:#ef44441a;border-color:#ef444473}.tool-card-phase-dot{background:var(--color-accent-hi);width:7px;height:7px;box-shadow:0 0 0 3px var(--color-accent-dim);border-radius:999px;flex:none}.tool-card.phase-dragging{opacity:.86;grid-template-columns:auto minmax(0,auto);column-gap:7px;width:auto;max-width:min(240px,100% - 20px);padding:6px 10px 6px 7px}.tool-card.phase-dragging .tool-card-icon{width:24px;height:24px}.tool-card.phase-dragging .tool-card-copy{align-self:center}.tool-card.phase-dragging .tool-card-copy>small,.tool-card.phase-dragging .tool-card-badge,.tool-card.phase-dragging .tool-card-submode,.tool-card.phase-dragging .tool-card-close{display:none}.tool-card-badge{width:22px;height:22px;color:var(--color-preview);background:color-mix(in srgb, var(--color-preview) 10%, transparent);border:1px solid color-mix(in srgb, var(--color-preview) 45%, transparent);cursor:help;border-radius:999px;flex:none;place-items:center;display:inline-grid}.tool-card-badge:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.tool-card-copy small{color:var(--color-text-muted);font-size:var(--fs-xs)}.tool-card-diagnostic{border:1px solid var(--color-error);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--color-error) 12%, transparent);flex-direction:column;gap:4px;margin-top:2px;padding:6px 8px;display:flex}.tool-card-copy .tool-card-error{color:var(--color-error-text);white-space:normal}.tool-card-recovery{color:var(--color-text);font-size:var(--fs-xs);border:var(--border-thin);border-radius:var(--radius-sm);cursor:pointer;background:#ffffff14;align-self:flex-start;padding:3px 8px}.tool-card-recovery:hover{background:#ffffff29}.tool-card-details{font-size:var(--fs-xs);color:var(--color-text-dim)}.tool-card-details summary{cursor:pointer}.tool-card[aria-busy=true] .tool-card-icon svg{animation:.9s linear infinite tool-card-validating}@keyframes tool-card-validating{to{transform:rotate(360deg)}}.tool-card-submode{border-radius:var(--radius-sm);background:#00000047;flex-wrap:wrap;gap:2px;padding:2px;display:flex}.tool-card-submode button{text-align:center;min-width:0;color:var(--color-text-dim);font-size:var(--fs-xs);border-radius:calc(var(--radius-sm) - 2px);cursor:pointer;background:0 0;border:0;flex:auto;padding:4px 10px}.tool-card-submode button:hover:not(:disabled){color:var(--color-text);background:#ffffff0f}.tool-card-submode button.active,.tool-card-submode button.active:hover:not(:disabled){color:var(--color-text);background:var(--color-accent-dim);box-shadow:inset 0 0 0 1px var(--color-accent-border)}.tool-card-submode button:disabled{color:var(--color-text-dim);opacity:.45;cursor:not-allowed}.tool-card-close{width:24px;height:24px;color:var(--color-text-dim);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.tool-card-close:hover{color:var(--color-text);background:#ffffff0f}.handle-value-chip{z-index:calc(var(--z-viewer-overlay) + 1);color:#eaf4ff;border:1px solid var(--color-accent-border);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--fs-xs);white-space:nowrap;cursor:pointer;user-select:none;transition:color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);animation:oz-fade var(--dur-fast) var(--ease-out);background:#08121ef5;padding:4px 8px;position:absolute;transform:translate(-50%,-130%);box-shadow:0 8px 22px #00000059}.handle-value-chip:hover{border-color:var(--color-accent-hi);background:#0e1e30fa}.handle-value-chip[data-state=deferred]{color:#dbe7f5;border-color:color-mix(in srgb, var(--color-accent-border) 60%, #3d4a5c);background:#0c141ef5}.handle-value-chip[data-state=deferred]:after{content:"";background:var(--color-accent-hi);border-radius:999px;width:7px;height:7px;margin-left:6px;animation:.9s ease-in-out infinite alternate preview-catching-up;position:absolute;top:50%;left:100%;transform:translateY(-50%);box-shadow:0 0 0 3px #0c141ef5}@keyframes preview-catching-up{to{opacity:.35}}[data-reduced-motion=true] .handle-value-chip[data-state=deferred]:after{animation:none}.handle-value-chip[data-state=warning]{color:#fff4dc;background:color-mix(in srgb, var(--color-warning) 18%, #08121e);border-color:var(--color-warning);box-shadow:0 0 0 1px color-mix(in srgb, var(--color-warning) 35%, transparent), 0 8px 22px #00000059}.handle-value-chip[data-variant=dimension]{color:#14202e;border:1.5px solid var(--color-accent-hi);background:#fafcfff7;border-radius:999px;font-weight:600;transform:translate(4px,-50%)}.handle-value-chip[data-variant=dimension]:hover{background:#fff}.handle-value-chip[data-variant=dimension] small{vertical-align:.08em;font-size:.78em}.handle-dimension-prefix{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:800}.handle-dimension-prefix:hover,.handle-dimension-prefix:focus-visible{color:var(--color-accent);outline:none}.handle-label-chip{z-index:calc(var(--z-viewer-overlay) + 1);color:var(--color-text);background:var(--color-surface-2);border:1px solid var(--color-accent-border);font-family:var(--font-mono);font-size:var(--fs-xs);white-space:nowrap;cursor:pointer;user-select:none;transition:background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);animation:oz-fade var(--dur-fast) var(--ease-out);border-radius:999px;padding:4px 10px;font-weight:600;position:absolute;transform:translate(calc(-100% - 4px),-50%);box-shadow:0 8px 22px #00000059}.handle-label-chip:hover{background:var(--color-surface-hover);border-color:var(--color-accent-hi)}.numeric-keypad{z-index:calc(var(--z-inspector-float) + 2);visibility:hidden;background:var(--color-surface-2);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);width:232px;transition:border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);flex-direction:column;gap:7px;padding:10px;display:flex;position:absolute;box-shadow:0 18px 44px #00000080}.numeric-keypad[data-state=warning]{border-color:var(--color-warning);box-shadow:0 0 0 1px color-mix(in srgb, var(--color-warning) 28%, transparent), 0 18px 44px #00000080}.keypad-value-row{align-items:center;gap:8px;display:flex}.keypad-label{color:var(--color-text-dim);font-size:var(--fs-xs);white-space:nowrap}.keypad-value{min-width:0;color:var(--color-text);font-family:var(--font-mono);font-size:var(--fs-sm);border:1px solid var(--color-accent-border);border-radius:var(--radius-sm);background:#00000052;outline:none;flex:1;padding:6px 8px}.keypad-value:focus{border-color:var(--color-accent)}.keypad-expr-preview{min-height:calc(var(--fs-xs) * 1.35);color:var(--color-text-dim);font-family:var(--font-mono);font-size:var(--fs-xs);text-align:right}.keypad-warning{color:var(--color-warning);font-size:var(--fs-xs);line-height:1.35}.keypad-units{gap:4px;display:flex}.keypad-units button{color:var(--color-text-dim);font-size:var(--fs-xs);border-radius:var(--radius-sm);cursor:pointer;background:#00000047;border:1px solid #0000;flex:1;padding:4px 0}.keypad-units button.active{color:var(--color-text);background:var(--color-accent-dim);border-color:var(--color-accent-border)}.keypad-units button:disabled{opacity:.4;cursor:default}.keypad-grid{grid-template-columns:repeat(4,1fr);gap:4px;display:grid}.keypad-key{color:var(--color-text);font-family:var(--font-mono);font-size:var(--fs-sm);border-radius:var(--radius-sm);cursor:pointer;background:#ffffff0d;border:1px solid #0000;place-items:center;padding:7px 0;display:grid}.keypad-key:hover{background:#ffffff1a}.keypad-commit{color:#08121e;font-size:var(--fs-sm);background:var(--color-accent);border-radius:var(--radius-sm);cursor:pointer;border:0;grid-column:span 3;justify-content:center;align-items:center;gap:6px;padding:7px 0;font-weight:600;display:flex}.keypad-commit:hover{background:var(--color-accent-hi)}.keypad-commit:disabled{opacity:.45;cursor:default}.sketch-dim-label{z-index:calc(var(--z-viewer-overlay) + 1);color:#ffe1b0;border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--fs-xs);white-space:nowrap;pointer-events:none;background:#1e1404eb;border:1px solid #f59e0b8c;padding:3px 7px;position:absolute}.sketch-snap-marker{z-index:calc(var(--z-viewer-overlay) + 1);width:18px;height:18px;color:var(--color-success);font-family:var(--font-mono);font-size:16px;font-weight:var(--fw-bold);text-shadow:0 1px 3px #000000d9;pointer-events:none;place-items:center;line-height:1;display:grid;position:absolute;transform:translate(-50%,-50%)}.sketch-snap-marker:after{color:var(--color-viewport-text);content:attr(data-label);font-family:var(--font-ui);font-size:var(--fs-mini);font-weight:var(--fw-regular);text-shadow:none;white-space:nowrap;background:#0c1117e6;border:1px solid #7dd3fc57;border-radius:3px;padding:2px 5px;line-height:1.2;position:absolute;top:50%;left:calc(100% + 4px);transform:translateY(-50%)}.sketch-snap-marker[data-kind=grid]:after{display:none}.sketch-center-target{--sketch-center-guide:#7dd3fce0;z-index:calc(var(--z-viewer-overlay) + 1);pointer-events:none;border:1px solid #7dd3fccc;border-radius:50%;width:28px;height:28px;animation:.9s ease-in-out infinite alternate sketch-center-breathe;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 4px #7dd3fc1a,0 0 18px #7dd3fc57}.sketch-center-axis{opacity:.82;filter:drop-shadow(0 0 3px #7dd3fc9e);pointer-events:none;display:block;position:absolute;top:50%;left:50%}.sketch-center-axis.horizontal{background:repeating-linear-gradient(90deg, var(--sketch-center-guide) 0 12px, transparent 12px 20px);width:200vmax;height:2px;animation:.76s linear infinite sketch-center-flow-x;transform:translate(-50%,-50%)}.sketch-center-axis.vertical{background:repeating-linear-gradient(180deg, var(--sketch-center-guide) 0 12px, transparent 12px 20px);width:2px;height:200vmax;animation:.76s linear infinite sketch-center-flow-y;transform:translate(-50%,-50%)}.sketch-center-target:before,.sketch-center-target:after{content:"";background:#b9e7ff;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 6px #7dd3fcd9}.sketch-center-target:before{width:38px;height:1px}.sketch-center-target:after{width:1px;height:38px}.sketch-center-target[data-engaged=true]{--sketch-center-guide:#86efacf0;border-color:#86efac;animation-name:sketch-center-lock;animation-duration:.44s;box-shadow:0 0 0 5px #4ade8024,0 0 22px #4ade8080}.sketch-center-target[data-engaged=true]:before,.sketch-center-target[data-engaged=true]:after{background:#bbf7d0;box-shadow:0 0 7px #4ade80e6}@keyframes sketch-center-breathe{0%{opacity:.64;transform:translate(-50%,-50%)scale(.88)}to{opacity:1;transform:translate(-50%,-50%)scale(1.08)}}@keyframes sketch-center-lock{0%{opacity:.78;transform:translate(-50%,-50%)scale(.94)}to{opacity:1;transform:translate(-50%,-50%)scale(1.12)}}@keyframes sketch-center-flow-x{to{background-position-x:20px}}@keyframes sketch-center-flow-y{to{background-position-y:20px}}[data-reduced-motion=true] .sketch-center-target,[data-reduced-motion=true] .sketch-center-axis{animation:none}.sketch-grid-indicator{z-index:calc(var(--z-viewer-overlay) + 1);color:var(--color-viewport-text-muted);border:1px solid var(--color-viewport-border);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--fs-mini);pointer-events:none;background:#0c1117d1;padding:4px 7px;position:absolute;bottom:14px;right:14px}.sketch-rail-group-label{color:var(--color-text-subtle);font-size:var(--fs-mini);font-weight:var(--fw-medium);letter-spacing:.08em;text-transform:uppercase;padding:0 4px 0 2px}.sketch-rail button{color:var(--color-text-dim);font-size:var(--fs-xs);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:6px;padding:5px 10px;display:flex}.sketch-rail button:hover{color:var(--color-text);background:#ffffff0d}.sketch-rail button.active{color:var(--color-text);background:var(--color-accent-dim);border-color:var(--color-accent-border)}.sketch-rail button kbd{color:var(--color-text-dim);background:#00000059;border-radius:3px;padding:0 4px;font-size:10px}.sketch-rail .sketch-solve-pill{border:1px solid var(--color-border-strong);font-size:var(--fs-xs);white-space:nowrap;color:var(--color-text-dim);border-radius:999px;padding:3px 8px}.sketch-rail .sketch-solve-pill[data-tone=ok]{color:var(--color-accent-hi);border-color:var(--color-accent-border)}.sketch-rail .sketch-solve-pill[data-tone=warn]{color:#ffb4a6;border-color:#ff80648c}.sketch-constraint-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.sketch-constraint-list li{justify-content:space-between;align-items:center;gap:6px;min-width:0;display:flex}.sketch-constraint-list li>span{text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-xs);overflow:hidden}.sketch-constraint-edit{min-width:0;color:var(--color-text);border-radius:var(--radius-sm);font-size:var(--fs-xs);text-align:left;text-overflow:ellipsis;white-space:nowrap;flex:1;padding:2px 4px;overflow:hidden}.sketch-constraint-edit:hover,.sketch-constraint-edit:focus-visible{color:var(--color-accent-hi);background:var(--color-surface-hover)}.sketch-circle-tool{display:flex;position:relative}.sketch-circle-tool>button:first-child{border-radius:var(--radius-sm) 0 0 var(--radius-sm)}.sketch-circle-tool .sketch-circle-chevron{border-radius:0 var(--radius-sm) var(--radius-sm) 0;border-left:0;min-width:22px;padding-inline:3px}.sketch-circle-menu{z-index:calc(var(--z-inspector-float) + 4);background:var(--color-surface-2);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);width:238px;padding:5px;display:grid;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 16px 36px #0000007a}.sketch-circle-menu button{text-align:left;grid-template-columns:20px minmax(0,1fr);gap:8px;padding:7px 8px;display:grid}.sketch-circle-menu button>span{gap:1px;display:grid}.sketch-circle-menu strong{color:var(--color-text);font-size:var(--fs-xs);font-weight:var(--fw-medium)}.sketch-circle-menu small{color:var(--color-text-subtle);font-size:var(--fs-mini)}.sketch-palette-header{width:100%;min-height:36px;color:var(--color-text);font-size:var(--fs-xs);justify-content:space-between;align-items:center;gap:10px;padding:7px 9px;display:flex}.sketch-palette-header>span{align-items:center;gap:7px;display:inline-flex}.sketch-palette-header svg:first-child{color:var(--color-accent-hi)}.sketch-palette-content{gap:9px;padding:0 10px 10px;display:grid}.sketch-palette fieldset{border:1px solid var(--color-border);border-radius:var(--radius-sm);gap:7px;margin:0;padding:9px;display:grid}.sketch-palette legend{color:var(--color-text-subtle);font-size:var(--fs-mini);letter-spacing:.06em;text-transform:uppercase;padding:0 5px}.sketch-palette label{color:var(--color-text-muted);font-size:var(--fs-xs);align-items:center;gap:7px;display:flex}.sketch-palette input[type=checkbox]{accent-color:var(--color-accent)}.sketch-palette-number{border-top:1px solid var(--color-border);justify-content:space-between;padding-top:3px}.sketch-palette-number>span:last-child{align-items:center;gap:5px;display:inline-flex}.sketch-palette-number input{width:72px;min-width:0;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--fs-mini);padding:3px 5px}.sketch-palette-number small{min-width:20px;color:var(--color-text-subtle);font-size:var(--fs-mini)}.sketch-palette-help{color:var(--color-text-subtle);font-size:var(--fs-mini);align-items:center;gap:6px;margin:0;display:flex}@media (width>=761px) and (width<=1500px){.sketch-rail button{gap:4px;padding-inline:6px}.sketch-rail button kbd,.sketch-rail-group-label{display:none}}.sketch-entity-dock{z-index:calc(var(--z-inspector-float) + 1);gap:8px;width:min(290px,100% - 28px);display:grid;position:absolute;top:124px;right:14px}.sketch-entity-editor{color:var(--color-text);background:var(--color-surface-2);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);padding:12px;box-shadow:0 14px 34px #0006}.sketch-entity-editor header,.sketch-entity-editor footer{justify-content:space-between;align-items:center;gap:8px;display:flex}.sketch-entity-editor header{margin-bottom:10px}.sketch-entity-editor header>div{text-transform:capitalize;gap:2px;display:grid}.sketch-entity-editor .eyebrow{color:var(--color-text-dim);font-size:var(--fs-mini);text-transform:uppercase}.sketch-entity-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 8px;display:grid}.sketch-entity-editor .field input{width:100%;min-width:0}.sketch-entity-editor .form-error{color:var(--color-error);font-size:var(--fs-mini);margin:0 0 10px}.sketch-entity-constraints{color:var(--color-text);background:var(--color-surface-2);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);gap:6px;padding:10px 12px 12px;display:grid;box-shadow:0 14px 34px #0006}.sketch-entity-constraints .eyebrow{color:var(--color-text-dim);font-size:var(--fs-mini);text-transform:uppercase}.sketch-entity-constraint-tools{flex-wrap:wrap;gap:2px;display:flex}.sketch-entity-constraint-tools button{width:28px;height:26px;color:var(--color-text-muted);border-radius:var(--radius-sm);border:1px solid #0000;place-items:center;display:grid}.sketch-entity-constraint-tools button:hover{color:var(--color-text);background:var(--color-surface-hover)}.sketch-entity-constraint-tools button.active{color:var(--color-accent-hi);background:var(--color-accent-dim);border-color:var(--color-accent-border)}.sketch-entity-constraints .sketch-constraint-list li>svg{color:var(--color-text-subtle);flex:none}.text-object-fields .field input[type=text],.text-object-fields .field select{width:100%;min-width:0}.text-object-fields .field select{font-size:var(--fs-sm);padding:4px 6px}.text-style-toggles{gap:6px;display:flex}.text-style-toggles .toggle{border:1px solid var(--color-border);border-radius:var(--radius-sm,4px);width:30px;height:26px;color:var(--color-text-muted);cursor:pointer;font-size:var(--fs-sm);background:0 0;place-items:center;line-height:1;display:grid}.text-style-toggles .toggle:hover{color:var(--color-text);border-color:var(--color-border-strong,var(--color-border))}.text-style-toggles .toggle.active{background:var(--color-accent-dim);border-color:var(--color-accent);color:var(--color-accent)}.text-style-toggles .toggle:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.field-hint{color:var(--color-text-dim);font-size:var(--fs-mini);margin:0 0 10px}@media (width<=760px){.sketch-rail{max-width:calc(100% - 20px);overflow-x:auto}.sketch-entity-dock{width:auto;inset:auto 10px 54px}.sketch-entity-editor{max-height:44vh;overflow-y:auto}.sketch-palette{width:min(238px,100% - 20px);max-height:46vh;top:auto;bottom:54px;right:10px;overflow-y:auto}}.sketch-plane-prompt{z-index:calc(var(--z-viewer-overlay) + 2);color:var(--color-text);background:var(--color-surface-2);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);align-items:center;gap:14px;padding:9px 12px;display:flex;position:absolute;top:14px;left:50%;transform:translate(-50%);box-shadow:0 14px 34px #0006}.sketch-plane-prompt span:first-child{flex-direction:column;gap:1px;display:flex}.sketch-plane-prompt strong{font-size:var(--fs-sm)}.sketch-plane-prompt small{color:var(--color-text-dim);font-size:var(--fs-xs)}.sketch-plane-offset{color:var(--color-text-muted);font-size:var(--fs-xs);align-items:center;gap:6px;display:flex}.sketch-plane-offset input{width:64px;color:var(--color-text);font-family:var(--font-mono);font-size:var(--fs-xs);text-align:right;background:var(--color-surface-1);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);padding:4px 6px}.sketch-plane-offset-units{color:var(--color-text-dim)}.sketch-plane-buttons{gap:4px;display:flex}.sketch-plane-buttons button{color:var(--color-text);font-size:var(--fs-xs);background:var(--color-accent-dim);border:1px solid var(--color-accent-border);border-radius:var(--radius-sm);cursor:pointer;padding:5px 10px}.sketch-plane-buttons button:hover{background:#4da3ff38}.sketch-plane-buttons .sketch-plane-dismiss{margin-left:var(--sp-1);color:var(--color-text-muted);font-size:var(--fs-sm);background:0 0;border-color:#0000;padding:5px 9px;line-height:1}.sketch-plane-buttons .sketch-plane-dismiss:hover{color:var(--color-text);background:var(--color-surface-hover)}.revert-sketch-pill{z-index:calc(var(--z-viewer-overlay) + 2);color:var(--color-text);font-size:var(--fs-xs);background:var(--color-surface-2);border:1px solid var(--color-accent-border);cursor:pointer;border-radius:999px;align-items:center;gap:7px;padding:7px 14px;display:flex;position:absolute;top:14px;left:50%;transform:translate(-50%);box-shadow:0 12px 30px #0006}.revert-sketch-pill:hover{background:var(--color-accent-dim)}.sketch-solve-pill.empty{visibility:hidden}.extrude-controls{flex-wrap:wrap;flex:0 0 100%;align-items:end;gap:8px;display:flex}.extrude-controls .field{flex:100px;min-width:0;margin:0}.extrude-controls select{width:100%;min-width:0}.extrude-form fieldset{border:0;gap:10px;min-width:0;margin:0;padding:0;display:grid}.extrude-form .field,.extrude-form .muted{margin:0}.extrude-form .extrude-symmetry{align-items:center;gap:8px;display:flex}.extrude-symmetry input{width:auto}.tool-card:has(.extrude-form){width:310px;max-height:calc(100% - 100px);animation:none;left:auto;right:14px;overflow-y:auto;transform:none}.tool-card .extrude-form{flex:1 0 100%;min-width:0}.tool-card:has(.extrude-form) .tool-card-copy{white-space:normal;flex:1;min-width:0}.workspace-tour{left:calc(var(--column-w,0px) + 12px);z-index:var(--z-inspector-float);width:296px;padding:var(--sp-3) var(--sp-4);background:var(--color-surface);border:var(--border-strong);border-radius:var(--radius-lg);animation:workspace-tour-in var(--dur-base) var(--ease-out);position:absolute;bottom:60px;box-shadow:0 10px 28px #0006}@keyframes workspace-tour-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.workspace-tour-head{align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-2);display:flex}.workspace-tour-progress{flex:1;gap:5px;display:inline-flex}.workspace-tour-dot{background:var(--color-border-strong);border-radius:999px;width:6px;height:6px}.workspace-tour-dot.is-active{background:var(--color-accent)}.workspace-tour-dot.is-done{background:var(--color-accent-border)}.workspace-tour-count{color:var(--color-text-subtle);font-size:var(--fs-mini)}.workspace-tour-title{margin:0 0 var(--sp-1);font-size:var(--fs-md);font-weight:var(--fw-medium)}.workspace-tour-body{color:var(--color-text-muted);font-size:var(--fs-xs);line-height:var(--lh-normal);margin:0}.workspace-tour-actions{margin-top:var(--sp-3);justify-content:flex-end;display:flex}.workspace-tour-next{color:var(--color-on-accent);background:var(--color-accent);border-radius:var(--radius-md);font-size:var(--fs-xs);font-weight:var(--fw-medium);padding:5px 12px}.workspace-tour-next:hover{background:var(--color-accent-hi)}.tour-target{outline:2px dashed var(--color-accent-border);outline-offset:2px}@media (width<=720px){.workspace-tour{display:none}}.activity-lane{left:calc(var(--column-w) + 12px);right:calc(var(--column-w) + 12px);z-index:calc(var(--z-viewer-overlay) + 1);pointer-events:none;justify-content:safe center;display:flex;position:absolute;bottom:58px}.activity-lane:empty{display:none}.viewer-area:has(.activity-pill) .workspace-toast{opacity:0;pointer-events:none}.viewer-area:has(.activity-pill) .toast{bottom:100px}.workspace.column-layout .viewer-area:has(.selection-chip) .activity-lane{bottom:92px}.activity-pill{max-width:min(720px,100%);height:32px;color:var(--color-text);background:var(--color-surface);border:var(--border-strong);box-shadow:var(--shadow-2);font-size:var(--fs-sm);white-space:nowrap;pointer-events:auto;animation:oz-fade var(--dur-fast) var(--ease-out);border-radius:6px;align-items:center;gap:10px;padding:0 6px 0 12px;display:inline-flex;position:relative;overflow:hidden}.activity-pill-glyph{flex:none;place-items:center;width:12px;height:12px;display:grid}.activity-pill-text{align-items:baseline;min-width:0;display:inline-flex;overflow:hidden}.activity-pill-verb{color:var(--color-text-muted);white-space:pre;flex:none}.activity-pill-name{text-overflow:ellipsis;min-width:0;max-width:260px;font-weight:var(--fw-medium);flex:0 auto;overflow:hidden}.activity-pill-detail{text-overflow:ellipsis;min-width:0;color:var(--color-text-muted);flex:0 auto;overflow:hidden}.activity-pill-detail:before{content:"·";color:var(--color-text-subtle);margin:0 8px}.activity-pill-detail.warning{color:var(--color-warning)}.activity-pill-detail.error{color:var(--color-error)}.activity-pill-detail.cancelled{color:var(--color-text-subtle)}.activity-pill-time{font-family:var(--font-mono);font-size:var(--fs-xs);font-variant-numeric:tabular-nums;color:var(--color-text-subtle);flex:none}.activity-pill-sep{background:var(--color-border);flex:none;width:1px;height:16px;margin-left:2px}.activity-pill-action,.activity-pill-cancel{border-radius:var(--radius-sm);font-size:var(--fs-xs);flex:none;padding:3px 8px}.activity-pill-action{color:var(--color-accent-hi);background:var(--color-accent-dim);border:1px solid var(--color-accent-border)}.activity-pill-action:hover{background:color-mix(in srgb, var(--color-accent) 22%, transparent)}.activity-pill-cancel{color:var(--color-text-muted);background:0 0;border:1px solid #0000}.activity-pill-cancel:hover:not(:disabled){color:var(--color-error);border-color:color-mix(in srgb, var(--color-error) 55%, transparent);background:color-mix(in srgb, var(--color-error) 12%, transparent)}.activity-pill-cancel:disabled{color:var(--color-text-subtle);cursor:default}.activity-pill-close{width:20px;height:20px;color:var(--color-text-subtle);border-radius:var(--radius-sm);flex:none;place-items:center;display:grid}.activity-pill-close:hover{color:var(--color-text);background:var(--color-surface-hover)}.activity-pill-bar{background:var(--color-surface-hover);height:2px;position:absolute;bottom:0;left:0;right:0}.activity-pill-bar>i{background:var(--color-accent);height:100%;transition:width var(--dur-base) linear;display:block}.activity-pill-bar.indeterminate>i{background:repeating-linear-gradient(115deg, var(--color-accent) 0 6px, color-mix(in srgb, var(--color-accent) 30%, transparent) 6px 14px);background-size:200% 100%;animation:.9s linear infinite activity-pill-stripe}.activity-pill-bar.ok>i{background:var(--color-success)}.activity-pill-bar.warning>i{background:var(--color-warning)}.activity-pill-bar.error>i{background:var(--color-error)}.activity-pill-bar.cancelled>i{background:var(--color-border-strong)}@keyframes activity-pill-stripe{to{background-position:-28px 0}}.activity-spin{border:1.5px solid var(--color-accent-dim);border-top-color:var(--color-accent);border-radius:50%;width:12px;height:12px;animation:.8s linear infinite activity-pill-spin}@keyframes activity-pill-spin{to{transform:rotate(360deg)}}.activity-dot{background:var(--color-success);border-radius:50%;width:8px;height:8px}.activity-dot.warning{background:var(--color-warning)}.activity-dot.error{background:var(--color-error)}.activity-dot.cancelled{background:var(--color-text-subtle)}@media (prefers-reduced-motion:reduce){.activity-pill{animation:none}.activity-pill-bar.indeterminate>i{background:var(--color-accent-dim);animation:none}.activity-spin{border-color:var(--color-accent);border-top-color:var(--color-accent-dim);animation:none}}.workspace.column-layout{--column-w:var(--sidebar-w)}.workspace-column-float{z-index:var(--z-inspector-float);width:min(var(--column-w), calc(100% - 20px));pointer-events:none;display:flex;position:absolute;top:0;bottom:0;left:0}.workspace-column-float>*{pointer-events:auto}.workspace.column-layout .sidebar-resizer{left:min(var(--column-w), calc(100% - 20px));z-index:calc(var(--z-inspector-float) + 1)}.workspace-column,.workspace-column-tools,.workspace-column-browser .sidebar{scrollbar-width:none;overflow-x:hidden}.workspace-column-browser .sidebar::-webkit-scrollbar{display:none}.workspace-column{background:var(--color-surface);border:var(--border-thin);border-radius:0 0 var(--radius-lg) 0;min-width:0;min-height:0;box-shadow:var(--shadow-2);border-top:0;border-left:0;flex-direction:column;flex:1;display:flex;overflow:hidden}.workspace-column-header{border-bottom:var(--border-thin);min-height:38px;color:var(--color-text-muted);font-size:var(--fs-sm);align-items:center;gap:7px;padding:0 8px 0 12px;display:flex}.workspace-column-header strong{color:var(--color-text);font-weight:var(--fw-medium);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.workspace-column-header .sketch-mark{color:var(--color-warning);flex:none}.workspace-column-header .spacer{flex:1}.workspace-column-search{min-width:0;height:28px;color:var(--color-text-subtle);background:var(--color-bg);border:var(--border-thin);border-radius:var(--radius-md);font-size:var(--fs-sm);text-align:left;flex:1;align-items:center;gap:8px;margin:0 -2px 0 -4px;padding:0 9px;display:flex}.workspace-column-search span{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.workspace-column-search:hover{color:var(--color-text);border-color:var(--color-border-strong)}.workspace-column-finish{height:28px;color:var(--color-on-accent);background:var(--color-accent);border-radius:var(--radius-md);font-size:var(--fs-sm);font-weight:var(--fw-medium);white-space:nowrap;align-items:center;gap:6px;padding:0 9px 0 7px;display:inline-flex}.workspace-column-finish:hover{background:var(--color-accent-hi)}.workspace-column-tools{border-bottom:var(--border-thin);background:linear-gradient(var(--color-surface) 30%, transparent) top / 100% 14px no-repeat local, linear-gradient(transparent, var(--color-surface) 70%) bottom / 100% 14px no-repeat local, linear-gradient(#00000059, transparent) top / 100% 10px no-repeat scroll, linear-gradient(transparent, #00000059) bottom / 100% 10px no-repeat scroll;flex:0 auto;max-height:55%;overflow-y:auto;container-type:inline-size}.workspace-column-browser{flex-direction:column;flex:1;min-height:0;display:flex}.workspace-column-browser .sidebar{border-right:0;flex:1}.workspace-column-float>.sidebar{border-right:var(--border-thin);border-radius:0 0 var(--radius-lg) 0;min-width:0;box-shadow:var(--shadow-2);flex:1}.workspace.column-layout.with-assistant{--sidebar-col-w:0px;grid-template-columns:minmax(280px, 1fr) var(--assistant-col-w)}@media (width<=820px){.workspace.column-layout.with-assistant{grid-template-columns:minmax(0,1fr)}}.tool-palette{padding:1px 0 2px}.tool-group{padding:2px 6px 5px}.tool-group+.tool-group{border-top:var(--border-thin)}.tool-group-head{flex-wrap:wrap;align-items:center;gap:0 4px;display:flex}.tool-group-toggle{min-height:24px;color:var(--color-text-subtle);font-family:var(--font-mono);font-size:var(--fs-mini);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;text-align:left;flex:auto;align-items:center;gap:5px;padding:0 2px;display:flex}.tool-group-toggle:hover{color:var(--color-text)}.tool-group-toggle svg{flex:none}.tool-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:1px 2px;padding-top:1px;display:grid}.tool-group-strip{flex:none;gap:1px;margin-left:auto;display:flex}.tool-tile{min-width:0;height:26px;color:var(--color-text-muted);border-radius:var(--radius-sm);font-size:var(--fs-sm);text-align:left;white-space:nowrap;border:1px solid #0000;align-items:center;gap:7px;padding:0 5px 0 6px;display:flex}.tool-tile.compact{justify-content:center;width:22px;height:24px;padding:0}.tool-tile svg{color:var(--color-text-subtle);flex:none}.tool-tile-label{text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.tool-tile kbd{box-sizing:border-box;min-width:15px;color:var(--color-text-dim);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-mono);text-align:center;flex:none;padding:0 3px;font-size:10px;line-height:14px}@container (width<=232px){.tool-tile kbd{display:none}.tool-tile{font-size:var(--fs-xs);gap:4px;padding:0 3px 0 4px}.tool-tile-label{letter-spacing:-.02em}}.tool-tile:hover:not(:disabled){color:var(--color-text);background:var(--color-surface-hover)}.tool-tile:hover:not(:disabled) svg{color:var(--color-accent)}.tool-tile.active{color:var(--color-text);background:var(--color-accent-dim);border-color:var(--color-accent-border)}.tool-tile.active svg{color:var(--color-accent)}.tool-tile:disabled{color:var(--color-text-dim)}.tool-tile:disabled svg{color:var(--color-text-dim);opacity:.6}.tool-tile:disabled kbd{opacity:.5}.tool-tile:focus-visible,.tool-group-toggle:focus-visible{outline:1px solid var(--color-accent);outline-offset:-1px}.sketch-rail{max-width:none;box-shadow:none;background:0 0;border:0;border-radius:0;flex-direction:column;align-items:stretch;gap:4px;padding:6px;animation:none;display:flex;position:static;transform:none}.sketch-rail .sketch-rail-group-label{padding:6px 4px 0}.sketch-rail-group{gap:2px;display:grid}.sketch-rail-group.draw{grid-template-columns:repeat(3,minmax(0,1fr))}.sketch-rail-group.draw>button,.sketch-rail-group.draw .sketch-circle-tool>button:first-child{flex-direction:column;justify-content:center;gap:3px;min-height:46px;padding:5px 2px;font-size:10px}.sketch-rail-group.draw button kbd{display:none}.sketch-rail-group.draw .sketch-circle-tool{min-width:0;display:flex}.sketch-rail-group.draw .sketch-circle-tool>button:first-child{flex:1;min-width:0}.sketch-rail-group.modify{grid-template-columns:repeat(3,minmax(0,1fr))}.sketch-rail-group.modify>button{flex-direction:column;justify-content:center;gap:3px;min-height:40px;padding:5px 2px;font-size:10px}.sketch-rail-group.constrain{grid-template-columns:repeat(6,minmax(0,1fr))}.sketch-rail-group.constrain>button{justify-content:center;padding:5px 0}.sketch-rail-group.solve{grid-template-columns:max-content minmax(0,1fr);align-items:center;gap:6px;padding-top:2px}.sketch-rail-group.solve .sketch-solve-pill{text-overflow:ellipsis;justify-self:start;min-width:0;max-width:100%;overflow:hidden}.sketch-rail-group.solve .sketch-solve-pill .stable-label{max-width:100%;overflow:hidden}.sketch-rail-group.utility{border-top:var(--border-thin);grid-template-columns:repeat(3,minmax(0,1fr));padding-top:4px}.sketch-rail-group.utility>button{flex-direction:column;justify-content:center;gap:3px;padding:5px 2px;font-size:10px}.sketch-palette{border:0;border-top:var(--border-thin);width:auto;box-shadow:none;backdrop-filter:none;background:0 0;border-radius:0;animation:none;position:static}.sketch-palette.collapsed{width:auto}.sidebar .sidebar-section.grow{flex:1}.sidebar .sidebar-section.collapsed .section-title{gap:8px}.history-scrub{flex:auto;justify-content:space-between;align-items:center;gap:2px;min-width:48px;padding:0 2px;display:flex;position:relative}.history-scrub:before{content:"";background:var(--color-border-strong);height:1px;position:absolute;top:50%;left:4px;right:4px}.history-scrub-dot{background:var(--color-text-muted);border:1.5px solid var(--color-text-muted);box-sizing:border-box;border-radius:999px;flex:0 7px;min-width:3px;height:7px;position:relative}.history-scrub-dot.consumed{background:var(--color-surface);border-color:var(--color-text-subtle)}.history-scrub-dot.active{background:var(--color-accent);border-color:var(--color-accent);min-width:9px;height:9px;box-shadow:0 0 0 2px var(--color-accent-dim);flex-basis:9px}.history-scrub-name{min-width:0;max-width:45%;color:var(--color-text);font-family:var(--font-ui);font-size:var(--fs-xs);font-weight:var(--fw-regular);letter-spacing:0;text-transform:none;text-overflow:ellipsis;white-space:nowrap;flex:0 auto;overflow:hidden}.history-scrub-position{color:var(--color-text-subtle);font-size:var(--fs-mini);flex:none}.viewport-dock-lane{left:calc(var(--column-w) + 12px);right:calc(var(--column-w) + 12px);z-index:var(--z-viewer-overlay);pointer-events:none;justify-content:safe center;display:flex;position:absolute;bottom:8px}.viewport-dock{background:var(--color-surface);border:var(--border-strong);border-radius:var(--radius-md);height:40px;box-shadow:var(--shadow-2);pointer-events:auto;flex:none;align-items:center;gap:6px;padding:0 8px;display:flex}.viewport-dock .viewer-rail{background:0 0;border:0;border-radius:0;flex-direction:row;padding:0;position:static;transform:none}.viewport-dock-divider{background:var(--color-border);width:1px;height:20px}.viewport-dock-filter,.viewport-dock-snap{height:26px;color:var(--color-text-muted);background:var(--color-bg);border:var(--border-thin);border-radius:var(--radius-sm);font-size:var(--fs-mini);white-space:nowrap;align-items:center;padding:0 9px;display:inline-flex}.viewport-dock-filter.automatic{color:var(--color-accent-hi)}.viewport-dock-filter:hover{color:var(--color-text);border-color:var(--color-border-strong)}.viewport-dock-log{width:26px;height:26px;color:var(--color-text-muted);border-radius:var(--radius-sm);border:1px solid #0000;place-items:center;display:grid}.viewport-dock-log:hover,.viewport-dock-log[aria-expanded=true]{color:var(--color-text);background:var(--color-surface-hover);border-color:var(--color-border-strong)}.viewport-dock .viewport-scale-indicator{flex:0 0 200px;width:200px;margin-left:2px;position:static;transform:none}.workspace-toast{left:calc(var(--column-w) + 12px);right:calc(var(--column-w) + 12px);z-index:var(--z-viewer-overlay);pointer-events:none;transition:opacity var(--dur-fast) var(--ease-out);justify-content:safe center;display:flex;position:absolute;bottom:58px}.workspace-toast:not(.hidden) .workspace-toast-body{pointer-events:auto}.workspace-toast.hidden{opacity:0;pointer-events:none}.workspace.column-layout .selection-chip{bottom:56px}.workspace.column-layout .viewer-area:has(.selection-chip) .workspace-toast{bottom:92px}.workspace-toast-body{max-width:min(560px,100%);height:28px;color:var(--color-text-muted);background:color-mix(in srgb, var(--color-surface-2) 94%, transparent);border:var(--border-thin);border-radius:var(--radius-md);box-shadow:var(--shadow-2);font-size:var(--fs-xs);animation:oz-fade var(--dur-fast) var(--ease-out);align-items:center;gap:8px;padding:0 12px;display:inline-flex}.workspace-toast-body>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.workspace-toast-body>i{background:var(--color-success);border-radius:999px;flex:none;width:6px;height:6px}.workspace-toast.warning .workspace-toast-body>i{background:var(--color-warning)}.workspace-toast.running .workspace-toast-body>i{background:var(--color-accent)}.workspace-status-summary{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.workspace-toast-body:hover{color:var(--color-text);border-color:var(--color-border-strong)}.workspace.column-layout .viewer-rail-stack,.workspace.column-layout .viewer-area.has-inspector .viewer-rail-stack{top:auto;bottom:0;right:2px}.workspace.column-layout .sketch-grid-indicator{right:auto;left:calc(var(--column-w) + 12px);bottom:12px}.workspace.column-layout .tool-card{--tool-card-room:calc(100% - var(--column-w) - 40px);left:calc(var(--column-w) + 20px + var(--tool-card-room) / 2)}.workspace.column-layout .viewer-area.has-inspector .tool-card{--tool-card-room:calc(100% - var(--column-w) - var(--context-w) - 50px);left:calc(var(--column-w) + 20px + var(--tool-card-room) / 2)}.workspace.column-layout .viewer-area .tool-card:has(.extrude-form){width:310px;left:auto}.workspace.column-layout .sketch-dim-label{color:var(--color-text);background:var(--color-surface-2);border:1px solid var(--color-preview);border-radius:var(--radius-md);box-shadow:0 0 0 2px color-mix(in srgb, var(--color-preview) 18%, transparent), 0 8px 24px #00000059;font-size:var(--fs-sm);padding:4px 8px}.workspace.column-layout .sketch-dim-label:after{content:"Type a value · Enter places · Shift no snaps";color:var(--color-text-subtle);font-family:var(--font-ui);font-size:var(--fs-mini);margin-top:3px;display:block}.workspace.column-layout .sketch-dim-label[data-editing=true]{border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-dim), 0 8px 24px #00000059}.workspace.column-layout .sketch-dim-label[data-editing=true]:after{content:"Enter places · Backspace edits · Esc cancels"}@media (width<=1120px){.workspace.column-layout{--column-w:min(var(--sidebar-w), 232px)}.sketch-rail-group.draw>button>span:not(.sketch-circle-tool),.sketch-rail-group.utility>button{font-size:0}.sketch-rail-group.draw>button,.sketch-rail-group.draw .sketch-circle-tool>button:first-child,.sketch-rail-group.utility>button{gap:0;min-height:32px}}@media (width<=820px){.workspace.column-layout{--column-w:min(var(--sidebar-w), 200px)}.sketch-rail-group.draw{grid-template-columns:repeat(3,minmax(0,1fr))}.tool-tile kbd{display:none}}@media (width<=520px){.viewport-dock-lane,.workspace-toast{left:calc(var(--column-w) + 8px);right:8px}.viewport-dock{scrollbar-width:none;max-width:100%;overflow-x:auto}.viewport-dock::-webkit-scrollbar{display:none}.viewport-dock{gap:4px;padding:0 6px}.viewport-dock .viewport-dock-snap,.viewport-dock:has(.viewer-rail) .viewport-scale-indicator{display:none}.workspace.column-layout .viewer-rail-stack,.workspace.column-layout .viewer-area.has-inspector .viewer-rail-stack{bottom:52px}}.workspace.column-layout .palette-float:has(.view-mode-bar){align-items:flex-start;top:10px;bottom:auto}.file-drop-target{z-index:var(--z-panel-resizer);border:1.5px dashed var(--color-accent-border);border-radius:var(--radius-lg);background:color-mix(in srgb, var(--color-accent) 6%, transparent);pointer-events:none;place-items:center;display:none;position:absolute;inset:10px}.file-drop-target.active{animation:oz-fade var(--dur-fast) var(--ease-out);place-items:center;display:grid}.file-drop-target>div{text-align:center;color:var(--color-text);background:color-mix(in srgb, var(--color-surface) 92%, transparent);border:var(--border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-2);gap:4px;padding:14px 22px;display:grid}.file-drop-target strong{font-size:var(--fs-md);font-weight:var(--fw-medium)}.file-drop-target span{color:var(--color-text-muted);font-size:var(--fs-sm)}.mode-switch{--mode-switch-index:0;isolation:isolate;flex:none;grid-template-columns:repeat(3,minmax(0,1fr));display:grid;position:relative}.mode-switch[data-active=tweak]{--mode-switch-index:1}.mode-switch[data-active=build]{--mode-switch-index:2}.mode-switch:before{content:"";z-index:-1;background:var(--color-surface-2);border:var(--border-thin);border-radius:var(--radius-md);width:33.3333%;transform:translateX(calc(var(--mode-switch-index) * 100%));transition:transform var(--dur-base) var(--ease-out);position:absolute;inset:0 auto 0 0}.mode-switch-option{min-height:26px;color:var(--color-text-muted);border-radius:var(--radius-md);font:inherit;font-size:var(--fs-sm);white-space:nowrap;cursor:pointer;transition:color var(--dur-fast) var(--ease-out);background:0 0;border:0;justify-content:center;align-items:center;gap:6px;padding:0 11px;line-height:1;display:inline-flex}.mode-switch-option svg{transition:color var(--dur-fast) var(--ease-out);flex:none}.mode-switch-option:hover:not(:disabled):not(.active){color:var(--color-text)}.mode-switch-option:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.mode-switch-option.active{color:var(--color-text);font-weight:var(--fw-medium);cursor:default}.mode-switch-option.active svg{color:var(--color-accent)}.mode-switch-option:disabled{color:var(--color-text-subtle);opacity:.45;cursor:not-allowed}.tweak-panel{gap:0}.tweak-panel-intro{font-size:var(--fs-xs);margin:10px 12px 2px;line-height:1.5}.tweak-panel .sidebar-hint{margin:8px 12px 0}.tweak-panel-params{padding:10px}.tweak-panel .param-row{grid-template-columns:minmax(0,1fr) 76px minmax(0,max-content)}.param-description-text{color:var(--color-text-subtle);font-size:var(--fs-mini);margin:0 0 2px 2px;line-height:1.4}.tweak-panel-params .param-entry{gap:2px}.tweak-panel-actions{border-top:var(--border-thin);gap:6px;margin-top:auto;padding:10px;display:grid}.tweak-panel-action{color:var(--color-text);background:var(--color-surface-2);border:var(--border-thin);border-radius:var(--radius-md);font-size:var(--fs-xs);text-align:left;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:2px 8px;padding:7px 8px;display:grid}.tweak-panel-action svg{color:var(--color-text-muted);grid-row:1/span 2}.tweak-panel-action small{color:var(--color-text-subtle)}.tweak-panel-action:hover:not(:disabled),.tweak-panel-action:focus-visible{background:var(--color-surface-hover);border-color:var(--color-border-strong);outline:none}.workspace.no-sidebar{--sidebar-col-w:0px;grid-template-columns:minmax(0,1fr)}.palette-float:has(.view-mode-bar){align-items:flex-end;inset:auto auto 10px 50%;transform:translate(-50%)}.view-mode-bar{background:var(--color-surface);border:var(--border-thin);border-radius:var(--radius-md);align-items:center;gap:2px;padding:4px;display:flex}.view-mode-button{min-width:30px;min-height:28px;color:var(--color-text-muted);border-radius:var(--radius-sm);font:inherit;font-size:var(--fs-sm);cursor:pointer;transition:color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out);background:0 0;border:0;justify-content:center;align-items:center;gap:6px;padding:0 7px;display:inline-flex}.view-mode-button:hover{color:var(--color-text);background:var(--color-surface-hover)}.view-mode-button.active{color:var(--color-accent-hi);background:var(--color-accent-dim)}.view-mode-button.open{color:var(--color-text);background:var(--color-surface-hover)}.view-mode-button.wide{padding-inline:10px}.view-mode-divider{background:var(--color-border);align-self:stretch;width:1px;margin-inline:3px}.view-mode-views-anchor{display:inline-flex;position:relative}.view-mode-views-panel{z-index:var(--z-viewer-overlay);background:var(--color-surface);border:var(--border-thin);border-radius:var(--radius-md);grid-template-columns:repeat(2,1fr);gap:2px;padding:4px;display:grid;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.view-mode-views-panel button{min-width:66px;min-height:26px;color:var(--color-text-muted);background:var(--color-surface-2);border:var(--border-thin);border-radius:var(--radius-sm);font:inherit;font-size:var(--fs-sm);cursor:pointer;padding:0 8px}.view-mode-views-panel button:hover{color:var(--color-text);background:var(--color-surface-hover)}.view-mode-view-wide{grid-column:1/-1}.viewer-shell.view-mode .selection-chip{bottom:52px}.toast.above-view-bar{bottom:88px}.view-mode-rail{z-index:var(--z-viewer-overlay);background:var(--color-surface);border:var(--border-thin);border-radius:var(--radius-md);flex-direction:column;width:208px;max-height:calc(100% - 68px);display:flex;position:absolute;top:10px;left:10px}.view-mode-rail-head{align-items:center;gap:var(--sp-2);border-bottom:var(--border-thin);padding:7px 6px 7px 10px;display:flex}.view-mode-rail-head h2{color:var(--color-text-subtle);font-family:var(--font-mono);font-size:var(--fs-mini);font-weight:var(--fw-medium);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;margin:0}.view-mode-rail-count{color:var(--color-text-subtle);font-family:var(--font-mono);font-size:var(--fs-mini)}.view-mode-rail-collapse{width:22px;height:22px;color:var(--color-text-muted);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:0;place-items:center;margin-left:auto;display:inline-grid}.view-mode-rail-collapse:hover{color:var(--color-text);background:var(--color-surface-hover)}.view-mode-rail-list{min-height:0;padding:4px;overflow-y:auto}.view-mode-rail-empty{color:var(--color-text-subtle);font-size:var(--fs-xs);margin:0;padding:6px}.view-mode-rail-row{border-radius:var(--radius-sm);align-items:center;gap:1px;display:flex}.view-mode-rail-row:hover{background:var(--color-surface-hover)}.view-mode-rail-row.selected{background:var(--color-accent-dim);box-shadow:inset 2px 0 0 var(--color-accent)}.view-mode-rail-row.hidden-body .view-mode-rail-label{color:var(--color-text-subtle);font-style:italic}.view-mode-rail-name{min-width:0;min-height:26px;color:var(--color-text);font:inherit;font-size:var(--fs-sm);text-align:left;cursor:pointer;background:0 0;border:0;flex:auto;align-items:center;gap:7px;padding:0 4px 0 6px;display:inline-flex}.view-mode-rail-swatch{border-radius:var(--radius-sm);flex:none;width:9px;height:9px;box-shadow:inset 0 0 0 1px #00000059}.view-mode-rail-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.view-mode-rail-action{width:22px;height:22px;color:var(--color-text-subtle);border-radius:var(--radius-sm);opacity:0;cursor:pointer;transition:opacity var(--dur-fast) var(--ease-out);background:0 0;border:0;flex:none;place-items:center;display:inline-grid}.view-mode-rail-row:hover .view-mode-rail-action,.view-mode-rail-row.selected .view-mode-rail-action,.view-mode-rail-action:focus-visible,.view-mode-rail-action.is-hidden{opacity:1}.view-mode-rail-action:hover{color:var(--color-text);background:var(--color-surface-2)}.view-mode-rail-action.is-hidden{color:var(--color-accent)}.view-mode-rail-foot{min-height:calc(2 * var(--lh-tight) * var(--fs-mini) + 13px);border-top:var(--border-thin);color:var(--color-text-subtle);font-size:var(--fs-mini);line-height:var(--lh-tight);padding:6px 10px 7px}.view-mode-rail-foot button{color:var(--color-accent);font:inherit;font-size:var(--fs-xs);cursor:pointer;background:0 0;border:0;padding:0}.view-mode-rail-foot button:hover{color:var(--color-accent-hi);text-decoration:underline}.view-mode-rail-launcher{z-index:var(--z-viewer-overlay);min-height:28px;color:var(--color-text-muted);background:var(--color-surface);border:var(--border-thin);border-radius:var(--radius-md);font:inherit;font-size:var(--fs-sm);font-variant-numeric:tabular-nums;cursor:pointer;align-items:center;gap:6px;padding:0 9px;display:inline-flex;position:absolute;top:10px;left:10px}.view-mode-rail-launcher:hover{color:var(--color-text);background:var(--color-surface-hover)}.measurement-dock{z-index:var(--z-viewer-overlay);background:color-mix(in srgb, var(--color-surface) 96%, transparent);border:var(--border-thin);border-radius:var(--radius-md);backdrop-filter:blur(12px);flex-direction:column;width:min(320px,100% - 20px);max-height:calc(100% - 150px);display:flex;position:absolute;top:92px;right:10px;overflow:hidden;box-shadow:0 12px 30px #00000038}.measurement-dock-head{color:var(--color-text-subtle);border-bottom:var(--border-thin);align-items:center;gap:7px;padding:7px 8px 7px 10px;display:flex}.measurement-dock-head h2{color:var(--color-text-subtle);font-family:var(--font-mono);font-size:var(--fs-mini);font-weight:var(--fw-medium);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;margin:0}.measurement-dock-clear{color:var(--color-text-muted);border-radius:var(--radius-sm);font:inherit;font-size:var(--fs-mini);cursor:pointer;background:0 0;border:0;margin-left:auto;padding:2px 5px}.measurement-mode-tabs{grid-template-columns:repeat(3,1fr);gap:3px;padding:7px 8px 0;display:grid}.measurement-mode-tabs button,.measurement-radial-toggle button{min-height:28px;color:var(--color-text-muted);background:var(--color-surface-2);border:var(--border-thin);border-radius:var(--radius-sm);font:inherit;font-size:var(--fs-xs);cursor:pointer}.measurement-mode-tabs button:hover,.measurement-mode-tabs button.active,.measurement-radial-toggle button:hover,.measurement-radial-toggle button.active{color:var(--color-accent-hi);background:var(--color-accent-dim);border-color:var(--color-accent-border)}.measurement-dock-instruction{min-height:calc(2 * var(--lh-normal) * var(--fs-xs) + 14px);color:var(--color-text-subtle);font-size:var(--fs-xs);line-height:var(--lh-normal);margin:0;padding:7px 10px}.measurement-display-controls{border-bottom:var(--border-thin);grid-template-columns:1fr 1fr auto;align-items:end;gap:6px;padding:0 8px 8px;display:grid}.measurement-display-controls label{color:var(--color-text-subtle);font-size:var(--fs-mini);gap:3px;display:grid}.measurement-display-controls select,.measurement-row-editor input{min-width:0;min-height:28px;color:var(--color-text);background:var(--color-surface-2);border:var(--border-thin);border-radius:var(--radius-sm);font:inherit;font-size:var(--fs-xs);padding:3px 6px}.measurement-display-controls select:focus-visible,.measurement-row-editor input:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.measurement-radial-toggle{grid-template-columns:repeat(2,30px);gap:3px;display:grid}.measurement-dock-clear:hover{color:var(--color-text);background:var(--color-surface-hover)}.measurement-dock-empty{color:var(--color-text-subtle);font-size:var(--fs-xs);line-height:var(--lh-normal);margin:0;padding:9px 10px 10px}.measurement-dock-list{min-height:0;overflow-y:auto}.measurement-row{border-bottom:1px solid color-mix(in srgb, var(--color-border) 55%, transparent);grid-template-columns:minmax(0,1fr) auto;align-items:stretch;display:grid}.measurement-row:last-child{border-bottom:0}.measurement-row.active{box-shadow:inset 2px 0 0 var(--color-accent);background:color-mix(in srgb, var(--color-accent-dim) 55%, transparent)}.measurement-row.stale{background:color-mix(in srgb, var(--color-warning) 5%, transparent)}.measurement-row-main{text-align:left;min-width:0;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;gap:3px;padding:8px 4px 8px 10px;display:grid}.measurement-row-main:hover{background:color-mix(in srgb, var(--color-surface-hover) 60%, transparent)}.measurement-row-main:focus-visible,.measurement-row-actions button:focus-visible,.measurement-dock-foot button:focus-visible,.measurement-mode-tabs button:focus-visible,.measurement-radial-toggle button:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.measurement-row-heading{align-items:center;gap:5px;min-width:0;display:flex}.measurement-row-label{min-width:0;color:var(--color-text-muted);font-size:var(--fs-xs);text-overflow:ellipsis;white-space:nowrap;flex:auto;overflow:hidden}.measurement-row-value{color:var(--color-accent-hi);font-family:var(--font-mono);font-size:var(--fs-md);font-variant-numeric:tabular-nums}.measurement-row-note{color:var(--color-text-subtle);font-size:var(--fs-mini);line-height:var(--lh-normal)}.measurement-row-user-note{color:var(--color-text-muted);font-size:var(--fs-xs);font-style:italic}.measurement-quality,.measurement-status{border:1px solid color-mix(in srgb, currentColor 28%, transparent);font-family:var(--font-mono);font-size:var(--fs-mini);text-transform:uppercase;border-radius:999px;flex:none;padding:1px 4px;line-height:14px}.measurement-quality.exact-analytic,.measurement-quality.exact-kernel{color:var(--color-success)}.measurement-quality.tessellated{color:var(--color-text-muted)}.measurement-quality.sampled,.measurement-status.stale{color:var(--color-warning)}.measurement-quality.unavailable,.measurement-status.unresolved{color:var(--color-error)}.measurement-row-actions{border-left:1px solid color-mix(in srgb, var(--color-border) 45%, transparent);flex-direction:column;justify-content:center;align-items:stretch;width:31px;padding:4px 3px;display:flex}.measurement-row-actions button{min-width:24px;min-height:24px;color:var(--color-text-subtle);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.measurement-row-actions button:hover{color:var(--color-text);background:var(--color-surface-hover)}.measurement-row-editor{grid-column:1/-1;gap:6px;padding:8px;display:grid}.measurement-row-editor label{color:var(--color-text-subtle);font-size:var(--fs-mini);grid-template-columns:34px minmax(0,1fr);align-items:center;gap:6px;display:grid}.measurement-row-editor-actions{justify-content:flex-end;gap:5px;display:flex}.measurement-row-editor-actions button{min-height:26px;color:var(--color-text-muted);background:var(--color-surface-2);border:var(--border-thin);border-radius:var(--radius-sm);font:inherit;font-size:var(--fs-xs);cursor:pointer;align-items:center;gap:4px;padding:2px 7px;display:inline-flex}.measurement-row-editor-actions button:hover:not(:disabled){color:var(--color-text);background:var(--color-surface-hover)}.measurement-dock-foot{gap:var(--sp-1);border-top:var(--border-thin);padding:6px;display:flex}.measurement-dock-foot button{min-height:24px;color:var(--color-text-muted);background:var(--color-surface-2);border:var(--border-thin);border-radius:var(--radius-sm);font:inherit;font-size:var(--fs-xs);cursor:pointer;flex:auto;justify-content:center;align-items:center;gap:5px;display:inline-flex}.measurement-dock-foot button:hover{color:var(--color-text);background:var(--color-surface-hover)}@media (width<=620px){.mode-switch-option{padding-inline:8px}.mode-switch-option .mode-switch-label{display:none}.workspace.no-sidebar,.workspace.no-sidebar.with-assistant{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.palette-float:has(.view-mode-bar){bottom:6px}.view-mode-rail{width:168px;max-height:44%;top:6px;left:6px}.view-mode-rail-launcher{top:6px;left:6px}.measurement-dock{width:auto;max-height:40%;inset:auto 6px 52px}}.measure-preview-chip{z-index:calc(var(--z-viewer-overlay) + 1);color:var(--color-text);border:var(--border-thin);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--fs-xs);white-space:nowrap;pointer-events:none;user-select:none;background:#08121ed1;padding:2px 7px;position:absolute}
