.app{background:var(--bg-app);height:100vh;color:var(--text-primary);flex-direction:column;display:flex}.app-chrome{background:var(--bg-chrome);border-bottom:1px solid var(--border-default);box-shadow:var(--shadow-sm);flex-shrink:0}.menu-bar{background:var(--bg-chrome);border-bottom:1px solid var(--border-subtle);-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:1rem;min-height:36px;padding:0 .5rem 0 .25rem;font-size:.8125rem;display:flex}.menu-brand{border-right:1px solid var(--border-subtle);align-items:center;gap:.5rem;margin-right:.15rem;padding:0 .65rem 0 .5rem;display:flex}.menu-brand-mark{border-radius:var(--radius-sm);background:linear-gradient(135deg, var(--accent) 0%, #0891b2 100%);width:22px;height:22px;color:var(--text-inverse);letter-spacing:-.02em;place-items:center;font-size:.65rem;font-weight:700;display:grid;box-shadow:0 0 12px #2dd4bf59}.menu-brand-name{color:var(--text-secondary);letter-spacing:.01em;font-size:.78rem;font-weight:600}.menu-menus{align-items:stretch;display:flex}.menu-root{position:relative}.menu-trigger{cursor:pointer;color:var(--text-secondary);font:inherit;border-radius:var(--radius-sm);transition:background var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);background:0 0;border:none;padding:.45rem .65rem;font-weight:500}.menu-trigger:hover,.menu-root:focus-within .menu-trigger{background:var(--bg-hover);color:var(--text-primary)}.menu-dropdown{z-index:300;background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-md);min-width:200px;box-shadow:var(--shadow-md);animation:menu-in var(--duration-normal) var(--ease-out);padding:.35rem;position:absolute;top:calc(100% + 4px);left:0}@keyframes menu-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.menu-dropdown-wide{min-width:240px;padding:.5rem .65rem}.menu-item{text-align:left;width:100%;font:inherit;cursor:pointer;color:var(--text-primary);border-radius:var(--radius-sm);transition:background var(--duration-fast) var(--ease-out);background:0 0;border:none;padding:.4rem .65rem;display:block}.menu-item:hover:not(:disabled){background:var(--bg-hover)}.menu-item:disabled{opacity:.4}.menu-item.checked{color:var(--accent)}.menu-sep{background:var(--border-subtle);height:1px;margin:.3rem .4rem}.menu-hint{color:var(--text-muted);padding:.2rem 0;font-size:.75rem;line-height:1.5}.menu-title{text-align:center;font-size:.8125rem;font-family:var(--font-mono);color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;flex:1;padding:0 1rem;font-weight:500;overflow:hidden}.menu-heading{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);pointer-events:none;padding:.35rem .65rem .2rem;font-size:.65rem;font-weight:600}.menu-item-recent{text-overflow:ellipsis;white-space:nowrap;max-width:240px;font-family:var(--font-mono);font-size:.78rem;overflow:hidden}.toolbar-shell{background:var(--bg-surface);border-bottom:1px solid var(--border-subtle);flex-direction:column;display:flex}.toolbar{background:var(--bg-surface);border-bottom:1px solid var(--border-subtle);align-items:center;gap:.75rem;min-width:0;min-height:44px;padding:.4rem .75rem .3rem;display:flex}.layer-toggle-bar{scrollbar-width:thin;align-items:center;gap:.35rem;padding:.25rem .75rem .45rem;display:flex;overflow-x:auto}.layer-toggle-bar-disabled{opacity:.45;pointer-events:none}.layer-chip{border:1px solid var(--border-default);background:var(--bg-input);min-height:26px;color:var(--text-secondary);letter-spacing:.01em;white-space:nowrap;transition:background var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out);border-radius:999px;flex:none;align-items:center;padding:0 .55rem;font-size:.72rem;font-weight:600;display:inline-flex}.layer-chip:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.layer-chip.active.layer-chip-fill{color:#c8c8c8;background:#c8c8c81f;border-color:#c8c8c859}.layer-chip.active.layer-chip-cutouts{color:#5ec8ff;background:#5ec8ff1a;border-color:#5ec8ff59;box-shadow:0 0 0 1px #5ec8ff33}.layer-chip.active.layer-chip-traces{color:#0e0;background:#00ee001a;border-color:#00ee0059;box-shadow:0 0 0 1px #0e03}.layer-chip.active.layer-chip-vias{color:#f0b429;background:#f0b4291a;border-color:#f0b42959}.layer-chip.active.layer-chip-pads{color:#f5f5f5;background:#f5f5f514;border-color:#f5f5f54d}.layer-chip.active.layer-chip-parts{color:#e8d44d;background:#e8d44d1a;border-color:#e8d44d59}.layer-chip.active.layer-chip-labels{color:var(--accent);border-color:var(--accent-border);background:var(--accent-muted)}.toolbar-selects{flex:auto;align-items:center;gap:.65rem;min-width:0;display:flex}.toolbar-group{align-items:center;gap:.2rem;display:flex}.toolbar-end{margin-left:auto;position:relative}.toolbar-sep{background:var(--border-subtle);width:1px;height:24px;margin:0 .35rem}.icon-btn{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--text-secondary);transition:background var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out);background:0 0;border:1px solid #0000;place-items:center;padding:0;display:grid}.icon-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-subtle)}.icon-btn.active{background:var(--accent-muted);color:var(--accent);border-color:var(--accent-border)}.icon-btn:disabled{opacity:.35}.icon-btn-labeled{align-items:center;gap:.3rem;width:auto;min-width:32px;height:32px;padding:0 .45rem;display:inline-flex}.icon-btn-text{white-space:nowrap;font-size:.72rem;font-weight:600}.icon-btn-glyph{font-size:.68rem;font-weight:700;font-family:var(--font-mono);line-height:1}.toolbar-panels{flex-shrink:0}.layer-btn{border:1px solid var(--border-default);background:var(--bg-input);cursor:pointer;min-width:56px;height:30px;color:var(--text-secondary);transition:background var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out);padding:0 .65rem;font-size:.78rem;font-weight:500}.layer-btn:first-child{border-radius:var(--radius-sm) 0 0 var(--radius-sm)}.layer-btn:last-child{border-radius:0 var(--radius-sm) var(--radius-sm) 0;margin-left:-1px}.layer-btn.active{background:var(--accent-muted);border-color:var(--accent-border);color:var(--accent);z-index:1;position:relative}.toolbar-combo{flex:1 1 0;align-items:center;gap:.45rem;min-width:0;max-width:220px;display:flex}.toolbar-combo-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);white-space:nowrap;flex-shrink:0;font-size:.75rem;font-weight:600}.toolbar-combo-field{flex:1;min-width:0;position:relative}.toolbar-combo-field input{border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-input);width:100%;min-width:0;height:30px;font-size:.8125rem;font-family:var(--font-mono);color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;transition:border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out);padding:0 .55rem;overflow:hidden}.toolbar-combo-field input::placeholder{color:var(--text-muted)}.toolbar-combo-field input:hover{border-color:var(--border-strong)}.toolbar-combo-field input:focus{border-color:var(--accent-border);box-shadow:0 0 0 3px var(--accent-muted);outline:none}.toolbar-combo-list{z-index:250;overscroll-behavior:contain;background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-md);width:max(100%,200px);max-width:min(320px,100vw - 1.5rem);max-height:min(280px,100vh - 8rem);box-shadow:var(--shadow-md);margin:0;padding:.3rem;list-style:none;position:absolute;top:calc(100% + 4px);left:0;overflow-y:auto}.toolbar-combo-list button{text-align:left;width:100%;font-size:.8125rem;font-family:var(--font-mono);cursor:pointer;color:var(--text-primary);border-radius:var(--radius-sm);text-overflow:ellipsis;white-space:nowrap;transition:background var(--duration-fast) var(--ease-out);background:0 0;border:none;padding:.35rem .5rem;display:block;overflow:hidden}.toolbar-combo-list button:hover{background:var(--bg-hover)}.combo-more{color:var(--text-muted);padding:.35rem .5rem;font-size:.72rem}.search-match-count{font-size:.72rem;font-family:var(--font-mono);color:var(--accent);background:var(--accent-muted);white-space:nowrap;border-radius:999px;align-self:center;padding:.15rem .45rem;font-weight:500}.search-match-empty{color:var(--text-muted);background:var(--bg-elevated)}.workspace{flex:1;min-height:0;display:grid}.board-sidebar{background:var(--bg-chrome);border-right:1px solid var(--border-default);flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.sidebar-section{border-bottom:1px solid var(--border-subtle);flex-direction:column;min-height:0;padding:.65rem .55rem;display:flex}.sidebar-section:last-child{border-bottom:none;flex:1}.sidebar-section-grow{flex:1;min-height:0}.panel-shell{flex-direction:column;min-width:0;height:100%;min-height:0;display:flex;position:relative}.panel-shell-left .board-sidebar,.panel-shell-right .inspector-panel{flex:1;min-height:0}.panel-collapse-btn{z-index:3;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-elevated);width:22px;height:22px;color:var(--text-secondary);padding:0;font-size:.85rem;line-height:1;position:absolute;top:.45rem}.panel-collapse-btn-left{right:.35rem}.panel-collapse-btn-right{left:.35rem}.panel-collapse-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.panel-collapse-strip{background:var(--bg-chrome);border-right:1px solid var(--border-default);flex-direction:column;align-items:stretch;min-height:0;display:flex}.panel-collapse-strip-right{border-right:none;border-left:1px solid var(--border-default)}.panel-collapse-expand{color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.35rem;padding:.5rem .25rem;display:flex}.panel-collapse-expand:hover{background:var(--bg-hover);color:var(--text-primary)}.panel-collapse-expand-icon{font-size:1rem;font-weight:700}.panel-collapse-expand-label{writing-mode:vertical-rl;text-orientation:mixed;letter-spacing:.06em;text-transform:uppercase;font-size:.62rem;font-weight:700;transform:rotate(180deg)}.trace-path-banner{z-index:6;border:1px solid var(--accent-border);border-radius:var(--radius-lg);background:color-mix(in srgb, var(--bg-elevated) 94%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);max-width:min(560px,100% - 1.5rem);box-shadow:var(--shadow-md);align-items:center;gap:.65rem;padding:.5rem .85rem;display:flex;position:absolute;top:.75rem;left:50%;transform:translate(-50%)}.trace-path-banner-text{color:var(--accent);font-size:.8125rem;font-weight:600}.trace-path-banner-hint{color:var(--text-muted);white-space:nowrap;font-size:.72rem}.trace-path-banner-exit{font:inherit;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text-secondary);cursor:pointer;margin-left:auto;padding:.2rem .5rem;font-size:.72rem;font-weight:600}.trace-path-banner-exit:hover{background:var(--bg-hover);color:var(--text-primary)}.menu-root-floating{position:relative}.menu-root-floating .menu-dropdown-wide{max-width:min(480px,100vw - 1.5rem);max-height:min(70vh,520px);position:fixed;top:2.75rem;left:50%;overflow:auto;transform:translate(-50%)}.welcome-recents{text-align:left;margin-top:1rem}.welcome-recents-wide{width:100%;max-width:1100px;margin:0 auto}.welcome-recents-title{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin:0 0 .4rem;font-size:.72rem;font-weight:600}.welcome-recent-list{flex-direction:column;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.welcome-recent-list-inline{flex-flow:wrap;gap:.4rem}.welcome-recent-item{font:inherit;font-family:var(--font-mono);text-align:left;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-secondary);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;max-width:100%;padding:.3rem .55rem;font-size:.78rem;overflow:hidden}.welcome-recent-item:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--accent-border)}.sidebar-section-head{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.45rem;display:flex}.sidebar-section-title-row{align-items:baseline;gap:.4rem;min-width:0;display:flex}.sidebar-section-title{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin:0;font-size:.72rem;font-weight:700}.sidebar-section-count{color:var(--text-muted);font-size:.72rem}.sidebar-section-actions{gap:.25rem;display:flex}.sidebar-mini-btn{border:1px solid var(--border-subtle);background:var(--bg-elevated);color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;padding:.15rem .4rem;font-size:.68rem}.sidebar-mini-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar-search-row{align-items:center;gap:.35rem;margin-bottom:.45rem;display:flex}.sidebar-search{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-app);min-width:0;color:var(--text-primary);flex:1;padding:.35rem .5rem;font-size:.78rem}.sidebar-search-matches{color:var(--text-muted);flex-shrink:0;font-size:.68rem}.sidebar-search-matches-empty{color:var(--text-muted);font-style:italic}.display-layer-picker{flex-direction:column;gap:.2rem;margin-bottom:.4rem;display:flex}.display-layer-picker-label{color:var(--text-muted);font-size:.68rem}.display-layer-picker-select{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-app);width:100%;color:var(--text-primary);padding:.3rem .4rem;font-size:.76rem}.display-layer-copper-presets{flex-wrap:wrap;gap:.25rem;margin-bottom:.35rem;display:flex}.display-layer-list li{align-items:center;gap:.25rem;display:flex}.display-layer-item-solo .display-layer-row{color:var(--text-primary);font-weight:600}.display-layer-solo-btn{border:1px solid var(--border-subtle);color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;background:0 0;flex-shrink:0;padding:.1rem .35rem;font-size:.62rem}.display-layer-solo-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.component-list{flex:1;min-height:0;margin:0;padding:0;list-style:none;overflow:auto}.component-list-item{width:100%;color:var(--text-secondary);text-align:left;border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;gap:.35rem;padding:.28rem .35rem;font-size:.78rem;display:flex}.component-list-item:hover,.component-list-item.active,.component-list-item.search-match{background:var(--bg-hover);color:var(--text-primary)}.component-list-item.search-match:not(.active){box-shadow:inset 2px 0 0 var(--accent)}.component-list-side{color:var(--text-muted);flex-shrink:0;font-size:.65rem}.display-layers-grid{min-height:0;overflow:auto}.display-layer-group{border:none;margin:0 0 .55rem;padding:0}.display-layer-group legend{color:var(--text-muted);margin-bottom:.25rem;font-size:.68rem;font-weight:600}.display-layer-list{margin:0;padding:0;list-style:none}.display-layer-row{color:var(--text-secondary);cursor:pointer;align-items:center;gap:.4rem;padding:.18rem 0;font-size:.76rem;display:flex}.display-layer-row-toggle{color:var(--text-primary);font-weight:600}.display-layer-hint{color:var(--text-muted);margin:.15rem 0 0;font-size:.68rem;line-height:1.35}.display-layer-radio-list{margin:0;padding:0;list-style:none}.display-layer-radio-row{color:var(--text-secondary);cursor:pointer;align-items:center;gap:.4rem;padding:.22rem 0;font-size:.76rem;display:flex}.display-layer-radio-row input[type=radio]{flex-shrink:0}.display-layer-swatch{border:1px solid #ffffff1f;border-radius:2px;flex-shrink:0;width:10px;height:10px}.sidebar-empty,.sidebar-empty-inline{color:var(--text-muted);margin:0;font-size:.78rem}.sidebar-empty{padding:1rem .75rem}body.workspace-dragging{cursor:col-resize;-webkit-user-select:none;user-select:none}body.workspace-dragging .board-canvas{cursor:col-resize}.viewer-split{grid-template-columns:1fr;min-width:0;min-height:0;display:grid;overflow:hidden}.viewer-split.with-schematic{grid-template-columns:1fr 10px 1fr}.split-handle{cursor:col-resize;background:var(--bg-surface);border-left:1px solid var(--border-subtle);border-right:1px solid var(--border-subtle);transition:background var(--duration-fast) var(--ease-out);flex-shrink:0}.inspector-split-handle{z-index:2}.split-handle:hover{background:var(--accent-muted)}.board-viewer,.schematic-viewer{min-width:0;min-height:0;position:relative}.viewer{background:var(--bg-canvas);min-width:0;min-height:0;position:relative}.inspector-panel{--inspector-bg:#eceff3;--inspector-surface:#fff;--inspector-grid:#c5cad3;--inspector-refdes:#c62828;--inspector-refdes-border:#c62828;--inspector-select-bg:#1e6fd9;--inspector-select-text:#fff;--inspector-text:#1a1f28;--inspector-muted:#5f6775;--inspector-tab-bg:#dfe3ea;border-left:1px solid var(--border-default);background:var(--inspector-bg);color:var(--inspector-text);min-height:0;font-family:var(--font-sans);flex-direction:column;display:flex;overflow:hidden}.inspector-tabs{background:var(--inspector-tab-bg);border-top:1px solid var(--inspector-grid);flex-shrink:0;gap:0;display:flex}.inspector-tabs-footer{margin-top:auto}.inspector-tabs button{border:none;border-right:1px solid var(--inspector-grid);cursor:pointer;min-width:0;color:var(--inspector-muted);text-overflow:ellipsis;white-space:nowrap;background:0 0;flex:1;padding:.38rem .45rem;font-size:.78rem;font-weight:600;overflow:hidden}.inspector-tabs button:last-child{border-right:none}.inspector-tabs button:hover{color:var(--inspector-text);background:#ffffff8c}.inspector-tabs button.active{color:var(--inspector-text);background:var(--inspector-surface)}.inspector-header{background:var(--inspector-surface);border-bottom:1px solid var(--inspector-grid);flex-shrink:0;padding:.55rem .65rem .5rem}.inspector-header-empty{align-items:center;min-height:2.75rem;display:flex}.inspector-empty-label{color:var(--inspector-muted);font-size:.8125rem}.inspector-body{background:var(--inspector-bg);flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.inspector-body[hidden]{display:none!important}.inspector-refdes-box{border:1px solid var(--inspector-refdes-border);background:var(--inspector-surface);color:var(--inspector-refdes);letter-spacing:.01em;border-radius:3px;padding:.08rem .42rem;font-size:.875rem;font-weight:700;line-height:1.35;display:inline-block}.inspector-part-value{color:var(--inspector-text);word-break:break-word;margin-top:.28rem;font-size:.8125rem;font-weight:400;line-height:1.35}.inspector-net-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.inspector-net-actions{flex-shrink:0;align-items:center;gap:.35rem;display:flex}.inspector-copy-btn{font:inherit;border:1px solid var(--inspector-grid);background:var(--inspector-surface);color:var(--inspector-muted);cursor:pointer;border-radius:3px;padding:.12rem .42rem;font-size:.72rem;font-weight:600}.inspector-copy-btn:hover{color:var(--inspector-text);border-color:var(--inspector-text)}.inspector-copy-hint{color:var(--inspector-select-bg);font-size:.68rem;font-weight:600}.inspector-panel .pin-table-wrap{overscroll-behavior:contain;background:var(--inspector-surface);flex:auto;min-height:0;overflow-y:auto}.inspector-panel .pin-table{table-layout:fixed;border-collapse:collapse;background:var(--inspector-surface);width:100%;font-size:.8125rem}.inspector-panel .pin-table thead{z-index:1;position:sticky;top:0}.inspector-panel .pin-table th{text-align:left;background:var(--inspector-surface);border-bottom:1px solid var(--inspector-grid);border-right:1px solid var(--inspector-grid);text-transform:none;letter-spacing:normal;color:var(--inspector-text);padding:0;font-size:.8125rem;font-weight:600}.inspector-panel .pin-table th:last-child{border-right:none}.inspector-panel .pin-table td{border-bottom:1px solid var(--inspector-grid);border-right:1px solid var(--inspector-grid);font-family:var(--font-sans);color:var(--inspector-text);cursor:default;text-overflow:ellipsis;white-space:nowrap;background:var(--inspector-surface);max-width:0;height:1.45rem;padding:.18rem .55rem;font-size:.8125rem;overflow:hidden}.inspector-panel .pin-table td:last-child{border-right:none}.inspector-panel .bom-table td{white-space:normal;word-break:break-word;max-width:none;height:auto;min-height:1.45rem}.inspector-panel .pin-table tbody tr.pin-row-clickable td{cursor:pointer}.inspector-panel .pin-table tbody tr:hover:not(.selected) td{background:#eef2f8}.inspector-panel .pin-table tbody tr.selected td,.inspector-panel .pin-table tbody tr.selected:hover td{background:var(--inspector-select-bg);color:var(--inspector-select-text)}.inspector-panel .pin-table tbody tr:focus-visible{outline:2px solid var(--inspector-select-bg);outline-offset:-2px}.inspector-panel .pin-table-empty td{color:var(--inspector-muted);text-align:center;white-space:normal;cursor:default;max-width:none;height:auto;padding:.85rem .65rem;font-style:italic;overflow:visible}.inspector-panel .pin-table-filler td{cursor:default;color:#0000;height:1.45rem}.inspector-panel .pin-net-cell{cursor:pointer}.inspector-panel .pin-table-sort-btn{width:100%;font:inherit;color:inherit;cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;gap:.35rem;padding:.28rem .55rem;font-weight:600;display:flex}.inspector-panel .pin-table-sort-btn:hover{color:var(--inspector-select-bg)}.inspector-panel .pin-table-sort-indicator{color:var(--inspector-muted);font-size:.62rem;line-height:1}.inspector-panel .pin-table-sortable[aria-sort=ascending] .pin-table-sort-indicator,.inspector-panel .pin-table-sortable[aria-sort=descending] .pin-table-sort-indicator{color:var(--inspector-text)}.layer-viewer{flex-direction:column;min-height:0;padding:.15rem .1rem;display:flex;overflow:auto}.layer-viewer-empty{color:var(--text-muted);font-size:.8125rem;line-height:1.45}.layer-viewer-actions{flex-wrap:wrap;gap:.35rem;margin-bottom:.55rem;display:flex}.layer-viewer-btn{border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-chrome);color:var(--text-primary);cursor:pointer;padding:.28rem .55rem;font-size:.75rem}.layer-viewer-btn:hover{border-color:var(--accent)}.layer-viewer-hint,.layer-viewer-side-note{color:var(--text-muted);margin:0 0 .55rem;font-size:.75rem;line-height:1.4}.layer-viewer-list{flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.layer-viewer-row{align-items:center;gap:.35rem;display:flex}.layer-viewer-toggle{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-chrome);color:var(--text-primary);cursor:pointer;text-align:left;flex:1;align-items:center;gap:.45rem;padding:.38rem .5rem;font-size:.8125rem;display:flex}.layer-viewer-toggle.active{background:#00ee0014;border-color:#00ee0073}.layer-viewer-eye{width:1rem;color:var(--accent);font-size:.75rem}.layer-viewer-solo{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;background:0 0;padding:.32rem .45rem;font-size:.72rem}.layer-viewer-solo:hover{color:var(--text-primary);border-color:var(--border-default)}.canvas-wrap{position:absolute;inset:0}.canvas-pin-tooltip{z-index:40;pointer-events:none;border:1px solid var(--border-default);border-radius:var(--radius-sm);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);max-width:280px;color:var(--text-primary);font-family:var(--font-mono);white-space:nowrap;box-shadow:var(--shadow-md);background:#0f141cf0;padding:.35rem .6rem;font-size:.75rem;position:absolute}.board-canvas{touch-action:none;cursor:default;width:100%;height:100%;display:block}.board-canvas.is-panning{cursor:grabbing}.board-canvas.trace-view-mode{cursor:crosshair}.board-canvas.trace-view-mode.is-panning{cursor:grabbing}.welcome-landing{overscroll-behavior:contain;flex-direction:column;justify-content:center;gap:1.5rem;padding:clamp(1.25rem,3vw,2.5rem);display:flex;position:absolute;inset:0;overflow-y:auto}.welcome-hero{grid-template-columns:minmax(0,320px) minmax(0,1fr);align-items:center;gap:clamp(1rem,3vw,2rem);width:100%;max-width:920px;margin:0 auto;display:grid}.welcome-preview{border-radius:var(--radius-lg);width:100%;max-width:320px;height:auto;box-shadow:var(--shadow-md);justify-self:center}.welcome-hero-copy{min-width:0}.welcome-title{color:var(--text-primary);margin:0 0 .5rem;font-size:clamp(1.25rem,2.5vw,1.65rem);font-weight:600}.welcome-tagline{color:var(--text-secondary);max-width:36rem;margin:0 0 1.1rem;font-size:.9375rem;line-height:1.5}.welcome-actions{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.welcome-open-btn{border:1px solid var(--accent-border);border-radius:var(--radius-sm);background:var(--accent-muted);color:var(--accent);transition:background var(--duration-fast) var(--ease-out);padding:.55rem 1.15rem;font-size:.875rem;font-weight:600}.welcome-open-btn:hover{background:color-mix(in srgb, var(--accent) 22%, transparent)}.welcome-drop-hint{color:var(--text-muted);font-size:.8125rem}.welcome-formats{font-size:.8125rem;font-family:var(--font-mono);color:var(--text-muted);border:1px solid var(--border-subtle);background:var(--bg-surface);border-radius:999px;padding:.25rem .65rem}.welcome-sections{grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem;width:100%;max-width:1100px;margin:0 auto;display:grid}.welcome-section{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:color-mix(in srgb, var(--bg-surface) 88%, transparent);padding:.85rem 1rem}.welcome-section h2{text-transform:uppercase;letter-spacing:.05em;color:var(--accent);margin:0 0 .4rem;font-size:.72rem;font-weight:600}.welcome-section p{color:var(--text-secondary);margin:0;font-size:.8125rem;line-height:1.5}.first-run-hint{border-radius:var(--radius-lg);border:1px solid var(--accent-border);background:color-mix(in srgb, var(--bg-elevated) 92%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);max-width:min(520px,100% - 2rem);box-shadow:var(--shadow-md);z-index:5;align-items:center;gap:.85rem;padding:.85rem 1rem;display:flex;position:absolute;bottom:1.25rem;left:50%;transform:translate(-50%)}.first-run-hint p{color:var(--text-secondary);margin:0;font-size:.8125rem;line-height:1.45}.first-run-hint-dismiss{font:inherit;cursor:pointer;border:1px solid var(--accent-border);background:var(--accent-muted);color:var(--accent);border-radius:var(--radius-sm);flex-shrink:0;padding:.35rem .75rem;font-size:.8125rem;font-weight:600}.first-run-hint-dismiss:hover{background:var(--bg-hover)}.schematic-panel{background:var(--bg-chrome);border-left:1px solid var(--border-default);flex-direction:column;height:100%;display:flex}.schematic-empty{text-align:center;color:var(--text-secondary);place-content:center;gap:1rem;height:100%;padding:2rem;display:grid}.schematic-empty p{margin:0;font-size:.9375rem}.schematic-empty button{border:1px solid var(--accent-border);border-radius:var(--radius-sm);background:var(--accent-muted);color:var(--accent);transition:background var(--duration-fast) var(--ease-out);justify-self:center;padding:.5rem 1rem;font-weight:500}.schematic-empty button:hover{background:color-mix(in srgb, var(--accent) 22%, transparent)}.schematic-toolbar{border-bottom:1px solid var(--border-subtle);background:var(--bg-surface);color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:.5rem;padding:.45rem .65rem;font-size:.8125rem;display:flex}.schematic-toolbar-title{letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);flex-shrink:0;font-size:.72rem;font-weight:700}.schematic-toolbar-end{align-items:center;gap:.35rem;margin-left:auto;display:flex}.schematic-toolbar-action{font:inherit;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text-secondary);cursor:pointer;padding:.25rem .55rem;font-size:.78rem}.schematic-toolbar-action:hover{background:var(--bg-hover);color:var(--text-primary)}.schematic-close-panel{font:inherit;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text-secondary);cursor:pointer;align-items:center;gap:.3rem;padding:.25rem .55rem;font-size:.78rem;font-weight:600;display:inline-flex}.schematic-close-panel:hover{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger-text)}.schematic-close-panel span[aria-hidden]{font-size:1.05rem;line-height:1}.schematic-close-panel-label{white-space:nowrap}@media (width<=720px){.schematic-close-panel-label{display:none}}.schematic-name{text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono);flex:1;font-size:.78rem;overflow:hidden}.schematic-zoom{align-items:center;gap:.35rem;display:flex}.schematic-zoom button,.schematic-toolbar>button{border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-input);min-width:28px;height:28px;color:var(--text-secondary);transition:background var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);padding:0 .45rem;font-size:.8125rem}.schematic-zoom button:hover,.schematic-toolbar>button:hover{background:var(--bg-hover);color:var(--text-primary)}.schematic-toolbar>button.active{background:var(--accent-muted);border-color:var(--accent-border);color:var(--accent)}.schematic-status{color:var(--text-muted);border-bottom:1px solid var(--border-subtle);background:var(--bg-chrome);padding:.35rem .65rem;font-size:.75rem}.schematic-scroll{background:var(--bg-canvas);flex:1;padding:.75rem;overflow:auto}.schematic-page{margin-bottom:1.25rem}.schematic-page-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:.35rem;font-size:.7rem;font-weight:600;display:block}.schematic-canvas-wrap{display:inline-block;position:relative}.schematic-canvas-wrap canvas{border-radius:var(--radius-sm);max-width:100%;box-shadow:var(--shadow-md);background:#f8fafc;display:block}.schematic-highlight{border:2px solid var(--danger-text);background:var(--danger-bg);border-radius:var(--radius-sm);pointer-events:none;box-shadow:0 0 16px var(--danger-border);position:absolute}.status-bar{background:var(--bg-chrome);border-top:1px solid var(--border-default);color:var(--text-secondary);flex-shrink:0;justify-content:space-between;align-items:center;gap:1rem;padding:.35rem .75rem;font-size:.75rem;display:flex}.status-message{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.status-bar-end{flex-shrink:0;align-items:center;gap:.85rem;display:flex}.status-metrics{flex-shrink:0;align-items:center;gap:.65rem;display:flex}.status-fps,.status-zoom{font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:right;font-size:.75rem;font-weight:600}.status-fps{color:var(--text-secondary);min-width:4.25rem}.status-zoom{color:var(--accent);min-width:3rem}.hints{font-family:var(--font-mono);color:var(--text-muted);white-space:nowrap;font-size:.68rem}.hints-inline{display:inline}.hints-mobile{display:none}.status-bar-help{pointer-events:auto;position:relative}.status-help-btn{font:inherit;font-size:.68rem;font-weight:600;font-family:var(--font-mono);border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text-secondary);white-space:nowrap;transition:background var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out);padding:.2rem .55rem}.status-help-btn:hover,.status-help-btn.active{background:var(--accent-muted);border-color:var(--accent-border);color:var(--accent)}.status-help-panel{z-index:120;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-elevated);width:min(360px,100vw - 1.5rem);box-shadow:var(--shadow-md);padding:.65rem .75rem;position:absolute;bottom:calc(100% + 8px);right:0}.status-help-panel-head{color:var(--text-primary);justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.45rem;font-size:.75rem;font-weight:600;display:flex}.status-help-close{font:inherit;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text-secondary);padding:.15rem .45rem;font-size:.72rem}.status-help-close:hover{background:var(--bg-hover);color:var(--text-primary)}.status-help-list{color:var(--text-secondary);margin:0;padding:0;font-size:.75rem;line-height:1.55;list-style:none}.loading-overlay{z-index:200;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#070b10b8;place-items:center;display:grid;position:fixed;inset:0}.loading-card{background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-lg);text-align:center;min-width:280px;color:var(--text-primary);box-shadow:var(--shadow-lg);padding:1.75rem 2.25rem}.loading-card p{color:var(--text-secondary);margin:0;font-size:.875rem}.loading-spinner{border:3px solid var(--border-default);border-top-color:var(--accent);border-radius:50%;width:40px;height:40px;margin:0 auto 1rem;animation:.75s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.error-boundary{text-align:center;background:var(--bg-app);min-height:100vh;color:var(--text-primary);place-content:center;gap:1rem;padding:2rem;display:grid}.error-boundary h2{color:var(--danger-text);margin:0;font-size:1.35rem}.error-boundary p{color:var(--text-secondary);max-width:480px;margin:0}.error-boundary-detail{word-break:break-word;max-width:560px}.error-boundary-detail code{color:var(--danger-text);font-size:.85rem}.error-boundary-actions{flex-wrap:wrap;justify-content:center;gap:.65rem;display:flex}.error-boundary button{border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-primary);transition:background var(--duration-fast) var(--ease-out);padding:.5rem 1rem;font-weight:500}.error-boundary button:hover{background:var(--bg-hover)}.error-boundary button.primary{background:var(--accent-muted);border-color:var(--accent-border);color:var(--accent)}.drag-over-message{border:2px dashed var(--accent-border);border-radius:var(--radius-lg);z-index:100;pointer-events:none;color:var(--accent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#2dd4bf14;place-items:center;font-size:1.35rem;font-weight:600;display:grid;position:fixed;inset:12px}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.welcome-demo-btn{border-radius:var(--radius-md);border:1px solid var(--border-default);background:var(--bg-elevated);color:var(--text-primary);padding:.55rem 1rem;font-weight:600}.welcome-demo-btn:hover{background:var(--bg-hover)}.about-links{font-size:.875rem}.about-links a{color:var(--accent)}.banner{align-items:center;gap:.5rem;padding:.45rem .85rem;font-size:.8125rem;display:flex}.banner.error{background:var(--danger-bg);color:var(--danger-text);border-bottom:1px solid var(--danger-border)}.banner-message{flex:1;min-width:0}.banner.info{background:var(--info-bg);color:var(--info-text);border-bottom:1px solid var(--info-border)}.banner.warnings{background:var(--warning-bg);color:var(--warning-text);border-bottom:1px solid var(--warning-border);flex-direction:column;align-items:stretch;font-size:.78rem;line-height:1.45}.banner.paired-schematic{background:var(--success-bg);color:var(--success-text);border-bottom:1px solid var(--success-border);flex-wrap:wrap}.banner.insecure-context{background:var(--warning-bg);color:var(--warning-text);border-bottom:1px solid var(--warning-border);font-size:.78rem;line-height:1.45}.warning-row{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.banner-action{font:inherit;cursor:pointer;border:1px solid var(--accent-border);background:var(--accent-muted);color:var(--accent);border-radius:var(--radius-sm);white-space:nowrap;transition:background var(--duration-fast) var(--ease-out);padding:.25rem .65rem;font-size:.78rem;font-weight:500}.banner-action:hover{background:color-mix(in srgb, var(--accent) 22%, transparent)}.banner-dismiss{font:inherit;cursor:pointer;color:inherit;opacity:.6;border-radius:var(--radius-sm);transition:opacity var(--duration-fast) var(--ease-out);background:0 0;border:none;padding:0 .35rem;font-size:1.15rem;line-height:1}.banner-dismiss:hover{opacity:1}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;background:#070b10bf;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.modal{background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-lg);width:min(560px,92vw);color:var(--text-primary);box-shadow:var(--shadow-lg);padding:1.5rem}.modal h2{margin:0 0 .5rem;font-size:1.15rem;font-weight:600}.modal p{color:var(--text-secondary);margin:0 0 .75rem;font-size:.875rem;line-height:1.5}.modal textarea{box-sizing:border-box;width:100%;font-family:var(--font-mono);background:var(--bg-input);color:var(--text-primary);border:1px solid var(--border-default);border-radius:var(--radius-sm);resize:vertical;transition:border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out);padding:.65rem;font-size:.78rem}.modal textarea:focus{border-color:var(--accent-border);box-shadow:0 0 0 3px var(--accent-muted);outline:none}.modal button{font:inherit;cursor:pointer;border:1px solid var(--border-default);background:var(--bg-surface);color:var(--text-primary);border-radius:var(--radius-sm);transition:background var(--duration-fast) var(--ease-out);padding:.45rem .85rem;font-size:.8125rem;font-weight:500}.modal button:hover{background:var(--bg-hover)}.modal button.primary{background:var(--accent-muted);border-color:var(--accent-border);color:var(--accent)}.modal-actions{justify-content:flex-end;gap:.5rem;margin-top:1rem;display:flex}.error-text{color:var(--danger-text);font-size:.8125rem}.security-note,.fz-storage-mode{color:var(--text-muted);font-size:.8125rem}.fz-storage-mode{align-items:center;gap:.75rem;margin-bottom:.65rem;display:flex}.about-dialog .about-version{font-family:var(--font-mono);color:var(--text-muted);font-size:.78rem}.about-dialog .about-formats{font-family:var(--font-mono);font-size:.78rem}.banner.recent-permission{border-color:var(--accent-border);background:var(--accent-muted)}.fz-storage-mode select{background:var(--bg-input);color:var(--text-primary);border:1px solid var(--border-default);border-radius:var(--radius-sm);flex:1;padding:.4rem .5rem}@media (width<=900px){.workspace{grid-template-rows:minmax(22vh,30vh) 1fr minmax(32vh,42vh);grid-template-columns:1fr!important}.workspace.workspace-canvas-focus{grid-template-rows:1fr}.workspace.workspace-canvas-focus .panel-shell,.workspace.workspace-canvas-focus .split-handle,.workspace.workspace-canvas-focus .panel-collapse-strip{display:none}.workspace.workspace-canvas-focus .viewer-split{grid-row:1/-1}.board-sidebar{border-right:none;border-bottom:1px solid var(--border-default);grid-row:1}.panel-shell-right{grid-row:3}.panel-collapse-strip-right{border-left:none;border-top:1px solid var(--border-default);grid-row:3}.inspector-panel{border-left:none;border-top:1px solid var(--border-default)}.hints-inline{display:none}.hints-mobile{display:inline}.welcome-hero{text-align:center;grid-template-columns:1fr}.welcome-actions{justify-content:center}.welcome-recents{text-align:center}.welcome-sections{grid-template-columns:repeat(2,minmax(0,1fr))}.toolbar-panels .icon-btn-text{display:none}.icon-btn-labeled{justify-content:center;width:32px;padding:0}}@media (width<=640px){.toolbar{flex-wrap:wrap;gap:.35rem}.toolbar-selects{flex:100%;order:10;min-width:0}.toolbar-panels{order:5}.icon-btn,.icon-btn-labeled{min-width:44px;min-height:44px}.layer-toggle-bar{padding-bottom:.55rem}.welcome-sections{grid-template-columns:1fr}.trace-path-banner{flex-wrap:wrap;justify-content:center}.trace-path-banner-hint{display:none}}@media (width>=1100px){.icon-btn-labeled .icon-btn-text{display:inline}}@media (width<=1099px){.icon-btn-labeled .icon-btn-text{display:none}.icon-btn-labeled{justify-content:center;width:32px;padding:0}}.pin-row-clickable{cursor:pointer}.pin-row-clickable:focus-visible{outline:2px solid var(--accent-border);outline-offset:-2px}.combo-active{background:var(--bg-hover)!important}.menu-hint-list{color:var(--text-muted);margin:0;padding:.35rem .75rem .5rem;font-size:.78rem;line-height:1.55;list-style:none}.menu-hint-list li[aria-disabled=true]{cursor:default;pointer-events:none}.inspector-bom-note{color:#8a5a00;background:#fff8e6;border:1px solid #e8c96a;border-radius:3px;margin:.5rem .65rem 0;padding:.45rem .55rem;font-size:.75rem}.inspector-tabs button.inspector-tab-synthesized{padding-right:1.15rem;position:relative}.inspector-tabs button.inspector-tab-synthesized:after{content:"";background:var(--warning-text);width:6px;height:6px;box-shadow:0 0 6px var(--warning-border);border-radius:50%;position:absolute;top:.45rem;right:.45rem}.fz-shared-pc-warning{color:var(--warning-text);background:var(--warning-bg);border:1px solid var(--warning-border);border-radius:var(--radius-sm);margin:0 0 .75rem;padding:.55rem .7rem;font-size:.8125rem;font-weight:600}.gate-screen{background:var(--bg-app);min-height:100vh;color:var(--text-primary);place-items:center;padding:2rem;display:grid}.gate-card{border-radius:var(--radius-md);border:1px solid var(--border-default);background:var(--bg-chrome);width:min(100%,24rem);box-shadow:var(--shadow-md);padding:1.75rem}.gate-card h1{margin:0 0 .5rem;font-size:1.15rem}.gate-lead{color:var(--text-secondary);margin:0 0 1.25rem;font-size:.9rem;line-height:1.45}.gate-form{flex-direction:column;gap:.85rem;display:flex}.gate-field{flex-direction:column;gap:.35rem;font-size:.8125rem;display:flex}.gate-field input{border-radius:var(--radius-sm);border:1px solid var(--border-default);background:var(--bg-app);color:var(--text-primary);padding:.55rem .65rem}.gate-submit,.gate-secondary{border-radius:var(--radius-sm);cursor:pointer;padding:.55rem .85rem;font-size:.875rem}.gate-submit{background:var(--accent);color:var(--text-inverse);border:none;font-weight:600}.gate-secondary{border:1px solid var(--border-default);color:var(--text-secondary);background:0 0}.gate-error{color:var(--danger-text,#f87171);margin:0;font-size:.8125rem}.gate-footnote{color:var(--text-muted);margin:1rem 0 0;font-size:.78rem;line-height:1.4}.update-banner{z-index:10000;color:#e8f4fc;background:linear-gradient(90deg,#1e3a5f 0%,#1a4d7a 50%,#1e3a5f 100%);border-bottom:1px solid #ffffff1f;justify-content:center;align-items:center;gap:.75rem;padding:.45rem .85rem;font-size:.8125rem;display:flex;position:fixed;top:0;left:0;right:0;box-shadow:0 2px 8px #00000040}.update-banner-message{text-align:center;flex:1;min-width:0}.update-banner-notes{opacity:.85}.update-banner-actions{flex-shrink:0;align-items:center;gap:.35rem;display:flex}.update-banner-primary{border-radius:var(--radius-sm);color:#fff;cursor:pointer;background:#3b9eff;border:none;padding:.28rem .75rem;font-size:.78rem;font-weight:600}.update-banner-primary:hover{background:#5aafff}.update-banner-dismiss{border-radius:var(--radius-sm);width:1.75rem;height:1.75rem;color:inherit;cursor:pointer;opacity:.75;background:0 0;border:none;padding:0;font-size:1.1rem;line-height:1}.update-banner-dismiss:hover{opacity:1;background:#ffffff1a}.update-banner-error{color:#ffb4b4}.update-banner-progress{background:#fff3;border-radius:999px;flex-shrink:0;width:7rem;height:.35rem;overflow:hidden}.update-banner-progress-fill{background:#3b9eff;height:100%;transition:width .15s}body.has-update-banner .app{padding-top:2.25rem}.subscription-banner{background:var(--warning-bg);color:var(--warning-text);border-bottom:1px solid var(--warning-border);justify-content:space-between;align-items:center;gap:1rem;padding:.55rem .85rem;font-size:.8125rem;display:flex}.subscription-banner-signout{border:1px solid var(--warning-border);border-radius:var(--radius-sm);color:inherit;cursor:pointer;background:0 0;flex-shrink:0;padding:.25rem .55rem;font-size:.78rem}.license-status-bar{color:var(--text-muted);background:var(--bg-chrome);border-bottom:1px solid var(--border-subtle);padding:.35rem .75rem;font-size:.75rem}.analytics-consent{z-index:1200;border-radius:var(--radius-md);border:1px solid var(--border-default);background:var(--bg-chrome);max-width:22rem;box-shadow:var(--shadow-lg);padding:.85rem 1rem;font-size:.8125rem;line-height:1.45;position:fixed;bottom:1rem;right:1rem}.analytics-consent-actions{justify-content:flex-end;gap:.5rem;margin-top:.65rem;display:flex}.analytics-consent-accept,.analytics-consent-decline{border-radius:var(--radius-sm);cursor:pointer;padding:.35rem .65rem;font-size:.78rem}.analytics-consent-accept{background:var(--accent);color:var(--text-inverse);border:none}.analytics-consent-decline{border:1px solid var(--border-default);color:var(--text-secondary);background:0 0}*,:before,:after{box-sizing:border-box}:root{--bg-app:#070b10;--bg-chrome:#0f141c;--bg-surface:#151c28;--bg-elevated:#1c2534;--bg-hover:#243044;--bg-active:#2a3850;--bg-canvas:#000;--bg-input:#0c1118;--border-subtle:#94a3b81f;--border-default:#94a3b833;--border-strong:#94a3b852;--text-primary:#eef2f7;--text-secondary:#94a3b8;--text-muted:#64748b;--text-inverse:#0a0e14;--accent:#2dd4bf;--accent-hover:#5eead4;--accent-muted:#2dd4bf24;--accent-border:#2dd4bf73;--danger-bg:#f871711f;--danger-border:#f8717159;--danger-text:#fca5a5;--warning-bg:#fbbf241a;--warning-border:#fbbf244d;--warning-text:#fcd34d;--info-bg:#60a5fa1a;--info-border:#60a5fa4d;--info-text:#93c5fd;--success-bg:#2dd4bf1a;--success-border:#2dd4bf59;--success-text:#5eead4;--font-sans:"Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;--font-mono:"Cascadia Code", "Consolas", "Courier New", monospace;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--shadow-sm:0 1px 2px #00000059;--shadow-md:0 8px 24px #00000073;--shadow-lg:0 16px 48px #0000008c;--ease-out:cubic-bezier(.16, 1, .3, 1);--duration-fast:.12s;--duration-normal:.2s;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=light]{--bg-app:#f4f6f9;--bg-chrome:#fff;--bg-surface:#eef1f6;--bg-elevated:#fff;--bg-hover:#e2e8f0;--bg-active:#cbd5e1;--bg-canvas:#1a1f28;--bg-input:#fff;--border-subtle:#0f172a14;--border-default:#0f172a24;--border-strong:#0f172a38;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#64748b;--text-inverse:#f8fafc;--accent:#0d9488;--accent-hover:#14b8a6;--accent-muted:#0d94881f;--accent-border:#0d948866;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=light] .schematic-scroll{background:var(--bg-canvas)}html,body,#root{height:100%;margin:0;overflow:hidden}body{font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-app);color:var(--text-primary);font-size:14px;line-height:1.45}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.skip-link{z-index:9999;background:var(--accent);color:var(--text-inverse);border-radius:var(--radius-sm);transition:transform var(--duration-normal) var(--ease-out);padding:.5rem 1rem;font-weight:600;text-decoration:none;position:fixed;top:.75rem;left:.75rem;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}html[data-canvas-theme=match-chrome] .canvas-wrap{background:var(--bg-canvas)}.canvas-pin-tooltip{background:var(--bg-elevated);color:var(--text-primary)}.schematic-highlight{border-color:var(--accent);background:var(--accent-muted);box-shadow:0 0 16px var(--accent-border)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
