:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-app:#0b0d10;--bg-dock:#111418;--bg-dock-alt:#141821;--bg-viewport:#07090c;--bg-row:#171b21;--bg-row-hover:#1a1f27;--bg-row-active:color-mix(in oklab, var(--accent) 16%, transparent);--bg-input:#0c0e12;--bg-menu:#161a21;--bg-tooltip:#1c2028;--bg-scrim:#00000073;--border:#232830;--border-soft:#181c22;--border-strong:#434953;--divider:#1e232b;--text:#eaeef3;--text-soft:#9ba4b0;--text-muted:#7e8794;--text-disabled:#434953;--accent:#7aa2ff;--accent-weak:color-mix(in oklab, var(--accent) 20%, transparent);--accent-ring:color-mix(in oklab, var(--accent) 35%, transparent);--amber:#e6b649;--banner-amber:#f59e0b;--ce-amber:#f59e0b;--ce-banner-h:29px;--ce-staging-banner-bg:#2a1e0a;--ce-staging-banner-border:#4e340a;--ce-banner-font:"Inter", ui-sans-serif, system-ui, sans-serif;--brand-blue:#2563eb;--red:#ff6b6b;--green:#5bd38a;--purple:#b58bff;--grid-line:#12161c;--grid-major:#1d232c;--grid-dot:#171c24;--stroke-conductor:#d8e0ea;--stroke-symbol:#e0e6ee;--mesh-module-body:#1a2028;--mesh-module-body-alt:#212833;--mesh-module-face:#151a21;--mesh-rail-metal:#6a7381;--mesh-scene-fill:#0b0e13;--mesh-wire:#9aa3b2;--mesh-device-body:#6e7683;--mesh-device-nose:#828c9b;--mesh-device-lever:#262d38;--mesh-device-accent:#7a93c8;--mesh-device-window:#3a3128;--cab-device-face:#171d25;--cab-device-slot:#0b0e13;--cab-device-lever:#7a93c8;--cab-device-window:#222a34;--cab-device-label:#303845;--font-ui:"Inter", -apple-system, "SF Pro Text", "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", "Berkeley Mono", "SF Mono", "IBM Plex Mono", Consolas, monospace;--font-body-size:13px;--font-body-line:18px;--font-dense-size:12px;--font-dense-line:18px;--font-header-size:11px;--font-header-line:14px;--font-header-weight:600;--font-toolbar-size:11px;--font-toolbar-line:14px;--font-mono-size:12px;--font-mono-line:16px;--font-status-size:11.5px;--font-status-line:14px;--font-tooltip-size:11.5px;--font-tooltip-line:14px;--font-chip-size:10.5px;--ease:cubic-bezier(.2, .8, .2, 1);--dur-instant:90ms;--dur-quick:.12s;--h-titlebar:52px;--h-menubar:26px;--h-workspace-tabs:32px;--h-toolbar:34px;--h-folio-tabs:26px;--h-hint:22px;--h-status:22px;--h-dock-header:26px;--h-section:22px;--h-row:22px;--h-input:24px;--h-button:28px;--w-dock-left:240px;--w-dock-right:280px;--w-dock-rail:24px;--h-dock-bottom:176px;--radius-chrome:0;--radius-input:2px;--radius-button:2px;--radius-chip:2px;--radius-menu:3px;--shadow-floating:0 2px 6px #00000059}[data-edraw-theme=plot]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg-app:#fff;--bg-viewport:#fff;--bg-dock:#fff;--bg-dock-alt:#fff;--text:#14181d;--text-soft:#3a4250;--text-muted:#5a6670;--border:#6b7785;--border-soft:#dfe5ec;--border-strong:#3a4250;--grid-line:#eef0f3;--grid-major:#dfe3e8;--grid-dot:#e6e9ee;--stroke-conductor:#14181d;--stroke-symbol:#14181d;--amber:#8a5a2b;--cab-device-face:#f4f6f8;--cab-device-slot:#7d8794;--cab-device-lever:#3a4250;--cab-device-window:#e6e9ee;--cab-device-label:#d8dde3;--mesh-wire:#3a4250;--mesh-device-body:#d8dde3;--mesh-device-nose:#eef0f3;--mesh-device-lever:#3a4250;--mesh-device-accent:#5a6670;--mesh-device-window:#c2c8d0;--mesh-module-body:#d8dde3;--mesh-module-body-alt:#c9cfd7;--mesh-module-face:#eef0f3;--mesh-rail-metal:#7d8794;--mesh-scene-fill:#e6e9ee}[data-edraw-theme=plot] [data-terminal-pin],[data-edraw-theme=plot] [data-selection-overlay],[data-edraw-theme=plot] .viewport-canvas g[aria-hidden=true]{display:none}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg-app:#eef1f5;--bg-dock:#f7f9fb;--bg-dock-alt:#fff;--bg-viewport:#fbfcfe;--bg-row:#fff;--bg-row-hover:#edf1f6;--bg-input:#fff;--bg-menu:#fff;--bg-tooltip:#1f2733;--bg-scrim:#0f172052;--border:#c9d2dd;--border-soft:#dfe5ec;--border-strong:#93a0ae;--divider:#d5dce4;--text:#1a222c;--text-soft:#4a5663;--text-muted:#6b7682;--text-disabled:#a8b2bd;--accent:#2d63e6;--accent-weak:color-mix(in oklab, var(--accent) 14%, transparent);--accent-ring:color-mix(in oklab, var(--accent) 40%, transparent);--amber:#b6791f;--red:#d23b3b;--green:#1f9d57;--purple:#7c4dd6;--grid-line:#e2e7ee;--grid-major:#ced6e0;--stroke-conductor:#28323d;--stroke-symbol:#1f2a35;--mesh-module-body:#d7dee7;--mesh-module-body-alt:#c6cfda;--mesh-module-face:#e8edf3;--mesh-rail-metal:#8a94a1;--mesh-scene-fill:#f2f5f9;--shadow-floating:0 2px 6px #0f17201f}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%;margin:0;padding:0}body{background:var(--bg-app);color:var(--text);font-family:var(--font-ui);font-size:var(--font-body-size);line-height:var(--font-body-line);font-feature-settings:"cv11" 1, "ss01" 1, "cv05" 1;font-synthesis:none;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden}button,input,select,textarea{font:inherit}button{appearance:none;color:inherit;background:0 0;border:0}.shell{grid-template-rows:var(--h-titlebar) var(--h-menubar) auto auto 1fr var(--h-hint) auto var(--h-status);background:var(--bg-app);grid-template-columns:auto 1fr auto;height:100vh;display:grid}.staging-banner{z-index:80;background:var(--ce-staging-banner-bg);border-bottom:1px solid var(--ce-staging-banner-border);min-height:29px;color:var(--ce-amber);font-family:var(--ce-banner-font);font-feature-settings:normal;font-synthesis:weight style small-caps;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-align:center;-webkit-user-select:none;user-select:none;padding:6px 16px;font-size:12px;font-weight:500;line-height:1rem;position:sticky;top:0}.shell[data-host-mode=standalone]{height:calc(100vh - 29px)}.shell.no-project{grid-template-rows:var(--h-titlebar) var(--h-menubar) auto 1fr 0 0 var(--h-status)}.shell>:is(.titlebar,.menubar,.workspace-tabs,.toolbar,.hint-strip,.statusbar){grid-column:1/-1}.shell.no-project .welcome-picker{grid-row:4/7}.shell.no-project .statusbar{grid-row:7}.shell[data-host-mode=voltplan]:not(.single-workspace):not(.viewer-mode){grid-template-rows:var(--h-menubar) auto auto 1fr var(--h-hint) auto var(--h-status)}.shell[data-host-mode=voltplan]:not(.single-workspace):not(.viewer-mode).no-project{grid-template-rows:var(--h-menubar) auto 1fr 0 0 var(--h-status)}.shell[data-host-mode=voltplan]:not(.single-workspace):not(.viewer-mode).no-project .welcome-picker{grid-row:3/6}.shell[data-host-mode=voltplan]:not(.single-workspace):not(.viewer-mode).no-project .statusbar{grid-row:6}.shell.single-workspace{grid-template-rows:var(--h-menubar) auto 1fr var(--h-hint) auto var(--h-status)}.shell.single-workspace .viewport-frame{grid-row:3}.shell.single-workspace.no-project{grid-template-rows:var(--h-menubar) auto 1fr 0 0 var(--h-status)}.shell.single-workspace.no-project .welcome-picker{grid-row:3/6}.shell.single-workspace.no-project .statusbar{grid-row:6}.shell-readonly-chip{bottom:calc(var(--h-status) + var(--h-hint) + var(--h-dock-header) + 8px);z-index:40;background:color-mix(in oklab, var(--bg-app) 88%, transparent);border:1px solid color-mix(in oklab, var(--purple) 35%, var(--border));border-radius:var(--radius-chip);height:22px;color:var(--purple);font-family:var(--font-mono);font-size:var(--font-chip-size);font-variant-numeric:tabular-nums;letter-spacing:.08em;text-transform:uppercase;pointer-events:none;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;padding:0 8px;display:inline-flex;position:fixed;left:16px}.shell-readonly-hint{bottom:calc(var(--h-status) + 4px);z-index:40;color:color-mix(in oklab, var(--purple) 80%, var(--text-muted));font-family:var(--font-ui);font-size:var(--font-toolbar-size);pointer-events:none;-webkit-user-select:none;user-select:none;position:fixed;left:16px}.collab-lock-banner{bottom:calc(var(--h-status) + var(--h-hint) + var(--h-dock-header) + 40px);z-index:41;background:color-mix(in oklab, var(--bg-app) 88%, transparent);border:1px solid color-mix(in oklab, var(--purple) 40%, var(--border));border-radius:var(--radius-chip);pointer-events:none;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;max-width:min(520px,100vw - 32px);padding:6px 12px;display:inline-flex;position:fixed;left:16px}.collab-lock-banner__badge{border:1px solid color-mix(in oklab, var(--purple) 35%, var(--border));border-radius:var(--radius-chip);background:color-mix(in oklab, var(--purple) 14%, transparent);height:18px;color:var(--purple);font-family:var(--font-mono);font-size:var(--font-chip-size);letter-spacing:.04em;white-space:nowrap;align-items:center;padding:0 6px;display:inline-flex}.collab-lock-banner__hint{color:color-mix(in oklab, var(--purple) 80%, var(--text-muted));font-family:var(--font-ui);font-size:var(--font-toolbar-size);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.titlebar-readonly-chip,.status-readonly-chip{border:1px solid color-mix(in oklab, var(--purple) 35%, var(--border));border-radius:var(--radius-chip);background:color-mix(in oklab, var(--purple) 12%, transparent);height:18px;color:var(--purple);font-family:var(--font-mono);font-size:var(--font-chip-size);letter-spacing:.06em;align-items:center;padding:0 6px;display:inline-flex}.titlebar-readonly-chip{margin-left:8px}.titlebar{height:var(--h-titlebar);background:var(--bg-dock);border-bottom:1px solid var(--border-soft);align-items:center;gap:8px;padding:0 8px;display:flex}.titlebar-brand-lockup{flex-shrink:0;align-items:center;gap:8px;min-width:0;display:inline-flex}.titlebar-brand-lockup:after{content:"";background:var(--border);width:1px;height:12px;margin-left:4px;display:inline-block}.titlebar-logo-badge{background:var(--bg-dock-alt);border:1px solid var(--border-strong);border-radius:var(--radius-button);width:26px;height:26px;color:var(--accent);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.titlebar-logo-badge svg{stroke-width:2.2px;width:14px;height:14px}.titlebar-brand{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--text);font-size:13px;font-weight:400;line-height:1}.titlebar-crumb{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-muted);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:11.5px;overflow:hidden}.titlebar-crumb strong{color:var(--text);font-weight:500}.titlebar-dirty{color:var(--amber);margin-left:-4px;font-size:8px;line-height:1}.path-chip{text-align:left;direction:rtl;max-width:280px}.path-chip>*{direction:ltr}.titlebar-right{align-items:center;gap:8px;margin-left:auto;display:flex}.host-chip,.cmdp-chip,.path-chip{text-overflow:ellipsis;white-space:nowrap;border:1px solid color-mix(in oklab, var(--accent) 18%, var(--border));border-radius:var(--radius-chip);background:color-mix(in oklab, var(--accent) 3%, transparent);min-height:18px;color:color-mix(in oklab, var(--text-muted) 88%, var(--accent));font-family:var(--font-mono);font-variant-numeric:tabular-nums;align-items:center;gap:6px;padding:2px 6px;font-size:10.5px;font-weight:500;display:inline-flex;overflow:hidden}.host-chip{letter-spacing:.01em;color:color-mix(in oklab, var(--text-soft) 64%, var(--accent));border-color:color-mix(in oklab, var(--accent) 30%, var(--border));gap:5px;font-size:10.5px}.host-chip-dot{border-radius:var(--radius-chip);background:currentColor;flex:none;width:5px;height:5px}.host-chip.voltplan{color:var(--purple);border-color:color-mix(in oklab, var(--purple) 50%, var(--border))}.account-menu{align-items:stretch;display:inline-flex;position:relative}.account-chip{text-overflow:ellipsis;white-space:nowrap;border:1px solid color-mix(in oklab, var(--accent) 18%, var(--border));border-radius:var(--radius-chip);background:color-mix(in oklab, var(--accent) 3%, transparent);max-width:220px;min-height:18px;color:color-mix(in oklab, var(--text-soft) 88%, var(--accent));font-family:var(--font-mono);font-size:var(--font-chip-size);cursor:pointer;transition:background var(--dur-instant) var(--ease), color var(--dur-instant) var(--ease);outline:0;align-items:center;gap:6px;padding:2px 6px;font-weight:500;display:inline-flex;overflow:hidden}.account-chip:hover{background:color-mix(in oklab, var(--accent) 10%, transparent);color:var(--text)}.account-avatar{border-radius:var(--radius-button);background:var(--accent-weak);width:14px;height:14px;color:var(--text);font-family:var(--font-ui);font-size:var(--font-chip-size);justify-content:center;align-items:center;font-weight:700;display:inline-flex}.account-email{text-overflow:ellipsis;overflow:hidden}.account-dropdown{z-index:30;min-width:200px;position:absolute;top:calc(100% + 4px);right:0}.account-dropdown-meta{color:var(--text-muted);font-family:var(--font-mono);font-size:var(--font-chip-size);text-overflow:ellipsis;white-space:nowrap;border-bottom:1px solid var(--border-soft);margin-bottom:4px;padding:4px 10px;overflow:hidden}.cmdp-chip{border-color:color-mix(in oklab, var(--accent) 38%, var(--border));background:color-mix(in oklab, var(--accent) 8%, transparent);color:var(--text);transition:background var(--dur-instant) var(--ease), border-color var(--dur-instant) var(--ease), color var(--dur-instant) var(--ease)}.cmdp-chip:hover{background:color-mix(in oklab, var(--accent) 14%, transparent);border-color:color-mix(in oklab, var(--accent) 58%, var(--border));color:var(--text)}.cmdp-chip kbd,.hint-strip kbd{border:1px solid color-mix(in oklab, var(--accent) 35%, var(--border));border-radius:var(--radius-button);background:color-mix(in oklab, var(--accent) 10%, var(--bg-input));min-width:16px;color:var(--text);font-family:var(--font-mono);text-align:center;padding:1px 4px;font-size:10px}.menubar{z-index:20;height:var(--h-menubar);background:var(--bg-dock);border-bottom:1px solid var(--border);align-items:stretch;padding:0 6px;font-size:12px;display:flex;position:relative}.menubar.embedded{border-top:2px solid var(--purple)}.menubar.embedded [data-menu-id=file\.new],.menubar.embedded [data-menu-id=file\.close],.menubar.embedded [data-menu-id=file\.saveAs],.menubar.embedded [data-menu-id=file\.recent],.menubar.embedded [data-menu-id=file\.reload],.menubar.embedded [data-menu-id=file\.print],.menubar.embedded [data-menu-id=file\.quit],.menubar.embedded [data-menu-id=tools\.preferences],.menubar.embedded [data-menu-id=tools\.configureToolbars],.menubar.embedded [data-menu-id=help\.docs],.menubar.embedded [data-menu-id=help\.about],.menubar.embedded [data-menu-id=file\.new]+.menu-separator,.menubar.embedded [data-menu-id=file\.recent]+.menu-separator,.menubar.embedded [data-menu-id=file\.reload]+.menu-separator,.menubar.embedded [data-menu-id=file\.print]+.menu-separator,.menubar.embedded [data-menu-id=help\.docs]+.menu-separator{display:none}.menubar-menu{align-items:stretch;height:100%;display:flex;position:relative}.menu-trigger{border-radius:var(--radius-button);color:var(--text-soft);cursor:default;transition:background var(--dur-instant) var(--ease), color var(--dur-instant) var(--ease);background:0 0;border:0;align-items:center;padding:0 8px;display:flex}.menu-trigger:hover,.menu-trigger.open{background:color-mix(in oklab, var(--accent) 10%, transparent);color:var(--text)}.menu-dropdown{z-index:30;border:1px solid color-mix(in oklab, var(--accent) 16%, var(--border));border-radius:var(--radius-menu);background:color-mix(in oklab, var(--accent) 2%, var(--bg-menu));min-width:240px;box-shadow:var(--shadow-floating);padding:4px;position:absolute;top:calc(100% + 1px);left:0}.menu-item{border-radius:var(--radius-button);width:100%;min-height:26px;color:var(--text-soft);text-align:left;background:0 0;border:0;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:8px;padding:0 8px;font-size:12px;display:grid}.menu-item:hover{background:color-mix(in oklab, var(--accent) 10%, transparent);color:var(--text)}.menu-item:disabled{color:var(--text-disabled);pointer-events:none}.menu-item-icon{width:14px;height:14px}.menu-item .shortcut{color:var(--text-muted);font-family:var(--font-mono);font-size:10.5px}.menu-separator{background:var(--border-soft);height:1px;margin:4px 0}.workspace-tabs{min-height:var(--h-workspace-tabs);background:var(--bg-dock);border-bottom:1px solid var(--border);flex-direction:column;display:flex}.workspace-tabs-primary{height:var(--h-workspace-tabs);align-items:stretch;padding:0 8px;display:flex}.workspace-tab{color:color-mix(in oklab, var(--text-soft) 84%, var(--accent));font-family:var(--font-ui);letter-spacing:0;cursor:pointer;transition:background var(--dur-instant) var(--ease), color var(--dur-instant) var(--ease), border-color var(--dur-quick) var(--ease);background:0 0;border-bottom:2px solid #0000;align-items:center;gap:6px;padding:0 12px;font-size:12px;font-weight:500;display:inline-flex}.workspace-tab:hover{background:color-mix(in oklab, var(--accent) 10%, transparent);color:var(--text)}.workspace-tab.active{background:color-mix(in oklab, var(--accent) 8%, transparent);border-bottom-color:var(--accent);color:var(--text)}.workspace-tab svg{width:14px;height:14px;color:inherit}.workspace-tab .shortcut{color:color-mix(in oklab, var(--accent) 58%, var(--text-disabled));font-family:var(--font-mono);letter-spacing:0;margin-left:2px;font-size:10.5px}.workspace-tabs-right{align-items:center;gap:6px;margin-left:auto;padding-right:4px;display:flex}.toolbar{min-height:var(--h-toolbar);background:var(--bg-dock);border-bottom:1px solid var(--border);flex-wrap:wrap;align-content:center;align-items:center;gap:0;padding:0 6px;display:flex;overflow:visible}.toolbar-group{min-height:var(--h-toolbar);border-right:1px solid color-mix(in oklab, var(--accent) 10%, var(--border-soft));flex-wrap:wrap;align-content:center;align-items:center;gap:2px;min-width:0;max-width:100%;padding:0 6px;display:flex}.toolbar-group:last-child,.toolbar-group.flex-right{border-right:0}.toolbar-group.flex-right{margin-left:auto}.tb-btn{min-width:var(--h-button);height:var(--h-button);border-radius:var(--radius-button);color:color-mix(in oklab, var(--text-soft) 88%, var(--accent));cursor:default;transition:background var(--dur-instant) var(--ease), color var(--dur-instant) var(--ease), border-color var(--dur-instant) var(--ease);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:4px;padding:0 6px;display:inline-flex;position:relative}.tb-btn.labeled{min-width:auto;font-family:var(--font-ui);padding:0 8px;font-size:11px;font-weight:500}.tb-btn-icon{justify-content:center;align-items:center;width:16px;height:16px;display:inline-flex}.tb-btn svg{stroke-width:1.5px;width:16px;height:16px}.tb-btn:hover{background:color-mix(in oklab, var(--accent) 10%, transparent);border-color:color-mix(in oklab, var(--accent) 22%, transparent);color:var(--text)}.tb-btn:active,.tb-btn.pressed,.tb-btn[data-pressed=true]{background:color-mix(in oklab, var(--accent) 16%, transparent);border-color:color-mix(in oklab, var(--accent) 35%, transparent);color:var(--text)}.tb-btn.active{background:color-mix(in oklab, var(--accent) 16%, transparent);border-top-color:var(--accent);color:var(--text)}.tb-btn.active :is(svg,.tb-btn-icon){color:var(--accent)}.tb-btn.text{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:11px}.tb-btn-label{white-space:nowrap}.tb-btn.labeled .tb-btn-label{display:inline-block}.tb-btn.labeled .tb-btn-label:first-letter{text-transform:uppercase}.tb-btn-kbd{border:1px solid color-mix(in oklab, var(--accent) 22%, var(--border));border-radius:var(--radius-chip);background:color-mix(in oklab, var(--accent) 6%, var(--bg-input));min-width:15px;height:15px;color:var(--text-muted);font-family:var(--font-mono);justify-content:center;align-items:center;margin-left:1px;padding:0 3px;font-size:9.5px;line-height:1;display:inline-flex}.tb-btn.active .tb-btn-kbd{color:color-mix(in oklab, var(--text) 70%, var(--accent))}.tb-btn:focus-visible{outline:2px solid var(--accent-ring);outline-offset:1px}.tb-btn[disabled]{color:var(--text-disabled);pointer-events:none}.folio-tabs{height:var(--h-folio-tabs);background:var(--bg-dock);border-bottom:1px solid var(--border);align-items:stretch;padding:0 6px;display:flex;overflow:auto hidden}.folio-tabs::-webkit-scrollbar{height:0}.folio-tab{border-top:2px solid #0000;border-right:1px solid var(--border-soft);color:color-mix(in oklab, var(--text) 78%, var(--text-soft));font-family:var(--font-ui);white-space:nowrap;cursor:pointer;transition:background var(--dur-instant) var(--ease), color var(--dur-instant) var(--ease), border-color var(--dur-quick) var(--ease);align-items:center;gap:4px;padding:0 12px;font-size:12px;font-weight:500;display:inline-flex}.folio-tab:hover{background:color-mix(in oklab, var(--accent) 8%, transparent);color:var(--text)}.folio-tab.active{background:color-mix(in oklab, var(--accent) 8%, transparent);border-top-color:var(--accent);color:var(--text)}.folio-tab.dirty:before{content:"●";color:var(--amber);margin-right:4px;font-size:8px}.folio-tab-add{color:var(--text-soft);padding:0 8px;font-size:14px}.folio-tab-add:hover{color:var(--text)}.folio-tab-label{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.folio-tab-remove{color:var(--text-muted);cursor:pointer;background:0 0;border:0;align-items:center;padding:0;display:inline-flex}.folio-tab-remove:hover{color:var(--red)}.folio-tab-remove svg{width:11px;height:11px}.hint-strip{height:var(--h-hint);background:var(--bg-dock);border-top:1px solid var(--border-soft);border-bottom:1px solid var(--border);color:var(--text-muted);white-space:nowrap;align-items:center;gap:16px;padding:0 12px;font-size:11px;display:flex;overflow-x:auto}.hint-strip::-webkit-scrollbar{height:0}.hint-strip .hint{align-items:center;gap:4px;display:inline-flex}.hint-strip .sep{background:var(--border-soft);width:1px;height:10px}.hint-strip .current-tool{border-right:1px solid var(--border-soft);color:var(--accent);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;padding-right:8px;font-size:10.5px}.welcome-picker{background:color-mix(in oklab, var(--accent) 1%, var(--bg-app));min-height:0;color:var(--text-soft);grid-column:1/-1;padding:24px 32px 32px;overflow:auto}.welcome-header{margin-bottom:16px}.welcome-header h1{margin:0 0 4px;line-height:1}.welcome-subtitle{color:var(--text-muted);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:11.5px}.welcome-recovery{background:color-mix(in oklab, var(--amber) 8%, var(--bg-dock));border:1px solid color-mix(in oklab, var(--amber) 30%, var(--border));border-left:3px solid var(--amber);color:var(--text);align-items:center;gap:12px;margin-bottom:16px;padding:10px 12px;font-size:12px;display:flex}.welcome-recovery-copy{gap:2px;min-width:0;display:grid}.welcome-recovery-copy span{color:var(--text-muted);font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.welcome-recovery-actions{gap:6px;margin-left:auto;display:flex}.welcome-small-btn{height:var(--h-input);border:1px solid var(--border);border-radius:var(--radius-button);background:color-mix(in oklab, var(--accent) 10%, transparent);color:var(--text);border-color:color-mix(in oklab, var(--accent) 42%, var(--border));font-family:var(--font-ui);cursor:pointer;transition:background var(--dur-instant) var(--ease), border-color var(--dur-instant) var(--ease), color var(--dur-instant) var(--ease);padding:0 10px;font-size:11px;font-weight:600}.welcome-small-btn:hover{background:color-mix(in oklab, var(--accent) 16%, transparent);border-color:color-mix(in oklab, var(--accent) 65%, var(--border));color:var(--text)}.welcome-small-btn.primary{background:color-mix(in oklab, var(--accent) 16%, transparent);border-color:var(--accent);color:var(--text)}.welcome-section{border:1px solid color-mix(in oklab, var(--accent) 12%, var(--border));background:color-mix(in oklab, var(--accent) 2%, var(--bg-dock));max-width:960px;margin-top:16px}.welcome-section h2{height:var(--h-dock-header);border-bottom:1px solid var(--border-soft);color:var(--text-soft);letter-spacing:.08em;text-transform:uppercase;align-items:center;margin:0;padding:0 12px;font-size:10.5px;font-weight:600;display:flex}.welcome-section h2 span{color:var(--text-muted);font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:0;text-transform:none;margin-left:auto;font-size:10px}.welcome-actions{gap:6px;padding:8px;display:flex}.welcome-action{min-width:112px;height:var(--h-button);border:1px solid color-mix(in oklab, var(--accent) 42%, var(--border));border-radius:var(--radius-button);background:color-mix(in oklab, var(--accent) 10%, transparent);color:var(--text);font-family:var(--font-ui);cursor:pointer;transition:background var(--dur-instant) var(--ease), border-color var(--dur-instant) var(--ease), color var(--dur-instant) var(--ease);align-items:center;gap:6px;padding:0 8px;font-size:12px;font-weight:600;display:inline-flex}.welcome-action:hover{background:color-mix(in oklab, var(--accent) 16%, transparent);border-color:color-mix(in oklab, var(--accent) 65%, var(--border));color:var(--text)}.welcome-action.primary{background:color-mix(in oklab, var(--accent) 16%, transparent);border-color:var(--accent);color:var(--text)}.welcome-action kbd{margin-left:auto}.welcome-cloud-cta .welcome-cloud-copy{color:var(--text-soft);margin:0;padding:8px 12px 0;font-size:12px}.welcome-cloud-cta .welcome-actions{padding-top:6px}.welcome-table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:11.5px}.welcome-table th,.welcome-table td{border-bottom:1px solid var(--border-soft);text-align:left;height:28px;padding:0 12px}.welcome-table th{height:22px;color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:10.5px;font-weight:600}.welcome-table th:nth-child(2),.welcome-table th:nth-child(3),.welcome-table td:nth-child(2),.welcome-table td:nth-child(3){text-align:right;width:112px}.welcome-table td{color:var(--text-muted);font-family:var(--font-mono);font-variant-numeric:tabular-nums}.welcome-table tbody tr:hover{background:color-mix(in oklab, var(--accent) 8%, transparent)}.welcome-table tbody tr:last-child td{border-bottom:0}.welcome-table tr.disabled{opacity:.5}.welcome-project-path{width:100%;color:var(--text);font:inherit;text-align:left;text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.welcome-project-path:hover{color:var(--accent)}.welcome-empty{color:var(--text-muted)}.statusbar{height:var(--h-status);white-space:nowrap;background:color-mix(in oklab, var(--accent) 2%, var(--bg-app));border-top:1px solid color-mix(in oklab, var(--accent) 12%, var(--border));color:var(--text-soft);font-family:var(--font-mono);font-size:var(--font-status-size);font-variant-numeric:tabular-nums;align-items:center;padding:0 4px;display:flex;overflow:hidden}.status-item{border-right:1px solid color-mix(in oklab, var(--accent) 10%, var(--border-soft));height:100%;transition:background var(--dur-instant) var(--ease), color var(--dur-instant) var(--ease);flex:none;align-items:center;gap:4px;padding:0 8px;display:inline-flex}.status-item:last-child{border-right:0}.status-item.right{margin-left:auto}.status-item.clickable{cursor:pointer}.status-item.clickable:hover{background:color-mix(in oklab, var(--accent) 10%, transparent);color:var(--text)}.status-item .lbl{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;font-size:10.5px}.status-item .on{color:var(--green);font-weight:600}.status-item .off{color:var(--text-muted)}.status-item .dirty{color:var(--amber)}.status-zoom{position:relative}.status-zoom-select{opacity:0;cursor:pointer;width:100%;height:100%;font:inherit;color:inherit;background:0 0;border:0;margin:0;padding:0;position:absolute;inset:0}.breadcrumb,.status-breadcrumb{white-space:nowrap;min-width:0;color:var(--text-soft);font-family:var(--font-mono);font-variant-numeric:tabular-nums;align-items:center;gap:6px;display:inline-flex;overflow:hidden}.status-breadcrumb{border-right:1px solid var(--border-soft);flex:0 auto;max-width:40%;height:100%;padding:0 8px}:is(.breadcrumb,.status-breadcrumb) [role=button]{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}:is(.breadcrumb,.status-breadcrumb) .sep{flex:none}:is(.breadcrumb,.status-breadcrumb) button{color:inherit;font:inherit}:is(.breadcrumb,.status-breadcrumb) button:hover,:is(.breadcrumb,.status-breadcrumb) .last{color:var(--text)}:is(.breadcrumb,.status-breadcrumb,.status-item) .sep{color:var(--border-strong)}.shell.viewer-mode{grid-template-rows:0 0 0 0 1fr 0 0 0;grid-template-columns:0 1fr 0}.shell.viewer-mode>:is(.titlebar,.menubar,.workspace-tabs,.toolbar,.hint-strip,.statusbar),.shell.viewer-mode .dock,.shell.viewer-mode .bottom-dock,.shell.viewer-mode .folio-tabs,.shell.viewer-mode .shell-readonly-chip,.shell.viewer-mode .shell-readonly-hint,.shell.viewer-mode .viewport-rulers-top,.shell.viewer-mode .viewport-rulers-left,.shell.viewer-mode .viewport-overlay-chip{display:none}.shell.viewer-mode .viewport-frame{grid-template-rows:1fr}.shell.viewer-mode .viewport-canvas{width:100%;height:100%;top:0;left:0}.zoom-widget{z-index:40;background:color-mix(in oklab, var(--bg-app) 94%, transparent);border:1px solid var(--border);box-shadow:var(--shadow-floating);border-radius:3px;flex-direction:column;gap:1px;padding:1px;display:inline-flex;position:fixed;bottom:16px;right:16px}.zoom-widget-btn{width:28px;height:28px;color:var(--text-soft);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.zoom-widget-btn:hover{background:color-mix(in oklab, var(--accent) 10%, transparent);color:var(--text)}.zoom-widget-btn:focus-visible{outline:1px solid var(--accent);outline-offset:-1px}.dock{contain:layout style paint;background:var(--bg-dock);border:1px solid var(--border);flex-direction:column;display:flex;position:relative;overflow:hidden}.dock-left{width:var(--dock-size,var(--w-dock-left));border-top:0;border-bottom:0;border-left:0}.dock-right{width:var(--dock-size,var(--w-dock-right));border-top:0;border-bottom:0;border-right:0}.dock.collapsed{width:var(--w-dock-rail);min-width:var(--w-dock-rail)}.dock[data-resizing=true]{-webkit-user-select:none;user-select:none}.dock-rail{width:var(--w-dock-rail);background:var(--bg-dock);border-right:1px solid var(--border);flex-direction:column;align-items:stretch;height:100%;display:flex}.dock-right .dock-rail{border-right:0;border-left:1px solid var(--border)}.dock.collapsed>.dock-icon-btn{width:100%;height:var(--h-dock-header);min-height:var(--h-dock-header);border-bottom:1px solid var(--border-soft);border-radius:0}.dock-rail-tab{width:var(--w-dock-rail);border-bottom:1px solid var(--border-soft);min-height:28px;color:var(--text-muted);cursor:pointer;font-family:var(--font-mono);font-variant-numeric:tabular-nums;transition:background var(--dur-instant) var(--ease), color var(--dur-instant) var(--ease);justify-content:center;align-items:center;padding:8px 0;font-size:9.5px;display:inline-flex;position:relative}.dock-rail-tab-label{writing-mode:vertical-rl;text-orientation:mixed;text-overflow:ellipsis;white-space:nowrap;letter-spacing:.08em;text-transform:uppercase;max-height:132px;overflow:hidden}.dock-rail-tab:hover{background:color-mix(in oklab, var(--accent) 10%, transparent);color:var(--text-soft)}.dock-rail-tab.active{background:color-mix(in oklab, var(--accent) 8%, transparent);color:var(--text)}.dock-rail-tab.active:before{content:"";background:var(--accent);width:2px;position:absolute;top:0;bottom:0;left:0}.dock-right .dock-rail-tab.active:before{left:auto;right:0}.dock-rail-tab.dirty:after{content:"●";color:var(--amber);font-size:7px;position:absolute;top:3px;right:3px}.dock-rail-tab svg{stroke-width:1.5px;width:14px;height:14px}.dock-header,.bottom-dock-header{height:var(--h-dock-header);min-height:var(--h-dock-header);background:var(--bg-dock);border-bottom:1px solid var(--border-soft);align-items:stretch;padding:0 4px;display:flex}.dock-tab{background:color-mix(in oklab, var(--accent) 3%, transparent);min-width:26px;color:color-mix(in oklab, var(--text-soft) 82%, var(--accent));cursor:pointer;font-size:var(--font-header-size);font-weight:500;line-height:var(--font-header-line);letter-spacing:0;transition:background var(--dur-instant) var(--ease), color var(--dur-instant) var(--ease), border-color var(--dur-quick) var(--ease);border-bottom:2px solid #0000;flex:0 2 auto;align-items:center;gap:5px;margin-bottom:-1px;padding:0 6px;display:inline-flex;overflow:hidden}.dock-tab:hover{background:color-mix(in oklab, var(--accent) 8%, transparent);color:var(--text-soft)}.dock-tab.active,.dock-tab[aria-selected=true]{background:color-mix(in oklab, var(--accent) 8%, transparent);color:var(--text);border-bottom-color:var(--accent);flex-shrink:0}.dock-tab.dirty:before{content:"●";color:var(--amber);font-size:8px;line-height:1}.dock-tab svg{stroke-width:1.5px;flex:none;width:14px;height:14px}.dock-tab-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}:is(.dock-left,.dock-right) .dock-tab:not(.active):not([aria-selected=true]):has(svg) .dock-tab-label{display:none}.dock-header-right{flex:none;align-items:center;gap:2px;margin-left:auto;padding-right:2px;display:flex}.dock-header-right>svg{color:color-mix(in oklab, var(--text-muted) 72%, var(--accent))}.dock-icon-btn{background:color-mix(in oklab, var(--accent) 3%, transparent);width:22px;height:22px;color:color-mix(in oklab, var(--text-muted) 68%, var(--accent));border-radius:var(--radius-button);transition:background var(--dur-instant) var(--ease), color var(--dur-instant) var(--ease);border:0;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.dock-icon-btn:hover{color:var(--text);background:color-mix(in oklab, var(--accent) 10%, transparent)}.dock-icon-btn:focus-visible,.dock-tab:focus-visible{outline:2px solid var(--accent-ring);outline-offset:-2px}.dock-icon-btn svg{stroke-width:1.75px;width:12px;height:12px}.dock-body{flex:1;overflow:auto}.dock-body::-webkit-scrollbar{width:8px;height:8px}.bottom-dock-body::-webkit-scrollbar{width:8px;height:8px}.dock-body::-webkit-scrollbar-track{background:0 0}.bottom-dock-body::-webkit-scrollbar-track{background:0 0}.dock-body::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--radius-menu)}.bottom-dock-body::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--radius-menu)}.dock-body::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}.bottom-dock-body::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}.dock-resize-handle{z-index:2;cursor:col-resize;background:0 0;width:4px;min-width:4px;position:absolute;top:0;bottom:0}.dock-left .dock-resize-handle{right:0}.dock-right .dock-resize-handle{left:0}.dock-resize-handle:hover,.dock-resize-handle.active{background:color-mix(in oklab, var(--accent) 35%, transparent)}.dock-resize-handle:focus-visible{outline:2px solid var(--accent-ring);outline-offset:-2px}.section{border-bottom:1px solid var(--border-soft);contain:layout style paint}.section-header{width:100%;height:var(--h-section);background:var(--bg-dock);cursor:pointer;transition:background var(--dur-instant) var(--ease);align-items:center;gap:6px;padding:0 8px;display:flex}.section-header:hover{background:color-mix(in oklab, var(--accent) 8%, transparent)}.section-header:focus-visible{outline:2px solid var(--accent-ring);outline-offset:-2px}.section-chevron{width:10px;height:10px;color:var(--text-muted);flex:none}.section.collapsed .section-chevron,.section-header[aria-expanded=false] .section-chevron{transform:rotate(-90deg)}.section-title{color:var(--text-soft);font-size:var(--font-header-size);font-weight:var(--font-header-weight);line-height:var(--font-header-line);letter-spacing:.08em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;overflow:hidden}.section-meta{color:var(--text-muted);font-family:var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:auto;font-size:10.5px}.section-body{contain:layout style paint;content-visibility:auto;contain-intrinsic-size:200px;padding:2px 0 6px}.section.collapsed .section-body{display:none}.tree{color:var(--text);font-size:var(--font-dense-size);line-height:var(--font-dense-line)}.tree-row{height:var(--h-row);color:var(--text);cursor:default;transition:background var(--dur-instant) var(--ease), color var(--dur-instant) var(--ease);align-items:center;gap:5px;padding:0 8px;display:flex;position:relative}.tree-row:hover{color:var(--text);background:color-mix(in oklab, var(--accent) 8%, transparent)}.tree-row.active,.tree-row[aria-selected=true]{color:var(--text);background:color-mix(in oklab, var(--accent) 14%, transparent)}.tree-row.active:before,.tree-row[aria-selected=true]:before{content:"";background:var(--accent);width:2px;position:absolute;top:0;bottom:0;left:0}.tree-row:focus-visible{outline:2px solid var(--accent-ring);outline-offset:-2px}.tree-row.dirty:after{content:"●";color:var(--amber);font-size:8px;position:absolute;right:8px}.tree-row .chevron{width:10px;height:10px;color:var(--text-muted);flex:none}.tree-row .icon{width:14px;height:14px;color:var(--text-muted);flex:none}.tree-row.active .chevron,.tree-row.active .meta,.tree-row[aria-selected=true] .chevron,.tree-row[aria-selected=true] .meta{color:var(--text-soft)}.tree-row.active .icon,.tree-row[aria-selected=true] .icon{color:var(--accent)}.tree-row .label{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.tree-row .meta{color:var(--text-muted);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:11px}.tree-indent-1{padding-left:20px}.tree-indent-2{padding-left:34px}.tree-indent-3{padding-left:48px}.tree-indent-4{padding-left:62px}.cabinet3d-view-chip{border:1px solid color-mix(in oklab, var(--accent) 30%, var(--border));border-radius:var(--radius-chip);background:color-mix(in oklab, var(--accent) 10%, transparent);color:var(--accent);font-family:var(--font-ui);letter-spacing:.04em;text-transform:none;align-items:center;padding:0 6px;font-size:10px;display:inline-flex}.library-symbol-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:6px 8px;display:grid}.library-symbol-cell{border:1px solid var(--border-soft);border-radius:var(--radius-button);min-height:56px;color:var(--text-soft);font-family:var(--font-ui);cursor:pointer;transition:background var(--dur-instant) var(--ease), border-color var(--dur-instant) var(--ease), color var(--dur-instant) var(--ease);background:0 0;outline:0;flex-direction:column;align-items:center;gap:4px;padding:8px 4px;display:flex}.library-symbol-cell:hover{background:color-mix(in oklab, var(--accent) 8%, transparent);color:var(--text)}.library-symbol-cell.active{background:color-mix(in oklab, var(--accent) 14%, transparent);border-color:var(--accent);color:var(--text)}.library-symbol-cell:focus-visible{outline:2px solid var(--accent-ring);outline-offset:-2px}.library-symbol-glyph{stroke-width:1.5px;width:20px;height:20px}.library-symbol-label{text-overflow:ellipsis;white-space:nowrap;text-align:center;max-width:100%;font-size:10.5px;overflow:hidden}.library-symbol-empty{color:var(--text-muted);align-items:center;gap:8px;padding:8px;font-size:12px;display:flex}.library-symbol-empty .icon{stroke-width:1.5px;width:14px;height:14px}.dock-hint{color:var(--text-muted);margin:4px 8px 0;font-size:11px}.macro-list{flex-direction:column;gap:2px;margin:0;padding:4px 6px;list-style:none;display:flex}.macro-row{border-radius:4px;align-items:center;gap:6px;padding:2px 4px;display:flex}.macro-row:hover{background:color-mix(in oklab, var(--accent) 8%, transparent)}.macro-glyph{stroke-width:1.5px;width:16px;height:16px;color:var(--text-soft);flex:none}.macro-name{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-size:12px;overflow:hidden}.macro-count{color:var(--text-muted);flex:none;font-size:10.5px}.propgrid{color:var(--text-soft);font-size:var(--font-dense-size);grid-template-columns:40% minmax(0,1fr);display:grid}.propgrid .row{display:contents}.propgrid .label{min-height:24px;color:var(--text-soft);background:var(--bg-dock);border-right:1px solid var(--border-soft);border-bottom:1px solid var(--border-soft);text-align:right;padding:5px 10px;font-size:11.5px}.propgrid .value{min-height:24px;color:var(--text);background:var(--bg-dock);border-bottom:1px solid var(--border-soft);outline-offset:-1px;font-family:var(--font-mono);font-size:var(--font-mono-size);font-variant-numeric:tabular-nums;transition:background var(--dur-instant) var(--ease), outline-color var(--dur-instant) var(--ease);outline:1px solid #0000;align-items:center;gap:6px;padding:4px 8px;display:flex;overflow:hidden}.propgrid .value:hover{background:color-mix(in oklab, var(--accent) 5%, var(--bg-dock-alt))}.propgrid .value:focus-within{background:color-mix(in oklab, var(--accent) 6%, var(--bg-input));outline-color:var(--accent)}.propgrid .value.mixed{color:var(--text-muted);font-family:var(--font-ui);font-style:italic}.propgrid .value.numeric{text-align:right;justify-content:flex-end;padding-right:10px}.propgrid .value .unit{color:var(--text-muted);white-space:nowrap;font-size:11px}.propgrid .value .swatch{border:1px solid var(--border);border-radius:var(--radius-button);width:12px;height:12px;display:inline-block}.propgrid .value.disabled{color:var(--text-disabled)}.propgrid .value.disabled:hover{background:var(--bg-dock)}.propgrid-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.propgrid-input{width:100%;min-width:0;color:inherit;font:inherit;font-variant-numeric:tabular-nums;text-align:inherit;text-overflow:ellipsis;background:0 0;border:0;padding:0}.propgrid-input:focus{outline:0}.propgrid .value.numeric .propgrid-input{text-align:right}.propgrid-input:disabled{color:var(--text-disabled);cursor:default}.propgrid-checkbox{appearance:none;border:1px solid var(--border-strong);background:var(--bg-input);cursor:pointer;border-radius:2px;width:14px;height:14px;margin:0}.propgrid-checkbox:checked{background:var(--accent);border-color:var(--accent);position:relative}.propgrid-checkbox:checked:after{content:"";border:solid var(--bg-app);border-width:0 2px 2px 0;width:4px;height:8px;position:absolute;top:0;left:3px;transform:rotate(45deg)}.propgrid-checkbox:disabled{cursor:not-allowed;opacity:.4}.bottom-dock{height:var(--h-dock-bottom);background:var(--bg-dock);border-top:1px solid var(--border);flex-direction:column;grid-column:1/-1;display:flex;overflow:hidden}.bottom-dock[data-collapsed=true]{height:auto}.bottom-dock[data-collapsed=true] .bottom-dock-body{display:none}.bottom-dock-body{color:var(--text-soft);font-family:var(--font-mono);font-variant-numeric:tabular-nums;flex:1;padding:8px 12px;font-size:11.5px;line-height:18px;overflow:auto}.bom-pane{flex-direction:column;gap:6px;min-width:0;display:flex}.bom-summary{font-family:var(--font-mono);font-size:var(--font-header-size);line-height:var(--font-header-line);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:center;gap:8px;padding-bottom:4px;display:flex}.bom-export{font:inherit;letter-spacing:inherit;text-transform:inherit;height:var(--h-button);background:var(--bg-row);color:var(--text-soft);border:1px solid var(--border);border-radius:var(--radius-button);cursor:pointer;align-items:center;gap:4px;padding:0 8px;display:inline-flex}.bom-export:hover{background:var(--bg-row-hover);color:var(--text)}.bom-export svg{width:13px;height:13px}.bom-empty{color:var(--text-muted);font-family:var(--font-ui);font-size:var(--font-dense-size);padding:12px}.bom-table{font-size:var(--font-dense-size);grid-template-columns:minmax(120px,1fr) minmax(160px,2fr) minmax(140px,1fr) minmax(140px,1.2fr) 72px minmax(96px,.8fr) minmax(140px,1.4fr);line-height:18px;display:grid}.bom-header,.bom-row{display:contents}.bom-header>[role=columnheader]{font-family:var(--font-ui);font-size:var(--font-header-size);font-weight:var(--font-header-weight);text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);border-bottom:1px solid var(--border);background:var(--bg-dock);z-index:1;padding:4px 6px;position:sticky;top:0}.bom-row>[role=cell]{color:var(--text);border-bottom:1px solid var(--border-soft);white-space:nowrap;text-overflow:ellipsis;font-family:var(--font-ui);padding:4px 6px;overflow:hidden}.bom-row:hover>[role=cell]{background:var(--bg-row-hover)}.bom-row>.bom-mono{font-family:var(--font-mono)}.bom-row>.bom-numeric,.bom-header>.bom-numeric{text-align:right}.dock-checkbox-list{flex-direction:column;gap:2px;padding:6px 8px;display:flex}.dock-checkbox-row{font-family:var(--font-ui);color:var(--text);cursor:pointer;align-items:center;gap:8px;padding:3px 4px;font-size:12px;display:flex}.dock-checkbox-row:hover{background:var(--bg-row-hover)}.dock-checkbox-row input{accent-color:var(--accent);margin:0}.layers-empty{color:var(--text-soft);padding:12px;font-size:12px}.layers-init{flex-direction:column;gap:12px;padding:12px;display:flex}.layers-init-text{color:var(--text-soft);margin:0;font-size:12px}.layers-init-button{border:1px solid var(--border);border-radius:var(--radius-button);background:var(--bg-dock-alt);color:var(--text);text-align:left;cursor:pointer;padding:6px 12px;font-size:12px}.layers-tab{flex-direction:column;height:100%;display:flex}.layers-list{flex:1;overflow-y:auto}.layers-row{border-bottom:1px solid var(--border-soft);cursor:grab;border-top:2px solid #0000;grid-template-columns:16px 24px 16px 1fr 24px 24px;align-items:center;gap:6px;padding:4px 8px;font-size:12px;display:grid}.layers-row.drop-target{border-top-color:var(--accent)}.layers-row.dragging{opacity:.4;cursor:grabbing}.layers-row.hidden-layer{opacity:.55}.layers-handle{color:var(--text-soft);justify-content:center;align-items:center;display:inline-flex}.layers-swatch{border:1px solid var(--border);width:12px;height:12px;display:inline-block}.layers-name{text-overflow:ellipsis;white-space:nowrap;color:var(--text);overflow:hidden}.layers-icon-btn{border-radius:var(--radius-button);width:24px;height:24px;color:var(--text-soft);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex}.layers-icon-btn:hover{background:color-mix(in oklab, var(--accent) 10%, transparent);color:var(--text)}.layers-footer{border-top:1px solid var(--border-soft);color:var(--text-soft);font-family:var(--font-mono);justify-content:space-between;align-items:center;padding:8px;font-size:11px;display:flex}.layers-add-btn{width:auto;padding:2px 8px}.layers-add-label{margin-left:4px;font-size:11px}.xref-link-list{margin:0 0 6px;padding:0;list-style:none}.xref-link-row{border-bottom:1px solid var(--border-soft);color:var(--text-soft);grid-template-columns:16px 1fr 24px;align-items:center;gap:6px;padding:3px 8px;font-size:12px;display:grid}.xref-link-name{text-overflow:ellipsis;white-space:nowrap;color:var(--text);overflow:hidden}.xref-link-empty{color:var(--text-soft);padding:4px 8px;font-size:11px}.xref-link-add{border:1px solid var(--border);border-radius:var(--radius-button);background:var(--bg-dock-alt);width:100%;color:var(--text);padding:4px 8px;font-size:12px}.search-results-summary{color:var(--text-soft);font-family:var(--font-mono);padding:4px 8px;font-size:11px}.search-results-list{margin:0;padding:0;list-style:none}.search-result-row{border-top:1px solid var(--border-soft);grid-template-columns:4ch 14ch 1fr 12ch;align-items:baseline;gap:8px;padding:4px 8px;font-size:12px;display:grid}.search-result-row.active{background:var(--bg-row-active)}.search-result-pos{font-family:var(--font-mono);color:var(--text-soft)}.search-result-label{font-family:var(--font-mono)}.search-result-value{color:var(--text)}.search-result-meta{font-family:var(--font-mono);color:var(--text-soft);text-align:right}.viewport-frame{grid-area:5/2;grid-template-rows:var(--h-folio-tabs) 1fr;background:var(--bg-viewport);border-left:1px solid var(--border);border-right:1px solid var(--border);min-width:0;min-height:0;display:grid;position:relative;overflow:hidden}.viewport{background:var(--bg-viewport);min-width:0;min-height:0;position:relative;overflow:hidden}.viewport-rulers-top,.viewport-rulers-left{background-color:var(--bg-dock);color:var(--text-muted);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:10px;position:absolute}.viewport-rulers-top{border-bottom:1px solid var(--border-soft);background-image:linear-gradient(90deg, transparent calc(100% - 1px), var(--border-soft) calc(100% - 1px));background-size:50px 16px;height:16px;top:0;left:16px;right:0}.viewport-rulers-left{border-right:1px solid var(--border-soft);background-image:linear-gradient(180deg, transparent calc(100% - 1px), var(--border-soft) calc(100% - 1px));background-size:16px 50px;width:16px;top:16px;bottom:0;left:0}.viewport-ruler-cursor-x,.viewport-ruler-cursor-y{z-index:1;background:var(--accent);pointer-events:none;position:absolute}.viewport-ruler-cursor-x{width:1px;top:0;bottom:0}.viewport-ruler-cursor-y{height:1px;left:0;right:0}.viewport-canvas{touch-action:none;overscroll-behavior:contain;background:linear-gradient(to right, var(--grid-line) 1px, transparent 1px) 0 0 / 20px 20px, linear-gradient(to bottom, var(--grid-line) 1px, transparent 1px) 0 0 / 20px 20px, linear-gradient(to right, var(--grid-major) 1px, transparent 1px) 0 0 / 100px 100px, linear-gradient(to bottom, var(--grid-major) 1px, transparent 1px) 0 0 / 100px 100px, var(--bg-viewport);width:calc(100% - 16px);height:calc(100% - 16px);display:block;position:absolute;top:16px;left:16px}.viewport-canvas.grid-off{background:var(--bg-viewport)}.viewport-overlay-chip{background:color-mix(in oklab, var(--bg-app) 82%, transparent);border:1px solid var(--border);border-radius:var(--radius-chip);color:var(--text-soft);font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:6px;padding:5px 10px;font-size:10.5px;display:inline-flex;position:absolute;bottom:12px;left:28px}.viewport-overlay-chip.amber{color:var(--amber);border-color:color-mix(in oklab, var(--amber) 35%, var(--border))}.viewport-overlay-chip.purple{color:var(--purple);border-color:color-mix(in oklab, var(--purple) 35%, var(--border))}.viewport-overlay-chip.green{color:var(--green);border-color:color-mix(in oklab, var(--green) 35%, var(--border))}.titleblock-overlay{pointer-events:none;background:color-mix(in oklab, var(--bg-app) 92%, transparent);border:1px solid var(--border);border-radius:var(--radius-chip);max-width:42%;padding:4px;position:absolute;bottom:12px;right:12px}.titleblock-overlay svg{max-width:100%;height:auto;display:block}.cabinet-empty-state{pointer-events:none;background:color-mix(in oklab, var(--bg-app) 90%, transparent);border:1px solid var(--border);border-radius:var(--radius-menu);text-align:center;flex-direction:column;align-items:center;gap:6px;max-width:420px;padding:16px 20px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.cabinet-empty-state-title{color:var(--text);font-family:var(--font-ui);margin:0;font-size:14px;font-weight:600}.cabinet-empty-state-body{color:var(--text-soft);font-family:var(--font-ui);margin:0;font-size:12.5px;line-height:1.45}.dock-empty-state{color:var(--text-soft);font-family:var(--font-ui);margin:0;padding:8px 4px 4px;font-size:12px;line-height:1.5}.cabinet3d-preview-badge{z-index:3;pointer-events:none;color:var(--amber);font-family:var(--font-mono);letter-spacing:.04em;background:color-mix(in oklab, var(--bg-app) 85%, transparent);border:1px solid color-mix(in oklab, var(--amber) 35%, var(--border));border-radius:var(--radius-menu);margin:0;padding:3px 9px;font-size:11px;position:absolute;top:12px;left:12px}.view-gizmo{background:color-mix(in oklab, var(--bg-app) 82%, transparent);border:1px solid var(--border);border-radius:50%;place-items:center;width:88px;height:88px;display:grid;position:absolute;bottom:14px;right:14px}.view-gizmo-axis{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:10.5px}.view-gizmo-axis.x{color:var(--red)}.view-gizmo-axis.y{color:var(--accent)}.view-gizmo-axis.z{color:var(--green)}.overlay-scrim{z-index:80;background:var(--bg-scrim);justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.overlay-scrim--top{align-items:flex-start;padding-top:80px}.command-palette{background:color-mix(in oklab, var(--accent) 2%, var(--bg-menu));border:1px solid color-mix(in oklab, var(--accent) 16%, var(--border));border-radius:var(--radius-menu);width:480px;max-width:calc(100vw - 48px);box-shadow:var(--shadow-floating);flex-direction:column;height:420px;display:flex;overflow:hidden}.dialog-shortcuts{width:560px}.shortcut-search-row{height:var(--h-input);background:color-mix(in oklab, var(--accent) 4%, var(--bg-input));border:1px solid color-mix(in oklab, var(--accent) 16%, var(--border));border-radius:var(--radius-input);align-items:center;gap:8px;margin-bottom:12px;padding:0 8px;display:flex}.shortcut-search-icon{width:14px;height:14px;color:var(--text-muted);stroke-width:1.5px;flex:none}.shortcut-search{min-width:0;height:100%;color:var(--text);font-family:var(--font-ui);background:0 0;border:0;outline:0;flex:1;padding:0;font-size:12px}.shortcut-search::placeholder{color:var(--text-muted)}.command-palette-search-row{border-bottom:1px solid color-mix(in oklab, var(--accent) 12%, var(--border));align-items:center;gap:8px;height:40px;padding:0 12px;display:flex}.command-palette-search-icon{width:16px;height:16px;color:var(--text-muted);stroke-width:1.5px;flex:none}.command-palette-search{min-width:0;height:100%;color:var(--text);font-family:var(--font-ui);background:0 0;border:0;outline:0;flex:1;padding:0;font-size:14px}.command-palette-search::placeholder{color:var(--text-muted)}.command-palette-results{flex:1;padding:4px 0;overflow:auto}.command-row,.context-menu-item,.shortcut-row{min-height:26px;color:var(--text-soft);grid-template-columns:18px 1fr auto;align-items:center;gap:8px;padding:0 10px;font-size:12px;display:grid}.command-row{grid-template-columns:18px 1fr auto}.context-menu-item{border-radius:var(--radius-button)}.command-row:hover,.command-row.active,.context-menu-item:hover,.context-menu-item:focus-visible{background:color-mix(in oklab, var(--accent) 16%, transparent);color:var(--text)}.command-row[aria-disabled=true],.context-menu-item[aria-disabled=true],.context-menu-item:disabled{color:var(--text-disabled);pointer-events:none}.command-row kbd,.context-menu-item kbd,.shortcut-row kbd,.tooltip kbd{color:var(--text-muted);font-family:var(--font-mono);font-variant-numeric:tabular-nums;margin-left:auto;font-size:10.5px}.shortcut-catalog{grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;padding:1px;display:grid;overflow:auto}.shortcut-group{background:color-mix(in oklab, var(--accent) 3%, var(--bg-dock));min-width:0;padding:8px 10px 10px}.shortcut-group-title{color:var(--text-soft);letter-spacing:.08em;text-transform:uppercase;margin:0 0 6px;font-size:11px;font-weight:600}.shortcut-row{min-height:24px;color:var(--text-soft);grid-template-columns:1fr auto;padding:0}.context-menu{z-index:90;background:color-mix(in oklab, var(--accent) 2%, var(--bg-menu));border:1px solid color-mix(in oklab, var(--accent) 16%, var(--border));border-radius:var(--radius-menu);width:max-content;min-width:200px;max-width:320px;box-shadow:var(--shadow-floating);padding:4px;position:absolute}.context-menu-item{width:100%;font:inherit;text-align:left;cursor:default;background:0 0;border:0;outline:0;padding:0 8px}.context-menu--no-icons .context-menu-item{grid-template-columns:1fr auto}.context-menu--no-icons .context-menu-item .context-menu-icon{display:none}.context-menu-separator{background:var(--border-soft);height:1px;margin:4px 0}.context-menu-item .context-menu-section-title{color:var(--text-soft);font-size:var(--font-chip-size);letter-spacing:.08em;text-transform:uppercase;font-weight:600}.context-menu-item svg{width:14px;height:14px;color:var(--text-muted);stroke-width:1.5px}.tooltip{z-index:100;background:var(--bg-tooltip);border:1px solid var(--border);border-radius:var(--radius-menu);max-width:240px;box-shadow:var(--shadow-floating);color:var(--text);font-size:var(--font-tooltip-size);font-weight:500;line-height:var(--font-tooltip-line);align-items:center;gap:10px;padding:4px 8px;display:inline-flex;position:absolute}.dialog{background:color-mix(in oklab, var(--accent) 2%, var(--bg-menu));border:1px solid color-mix(in oklab, var(--accent) 16%, var(--border));border-radius:var(--radius-menu);width:480px;max-width:calc(100vw - 48px);max-height:calc(100vh - 160px);box-shadow:var(--shadow-floating);color:var(--text);font-family:var(--font-ui);flex-direction:column;font-size:13px;display:flex;overflow:hidden}.dialog-find-replace,.dialog-recent-projects{width:640px}.dialog-header{border-bottom:1px solid color-mix(in oklab, var(--accent) 12%, var(--border-soft));min-height:34px;color:var(--text);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:8px;padding:0 12px;font-size:12px;font-weight:600;display:flex}.dialog-header-prose{letter-spacing:0;text-transform:none;font-size:14px;font-weight:600}.dialog-title{flex:1;min-width:0}.dialog-header-close{border-radius:var(--radius-button);width:22px;height:22px;color:var(--text-muted);cursor:pointer;transition:background var(--dur-instant) var(--ease), color var(--dur-instant) var(--ease);background:0 0;border:0;outline:0;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.dialog-header-close:hover{background:color-mix(in oklab, var(--accent) 10%, transparent);color:var(--text)}.dialog-header-close:focus-visible{outline:2px solid var(--accent-ring);outline-offset:2px}.dialog-header-close svg{stroke-width:1.5px;width:14px;height:14px}.dialog-body{flex:1;padding:12px;overflow:auto}.dialog-stack{flex-direction:column;gap:10px;display:flex}.dialog-brand{color:var(--text);font-size:16px;font-weight:600}.dialog-paragraph{color:var(--text-soft);margin:0}.dialog-meta{color:var(--text-muted);margin:0;font-size:11.5px}.dialog-about-stack{text-align:center;align-items:center;gap:8px;padding:12px 12px 16px}.dialog-about-badge{background:color-mix(in srgb, var(--brand-blue) 18%, transparent);border:1px solid var(--brand-blue);width:56px;height:56px;color:var(--brand-blue);border-radius:3px;justify-content:center;align-items:center;margin-bottom:4px;display:inline-flex}.dialog-about-badge svg{width:28px;height:28px}.dialog-about-version{color:var(--text-soft);align-items:baseline;gap:6px;font-size:12px;display:inline-flex}.dialog-about-version-value{color:var(--text);font-family:var(--font-mono);font-variant-numeric:tabular-nums}.dialog-about-links{align-items:center;gap:8px;margin-top:4px;display:inline-flex}.dialog-about-links .dialog-link{font-size:12px}.dialog-about-sep{color:var(--text-disabled)}.dialog-empty{color:var(--text-muted);text-align:center;margin:0;padding:16px 0}.dialog-field{flex-direction:column;gap:4px;display:flex}.dialog-field-label{color:var(--text-soft);letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:600}.dialog-field-hint{color:var(--text-muted);font-size:11px}.dialog-input,.dialog-select{height:var(--h-input);background:color-mix(in oklab, var(--accent) 4%, var(--bg-input));color:var(--text);border:1px solid color-mix(in oklab, var(--accent) 12%, var(--border));border-radius:var(--radius-input);font-family:var(--font-ui);outline:0;padding:0 8px;font-size:13px}.dialog-input:focus,.dialog-select:focus{border-color:var(--accent)}.dialog-checkbox{color:var(--text-soft);align-items:center;gap:8px;font-size:12px;display:inline-flex}.dialog-textarea{resize:vertical;background:color-mix(in oklab, var(--accent) 4%, var(--bg-input));min-height:72px;color:var(--text);border:1px solid color-mix(in oklab, var(--accent) 12%, var(--border));border-radius:var(--radius-input);font-family:var(--font-ui);outline:0;padding:6px 8px;font-size:13px;line-height:18px}.dialog-textarea:focus{border-color:var(--accent)}.dialog-meta-grid{margin-top:4px}.dialog-meta-grid.propgrid{grid-template-columns:30% minmax(0,1fr)}.dialog-meta-grid .value,.dialog-meta-grid .value:hover{background:0 0}.dialog-table{border-collapse:collapse;width:100%;font-size:12px}.dialog-table th,.dialog-table td{text-align:left;border-bottom:1px solid var(--border-soft);padding:4px 6px}.dialog-table th{color:var(--text-soft);letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:600}.dialog-table td:last-child{width:28px}.dialog-table .dialog-cell-mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.dialog-table .dialog-cell-num{text-align:right}.dialog-table-rows .dialog-row{cursor:default}.dialog-table-rows .dialog-row.selected td{background:color-mix(in oklab, var(--accent) 14%, transparent);color:var(--text)}.dialog-table-rows .dialog-row:hover td{background:color-mix(in oklab, var(--accent) 8%, transparent)}.dialog-tabs{border-bottom:1px solid color-mix(in oklab, var(--accent) 12%, var(--border-soft));align-items:stretch;gap:0;padding:0 12px;display:flex}.dialog-tab{min-height:30px;color:var(--text-soft);font-family:var(--font-ui);cursor:pointer;transition:color var(--dur-instant) var(--ease), border-color var(--dur-quick) var(--ease);background:0 0;border:0;border-bottom:2px solid #0000;outline:0;align-items:center;padding:0 12px;font-size:12px;font-weight:500;display:inline-flex}.dialog-tab:hover{color:var(--text)}.dialog-tab.active{color:var(--text);border-bottom-color:var(--accent)}.dialog-tab:focus-visible{outline:2px solid var(--accent-ring);outline-offset:-2px}.dialog-results-summary{color:var(--text-soft);letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:11px;font-weight:600}.dialog-link{color:var(--accent);cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;outline:0;padding:0}.dialog-link:focus-visible{outline:2px solid var(--accent-ring);outline-offset:2px}.dialog-sort-button{color:inherit;cursor:pointer;font:inherit;text-transform:inherit;letter-spacing:inherit;font-weight:inherit;background:0 0;border:0;outline:0;padding:0}.dialog-sort-button:focus-visible{outline:2px solid var(--accent-ring);outline-offset:2px}.dialog-footer{border-top:1px solid color-mix(in oklab, var(--accent) 12%, var(--border-soft));background:color-mix(in oklab, var(--accent) 2%, var(--bg-menu));justify-content:flex-end;align-items:center;gap:8px;padding:8px 12px;display:flex}.dialog-footer-split{justify-content:flex-start}.dialog-footer-spacer{flex:1}.dialog-confirm{width:380px}.dialog-confirm-body{flex-direction:column;gap:12px;padding:16px;display:flex}.dialog-confirm-message{white-space:pre-line;margin:0;line-height:1.5}.dialog-button-danger{background:color-mix(in oklab, var(--danger,#d24) 82%, transparent);border-color:color-mix(in oklab, var(--danger,#d24) 60%, var(--border))}.dialog-button-row{flex-wrap:wrap;gap:8px;display:flex}.dialog-button{min-width:72px;height:var(--h-button);background:color-mix(in oklab, var(--accent) 10%, transparent);color:var(--text);border:1px solid color-mix(in oklab, var(--accent) 42%, var(--border));border-radius:var(--radius-button);font-family:var(--font-ui);cursor:pointer;transition:background var(--dur-instant) var(--ease), border-color var(--dur-instant) var(--ease), color var(--dur-instant) var(--ease);outline:0;justify-content:center;align-items:center;padding:0 12px;font-size:12px;font-weight:600;display:inline-flex}.dialog-button:hover:not(:disabled){background:color-mix(in oklab, var(--accent) 16%, transparent);border-color:color-mix(in oklab, var(--accent) 65%, var(--border))}.dialog-button:focus-visible{outline:2px solid var(--accent-ring);outline-offset:2px}.dialog-button:disabled{background:var(--bg-input);border-color:var(--border);color:var(--text-disabled);cursor:not-allowed}.dialog-button-primary{background:color-mix(in oklab, var(--accent) 16%, transparent);border-color:var(--accent);color:var(--text)}.dialog-button-primary:hover:not(:disabled){background:color-mix(in oklab, var(--accent) 22%, transparent);border-color:var(--accent)}.dialog-button-icon{width:22px;min-width:22px;height:22px;padding:0}.dialog-button-glyph{stroke-width:1.5px;width:14px;height:14px;margin-right:6px}.dialog-results{flex-direction:column;gap:6px;display:flex}.dialog-results-expanded{flex:1}.dialog-form{flex-direction:column;gap:12px;display:flex}.dialog-help{color:var(--text-soft);margin:0;font-size:12px}.dialog-between-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.dialog-register-row{justify-content:center;margin:8px -12px -8px;display:flex}.dialog-form .dialog-footer{margin:4px -12px -12px}.dialog-error{border:1px solid color-mix(in oklab, var(--red) 60%, var(--border));border-radius:var(--radius-input);background:color-mix(in oklab, var(--red) 12%, transparent);color:var(--text);margin:0;padding:6px 8px;font-size:12px}.dialog-info{border:1px solid color-mix(in oklab, var(--green) 60%, var(--border));border-radius:var(--radius-input);background:color-mix(in oklab, var(--green) 12%, transparent);color:var(--text);margin:0;padding:6px 8px;font-size:12px}.dialog-login{width:360px}.dialog-cloud-projects{width:640px}.dialog-export{width:460px}.dialog-preferences{width:720px}.dialog-field-grid{grid-template-columns:1fr 1fr;gap:12px 24px;display:grid}.dialog-prefs-body{grid-template-columns:180px 1fr;gap:0;padding:0;display:grid}.dialog-prefs-nav{border-right:1px solid color-mix(in oklab, var(--accent) 12%, var(--border-soft));flex-direction:column;gap:2px;padding:12px 8px;display:flex}.dialog-prefs-nav-item{border-radius:var(--radius-button);min-height:28px;color:var(--text-soft);font-family:var(--font-ui);text-align:left;cursor:pointer;transition:background var(--dur-instant) var(--ease), color var(--dur-instant) var(--ease);background:0 0;border:0;outline:0;align-items:center;padding:0 12px;font-size:12px;display:flex}.dialog-prefs-nav-item:hover{color:var(--text)}.dialog-prefs-nav-item.active{background:color-mix(in oklab, var(--accent) 14%, transparent);color:var(--accent)}.dialog-prefs-nav-item:focus-visible{outline:2px solid var(--accent-ring);outline-offset:-2px}.dialog-prefs-pane{padding:16px;overflow:auto}.dialog-field-unit{align-items:center;gap:8px;display:flex}.dialog-field-unit .dialog-input{flex:1;min-width:0}.dialog-field-suffix{color:var(--text-muted);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:11.5px}.dialog-segmented{border:1px solid color-mix(in oklab, var(--accent) 16%, var(--border));border-radius:var(--radius-button);display:inline-flex;overflow:hidden}.dialog-segmented-item{min-height:var(--h-button);border:0;border-right:1px solid color-mix(in oklab, var(--accent) 16%, var(--border));color:var(--text-soft);font-family:var(--font-ui);cursor:pointer;background:0 0;outline:0;padding:0 14px;font-size:12px}.dialog-segmented-item:last-child{border-right:0}.dialog-segmented-item.active{background:color-mix(in oklab, var(--accent) 16%, transparent);color:var(--accent)}.dialog-segmented-item:focus-visible{outline:2px solid var(--accent-ring);outline-offset:-2px}.dialog-prefs-note{color:var(--text-muted);align-items:center;gap:8px;margin:12px 0 0;font-size:11.5px;display:flex}.dialog-prefs-note svg{stroke-width:1.5px;width:14px;height:14px}.dialog-profile{flex-direction:column;gap:16px;display:flex}.dialog-profile-head{align-items:center;gap:12px;display:flex}.dialog-profile-avatar{background:color-mix(in oklab, var(--accent) 18%, transparent);width:40px;height:40px;color:var(--accent);font-family:var(--font-ui);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:15px;font-weight:600;display:inline-flex}.dialog-profile-identity{flex-direction:column;gap:2px;min-width:0;display:flex}.dialog-profile-name{color:var(--text);font-size:14px;font-weight:600}.dialog-profile-email{color:var(--text-soft);font-family:var(--font-mono);font-size:11.5px}.dialog-profile-role{border:1px solid var(--accent-ring);border-radius:var(--radius-chip);background:color-mix(in oklab, var(--accent) 14%, transparent);height:18px;color:var(--accent);letter-spacing:.04em;align-items:center;margin-left:auto;padding:0 8px;font-size:10.5px;display:inline-flex}.dialog-readonly{min-height:var(--h-input);border:1px solid var(--border-soft);border-radius:var(--radius-input);background:var(--bg-row);color:var(--text-soft);align-items:center;padding:0 8px;font-size:12px;display:flex}.dialog-profile-actions{align-items:center;gap:12px;display:flex}.dialog-profile-status{font-size:11.5px}.dialog-profile-status.is-saved{color:var(--green)}.dialog-profile-status.is-error{color:var(--red)}.dialog-profile-empty{color:var(--text-muted);font-size:12px;line-height:var(--font-body-line)}.dialog-soon-chip{border:1px solid var(--border);border-radius:var(--radius-chip);background:var(--bg-input);height:14px;color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;align-items:center;margin-left:6px;padding:0 5px;font-size:9.5px;display:inline-flex}.dialog-segmented.is-disabled{opacity:.55}.dialog-segmented-item:disabled{cursor:default}.dialog-input:disabled{opacity:.55;cursor:default}.dialog-swatches{flex-wrap:wrap;gap:12px;display:flex}.dialog-swatch{flex-direction:column;align-items:center;gap:4px;width:56px;display:flex}.dialog-swatch-chip{border:1px solid var(--border);border-radius:var(--radius-input);width:56px;height:28px}.dialog-swatch-label{color:var(--text-muted);font-size:10.5px}.dialog-swatch--accent{background:var(--accent)}.dialog-swatch--amber{background:var(--amber)}.dialog-swatch--green{background:var(--green)}.dialog-swatch--red{background:var(--red)}.dialog-swatch--purple{background:var(--purple)}.dialog-diag{border:1px solid var(--border-soft);border-radius:var(--radius-input);flex-direction:column;display:flex}.dialog-diag-row{min-height:var(--h-row);color:var(--text-soft);justify-content:space-between;align-items:center;gap:12px;padding:4px 10px;font-size:12px;display:flex}.dialog-diag-row+.dialog-diag-row{border-top:1px solid var(--border-soft)}.dialog-diag-row .mono{color:var(--text)}.dialog-print{width:880px}.dialog-print-body{grid-template-columns:1fr 320px;gap:24px;display:grid}.dialog-print-preview{flex-direction:column;gap:8px;min-width:0;display:flex}.dialog-print-sheet{aspect-ratio:4/3;background:color-mix(in oklab, var(--accent) 4%, var(--bg-app));border:1px solid var(--border-soft);border-radius:var(--radius-input);flex-direction:column;min-height:0;display:flex;overflow:hidden}.dialog-print-figure{background:#fff;flex:1;min-height:0;overflow:hidden}.dialog-print-figure svg{width:100%;height:100%;display:block}.dialog-print-empty{color:var(--text-muted);background:var(--bg-app);justify-content:center;align-items:center;padding:16px;font-size:12px;display:flex}.dialog-print-titleblock{border-top:1px solid var(--border-soft);flex-direction:column;gap:2px;padding:8px 12px;display:flex}.dialog-print-tb-row{color:var(--text-soft);justify-content:space-between;gap:12px;font-size:12px;display:flex}.dialog-print-tb-meta{color:var(--text-muted);font-size:11px}.dialog-print-caption{color:var(--text-muted);justify-content:space-between;gap:12px;margin:0;font-size:11.5px;display:flex}.dialog-print-settings{flex-direction:column;gap:12px;display:flex}.dialog-print-copies .dialog-input{width:96px}@media print{body.print-mode .menubar,body.print-mode .titlebar,body.print-mode .workspace-tabs,body.print-mode .toolbar,body.print-mode .dock,body.print-mode .bottom-dock,body.print-mode .statusbar,body.print-mode .folio-tabs,body.print-mode .hint-strip{display:none!important}body.print-mode .viewport-frame{width:100vw;height:100vh}body.print-mode .viewport-canvas{background:#fff!important}}.mono{font-family:var(--font-mono);font-size:var(--font-mono-size);line-height:var(--font-mono-line);font-variant-numeric:tabular-nums}.focus-ring,.focus-ring-inset{outline:2px solid #0000}.focus-ring{outline-offset:2px}.focus-ring-inset{outline-offset:-2px}.focus-ring:focus-visible,.focus-ring-inset:focus-visible{outline-color:var(--accent-ring)}kbd,.kbd{border:1px solid var(--border);border-radius:var(--radius-button);background:var(--bg-input);min-width:16px;min-height:16px;color:var(--text-soft);font-family:var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap;justify-content:center;align-items:center;padding:1px 4px;font-size:10px;line-height:14px;display:inline-flex}.cursor-pointer{cursor:pointer}.element-xml-pre{font:inherit;white-space:pre-wrap;margin:0}.standalone-shell{background:var(--bg-app);min-height:100vh;color:var(--text);font-family:var(--font-ui);flex-direction:column;display:flex}.standalone-header{border-bottom:1px solid var(--border);background:var(--bg-app);align-items:center;gap:10px;padding:18px 20px;display:flex}.standalone-logo-badge{background:color-mix(in srgb, var(--brand-blue) 18%, transparent);border:1px solid var(--brand-blue);width:28px;height:28px;color:var(--brand-blue);border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.edraw-brand-wordmark,.standalone-wordmark{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--text);font-size:13px;font-weight:400;line-height:1}.standalone-wordmark-divider{color:var(--text-muted);font-family:var(--font-ui);-webkit-user-select:none;user-select:none;margin:0 6px;font-size:13px;line-height:1}.standalone-wordmark-by-prefix{font-family:var(--font-ui);color:var(--text-muted);font-size:11px;font-weight:400;line-height:1}.standalone-wordmark-voltplan{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--text);font-size:13px;font-weight:400;line-height:1}.standalone-main{flex:1;justify-content:center;align-items:center;min-width:0;padding:28px 14px;display:flex}.standalone-card{background:var(--bg-dock);border:1px solid var(--border);border-radius:var(--radius-menu);box-sizing:border-box;width:100%;max-width:440px;padding:24px}.standalone-card-brand{align-items:center;gap:8px;margin-bottom:24px;display:flex}.standalone-title{color:var(--text);letter-spacing:-.005em;margin:0 0 16px;font-size:18px;font-weight:600;line-height:1.3}.standalone-title-center{text-align:center;margin-bottom:4px}.standalone-subtitle{color:var(--text-soft);text-align:center;margin:0 0 24px;font-size:13px;line-height:1.4}.standalone-form{flex-direction:column;gap:14px;display:flex}.standalone-link-row{justify-content:space-between;align-items:center;gap:12px;margin-top:4px;display:flex}.standalone-link{appearance:none;color:var(--accent);font-family:var(--font-ui);cursor:pointer;background:0 0;border:0;padding:0;font-size:13px;font-weight:500;text-decoration:none;transition:color .15s}.standalone-link:hover:not(:disabled){color:var(--text)}.standalone-link:disabled{color:var(--text-disabled);cursor:not-allowed}.standalone-field{flex-direction:column;gap:4px;display:flex}.standalone-field-label{font-family:var(--font-ui);letter-spacing:.06em;text-transform:uppercase;color:var(--text-soft);font-size:11px;font-weight:600}.standalone-input{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-input);height:36px;color:var(--text);font-family:var(--font-ui);outline:0;padding:0 12px;font-size:14px;transition:border-color .15s,box-shadow .15s}.standalone-input::placeholder{color:var(--text-muted)}.standalone-input:focus{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-ring)}.standalone-input:disabled{background:var(--bg-row);color:var(--text-disabled);cursor:not-allowed}.standalone-error{background:color-mix(in oklab, var(--red) 12%, transparent);border:1px solid color-mix(in oklab, var(--red) 35%, var(--border));border-radius:var(--radius-input);color:var(--red);margin:0;padding:10px 12px;font-size:13px;line-height:1.4}.standalone-button{background:color-mix(in oklab, var(--accent) 16%, transparent);border:1px solid var(--accent);border-radius:var(--radius-input);width:100%;height:36px;color:var(--accent);font-family:var(--font-ui);cursor:pointer;justify-content:center;align-items:center;margin-top:4px;padding:0 16px;font-size:14px;font-weight:500;text-decoration:none;transition:background .15s,opacity .15s;display:inline-flex}.standalone-button:hover:not(:disabled){background:color-mix(in oklab, var(--accent) 24%, transparent)}.standalone-button:disabled{opacity:.6;cursor:wait}.standalone-card-footer{border-top:1px solid var(--border-soft);justify-content:center;align-items:center;gap:18px;margin-top:24px;padding-top:16px;display:flex}.standalone-card-footer a{color:var(--text-muted);font-size:12px;text-decoration:none;transition:color .15s}.standalone-card-footer a:hover{color:var(--text)}.standalone-legal-notice{color:var(--text-muted);text-align:center;margin:18px 0 0;font-size:11.5px;line-height:1.5}.standalone-legal-notice a{color:var(--accent);font-weight:600;text-decoration:none}.standalone-legal-notice a:hover{color:var(--text)}.standalone-toggle{appearance:none;box-shadow:none;color:var(--accent);font-family:var(--font-ui);cursor:pointer;background:0 0;border:0;align-self:center;margin-top:8px;padding:4px 8px;font-size:13px;font-weight:500;text-decoration:none}.standalone-toggle:hover:not(:disabled),.standalone-toggle:active,.standalone-toggle:focus-visible{box-shadow:none;background:0 0;text-decoration:underline}.standalone-footer{border-top:1px solid var(--border);color:var(--text-muted);flex-wrap:wrap;justify-content:center;align-items:center;gap:18px;padding:16px 20px 20px;font-size:12px;display:flex}.standalone-footer a{color:var(--text-soft);text-decoration:none;transition:color .15s}.standalone-footer a:hover{color:var(--accent)}.standalone-footer-sep{color:var(--border);-webkit-user-select:none;user-select:none}.standalone-help{color:var(--text-soft);margin:-8px 0 16px;font-size:13px;line-height:1.5}.standalone-legal-main{align-items:flex-start;padding:32px 20px 48px}.standalone-legal{width:100%;max-width:720px;color:var(--text);margin:0 auto;font-size:14px;line-height:1.65}.standalone-legal h1{color:var(--text);letter-spacing:-.005em;margin:0 0 8px;font-size:22px;font-weight:600;line-height:1.25}.standalone-legal h2{color:var(--text);margin:28px 0 8px;font-size:16px;font-weight:600;line-height:1.3}.standalone-legal h3{color:var(--text);margin:20px 0 6px;font-size:14px;font-weight:600;line-height:1.3}.standalone-legal p{color:var(--text-soft);margin:0 0 14px}.standalone-legal ul{color:var(--text-soft);margin:0 0 14px;padding-left:22px}.standalone-legal li{margin:4px 0}.standalone-legal a{color:var(--brand-blue);text-decoration:none}.standalone-legal a:hover{text-decoration:underline}.standalone-legal blockquote{background:color-mix(in srgb, var(--banner-amber) 8%, transparent);border-left:3px solid var(--banner-amber);color:var(--text);border-radius:0 3px 3px 0;margin:14px 0;padding:12px 14px;font-size:13px;line-height:1.55}.standalone-legal blockquote strong{color:var(--banner-amber)}.standalone-legal strong{color:var(--text);font-weight:600}.standalone-legal-rule{border:0;border-top:1px solid var(--border);margin:28px 0}.standalone-footer span[aria-current=page]{color:var(--text-muted);font-weight:500}
