@layer tokens,base,shell,primitives,circuit,pcb,overrides;@layer tokens{:root{--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--font-heading: "Inter", system-ui, sans-serif;--font-body: "Inter", system-ui, sans-serif;--font-mono: "IBM Plex Mono", monospace;--radius-sm: 3px;--radius-md: 6px;--radius-lg: 10px}:root,[data-theme=midnight]{color-scheme:dark;--color-bg: #0D1117;--color-surface: #161B22;--color-surface-raised: #1C2128;--color-canvas: #090D12;--color-canvas-grid: rgba(48, 54, 61, .5);--color-text: #E6EDF3;--color-text-secondary: #7D8590;--color-text-muted: #484F58;--color-border: #30363D;--color-border-bright: #484F58;--color-accent: #2DD4BF;--color-accent-hover: #14B8A6;--color-accent-dim: rgba(45, 212, 191, .1);--color-data: #58A6FF;--color-error: #F85149;--color-success: #3FB950;--color-wire: #8B949E;--color-disabled: #484F58;--color-warning: #f9e2af;--color-surface-active: rgba(255, 255, 255, .05);--color-chrome: #14191F;--cm-comment: #6A737D;--cm-keyword: var(--color-accent);--cm-element: #D2A679;--cm-number: var(--color-data);--cm-variable: var(--color-text);--color-series-1: #2DD4BF;--color-series-2: #F0883E;--color-series-3: #f0b429;--color-series-4: #cc4db8;--color-series-5: #44cc44;--color-series-6: #9966cc;--color-series-7: #ff6688;--color-series-8: #66aaff;--color-accent-selection: rgba(45, 212, 191, .25);--color-accent-ring: rgba(45, 212, 191, .15);--color-error-bg: rgba(248, 81, 73, .1);--color-error-border: rgba(248, 81, 73, .2);--color-row-stripe: rgba(255, 255, 255, .02);--color-spinner-track: rgba(255, 255, 255, .25);--color-spinner-head: rgba(255, 255, 255, .9);--shadow-glow: 0 0 12px rgba(45, 212, 191, .3);--shadow-overlay: 0 2px 12px rgba(0, 0, 0, .5);--shadow-inset: inset 0 1px 3px rgba(0, 0, 0, .2);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--shadow-header: 0 1px 0 rgba(255,255,255,.05), 0 4px 16px rgba(0,0,0,.4);--shadow-panel: 0 0 0 1px var(--color-border), 0 4px 24px rgba(0,0,0,.3);--shadow-inset-chart: inset 0 1px 4px rgba(0,0,0,.35)}[data-theme=tokyo-night]{color-scheme:dark;--color-bg: #1a1b26;--color-surface: #1c1d2b;--color-surface-raised: #222438;--color-canvas: #16161e;--color-canvas-grid: rgba(86, 95, 137, .35);--color-text: #c0caf5;--color-text-secondary: #9aa5ce;--color-text-muted: #565f89;--color-border: #292e42;--color-border-bright: #3b4261;--color-accent: #7aa2f7;--color-accent-hover: #5d83d6;--color-accent-dim: rgba(122, 162, 247, .12);--color-data: #bb9af7;--color-error: #f7768e;--color-success: #9ece6a;--color-wire: #565f89;--color-disabled: #414868;--color-warning: #e0af68;--color-surface-active: rgba(122, 162, 247, .1);--color-chrome: #16161e;--cm-comment: #565f89;--cm-keyword: #f7768e;--cm-element: #ff9e64;--cm-number: #ff9e64;--cm-variable: var(--color-text);--color-series-1: #7aa2f7;--color-series-2: #ff9e64;--color-series-3: #9ece6a;--color-series-4: #f7768e;--color-series-5: #bb9af7;--color-series-6: #7dcfff;--color-series-7: #e0af68;--color-series-8: #c0caf5;--color-accent-selection: rgba(122, 162, 247, .3);--color-accent-ring: rgba(122, 162, 247, .18);--color-error-bg: rgba(247, 118, 142, .1);--color-error-border: rgba(247, 118, 142, .25);--color-row-stripe: rgba(255, 255, 255, .025);--color-spinner-track: rgba(192, 202, 245, .25);--color-spinner-head: rgba(192, 202, 245, .9);--shadow-glow: 0 0 12px rgba(122, 162, 247, .3);--shadow-overlay: 0 2px 12px rgba(0, 0, 0, .55);--shadow-inset: inset 0 1px 3px rgba(0, 0, 0, .25);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .35);--shadow-header: 0 1px 0 rgba(255,255,255,.04), 0 4px 16px rgba(0,0,0,.45);--shadow-panel: 0 0 0 1px var(--color-border), 0 4px 24px rgba(0,0,0,.35);--shadow-inset-chart: inset 0 1px 4px rgba(0,0,0,.4)}[data-theme=catppuccin]{color-scheme:dark;--color-bg: #1e1e2e;--color-surface: #252535;--color-surface-raised: #2e2e40;--color-canvas: #181825;--color-canvas-grid: rgba(108, 112, 134, .32);--color-text: #cdd6f4;--color-text-secondary: #a6adc8;--color-text-muted: #7f849c;--color-border: #45475a;--color-border-bright: #585b70;--color-accent: #cba6f7;--color-accent-hover: #b4befe;--color-accent-dim: rgba(203, 166, 247, .14);--color-data: #89b4fa;--color-error: #f38ba8;--color-success: #a6e3a1;--color-wire: #7f849c;--color-disabled: #45475a;--color-warning: #f9e2af;--color-surface-active: rgba(203, 166, 247, .1);--color-chrome: #181825;--cm-comment: #6c7086;--cm-keyword: #f5c2e7;--cm-element: #fab387;--cm-number: #fab387;--cm-variable: var(--color-text);--color-series-1: #cba6f7;--color-series-2: #fab387;--color-series-3: #a6e3a1;--color-series-4: #f5c2e7;--color-series-5: #b4befe;--color-series-6: #94e2d5;--color-series-7: #f9e2af;--color-series-8: #f38ba8;--color-accent-selection: rgba(203, 166, 247, .28);--color-accent-ring: rgba(203, 166, 247, .18);--color-error-bg: rgba(243, 139, 168, .1);--color-error-border: rgba(243, 139, 168, .25);--color-row-stripe: rgba(255, 255, 255, .025);--color-spinner-track: rgba(205, 214, 244, .25);--color-spinner-head: rgba(205, 214, 244, .9);--shadow-glow: 0 0 12px rgba(203, 166, 247, .3);--shadow-overlay: 0 2px 12px rgba(0, 0, 0, .55);--shadow-inset: inset 0 1px 3px rgba(0, 0, 0, .25);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .35);--shadow-header: 0 1px 0 rgba(255,255,255,.04), 0 4px 16px rgba(0,0,0,.45);--shadow-panel: 0 0 0 1px var(--color-border), 0 4px 24px rgba(0,0,0,.35);--shadow-inset-chart: inset 0 1px 4px rgba(0,0,0,.4)}[data-theme=solarized]{color-scheme:light;--color-bg: #f5f1e8;--color-surface: #ede9df;--color-surface-raised: #f2eee4;--color-canvas: #f5f1e8;--color-canvas-grid: rgba(101, 123, 131, .18);--color-text: #586e75;--color-text-secondary: #657b83;--color-text-muted: #93a1a1;--color-border: #d4cfc1;--color-border-bright: #93a1a1;--color-accent: #268bd2;--color-accent-hover: #1a6fa8;--color-accent-dim: rgba(38, 139, 210, .12);--color-data: #2aa198;--color-error: #dc322f;--color-success: #859900;--color-wire: #657b83;--color-disabled: #93a1a1;--color-warning: #b58900;--color-surface-active: rgba(38, 139, 210, .12);--color-chrome: #e3ded2;--cm-comment: #93a1a1;--cm-keyword: var(--color-accent);--cm-element: #cb4b16;--cm-number: var(--color-data);--cm-variable: var(--color-text);--color-series-1: #268bd2;--color-series-2: #cb4b16;--color-series-3: #859900;--color-series-4: #d33682;--color-series-5: #6c71c4;--color-series-6: #2aa198;--color-series-7: #b58900;--color-series-8: #dc322f;--color-accent-selection: rgba(38, 139, 210, .25);--color-accent-ring: rgba(38, 139, 210, .18);--color-error-bg: rgba(220, 50, 47, .08);--color-error-border: rgba(220, 50, 47, .2);--color-row-stripe: rgba(0, 0, 0, .03);--color-spinner-track: rgba(13, 17, 23, .2);--color-spinner-head: rgba(13, 17, 23, .85);--shadow-glow: 0 0 12px rgba(38, 139, 210, .25);--shadow-overlay: 0 2px 12px rgba(0, 0, 0, .15);--shadow-inset: inset 0 1px 3px rgba(0, 0, 0, .06);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .1);--shadow-header: 0 1px 0 rgba(0,0,0,.06), 0 4px 12px rgba(0,0,0,.08);--shadow-panel: 0 0 0 1px var(--color-border), 0 2px 12px rgba(0,0,0,.08);--shadow-inset-chart: inset 0 1px 3px rgba(0,0,0,.08)}[data-theme=sandstone]{color-scheme:light;--color-bg: #ffffff;--color-surface: #f6f8fa;--color-surface-raised: #ffffff;--color-canvas: #ffffff;--color-canvas-grid: rgba(31, 35, 40, .1);--color-text: #1f2328;--color-text-secondary: #59636e;--color-text-muted: #818b98;--color-border: #d0d7de;--color-border-bright: #afb8c1;--color-accent: #b8621f;--color-accent-hover: #964e15;--color-accent-dim: rgba(184, 98, 31, .12);--color-data: #0969da;--color-error: #b42318;--color-success: #1a7f37;--color-wire: #59636e;--color-disabled: #afb8c1;--color-warning: #8a6200;--color-surface-active: rgba(184, 98, 31, .1);--color-chrome: #f6f8fa;--cm-comment: #59636e;--cm-keyword: #b42318;--cm-element: #b8621f;--cm-number: #0550ae;--cm-variable: var(--color-text);--color-series-1: #b8621f;--color-series-2: #0969da;--color-series-3: #1a7f37;--color-series-4: #b42318;--color-series-5: #6e4596;--color-series-6: #1b7c83;--color-series-7: #8a6200;--color-series-8: #a73370;--color-accent-selection: rgba(184, 98, 31, .25);--color-accent-ring: rgba(184, 98, 31, .2);--color-error-bg: rgba(180, 35, 24, .08);--color-error-border: rgba(180, 35, 24, .22);--color-row-stripe: rgba(0, 0, 0, .025);--color-spinner-track: rgba(31, 35, 40, .18);--color-spinner-head: rgba(31, 35, 40, .8);--shadow-glow: 0 0 12px rgba(184, 98, 31, .22);--shadow-overlay: 0 2px 12px rgba(0, 0, 0, .12);--shadow-inset: inset 0 1px 3px rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08);--shadow-header: 0 1px 0 rgba(0,0,0,.05), 0 4px 12px rgba(0,0,0,.06);--shadow-panel: 0 0 0 1px var(--color-border), 0 2px 12px rgba(0,0,0,.06);--shadow-inset-chart: inset 0 1px 3px rgba(0,0,0,.06)}[data-theme=blueprint]{color-scheme:light;--color-bg: #eef4f8;--color-surface: #e3edf3;--color-surface-raised: #f3f7fa;--color-canvas: #eef4f8;--color-canvas-grid: rgba(20, 80, 140, .18);--color-text: #0d2a4a;--color-text-secondary: #2a4a6e;--color-text-muted: #6c849c;--color-border: #b8c8d6;--color-border-bright: #6c849c;--color-accent: #0a6cb8;--color-accent-hover: #075286;--color-accent-dim: rgba(10, 108, 184, .12);--color-data: #d35400;--color-error: #c0392b;--color-success: #1f6f3f;--color-wire: #2a4a6e;--color-disabled: #a3b3c2;--color-warning: #b07900;--color-surface-active: rgba(10, 108, 184, .12);--color-chrome: #d8e3eb;--cm-comment: #6c849c;--cm-keyword: #1a4d7a;--cm-element: #d35400;--cm-number: #0a6cb8;--cm-variable: var(--color-text);--color-series-1: #0a6cb8;--color-series-2: #d35400;--color-series-3: #1f6f3f;--color-series-4: #c0392b;--color-series-5: #6c3483;--color-series-6: #117a65;--color-series-7: #b07900;--color-series-8: #884ea0;--color-accent-selection: rgba(10, 108, 184, .25);--color-accent-ring: rgba(10, 108, 184, .18);--color-error-bg: rgba(192, 57, 43, .08);--color-error-border: rgba(192, 57, 43, .22);--color-row-stripe: rgba(13, 42, 74, .04);--color-spinner-track: rgba(13, 42, 74, .2);--color-spinner-head: rgba(13, 42, 74, .85);--shadow-glow: 0 0 12px rgba(10, 108, 184, .25);--shadow-overlay: 0 2px 12px rgba(13, 42, 74, .15);--shadow-inset: inset 0 1px 3px rgba(13, 42, 74, .08);--shadow-sm: 0 1px 3px rgba(13, 42, 74, .1);--shadow-header: 0 1px 0 rgba(13,42,74,.06), 0 4px 12px rgba(13,42,74,.08);--shadow-panel: 0 0 0 1px var(--color-border), 0 2px 12px rgba(13,42,74,.08);--shadow-inset-chart: inset 0 1px 3px rgba(13,42,74,.08)}[data-theme=forest]{color-scheme:dark;--color-bg: #06140e;--color-surface: #0b1a13;--color-surface-raised: #112218;--color-canvas: #040f0a;--color-canvas-grid: rgba(95, 184, 120, .18);--color-text: #d6e8d9;--color-text-secondary: #9bbda4;--color-text-muted: #5e7a66;--color-border: #264033;--color-border-bright: #3a5a48;--color-accent: #5fb878;--color-accent-hover: #4a9d62;--color-accent-dim: rgba(95, 184, 120, .12);--color-data: #d4a05a;--color-error: #e57373;--color-success: #82c995;--color-wire: #9bbda4;--color-disabled: #3a5a48;--color-warning: #e8c168;--color-surface-active: rgba(95, 184, 120, .1);--color-chrome: #040d08;--cm-comment: #5e7a66;--cm-keyword: #5fb878;--cm-element: #d4a05a;--cm-number: #e8c168;--cm-variable: var(--color-text);--color-series-1: #5fb878;--color-series-2: #d4a05a;--color-series-3: #e8c168;--color-series-4: #82c995;--color-series-5: #b58cff;--color-series-6: #6cc6c6;--color-series-7: #e57373;--color-series-8: #c4b97a;--color-accent-selection: rgba(95, 184, 120, .28);--color-accent-ring: rgba(95, 184, 120, .18);--color-error-bg: rgba(229, 115, 115, .1);--color-error-border: rgba(229, 115, 115, .25);--color-row-stripe: rgba(255, 255, 255, .025);--color-spinner-track: rgba(214, 232, 217, .25);--color-spinner-head: rgba(214, 232, 217, .9);--shadow-glow: 0 0 12px rgba(95, 184, 120, .3);--shadow-overlay: 0 2px 12px rgba(0, 0, 0, .55);--shadow-inset: inset 0 1px 3px rgba(0, 0, 0, .25);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .35);--shadow-header: 0 1px 0 rgba(255,255,255,.04), 0 4px 16px rgba(0,0,0,.45);--shadow-panel: 0 0 0 1px var(--color-border), 0 4px 24px rgba(0,0,0,.35);--shadow-inset-chart: inset 0 1px 4px rgba(0,0,0,.4)}[data-theme=sage]{color-scheme:light;--color-bg: #eef3ec;--color-surface: #e5ece2;--color-surface-raised: #f3f7f0;--color-canvas: #eef3ec;--color-canvas-grid: rgba(61, 107, 74, .18);--color-text: #2c3a2f;--color-text-secondary: #4a5d4e;--color-text-muted: #8a9c8d;--color-border: #c8d3c4;--color-border-bright: #9aaa97;--color-accent: #3d6b4a;--color-accent-hover: #2c5236;--color-accent-dim: rgba(61, 107, 74, .12);--color-data: #a06628;--color-error: #a23e2e;--color-success: #3d6b4a;--color-wire: #4a5d4e;--color-disabled: #9aaa97;--color-warning: #9c7a1f;--color-surface-active: rgba(61, 107, 74, .1);--color-chrome: #dde5da;--cm-comment: #8a9c8d;--cm-keyword: #3d6b4a;--cm-element: #a06628;--cm-number: #9c7a1f;--cm-variable: var(--color-text);--color-series-1: #3d6b4a;--color-series-2: #a06628;--color-series-3: #9c7a1f;--color-series-4: #a23e2e;--color-series-5: #6e4596;--color-series-6: #1f7a72;--color-series-7: #5a7a3d;--color-series-8: #884ea0;--color-accent-selection: rgba(61, 107, 74, .25);--color-accent-ring: rgba(61, 107, 74, .18);--color-error-bg: rgba(162, 62, 46, .08);--color-error-border: rgba(162, 62, 46, .22);--color-row-stripe: rgba(44, 58, 47, .04);--color-spinner-track: rgba(44, 58, 47, .2);--color-spinner-head: rgba(44, 58, 47, .85);--shadow-glow: 0 0 12px rgba(61, 107, 74, .22);--shadow-overlay: 0 2px 12px rgba(44, 58, 47, .15);--shadow-inset: inset 0 1px 3px rgba(44, 58, 47, .08);--shadow-sm: 0 1px 3px rgba(44, 58, 47, .1);--shadow-header: 0 1px 0 rgba(44,58,47,.06), 0 4px 12px rgba(44,58,47,.08);--shadow-panel: 0 0 0 1px var(--color-border), 0 2px 12px rgba(44,58,47,.08);--shadow-inset-chart: inset 0 1px 3px rgba(44,58,47,.08)}[data-theme=gruvbox-dark]{color-scheme:dark;--color-bg: #282828;--color-surface: #32302f;--color-surface-raised: #3c3836;--color-canvas: #1d2021;--color-canvas-grid: rgba(235, 219, 178, .06);--color-text: #ebdbb2;--color-text-secondary: #bdae93;--color-text-muted: #928374;--color-border: #504945;--color-border-bright: #665c54;--color-accent: #fe8019;--color-accent-hover: #d65d0e;--color-accent-dim: rgba(254, 128, 25, .2);--color-data: #83a598;--color-error: #fb4934;--color-success: #b8bb26;--color-wire: #a9b665;--color-disabled: #504945;--color-warning: #fabd2f;--color-surface-active: #45403d;--color-chrome: #3c3836;--cm-comment: #928374;--cm-keyword: #fb4934;--cm-element: #fabd2f;--cm-number: #d3869b;--cm-variable: var(--color-text);--color-series-1: #fe8019;--color-series-2: #83a598;--color-series-3: #b8bb26;--color-series-4: #fb4934;--color-series-5: #fabd2f;--color-series-6: #d3869b;--color-series-7: #8ec07c;--color-series-8: #458588;--color-accent-selection: rgba(254, 128, 25, .25);--color-accent-ring: rgba(254, 128, 25, .4);--color-error-bg: rgba(251, 73, 52, .15);--color-error-border: rgba(251, 73, 52, .3);--color-row-stripe: rgba(80, 73, 69, .35);--color-spinner-track: rgba(235, 219, 178, .15);--color-spinner-head: rgba(235, 219, 178, .9);--shadow-glow: 0 0 12px rgba(254, 128, 25, .35);--shadow-overlay: 0 2px 12px rgba(0, 0, 0, .55);--shadow-inset: inset 0 1px 3px rgba(0, 0, 0, .3);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .4);--shadow-header: 0 1px 0 rgba(255,255,255,.04), 0 4px 16px rgba(0,0,0,.5);--shadow-panel: 0 0 0 1px var(--color-border), 0 4px 24px rgba(0,0,0,.4);--shadow-inset-chart: inset 0 1px 4px rgba(0,0,0,.4)}[data-theme=gruvbox-light]{color-scheme:light;--color-bg: #fbf1c7;--color-surface: #f2e5bc;--color-surface-raised: #ebdbb2;--color-canvas: #fbf1c7;--color-canvas-grid: rgba(60, 56, 54, .1);--color-text: #3c3836;--color-text-secondary: #504945;--color-text-muted: #7c6f64;--color-border: #d5c4a1;--color-border-bright: #bdae93;--color-accent: #af3a03;--color-accent-hover: #8f3003;--color-accent-dim: rgba(175, 58, 3, .15);--color-data: #076678;--color-error: #9d0006;--color-success: #79740e;--color-wire: #427b58;--color-disabled: #d5c4a1;--color-warning: #b57614;--color-surface-active: #e8d5b0;--color-chrome: #ebdbb2;--cm-comment: #928374;--cm-keyword: #9d0006;--cm-element: #b57614;--cm-number: #8f3f71;--cm-variable: var(--color-text);--color-series-1: #af3a03;--color-series-2: #076678;--color-series-3: #79740e;--color-series-4: #9d0006;--color-series-5: #b57614;--color-series-6: #8f3f71;--color-series-7: #427b58;--color-series-8: #458588;--color-accent-selection: rgba(175, 58, 3, .15);--color-accent-ring: rgba(175, 58, 3, .35);--color-error-bg: rgba(157, 0, 6, .08);--color-error-border: rgba(157, 0, 6, .22);--color-row-stripe: rgba(213, 196, 161, .5);--color-spinner-track: rgba(60, 56, 54, .15);--color-spinner-head: rgba(60, 56, 54, .85);--shadow-glow: 0 0 12px rgba(175, 58, 3, .25);--shadow-overlay: 0 2px 12px rgba(60, 56, 54, .18);--shadow-inset: inset 0 1px 3px rgba(60, 56, 54, .1);--shadow-sm: 0 1px 3px rgba(60, 56, 54, .12);--shadow-header: 0 1px 0 rgba(60,56,54,.06), 0 4px 12px rgba(60,56,54,.1);--shadow-panel: 0 0 0 1px var(--color-border), 0 2px 12px rgba(60,56,54,.1);--shadow-inset-chart: inset 0 1px 3px rgba(60,56,54,.08)}[data-theme=rose-pine]{color-scheme:dark;--color-bg: #191724;--color-surface: #1f1d2e;--color-surface-raised: #26233a;--color-canvas: #13111e;--color-canvas-grid: rgba(224, 222, 244, .05);--color-text: #e0def4;--color-text-secondary: #908caa;--color-text-muted: #6e6a86;--color-border: #26233a;--color-border-bright: #403d52;--color-accent: #eb6f92;--color-accent-hover: #d4587e;--color-accent-dim: rgba(235, 111, 146, .15);--color-data: #9ccfd8;--color-error: #eb6f92;--color-success: #31748f;--color-wire: #9ccfd8;--color-disabled: #403d52;--color-warning: #f6c177;--color-surface-active: rgba(235, 111, 146, .1);--color-chrome: #1f1d2e;--cm-comment: #6e6a86;--cm-keyword: #eb6f92;--cm-element: #f6c177;--cm-number: #ebbcba;--cm-variable: var(--color-text);--color-series-1: #eb6f92;--color-series-2: #9ccfd8;--color-series-3: #c4a7e7;--color-series-4: #31748f;--color-series-5: #f6c177;--color-series-6: #ebbcba;--color-series-7: #908caa;--color-series-8: #e0def4;--color-accent-selection: rgba(235, 111, 146, .2);--color-accent-ring: rgba(235, 111, 146, .4);--color-error-bg: rgba(235, 111, 146, .12);--color-error-border: rgba(235, 111, 146, .28);--color-row-stripe: rgba(255, 255, 255, .025);--color-spinner-track: rgba(224, 222, 244, .15);--color-spinner-head: rgba(224, 222, 244, .9);--shadow-glow: 0 0 12px rgba(235, 111, 146, .28);--shadow-overlay: 0 2px 12px rgba(0, 0, 0, .6);--shadow-inset: inset 0 1px 3px rgba(0, 0, 0, .3);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .4);--shadow-header: 0 1px 0 rgba(255,255,255,.04), 0 4px 16px rgba(0,0,0,.5);--shadow-panel: 0 0 0 1px var(--color-border), 0 4px 24px rgba(0,0,0,.4);--shadow-inset-chart: inset 0 1px 4px rgba(0,0,0,.4)}[data-theme=rose-pine-dawn]{color-scheme:light;--color-bg: #faf4ed;--color-surface: #fffaf3;--color-surface-raised: #f2e9e1;--color-canvas: #faf4ed;--color-canvas-grid: rgba(87, 82, 121, .08);--color-text: #575279;--color-text-secondary: #797593;--color-text-muted: #9893a5;--color-border: #dfdad9;--color-border-bright: #cecacd;--color-accent: #b4637a;--color-accent-hover: #9e4f66;--color-accent-dim: rgba(180, 99, 122, .15);--color-data: #56949f;--color-error: #b4637a;--color-success: #286983;--color-wire: #56949f;--color-disabled: #dfdad9;--color-warning: #ea9d34;--color-surface-active: rgba(180, 99, 122, .1);--color-chrome: #f2e9e1;--cm-comment: #9893a5;--cm-keyword: #b4637a;--cm-element: #ea9d34;--cm-number: #d7827a;--cm-variable: var(--color-text);--color-series-1: #b4637a;--color-series-2: #56949f;--color-series-3: #907aa9;--color-series-4: #286983;--color-series-5: #ea9d34;--color-series-6: #d7827a;--color-series-7: #797593;--color-series-8: #575279;--color-accent-selection: rgba(180, 99, 122, .15);--color-accent-ring: rgba(180, 99, 122, .35);--color-error-bg: rgba(180, 99, 122, .08);--color-error-border: rgba(180, 99, 122, .22);--color-row-stripe: rgba(223, 218, 217, .5);--color-spinner-track: rgba(87, 82, 121, .15);--color-spinner-head: rgba(87, 82, 121, .85);--shadow-glow: 0 0 12px rgba(180, 99, 122, .22);--shadow-overlay: 0 2px 12px rgba(87, 82, 121, .15);--shadow-inset: inset 0 1px 3px rgba(87, 82, 121, .08);--shadow-sm: 0 1px 3px rgba(87, 82, 121, .1);--shadow-header: 0 1px 0 rgba(87,82,121,.06), 0 4px 12px rgba(87,82,121,.1);--shadow-panel: 0 0 0 1px var(--color-border), 0 2px 12px rgba(87,82,121,.1);--shadow-inset-chart: inset 0 1px 3px rgba(87,82,121,.08)}}@layer base{*,*:before,*:after{box-sizing:border-box}body{margin:0;min-width:320px;height:100vh;overflow:hidden;font-family:var(--font-body);font-size:14px;line-height:1.5;color:var(--color-text);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:where(*){scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}:where(*)::-webkit-scrollbar{width:4px;height:4px}:where(*)::-webkit-scrollbar-track{background:transparent}:where(*)::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:2px}:is():hover{background:var(--color-border-bright)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}}@layer shell{.app{display:flex;flex-direction:row;height:100vh;overflow:hidden}.app-workspace{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden}.small-screen-overlay{display:none;position:fixed;inset:0;z-index:9999;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-5);background:var(--color-bg);padding:var(--space-6);text-align:center}@media(max-width:480px){.small-screen-overlay{display:flex}}.small-screen-overlay-logo{color:var(--color-accent);opacity:.9}.small-screen-overlay-title{margin:0;font-family:var(--font-heading);font-size:18px;font-weight:600;color:var(--color-text);letter-spacing:.02em}.small-screen-overlay-message{margin:0;font-family:var(--font-body);font-size:14px;color:var(--color-text-secondary);line-height:1.6;max-width:280px}}@layer shell{.activity-rail{display:flex;flex-direction:column;align-items:center;width:52px;flex-shrink:0;background:var(--color-chrome);border-right:1px solid var(--color-border);padding:var(--space-3) 0 var(--space-2);gap:var(--space-2);z-index:10}.activity-rail-brand{color:var(--color-accent);display:flex;align-items:center;justify-content:center;height:24px;width:100%;cursor:default;-webkit-user-select:none;user-select:none;pointer-events:none;opacity:.85}.activity-rail-brand-rule{width:24px;height:1px;background:var(--color-border);margin:var(--space-1) 0 var(--space-2)}.activity-rail-nav{display:flex;flex-direction:column;gap:2px;width:100%;align-items:center}.activity-rail-spacer{flex:1}.activity-rail-footer{display:flex;flex-direction:column;gap:2px;width:100%;align-items:center}.activity-rail-btn{position:relative;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:transparent;color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius-md);transition:color .14s ease,background .14s ease,transform .14s ease}.activity-rail-btn:hover{color:var(--color-text);background:var(--color-surface-active)}.activity-rail-btn:active{transform:scale(.94)}.activity-rail-btn--active,.activity-rail-btn--active:hover{color:var(--color-accent);background:var(--color-accent-dim)}.activity-rail-btn--active:before{content:"";position:absolute;left:-8px;top:7px;bottom:7px;width:2px;background:var(--color-accent);border-radius:0 1px 1px 0;box-shadow:var(--shadow-glow)}}@layer shell{.panel-tool-title{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:12px var(--space-3);flex-shrink:0;border-bottom:1px solid var(--color-border);background:var(--color-surface)}.panel-tool-title-name{font-family:var(--font-heading);font-size:14px;font-weight:600;letter-spacing:-.005em;color:var(--color-text);white-space:nowrap;min-width:0;overflow:hidden;text-overflow:ellipsis}}@layer shell{.status-bar{display:flex;align-items:center;justify-content:space-between;height:24px;padding:0 var(--space-3);background:var(--color-chrome);border-top:1px solid var(--color-border);flex-shrink:0;font-family:var(--font-mono);font-size:11px;font-weight:500;color:var(--color-text-secondary)}.status-bar-left,.status-bar-right{display:flex;align-items:center;gap:0}.status-bar-item{display:flex;align-items:center;gap:4px;padding:0 var(--space-2)}.status-bar-item:not(:first-child):before{content:"";display:block;width:1px;height:12px;background:var(--color-border);margin-right:var(--space-2)}.status-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.status-dot.ready{background:var(--color-success)}.status-dot.idle{background:var(--color-text-muted)}.status-dot.running{background:var(--color-accent);animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.theme-toggle{width:32px;height:32px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-md);color:var(--color-text-secondary);background:transparent;border:1px solid var(--color-border);cursor:pointer;transition:background-color .12s ease,border-color .12s ease,color .12s ease}.theme-toggle:hover{background-color:var(--color-surface-raised);border-color:var(--color-border-bright);color:var(--color-accent)}}@layer primitives{.btn-load{display:inline-flex;align-items:center;padding:3px 10px;font-family:var(--font-mono);font-size:11px;font-weight:600;color:var(--color-bg);background:var(--color-accent);border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;transition:background-color .12s ease,box-shadow .12s ease;-webkit-user-select:none;user-select:none;white-space:nowrap}.btn-load:hover{background:var(--color-accent-hover);box-shadow:var(--shadow-glow)}.btn-primary{display:inline-flex;align-items:center;gap:7px;padding:6px 14px;font-family:var(--font-mono);font-size:12px;font-weight:600;color:var(--color-bg);background:var(--color-accent);border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;transition:background-color .12s ease,box-shadow .12s ease;letter-spacing:.01em;white-space:nowrap;-webkit-user-select:none;user-select:none}.btn-primary:hover:not(:disabled){background:var(--color-accent-hover);box-shadow:var(--shadow-glow)}.btn-primary:active:not(:disabled){background:var(--color-accent-hover);box-shadow:none}.btn-primary:disabled{background-color:var(--color-disabled);color:var(--color-text-muted);cursor:not-allowed}.btn-kbd{font-family:var(--font-mono);font-size:10px;font-weight:400;opacity:.65;letter-spacing:.02em;margin-left:1px}.btn-secondary{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-family:var(--font-body);font-size:13px;font-weight:500;color:var(--color-text);background-color:transparent;border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:background-color .12s ease,border-color .12s ease;-webkit-user-select:none;user-select:none}.btn-secondary:hover{background-color:var(--color-surface-raised);border-color:var(--color-border-bright)}.btn-secondary:active{background-color:var(--color-surface-raised);border-color:var(--color-text-secondary)}.btn-toolbar{width:30px;height:30px;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:16px;font-weight:500;line-height:1;border-radius:var(--radius-sm);color:var(--color-text-secondary);background:transparent;border:none;cursor:pointer;transition:background-color .1s,color .1s}.btn-toolbar:hover:not(:disabled){background-color:var(--color-surface-raised);color:var(--color-accent)}.btn-toolbar:disabled{color:var(--color-disabled);cursor:not-allowed}.btn-split-group{display:inline-flex;align-items:center}.btn-split-main{display:inline-flex;align-items:center;padding:3px 9px;font-family:var(--font-mono);font-size:11px;font-weight:600;color:var(--color-bg);background:var(--color-accent);border:1px solid transparent;border-right:none;border-radius:var(--radius-sm) 0 0 var(--radius-sm);cursor:pointer;transition:background-color .12s ease,box-shadow .12s ease;-webkit-user-select:none;user-select:none;white-space:nowrap}.editor-panel-footer .btn-split-main{padding:6px 12px;font-size:12px;border-radius:var(--radius-md) 0 0 var(--radius-md)}.editor-panel-footer .btn-split-caret{padding:0 8px;font-size:11px;border-radius:0 var(--radius-md) var(--radius-md) 0}.btn-split-main:hover{background:var(--color-accent-hover);box-shadow:var(--shadow-glow)}.btn-split-caret{display:inline-flex;align-items:center;align-self:stretch;padding:0 6px;font-family:var(--font-mono);font-size:10px;color:var(--color-bg);background:var(--color-accent);border:1px solid transparent;border-left:1px solid rgba(0,0,0,.15);border-radius:0 var(--radius-sm) var(--radius-sm) 0;cursor:pointer;transition:background-color .12s ease;-webkit-user-select:none;user-select:none}.btn-split-caret:hover{background:var(--color-accent-hover)}.btn-save-as{display:inline-flex;align-items:center;padding:6px 14px;font-family:var(--font-mono);font-size:12px;font-weight:600;color:var(--color-text-secondary);background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:background-color .12s ease,color .12s ease,border-color .12s ease;-webkit-user-select:none;user-select:none;white-space:nowrap;letter-spacing:.01em}.btn-save-as:hover{background:var(--color-surface-raised);color:var(--color-text);border-color:var(--color-border-bright)}}@layer primitives{.modal-backdrop{position:fixed;inset:0;z-index:100;background:#0000008c;display:flex;align-items:center;justify-content:center}@keyframes modal-enter{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:0 8px 40px #00000080;width:620px;max-width:calc(100vw - 48px);display:flex;flex-direction:column;overflow:hidden;animation:modal-enter .15s ease}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);flex-shrink:0}.modal-title{font-family:var(--font-body);font-size:14px;font-weight:600;color:var(--color-text)}.modal-close{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;padding:0;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;transition:background-color .12s ease,color .12s ease}.modal-close:hover{background:var(--color-surface-raised);color:var(--color-text)}.modal-tabs{display:flex;border-bottom:1px solid var(--color-border);background:var(--color-surface-raised);flex-shrink:0}.modal-tab{padding:8px 16px;font-family:var(--font-body);font-size:12px;font-weight:500;color:var(--color-text-secondary);background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:color .12s ease;white-space:nowrap}.modal-tab.active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.modal-tab:disabled{cursor:default;opacity:.5}.modal-body{display:flex;height:340px;min-height:0}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border);background:var(--color-surface-raised);flex-shrink:0}.modal-footer .btn-secondary{padding:6px 14px;font-size:12px}}@layer primitives{@keyframes spin{to{transform:rotate(360deg)}}.spinner{width:12px;height:12px;border:1.5px solid var(--color-spinner-track);border-top-color:var(--color-spinner-head);border-radius:50%;animation:spin .65s linear infinite;flex-shrink:0}.error-banner{display:flex;align-items:center;gap:var(--space-2);color:var(--color-error);font-size:12px;font-weight:500;padding:7px var(--space-5);background:var(--color-error-bg);border-bottom:1px solid var(--color-error-border);flex-shrink:0}@keyframes resultsFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.results-reveal{animation:resultsFadeIn .3s ease-out both}@media(prefers-reduced-motion:reduce){.results-reveal{animation:none}}@keyframes flashSuccess{0%{background:var(--color-success);box-shadow:0 0 12px #3fb95080}to{background:linear-gradient(180deg,var(--color-accent) 0%,var(--color-accent-hover) 100%)}}@keyframes flashError{0%{background:var(--color-error);box-shadow:0 0 12px #f8514980}to{background:linear-gradient(180deg,var(--color-accent) 0%,var(--color-accent-hover) 100%)}}.btn-flash-success{animation:flashSuccess .6s ease-out both}.btn-flash-error{animation:flashError .6s ease-out both}.panel-enter-left-init{transform:translate(-12px);opacity:0}.panel-enter-right-init{transform:translate(12px);opacity:0}.panel-enter-left,.panel-enter-right{transition:transform .25s ease-out,opacity .25s ease-out;transform:translate(0);opacity:1}@media(prefers-reduced-motion:reduce){.panel-enter-left-init,.panel-enter-right-init{transform:none;opacity:1}}.save-toast{font-family:var(--font-mono);font-size:10px;color:var(--color-success, #a6e3a1);opacity:0;transition:opacity .15s ease;pointer-events:none;white-space:nowrap}.save-toast.visible{opacity:1}.save-toast.error{color:var(--color-error, #f38ba8)}}@layer primitives{.resize-handle{width:1px;flex-shrink:0;cursor:col-resize;background:var(--color-border);position:relative;z-index:2;display:flex;align-items:center;justify-content:center;padding:0 7px;margin:0 -7px;background-clip:content-box}.resize-handle-groove{display:none}.resize-handle-chevrons{display:none;position:absolute;gap:2px;font-size:8px;color:var(--color-text-secondary);pointer-events:none}.resize-handle:hover,body.col-resize .resize-handle{background:var(--color-accent);background-clip:content-box;width:2px}.resize-handle:hover .resize-handle-chevrons{display:none}body.col-resize{cursor:col-resize!important;-webkit-user-select:none!important;user-select:none!important}body.col-resize *{cursor:col-resize!important}.resize-handle-minimize-btn{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:20px;height:20px;display:flex;align-items:center;justify-content:center;padding:0;border-radius:var(--radius-sm);background:var(--color-surface-raised);border:1px solid var(--color-border);color:var(--color-text-secondary);cursor:pointer;opacity:0;pointer-events:none;transition:opacity .15s ease,background-color .12s ease,border-color .12s ease,color .12s ease;z-index:4}.resize-handle:hover .resize-handle-minimize-btn{opacity:1;pointer-events:auto}.resize-handle-minimize-btn:hover{background:var(--color-accent-dim);border-color:var(--color-accent);color:var(--color-accent)}body.col-resize .resize-handle-minimize-btn{opacity:0!important;pointer-events:none!important}.panel-collapsed-strip{width:28px;flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);cursor:pointer;background:var(--color-surface);border-right:1px solid var(--color-border);transition:background-color .12s ease;overflow:hidden}.panel-collapsed-strip:hover{background:var(--color-surface-raised)}.collapsed-strip-chevron{font-size:9px;color:var(--color-text-secondary);transition:color .12s ease}.panel-collapsed-strip:hover .collapsed-strip-chevron{color:var(--color-accent)}.collapsed-strip-label{writing-mode:vertical-rl;text-orientation:mixed;font-family:var(--font-body);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--color-text-secondary);white-space:nowrap}}@layer primitives{.modal-body--settings{display:block;height:auto;max-height:calc(100vh - 240px);overflow-y:auto;padding:var(--space-4)}.settings-section+.settings-section{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.settings-section-title{margin:0 0 var(--space-2) 0;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-secondary)}.settings-field-hint{margin:4px 0 0;font-size:11px;color:var(--color-text-muted);line-height:1.4}.settings-reset-link{align-self:flex-start;margin-top:4px;padding:0;background:none;border:none;color:var(--color-accent);font-size:11px;cursor:pointer}.settings-reset-link:hover{text-decoration:underline}.theme-row+.theme-row{margin-top:var(--space-3)}.theme-row-label{font-size:12px;color:var(--color-text-secondary);margin-bottom:var(--space-2)}.theme-swatch-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2)}.theme-swatch{display:flex;flex-direction:column;align-items:stretch;gap:6px;padding:6px;background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;font:inherit;color:var(--color-text);text-align:center;transition:border-color .12s,box-shadow .12s,transform .12s}.theme-swatch:hover{border-color:var(--color-border-bright)}.theme-swatch--selected{border-color:var(--color-accent)}.theme-swatch--active{box-shadow:0 0 0 2px var(--color-accent)}.theme-swatch-check{position:absolute;top:4px;left:4px;width:14px;height:14px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--color-accent);color:var(--color-bg);box-shadow:0 0 0 1px var(--color-bg)}.theme-swatch-preview{display:flex;position:relative;height:36px;border-radius:var(--radius-sm);overflow:hidden;background:var(--color-bg);border:1px solid var(--color-border)}.theme-swatch-bg{flex:1;background:var(--color-bg)}.theme-swatch-surface{flex:1;background:var(--color-surface)}.theme-swatch-accent{position:absolute;right:4px;bottom:4px;width:10px;height:10px;border-radius:50%;background:var(--color-accent);box-shadow:0 0 0 1px var(--color-bg)}.theme-swatch-name{font-size:11px;color:var(--color-text-secondary)}.theme-swatch--selected .theme-swatch-name{color:var(--color-text)}}@layer circuit{.main-content{display:flex;flex:1;min-height:0;overflow:hidden}.panel-editor{display:flex;flex-direction:column;min-height:0;overflow:hidden;transition:width .18s ease;background:var(--color-surface);border-right:1px solid var(--color-border)}.editor-panel-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-3);flex-shrink:0;border-bottom:1px solid var(--color-border);background:var(--color-surface)}.editor-panel-title-group{display:flex;flex-direction:column;gap:1px;min-width:0}.editor-panel-title{font-family:var(--font-mono);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--color-text-secondary)}.editor-panel-netlist-name{font-family:var(--font-body);font-size:11px;font-weight:500;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.editor-panel-body{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column;padding:var(--space-3)}.resizing .panel-editor{transition:none}.panel-results-section{flex:1;border-top:1px solid var(--color-border);padding-top:var(--space-3);margin-top:var(--space-3);display:flex;flex-direction:column;min-height:0}.panel-results-inline{flex:1;overflow-y:auto;min-height:0}.results-inline-label{font-family:var(--font-mono);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--color-text-secondary);margin-bottom:var(--space-2)}.panel-schematic{flex:1;overflow:hidden;background:var(--color-canvas);min-width:0;min-height:0}.panel-bode{border-left:1px solid var(--color-border);overflow:hidden;background:var(--color-surface);min-width:0;min-height:0;transition:width .18s ease;display:flex;flex-direction:column}.resizing .panel-bode{transition:none}.analysis-panel-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-3) var(--space-2);flex-shrink:0;border-bottom:1px solid var(--color-border);background:linear-gradient(180deg,var(--color-surface-raised) 0%,var(--color-surface) 100%);border-top:1px solid rgba(255,255,255,.04)}.analysis-panel-body{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.analysis-dc-scroll{flex:1;overflow-y:auto;padding:var(--space-3)}.editor-panel-netlist-name.modified:after{content:" ●";color:var(--color-warning, #f9e2af);font-size:9px}.editor-panel-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.editor-panel-footer{display:flex;align-items:center;gap:8px;padding:5px 8px;border-top:1px solid var(--color-border);flex-shrink:0}.editor-panel-footer>.btn-run{margin-left:auto}}@layer circuit{.editor-container{flex:1;display:flex;flex-direction:column;min-height:0}.editor-label{font-family:var(--font-mono);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-secondary);margin-bottom:var(--space-2);flex-shrink:0;border-bottom:1px solid rgba(45,212,191,.2);padding-bottom:4px;display:inline-block}[data-theme-mode=light] .editor-label,[data-theme-mode=light] .panel-label{border-bottom-color:var(--color-accent-dim)}.editor-codemirror{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.editor-codemirror .cm-editor{height:100%}}@layer circuit{.schematic-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);height:100%;color:var(--color-text-secondary);-webkit-user-select:none;user-select:none}.empty-circuit{opacity:.85;filter:drop-shadow(0 0 8px color-mix(in srgb,var(--color-accent) 20%,transparent))}.empty-title{font-family:var(--font-heading);font-size:15px;font-weight:600;color:var(--color-text);margin:0;letter-spacing:.02em}.empty-hint{font-family:var(--font-mono);font-size:11px;color:var(--color-text-secondary);margin:0}.empty-hint kbd{font-family:var(--font-mono);font-size:10px;background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:3px;padding:1px 5px;color:var(--color-text-secondary)}@media(prefers-reduced-motion:reduce){.empty-current-dot{display:none}}.schematic-breadcrumb{display:flex;align-items:center;gap:2px;padding:4px 10px;font-size:12px;font-family:var(--font-body);border-bottom:1px solid var(--color-border);background:var(--color-surface);flex-shrink:0}.schematic-breadcrumb button{background:none;border:none;color:var(--color-accent);cursor:pointer;font-size:12px;font-family:var(--font-body);padding:0 2px}.schematic-breadcrumb button:hover{text-decoration:underline}.breadcrumb-sep{color:var(--color-text-secondary)}.breadcrumb-current{color:var(--color-text);font-weight:600}.schematic-container{width:100%;height:100%;position:relative;background-color:var(--color-canvas);background-image:linear-gradient(var(--color-canvas-grid) 1px,transparent 1px),linear-gradient(90deg,var(--color-canvas-grid) 1px,transparent 1px);background-size:20px 20px}.schematic-svg{width:100%;height:100%;background:transparent}.instance-box-group rect:first-child{transition:fill-opacity .15s,stroke-opacity .15s}.instance-box-group:hover rect:first-child{fill-opacity:.22;stroke-opacity:.85}.canvas-toolbar{position:absolute;bottom:var(--space-3);right:var(--space-3);display:flex;flex-direction:column;gap:1px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:2px;box-shadow:var(--shadow-overlay)}@keyframes labelFadeIn{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}.node-label-animated{animation:labelFadeIn .2s ease-out both}@media(prefers-reduced-motion:reduce){.node-label-animated{animation:none}}}@layer circuit{.results-container{display:flex;flex-direction:column;gap:var(--space-4)}.results-section h3{margin:0 0 var(--space-2) 0;font-family:var(--font-mono);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary)}.results-table{border-collapse:collapse;width:100%}.results-table th{font-family:var(--font-mono);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary);text-align:left;padding:var(--space-1) var(--space-3) var(--space-2) 0;border-bottom:1px solid var(--color-border)}.results-table th:last-child{text-align:right;padding-right:0}.results-table td{padding:5px var(--space-3) 5px 0;font-family:var(--font-mono);font-size:11.5px}.results-table td:last-child{text-align:right;padding-right:0;color:var(--color-data);font-variant-numeric:tabular-nums}.results-table tr:last-child td{border-bottom:none}.results-table tr:nth-child(2n) td{background:var(--color-row-stripe)}.results-internal-divider td{padding-top:var(--space-3);padding-bottom:4px;font-family:var(--font-mono);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-secondary);border-bottom:1px solid var(--color-border);background:none!important}.results-internal-row td{opacity:.65}.results-internals-toggle{align-self:flex-start;font-size:11px;padding:4px 10px;margin-top:var(--space-1)}}@layer circuit{.bode-container{width:100%;height:100%;display:flex;flex-direction:column;padding:var(--space-3) var(--space-3) var(--space-5);position:relative}.bode-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-2);flex-shrink:0}.bode-title{font-family:var(--font-mono);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--color-text-secondary)}.bode-tooltip{position:absolute;pointer-events:none;z-index:10;background:var(--color-surface-raised);border:1px solid var(--color-border-bright);border-radius:var(--radius-sm);box-shadow:var(--shadow-overlay);padding:6px 10px;font-family:var(--font-mono);font-size:11px;line-height:1.5;white-space:nowrap}.bode-tooltip-freq{font-weight:600;color:var(--color-text);margin-bottom:2px}.bode-tooltip-line{display:flex;align-items:center;gap:5px}.bode-tooltip-dot{display:inline-block;width:7px;height:7px;border-radius:50%;flex-shrink:0}.bode-node-selector{font-family:var(--font-mono);font-size:11px;padding:3px 8px;background:var(--color-bg);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-sm);outline:none;cursor:pointer}.bode-node-selector:hover{border-color:var(--color-accent)}.bode-view-toggle{display:inline-flex;border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden}.bode-view-toggle button{font-family:var(--font-mono);font-size:11px;padding:3px 10px;background:var(--color-bg);color:var(--color-text-secondary);border:none;cursor:pointer;transition:background-color .12s ease,color .12s ease;line-height:1.3}.bode-view-toggle button:not(:last-child){border-right:1px solid var(--color-border)}.bode-view-toggle button:hover{color:var(--color-text)}.bode-view-toggle button.active{background:var(--color-accent);color:var(--color-bg)}.analysis-view-toggle{display:inline-flex;border:1px solid var(--color-border);border-radius:20px;overflow:hidden}.analysis-view-toggle button{font-family:var(--font-mono);font-size:12px;font-weight:600;padding:4px 14px;background:var(--color-bg);color:var(--color-text-secondary);border:none;cursor:pointer;transition:background-color .12s ease,color .12s ease;line-height:1.3;letter-spacing:.02em}.analysis-view-toggle button:not(:last-child){border-right:1px solid var(--color-border)}.analysis-view-toggle button:hover{color:var(--color-text)}.analysis-view-toggle button.active{background:var(--color-accent);color:var(--color-bg)}.bode-table-container{flex:1;overflow:auto;min-height:0;min-width:0}.bode-table-container .results-table{table-layout:fixed;width:100%}.bode-table-container .results-table th:nth-child(2),.bode-table-container .results-table td:nth-child(2){text-align:right}.bode-table-container .results-table th:last-child,.bode-table-container .results-table td:last-child{text-align:right;padding-right:var(--space-2)}.bode-chart{flex:1;min-height:0;box-shadow:var(--shadow-inset-chart)}.u-over{background:transparent!important}}@layer circuit{.waveform-container{display:flex;flex-direction:column;box-shadow:var(--shadow-inset-chart)}.waveform-channels{display:flex;flex-wrap:wrap;align-items:center;gap:2px 12px;padding:6px 12px;border-top:1px solid var(--color-border);background:var(--color-surface);flex-shrink:0;font-family:var(--font-mono);font-size:11px}.waveform-channel-row{display:flex;align-items:center;gap:6px;cursor:pointer;-webkit-user-select:none;user-select:none;padding:2px 4px;border-radius:var(--radius-sm)}.waveform-channel-row:hover{background:var(--color-surface-raised)}.waveform-channel-swatch{display:inline-block;width:12px;height:12px;border-radius:2px;border:1.5px solid;flex-shrink:0;cursor:pointer;transition:opacity .15s}.waveform-channel-name{font-weight:600;font-size:11px;letter-spacing:.03em;transition:color .15s,opacity .15s;min-width:24px}.waveform-channel-readout{color:var(--color-text-secondary);font-size:11px;letter-spacing:.02em;min-width:56px;text-align:right}.waveform-channel-time{margin-left:auto;color:var(--color-text-muted);font-size:10px}}@layer circuit{.modal-tab-soon{font-size:10px;opacity:.7;margin-left:4px}.modal-categories{width:196px;flex-shrink:0;border-right:1px solid var(--color-border);overflow-y:auto;padding:var(--space-1)}.modal-category-item{display:flex;align-items:center;justify-content:space-between;padding:7px var(--space-3);border-radius:var(--radius-sm);font-size:12px;color:var(--color-text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .1s ease,color .1s ease}.modal-category-item:hover{background:var(--color-surface-raised);color:var(--color-text)}.modal-category-item.active{background:var(--color-accent-dim);color:var(--color-accent)}.modal-category-count{font-size:10px;font-family:var(--font-mono);flex-shrink:0;background:var(--color-surface-raised);color:var(--color-text-secondary);border-radius:999px;padding:0 5px;min-width:18px;text-align:center;line-height:1.6}.modal-category-item.active .modal-category-count{background:color-mix(in srgb,var(--color-accent) 18%,transparent);color:var(--color-accent)}.modal-examples{flex:1;overflow-y:auto;padding:var(--space-1)}.modal-example-item{padding:8px var(--space-3);border-radius:var(--radius-sm);font-size:12px;color:var(--color-text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .1s ease,color .1s ease;border:1px solid transparent}.modal-example-item:hover{background:var(--color-surface-raised);color:var(--color-text)}.modal-example-item.active{background:var(--color-accent-dim);color:var(--color-accent);border-color:color-mix(in srgb,var(--color-accent) 30%,transparent);box-shadow:inset 3px 0 0 var(--color-accent)}.modal-saved-item{display:flex;align-items:center;gap:6px;padding:7px 10px;cursor:pointer;border-radius:var(--radius-sm);transition:background-color .1s;-webkit-user-select:none;user-select:none}.modal-saved-item:hover{background:var(--color-surface-raised)}.modal-saved-item.active{background:var(--color-surface-active, rgba(137,180,250,.12))}.modal-saved-item-name{flex:1;font-family:var(--font-body);font-size:12px;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal-saved-item-input{flex:1;font-family:var(--font-body);font-size:12px;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-accent);border-radius:3px;padding:1px 5px;outline:none;min-width:0}.modal-saved-item-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.modal-saved-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;color:var(--color-text-secondary);transition:background-color .1s,color .1s}.modal-saved-icon-btn:hover{background:var(--color-surface-raised);color:var(--color-text)}.modal-saved-delete-confirm{display:flex;align-items:center;gap:6px;font-family:var(--font-body);font-size:11px;color:var(--color-text-secondary)}.modal-saved-delete-confirm button{padding:1px 7px;font-size:11px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:transparent;cursor:pointer;color:var(--color-text)}.modal-saved-delete-confirm .confirm-yes{color:var(--color-error, #f38ba8);border-color:var(--color-error, #f38ba8)}.modal-saved-delete-confirm .confirm-yes:hover{background:#f38ba81a}.modal-saved-empty{padding:24px 12px;font-family:var(--font-body);font-size:12px;color:var(--color-text-secondary);text-align:center;line-height:1.5}.modal-saved-unavailable{padding:24px 12px;font-family:var(--font-body);font-size:12px;color:var(--color-text-secondary);text-align:center}}@layer circuit{.recents-anchor{position:relative;display:inline-flex}.recents-dropdown{position:absolute;top:100%;right:0;z-index:200;min-width:220px;max-width:320px;background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:0 4px 16px #00000059;overflow:hidden}.recents-dropdown-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 12px;cursor:pointer;transition:background-color .1s}.recents-dropdown-item:hover{background:var(--color-surface-active, rgba(255,255,255,.05))}.recents-dropdown-name{font-family:var(--font-body);font-size:12px;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recents-dropdown-tag{font-family:var(--font-mono);font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary);flex-shrink:0}.recents-dropdown-empty{padding:12px;font-family:var(--font-body);font-size:11px;color:var(--color-text-secondary);text-align:center}}@layer pcb{.pcb-viewer-container{flex:1;min-width:0;min-height:0;position:relative;overflow:hidden;background:var(--color-bg)}.pcb-viewer-container canvas{cursor:crosshair}.pcb-canvas{display:block;width:100%;height:100%;cursor:grab;transition:opacity .2s ease}.pcb-canvas.pcb-canvas-loading{opacity:.35}.pcb-canvas:active{cursor:grabbing}.pcb-sidebar,.panel-ir-drop,.pcb-context-menu,.pcb-color-popover,.pcb-controls-popover,.pcb-toolbar,.pcb-toast-container,.pcb-net-tooltip,.pcb-heatmap-tooltip,.pcb-heatmap-legend,.pcb-placement-statusbar,.pcb-scale-ruler,.pcb-drag-rect{--radius-sm: 0;--radius-md: 0;--radius-lg: 0}.pcb-empty-state{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);color:var(--color-text-secondary);-webkit-user-select:none;user-select:none;z-index:5;cursor:default}.pcb-empty-state.drop-active{background:var(--color-accent-dim)}.pcb-empty-state-icon{opacity:.7;filter:drop-shadow(0 0 8px color-mix(in srgb,var(--color-accent) 20%,transparent))}.pcb-empty-state .empty-title{font-family:var(--font-heading);font-size:15px;font-weight:600;color:var(--color-text);margin:0;letter-spacing:.02em}.pcb-empty-state .empty-hint{font-family:var(--font-mono);font-size:11px;color:var(--color-text-secondary);margin:0}.pcb-filename{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pcb-wireframe-toggle{display:none}}@layer pcb{.pcb-sidebar{background:var(--color-surface);border-right:1px solid var(--color-border);display:flex;flex-direction:column;min-width:0;flex-shrink:0;overflow:hidden}.pcb-sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-3);flex-shrink:0;border-bottom:1px solid var(--color-border);background:var(--color-surface)}.pcb-sidebar-title{color:var(--color-text-secondary);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.pcb-sidebar-body{flex:1;overflow-y:auto;display:flex;flex-direction:column;min-height:0}.pcb-sidebar-body--padded{padding:var(--space-3);gap:var(--space-3)}.pcb-change-file-btn{background:transparent;border:1px solid var(--color-border);border-radius:0;color:var(--color-text-secondary);cursor:pointer;font-size:11px;padding:2px var(--space-2);transition:border-color .15s,color .15s,background .15s}.pcb-change-file-btn:hover{border-color:var(--color-accent);color:var(--color-text);background:var(--color-surface-raised)}.pcb-drop-zone{align-items:center;border:1px dashed var(--color-border);border-radius:0;color:var(--color-text-muted);cursor:pointer;display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-5) var(--space-3);text-align:center;transition:border-color .15s,background .15s}.pcb-drop-zone:hover,.pcb-drop-zone.dragging{border-color:var(--color-accent);background:var(--color-surface-raised)}.pcb-drop-zone-text{font-size:12px}@keyframes pcbFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.pcb-loading{align-items:center;animation:pcbFadeIn .15s ease;border:1px dashed var(--color-border);border-radius:0;color:var(--color-text-secondary);display:flex;flex-direction:column;font-size:12px;gap:var(--space-2);padding:var(--space-5) var(--space-3);text-align:center}.pcb-status{align-items:center;color:var(--color-text-secondary);display:flex;font-size:12px;gap:var(--space-2);padding:var(--space-2) var(--space-3)}.pcb-error{background:var(--color-error-bg);border:1px solid var(--color-error-border);border-radius:0;color:var(--color-error);font-size:12px;padding:var(--space-2) var(--space-3);margin:var(--space-2) var(--space-3)}.pcb-board-stats{display:flex;align-items:center;flex-wrap:wrap;gap:4px 6px;padding:6px var(--space-3);font-size:12px;color:var(--color-text-muted);background:var(--color-surface);flex-shrink:0;min-width:0}.pcb-board-stats-file{color:var(--color-text-secondary);font-weight:500;overflow:hidden;text-overflow:ellipsis;flex-basis:100%;min-width:0}.pcb-board-stats-file+.pcb-board-stats-sep{display:none}.pcb-board-stats-sep{color:var(--color-border-bright);flex-shrink:0}.pcb-board-stats-item{flex-shrink:0}.pcb-section{border:none;border-radius:0;border-bottom:1px solid var(--color-border);overflow:hidden;flex-shrink:0;display:flex;flex-direction:column}.pcb-section:last-of-type{border-bottom:none}.pcb-section-collapse{display:grid;grid-template-rows:minmax(0,1fr);min-height:0;overflow:hidden;transition:grid-template-rows .2s ease}.pcb-section-collapse>.pcb-section-body{overflow:hidden;min-height:0;height:100%}.pcb-section-collapse.collapsed{grid-template-rows:minmax(0,0fr)}.pcb-section--flex{flex:1;min-height:0}.pcb-section--flex.pcb-section--collapsed{flex:0 0 auto}.pcb-section--flex>.pcb-section-collapse{flex:1 1 0;min-height:0;height:0}.pcb-section-header{display:flex;align-items:center;gap:var(--space-1);padding:0 var(--space-3);cursor:pointer;-webkit-user-select:none;user-select:none;background:var(--color-surface);height:22px;flex-shrink:0;position:sticky;top:0;z-index:2}.pcb-section-header:hover{background:var(--color-surface-raised)}.pcb-section-chevron{font-size:8px;color:var(--color-text-secondary);transition:transform .15s ease;flex-shrink:0;width:10px;text-align:center}.pcb-section-chevron.collapsed{transform:rotate(-90deg)}.pcb-section-title{color:var(--color-text);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;flex:1}.pcb-section-body{padding:var(--space-1) var(--space-3) var(--space-2);display:flex;flex-direction:column;min-height:0}.pcb-section-resizer{flex-shrink:0;height:4px;margin-top:-2px;margin-bottom:-2px;cursor:row-resize;background:transparent;position:relative;z-index:3;transition:background .12s}.pcb-section-resizer:hover,.pcb-section-resizer:active{background:var(--color-accent-dim)}.pcb-section-header-row{padding:2px var(--space-2);border-bottom:1px solid var(--color-border);font-size:var(--text-sm);color:var(--color-text-secondary);display:flex;align-items:center}.pcb-section-all-label{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin-left:var(--space-1)}.pcb-section-all-count{color:var(--color-text-muted);text-transform:none;letter-spacing:0;font-size:10px}.pcb-layer-stack-wrapper{display:flex;align-items:stretch;gap:var(--space-2);padding-right:var(--space-2);flex:1;min-height:0;overflow:hidden}.pcb-stackup{display:flex;flex-direction:column;width:8px;flex-shrink:0;border-radius:2px;overflow:hidden;border:1px solid var(--color-border);align-self:stretch}.pcb-stackup-band{flex:1;min-height:2px;transition:opacity .15s}.pcb-stackup-band.hidden{opacity:.25}.pcb-stackup-band--copper{background:#d4b83a}.pcb-stackup-band--dielectric{background:repeating-linear-gradient(-45deg,#2d7a2d 0 2px,#1f5520 2px 4px)}.pcb-layer-list{flex:1;list-style:none;padding:0;margin:0;min-height:0;overflow-y:auto}.pcb-layer-item{padding:2px var(--space-2);cursor:pointer}.pcb-layer-item:hover:not(.selected){background:var(--color-hover)}.pcb-layer-label{display:flex;align-items:center;gap:var(--space-2);cursor:pointer;font-size:var(--text-sm);color:var(--color-text-muted)}.pcb-layer-label:hover{color:var(--color-text)}.pcb-layer-dot{width:10px;height:10px;border-radius:2px;flex-shrink:0}.pcb-layer-dot--copper{background:#d4b83a}.pcb-layer-dot--dielectric{background:#2d7a2d}.pcb-layer-mode{display:flex;align-items:center;gap:4px;margin:var(--space-1) var(--space-3) var(--space-2);flex-wrap:wrap}.pcb-layer-mode-btn{background:none;border:1px solid var(--color-border);border-radius:999px;color:var(--color-text-muted);font-size:11px;padding:2px 8px;cursor:pointer;transition:background .12s,color .12s,border-color .12s}.pcb-layer-mode-btn:hover:not(.active){color:var(--color-text);border-color:var(--color-text-secondary)}.pcb-layer-mode-btn.active{background:var(--color-accent-dim);border-color:var(--color-accent);color:var(--color-text)}.pcb-layer-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pcb-net-search-wrapper{display:flex;align-items:center;position:relative;margin:var(--space-1) var(--space-3) var(--space-2)}.pcb-net-search-icon{position:absolute;left:8px;color:var(--color-text-muted);pointer-events:none;width:14px;height:14px}.pcb-net-search{width:100%;background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);font-size:var(--text-sm);padding:5px 8px 5px 28px;outline:none;transition:border-color .15s}.pcb-net-search:focus{border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-ring)}.pcb-net-search::placeholder{color:var(--color-text-muted)}.pcb-net-chips{display:flex;align-items:center;gap:4px;margin:0 var(--space-3) var(--space-2);flex-wrap:wrap}.pcb-net-chip{background:none;border:1px solid var(--color-border);border-radius:999px;color:var(--color-text-muted);font-size:11px;padding:2px 8px;cursor:pointer;transition:background .12s,color .12s,border-color .12s}.pcb-net-chip:hover:not(.active){color:var(--color-text);border-color:var(--color-text-secondary)}.pcb-net-chip.active{background:var(--color-accent-dim);border-color:var(--color-accent);color:var(--color-text)}.pcb-net-chip--sim{border-style:dashed}.pcb-net-chip--sim.active{border-style:solid}.pcb-net-chip-x{opacity:.7;margin-left:2px}.pcb-net-sort{margin-left:auto;background:none;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:11px;padding:1px 4px;cursor:pointer}.pcb-net-list{list-style:none;padding:0;margin:0;flex:1;min-height:0;overflow-y:auto}.pcb-net-item{display:flex;align-items:center;gap:var(--space-2);padding:0 var(--space-2);cursor:pointer}.pcb-net-item:hover:not(.selected){background:var(--color-hover)}.pcb-net-label{display:flex;align-items:center;gap:8px;padding:3px 0;cursor:pointer;flex:1;min-width:0;font-size:var(--text-sm);color:var(--color-text-muted)}.pcb-net-label:hover{color:var(--color-text)}.pcb-net-color{display:none}.pcb-net-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pcb-color-swatch{width:20px;height:20px;border-radius:50%;border:2px solid var(--color-border);cursor:pointer;flex-shrink:0;transition:border-color .15s}.pcb-color-swatch:hover{border-color:var(--color-text-secondary)}.pcb-color-popover{position:fixed;z-index:500;background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-2);display:grid;grid-template-columns:repeat(8,1fr);gap:4px}.pcb-color-preset{width:18px;height:18px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0;transition:border-color .1s,transform .1s}.pcb-color-preset:hover{border-color:var(--color-text-secondary);transform:scale(1.15)}.pcb-color-preset.active{border-color:#fff}.pcb-color-custom-btn{grid-column:1 / -1;background:none;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;font-size:11px;padding:3px;margin-top:2px;transition:color .15s,border-color .15s}.pcb-color-custom-btn:hover{color:var(--color-text);border-color:var(--color-text-secondary)}.pcb-layer-item.selected,.pcb-net-item.selected{background:var(--color-accent-dim);border-radius:0;box-shadow:inset 2px 0 0 var(--color-accent)}}@layer pcb{.pcb-context-menu{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-1) 0;min-width:160px;display:flex;flex-direction:column}.pcb-context-menu-item{display:block;width:100%;padding:var(--space-1) var(--space-3);text-align:left;background:none;border:none;color:var(--color-text);font-size:12px;cursor:pointer;white-space:nowrap}.pcb-context-menu-item:hover{background:var(--color-hover)}.pcb-context-menu-sep{height:1px;background:var(--color-border);margin:var(--space-1) 0}.pcb-toolbar{position:absolute;bottom:calc(16px + var(--pcb-bottom-inset, 0px));right:16px;display:flex;flex-direction:column;gap:4px;background:color-mix(in srgb,var(--color-surface) 85%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:4px;z-index:10}.pcb-toolbar-btn{height:28px;display:flex;align-items:center;gap:0;padding:0 8px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-secondary);cursor:pointer;transition:background .1s,color .1s,padding .18s ease}.pcb-toolbar:hover .pcb-toolbar-btn{padding-right:10px}.pcb-toolbar-btn-label{font-size:11px;white-space:nowrap;max-width:0;margin-left:0;opacity:0;overflow:hidden;transition:max-width .18s ease,margin-left .18s ease,opacity .14s ease}.pcb-toolbar:hover .pcb-toolbar-btn-label{max-width:110px;margin-left:8px;opacity:1}.pcb-toolbar-btn:hover{background:var(--color-surface-raised);color:var(--color-text)}.pcb-toolbar-btn--active{background:var(--color-accent-dim);color:var(--color-accent)}.pcb-toolbar-btn--active:hover{background:var(--color-accent-dim);color:var(--color-accent-hover)}.pcb-controls-popover{position:absolute;bottom:4px;right:44px;background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3);z-index:20;white-space:nowrap}.pcb-controls-popover-title{color:var(--color-text-muted);font-size:11px;font-weight:600;margin:0 0 var(--space-2);text-transform:uppercase;letter-spacing:.5px}.pcb-controls-popover-list{color:var(--color-text-secondary);font-size:11px;list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.pcb-controls-popover-list kbd{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);display:inline-block;font-family:inherit;font-size:10px;min-width:70px;padding:1px 4px;margin-right:var(--space-1)}}@layer pcb{.pcb-net-tooltip{position:absolute;pointer-events:none;background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);padding:3px var(--space-2);border-radius:var(--radius-sm);font-size:12px;white-space:nowrap;z-index:10}.pcb-heatmap-legend{position:absolute;left:16px;bottom:calc(16px + var(--pcb-bottom-inset, 0px));background:color-mix(in srgb,var(--color-surface) 85%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);z-index:9;pointer-events:none}.pcb-heatmap-legend-title{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary);margin-bottom:6px}.pcb-heatmap-legend-row{display:flex;gap:8px;align-items:stretch;height:96px}.pcb-heatmap-legend-bar{width:12px;border-radius:var(--radius-sm)}.pcb-heatmap-legend-labels{display:flex;flex-direction:column;justify-content:space-between;font-size:11px;color:var(--color-text)}.pcb-heatmap-legend-label{display:flex;flex-direction:column;align-items:flex-start}.pcb-heatmap-legend-label--bottom{align-items:flex-start}.pcb-heatmap-legend-value{font-family:var(--font-mono);font-weight:600;white-space:nowrap}.pcb-heatmap-legend-pct{font-family:var(--font-mono);font-size:10px;color:var(--color-text-secondary)}.pcb-scale-ruler{position:absolute;bottom:0;left:0;right:0;height:24px;background:var(--color-surface);border-top:1px solid var(--color-border);z-index:9;pointer-events:none;overflow:hidden}.pcb-scale-ruler-svg{display:block}.pcb-scale-ruler-baseline,.pcb-scale-ruler-major{stroke:var(--color-text-secondary);stroke-width:1}.pcb-scale-ruler-minor{stroke:var(--color-border);stroke-width:1}.pcb-scale-ruler-text{font-family:var(--font-mono);font-size:10px;fill:var(--color-text-secondary);dominant-baseline:alphabetic;text-anchor:middle}.pcb-scale-ruler-unit{position:absolute;top:0;height:24px;display:flex;align-items:center;font-family:var(--font-mono);font-size:10px;color:var(--color-text-muted);pointer-events:none}.pcb-heatmap-tooltip{position:absolute;pointer-events:none;background:color-mix(in srgb,var(--color-surface) 85%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--color-border);color:var(--color-text);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:11px;z-index:11;white-space:nowrap}.pcb-heatmap-tooltip-row{display:flex;gap:6px;align-items:baseline}.pcb-heatmap-tooltip-header{margin-bottom:4px}.pcb-heatmap-tooltip-role{font-size:9px;font-weight:700;padding:1px var(--space-1);border-radius:var(--radius-sm);letter-spacing:.05em}.pcb-heatmap-tooltip-role--vdd{background:#ff8c5a33;color:#ff8c5a}.pcb-heatmap-tooltip-role--gnd{background:#5a8cff33;color:#5a8cff}.pcb-heatmap-tooltip-net{font-weight:600}.pcb-heatmap-tooltip-layer{color:var(--color-text-secondary)}.pcb-heatmap-tooltip-main{font-family:var(--font-mono);font-size:13px;font-weight:600}.pcb-heatmap-tooltip-arrow{font-size:14px}.pcb-heatmap-tooltip-pct{font-family:var(--font-mono);font-size:11px;font-weight:400;color:var(--color-text-secondary)}.pcb-heatmap-tooltip-vcell{font-family:var(--font-mono);margin-top:2px;font-size:10px;color:var(--color-text-secondary)}.pcb-placement-statusbar{position:absolute;top:0;left:0;right:0;background:var(--color-surface-raised);border-bottom:1px solid var(--color-accent);color:var(--color-text);font-size:12px;padding:var(--space-1) var(--space-3);z-index:10;display:flex;align-items:center;gap:var(--space-2)}.pcb-placement-statusbar>span:first-child{flex:1}.pcb-placement-done-btn{padding:3px var(--space-2);font-size:11px;border-radius:var(--radius-sm);border:1px solid var(--color-accent);background:var(--color-accent);color:var(--color-bg);cursor:pointer;font-weight:600}.pcb-placement-done-btn:hover{opacity:.85}.pcb-placement-badge-hint{font-size:10px;color:var(--color-text-secondary);opacity:.7}.pcb-drag-rect{position:absolute;border:1.5px dashed var(--color-accent);background:var(--color-accent-dim);pointer-events:none;z-index:9}.pcb-toast-container{position:fixed;bottom:var(--space-5);left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:var(--space-1);z-index:9999;pointer-events:none}.pcb-toast{background:var(--color-surface-raised);border:1px solid var(--color-border);color:var(--color-text);font-size:12px;padding:var(--space-1) var(--space-4);border-radius:var(--radius-md);animation:toast-in .15s ease}@keyframes toast-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.ir-drop-marker{position:absolute;transform:translate(-50%,-50%);border:2px solid;border-radius:50%;width:24px;height:24px;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;z-index:5;font-size:9px;font-weight:700;line-height:1}.ir-drop-marker--pending{border-style:dashed;opacity:.75;animation:markerPop .2s ease-out}@keyframes markerPop{0%{transform:translate(-50%,-50%) scale(.5);opacity:0}to{transform:translate(-50%,-50%) scale(1);opacity:.75}}.ir-drop-marker-label{color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5)}.ir-drop-marker-sub{font-size:7px;color:#ffffffb3;text-shadow:0 1px 2px rgba(0,0,0,.5)}}@layer pcb{.ir-drop-overlay-toggles{display:flex;flex-direction:column;gap:4px;margin-top:8px;padding-top:8px;border-top:1px solid var(--color-border)}.ir-drop-overlay-toggle{display:flex;align-items:center;gap:6px;font-size:11px;cursor:pointer}.ir-drop-overlay-toggle-hint{margin-left:auto;font-size:9px;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.panel-ir-drop{position:relative;border-left:1px solid var(--color-border);overflow:hidden;background:var(--color-surface);min-width:0;min-height:0;transition:width .18s ease;display:flex;flex-direction:column}.resizing .panel-ir-drop{transition:none}.ir-drop-panel-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-3);flex-shrink:0;border-bottom:1px solid var(--color-border);background:var(--color-surface)}.ir-drop-panel-title{font-size:11px;font-weight:700;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.08em}.ir-drop-panel-close-btn{background:transparent;border:none;color:var(--color-text-secondary);cursor:pointer;font-size:16px;line-height:1;padding:2px 4px;border-radius:var(--radius-sm);transition:color .12s ease,background-color .12s ease}.ir-drop-panel-close-btn:hover{color:var(--color-text-primary);background:var(--color-hover)}.ir-drop-panel-body{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column}.ir-drop-panel-footer{flex-shrink:0;display:flex;flex-direction:column;gap:8px;padding:10px var(--space-3);border-top:1px solid var(--color-border);background:var(--color-surface)}.ir-drop-panel-footer .ir-drop-run-btn{margin-top:0;padding:var(--space-2) var(--space-3);font-size:12px;width:100%}.ir-drop-preflight{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 2px}.ir-drop-preflight--warn{color:var(--color-text-muted)}.ir-drop-preflight--ok{color:var(--color-accent)}.status-bar-item--prewarm{display:inline-flex;align-items:center;gap:6px;color:var(--color-text-muted)}.ir-drop-settings-summary{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 8px;background:none;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:11px;cursor:pointer;text-align:left;transition:background .12s,color .12s,border-color .12s}.ir-drop-settings-summary:hover{background:var(--color-hover);color:var(--color-text);border-color:var(--color-text-secondary)}.ir-drop-settings-summary svg{width:14px;height:14px;flex-shrink:0}.ir-drop-settings-summary-text{flex:1;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ir-drop-settings-summary-sep{color:var(--color-border-bright)}.pcb-section--flush>.pcb-section-body{padding:0}.ir-drop-portlist{display:flex;flex-direction:column}.ir-drop-empty{display:flex;flex-direction:column;gap:10px;padding:18px 14px;text-align:center}.ir-drop-empty-title{font-size:12px;font-weight:600;color:var(--color-text-secondary)}.ir-drop-empty-hint{font-size:11px;color:var(--color-text-muted);line-height:1.4}.ir-drop-netpair{border-left:4px solid var(--pair-stripe, transparent)}.ir-drop-netpair--incomplete .ir-drop-netpair-header{background:var(--color-error-bg);color:var(--color-text-secondary)}.ir-drop-netpair-title{display:inline-flex;align-items:center;gap:2px;flex-wrap:wrap}.ir-drop-netpair-swatch{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:4px;flex-shrink:0}.ir-drop-netpair-arrow{margin:0 5px;color:var(--color-text-muted)}.ir-drop-netpair-count{font-size:10px;color:var(--color-text-muted);font-weight:400;background:var(--color-surface);border:1px solid var(--color-border);border-radius:999px;padding:0 6px;line-height:18px}.ir-drop-netpair-cols{display:grid;grid-template-columns:1fr 1fr}.ir-drop-port-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:var(--color-text)}.ir-drop-port-value{display:inline-flex;align-items:center;gap:2px;flex-shrink:0}.ir-drop-editor-wrap{display:flex;flex-direction:column}.ir-drop-editor-slideover{position:absolute;inset:0;background:var(--color-surface);transform:translate(100%);transition:transform .2s ease;z-index:5;overflow-y:auto;pointer-events:none;padding:var(--space-3)}.ir-drop-editor-slideover.open{transform:translate(0);pointer-events:auto}.ir-drop-results{margin-top:0;padding-top:0;border-top:none;gap:6px}.ir-drop-results-max{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:8px 10px;font-size:12px;font-weight:600}.ir-drop-results-max-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;opacity:.8}.ir-drop-results-max-value{font-size:13px;font-weight:700}.ir-drop-results-supply{font-size:11px;color:var(--color-text-muted);padding:0 2px}.ir-drop-sink-table{display:flex;flex-direction:column;gap:6px;padding:4px 0}.ir-drop-sink-result{display:grid;grid-template-columns:auto 1fr auto;column-gap:8px;row-gap:4px;align-items:center;font-size:11px;padding:4px 6px;border-radius:var(--radius-sm)}.ir-drop-sink-result:hover{background:var(--color-hover)}.ir-drop-sink-bar{grid-column:1 / -1;height:3px;border-radius:2px;background:var(--color-border);position:relative;overflow:hidden}.ir-drop-sink-bar:after{content:"";position:absolute;left:0;top:0;bottom:0;width:var(--bar-pct, 0%);background:currentColor;transition:width .2s ease}.ir-drop-sink-result--green{color:#4caf50}.ir-drop-sink-result--yellow{color:#ffc107}.ir-drop-sink-result--red{color:#f44336}.ir-drop-sink-result--green .ir-drop-sink-voltage,.ir-drop-sink-result--yellow .ir-drop-sink-voltage,.ir-drop-sink-result--red .ir-drop-sink-voltage{color:var(--color-text)}.ir-drop-sink-voltage{font-variant-numeric:tabular-nums;color:var(--color-text)}.ir-drop-sink-drop{font-variant-numeric:tabular-nums;color:var(--color-text-secondary);font-size:10px}.panel-collapsed-strip--right{border-right:none;border-left:1px solid var(--color-border)}.theme-toggle.ir-drop-toggle-active{background-color:var(--color-accent);border-color:var(--color-accent);color:var(--color-bg)}.theme-toggle.ir-drop-toggle-active:hover{background-color:var(--color-accent);border-color:var(--color-accent);opacity:.9}.ir-drop-form{display:flex;flex-direction:column;gap:var(--space-2)}.ir-drop-preraster-status{display:flex;align-items:center;gap:8px;padding:6px 8px;font-size:11px;color:var(--color-text-secondary);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.ir-drop-field{display:flex;flex-direction:column;gap:6px}.ir-drop-label{font-size:11px;color:var(--color-text-secondary);font-weight:500}.ir-drop-select{width:100%;padding:4px 6px;font-size:12px;background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-sm);outline:none}.ir-drop-select:focus{border-color:var(--color-accent)}.ir-drop-input-group{display:flex;align-items:center;gap:4px}.ir-drop-input{width:80px;padding:4px 6px;font-size:12px;background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-sm);outline:none}.ir-drop-input:focus{border-color:var(--color-accent)}select.ir-drop-input{width:100%}.ir-drop-unit{font-size:11px;color:var(--color-text-secondary)}.ir-drop-unit-sm{font-size:10px;color:var(--color-text-secondary);flex-shrink:0;width:14px;text-align:left}.ir-drop-terminal-section{display:flex;flex-direction:column;gap:4px}.ir-drop-terminal-title{font-size:11px;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px}.ir-drop-terminal-item{display:flex;align-items:center;gap:var(--space-1);font-size:11px;padding:2px 0}.ir-drop-terminal-badge{font-size:10px;font-weight:700;padding:1px 6px;border-radius:999px;flex-shrink:0;min-width:24px;text-align:center}.ir-drop-terminal-badge--source{background:#4caf5033;color:#4caf50}.ir-drop-terminal-badge--sink{background:#f4433633;color:#f44336}.ir-drop-terminal-pins{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text);font-size:11px}.ir-drop-current-input{width:48px;padding:2px 4px;font-size:11px;background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-sm);outline:none;text-align:right}.ir-drop-current-input:focus{border-color:var(--color-accent)}.ir-drop-remove-btn{background:none;border:none;color:var(--color-text-secondary);cursor:pointer;font-size:14px;padding:0 2px;line-height:1;flex-shrink:0}.ir-drop-remove-btn:hover{color:var(--color-error)}.ir-drop-add-btn{background:none;border:1px dashed var(--color-border);color:var(--color-text-secondary);padding:var(--space-1) var(--space-2);font-size:11px;border-radius:var(--radius-sm);cursor:pointer;text-align:center}.ir-drop-add-btn:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-accent)}.ir-drop-add-btn:disabled{opacity:.4;cursor:not-allowed}.ir-drop-placement-status{padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);background:var(--color-accent-dim);border:1px solid var(--color-accent);margin-bottom:var(--space-1)}.ir-drop-placement-step{font-size:11px;color:var(--color-accent)}.ir-drop-run-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);font-size:12px;font-weight:600;background:var(--color-accent);color:var(--color-bg);border:none;border-radius:var(--radius-sm);cursor:pointer;margin-top:var(--space-1)}.ir-drop-run-btn:hover:not(:disabled){filter:brightness(1.1)}.ir-drop-run-btn:disabled{opacity:.4;cursor:not-allowed}.ir-drop-results{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-2)}.ir-drop-results-header{font-size:11px;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px}.ir-drop-results-max{font-size:12px;font-weight:600;padding:8px 10px;border-radius:var(--radius-sm)}.ir-drop-green{background:#4caf5026;color:#4caf50}.ir-drop-yellow{background:#ffc10726;color:#ffc107}.ir-drop-red{background:#f4433626;color:#f44336}.ir-drop-sink-result{display:flex;align-items:center;gap:var(--space-1);font-size:11px;color:var(--color-text)}.ir-drop-sink-drop{color:var(--color-text-secondary);font-size:10px}.ir-drop-ports-header{display:grid;grid-template-columns:1fr 1fr;font-size:11px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;padding:6px var(--space-2);background:var(--color-surface-raised);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.ir-drop-ports-header>div+div{border-left:1px solid var(--color-border);padding-left:var(--space-2)}.ir-drop-col-dot{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:5px;vertical-align:middle}.ir-drop-col-dot--source{background:#4caf50}.ir-drop-col-dot--sink{background:#f44336}.ir-drop-netpair-header{grid-column:1 / -1;padding:6px var(--space-2);background:var(--color-surface-raised);font-size:12px;font-weight:600;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center}.ir-drop-port-cell{display:flex;flex-direction:column;gap:4px;padding:6px var(--space-2);border-bottom:1px solid var(--color-border)}.ir-drop-port-cell+.ir-drop-port-cell{border-left:1px solid var(--color-border)}.ir-drop-port-row{display:flex;align-items:center;gap:var(--space-1);font-size:12px;cursor:pointer;padding:4px;border-radius:var(--radius-sm);transition:background .1s ease}.ir-drop-port-row.incomplete{opacity:.65}.ir-drop-port-row:hover{background:var(--color-hover)}.ir-drop-port-empty{font-size:11px;color:var(--color-text-muted);font-style:italic;padding:6px var(--space-1);text-align:center}.ir-drop-add-row{display:flex;gap:var(--space-2);padding:var(--space-3) var(--space-2)}.ir-drop-add-row .ir-drop-add-btn{flex:1}.ir-drop-port-editor{display:flex;flex-direction:column;gap:var(--space-3)}.ir-drop-port-editor-header{display:flex;align-items:center;gap:var(--space-2);padding:0 0 var(--space-2) 0;border-bottom:1px solid var(--color-border);margin-bottom:0}.ir-drop-back-btn{background:none;border:none;cursor:pointer;color:var(--color-text-secondary);font-size:16px;padding:2px var(--space-1);border-radius:var(--radius-sm);line-height:1}.ir-drop-back-btn:hover{background:var(--color-hover);color:var(--color-text)}.ir-drop-port-editor-title{font-size:12px;font-weight:600;color:var(--color-text)}.ir-drop-role-toggle{display:flex;border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden}.ir-drop-role-toggle button{flex:1;padding:var(--space-1) var(--space-2);font-size:11px;background:none;border:none;cursor:pointer;color:var(--color-text-secondary)}.ir-drop-role-toggle button.active{background:var(--color-accent);color:var(--color-bg);font-weight:600}.ir-drop-role-toggle button:not(.active):hover{background:var(--color-hover)}.ir-drop-pin-section{display:flex;flex-direction:column;gap:8px;padding:var(--space-2) 0 0 0;border-top:1px solid var(--color-border)}.ir-drop-pin-section-header{display:flex;flex-direction:column;gap:3px}.ir-drop-pin-section-title-row{display:flex;align-items:center;gap:6px}.ir-drop-pin-section-title{font-size:12px;font-weight:600;color:var(--color-text);flex:1}.ir-drop-pin-section-count{font-size:11px;color:var(--color-text-muted);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:10px;padding:0 6px;line-height:18px}.ir-drop-pin-section-net{font-size:10px;color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-left:2px}.ir-drop-pin-list{display:flex;flex-direction:column;gap:3px;margin-bottom:0}.ir-drop-pin-empty{font-size:11px;color:var(--color-text-muted);font-style:italic;padding:6px var(--space-1);text-align:center;border:1px dashed var(--color-border);border-radius:var(--radius-sm)}.ir-drop-pin-item{display:flex;align-items:center;gap:var(--space-1);font-size:11px;padding:4px 6px;background:var(--color-surface-raised);border-radius:var(--radius-sm);border:1px solid var(--color-border)}.ir-drop-pin-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ir-drop-pick-btn{width:100%;padding:6px var(--space-2);font-size:11px;background:none;border:1px dashed var(--color-border);border-radius:var(--radius-sm);cursor:pointer;color:var(--color-text-secondary);text-align:center}.ir-drop-pick-btn:hover:not(.picking){border-color:var(--color-accent);color:var(--color-accent)}.ir-drop-pick-btn.picking{border-style:solid;border-color:var(--color-accent);color:var(--color-accent);font-weight:500}.ir-drop-port-editor-actions{display:flex;gap:var(--space-2);padding:var(--space-2) 0 0 0;border-top:1px solid var(--color-border);margin-top:0}.ir-drop-btn{flex:1;padding:6px var(--space-2);font-size:12px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:none;cursor:pointer;color:var(--color-text-secondary)}.ir-drop-btn:hover{background:var(--color-hover)}.ir-drop-btn.primary{background:var(--color-accent);color:var(--color-bg);border-color:var(--color-accent);font-weight:600}.ir-drop-btn.primary:hover{opacity:.9}.ir-drop-btn:disabled,.ir-drop-btn.primary:disabled{opacity:.45;cursor:not-allowed}.ir-drop-btn:disabled:hover{background:none}.ir-drop-btn.primary:disabled:hover{background:var(--color-accent);opacity:.45}}@layer pcb{.pcb-modal-overlay{position:fixed;inset:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:1000}.pcb-modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:0 8px 40px #00000080;display:flex;flex-direction:column;max-height:80vh;overflow:hidden;animation:modal-enter .15s ease}.pcb-modal-header{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);flex-shrink:0}.pcb-modal-title{font-size:14px;font-weight:600;color:var(--color-text);flex:1}.pcb-modal-subtitle{font-size:11px;color:var(--color-text-muted)}.pcb-modal-close{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;padding:0;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;font-size:16px;transition:background-color .12s ease,color .12s ease}.pcb-modal-close:hover{background:var(--color-surface-raised);color:var(--color-text)}.pcb-modal-footer{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border);background:var(--color-surface-raised);flex-shrink:0}.pcb-modal-footer .ir-drop-btn{flex:0 0 auto;min-width:80px}.from-components-modal{width:600px;max-width:95vw}.from-components-filter{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);flex-shrink:0}.from-components-search{flex:1;padding:var(--space-1) var(--space-2);font-size:12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-input-bg, var(--color-surface));color:var(--color-text)}.from-components-hide-used{font-size:12px;color:var(--color-text-secondary);display:flex;align-items:center;gap:var(--space-1);white-space:nowrap;cursor:pointer}.from-components-body{overflow-y:auto;flex:1}.from-components-empty{padding:var(--space-5);text-align:center;color:var(--color-text-muted);font-size:13px}.from-components-group{border-bottom:1px solid var(--color-border)}.from-components-group-header,.from-components-row{display:grid;grid-template-columns:1fr auto 60px 14px;align-items:center;column-gap:var(--space-2)}.from-components-group-header{padding:var(--space-2) var(--space-4);background:var(--color-surface-raised);font-size:12px;font-weight:600;color:var(--color-text-secondary);position:sticky;top:0;z-index:1;border-bottom:1px solid var(--color-border)}.from-components-group-actions{display:flex;gap:var(--space-1)}.from-components-group-actions button{padding:var(--space-1) var(--space-2);font-size:11px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:none;cursor:pointer;color:var(--color-text-secondary)}.from-components-group-actions button:hover{background:var(--color-hover)}.from-components-row{padding:var(--space-2) var(--space-4) var(--space-2) 28px;border-bottom:1px solid var(--color-border);font-size:12px}.from-components-row:last-child{border-bottom:none}.from-components-row:hover{background:var(--color-hover)}.from-components-row.selected,.from-components-row.selected:hover{background:var(--color-accent-dim);box-shadow:inset 3px 0 0 var(--color-accent)}.component-info{overflow:hidden}.component-refdes{font-weight:600;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.component-fp{font-weight:400;color:var(--color-text-muted);margin-left:4px}.component-nets{font-size:10px;color:var(--color-text-muted)}.component-role button{padding:var(--space-1) var(--space-2);font-size:11px}.component-value{width:100%}.from-components-count{flex:1;font-size:12px;color:var(--color-text-muted)}}.uplot,.uplot *,.uplot *:before,.uplot *:after{box-sizing:border-box}.uplot{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";line-height:1.5;width:min-content}.u-title{text-align:center;font-size:18px;font-weight:700}.u-wrap{position:relative;-webkit-user-select:none;user-select:none}.u-over,.u-under{position:absolute}.u-under{overflow:hidden}.uplot canvas{display:block;position:relative;width:100%;height:100%}.u-axis{position:absolute}.u-legend{font-size:14px;margin:auto;text-align:center}.u-inline{display:block}.u-inline *{display:inline-block}.u-inline tr{margin-right:16px}.u-legend th{font-weight:600}.u-legend th>*{vertical-align:middle;display:inline-block}.u-legend .u-marker{width:1em;height:1em;margin-right:4px;background-clip:padding-box!important}.u-inline.u-live th:after{content:":";vertical-align:middle}.u-inline:not(.u-live) .u-value{display:none}.u-series>*{padding:4px}.u-series th{cursor:pointer}.u-legend .u-off>*{opacity:.3}.u-select{background:#00000012;position:absolute;pointer-events:none}.u-cursor-x,.u-cursor-y{position:absolute;left:0;top:0;pointer-events:none;will-change:transform}.u-hz .u-cursor-x,.u-vt .u-cursor-y{height:100%;border-right:1px dashed #607D8B}.u-hz .u-cursor-y,.u-vt .u-cursor-x{width:100%;border-bottom:1px dashed #607D8B}.u-cursor-pt{position:absolute;top:0;left:0;border-radius:50%;border:0 solid;pointer-events:none;will-change:transform;background-clip:padding-box!important}.u-axis.u-off,.u-select.u-off,.u-cursor-x.u-off,.u-cursor-y.u-off,.u-cursor-pt.u-off{display:none}
