.model-json-dialog.material-stock-dialog{grid-template-rows:auto auto minmax(0,1fr);gap:0;width:min(510px,100vw - 32px);padding:0;overflow:hidden}.material-stock-dialog-heading{padding:18px 18px 0}.material-stock-dialog-heading h2{letter-spacing:-.01em;font-size:1.1rem}.material-stock-dialog-intro{max-width:46ch;color:var(--text-muted);margin:5px 18px 14px;font-size:.82rem;line-height:1.45}.material-stock-preset-list{margin:0;padding:0 10px 10px;list-style:none;display:grid;overflow-y:auto}.material-stock-preset-list li{border-top:1px solid var(--line-soft,var(--line));min-width:0}.material-stock-choice{width:100%;min-height:68px;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;grid-template-columns:48px minmax(0,1fr) 18px;align-items:center;gap:12px;padding:9px 8px;transition:background-color .14s,transform .14s;display:grid}.material-stock-choice:hover{background:var(--selected-bg)}.material-stock-choice:active{transform:translateY(1px)}.material-stock-choice:focus-visible{outline:2px solid var(--focus,var(--selection));outline-offset:-2px}.material-stock-preset-swatch{border:1px solid color-mix(in srgb, var(--line) 72%, transparent);background-position:50%;background-size:cover;border-radius:5px;width:48px;height:48px;box-shadow:inset 0 0 0 1px #ffffff38,0 2px 7px #15302d1f}.material-stock-preset-copy{gap:3px;min-width:0;display:grid}.material-stock-preset-name{text-overflow:ellipsis;white-space:nowrap;font-size:.87rem;font-weight:680;line-height:1.25;overflow:hidden}.material-stock-preset-copy small{color:var(--text-muted);font-size:.73rem;line-height:1.35}.material-stock-preset-chevron{width:16px;color:var(--text-muted);transition:transform .14s}.material-stock-choice:hover .material-stock-preset-chevron,.material-stock-choice:focus-visible .material-stock-preset-chevron{color:var(--text);transform:translate(2px)}@media (width<=520px){.material-stock-dialog-heading{padding-inline:14px}.material-stock-dialog-intro{margin-inline:14px}.material-stock-preset-list{padding-inline:6px}.material-stock-choice{grid-template-columns:42px minmax(0,1fr) 16px;gap:10px}.material-stock-preset-swatch{width:42px;height:42px}}@media (prefers-reduced-motion:reduce){.material-stock-choice,.material-stock-preset-chevron{transition:none}}:root{--petrol:#1d3f3c;--petrol-deep:#15302d;--petrol-soft:#2c5d57;--petrol-200:#bcd2ce;--petrol-tint:#e7efed;--coral:#c75b42;--coral-deep:#a8472f;--coral-tint:#f6e2db;--brass:#b8862f;--brass-deep:#8c6420;--sage:#8a9b7e;--sage-deep:#5f7d52;--cyan:#2f9aa6;--cyan-bright:#34a7b2;--greyboard:#cfc8ba;--kraft:#cbb89d;--cream:#f4efe6;--paper:#fbf8f2;--paper-2:#efe8dc;--ink:#22312f;--ink-2:#3f4a47;--ink-soft:#5c5f5a;--ink-faint:#8a8d86;--bg:#ece5d7;--surface:#fbf8f2;--surface-sunk:#f1ebe0;--surface-raised:#fff;--line:#ddd4c4;--line-strong:#cabfa8;--overlay:#15302d6b;--viewport:#15302d;--viewport-2:#1c3b37;--viewport-grid:#7fb7b324;--viewport-ink:#e8efe9;--preview-bg:#ebe8e1;--preview-bg-deep:#ddd8ce;--floating-surface:#fbf8f2eb;--floating-line:#76674e3d;--floating-shadow:0 8px 24px -12px #15302d6b;--selection:#2f9aa6;--selection-bright:#72d0d8;--selection-context:#2f9aa6a8;--selection-fill:#2f9aa642;--selection-glow:#34a7b25c;--selection-casing:#122b28e6;--invalid-canvas:#f27961;--canvas-label:#15302d;--canvas-label-muted:#15302db8;--canvas-label-casing:#fbf8f2f0;--cutting-mat:#195f58;--cutting-guide:#dbc866;--text:#22312f;--text-muted:#5c5f5a;--text-faint:#8a8d86;--text-on-dark:#f4efe6;--text-on-accent:#fff;--text-on-cta:#fff;--action:#1d3f3c;--action-hover:#15302d;--accent:#b94e34;--accent-hover:#a8472f;--focus:#1d6571;--selected-bg:#e7efed;--selected-border:#1d3f3c;--danger:#b23a2a;--danger-strong:#8f2c1e;--danger-bg:#f6e1db;--warning:#946410;--warning-strong:#6f4a0c;--warning-bg:#f4e8ce;--success:#4f7345;--success-strong:#3a5733;--success-bg:#e3ecdd;--info:#268391;--info-strong:#1d6571;--info-bg:#d9edef;--font-display:"Fraunces",Georgia,"Times New Roman",serif;--font-ui:"Hanken Grotesk",ui-sans-serif,system-ui,-apple-system,sans-serif;--font-mono:"Spline Sans Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--text-2xs:.6875rem;--text-xs:.75rem;--text-sm:.8125rem;--text-base:.9375rem;--text-md:1.0625rem;--text-lg:1.375rem;--text-xl:1.875rem;--text-2xl:2.5rem;--leading:1.5;--leading-tight:1.18;--weight-reg:400;--weight-med:500;--weight-semi:600;--weight-bold:700;--tracking-label:.06em;--tracking-eyebrow:.16em;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:40px;--space-8:56px;--radius-xs:4px;--radius-sm:6px;--radius:8px;--radius-lg:12px;--radius-pill:999px;--border:1px solid var(--line);--border-strong:1px solid var(--line-strong);--control-h-sm:26px;--control-h:32px;--control-h-lg:40px;--shadow-1:0 1px 2px #15302d1a;--shadow-2:0 6px 18px -8px #15302d4d;--shadow-3:0 18px 44px -16px #15302d6b;--ring:0 0 0 3px color-mix(in srgb, var(--focus) 42%, transparent);--ease:cubic-bezier(.2,.7,.2,1);--ease-out:cubic-bezier(.16,1,.3,1);--dur-fast:.11s;--dur:.16s;--dur-slow:.24s}[data-theme=dark]{--petrol-tint:#203c37;--petrol-deep:#dbe8e4;--ink:#e9efe9;--ink-2:#cbd8d2;--ink-soft:#a7b4ad;--ink-faint:#76847d;--bg:#11201d;--surface:#19302c;--surface-sunk:#142824;--surface-raised:#1f3a35;--line:#2b443f;--line-strong:#37544e;--overlay:#06100e99;--preview-bg:#132521;--preview-bg-deep:#0d1b18;--floating-surface:#19302cf0;--floating-line:#759a9147;--floating-shadow:0 10px 26px -12px #000000b8;--selection:#4bb8c4;--selection-bright:#79d8df;--selection-context:#4bb8c4b3;--selection-fill:#4bb8c43d;--selection-glow:#5cc0cc61;--selection-casing:#030e0cf0;--invalid-canvas:#ff8a72;--canvas-label:#15302d;--canvas-label-muted:#15302db8;--canvas-label-casing:#fbf8f2f0;--cutting-mat:#123f3a;--cutting-guide:#d9c768;--text:#e9efe9;--text-muted:#a7b4ad;--text-faint:#76847d;--text-on-dark:#f4efe6;--text-on-cta:#11201d;--action:#3f7f76;--action-hover:#4c958b;--accent:#d96a4e;--accent-hover:#e58061;--focus:#34a7b2;--selected-bg:#21433d;--selected-border:#4c958b;--danger:#e07a63;--danger-strong:#ffb4a4;--danger-bg:#3a211c;--warning:#d2a24f;--warning-strong:#f2c56f;--warning-bg:#352a14;--success:#8bb079;--success-strong:#b7d5a8;--success-bg:#203020;--info:#5cc0cc;--info-strong:#8fdbe2;--info-bg:#163034;--shadow-1:0 1px 2px #00000059;--shadow-2:0 8px 22px -8px #0000008c;--shadow-3:0 20px 48px -16px #0009}:root{--selection-green:var(--selection);--selection-green-context:var(--selection-context);--selection-green-fill:var(--selection-fill);--selection-green-glow:var(--selection-glow)}*{box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--font-ui);background:var(--bg);color:var(--text);margin:0}button,input,select,textarea{font:inherit}button,input,select{border-radius:6px}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.app-shell{grid-template-rows:auto minmax(0,1fr);min-height:100dvh;display:grid}.auth-shell{isolation:isolate;background:linear-gradient(90deg, #07191738, #0719170f 48%, transparent 70%), url(/assets/hero-full-ClpTxeWu.jpg) center / cover no-repeat, var(--viewport);grid-template-columns:minmax(0,1fr) minmax(400px,520px);min-height:100dvh;display:grid;position:relative}.auth-shell:after{content:"";z-index:-1;pointer-events:none;background:linear-gradient(#081c1908,#081c195c);position:absolute;inset:0}.auth-panel{border:0;border-left:1px solid color-mix(in srgb, var(--line-strong) 72%, transparent);background:color-mix(in srgb, var(--surface) 96%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:0;grid-column:2;align-content:center;gap:22px;width:100%;min-height:100dvh;padding:clamp(36px,6vw,72px);display:grid;box-shadow:-28px 0 80px #07191733}.auth-panel h1{color:var(--text);margin:0;font-size:clamp(28px,3vw,40px);line-height:1.04}.auth-panel h2{color:var(--text-muted);margin:0;font-size:14px;font-weight:600;line-height:1.25}.auth-panel p,.entry-heading p{color:var(--text-muted);margin:0;font-size:15px;line-height:1.45}.brand-lockup{width:max-content;color:var(--petrol);align-items:center;gap:10px;display:inline-flex}.brand-mark{flex:none;width:34px;height:34px;overflow:visible}.brand-mark-body{fill:currentColor}.brand-mark-lip{fill:var(--coral)}.brand-mark-fold{stroke:var(--cyan-bright)}.brand-mark-pin{fill:var(--brass)}.brand-lockup-name{color:var(--text);font-family:var(--font-display);letter-spacing:-.01em;font-size:20px;font-weight:500}.entry-heading{gap:8px;display:grid}.entry-heading .entry-eyebrow{color:var(--info-strong);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:var(--weight-semi);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase}.entry-progress{border-radius:var(--radius-pill);background:var(--line);width:100%;height:2px;overflow:hidden}.entry-progress:after{content:"";border-radius:inherit;background:var(--cyan);width:34%;height:100%;animation:entry-progress 1.1s var(--ease-in-out,ease-in-out) infinite alternate;display:block}.entry-error{border-left:3px solid var(--danger);background:var(--danger-bg);padding:10px 12px;color:var(--danger-strong)!important}.auth-form{gap:14px;display:grid}.auth-form label{color:var(--text-muted);gap:5px;font-size:13px;display:grid}.auth-form input{border:1px solid var(--line-strong);background:var(--surface-raised);width:100%;min-height:44px;color:var(--text);padding:9px 11px}.auth-field-hint{color:var(--text-faint);font-size:11px;line-height:1.3}.auth-inline-action{width:max-content;color:var(--action);cursor:pointer;font-size:12px;font-weight:var(--weight-semi);text-underline-offset:3px;background:0 0;border:0;justify-self:end;margin-top:-8px;padding:2px 0;text-decoration:underline}.auth-inline-action:hover{color:var(--action-hover)}.entry-notice{border-left:3px solid var(--success);background:var(--success-bg);padding:10px 12px;color:var(--success-strong)!important;font-size:13px!important}.auth-actions{grid-template-columns:1fr;gap:8px;display:grid}.auth-actions button{border:1px solid var(--line);background:var(--surface);min-height:42px;color:var(--text);cursor:pointer;border-radius:6px}.auth-actions .auth-primary-action{border-color:var(--accent);background:var(--accent);color:var(--text-on-cta);font-weight:var(--weight-semi);box-shadow:0 8px 20px -12px color-mix(in srgb, var(--accent) 72%, transparent);justify-content:center;align-items:center;gap:8px;display:inline-flex}.auth-actions .auth-primary-action svg{width:17px;height:17px}.auth-actions .auth-primary-action:hover,.auth-actions .auth-primary-action:focus-visible{border-color:var(--accent-hover);background:var(--accent-hover);color:var(--text-on-cta)}.auth-mode-switch{border-top:1px solid var(--line);text-align:center;padding-top:4px;font-size:13px!important}.auth-mode-switch button{color:var(--action);cursor:pointer;font-weight:var(--weight-semi);text-underline-offset:3px;background:0 0;border:0;padding:2px;text-decoration:underline}.auth-actions button:hover,.auth-actions button:focus-visible{background:var(--selected-bg);color:var(--petrol-deep)}.auth-actions button:disabled{color:var(--text-faint);cursor:not-allowed;opacity:.62}.project-start-panel{align-content:start;width:100%;overflow:hidden}.project-start-account{border-bottom:1px solid var(--line);color:var(--text-muted);justify-content:space-between;align-items:center;gap:12px;padding-bottom:10px;font-size:12px;display:flex}.project-start-account>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.project-start-account button{min-height:34px;color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;flex:none;align-items:center;gap:6px;padding:0 8px;display:inline-flex}.project-start-account button:hover{border-color:var(--line);background:var(--surface-sunk);color:var(--text)}.project-start-account svg{width:15px;height:15px}.project-start-panel .auth-actions{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.project-start-list{border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:0;max-height:min(58vh,560px);display:grid;overflow:auto}.project-start-list .project-start-row{border:0;border-bottom:1px solid var(--line);min-height:66px;color:var(--text);text-align:left;cursor:pointer;background:0 0;border-radius:0;grid-template-columns:42px minmax(0,1fr) 18px;align-items:center;gap:12px;padding:10px 4px;display:grid}.project-start-list .project-start-row:last-child{border-bottom:0}.project-start-list .project-start-row:hover,.project-start-list .project-start-row:focus-visible{background:color-mix(in srgb, var(--selected-bg) 78%, transparent);color:var(--petrol-deep)}.project-start-list button:disabled{color:var(--text-faint);cursor:not-allowed;opacity:.62}.project-start-row-mark{border-radius:var(--radius);background:var(--surface-sunk);width:42px;height:42px;color:var(--petrol-soft);place-items:center;display:grid}.project-start-row-mark svg{stroke-width:1.6px;width:22px;height:22px}.project-start-row-copy{gap:3px;min-width:0;display:grid}.project-start-row-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:var(--weight-semi);overflow:hidden}.project-start-row-copy time,.project-start-row-copy>span{color:var(--text-muted);font-size:12px;line-height:1.3}.project-start-row-arrow{width:16px;height:16px;color:var(--text-faint);transition:transform var(--dur) var(--ease), color var(--dur) var(--ease)}.project-start-row:hover .project-start-row-arrow,.project-start-row:focus-visible .project-start-row-arrow{color:var(--action);transform:translate(3px)}.project-start-empty{color:var(--text-muted);justify-items:start;gap:5px;padding:22px 0;display:grid}.project-start-empty>svg{width:24px;height:24px;color:var(--cyan)}.project-start-empty p{font-weight:var(--weight-semi);color:var(--text)!important}.project-start-empty span{font-size:12px}.oauth-client-summary,.oauth-detail-list,.oauth-scope-list{margin:0}.oauth-client-summary{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:42px minmax(0,1fr);align-items:center;gap:11px;padding:12px 0;display:grid}.oauth-client-mark{background:var(--petrol-tint);width:42px;height:42px;color:var(--petrol);border-radius:50%;place-items:center;display:grid}.oauth-client-mark svg{width:20px;height:20px}.oauth-client-summary>span:last-child{gap:3px;min-width:0;display:grid}.oauth-client-summary strong{color:var(--text);font-weight:650}.oauth-client-summary a{width:max-content;max-width:100%;color:var(--action);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.oauth-permissions{gap:8px;display:grid}.oauth-permissions h2{color:var(--text);font-family:var(--font-ui);font-size:13px;font-weight:var(--weight-semi);margin:0}.oauth-detail-list{gap:9px;padding-top:9px;display:grid}.oauth-detail-list div{gap:3px;display:grid}.oauth-detail-list dt{color:var(--text-muted);font-size:12px}.oauth-detail-list dd{overflow-wrap:anywhere;color:var(--text);font-size:13px;font-family:var(--font-mono);margin:0}.oauth-scope-list{gap:0;padding:0;list-style:none;display:grid}.oauth-scope-list li{border-bottom:1px solid var(--line);min-height:36px;color:var(--text);grid-template-columns:18px minmax(0,1fr);align-items:center;gap:8px;padding:7px 0;font-size:13px;display:grid}.oauth-scope-list li:last-child{border-bottom:0}.oauth-scope-list svg{width:16px;height:16px;color:var(--success)}.oauth-trust-note{border-left:3px solid var(--cyan);background:var(--selected-bg);padding:9px 11px;color:var(--text-muted)!important;font-size:12px!important}.oauth-technical-details{border-top:1px solid var(--line);padding-top:2px}.oauth-technical-details summary{color:var(--text-muted);cursor:pointer;font-size:12px;font-weight:var(--weight-semi);padding:8px 0 0}.auth-actions .oauth-deny-action{color:var(--text-muted);box-shadow:none;background:0 0;border-color:#0000}.topbar{border-bottom:1px solid var(--line);background:var(--surface);align-items:center;gap:8px;min-height:44px;padding:6px 10px;display:flex}.topbar-brand{flex:auto;align-items:center;gap:8px;min-width:72px;display:flex}.topbar-brand .brand-lockup{flex:none}.topbar-brand .brand-mark{width:25px;height:25px}.topbar h1{text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;font-size:16px;line-height:1.2;overflow:hidden}.inspector-pane button:not(.tool-button){border:1px solid var(--line);background:var(--surface);cursor:pointer;padding:6px 10px}.segmented-control button[aria-pressed=true],.preset-row button[aria-pressed=true],.side-list-button[aria-pressed=true],.direction-control button[aria-pressed=true]{border-color:var(--action);background:var(--selected-bg);color:var(--petrol-deep)}.tool-button{border:1px solid var(--floating-line);background:var(--floating-surface);width:32px;height:32px;color:var(--ink-2);cursor:pointer;border-radius:6px;place-items:center;padding:0;display:inline-grid;position:relative}.tool-button:not(:disabled):hover{background:var(--petrol-tint);color:var(--petrol-deep)}.tool-button[aria-pressed=true],.tool-button[aria-expanded=true]{border-color:var(--action);background:var(--selected-bg);color:var(--petrol-deep)}.tool-button:disabled{background:var(--floating-surface);color:var(--text-faint);cursor:not-allowed;opacity:.45}.tool-button-icon{place-items:center;width:18px;height:18px;display:grid}.tool-button-icon svg{stroke-width:2px;width:18px;height:18px}.tool-button-icon--spin{animation:.9s linear infinite toolbar-spin}.tool-button:after{content:attr(data-tooltip);z-index:30;background:color-mix(in srgb, var(--ink) 94%, transparent);width:max-content;max-width:240px;color:var(--surface-raised);overflow-wrap:anywhere;white-space:normal;opacity:0;pointer-events:none;border:1px solid #22312f2e;border-radius:5px;padding:5px 7px;font-size:12px;line-height:1.25;transition:opacity .1s,transform .1s;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%,-3px)}.tool-button:hover:after,.tool-button:focus-visible:after{opacity:1;transform:translate(-50%)}.tool-button[aria-expanded=true]:after{opacity:0;pointer-events:none;transform:translate(-50%,-3px)}.segmented-control{border:1px solid var(--line);background:var(--surface);border-radius:7px;display:inline-flex;overflow:hidden}.segmented-control button{border:0;border-right:1px solid var(--line);border-radius:0}.segmented-control button:last-child{border-right:0}.topbar-actions{flex:0 auto;align-items:center;gap:6px;min-width:0;margin-left:auto;display:inline-flex}.topbar-history-controls{align-items:center;gap:6px;display:inline-flex}.history-split-control{align-items:stretch;display:inline-flex;position:relative}.history-split-main-button{border-top-right-radius:0;border-bottom-right-radius:0}.history-split-menu-button{border-top-left-radius:0;border-bottom-left-radius:0;width:26px;margin-left:-1px}.history-split-menu-button .tool-button-icon,.history-split-menu-button .tool-button-icon svg{width:14px;height:14px}.history-action-panel{z-index:25;background:var(--surface);border:1px solid #cabfa857;border-radius:8px;width:min(260px,100vw - 20px);padding:8px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 14px 36px #22312f29}.history-action-list{gap:4px;max-height:260px;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.history-action-list button{border:1px solid var(--line);background:var(--surface);width:100%;min-width:0;color:var(--text);text-align:left;cursor:pointer;border-radius:5px;padding:7px 8px;display:grid}.history-action-list button:hover,.history-action-list button:focus-visible{background:var(--selected-bg);color:var(--petrol-deep)}.history-action-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;font-weight:650;overflow:hidden}.topbar-divider{background:#cabfa847;width:1px;height:24px;margin:0 2px}.project-menu{align-items:center;gap:6px;min-width:0;display:inline-flex;position:relative}.fixture-menu,.account-menu{position:relative}.project-menu-summary{width:min(28vw,240px);min-width:88px;color:var(--ink-2);gap:1px;display:grid}.project-menu-title{width:100%;min-width:0;color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:4px;padding:1px 3px;font-size:13px;font-weight:650;line-height:1.15;overflow:hidden}.project-menu-title:not(:disabled):hover,.project-menu-title:focus-visible{border-color:var(--petrol-200);background:var(--surface-sunk)}.project-menu-title:disabled{opacity:.72}.project-menu-status{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-muted);font-size:11px;line-height:1.15;overflow:hidden}.project-menu-status--saving{color:var(--warning-strong)}.project-menu-status--ready,.project-menu-status--saved,.project-menu-status--remote{color:var(--success-strong)}.project-menu-status--error{color:var(--danger)}.project-menu-panel{z-index:25;background:var(--surface);border:1px solid #cabfa857;border-radius:8px;gap:8px;width:min(360px,100vw - 20px);padding:10px;display:grid;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 14px 36px #22312f29}.fixture-menu-panel{z-index:25;background:var(--surface);border:1px solid #cabfa857;border-radius:8px;gap:4px;width:min(320px,100vw - 20px);padding:8px;display:grid;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 14px 36px #22312f29}.account-menu-panel{z-index:25;background:var(--surface);border:1px solid #cabfa857;border-radius:8px;gap:8px;width:260px;padding:10px;display:grid;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 14px 36px #22312f29}.project-menu-action,.project-menu-list button{border:1px solid var(--line);background:var(--surface);min-height:32px;color:var(--text);cursor:pointer;border-radius:5px}.project-menu-action:hover,.project-menu-action:focus-visible,.project-menu-list button:hover,.project-menu-list button:focus-visible{background:var(--selected-bg);color:var(--petrol-deep)}.project-menu-action:disabled,.project-menu-list button:disabled{opacity:.58;cursor:not-allowed}.project-menu-action{justify-content:center;align-items:center;gap:7px;width:100%;padding:6px 10px;font-weight:650;display:inline-flex}.project-menu-action-icon{flex:none;width:16px;height:16px}.project-menu-error,.project-menu-muted{margin:0;font-size:12px;line-height:1.35}.project-menu-error{color:var(--danger)}.project-menu-muted{color:var(--text-muted)}.project-menu-list{gap:4px;max-height:220px;display:grid;overflow:auto}.project-menu-list button{text-align:left;text-overflow:ellipsis;white-space:nowrap;min-width:0;padding:6px 8px;overflow:hidden}.project-menu-list button[aria-current=true]{border-color:var(--action);background:var(--selected-bg);color:var(--petrol-deep);font-weight:650}.account-summary{gap:8px;display:grid}.account-summary p,.account-muted,.account-error{overflow-wrap:anywhere;margin:0;font-size:13px;line-height:1.35}.account-muted{color:var(--text-muted)}.account-error{color:var(--danger)}.account-form{gap:8px;display:grid}.account-form label{color:var(--text-muted);gap:4px;font-size:12px;display:grid}.account-form input{border:1px solid var(--line);background:var(--surface);width:100%;min-height:30px;color:var(--text);padding:5px 7px}.account-form-actions{grid-template-columns:1fr 1fr;gap:6px;display:grid}.account-menu-panel button{border:1px solid var(--line);background:var(--surface);min-height:30px;color:var(--text);cursor:pointer;border-radius:5px}.account-menu-panel button:hover,.account-menu-panel button:focus-visible{background:var(--selected-bg);color:var(--petrol-deep)}.fixture-menu-panel button{min-height:30px;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:5px}.fixture-menu-panel button:hover,.fixture-menu-panel button:focus-visible{background:var(--selected-bg);color:var(--petrol-deep)}.fixture-menu-confirmation{grid-template-columns:24px minmax(0,1fr);gap:8px;padding:6px;display:grid}.fixture-menu-warning-mark{border-radius:var(--radius-sm);background:var(--warning-bg);width:24px;height:24px;color:var(--warning-strong);place-items:center;display:grid}.fixture-menu-warning-mark svg{width:15px;height:15px}.fixture-menu-confirmation strong{color:var(--text);font-size:var(--text-sm);display:block}.fixture-menu-confirmation p{color:var(--text-muted);font-size:var(--text-xs);margin:3px 0 0;line-height:1.35}.fixture-menu-confirmation-actions{grid-column:1/-1;grid-template-columns:auto minmax(0,1fr);gap:6px;padding-top:4px;display:grid}.fixture-menu-confirmation-actions button{border:1px solid var(--line);background:var(--surface);text-align:center;min-height:34px;padding-inline:10px}.fixture-menu-confirmation-actions .fixture-menu-replace-action{border-color:var(--danger);background:var(--danger-bg);color:var(--danger-strong);font-weight:var(--weight-semi)}@media (width<=760px){.project-menu-summary{width:min(24vw,150px);min-width:64px}}.model-json-backdrop{z-index:40;background:#22312f6b;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal-dialog-backdrop{width:100vw;max-width:none;height:100vh;max-height:none;color:var(--text);border:0;margin:0}.modal-dialog-backdrop::backdrop{background:0 0}.model-json-dialog{border:1px solid var(--line);background:var(--surface);border-radius:8px;grid-template-rows:auto auto minmax(0,1fr) auto;gap:12px;width:min(1120px,100vw - 48px);max-height:calc(100vh - 48px);padding:16px;display:grid;overflow:auto;box-shadow:0 18px 48px #22312f38}.material-stock-dialog{grid-template-rows:auto minmax(0,1fr);width:min(440px,100vw - 48px)}.material-stock-dialog-close:after{display:none}.add-panel-cut-dialog{grid-template-rows:auto auto auto;width:min(520px,100vw - 32px);overflow-x:hidden}.add-panel-cut-form,.add-panel-cut-form .inspector-grid{min-width:0}.add-panel-cut-form .model-json-actions{justify-content:flex-end;margin-top:2px}.add-panel-cut-dialog>.inspector-status{padding-top:2px}@media (width<=520px){.add-panel-cut-form .inspector-grid{grid-template-columns:minmax(0,1fr)}}.settings-dialog{grid-template-rows:auto minmax(0,1fr) auto;gap:0;width:min(520px,100vw - 48px);padding:0;overflow:hidden}.settings-dialog-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:12px;padding:20px 22px 15px;display:flex}.settings-dialog-heading-text{gap:3px;min-width:0;display:grid}.settings-eyebrow{font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:var(--weight-semi);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--text-muted);margin:0}.settings-dialog-heading h2{font-size:var(--text-lg);color:var(--text);margin:0;line-height:1.1}.settings-dialog-body{gap:22px;min-height:0;padding:18px 22px 22px;display:grid;overflow:hidden auto}.settings-section{border:0;gap:9px;min-width:0;margin:0;padding:0;display:grid}.settings-section-label{font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:var(--weight-semi);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ink-soft);margin:0;padding:0}.settings-choice-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;display:grid}.settings-choice,.settings-toggle{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-raised);min-width:0;min-height:56px;color:var(--text);cursor:pointer;transition:border-color var(--dur) var(--ease), background-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);align-items:center;padding:10px 12px;display:grid;position:relative}.settings-choice{grid-template-columns:auto minmax(0,1fr);gap:11px}.settings-toggle{grid-template-columns:auto minmax(0,1fr) auto;gap:12px}.settings-choice:hover,.settings-toggle:hover{border-color:var(--petrol-200)}:is(.settings-choice:has(input:focus-visible),.settings-toggle:has(input:focus-visible)){border-color:var(--focus);box-shadow:var(--ring)}.settings-choice:has(input:checked){border-color:var(--selected-border);background:var(--selected-bg)}.settings-choice-icon{border-radius:var(--radius-sm);background:var(--surface-sunk);width:34px;height:34px;color:var(--text-muted);transition:background-color var(--dur) var(--ease), color var(--dur) var(--ease);place-items:center;display:grid}.settings-choice-icon svg{width:18px;height:18px}.settings-choice:has(input:checked) .settings-choice-icon{background:var(--action);color:var(--text-on-accent)}.settings-choice-text{gap:2px;min-width:0;display:grid}.settings-choice-text strong{font-size:var(--text-sm);font-weight:var(--weight-semi);line-height:1.2}.settings-choice-text small{color:var(--text-muted);font-size:var(--text-xs);line-height:1.3}.settings-choice:has(input:checked) .settings-choice-text small{color:var(--text)}.settings-switch{border-radius:var(--radius-pill);background:var(--line-strong);width:42px;height:24px;transition:background-color var(--dur) var(--ease);position:relative}.settings-switch-thumb{background:var(--surface-raised);width:18px;height:18px;box-shadow:var(--shadow-1);transition:transform var(--dur) var(--ease);border-radius:50%;position:absolute;top:50%;left:3px;transform:translateY(-50%)}.settings-toggle:has(input:checked) .settings-switch{background:var(--action)}.settings-toggle:has(input:checked) .settings-switch-thumb{transform:translate(18px,-50%)}.settings-dialog-status{border-top:1px solid var(--line);background:var(--surface-sunk);color:var(--text-muted);font-size:var(--text-xs);margin:0;padding:12px 22px;line-height:1.3}.material-stock-preset-grid{gap:8px;display:grid}.material-stock-preset-button{border:1px solid var(--line);background:var(--surface-raised);width:100%;color:var(--text);text-align:left;cursor:pointer;border-radius:8px;gap:3px;padding:10px 12px;display:grid}.material-stock-preset-button:hover,.material-stock-preset-button:focus-visible{border-color:var(--petrol-200);background:var(--petrol-tint)}.material-stock-preset-button span{font-weight:700}.material-stock-preset-button small{color:var(--text-muted);text-transform:capitalize}.model-json-heading,.model-json-actions,.model-json-footer{align-items:center;gap:8px;display:flex}.model-json-heading{justify-content:space-between}.model-json-heading h2{margin:0;font-size:16px;line-height:1.3}.model-json-actions{flex-wrap:wrap}.model-json-action-button{border:1px solid var(--line);background:var(--surface);min-height:32px;color:var(--petrol-deep);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;gap:7px;padding:6px 11px;font-weight:650;line-height:1.2;text-decoration:none;display:inline-flex}.model-json-action-button:hover,.model-json-action-button:focus-visible{border-color:var(--petrol-200);background:var(--petrol-tint);color:var(--petrol-deep)}.model-json-action-button:disabled,.model-json-upload.is-disabled{opacity:.58;cursor:not-allowed}.model-json-action-button--primary{border-color:var(--action);background:var(--action);color:var(--surface)}.model-json-action-button--primary:hover,.model-json-action-button--primary:focus-visible{border-color:var(--action-hover);background:var(--action-hover);color:var(--surface)}.model-json-action-icon,.model-json-action-icon svg{flex:none;width:16px;height:16px}.model-json-close-button{flex:none}.model-json-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-height:0;display:grid}.model-json-grid label{min-width:0;min-height:0;color:var(--ink-2);grid-template-rows:auto minmax(280px,1fr);gap:6px;font-size:13px;font-weight:650;display:grid}.model-json-grid textarea{resize:vertical;border:1px solid var(--line);background:var(--surface-raised);width:100%;min-height:280px;color:var(--text);font-family:var(--font-mono);white-space:pre;border-radius:6px;padding:10px;font-size:12px;line-height:1.45;overflow:auto}.model-json-footer{flex-wrap:wrap;align-items:flex-start}.model-json-status{margin:6px 0 0;font-size:13px;font-weight:650}.model-json-status--success{color:var(--success-strong)}.model-json-status--error{color:var(--danger)}.model-json-status--neutral{color:var(--ink-2)}.model-json-issues{color:var(--ink-2);flex-basis:100%;margin:0;padding-left:18px;font-size:12px;line-height:1.4}.model-json-issues code{font-family:var(--font-mono)}@media (width<=760px){.model-json-backdrop{place-items:stretch stretch;padding:12px}.model-json-dialog{width:100%;max-height:calc(100vh - 24px)}.model-json-grid{grid-template-columns:1fr}}.toggle-control{color:var(--ink-2);white-space:nowrap;align-items:center;gap:6px;padding:5px 8px;display:inline-flex}.workspace{grid-template-columns:minmax(0, var(--editor-pane-fr,59fr)) 4px minmax(0, var(--preview-pane-fr,41fr)) 4px var(--sidecar-width,360px);background:var(--surface-sunk);min-height:0;display:grid}.compact-workspace-switcher{display:none}.editor-pane,.preview-pane,.inspector-pane{border-right:1px solid var(--line);background:var(--surface);min-width:0;min-height:0}.workspace-divider,.sidecar-divider{border-right:1px solid var(--line);background:var(--surface-sunk);cursor:col-resize;touch-action:none;min-width:4px;min-height:0;position:relative}.workspace-divider:before,.sidecar-divider:before{content:"";background:var(--text-faint);border-radius:999px;width:1px;height:36px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.workspace-divider:hover,.workspace-divider:focus-visible,.sidecar-divider:hover,.sidecar-divider:focus-visible{background:var(--petrol-tint)}.workspace-divider:focus-visible,.sidecar-divider:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.editor-pane,.preview-pane{place-items:stretch stretch;display:grid;position:relative;overflow:hidden}.editor-pane[data-collapsed=true],.preview-pane[data-collapsed=true]{place-items:stretch stretch;min-width:14px;position:relative;overflow:hidden}.collapsed-pane-handle{z-index:1;border:0;border-right:1px solid var(--line);background:var(--surface-sunk);width:100%;min-width:14px;height:100%;color:var(--ink-2);writing-mode:vertical-rl;text-orientation:mixed;font:inherit;letter-spacing:0;cursor:pointer;font-size:10px;line-height:1;position:relative}.collapsed-pane-handle:hover,.collapsed-pane-handle:focus-visible{background:var(--petrol-tint);outline:2px solid var(--focus);outline-offset:-2px}.sidecar{border-right:1px solid var(--line);background:var(--surface);min-width:0;min-height:0;transition:grid-template-columns var(--dur-slow) var(--ease-out);grid-template-columns:36px minmax(0,1fr);display:grid}.sidecar[data-collapsed=true]{grid-template-columns:36px 0}.sidecar-rail{border-right:1px solid var(--line);background:var(--surface-sunk);flex-direction:column;align-items:center;gap:5px;padding:6px 0;display:flex}.sidecar-rail>.tool-button:last-child{margin-top:auto}.sidecar-rail-divider{background:var(--line);flex:none;width:20px;height:1px;margin:4px 0}.sidecar-content{min-width:0;min-height:0;display:grid;overflow:hidden}.sidecar-panel{height:100%;min-height:0;display:grid}.sidecar-content[hidden],.sidecar-panel[hidden]{display:none}.editor-chrome{z-index:5;pointer-events:none;align-items:flex-start;gap:8px;display:flex;position:absolute;top:10px;left:12px}.pane-toolbar{border:1px solid var(--floating-line);background:var(--floating-surface);box-shadow:var(--floating-shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:auto;border-radius:8px;align-items:center;gap:4px;padding:4px;display:inline-flex}.pane-toolbar-group{align-items:center;gap:.25rem;display:inline-flex}.tool-divider{background:var(--floating-line);width:1px;height:22px;margin:0 2px}.pane-label{border:1px solid var(--floating-line);background:var(--floating-surface);color:var(--ink-2);pointer-events:none;border-radius:6px;padding:3px 8px;font-size:12px;line-height:1.25}.editor-context-chrome{z-index:5;pointer-events:none;justify-items:center;gap:6px;max-width:min(420px,100% - 430px);display:grid;position:absolute;top:56px;left:50%;transform:translate(-50%)}.editor-context-toolbar{pointer-events:auto}.editor-context-status{border:1px solid var(--floating-line);background:var(--floating-surface);max-width:min(320px,100%);box-shadow:var(--floating-shadow);color:var(--text-muted);text-align:center;text-overflow:ellipsis;white-space:nowrap;border-radius:6px;padding:4px 8px;font-size:.78rem;line-height:1.25;overflow:hidden}.editor-context-status--success{color:var(--success)}.editor-context-status--error{color:var(--danger);border-color:#ba38385c}.preview3d-toolbar{z-index:5;position:absolute;top:10px;right:12px}.pane-zoom-controls{z-index:4;position:absolute;top:10px;right:12px}.editor2d-status{z-index:4;border:1px solid var(--warning);background:color-mix(in srgb, var(--warning-bg) 96%, transparent);max-width:min(280px,100% - 24px);color:var(--warning-strong);pointer-events:auto;border-radius:6px;padding:6px 9px;font-size:12px;font-weight:650;line-height:1.25;position:absolute;top:48px;right:12px}.editor2d-status button{border:1px solid var(--warning);background:var(--surface);width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;border-radius:5px;margin-top:6px;padding:5px 8px;display:block}.editor2d-status button:hover{background:var(--warning-bg)}.preview3d-label{z-index:1;position:absolute;top:10px;left:12px}.current-construction-badge{z-index:5;background:var(--floating-surface);max-width:min(260px,100% - 24px);color:var(--ink-2);pointer-events:none;text-overflow:ellipsis;white-space:nowrap;border:1px solid #4e676347;border-radius:6px;padding:4px 8px;font-size:12px;font-weight:650;line-height:1.25;position:absolute;top:auto;bottom:12px;left:12px;overflow:hidden}.preview3d .current-construction-badge{left:auto;right:12px}.preview3d-hover-surface{z-index:3;border:1px solid var(--floating-line);background:var(--floating-surface);max-width:min(360px,100% - 24px);color:var(--ink-2);pointer-events:none;text-overflow:ellipsis;white-space:nowrap;border-radius:6px;padding:5px 8px;font-size:12px;font-weight:650;line-height:1.25;position:absolute;bottom:12px;left:12px;overflow:hidden}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.editor-svg{width:100%;height:100%;min-height:0;color:var(--line);background:var(--surface-raised);touch-action:none;display:block}.editor-svg[data-workspace-background=squareGrid]{color:var(--viewport-grid);background:var(--preview-bg)}.editor-svg[data-workspace-grid-density=far] .editor-grid-minor,.editor-svg[data-workspace-grid-density=far] .editor-grid-mid,.editor-svg[data-workspace-grid-density=far] .editor-grid-diagonal{opacity:0}.editor-svg[data-workspace-grid-density=medium] .editor-grid-minor{opacity:.42}.editor-svg[data-workspace-grid-density=medium] .editor-grid-diagonal{opacity:.34}.editor-svg[data-workspace-grid-density=near] .editor-grid-minor,.editor-svg[data-workspace-grid-density=near] .editor-grid-mid{opacity:1}.editor-svg[data-workspace-grid-density=near] .editor-grid-diagonal{opacity:.62}.editor2d{width:100%;height:100%;min-height:0;position:relative;overflow:hidden}.editor-empty-state{z-index:4;border:1px solid var(--floating-line);border-radius:var(--radius-lg);background:var(--floating-surface);width:min(360px,100% - 48px);box-shadow:var(--shadow-3);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);gap:10px;padding:16px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.editor-empty-state h2,.editor-empty-state p{margin:0}.editor-empty-state h2{font-size:17px;line-height:1.2}.editor-empty-state p{color:var(--text-muted);font-size:13px;line-height:1.35}.editor-empty-state .editor-empty-state-eyebrow{color:var(--petrol-deep);letter-spacing:0;text-transform:uppercase;font-size:11px;font-weight:700}.editor-empty-state-actions{flex-wrap:wrap;gap:8px;display:flex}.preview3d{background:var(--preview-bg);width:100%;height:100%;min-height:320px;position:relative;overflow:hidden}.preview3d-stage{width:100%;height:100%;min-height:0;position:absolute;inset:0}.preview3d-fallback{z-index:1;color:var(--text-muted);text-align:center;place-content:center;justify-items:center;gap:8px;padding:32px;display:grid;position:absolute;inset:0}.preview3d-fallback strong{color:var(--text);font-family:var(--font-display);font-size:17px}.preview3d-fallback span{max-width:340px;font-size:13px;line-height:1.45}.preview3d-fallback-mark{border:1px solid var(--floating-line);background:var(--floating-surface);width:44px;height:44px;color:var(--selection);box-shadow:var(--floating-shadow);border-radius:50%;place-items:center;display:grid}.preview3d-fallback-mark svg{width:21px;height:21px}.preview3d-retry{border:1px solid var(--selection);border-radius:var(--radius-sm);background:var(--floating-surface);min-height:36px;color:var(--text);font:inherit;cursor:pointer;margin-top:4px;padding:0 12px;font-size:13px;font-weight:700}.preview3d-retry:hover{background:var(--selected-bg)}.preview3d-canvas{touch-action:none;width:100%;height:100%;display:block}.preview-capture-shell{background:var(--bg);width:100vw;height:100vh;overflow:hidden}.preview-capture-target{background:var(--bg);position:relative;overflow:hidden}.preview-capture-target .preview3d{min-height:0}.preview-capture-target .pane-toolbar{display:none}.preview-capture-error{color:var(--danger-strong);white-space:pre-wrap;margin:0;padding:16px}.preview3d-surface-labels{z-index:2;pointer-events:none;position:absolute;inset:0;overflow:hidden}.preview3d-surface-label{color:var(--text-on-dark);letter-spacing:0;white-space:nowrap;pointer-events:none;-webkit-user-select:none;user-select:none;visibility:hidden;background:#15302dd1;border:1px solid #fbf8f2b3;border-radius:4px;padding:3px 6px;font-size:11px;font-weight:700;line-height:1.15;position:absolute;top:0;left:0;box-shadow:0 1px 4px #0f172a3d}.preview3d-surface-label--face{background:#1d3f3cd1}.preview3d-surface-label--panel{background:#197158db}.editor-surface{cursor:crosshair}.editor-svg--space-pan .editor-surface,.editor-svg--space-pan .panel-node,.editor-svg--space-pan .structural-stock-node,.editor-svg--space-pan .applied-material-cut-node,.editor-svg--space-pan .edge-hit,.editor-svg--space-pan .seam-edge-handle,.editor-svg--space-pan .seam-mark,.editor-svg--space-pan .seam-hit-path{cursor:grab}.editor-svg--panning,.editor-svg--panning .editor-surface,.editor-svg--panning .panel-node,.editor-svg--panning .structural-stock-node,.editor-svg--panning .applied-material-cut-node,.editor-svg--panning .edge-hit,.editor-svg--panning .seam-edge-handle,.editor-svg--panning .seam-mark,.editor-svg--panning .seam-hit-path{cursor:grabbing}.panel-node{cursor:grab}.panel-node--inactive-construction{opacity:.38}.panel-node--inactive-construction.panel-node--selected,.panel-node--inactive-construction.panel-node--context{opacity:1}.panel-node:active{cursor:grabbing}.panel-node rect{fill:var(--kraft);stroke:none;stroke-width:0;vector-effect:non-scaling-stroke}.panel-node--selected rect{filter:drop-shadow(0 0 4px var(--selection-green-glow));stroke:var(--selection-green);stroke-dasharray:none;stroke-width:3.1px;vector-effect:non-scaling-stroke}.panel-node--context rect{filter:drop-shadow(0 0 3px var(--selection-glow));stroke:var(--selection-green);stroke-dasharray:none;stroke-opacity:.68;stroke-width:2px;vector-effect:non-scaling-stroke}.panel-node--association-target rect{stroke:var(--action);stroke-width:2.5px}.panel-node text{fill:var(--canvas-label);pointer-events:none;-webkit-user-select:none;user-select:none;font-size:12px;font-weight:650}.applied-material-cut-node{cursor:grab;opacity:.86}.applied-material-cut-node:active{cursor:grabbing}.applied-material-cut-node rect{stroke:none;stroke-width:0;stroke-dasharray:none;vector-effect:non-scaling-stroke}.applied-material-cut-node--covering{opacity:.52}.applied-material-cut-node--lining,.applied-material-cut-node--reinforcement{opacity:.72}.applied-material-cut-node--selected rect{filter:drop-shadow(0 0 4px var(--selection-green-glow));stroke:var(--selection-green);stroke-width:2.9px;vector-effect:non-scaling-stroke}.applied-material-cut-node--context rect{filter:drop-shadow(0 0 3px var(--selection-glow));stroke:var(--selection-green);stroke-opacity:.68;stroke-width:2px;vector-effect:non-scaling-stroke}.applied-material-cut-node--pass-through{pointer-events:none}.applied-material-cut-node text{fill:var(--canvas-label);letter-spacing:0;paint-order:stroke;pointer-events:none;stroke:var(--canvas-label-casing);stroke-width:3px;-webkit-user-select:none;user-select:none;font-size:10px;font-weight:650}.structural-stock-node{cursor:grab}.structural-stock-node:active{cursor:grabbing}.structural-stock-fill{stroke:none}.structural-stock-outline{fill:none;stroke:none;stroke-dasharray:none;stroke-linejoin:miter;stroke-width:0;vector-effect:non-scaling-stroke}.structural-stock-node--selected .structural-stock-outline{filter:drop-shadow(0 0 4px var(--selection-green-glow));stroke:var(--selection-green);stroke-width:2.9px;vector-effect:non-scaling-stroke}.structural-stock-node--context .structural-stock-outline{filter:drop-shadow(0 0 3px var(--selection-glow));stroke:var(--selection-green);stroke-opacity:.68;stroke-width:2px;vector-effect:non-scaling-stroke}.structural-stock-node--pass-through{pointer-events:none}.structural-stock-node text{fill:var(--petrol-deep);letter-spacing:0;paint-order:stroke;pointer-events:none;stroke:#fbf8f2db;stroke-width:3px;-webkit-user-select:none;user-select:none;font-size:12px;font-weight:650}.pending-panel-cut{fill:#123d861f;stroke:#123d86f2;stroke-dasharray:4 2.5;stroke-linejoin:miter;stroke-width:2px;vector-effect:non-scaling-stroke}.panel-cut-outline{cursor:grab;fill:#0000;pointer-events:all;stroke:#123d86f2;stroke-dasharray:5 3;stroke-linejoin:miter;stroke-width:2px;vector-effect:non-scaling-stroke}.panel-cut-outline:active{cursor:grabbing}.panel-cut-outline--selected{filter:drop-shadow(0 0 4px var(--selection-green-glow));stroke:var(--selection-green);stroke-dasharray:5 3;stroke-width:3.1px;vector-effect:non-scaling-stroke}.panel-cut-outline--context{filter:drop-shadow(0 0 3px var(--selection-glow));stroke:var(--selection-green);stroke-dasharray:5 3;stroke-opacity:.68;stroke-width:2.1px;vector-effect:non-scaling-stroke}.grain-overlay-mark{color:#1f2933;opacity:.78;pointer-events:none}.grain-overlay-line,.grain-overlay-arrowheads{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.2px;vector-effect:non-scaling-stroke}.grain-overlay-unknown-line{stroke:currentColor;stroke-dasharray:3 2;stroke-linecap:round;stroke-width:1.7px;vector-effect:non-scaling-stroke}.grain-overlay-label{fill:currentColor;paint-order:stroke;stroke:#ffffffd6;stroke-width:2.5px;font-size:11px;font-weight:800}.grain-overlay-mark--ambiguous{opacity:.58}.panel-cut-label-group{pointer-events:none}.panel-cut-label-plate{fill:#fbf8f2f5;stroke:#123d8657;stroke-width:.28px}.panel-cut-label{fill:#15302df0;letter-spacing:0;pointer-events:none;-webkit-user-select:none;user-select:none;font-weight:650}.panel-cut-source-link{fill:none;stroke:#123d86f2}.material-association-handle{fill:var(--surface);stroke:var(--action);stroke-width:2px;cursor:crosshair;pointer-events:all;vector-effect:non-scaling-stroke}.material-association-connector{fill:none;stroke:#4d7460ad;stroke-dasharray:4 5;stroke-width:1.65px}.material-association-anchor{stroke:#4d7460c7}.applied-material-cut-source-link{fill:none;stroke:#34a7b2f2}.stock-piece-layout{isolation:isolate}.stock-piece-layout-material-fill{stroke:none}.stock-piece-layout-material-outline{fill:none;stroke:none;stroke-dasharray:none;stroke-width:0;vector-effect:non-scaling-stroke}.applied-material-cut-node--selected .stock-piece-layout-material-outline{filter:drop-shadow(0 0 4px var(--selection-green-glow));stroke:var(--selection-green);stroke-width:2.9px;vector-effect:non-scaling-stroke}.applied-material-cut-node--context .stock-piece-layout-material-outline{filter:drop-shadow(0 0 3px var(--selection-glow));stroke:var(--selection-green);stroke-opacity:.68;stroke-width:2px;vector-effect:non-scaling-stroke}.editor-svg--workspace-drag-invalid,.editor-svg--workspace-drag-invalid .editor-surface,.editor-svg--workspace-drag-invalid .workspace-drag-invalid,.editor-svg--workspace-drag-invalid .workspace-drag-invalid:active{cursor:not-allowed}.workspace-drag-invalid{opacity:.46}.workspace-drag-invalid rect[data-panel-surface-id],.workspace-drag-invalid rect[data-applied-material-cut-surface-id],.workspace-drag-invalid .stock-piece-layout-material-outline,.workspace-drag-invalid .structural-stock-outline{filter:drop-shadow(0 0 1.5px var(--selection-casing));stroke:var(--invalid-canvas);stroke-dasharray:7 4;stroke-width:3px}.workspace-drag-invalid rect[data-panel-surface-id],.workspace-drag-invalid rect[data-applied-material-cut-surface-id],.workspace-drag-invalid .stock-piece-layout-material-fill,.workspace-drag-invalid .structural-stock-fill{fill-opacity:.68}.workspace-drop-invalid-marker{pointer-events:none}.workspace-drop-invalid-marker circle{fill:#ffffffe6;stroke:var(--invalid-canvas);stroke-width:2.4px;vector-effect:non-scaling-stroke}.workspace-drop-invalid-marker path{fill:none;stroke:var(--invalid-canvas);stroke-linecap:round;stroke-width:3px;vector-effect:non-scaling-stroke}.stock-piece-layout-cut .wrapping-net-surface-shape{fill:none;stroke:#123d86eb;stroke-dasharray:4 2.5;stroke-linejoin:miter;stroke-width:2px}.stock-piece-layout-cut--preview .wrapping-net-surface-shape{stroke:#123d867a;stroke-dasharray:2 4;stroke-width:1.5px}.wrapping-net-surface-label-group,.wrapping-net-surface-label-plate{pointer-events:none}.wrapping-net-surface-label{fill:var(--canvas-label);letter-spacing:0;pointer-events:none;-webkit-user-select:none;user-select:none;font-weight:650}.stock-piece-layout-cut .wrapping-net-surface-label{fill:#15302de6}.stock-piece-layout-cut--preview .wrapping-net-surface-label{fill:#15302d94}.stock-piece-layout-cut .wrapping-net-surface-label-plate{fill:#fbf8f2f5;stroke:#15302d57;stroke-width:.28px}.stock-piece-layout-cut--preview .wrapping-net-surface-label-plate{fill:#fbf8f2b8;stroke:#15302d2e}.applied-material-cut-hit-node{cursor:grab}.applied-material-cut-hit-node:active{cursor:grabbing}.applied-material-cut-hit-node rect{fill:#0000;pointer-events:all}.surface-label{fill:var(--canvas-label);letter-spacing:0;paint-order:stroke;pointer-events:none;stroke:var(--canvas-label-casing);stroke-width:3px;font-size:9px;font-weight:650}.surface-label--face{fill:var(--canvas-label-muted);font-size:10px}.surface-label--interactive{cursor:pointer;pointer-events:auto}.surface-label--selected{fill:var(--selection-green);filter:drop-shadow(0 0 3px var(--selection-green-glow));stroke:#fffffff0;stroke-width:5px}.surface-label--context{fill:var(--selection-green);filter:drop-shadow(0 0 2px var(--selection-glow));opacity:.72;stroke:#ffffffe6;stroke-width:4px}.active-selection-summary{border-left:3px solid var(--action);color:var(--ink);background:#e969461f;margin:0 0 12px;padding:7px 10px;font-size:12px;font-weight:650;line-height:1.35}.face-point-target{fill:#1d3f3c33;stroke:#1d3f3cb8;stroke-width:1.5px;cursor:crosshair;pointer-events:all;vector-effect:non-scaling-stroke;transition:fill .12s,r .12s,stroke .12s,stroke-width .12s}.face-point-target--back{fill:#4f734533;stroke:#4f7345b8}.face-point-target:hover,.face-point-target.is-target{fill:#b8862fb8;stroke:#c2410cc2;stroke-width:2px}.seam-edge-handle{fill:var(--surface);stroke:var(--warning-strong);stroke-width:2px;cursor:crosshair;pointer-events:all;vector-effect:non-scaling-stroke;transition:fill .12s,r .12s,stroke .12s,stroke-width .12s}.seam-edge-handle:hover,.seam-edge-handle.is-target{fill:#b8862fb8;stroke:#c2410cc2;stroke-width:2.5px}.edge-hit{stroke:#34a7b200;stroke-width:12px;fill:none;cursor:crosshair;pointer-events:stroke;vector-effect:non-scaling-stroke;transition:stroke .12s,stroke-width .12s}.edge-hit:hover{stroke:#34a7b2b8;stroke-width:7px}.edge-hit.is-target{stroke:#4f7345d6;stroke-width:8px}.seam-preview{pointer-events:none}.relationship-mark{fill:none;stroke-linecap:round;stroke-width:1.85px;pointer-events:none;vector-effect:non-scaling-stroke}.relationship-hit-path{fill:none;stroke:#0000;stroke-linecap:round;pointer-events:stroke;vector-effect:non-scaling-stroke}.relationship-anchor{fill:var(--surface);stroke-width:2px;pointer-events:none;vector-effect:non-scaling-stroke}.relationship-anchor--applied-material-cut-source{stroke:#34a7b2f2}.relationship-anchor--panel-cut-source{stroke:#123d86f2}.relationship-anchor--material-planning{stroke:#4d7460c7}.seam-mark{fill:none;stroke:var(--warning-strong);stroke-width:2.25px;stroke-linecap:round;cursor:pointer;pointer-events:stroke;vector-effect:non-scaling-stroke}.seam-mark--selected{filter:drop-shadow(0 0 4px var(--selection-green-glow));stroke:var(--selection-green);stroke-width:2.9px;vector-effect:non-scaling-stroke}.seam-mark--context{filter:drop-shadow(0 0 3px var(--selection-glow));stroke:var(--selection-green);stroke-opacity:.68;stroke-width:2px;vector-effect:non-scaling-stroke}.seam-hit-path{fill:none;stroke:#0000;stroke-linecap:round;cursor:pointer;pointer-events:stroke;vector-effect:non-scaling-stroke}.contact-region{fill:#4f734547;stroke:#4f7345b8;stroke-linejoin:miter;stroke-width:1.5px;pointer-events:none;vector-effect:non-scaling-stroke}.contact-region--selected{fill:var(--selection-green-fill);stroke:var(--selection-green);stroke-width:2.6px;vector-effect:non-scaling-stroke}.contact-region--context{fill:var(--selection-fill);stroke:var(--selection-green);stroke-opacity:.68;stroke-width:1.75px;vector-effect:non-scaling-stroke}.wrapping-net-overlay{pointer-events:none}.stock-piece-layout-cut:not(.stock-piece-layout-cut--preview) .wrapping-net-overlay{cursor:pointer;pointer-events:auto}.stock-piece-layout-cut:not(.stock-piece-layout-cut--preview) .wrapping-net-surface-hit{cursor:pointer;pointer-events:all}.wrapping-net-overlay--preview{opacity:.72}.wrapping-net-surface-hit{fill:#0000;pointer-events:none;stroke:none}.wrapping-net-surface-shape{fill:#34a7b229;stroke:#123d86eb;stroke-dasharray:5 3;stroke-linejoin:miter;stroke-width:1.5px;vector-effect:non-scaling-stroke}.stock-piece-layout-cut--selected .wrapping-net-surface-shape{fill:none;filter:drop-shadow(0 0 4px var(--selection-green-glow));stroke:var(--selection-green);stroke-dasharray:4 2.5;stroke-width:2.45px;vector-effect:non-scaling-stroke}.stock-piece-layout-cut--context .wrapping-net-surface-shape{fill:none;filter:drop-shadow(0 0 3px var(--selection-glow));stroke:var(--selection-green);stroke-dasharray:4 2.5;stroke-opacity:.68;stroke-width:1.9px;vector-effect:non-scaling-stroke}.wrapping-net-overlay .wrapping-net-surface-label-plate{fill:var(--surface);stroke:#15302d38;stroke-dasharray:none;stroke-width:.18px;vector-effect:non-scaling-stroke}.editor-svg--seaming .seam-mark,.editor-svg--seaming .seam-hit-path{pointer-events:none}.seam-anchor{fill:var(--surface);stroke:var(--warning-strong);stroke-width:2px;pointer-events:none;vector-effect:non-scaling-stroke}.seam-anchor--selected{stroke:var(--selection-green);stroke-width:2.25px;vector-effect:non-scaling-stroke}.seam-anchor--context{stroke:var(--selection-green);stroke-opacity:.68;stroke-width:1.75px;vector-effect:non-scaling-stroke}.diagnostics-layer{pointer-events:none}.collision-diagnostic circle{fill:#fbf8f2e6;stroke:var(--danger-strong);stroke-width:2.5px;vector-effect:non-scaling-stroke}.collision-diagnostic path{fill:none;stroke:var(--danger-strong);stroke-linecap:round;stroke-width:2.5px;vector-effect:non-scaling-stroke}.seam-mismatch-diagnostic line{stroke:var(--danger-strong);stroke-dasharray:5 4;stroke-linecap:round;stroke-width:2.75px;vector-effect:non-scaling-stroke}.seam-mismatch-diagnostic circle{fill:var(--surface);stroke:var(--danger-strong);stroke-width:2px;vector-effect:non-scaling-stroke}.seam-preview{stroke:var(--success);stroke-width:2px;stroke-dasharray:7 5;vector-effect:non-scaling-stroke}.draft-panel{fill:#34a7b21f;stroke:var(--focus);stroke-width:1.5px;stroke-dasharray:6 4;vector-effect:non-scaling-stroke;pointer-events:none}.draft-panel--applied-material-cut{fill:#4f734521;stroke:var(--success)}.inspector-pane,.issues-pane,.project-pane{height:100%;min-height:0;padding:12px;overflow:auto}.inspector-pane h2,.issues-pane h2,.project-pane h2{margin:0 0 10px;font-size:15px;line-height:1.3}.project-pane{flex-direction:column;gap:12px;display:flex}.project-pane-header{align-items:flex-start;gap:8px;display:flex}.project-pane-header>div{flex:auto;min-width:0}.project-pane-header p{color:var(--text-muted);margin:-4px 0 0;font-size:12px;line-height:1.35}.construction-list{gap:7px;margin:0;padding:0;list-style:none;display:grid}.construction-list-item{border:1px solid var(--line);background:var(--surface-raised);border-radius:8px;grid-template-columns:minmax(0,1fr) 32px;align-items:start;gap:6px;padding:6px;display:grid}.construction-list-item[data-current=true]{border-color:color-mix(in srgb, var(--selection) 55%, var(--line));box-shadow:inset 3px 0 0 var(--selection-green)}.construction-list-item[data-visible=false]{opacity:.64}.construction-select-button{min-width:0;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:flex-start;gap:8px;padding:3px 2px;display:flex}.construction-select-button:hover .construction-list-text strong,.construction-select-button:focus-visible .construction-list-text strong{color:var(--selection-green)}.construction-current-icon{width:18px;height:18px;color:var(--ink-2);flex:none}.construction-current-icon svg{width:18px;height:18px}.construction-list-text{gap:2px;min-width:0;display:grid}.construction-list-text strong{min-width:0;color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:13px;line-height:1.25;overflow:hidden}.construction-list-text span{color:var(--text-muted);font-size:11px;line-height:1.3}.construction-child-list{color:var(--text-muted);grid-column:1/-1;gap:1px;margin:2px 0 0 26px;padding:0;font-size:12px;line-height:1.35;list-style:none;display:grid}.construction-child-list li{min-width:0}.construction-child-button{min-height:30px;padding-block:4px;font-size:12px}.project-stock-list{border-top:1px solid var(--line);gap:5px;padding-top:2px;display:grid}.project-stock-list h3{color:var(--text-muted);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;margin:8px 0 0;font-size:11px;font-weight:700}.project-stock-list ul{gap:1px;margin:0;padding:0;list-style:none;display:grid}.project-stock-button{min-height:34px;font-size:12px}.agent-pane{z-index:0;background:var(--surface);width:100%;height:100%;min-height:0;box-shadow:none;border:0;border-radius:0;flex-direction:column;gap:10px;padding:12px;display:flex;position:relative}.agent-pane-header{align-items:center;gap:8px;display:flex}.agent-pane-header h2{letter-spacing:0;flex:auto;margin:0;font-size:15px;line-height:1.3}.agent-status{min-height:18px;color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:7px;font-size:12px;line-height:1.2;display:flex}.agent-model-name{min-width:0;max-width:100%;color:var(--ink-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.agent-status-dot{background:var(--ink-faint);border-radius:999px;flex:none;width:7px;height:7px}.agent-status--waiting .agent-status-dot{background:var(--info)}.agent-status--finished .agent-status-dot,.agent-status--ready .agent-status-dot{background:var(--success)}.agent-status--paused .agent-status-dot{background:var(--warning)}.agent-status--failed .agent-status-dot{background:var(--danger)}.agent-history{border:1px solid var(--line);background:var(--surface-sunk);border-radius:7px;gap:8px;min-height:0;max-height:220px;padding:8px;display:grid;overflow:auto}.agent-history-header{align-items:center;gap:8px;display:flex}.agent-history-header h3{color:var(--ink);flex:auto;margin:0;font-size:13px;line-height:1.2}.agent-history-filter{color:var(--ink-2);align-items:center;gap:5px;font-size:12px;line-height:1.2;display:inline-flex}.agent-history-filter input{width:13px;height:13px;accent-color:var(--petrol);margin:0}.agent-history-note,.agent-history-empty,.agent-history-error{margin:0;font-size:12px;line-height:1.35}.agent-history-note,.agent-history-empty{color:var(--text-muted)}.agent-history-error{color:var(--danger)}.agent-history-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.agent-history-row{grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:6px;display:grid}.agent-history-item{border:1px solid var(--line);background:var(--surface);min-width:0;color:inherit;text-align:left;cursor:pointer;border-radius:7px;gap:4px;padding:7px 8px;display:grid}.agent-history-item:hover,.agent-history-item:focus-visible{border-color:var(--line-strong);background:var(--surface-raised)}.agent-history-title,.agent-history-preview{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.agent-history-title{color:var(--ink);font-size:13px;font-weight:600;line-height:1.25}.agent-history-preview,.agent-history-meta{color:var(--ink-2);font-size:12px;line-height:1.25}.agent-history-meta{justify-content:space-between;gap:8px;display:flex}.agent-revision-notice{border:1px solid var(--warning);background:var(--warning-bg);color:var(--warning-strong);border-radius:7px;margin:0;padding:7px 8px;font-size:12px;line-height:1.35}.agent-transcript{flex-direction:column;flex:auto;gap:8px;min-height:0;display:flex;overflow:auto}.agent-empty-state{gap:8px;padding:0;font-size:13px;line-height:1.35;display:grid}.agent-empty-prompts{flex-wrap:wrap;gap:6px;display:flex}.agent-empty-prompts button{border:1px solid var(--line);background:var(--surface-raised);color:var(--petrol-deep);cursor:pointer;text-align:left;border-radius:6px;padding:5px 7px;font-size:12px;line-height:1.2}.agent-empty-prompts button:hover,.agent-empty-prompts button:focus-visible{border-color:var(--selected-border);background:var(--selected-bg)}.agent-message{border:1px solid var(--line);overflow-wrap:anywhere;white-space:pre-wrap;border-radius:7px;max-width:92%;padding:7px 9px;font-size:13px;line-height:1.35}.agent-markdown{white-space:normal;gap:6px;display:grid}.agent-markdown p,.agent-markdown ul,.agent-markdown ol,.agent-markdown pre,.agent-markdown blockquote,.agent-markdown h1,.agent-markdown h2,.agent-markdown h3,.agent-markdown h4,.agent-markdown h5,.agent-markdown h6{margin:0}.agent-markdown ul,.agent-markdown ol{padding-left:18px}.agent-markdown li+li{margin-top:3px}.agent-markdown h1,.agent-markdown h2,.agent-markdown h3,.agent-markdown h4,.agent-markdown h5,.agent-markdown h6{font-size:13px;line-height:1.3}.agent-markdown code{font-family:var(--font-mono);background:var(--surface-sunk);border-radius:4px;padding:1px 3px;font-size:12px}.agent-markdown pre{background:var(--surface-sunk);white-space:pre-wrap;border-radius:6px;max-width:100%;padding:7px;overflow:auto}.agent-markdown pre code{background:0 0;padding:0}.agent-markdown blockquote{border-left:3px solid var(--line);color:var(--text-muted);padding-left:8px}.agent-markdown a{color:var(--petrol);text-underline-offset:2px;text-decoration:underline}.agent-message--user{border-color:var(--line-strong);background:var(--petrol-tint);color:var(--petrol-deep);align-self:flex-end}.agent-message--assistant{background:var(--surface-sunk);color:var(--ink);align-self:flex-start}.agent-message--activity{background:var(--surface-raised);max-width:100%;color:var(--text-muted);border-style:dashed;align-self:stretch;font-size:12px}.agent-message--pending{color:var(--text-muted);font-style:italic}.agent-message--welcome{max-width:100%}.agent-message--timeline{gap:3px;display:grid}.agent-message--timeline span:first-child{color:var(--ink);font-weight:600}.agent-message--timeline span:last-child{font-family:var(--font-mono);color:var(--ink-faint);font-size:11px}.agent-tool-events{gap:5px;max-height:96px;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.agent-tool-events li{border-top:1px solid #cabfa852;grid-template-columns:minmax(110px,auto) 1fr;align-items:baseline;gap:8px;padding:5px 0;font-size:12px;line-height:1.3;display:grid}.agent-tool-events span:first-child{font-family:var(--font-mono);color:var(--petrol-deep)}.agent-tool-events span:last-child{color:var(--ink-2);overflow-wrap:anywhere}.agent-debug-log{max-height:180px;color:var(--ink-2);border-top:1px solid #cabfa852;padding-top:6px;font-size:12px;line-height:1.35;overflow:auto}.agent-debug-log summary{cursor:pointer;color:var(--petrol-deep);font-family:var(--font-mono)}.agent-debug-log p{margin:6px 0}.agent-debug-log pre{color:#d7efe3;max-height:128px;font-family:var(--font-mono);white-space:pre-wrap;overflow-wrap:anywhere;background:#111815;border:1px solid #22312f1f;margin:6px 0 0;padding:8px;font-size:11px;line-height:1.35;overflow:auto}.agent-debug-log-error{color:var(--danger)}.agent-error{color:var(--danger);margin:0;font-size:12px;line-height:1.35}.agent-composer{grid-template-columns:minmax(0,1fr) auto auto;align-items:end;gap:6px;display:grid}.agent-composer label{color:var(--ink-2);grid-column:1/-1;font-size:12px;line-height:1.2}.agent-composer textarea{resize:vertical;border:1px solid var(--line);background:var(--surface-sunk);width:100%;min-width:0;color:var(--ink);font:inherit;border-radius:7px;padding:7px 8px;font-size:13px;line-height:1.35}.side-panel{gap:8px;margin-bottom:16px;display:grid}.tabs{border:1px solid var(--line);border-radius:7px;grid-template-columns:repeat(4,1fr);display:grid;overflow:hidden}.tabs button{border:0;border-right:1px solid var(--line);background:var(--surface-sunk);cursor:pointer;border-radius:0;padding:6px 8px}.tabs button:last-child{border-right:0}.tabs button[aria-selected=true]{background:var(--surface);color:var(--petrol-deep);box-shadow:inset 0 -2px 0 var(--focus)}.side-list{min-height:72px}.side-list ul,.issue-messages{gap:6px;margin:0;padding:0;list-style:none;display:grid}.issue-group{gap:5px;display:grid}.issue-group+.issue-group{margin-top:10px}.issue-group-heading{color:var(--text-muted);margin:0;font-size:12px;font-weight:750;line-height:1.25}.side-list-button{width:100%;min-height:34px;color:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:6px 8px;display:grid}.side-list-button:hover,.side-list-button:focus-visible{border-color:var(--line);background:var(--surface-sunk)}.side-list-button span:first-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.issue-detail{border:1px solid var(--line);border-left:3px solid var(--focus);background:var(--surface-raised);overflow-wrap:anywhere;border-radius:8px;gap:8px;margin-top:10px;padding:10px;font-size:13px;display:grid}.issue-detail-heading{justify-content:space-between;align-items:center;gap:8px;display:flex}.issue-detail h3,.issue-detail-message,.issue-detail-metrics,.issue-detail-fixes{margin:0}.issue-detail h3{font-size:13px;line-height:1.3}.issue-detail-severity{font-size:12px;font-weight:700}.issue-detail-message{color:var(--ink-2);line-height:1.4}.issue-detail-metrics{border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:4px;padding:6px 0;display:grid}.issue-detail-metrics div{grid-template-columns:74px minmax(0,1fr);gap:8px;display:grid}.issue-detail-metrics dt{color:var(--text-muted);font-weight:650}.issue-detail-metrics dd{margin:0}.issue-detail-fixes{gap:5px;padding-left:18px;display:grid}.side-meta{color:var(--text-muted);font-size:12px}.severity-warning{color:var(--warning-strong)}.severity-error,.severity-critical{color:var(--danger)}.severity-info{color:var(--text-muted)}.stability-panel{gap:12px;min-width:0;font-size:13px;display:grid}.stability-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.stability-header h2,.stability-header p,.stability-findings h3,.stability-artifacts h3,.stability-summary dl,.stability-summary dd,.stability-evidence,.stability-evidence dd{margin:0}.stability-header h2{font-size:18px;line-height:1.2}.stability-header p{color:var(--text-muted);line-height:1.35}.stability-explainer,.stability-result-note{color:var(--text-muted);margin:0;line-height:1.45}.stability-result-note{border-left:3px solid var(--warning);background:var(--surface-sunk);padding:8px 10px}.stability-controls{grid-template-columns:minmax(0,1fr);gap:8px;display:grid}.stability-controls label{color:var(--text-muted);gap:4px;font-weight:650;display:grid}.stability-controls select,.stability-run-button{width:100%}.stability-run-button{justify-content:center}.stability-run-state{color:var(--text-muted);margin:0}.stability-error{color:var(--danger);margin:0}.stability-summary{border:1px solid var(--line);background:var(--surface-raised);border-radius:8px;gap:8px;padding:10px;display:grid}.stability-summary>div{justify-content:space-between;align-items:center;gap:8px;display:flex}.stability-summary dl,.stability-evidence{gap:5px;display:grid}.stability-summary dl div,.stability-evidence div{grid-template-columns:100px minmax(0,1fr);gap:8px;display:grid}.stability-summary dt,.stability-evidence dt{color:var(--text-muted);font-weight:650}.stability-diagnostics{border:1px solid var(--line);background:var(--surface-sunk);border-radius:8px;gap:6px;padding:9px 10px;display:grid}.stability-diagnostics label{color:var(--text-muted);gap:4px;font-weight:650;display:grid}.stability-diagnostics select{width:100%}.stability-diagnostics p{color:var(--text-muted);margin:0;line-height:1.4}.stability-diagnostic-meta{font-size:12px}.stability-status{font-weight:800}.stability-status-stable{color:var(--success)}.stability-status-weak,.stability-status-unsupported,.stability-status-generated_only{color:var(--warning-strong)}.stability-status-mechanism,.stability-status-solver_failed,.stability-status-parse_failed,.stability-status-unknown{color:var(--danger)}.stability-findings,.stability-artifacts{gap:8px;display:grid}.stability-findings h3,.stability-artifacts h3{font-size:13px;line-height:1.3}.stability-finding{border:1px solid var(--line);background:var(--surface);border-radius:8px;gap:8px;padding:9px;display:grid}.stability-finding-heading{grid-template-columns:minmax(0,1fr) auto;gap:8px;line-height:1.35;display:grid}.stability-finding-meta{color:var(--text-muted);margin:0;font-size:12px;line-height:1.35}.stability-seam-actions{flex-wrap:wrap;gap:6px;display:flex}.stability-seam-chip{border-radius:999px;width:auto;padding:4px 7px;font-size:12px}.stability-artifacts ul{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.stability-artifacts a{color:var(--action);font-weight:700;text-decoration:none}.stability-artifacts a:hover,.stability-artifacts a:focus-visible{text-decoration:underline}.empty-state{color:var(--text-muted);margin:0;font-size:13px}.inspector-empty{border:1px dashed var(--line);background:var(--surface-raised);border-radius:8px;padding:12px}.inspector-form{gap:14px;display:grid}.inspector-form>section:not(:first-of-type){border-top:1px solid var(--line);margin-top:2px;padding-top:14px}.inspector-form label,.inspector-row{color:var(--ink-2);gap:5px;font-size:13px;display:grid}.inspector-form input,.inspector-form select{border:1px solid var(--line);background:var(--surface);width:100%;color:var(--text);padding:6px 8px}.inspector-form input[aria-invalid=true]{border-color:var(--danger);background:color-mix(in srgb, var(--danger-bg) 54%, var(--surface))}.inspector-form input[aria-invalid=true]:focus-visible{outline-color:var(--danger)}.inspector-field-error{color:var(--danger);font-size:var(--text-xs);font-weight:var(--weight-semi);line-height:1.3}.texture-swatch-field{border:0;gap:7px;margin:0;padding:0;display:grid}.texture-swatch-field legend{color:var(--ink-2);padding:0;font-size:13px;font-weight:650}.texture-swatch-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.texture-swatch-option{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:7px;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:7px;min-height:44px;padding:6px;display:grid;position:relative}.texture-swatch-option:has(input:checked){border-color:var(--focus);box-shadow:0 0 0 1px var(--focus)}.texture-swatch-option input{opacity:0;width:1px;height:1px;position:absolute}.texture-swatch-option:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:2px}.texture-swatch{background-position:50%;background-size:cover;border:1px solid #22312f3d;width:34px;height:30px}.texture-swatch-copy{gap:2px;min-width:0;display:grid}.texture-swatch-copy span{color:var(--text);font-size:12px;font-weight:700;line-height:1.15}.texture-swatch-copy small{color:var(--text-muted);font-size:10.5px;line-height:1.15}.inspector-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;display:grid}.inspector-field{position:relative}.inspector-field input{width:100%;padding-right:32px}.inspector-field input[type=number]{appearance:textfield}.inspector-field input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.inspector-field input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.inspector-unit{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted);pointer-events:none;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.inspector-actions{flex-wrap:wrap;gap:8px;display:flex}.inspector-actions button{align-items:center;gap:6px;display:inline-flex}.inspector-action-icon{flex:none;width:15px;height:15px}.inspector-action-icon--spin{animation:.9s linear infinite inspector-spin}.inspector-status{color:var(--text-muted);margin:0;font-size:12px;line-height:1.35}.inspector-status--success{color:var(--success)}.inspector-status--error{color:var(--danger)}@keyframes inspector-spin{to{transform:rotate(360deg)}}@keyframes toolbar-spin{to{transform:rotate(360deg)}}.inspector-material{gap:6px;display:grid}.inspector-group-label{font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:var(--weight-semi);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ink-soft);margin:0}.inspector-swatch-row{border:1px solid var(--line);background:var(--surface-sunk);border-radius:7px;align-items:center;gap:9px;min-height:34px;padding:0 10px;display:flex}.inspector-swatch{border:1px solid #22312f38;border-radius:5px;flex:none;width:18px;height:18px}.inspector-swatch-name{min-width:0;font-size:var(--text-sm);color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.inspector-swatch-hex{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted)}.material-section{gap:7px;display:grid}.material-section h3{color:var(--ink-soft);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:var(--weight-semi);letter-spacing:var(--tracking-label);text-transform:uppercase;margin:0;line-height:1.3}.material-panel-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.material-panel-list li{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.material-panel-list span{overflow-wrap:anywhere;min-width:0}.associated-panel-details{gap:2px;display:grid}.associated-panel-construction{color:var(--text-muted);font-size:12px}.construction-value{gap:4px;display:grid}.construction-value select{width:100%}.inspector-note{color:var(--text-muted);margin:0;font-size:12px;line-height:1.35}.wrapping-inspector{gap:8px;padding-block:2px;display:grid}.wrapping-inspector h3,.wrapping-solutions h4{color:var(--ink-soft);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:var(--weight-semi);letter-spacing:var(--tracking-label);text-transform:uppercase;margin:0;line-height:1.3}.wrapping-solutions-header{gap:6px;display:grid}.wrapping-solutions-header label{color:var(--ink-2);gap:5px;font-size:13px;display:grid}.wrapping-surface-field{border:0;gap:7px;margin:0;padding:0;display:grid}.wrapping-surface-field legend{color:var(--ink-2);padding:0;font-size:13px;font-weight:650}.wrapping-panel-surface-groups{gap:10px;display:grid}.wrapping-panel-surface-group{gap:6px;display:grid}.wrapping-panel-surface-group h4{color:var(--ink-2);margin:0;font-size:12px;font-weight:650;line-height:1.3}.wrapping-surface-list{flex-wrap:wrap;gap:6px;display:flex}.wrapping-surface-option{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:7px;align-items:center;min-width:0;min-height:30px;padding:4px 10px;line-height:1.2;gap:7px!important;display:inline-flex!important}.wrapping-surface-option:has(input:checked){border-color:var(--petrol-200);background:var(--petrol-tint)}.wrapping-surface-option:has(input:checked) span{color:var(--petrol-deep)}.wrapping-surface-option input[type=checkbox]{width:16px;height:16px;accent-color:var(--focus);border:0;justify-self:start;margin:0;padding:0}.wrapping-surface-option span{overflow-wrap:anywhere;min-width:0}.wrapping-solutions,.wrapping-solution-browser{gap:6px;display:grid}.wrapping-warning-list{margin:0;padding:0;list-style:none}.wrapping-solutions:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.wrapping-solution-card{border:1px solid var(--selected-border);background:var(--surface);border-radius:8px;gap:9px;padding:10px;display:grid}.wrapping-solution-head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.wrapping-solution-status{flex:1;gap:8px;min-width:0;display:grid}.wrapping-solution-id{align-items:center;gap:7px;display:flex}.wrapping-solution-id strong{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--ink)}.wrapping-fit-chip{border:1px solid var(--petrol-200);background:var(--petrol-tint);color:var(--petrol-deep);font-size:var(--text-2xs);border-radius:999px;padding:2px 7px}.wrapping-solution-stats{grid-template-columns:repeat(auto-fit,minmax(64px,1fr));gap:6px;margin:0;display:grid}.wrapping-solution-stats>div{background:var(--surface-sunk);border-radius:6px;gap:1px;padding:6px 8px;display:grid}.wrapping-solution-stats dt{font-size:var(--text-2xs);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-faint)}.wrapping-solution-stats dd{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--ink);margin:0}.wrapping-solution-stepper{flex:none;gap:5px;display:flex}.wrapping-solution-stepper button{width:26px;height:26px;color:var(--ink-2);cursor:pointer;border-radius:6px;place-items:center;font-size:15px;display:grid;border:1px solid var(--line-strong)!important;background:var(--surface)!important;padding:0!important}.wrapping-solution-stepper button:hover{background:var(--petrol-tint)!important}.wrapping-solution-use{width:100%;min-height:34px;font-weight:var(--weight-semi);cursor:pointer;border-radius:6px;border:1px solid var(--accent)!important;background:var(--accent)!important;color:var(--text-on-cta)!important}.wrapping-solution-use:disabled{opacity:.55;cursor:default}.wrapping-warning-list li{border:1px solid var(--warning);background:var(--warning-bg);color:var(--warning-strong);border-radius:7px;padding:4px 9px}.wrapping-warning-list{gap:3px;padding-top:4px;font-size:12px;display:grid}.danger-button{color:var(--danger);border-color:var(--danger)!important}.inspector-heading-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.inspector-heading-row h2{margin:0}.inspector-heading-titles{gap:2px;min-width:0;display:grid}.inspector-eyebrow{font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--text-muted);margin:0}.inspector-pane h2{font-size:var(--text-lg);line-height:var(--leading-tight)}.seam-refs{color:var(--text-muted);margin:0;font-size:13px}.seam-summary{color:var(--text);margin:-4px 0 0;font-size:13px;font-weight:650}.angle-control{gap:6px;font-size:13px;display:grid}.preset-row{grid-template-columns:repeat(5,1fr);gap:4px;display:grid}.issue-messages{border:1px solid var(--warning);background:var(--warning-bg);color:var(--warning-strong);border-radius:8px;padding:8px;font-size:13px}.computed-values{border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:6px;margin:0;padding:8px 0;font-size:13px;display:grid}.computed-values div{grid-template-columns:88px minmax(0,1fr);gap:8px;display:grid}.computed-values dt{color:var(--text-muted);font-weight:650}.computed-values dd{color:var(--text);overflow-wrap:anywhere;margin:0}.inspector-details{display:grid}.inspector-details>summary{cursor:pointer;font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:var(--weight-semi);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ink-soft);align-items:center;gap:6px;list-style:none;display:flex}.inspector-details>summary::-webkit-details-marker{display:none}.inspector-details>summary:before{content:"▸";color:var(--text-faint);transition:transform var(--dur-fast) var(--ease);font-size:10px}.inspector-details[open]>summary{margin-bottom:8px}.inspector-details[open]>summary:before{transform:rotate(90deg)}.panel-overlap-resolutions{border:1px solid var(--line-strong);background:var(--surface-sunk);border-radius:6px;gap:7px;padding:8px;display:grid}.panel-overlap-resolutions h3{color:var(--ink-2);margin:0;font-size:13px;line-height:1.25}.overlap-issue,.overlap-correction-group{gap:6px;display:grid}.overlap-warning{border:1px solid var(--warning);background:var(--warning-bg);border-radius:6px;gap:2px;padding:7px;display:grid}.overlap-warning p,.overlap-correction-group h4{margin:0}.overlap-warning p{color:var(--warning-strong);font-size:11px;line-height:1.3}.overlap-warning p:first-child{color:var(--warning-strong);font-weight:650}.overlap-correction-group h4{color:var(--text-muted);font-size:11px;line-height:1.25}.resolution-choice{text-align:left;gap:3px;width:100%;display:grid}.resolution-choice:hover,.resolution-choice:focus-visible{border-color:var(--action);background:var(--selected-bg)}.resolution-choice span{color:var(--ink);font-size:12px;font-weight:700;line-height:1.25}.resolution-choice small{color:var(--text-muted);font-size:11px;line-height:1.3}.status-badge{border:1px solid #0000;border-radius:999px;align-items:center;min-height:22px;padding:2px 8px;font-size:12px;font-weight:700;display:inline-flex}.status-badge--ok{border-color:var(--success);background:var(--success-bg);color:var(--success-strong)}.status-badge--warning{border-color:var(--warning);background:var(--warning-bg);color:var(--warning-strong)}.status-badge--error{border-color:var(--danger);background:var(--danger-bg);color:var(--danger)}.panel-node--selected rect,.applied-material-cut-node--selected rect,.structural-stock-node--selected .structural-stock-outline,.applied-material-cut-node--selected .stock-piece-layout-material-outline,.seam-mark--selected,.stock-piece-layout-cut--selected .wrapping-net-surface-shape{stroke:var(--selection-bright);filter:drop-shadow(0 0 1.35px var(--selection-casing)) drop-shadow(0 0 4px var(--selection-glow))}.panel-node--context rect,.applied-material-cut-node--context rect,.structural-stock-node--context .structural-stock-outline,.applied-material-cut-node--context .stock-piece-layout-material-outline,.seam-mark--context,.stock-piece-layout-cut--context .wrapping-net-surface-shape{filter:drop-shadow(0 0 1.1px var(--selection-casing));stroke-dasharray:5 3}.surface-label--selected,.surface-label--context{filter:drop-shadow(0 0 1px var(--selection-casing))}@media (width<=1200px){.editor-chrome{flex-wrap:wrap;align-content:flex-start;right:92px}.editor-context-chrome{justify-items:start;max-width:none;top:56px;left:12px;right:92px;transform:none}.editor-pane-toolbar{flex-wrap:wrap;max-width:100%}.pane-toolbar .tool-button{width:30px;height:30px}.pane-toolbar .tool-button-icon,.pane-toolbar .tool-button-icon svg{width:17px;height:17px}.pane-toolbar{gap:3px;padding:3px}.pane-toolbar .tool-divider{height:20px;margin:0 1px}.preview3d-toolbar{gap:2px;padding:2px}.preview3d-toolbar .tool-button{width:28px;height:28px}.preview3d-toolbar .tool-button-icon,.preview3d-toolbar .tool-button-icon svg{width:16px;height:16px}.preview3d-toolbar .tool-divider{margin:0}.preview3d-label{top:48px}}@media (width>=1100px){.app-shell{height:100dvh;min-height:0;overflow:hidden}.workspace{height:100%;overflow:hidden}.inspector-pane,.issues-pane{height:100%;max-height:100%;overflow-y:auto}}@media (width<=1099px){.app-shell{height:100dvh;min-height:0;overflow:hidden}.topbar{flex-wrap:wrap;row-gap:5px;padding-block:7px}.topbar-brand{flex:180px}.topbar-actions{flex:auto;justify-content:flex-end}.workspace{grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr;height:100%;min-height:0;overflow:hidden}.workspace-divider,.sidecar-divider{display:none}.compact-workspace-switcher{z-index:10;border-bottom:1px solid var(--line);background:var(--surface);grid-area:1/1;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:6px;display:grid;position:relative}.compact-workspace-switcher button{border-radius:var(--radius-sm);min-width:0;min-height:40px;color:var(--text-muted);cursor:pointer;font-size:var(--text-sm);font-weight:var(--weight-semi);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:7px;display:inline-flex}.compact-workspace-switcher button>span,.compact-workspace-switcher button svg{flex:none;width:17px;height:17px}.compact-workspace-switcher button:hover{background:var(--surface-sunk);color:var(--text)}.compact-workspace-switcher button[aria-pressed=true]{border-color:var(--selected-border);background:var(--selected-bg);color:var(--petrol-deep)}.editor-pane,.preview-pane,.sidecar{border-right:0;grid-area:2/1;width:100%;height:100%;min-height:0}.sidecar{grid-template-columns:36px minmax(0,1fr)}.workspace[data-compact-pane=editor]>.preview-pane,.workspace[data-compact-pane=editor]>.sidecar,.workspace[data-compact-pane=preview]>.editor-pane,.workspace[data-compact-pane=preview]>.sidecar,.workspace[data-compact-pane=sidecar]>.editor-pane,.workspace[data-compact-pane=sidecar]>.preview-pane{display:none}.preview3d{min-height:0}.sidecar-rail .tool-button{width:38px;height:38px}.sidecar-rail{overscroll-behavior:contain;scrollbar-width:thin;gap:7px;min-height:0;padding:8px 0;overflow:hidden auto}}@media (width<=840px){.auth-shell{background-position:38%;grid-template-columns:1fr}.auth-panel{border-left:1px solid color-mix(in srgb, var(--line-strong) 72%, transparent);grid-column:1;justify-self:end;width:min(100%,540px);padding:clamp(28px,8vw,52px)}}@media (width<=560px){.auth-shell{background:var(--surface)}.auth-shell:after{display:none}.auth-panel{width:100%;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;border:0;padding:28px 22px}.topbar-brand .brand-lockup{display:none}.topbar{padding-inline:8px}.topbar-brand{flex-basis:100%}.topbar-actions{flex:100%;justify-content:flex-start;gap:4px;width:100%;max-width:100%}.project-menu-summary,.history-split-menu-button,.topbar-divider{display:none}.project-menu>.tool-button:before{content:"";border:1px solid var(--surface);background:var(--success);width:7px;height:7px;box-shadow:0 0 0 1px color-mix(in srgb, var(--success) 26%, transparent);border-radius:50%;position:absolute;bottom:3px;right:3px}.project-menu[data-save-status=saving]>.tool-button:before,.project-menu[data-save-status=loading]>.tool-button:before{background:var(--warning);box-shadow:0 0 0 1px color-mix(in srgb, var(--warning) 26%, transparent)}.project-menu[data-save-status=error]>.tool-button:before{background:var(--danger);box-shadow:0 0 0 1px color-mix(in srgb, var(--danger) 26%, transparent)}.history-split-main-button{border-radius:6px}.topbar h1{font-size:15px}.project-menu-summary{width:min(36vw,150px)}.compact-workspace-switcher button{gap:5px;font-size:12px}}@keyframes entry-progress{0%{transform:translate(-20%)}to{transform:translate(210%)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}h1,h2{font-family:var(--font-display);letter-spacing:-.01em;font-weight:500}
