: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;--red:#ff6b6b;--green:#5bd38a;--purple:#b58bff;--grid-line:#12161c;--grid-major:#1d232c;--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;--ease:cubic-bezier(.2, .8, .2, 1);--dur-instant:90ms;--dur-quick:.12s;--h-titlebar:28px;--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:284px;--w-dock-right:324px;--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}*,: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}.shell{grid-template-rows:var(--h-titlebar) var(--h-menubar) var(--h-workspace-tabs) var(--h-toolbar) 1fr var(--h-hint) var(--h-dock-bottom) var(--h-status);grid-template-columns:var(--w-dock-left) 1fr var(--w-dock-right);background:var(--bg-app);height:100vh;display:grid}.staging-banner{color:#ff9800;text-align:center;-webkit-user-select:none;user-select:none;background:#ff980026;border-bottom:1px solid #ff98004d;justify-content:center;align-items:center;height:29px;padding:0 16px;font-size:12px;font-weight:500;display:flex}.shell[data-host-mode=standalone]{height:calc(100vh - 29px)}.shell.bottom-collapsed{grid-template-rows:var(--h-titlebar) var(--h-menubar) var(--h-workspace-tabs) var(--h-toolbar) 1fr var(--h-hint) 0 var(--h-status)}.shell>:is(.titlebar,.menubar,.workspace-tabs,.toolbar,.hint-strip,.statusbar){grid-column:1/-1}.shell-readonly-chip{bottom:calc(var(--h-status) + 12px);z-index:40;background:color-mix(in oklab, var(--bg-app) 88%, transparent);border:1px solid color-mix(in oklab, var(--amber) 35%, var(--border));border-radius:var(--radius-chip);color:var(--amber);font-family:var(--font-mono);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:5px 10px;font-size:10.5px;display:inline-flex;position:fixed;left:16px}.titlebar{height:var(--h-titlebar);background:var(--bg-dock);border-bottom:1px solid var(--border-soft);align-items:center;gap:12px;padding:0 8px;display:flex}.titlebar-brand{letter-spacing:.16em;text-transform:uppercase;color:var(--text);font-size:10.5px;font-weight:700}.titlebar-brand:after{content:"";background:var(--border);vertical-align:middle;width:1px;height:12px;margin:0 8px -2px;display:inline-block}.titlebar-path,.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:9px;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 var(--border);border-radius:var(--radius-chip);min-height:18px;color:var(--text-muted);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:.1em;font-size:10px}.host-chip.voltplan{color:var(--purple);border-color:color-mix(in oklab, var(--purple) 60%, var(--border))}.account-menu{align-items:stretch;display:inline-flex;position:relative}.account-chip{text-overflow:ellipsis;white-space:nowrap;border:1px solid var(--border);border-radius:var(--radius-chip);max-width:220px;min-height:18px;color:var(--text-soft);font-family:var(--font-mono);cursor:pointer;transition:background var(--dur-instant) var(--ease), color var(--dur-instant) var(--ease);background:0 0;outline:0;align-items:center;gap:6px;padding:2px 6px;font-size:10.5px;font-weight:500;display:inline-flex;overflow:hidden}.account-chip:hover{background:var(--bg-row-hover);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);justify-content:center;align-items:center;font-size:9.5px;font-weight:700;display:inline-flex}.account-email{text-overflow:ellipsis;overflow:hidden}.account-dropdown{z-index:30;border:1px solid var(--border);border-radius:var(--radius-menu);background:var(--bg-menu);min-width:200px;box-shadow:var(--shadow-floating);padding:4px;position:absolute;top:calc(100% + 4px);right:0}.account-dropdown-meta{color:var(--text-muted);font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;border-bottom:1px solid var(--border-soft);margin-bottom:4px;padding:4px 8px;font-size:10.5px;overflow:hidden}.account-dropdown-item{border-radius:var(--radius-button);width:100%;min-height:26px;color:var(--text-soft);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;padding:0 8px;font-size:12px;display:flex}.account-dropdown-item:hover{background:var(--bg-row-hover);color:var(--text)}.cmdp-chip{color:var(--text-soft);transition:background var(--dur-instant) var(--ease), color var(--dur-instant) var(--ease)}.cmdp-chip:hover{background:var(--bg-row-hover);color:var(--text)}.cmdp-chip kbd,.hint-strip kbd{border:1px solid var(--border);border-radius:var(--radius-button);background:var(--bg-input);min-width:16px;color:var(--text-soft);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-app);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\.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}.menubar-item,.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}:is(.menubar-item,.menu-trigger):hover,.menu-trigger.open{background:var(--bg-row-hover);color:var(--text)}.menu-dropdown{z-index:30;border:1px solid var(--border);border-radius:var(--radius-menu);background: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:var(--bg-row-hover);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{height:var(--h-workspace-tabs);background:var(--bg-app);border-bottom:1px solid var(--border);align-items:stretch;padding:0 8px;display:flex}.workspace-tab{color:var(--text-muted);cursor:pointer;transition:background var(--dur-instant) var(--ease), color var(--dur-instant) var(--ease);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(--bg-row-hover) 60%, transparent);color:var(--text-soft)}.workspace-tab.active{border-bottom-color:var(--accent);color:var(--text)}.workspace-tab svg{width:14px;height:14px;color:inherit}.workspace-tab .shortcut{color:var(--text-disabled);font-family:var(--font-mono);margin-left:2px;font-size:10.5px}.workspace-tabs-right{align-items:center;gap:6px;margin-left:auto;padding-right:4px;display:flex}.toolbar{height:var(--h-toolbar);background:var(--bg-app);border-bottom:1px solid var(--border);align-items:center;padding:0 6px;display:flex}.toolbar-group{border-right:1px solid var(--border-soft);align-items:center;gap:2px;height: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:var(--text-soft);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-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:var(--bg-row-hover);color:var(--text)}.tb-btn:active,.tb-btn.pressed,.tb-btn[data-pressed=true]{background:color-mix(in oklab, var(--bg-row-hover) 70%, var(--accent));color:var(--text)}.tb-btn.active{background:var(--bg-row-active);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: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-app);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:var(--text-muted);font-family:var(--font-mono);font-variant-numeric:tabular-nums;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:11.5px;display:inline-flex}.folio-tab:hover{background:var(--bg-row-hover);color:var(--text-soft)}.folio-tab.active{background:var(--bg-app);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-muted);padding:0 8px;font-size:14px}.folio-tab-add:hover{color:var(--text)}.hint-strip{height:var(--h-hint);background:var(--bg-app);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}.statusbar{height:var(--h-status);background:var(--bg-app);border-top:1px solid 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}.status-item{border-right:1px solid var(--border-soft);height:100%;transition:background var(--dur-instant) var(--ease), color var(--dur-instant) var(--ease);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:var(--bg-row-hover);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)}.breadcrumb,.status-breadcrumb{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);max-width:40%;height:100%;padding:0 8px}: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)}.welcome-picker{background: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{color:var(--text);letter-spacing:.12em;text-transform:uppercase;margin:0 0 4px;font-size:14px;font-weight:700;line-height:18px}.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);color:var(--text-soft);background:0 0;padding:0 10px;font-size:11px}.welcome-small-btn:hover{background:var(--bg-row-hover);color:var(--text)}.welcome-small-btn.primary{border-color:color-mix(in oklab, var(--accent) 65%, var(--border));color:var(--text)}.welcome-section{border:1px solid var(--border);background: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 var(--border);border-radius:var(--radius-button);color:var(--text-soft);font-family:var(--font-ui);background:0 0;align-items:center;gap:6px;padding:0 8px;font-size:12px;display:inline-flex}.welcome-action:hover{background:var(--bg-row-hover);color:var(--text)}.welcome-action.primary{border-color:color-mix(in oklab, var(--accent) 65%, var(--border));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:var(--bg-row-hover)}.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)}.dock{width:var(--dock-size,auto);contain:layout style paint;background:var(--bg-dock);border:1px solid var(--border);flex-direction:column;display:flex;position:relative;overflow:hidden}.dock-left{border-top:0;border-bottom:0;border-left:0}.dock-right{border-top:0;border-bottom:0;border-right:0}.dock.collapsed{width:28px;min-width:28px}.dock[data-resizing=true]{-webkit-user-select:none;user-select:none}.dock-rail{background:var(--bg-dock);border-right:1px solid var(--border);flex-direction:column;align-items:stretch;width:28px;height:100%;display:flex}.dock-right .dock-rail{border-right:0;border-left:1px solid var(--border)}.dock-rail-tab{border-bottom:1px solid var(--border-soft);width:28px;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;font-size:9.5px;display:inline-flex;position:relative}.dock-rail-tab:hover{background:var(--bg-row-hover);color:var(--text-soft)}.dock-rail-tab.active{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{color:var(--text-muted);cursor:pointer;font-size:var(--font-header-size);font-weight:var(--font-header-weight);line-height:var(--font-header-line);letter-spacing:.08em;text-transform:uppercase;transition:color var(--dur-instant) var(--ease), border-color var(--dur-quick) var(--ease);border-bottom:2px solid #0000;align-items:center;gap:4px;margin-bottom:-1px;padding:0 10px;display:inline-flex}.dock-tab:hover{color:var(--text-soft)}.dock-tab.active,.dock-tab[aria-selected=true]{color:var(--text);border-bottom-color:var(--accent)}.dock-tab.dirty:before{content:"●";color:var(--amber);font-size:8px;line-height:1}.dock-tab svg{stroke-width:1.5px;width:14px;height:14px}.dock-tab-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dock-header-right{align-items:center;gap:2px;margin-left:auto;padding-right:2px;display:flex}.dock-icon-btn{width:22px;height:22px;color:var(--text-muted);border-radius:var(--radius-button);transition:background var(--dur-instant) var(--ease), color var(--dur-instant) var(--ease);justify-content:center;align-items:center;display:inline-flex}.dock-icon-btn:hover{color:var(--text);background:var(--bg-row-hover)}.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:4px}.bottom-dock-body::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.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:var(--bg-row-hover)}.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:var(--bg-row-hover)}.tree-row.active,.tree-row[aria-selected=true]{color:var(--text);background:var(--bg-row-active)}.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}.propgrid{color:var(--text-soft);font-size:var(--font-dense-size);grid-template-columns:40% 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}.propgrid .value:hover{background:var(--bg-dock-alt)}.propgrid .value:focus-within{background: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);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;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{background:var(--bg-dock);border-top:1px solid var(--border);flex-direction:column;grid-column:1/-1;display:flex;overflow:hidden}.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);padding-bottom:4px}.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}.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{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-snap-target{border:1px solid var(--amber);background:color-mix(in oklab, var(--amber) 28%, transparent);pointer-events:none;width:8px;height:8px;position:absolute;transform:translate(-50%,-50%)}.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))}.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:flex-start;padding:80px 24px 24px;display:flex;position:fixed;inset:0}.command-palette,.shortcut-overlay{background:var(--bg-menu);border:1px solid var(--border);border-radius:var(--radius-menu);width:480px;max-width:calc(100vw - 48px);box-shadow:var(--shadow-floating);overflow:hidden}.command-palette{flex-direction:column;height:420px;display:flex}.shortcut-overlay{max-height:calc(100vh - 160px)}.command-palette-header,.shortcut-overlay-header{border-bottom:1px solid var(--border-soft);min-height:34px;color:var(--text);letter-spacing:.04em;text-transform:uppercase;align-items:center;padding:0 12px;font-size:12px;font-weight:600;display:flex}.command-palette-search{background:var(--bg-input);border:0;border-bottom:1px solid var(--border);width:100%;height:32px;color:var(--text);font-family:var(--font-ui);outline:0;padding:0 12px;font-size:13px}.command-palette-search:focus{border-bottom-color:var(--accent)}.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{border-left:2px solid #0000;grid-template-columns:18px 1fr auto auto;padding-left:8px}.command-row:hover,.command-row.active,.context-menu-item:hover,.context-menu-item:focus-visible{background:var(--bg-row-hover);color:var(--text)}.command-row.active{border-left-color:var(--accent)}.command-row[aria-disabled=true],.context-menu-item[aria-disabled=true],.context-menu-item:disabled{color:var(--text-disabled);pointer-events:none}.command-row .source{border:1px solid var(--border);border-radius:var(--radius-chip);min-width:54px;color:var(--text-muted);font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:center;justify-self:start;padding:1px 4px;font-size:10px}.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: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:var(--bg-menu);border:1px solid var(--border);border-radius:var(--radius-menu);width:max-content;min-width:240px;max-width:360px;box-shadow:var(--shadow-floating);padding:4px 0;position:absolute}.context-menu-item{width:100%;font:inherit;text-align:left;cursor:default;background:0 0;border:0;outline:0}.context-menu-separator{background:var(--border-soft);height:1px;margin:4px 0}.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:var(--bg-menu);border:1px solid 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 var(--border-soft);min-height:34px;color:var(--text);letter-spacing:.04em;text-transform:uppercase;align-items:center;padding:0 12px;font-size:12px;font-weight:600;display:flex}.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-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:var(--bg-input);color:var(--text);border:1px solid 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-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-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 var(--border-soft);background: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-button-row{flex-wrap:wrap;gap:8px;display:flex}.dialog-button{min-width:72px;height:var(--h-button);background:var(--bg-input);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-button);font:inherit;cursor:pointer;transition:background var(--dur-instant) var(--ease), border-color var(--dur-instant) var(--ease);outline:0;justify-content:center;align-items:center;padding:0 12px;font-size:12px;display:inline-flex}.dialog-button:hover:not(:disabled){background:var(--bg-row-hover)}.dialog-button:focus-visible{outline:2px solid var(--accent-ring);outline-offset:2px}.dialog-button:disabled{color:var(--text-disabled);cursor:not-allowed}.dialog-button-primary{background:var(--accent-weak);border-color:var(--accent);color:var(--text)}.dialog-button-primary:hover:not(:disabled){background:color-mix(in oklab, var(--accent) 28%, transparent)}.dialog-button-icon{width:22px;min-width:22px;height:22px;padding:0}.dialog-form{flex-direction:column;gap:12px;display:flex}.dialog-help{color:var(--text-soft);margin:0;font-size: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-footer-stack{background:0 0;border-top:0;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:8px;padding-top:4px;display:flex}.dialog-footer-stack .dialog-button{width:100%}.dialog-footer-stack .dialog-link{align-self:flex-start}.dialog-login{width:360px}.dialog-cloud-projects{width:640px}.export-dialog{background:var(--bg-menu);border:1px solid var(--border);border-radius:var(--radius-menu);width:420px;max-width:calc(100vw - 48px);box-shadow:var(--shadow-floating);flex-direction:column;display:flex;overflow:hidden}.export-dialog-header{border-bottom:1px solid var(--border-soft);min-height:34px;color:var(--text);letter-spacing:.04em;text-transform:uppercase;align-items:center;padding:0 12px;font-size:12px;font-weight:600;display:flex}.export-dialog-body{flex-direction:column;padding:6px 0;display:flex}.export-dialog-option{color:var(--text);font:inherit;text-align:left;cursor:default;background:0 0;border:0;outline:0;grid-template-columns:1fr auto;align-items:center;gap:6px 12px;padding:8px 12px;display:grid}.export-dialog-option:hover,.export-dialog-option:focus-visible{background:var(--bg-row-hover)}.export-dialog-option-label{grid-column:1/2;font-size:13px;font-weight:500}.export-dialog-option-description{color:var(--text-soft);grid-column:1/2;font-size:11px}.export-dialog-option kbd{color:var(--text-muted);font-family:var(--font-mono);grid-area:1/2/3/3;align-self:center;font-size:10.5px}.export-dialog-footer{border-top:1px solid var(--border-soft);background:var(--bg-dock);justify-content:flex-end;padding:8px 12px;display:flex}.export-dialog-cancel{border:1px solid var(--border);border-radius:var(--radius-button);background:var(--bg-input);height:28px;color:var(--text);font:inherit;cursor:default;padding:0 12px}.export-dialog-cancel:hover,.export-dialog-cancel:focus-visible{background:var(--bg-row-hover)}@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}
