@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";:root{--color-bg: #0a0e17;--color-bg-elevated: #111827;--color-bg-panel: rgba(17, 24, 39, .85);--color-bg-input: rgba(30, 41, 59, .7);--color-surface: #1e293b;--color-border: rgba(148, 163, 184, .15);--color-border-hover: rgba(148, 163, 184, .3);--color-text: #e2e8f0;--color-text-secondary: #94a3b8;--color-text-muted: #64748b;--color-primary: #3b82f6;--color-primary-hover: #60a5fa;--color-primary-glow: rgba(59, 130, 246, .25);--color-accent: #10b981;--color-accent-glow: rgba(16, 185, 129, .2);--color-danger: #ef4444;--color-danger-hover: #f87171;--color-warning: #f59e0b;--color-wire: #22d3ee;--color-wire-preview: rgba(34, 211, 238, .5);--color-grid: rgba(100, 160, 200, .18);--color-grid-major: rgba(100, 160, 200, .4);--color-component: #e2e8f0;--color-component-selected: #3b82f6;--color-pin: #64748b;--color-pin-active: #22d3ee;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--shadow-panel: 0 4px 20px rgba(0, 0, 0, .4);--shadow-glow: 0 0 20px var(--color-primary-glow);--font-sans: "Inter", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--transition: .15s ease;--color-text-dim: #94a3b8;--glass-bg: rgba(10, 14, 26, .96)}:root.light{--color-bg: #f1f5f9;--color-bg-elevated: #ffffff;--color-bg-panel: rgba(255, 255, 255, .92);--color-bg-input: rgba(241, 245, 249, .9);--color-surface: #e2e8f0;--color-border: rgba(71, 85, 105, .18);--color-border-hover: rgba(71, 85, 105, .35);--color-text: #1e293b;--color-text-secondary: #475569;--color-text-muted: #94a3b8;--color-text-dim: #64748b;--color-primary: #2563eb;--color-primary-hover: #3b82f6;--color-primary-glow: rgba(37, 99, 235, .15);--color-accent: #059669;--color-accent-glow: rgba(5, 150, 105, .12);--color-danger: #dc2626;--color-danger-hover: #ef4444;--color-warning: #d97706;--color-wire: #0891b2;--color-wire-preview: rgba(8, 145, 178, .4);--color-grid: rgba(71, 85, 105, .25);--color-grid-major: rgba(71, 85, 105, .5);--color-component: #334155;--color-component-selected: #2563eb;--color-pin: #94a3b8;--color-pin-active: #0891b2;--shadow-panel: 0 4px 20px rgba(0, 0, 0, .08);--shadow-glow: 0 0 20px var(--color-primary-glow);--glass-bg: rgba(255, 255, 255, .96)}:root.light .schematic-canvas{background:#f8fafc!important}:root.light .shortcuts-overlay{background:#0000004d}:root.light .shortcuts-modal,:root.light .template-gallery,:root.light .project-modal{background:#fffffff7;border-color:#47556926}:root.light .component-tooltip{background:#fffffff5;border-color:#47556926;box-shadow:0 12px 40px #0000001f}:root.light .template-card{background:#f1f5f9cc;border-color:#4755691f}:root.light .template-card:hover{background:#e2e8f0cc;border-color:#47556940}:root.light .project-card{background:#f1f5f999;border-color:#4755691f}:root.light .project-name-input{background:#f1f5f9cc;border-color:#47556933;color:#1e293b}:root.light .ac-node-selector select{background:#fff;border-color:#47556933;color:#1e293b}:root.light .ac-node-selector select option{background:#fff;color:#1e293b}:root.light .minimap{border-color:#47556933;box-shadow:0 4px 12px #00000014}:root.light .minimap rect:first-child{fill:#f1f5f9e6!important}:root.light .stats-bar{background:#ffffffeb;border-top-color:#4755691a;color:#64748b}:root.light .diagnostic.error{background:#ef44440f;border-color:#ef444426}:root.light .diagnostic.warning{background:#f59e0b0f;border-color:#f59e0b26}:root.light kbd{background:#f1f5f9cc;border-color:#47556933;color:#334155}:root.light .header-badge{background:#2563eb1a;color:#2563eb}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html,body,#root{width:100%;height:100%;overflow:hidden}body{font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased}.app{display:flex;flex-direction:column;height:100vh;width:100vw}.app-header{display:flex;align-items:center;padding:6px 16px;gap:12px;background:var(--color-bg-elevated);border-bottom:1px solid var(--color-border);flex-shrink:0;z-index:100}.header-brand{display:flex;align-items:center;gap:10px;flex-shrink:0}.header-icon{font-size:1.4rem}.header-brand h1{font-size:1.05rem;font-weight:600;letter-spacing:-.02em;background:linear-gradient(135deg,var(--color-primary),var(--color-accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.header-badge{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;padding:2px 8px;border-radius:20px;background:var(--color-primary-glow);color:var(--color-primary-hover);border:1px solid rgba(59,130,246,.3)}.header-toolbar-rows{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.toolbar-row{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.toolbar-row-secondary{gap:3px}.toolbar-divider{width:1px;height:20px;background:var(--color-border);margin:0 2px}.toolbar-row-secondary .toolbar-divider{height:16px}.toolbar-btn-sm{display:flex;align-items:center;gap:4px;padding:3px 8px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);font-size:.7rem;font-family:var(--font-sans);font-weight:500;cursor:pointer;transition:all var(--transition);white-space:nowrap}.toolbar-btn-sm:hover{background:var(--color-bg-input);color:var(--color-text);border-color:var(--color-border-hover)}.toolbar-btn-sm.active{background:#22d3ee1f;color:var(--color-wire);border-color:#22d3ee59}.tools-dropdown-container{position:relative}.tools-dropdown-trigger.active{background:var(--color-primary)!important;color:#fff!important;border-color:var(--color-primary)!important}.tools-dropdown-backdrop{position:fixed;inset:0;z-index:999}.tools-dropdown-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:1000;min-width:210px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:0 8px 32px #0006;padding:6px 0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.tools-dropdown-menu button{display:flex;align-items:center;gap:10px;width:100%;padding:8px 16px;border:none;background:transparent;color:var(--color-text);font-size:.82rem;font-family:var(--font-sans);cursor:pointer;transition:background .15s;text-align:left}.tools-dropdown-menu button:hover{background:var(--color-primary);color:#fff}.tools-dropdown-menu button span{font-size:1rem;width:20px;text-align:center;flex-shrink:0}.tools-dropdown-section-label{padding:4px 16px 2px;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-secondary);opacity:.6}.tools-dropdown-divider{height:1px;background:var(--color-border);margin:4px 0}.toolbar-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-secondary);font-size:.8rem;font-family:var(--font-sans);font-weight:500;cursor:pointer;transition:all var(--transition);white-space:nowrap}.toolbar-btn:hover{background:var(--color-bg-input);color:var(--color-text);border-color:var(--color-border-hover)}.toolbar-btn.active{background:#22d3ee26;color:var(--color-wire);border-color:#22d3ee66;box-shadow:0 0 12px #22d3ee26}.toolbar-btn.primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary);font-weight:600}.toolbar-btn.primary:hover{background:var(--color-primary-hover);box-shadow:var(--shadow-glow)}.toolbar-btn.danger:hover{background:#ef444426;color:var(--color-danger-hover);border-color:#ef44444d}.app-body{display:flex;flex:1;overflow:hidden}.palette{width:150px;flex-shrink:0;background:var(--color-bg-panel);border-right:1px solid var(--color-border);padding:10px 8px;display:flex;flex-direction:column;gap:6px;overflow-y:auto;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.palette-title{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);margin-bottom:2px}.palette-search-wrap{position:relative;margin-bottom:4px}.palette-search{width:100%;padding:4px 24px 4px 7px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font-size:.68rem;font-family:var(--font-sans);outline:none;transition:border-color .15s}.palette-search:focus{border-color:var(--color-accent)}.palette-search::placeholder{color:var(--color-text-muted);opacity:.6}.palette-search-clear{position:absolute;right:2px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--color-text-muted);font-size:.65rem;cursor:pointer;padding:2px 5px;line-height:1}.palette-no-results{padding:8px 6px;font-size:.68rem;color:var(--color-text-muted);text-align:center;font-style:italic}.palette-category-toggle{display:flex;align-items:center;gap:4px;width:100%;padding:3px 4px;border:none;background:transparent;cursor:pointer;font-family:var(--font-sans);transition:background .15s;border-radius:var(--radius-sm)}.palette-category-toggle:hover{background:#ffffff0a}.palette-chevron{font-size:.6rem;color:var(--color-text-muted);transition:transform .2s ease;flex-shrink:0;width:10px;text-align:center}.palette-chevron.open{transform:rotate(90deg)}.palette-category-label{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);flex:1;text-align:left}.palette-category-count{font-size:.55rem;font-weight:600;color:var(--color-text-muted);opacity:.5;background:#ffffff0d;padding:0 5px;border-radius:8px;line-height:1.5}.palette-items-compact{display:flex;flex-direction:column;gap:2px;padding:2px 0 4px}.palette-item-compact{display:flex;align-items:center;gap:5px;padding:4px 6px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--color-text);font-size:.7rem;font-family:var(--font-sans);cursor:grab;transition:all .15s;text-align:left;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.palette-item-compact:hover{border-color:var(--color-primary);background:var(--color-primary-glow);transform:translate(2px)}.palette-item-compact:active{cursor:grabbing}.palette-item-compact svg{flex-shrink:0;color:var(--color-primary-hover);width:24px;height:24px}.palette-help-list{list-style:none;display:flex;flex-direction:column;gap:3px;font-size:.65rem;color:var(--color-text-muted)}.palette-help-list kbd{display:inline-block;padding:0 4px;border:1px solid var(--color-border);border-radius:3px;font-family:var(--font-mono);font-size:.6rem;background:var(--color-surface);color:var(--color-text-secondary)}@media(max-width:1024px){.component-palette{width:130px;padding:6px 4px}.palette-item-label{font-size:.65em}.palette-icon{width:20px;height:20px}.toolbar-btn{padding:4px 8px;font-size:.75em}.results-section{width:260px;min-width:200px}}@media(max-width:768px){.app-header{padding:4px 8px;gap:6px;flex-wrap:wrap}.header-brand h1{font-size:.9rem}.header-badge{display:none}.header-toolbar-rows{flex:1;min-width:0}.toolbar-row{flex-wrap:wrap;gap:2px}.toolbar-btn{padding:4px 6px;font-size:.7em;min-height:32px}.toolbar-btn span{font-size:.9em}.toolbar-divider{display:none}.main-area{flex-direction:column}.component-palette{position:fixed;left:0;top:0;bottom:0;width:200px;z-index:150;transform:translate(-100%);transition:transform .3s ease;background:var(--color-bg-elevated);border-right:1px solid var(--color-border);overflow-y:auto;padding-top:50px}.component-palette.mobile-open{transform:translate(0)}.mobile-palette-toggle{display:flex!important;position:fixed;left:8px;bottom:16px;z-index:151;width:40px;height:40px;border-radius:50%;border:1px solid var(--color-border);background:var(--color-bg-elevated);color:var(--color-text);font-size:1.2em;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 8px #0000004d}.results-section{position:fixed;left:0;right:0;bottom:0;width:100%;height:auto;max-height:40vh;z-index:140;border-radius:16px 16px 0 0;border-top:1px solid var(--color-border);transform:translateY(calc(100% - 40px));transition:transform .3s ease;overflow-y:auto}.results-section.mobile-expanded{transform:translateY(0)}.results-section-handle{display:block!important;width:40px;height:4px;border-radius:2px;background:var(--color-text-muted);margin:8px auto;cursor:pointer}.canvas-wrapper{flex:1;min-height:50vh}button,select,input[type=checkbox]{min-height:32px;min-width:32px}.analysis-modal{width:95vw;max-height:85vh;border-radius:12px}}@media(max-width:480px){.app-header{padding:2px 4px}.header-brand h1{font-size:.8rem}.toolbar-btn{padding:3px 4px;font-size:.65em}.analysis-modal{width:98vw;max-height:90vh;border-radius:8px}.spice-import-textarea{min-height:120px;font-size:.75em}}.mobile-palette-toggle,.results-section-handle{display:none}.schematic-editor{flex:1;overflow:hidden;position:relative;background:var(--color-bg)}.schematic-canvas{width:100%;height:100%;cursor:default}.grid-bg{opacity:1}.canvas-status{fill:var(--color-text-muted);font-size:11px;font-family:var(--font-mono)}.circuit-component{color:var(--color-component);transition:color var(--transition)}.circuit-component:hover{color:var(--color-primary-hover)}.circuit-component.selected{color:var(--color-component-selected)}.selection-rect{fill:var(--color-primary-glow);stroke:var(--color-primary);stroke-width:1;stroke-dasharray:4 2}.component-label{fill:var(--color-text);font-size:11px;font-family:var(--font-mono);font-weight:600}.component-value{fill:var(--color-text-muted);font-size:10px;font-family:var(--font-mono)}.pin{fill:var(--color-pin);stroke:none;transition:all var(--transition);cursor:pointer}.pin:hover,.pin-active{fill:var(--color-pin-active);stroke:var(--color-pin-active);stroke-width:2}.pin-active{animation:pin-pulse 1.5s infinite}@keyframes pin-pulse{0%,to{opacity:1}50%{opacity:.5}}.wire-path{stroke:var(--color-wire);transition:stroke var(--transition)}.wire.selected .wire-path{stroke:var(--color-primary-hover);filter:drop-shadow(0 0 4px var(--color-primary-glow))}.wire-junction{fill:var(--color-wire)}.wire.selected .wire-junction{fill:var(--color-primary-hover)}.wire-preview path{stroke:var(--color-wire-preview)}.wire-preview circle{fill:var(--color-wire-preview)}.wire-highlighted .wire-path{stroke:#22d3ee;filter:drop-shadow(0 0 6px rgba(34,211,238,.6))}.wire-highlighted .wire-junction{fill:#22d3ee;filter:drop-shadow(0 0 4px rgba(34,211,238,.5))}@keyframes net-glow-pulse{0%,to{filter:drop-shadow(0 0 4px rgba(34,211,238,.5))}50%{filter:drop-shadow(0 0 8px rgba(34,211,238,.8))}}.wire-highlighted .wire-path{animation:net-glow-pulse 1.5s ease-in-out infinite}.power-rail-badge{font-family:var(--font-mono);font-weight:700;font-size:8px;pointer-events:none}.power-rail-badge-bg{rx:4;ry:4;stroke-width:.8}.right-panel{width:260px;flex-shrink:0;display:flex;flex-direction:column;background:var(--color-bg-panel);border-left:1px solid var(--color-border);overflow-y:auto;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.panel-title{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);margin-bottom:12px;display:flex;align-items:center;gap:8px}.live-badge{font-size:.62rem;font-weight:700;color:#10b981;background:#10b9811f;border:1px solid rgba(16,185,129,.3);padding:1px 6px;border-radius:4px;letter-spacing:.06em;animation:live-pulse 2s ease-in-out infinite}@keyframes live-pulse{0%,to{opacity:1}50%{opacity:.5}}.toolbar-btn-sm.live.active{background:#10b98126!important;border-color:#10b98166!important;color:#10b981!important;box-shadow:0 0 8px #10b98133}.panel-empty{font-size:.78rem;color:var(--color-text-muted);line-height:1.5}.properties-panel{padding:16px;border-bottom:1px solid var(--color-border)}.prop-header{display:flex;align-items:center;gap:8px;margin-bottom:12px}.prop-label-badge{font-family:var(--font-mono);font-size:.85rem;font-weight:600;color:var(--color-primary-hover);padding:2px 8px;background:var(--color-primary-glow);border-radius:4px}.prop-type{font-size:.78rem;color:var(--color-text-secondary)}.prop-fields{display:flex;flex-direction:column;gap:10px}.prop-field label{display:block;font-size:.72rem;font-weight:500;color:var(--color-text-secondary);margin-bottom:4px}.prop-field input{width:100%;padding:7px 10px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-input);color:var(--color-text);font-family:var(--font-mono);font-size:.85rem;outline:none;transition:border-color var(--transition)}.prop-field input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-glow)}.prop-position{margin-top:12px;display:flex;flex-direction:column;gap:2px;font-size:.68rem;font-family:var(--font-mono);color:var(--color-text-muted)}.prop-field-row{display:flex;align-items:center;gap:8px;padding:4px 0}.prop-field-label{font-size:.72rem;font-weight:500;color:var(--color-text-secondary);min-width:64px;flex-shrink:0}.prop-select{flex:1;padding:5px 8px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-input);color:var(--color-text);font-family:var(--font-mono);font-size:.8rem;outline:none;cursor:pointer;transition:border-color var(--transition)}.prop-select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-glow)}.prop-select option{background:var(--color-bg-elevated);color:var(--color-text)}.results-panel{padding:16px;flex:1}.result-error{display:flex;gap:8px;padding:10px;background:#ef44441a;border:1px solid rgba(239,68,68,.25);border-radius:var(--radius-sm);color:var(--color-danger-hover);font-size:.78rem;line-height:1.4}.error-icon{font-size:1rem;flex-shrink:0}.result-success{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--color-accent-glow);border:1px solid rgba(16,185,129,.3);border-radius:var(--radius-sm);color:var(--color-accent);font-size:.78rem;font-weight:600;margin-bottom:14px}.success-icon{font-size:1rem}.result-section{margin-bottom:14px}.result-section h3{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);margin-bottom:6px}.result-table{width:100%;border-collapse:collapse;font-size:.8rem}.result-table th{text-align:left;padding:4px 8px;font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);border-bottom:1px solid var(--color-border)}.result-table td{padding:5px 8px;border-bottom:1px solid rgba(148,163,184,.07)}.node-name{font-family:var(--font-mono);font-weight:500;color:var(--color-text-secondary)}.node-value{font-family:var(--font-mono);color:var(--color-accent);font-weight:500;text-align:right}.thevenin-toggle{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .2s}.thevenin-toggle:hover{color:var(--color-accent)}.thevenin-cards{display:flex;flex-direction:column;gap:8px;margin-top:6px}.thevenin-card{background:#64c8ff0a;border:1px solid rgba(100,200,255,.1);border-radius:var(--radius-sm);padding:8px 10px}.thevenin-title{font-family:var(--font-mono);font-size:.72rem;font-weight:600;color:#0f8;margin-bottom:6px}.thevenin-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 12px}.thevenin-item{display:flex;justify-content:space-between;align-items:baseline}.thevenin-label{font-size:.68rem;color:var(--color-text-dim)}.thevenin-value{font-family:var(--font-mono);font-size:.75rem;font-weight:500;color:#64c8ff}:root.light .thevenin-card{background:#1e64b408;border-color:#1e64b41a}:root.light .thevenin-title{color:#063}:root.light .thevenin-value{color:#1e64b4}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}.ai-fab{position:fixed;bottom:2rem;right:2rem;width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary),#06b6d4);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px #3b82f666;z-index:9999;transition:all .3s ease;padding:0;font-size:1.5rem}.ai-fab:hover{box-shadow:0 6px 28px #3b82f699;transform:scale(1.05)}.ai-fab.open{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 4px 20px #ef444466}.ai-fab:before{content:"";position:absolute;width:100%;height:100%;border-radius:50%;border:2px solid var(--color-primary);animation:ai-pulse 2s ease-out infinite;pointer-events:none}.ai-fab.open:before{display:none}@keyframes ai-pulse{0%{transform:scale(1);opacity:.6}to{transform:scale(1.6);opacity:0}}.ai-chat-window{position:fixed;bottom:6rem;right:2rem;width:380px;height:520px;display:none;flex-direction:column;background:#0a0e1aeb;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(59,130,246,.2);border-radius:20px;box-shadow:0 8px 40px #00000080;z-index:9998;overflow:hidden;animation:ai-window-in .3s ease}.ai-chat-window.open{display:flex}@keyframes ai-window-in{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.ai-chat-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.2rem;background:#3b82f614;border-bottom:1px solid rgba(59,130,246,.15);flex-shrink:0}.ai-chat-header-left{display:flex;align-items:center;gap:.6rem}.ai-chat-header-icon{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary),#06b6d4);display:flex;align-items:center;justify-content:center;font-size:.9rem}.ai-chat-title{font-size:.95rem;font-weight:700;color:var(--color-text)}.ai-chat-subtitle{font-size:.7rem;color:var(--color-text-muted)}.ai-chat-messages{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.8rem}.ai-chat-messages::-webkit-scrollbar{width:4px}.ai-chat-messages::-webkit-scrollbar-thumb{background:#3b82f64d;border-radius:2px}.ai-message-row{display:flex}.ai-message-row.user{justify-content:flex-end}.ai-message-row.model{justify-content:flex-start}.ai-message{max-width:85%;padding:.7rem 1rem;border-radius:16px;font-size:.88rem;line-height:1.7;word-break:break-word;white-space:pre-wrap}.ai-message.user{background:linear-gradient(135deg,var(--color-primary),#06b6d4);color:#fff;border-bottom-right-radius:4px}.ai-message.model{background:#ffffff14;color:var(--color-text);border-bottom-left-radius:4px}.ai-message strong{color:#fff;font-weight:700}.ai-welcome-hints{display:flex;flex-direction:column;gap:.4rem;padding:.5rem 0}.ai-hint-chip{background:#3b82f61a;border:1px solid rgba(59,130,246,.2);padding:.5rem .8rem;border-radius:20px;font-size:.78rem;color:#06b6d4;cursor:pointer;transition:background .2s;text-align:left;font-family:inherit}.ai-hint-chip:hover{background:#3b82f633}.ai-typing{background:#ffffff0d;border-radius:16px 16px 16px 4px;padding:.7rem 1rem;display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:var(--color-text-muted)}.ai-typing-dots span{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--color-primary);animation:ai-dot-bounce 1.4s ease-in-out infinite;margin-right:3px}.ai-typing-dots span:nth-child(2){animation-delay:.2s}.ai-typing-dots span:nth-child(3){animation-delay:.4s}@keyframes ai-dot-bounce{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}.ai-chat-input-area{padding:.8rem 1rem;border-top:1px solid rgba(59,130,246,.15);background:#0003;flex-shrink:0}.ai-input-wrapper{position:relative}.ai-chat-input{width:100%;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);padding:.75rem 3rem .75rem 1rem;border-radius:12px;color:var(--color-text);font-size:.88rem;outline:none;font-family:inherit;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}.ai-chat-input:focus{border-color:#3b82f680;box-shadow:0 0 0 2px #3b82f61a}.ai-chat-input::placeholder{color:#ffffff4d}.ai-send-btn{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);width:32px;height:32px;border-radius:8px;background:#3b82f626;color:var(--color-primary);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:background .2s,color .2s;font-size:1rem}.ai-send-btn:hover{background:var(--color-primary);color:#fff}.ai-send-btn:disabled{opacity:.4;cursor:not-allowed}@media(max-width:480px){.ai-chat-window{right:.5rem;left:.5rem;bottom:5rem;width:auto;height:420px}.ai-fab{bottom:1rem;right:1rem}}.analysis-toggle{display:flex;border-radius:8px;overflow:hidden;border:1px solid rgba(255,255,255,.1)}.analysis-btn{padding:.35rem .75rem;background:#ffffff0a;color:var(--color-text-dim);border:none;font-size:.75rem;font-weight:700;letter-spacing:.08em;cursor:pointer;transition:all .2s}.analysis-btn:first-child{border-right:1px solid rgba(255,255,255,.1)}.analysis-btn.active{background:linear-gradient(135deg,#3b82f6,#6366f1);color:#fff}.analysis-btn:hover:not(.active){background:#ffffff14;color:var(--color-text)}.waveform-chart{position:relative;width:100%;height:280px;border-radius:8px;overflow:hidden;margin-top:.5rem}.waveform-chart canvas{width:100%;height:100%;border-radius:8px;cursor:crosshair}.waveform-tooltip{position:absolute;top:10px;background:#0a0e1aeb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(59,130,246,.3);border-radius:8px;padding:.4rem .65rem;font-size:.72rem;font-family:var(--font-mono);color:var(--color-text);pointer-events:none;white-space:nowrap;z-index:10}.waveform-tooltip div{line-height:1.5}.ac-node-selector{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.ac-node-selector label{font-size:.8rem;color:var(--color-text-dim);font-weight:500}.ac-node-selector select{padding:.3rem .6rem;background:#0f1423f2;border:1px solid rgba(255,255,255,.12);border-radius:6px;color:var(--color-text);font-size:.8rem;font-family:var(--font-mono);cursor:pointer}.ac-node-selector select option{background:#0f1423;color:var(--color-text)}.ac-node-selector select:focus{border-color:var(--color-accent);outline:none}.toolbar-btn.demo{background:linear-gradient(135deg,#f59e0b,#ef4444);color:#fff;border:none;font-weight:600}.toolbar-btn.demo:hover{background:linear-gradient(135deg,#fbbf24,#f87171);transform:translateY(-1px);box-shadow:0 4px 16px #f59e0b66}.toolbar-btn.demo.active{background:linear-gradient(135deg,#ef4444,#dc2626);animation:demo-pulse 1.5s ease-in-out infinite}@keyframes demo-pulse{0%,to{box-shadow:0 0 #ef444466}50%{box-shadow:0 0 0 8px #ef444400}}.demo-overlay{position:fixed;bottom:5rem;left:50%;transform:translate(-50%);z-index:10000;pointer-events:none;animation:demo-toast-in .4s cubic-bezier(.34,1.56,.64,1)}.demo-toast{display:flex;align-items:center;gap:.75rem;padding:.85rem 1.5rem;background:#0a0e1aeb;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(59,130,246,.3);border-radius:14px;box-shadow:0 8px 32px #00000080;white-space:nowrap}.demo-emoji{font-size:1.4rem;line-height:1}.demo-label{font-size:1rem;font-weight:600;color:var(--color-text);letter-spacing:.02em}@keyframes demo-toast-in{0%{opacity:0;transform:translate(-50%) translateY(20px) scale(.92)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}.hamburger-btn{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:32px;height:32px;padding:4px;background:none;border:1px solid rgba(255,255,255,.1);border-radius:6px;cursor:pointer;transition:all .2s ease}.hamburger-btn span{display:block;width:16px;height:2px;background:var(--color-text);border-radius:1px;transition:all .3s ease}.hamburger-btn:hover{background:#ffffff0f;border-color:#3b82f64d}.hamburger-btn.open span:nth-child(1){transform:translateY(6px) rotate(45deg)}.hamburger-btn.open span:nth-child(2){opacity:0}.hamburger-btn.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.menu-backdrop{position:fixed;inset:0;z-index:99}.hamburger-menu{position:fixed;top:54px;left:8px;z-index:100;min-width:220px;background:#0a0e1af5;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.08);border-radius:12px;box-shadow:0 12px 40px #00000080;padding:8px 0;animation:menu-in .2s ease}@keyframes menu-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.menu-section{padding:4px 0;border-bottom:1px solid rgba(255,255,255,.06)}.menu-section:last-child{border-bottom:none}.menu-section-label{display:block;padding:6px 16px 4px;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-dim)}.menu-section button{display:block;width:100%;padding:8px 16px;border:none;background:none;color:var(--color-text-muted);font-size:.82rem;text-align:left;cursor:pointer;transition:all .15s}.menu-section button:hover:not(:disabled){background:#3b82f61a;color:var(--color-text)}.menu-section button:disabled{opacity:.35;cursor:not-allowed}.oscilloscope-chart{position:relative;width:100%;height:260px;border-radius:8px;overflow:hidden;border:1px solid rgba(0,255,100,.12);box-shadow:inset 0 0 30px #00ff6408}.oscilloscope-chart canvas{display:block;width:100%;height:100%;cursor:crosshair}.oscilloscope-tooltip{position:absolute;top:8px;pointer-events:none;padding:6px 10px;background:#020804eb;border:1px solid rgba(0,255,100,.2);border-radius:6px;font-size:.72rem;font-family:JetBrains Mono,monospace;color:#00ff64b3;white-space:nowrap;z-index:10}.oscilloscope-tooltip div{line-height:1.5}.param-slider{padding:6px 0}.param-slider-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:4px}.param-slider-label{font-size:.75rem;font-weight:600;color:var(--color-text-muted)}.param-slider-value{font-size:.72rem;font-family:JetBrains Mono,monospace;color:var(--color-accent-blue);transition:color .2s}.param-slider-value.dragging{color:var(--color-accent-green)}.param-slider-input{-webkit-appearance:none;appearance:none;width:100%;height:4px;background:#ffffff14;border-radius:2px;outline:none;cursor:pointer}.param-slider-input::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;background:var(--color-accent-blue);border-radius:50%;border:2px solid rgba(255,255,255,.2);box-shadow:0 0 8px #3b82f666;cursor:grab;transition:box-shadow .15s}.param-slider-input::-webkit-slider-thumb:active{cursor:grabbing;box-shadow:0 0 16px #3b82f6b3}.param-slider-input::-moz-range-thumb{width:14px;height:14px;background:var(--color-accent-blue);border-radius:50%;border:2px solid rgba(255,255,255,.2);box-shadow:0 0 8px #3b82f666;cursor:grab}.template-overlay{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fade-in .2s ease}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.template-gallery{width:min(560px,90vw);max-height:75vh;background:#0a0e1af7;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.08);border-radius:16px;box-shadow:0 24px 64px #00000080;display:flex;flex-direction:column;overflow:hidden;animation:gallery-in .3s ease}@keyframes gallery-in{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.template-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.06)}.template-header h2{font-size:1.1rem;font-weight:700;color:var(--color-text)}.template-close{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:none;background:#ffffff0f;color:var(--color-text-dim);border-radius:6px;cursor:pointer;font-size:.9rem;transition:all .15s}.template-close:hover{background:#ffffff1f;color:var(--color-text)}.template-body{overflow-y:auto;padding:8px 20px 20px}.template-category h3{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-dim);margin:14px 0 8px}.template-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px}.template-card{display:flex;flex-direction:column;gap:4px;padding:12px;border:1px solid rgba(255,255,255,.06);background:#ffffff05;border-radius:10px;cursor:pointer;text-align:left;transition:all .2s}.template-card:hover{border-color:#3b82f64d;background:#3b82f60f;transform:translateY(-1px);box-shadow:0 4px 12px #0003}.template-card-name{font-weight:700;font-size:.85rem;color:var(--color-text)}.template-card-desc{font-size:.7rem;color:var(--color-text-dim);line-height:1.4}.template-card-badge{display:inline-block;align-self:flex-start;margin-top:4px;padding:2px 8px;font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;background:#3b82f61f;color:var(--color-accent-blue);border-radius:4px}.analysis-btn:nth-child(3){font-size:.68rem;letter-spacing:.04em}.result-success.transient{border-color:#0f83}.result-success.transient .success-icon{color:#0f8}.diagnostics-panel{display:flex;flex-direction:column;gap:4px;padding:8px 0}.diagnostic{display:flex;align-items:flex-start;gap:8px;padding:6px 10px;border-radius:6px;font-size:.72rem;line-height:1.4;border:1px solid transparent}.diagnostic.error{background:#ef444414;border-color:#ef444433;color:#f87171}.diagnostic.warning{background:#f59e0b14;border-color:#f59e0b33;color:#fbbf24}.diagnostic.info{background:#3b82f60f;border-color:#3b82f626;color:var(--color-text-dim)}.diag-icon{font-size:.85rem;flex-shrink:0;line-height:1}.diag-msg{flex:1}.shortcuts-overlay{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fade-in .2s ease}.shortcuts-modal{width:min(420px,90vw);max-height:70vh;background:#0a0e1af7;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.08);border-radius:16px;box-shadow:0 24px 64px #00000080;display:flex;flex-direction:column;overflow:hidden;animation:gallery-in .3s ease}.shortcuts-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.06)}.shortcuts-header h2{font-size:1rem;font-weight:700;color:var(--color-text)}.shortcuts-body{overflow-y:auto;padding:8px 20px 20px}.shortcuts-category h3{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-dim);margin:12px 0 6px}.shortcuts-list{display:flex;flex-direction:column;gap:4px}.shortcut-row{display:flex;align-items:center;justify-content:space-between;padding:5px 0}.shortcut-keys{display:flex;align-items:center;gap:3px}.shortcut-keys kbd{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:22px;padding:0 6px;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:4px;font-family:JetBrains Mono,monospace;font-size:.68rem;font-weight:600;color:var(--color-text);box-shadow:0 1px 2px #0000004d}.key-plus{font-size:.6rem;color:var(--color-text-dim);margin:0 1px}.shortcut-desc{font-size:.75rem;color:var(--color-text-muted)}.current-flow-layer{pointer-events:none}.flow-dot{filter:drop-shadow(0 0 4px rgba(255,204,0,.6))}.toolbar-btn.disabled,.toolbar-btn:disabled{opacity:.3;cursor:not-allowed}.toolbar-btn.viz-toggle{min-width:32px;font-size:.9rem;padding:4px 6px}.toolbar-btn.viz-toggle.active{background:#3b82f626;border-color:#3b82f666;box-shadow:0 0 8px #3b82f633}.voltage-legend text{-webkit-user-select:none;user-select:none;pointer-events:none}.component-tooltip{position:absolute;z-index:100;min-width:160px;max-width:240px;padding:10px 14px;background:#0a0e1af0;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.1);border-radius:10px;box-shadow:0 12px 40px #00000080;pointer-events:none;animation:fade-in .15s ease}.tooltip-header{font-size:.85rem;font-weight:700;color:var(--color-text);margin-bottom:2px}.tooltip-type{font-size:.68rem;color:var(--color-text-dim);margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid rgba(255,255,255,.06)}.tooltip-param{display:flex;justify-content:space-between;align-items:center;padding:2px 0;font-size:.72rem}.tooltip-param.power{margin-top:4px;padding-top:4px;border-top:1px solid rgba(245,158,11,.15);color:#fbbf24}.tooltip-key{color:var(--color-text-dim)}.tooltip-val{font-family:JetBrains Mono,monospace;color:var(--color-text);font-weight:600;font-size:.7rem}.tooltip-param.power .tooltip-val{color:#fbbf24}.zoom-indicator text{-webkit-user-select:none;user-select:none;pointer-events:none}.power-badge text{-webkit-user-select:none;user-select:none;pointer-events:none}.project-modal{background:var(--glass-bg, rgba(10, 14, 26, .96));backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:0;max-width:420px;width:90vw;max-height:70vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000080}.project-tabs{display:flex;border-bottom:1px solid rgba(255,255,255,.06)}.project-tab{flex:1;padding:10px 0;background:transparent;border:none;color:var(--color-text-dim);font-size:.78rem;font-weight:600;cursor:pointer;transition:color .2s,background .2s}.project-tab.active{color:var(--color-text);background:#ffffff0a;border-bottom:2px solid var(--color-primary, #6366f1)}.project-body{padding:16px;overflow-y:auto;flex:1}.project-save{display:flex;flex-direction:column;gap:12px}.project-name-input{width:100%;padding:10px 14px;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:var(--color-text);font-size:.8rem;outline:none;transition:border-color .2s;box-sizing:border-box}.project-name-input:focus{border-color:var(--color-primary, #6366f1)}.project-save-info{font-size:.7rem;color:var(--color-text-dim)}.project-save-info .empty{color:#ffffff4d}.project-save-btn{padding:10px 0;background:var(--color-primary, #6366f1);color:#fff;border:none;border-radius:8px;font-weight:700;font-size:.8rem;cursor:pointer;transition:opacity .2s}.project-save-btn:disabled{opacity:.4;cursor:not-allowed}.project-save-btn:hover:not(:disabled){opacity:.9}.project-list{display:flex;flex-direction:column;gap:6px}.project-empty{text-align:center;color:var(--color-text-dim);padding:24px 0;font-size:.78rem}.project-card{display:flex;align-items:center;padding:10px 12px;background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:8px;cursor:pointer;transition:background .2s,border-color .2s}.project-card:hover{background:#ffffff0f;border-color:#ffffff1f}.project-card-info{flex:1;display:flex;flex-direction:column;gap:2px}.project-card-name{font-size:.78rem;font-weight:600;color:var(--color-text)}.project-card-meta{font-size:.65rem;color:var(--color-text-dim)}.project-delete-btn{background:transparent;border:none;cursor:pointer;font-size:.85rem;opacity:.4;transition:opacity .2s;padding:4px 6px}.project-delete-btn:hover{opacity:1}.minimap{position:absolute;bottom:12px;right:12px;z-index:20;border:1px solid rgba(255,255,255,.1);border-radius:8px;overflow:hidden;box-shadow:0 4px 12px #0006;opacity:.85;transition:opacity .2s}.minimap:hover{opacity:1}.stats-bar{display:flex;align-items:center;gap:8px;padding:4px 16px;background:#0a0e1ae6;border-top:1px solid rgba(255,255,255,.04);font-size:.65rem;color:var(--color-text-dim);font-family:JetBrains Mono,monospace}.stats-spacer{flex:1}.stats-mode{color:var(--color-primary, #6366f1);font-weight:700;letter-spacing:.04em}.modal-backdrop{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fade-in .2s ease}.bom-modal{background:var(--glass-bg, rgba(10, 14, 26, .96));border:1px solid var(--color-border);border-radius:var(--radius-lg);width:min(580px,90vw);max-height:70vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000080}.bom-body{padding:0 1.5rem 1.5rem;overflow-y:auto}.bom-table{width:100%;border-collapse:collapse;font-size:.82rem}.bom-table thead th{text-align:left;padding:.5rem .75rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);border-bottom:1px solid var(--color-border)}.bom-table tbody tr{border-bottom:1px solid rgba(255,255,255,.04);transition:background var(--transition)}.bom-table tbody tr:hover{background:#ffffff08}.bom-table td{padding:.5rem .75rem;color:var(--color-text-secondary)}.bom-type{color:var(--color-text)!important;font-weight:500}.bom-value{font-family:var(--font-mono);color:var(--color-primary)!important}.bom-qty{font-family:var(--font-mono);text-align:center;color:var(--color-accent)!important}.bom-labels{font-family:var(--font-mono);font-size:.75rem}.bom-footer{margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--color-border);text-align:center;font-size:.78rem;color:var(--color-text-muted)}.waveform-cursor-hint{position:absolute;bottom:6px;right:8px;font-size:.7rem;color:var(--color-text-muted);background:#00000080;padding:2px 8px;border-radius:4px;pointer-events:none}:root.light .bom-modal{background:#fffffff7}:root.light .bom-table tbody tr:hover{background:#00000008}.wire-highlighted path{stroke:#60a5fa!important;stroke-width:3!important;filter:drop-shadow(0 0 6px #60a5fa) drop-shadow(0 0 12px #3b82f6)!important}.wire-highlighted circle{fill:#60a5fa!important;r:4}.csv-export-btn{margin-left:auto;padding:2px 10px;font-size:.7rem;font-family:var(--font-mono);background:#6366f126;border:1px solid rgba(99,102,241,.4);color:var(--color-primary);border-radius:4px;cursor:pointer;transition:all var(--transition)}.csv-export-btn:hover{background:#6366f14d;border-color:var(--color-primary)}.result-success{display:flex;align-items:center;gap:.5rem}:root.light .wire-highlighted path{stroke:#3b82f6!important;filter:drop-shadow(0 0 6px #3b82f6)!important}:root.light .csv-export-btn{background:#6366f11a}.scope-zoom-controls{display:flex;align-items:center;gap:8px;margin-top:4px}.scope-zoom-reset{padding:2px 10px;background:#00ff641a;border:1px solid rgba(0,255,100,.25);border-radius:4px;color:#0f8;font-size:.68rem;font-family:var(--font-mono);cursor:pointer;transition:background .15s}.scope-zoom-reset:hover{background:#00ff6433}.scope-zoom-hint{font-size:.62rem;color:#00ff6459;font-family:var(--font-mono)}:root.light .scope-zoom-reset{background:#00803c14;border-color:#00803c33;color:#063}:root.light .scope-zoom-hint{color:#00803c66}.scope-fft-btn{padding:2px 10px;background:#64c8ff14;border:1px solid rgba(100,200,255,.2);border-radius:4px;color:#64c8ff99;font-size:.68rem;font-family:var(--font-mono);cursor:pointer;transition:all .15s}.scope-fft-btn:hover{background:#64c8ff26;color:#64c8ffe6}.scope-fft-btn.active{background:#64c8ff33;border-color:#64c8ff80;color:#64c8ff;box-shadow:0 0 8px #64c8ff33}.scope-fft-peaks{display:flex;gap:12px;padding:4px 0;font-size:.65rem;font-family:var(--font-mono)}:root.light .scope-fft-btn{background:#1e64b40f;border-color:#1e64b426;color:#1e64b499}:root.light .scope-fft-btn.active{background:#1e64b41f;border-color:#1e64b44d;color:#1e64b4}.scope-measurements{margin-top:6px;background:#020804d9;border:1px solid rgba(0,255,100,.15);border-radius:6px;padding:6px 8px;overflow-x:auto}.scope-measurements table{width:100%;border-collapse:collapse;font-size:.65rem;font-family:var(--font-mono)}.scope-measurements th{color:#00ff6480;text-transform:uppercase;font-weight:500;padding:2px 6px;text-align:right;border-bottom:1px solid rgba(0,255,100,.1)}.scope-measurements th:first-child{text-align:left}.scope-measurements td{padding:2px 6px;text-align:right;font-variant-numeric:tabular-nums}.scope-measurements td:first-child{text-align:left;font-weight:600}:root.light .scope-measurements{background:#f0f5f2e6;border-color:#00803c33}:root.light .scope-measurements th{color:#00803c80;border-bottom-color:#00803c26}.scope-deltas{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px;padding:5px 8px;background:#020804d9;border:1px solid rgba(100,200,255,.2);border-radius:6px;font-size:.68rem;font-family:var(--font-mono)}.delta-label{padding:1px 8px;background:#64c8ff14;border:1px solid rgba(100,200,255,.15);border-radius:4px;color:#0df;font-variant-numeric:tabular-nums}:root.light .scope-deltas{background:#f0f5fce6;border-color:#0064c833}:root.light .delta-label{background:#0064c814;border-color:#0064c826;color:#07c}.bode-margins{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.margin-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:4px;font-size:.68rem;font-family:var(--font-mono);font-weight:600}.margin-badge small{font-weight:400;opacity:.7}.margin-badge.ok{background:#22c55e1f;border:1px solid rgba(34,197,94,.3);color:#22c55e}.margin-badge.warn{background:#f59e0b1f;border:1px solid rgba(245,158,11,.3);color:#f59e0b}.margin-badge.bad{background:#ef44441f;border:1px solid rgba(239,68,68,.3);color:#ef4444}.bode-deltas{border-color:#3b82f633}:root.light .margin-badge.ok{background:#22c55e14}:root.light .margin-badge.warn{background:#f59e0b14}:root.light .margin-badge.bad{background:#ef444414}.quick-edit-popup{position:fixed;z-index:1000;background:#0f1423f2;border:1px solid rgba(99,102,241,.3);border-radius:10px;padding:10px 12px;min-width:180px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 8px 32px #00000080;transform:translate(-50%,-120%);animation:qe-pop .15s ease-out}@keyframes qe-pop{0%{opacity:0;transform:translate(-50%,-110%) scale(.9)}to{opacity:1;transform:translate(-50%,-120%) scale(1)}}.quick-edit-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:.65rem;text-transform:uppercase;letter-spacing:.5px}.quick-edit-type{color:var(--color-primary);font-weight:600}.quick-edit-id{color:#ffffff4d;font-family:var(--font-mono)}.quick-edit-field{display:flex;align-items:center;gap:6px}.quick-edit-field label{font-size:.7rem;color:#ffffff80;white-space:nowrap}.quick-edit-field input{flex:1;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:5px;color:#fff;padding:4px 6px;font-size:.75rem;font-family:var(--font-mono);width:80px}.quick-edit-field input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 6px #6366f14d}.quick-edit-unit{font-size:.65rem;color:#fff6;font-family:var(--font-mono)}.quick-edit-actions{display:flex;gap:4px;margin-top:8px;justify-content:flex-end}.quick-edit-save,.quick-edit-cancel{border:none;border-radius:5px;padding:3px 10px;font-size:.7rem;cursor:pointer;transition:all .15s}.quick-edit-save{background:var(--color-primary);color:#fff}.quick-edit-cancel{background:#ffffff14;color:#ffffff80}.quick-edit-save:hover{filter:brightness(1.15)}.quick-edit-cancel:hover{background:#ffffff26}.health-panel{background:#0f1423f5;border:1px solid rgba(99,102,241,.2);border-radius:16px;padding:20px 24px;width:360px;max-height:80vh;overflow-y:auto;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 20px 60px #00000080;animation:panel-rise .2s ease-out}@keyframes panel-rise{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.health-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.health-header h3{margin:0;font-size:1rem;font-weight:600}.health-score-section{display:flex;justify-content:center;margin-bottom:16px}.health-score-ring{position:relative;width:80px;height:80px}.health-ring-svg{width:100%;height:100%;transform:rotate(-90deg)}.health-score-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:1.1rem;font-weight:700;font-family:var(--font-mono)}.health-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:16px}.health-stat{text-align:center;background:#ffffff0a;border-radius:8px;padding:8px 4px}.health-stat-value{display:block;font-size:1.3rem;font-weight:700;color:var(--color-primary);font-family:var(--font-mono)}.health-stat-label{font-size:.6rem;color:#fff6;text-transform:uppercase;letter-spacing:.5px}.health-breakdown{margin-bottom:16px}.health-breakdown h4,.health-checks h4{font-size:.7rem;text-transform:uppercase;letter-spacing:.5px;color:#fff6;margin:0 0 8px}.health-type-list{display:flex;flex-direction:column;gap:4px}.health-type-item{display:flex;justify-content:space-between;align-items:center;padding:4px 8px;background:#ffffff08;border-radius:6px;font-size:.75rem}.health-type-name{text-transform:capitalize;color:#ffffffb3}.health-type-count{font-family:var(--font-mono);color:var(--color-primary);font-weight:600}.health-check{display:flex;align-items:flex-start;gap:8px;padding:8px 10px;border-radius:8px;margin-bottom:6px;background:#ffffff08}.health-ok{border-left:3px solid #22c55e}.health-warn{border-left:3px solid #f59e0b}.health-error{border-left:3px solid #ef4444}.health-check-icon{flex-shrink:0;font-size:.9rem}.health-check-info{display:flex;flex-direction:column}.health-check-label{font-size:.75rem;font-weight:600}.health-check-detail{font-size:.65rem;color:#fff6;margin-top:2px}:root.light .quick-edit-popup{background:#f8fafcf7;border-color:#6366f133;box-shadow:0 8px 32px #00000026}:root.light .quick-edit-field input{background:#0000000a;border-color:#0000001a;color:#1e293b}:root.light .quick-edit-cancel{background:#0000000f;color:#00000080}:root.light .health-panel{background:#f8fafcf7;border-color:#6366f126;box-shadow:0 20px 60px #00000026}:root.light .health-stat{background:#00000008}:root.light .health-type-item{background:#00000005}:root.light .health-check{background:#00000005}:root.light .health-check-detail{color:#0006}.noise-panel{background:var(--color-bg-panel);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:520px;max-height:80vh;overflow-y:auto;padding:16px;box-shadow:var(--shadow-lg)}.noise-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.noise-header h3{margin:0;font-size:1rem;color:var(--color-text)}.noise-controls{display:flex;gap:12px;margin-bottom:12px}.noise-controls label{display:flex;align-items:center;gap:6px;font-size:.72rem;font-family:var(--font-mono);color:var(--color-text-dim)}.noise-controls select{padding:3px 6px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-input);color:var(--color-text);font-family:var(--font-mono);font-size:.72rem}.noise-summary{display:flex;gap:12px;margin-bottom:12px}.noise-stat{flex:1;background:#64c8ff0f;border:1px solid rgba(100,200,255,.12);border-radius:var(--radius-sm);padding:8px;text-align:center}.noise-stat-label{display:block;font-size:.62rem;color:var(--color-text-dim);margin-bottom:2px}.noise-stat-value{font-size:.85rem;font-weight:600;font-family:var(--font-mono);color:#64c8ff}.noise-table-wrap{margin-bottom:12px}.noise-empty{text-align:center;color:var(--color-text-dim);font-size:.75rem;padding:16px}.noise-table{width:100%;border-collapse:collapse;font-size:.72rem;font-family:var(--font-mono)}.noise-table th{text-align:left;padding:4px 8px;border-bottom:1px solid var(--color-border);color:var(--color-text-dim);font-size:.65rem;text-transform:uppercase;letter-spacing:.5px}.noise-table td{padding:4px 8px;border-bottom:1px solid rgba(255,255,255,.03)}.noise-comp{color:#0f8}.noise-type{color:var(--color-text-dim);text-transform:capitalize}.noise-val{color:#64c8ff;text-align:right}.noise-bars{margin-top:8px}.noise-bars h4{margin:0 0 6px;font-size:.72rem;color:var(--color-text-dim)}.noise-bar-row{display:flex;align-items:center;gap:6px;margin-bottom:3px}.noise-bar-label{width:50px;font-size:.65rem;font-family:var(--font-mono);color:#0f8;text-align:right}.noise-bar-track{flex:1;height:6px;background:#64c8ff0f;border-radius:3px;overflow:hidden}.noise-bar-fill{height:100%;background:linear-gradient(90deg,#0f8,#64c8ff);border-radius:3px;transition:width .3s ease}.noise-bar-value{width:80px;font-size:.62rem;font-family:var(--font-mono);color:#64c8ff}:root.light .noise-stat{background:#1e64b40a;border-color:#1e64b41a}:root.light .noise-stat-value{color:#1e64b4}:root.light .noise-comp{color:#063}:root.light .noise-val{color:#1e64b4}:root.light .noise-bar-label{color:#063}:root.light .noise-bar-value{color:#1e64b4}.analysis-modal-overlay{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;background:#0009;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:fade-in .2s ease}.analysis-modal{width:min(520px,92vw);max-height:80vh;background:#0a0e1af7;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.08);border-radius:16px;box-shadow:0 24px 64px #00000080;display:flex;flex-direction:column;overflow:hidden;animation:gallery-in .3s ease}.analysis-modal-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid rgba(255,255,255,.06)}.analysis-modal-header h2{font-size:1rem;font-weight:700;color:var(--color-text, #e2e8f0);margin:0}.analysis-modal-body{padding:16px 20px;overflow-y:auto;flex:1}.modal-close{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:none;background:#ffffff0f;color:var(--color-text-dim, #94a3b8);border-radius:6px;cursor:pointer;font-size:.9rem;transition:all .15s}.modal-close:hover{background:#ffffff1f;color:var(--color-text, #e2e8f0)}.panel-empty{text-align:center;color:var(--color-text-dim, #94a3b8);padding:24px 0;font-size:.78rem}:root.light .analysis-modal{background:#fffffff7;border-color:#0000001a}:root.light .analysis-modal-header{border-color:#00000014}:root.light .modal-close{background:#0000000d;color:#64748b}:root.light .modal-close:hover{background:#0000001a;color:#1e293b}.filter-wizard{background:#0f1423f7;border:1px solid rgba(99,102,241,.3);border-radius:16px;padding:24px;width:420px;max-height:90vh;overflow-y:auto;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);animation:slideIn .25s ease}.filter-wizard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.filter-wizard-header h3{font-size:1.1rem;font-weight:600;margin:0;color:#e0e0ff}.filter-section{margin-bottom:16px}.filter-label{display:block;font-size:.75rem;color:#ffffff80;text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px}.filter-type-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.filter-type-btn{background:#6366f11a;border:1px solid rgba(99,102,241,.2);border-radius:10px;padding:10px 6px;cursor:pointer;text-align:center;transition:all .2s;color:#ffffffb3}.filter-type-btn:hover{background:#6366f133;border-color:#6366f166}.filter-type-btn.active{background:#6366f14d;border-color:#6366f1;color:#fff;box-shadow:0 0 12px #6366f14d}.filter-type-name{display:block;font-size:1rem;font-weight:700}.filter-type-desc{display:block;font-size:.7rem;opacity:.6;margin-top:2px}.filter-order-toggle{display:flex;gap:8px}.filter-order-toggle button{flex:1;background:#6366f11a;border:1px solid rgba(99,102,241,.2);border-radius:8px;padding:8px;cursor:pointer;font-size:.8rem;color:#ffffffb3;transition:all .2s}.filter-order-toggle button.active{background:#6366f14d;border-color:#6366f1;color:#fff}.filter-input-row{display:flex;align-items:center;gap:12px}.filter-input-row input[type=range]{flex:1;accent-color:#6366f1}.filter-value{font-size:.85rem;color:#818cf8;font-weight:600;min-width:80px;text-align:right}.filter-calculated{background:#6366f114;border-radius:10px;padding:14px;margin-bottom:16px}.filter-calculated h4{font-size:.85rem;margin:0 0 10px;color:#ffffffb3}.filter-calc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.filter-calc-item{text-align:center}.calc-label{display:block;font-size:.7rem;color:#fff6;text-transform:uppercase}.calc-value{display:block;font-size:.9rem;font-weight:600;color:#10b981;margin-top:2px}.filter-generate-btn{width:100%;padding:12px;background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:10px;color:#fff;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s}.filter-generate-btn:hover{transform:translateY(-1px);box-shadow:0 4px 16px #6366f166}.sweep-panel{background:#0f1423f7;border:1px solid rgba(99,102,241,.3);border-radius:16px;width:860px;max-width:95vw;max-height:90vh;overflow-y:auto;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);animation:slideIn .25s ease}.sweep-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid rgba(99,102,241,.15)}.sweep-header h3{font-size:1rem;font-weight:600;margin:0;color:#e0e0ff}.sweep-body{display:flex;gap:20px;padding:20px}.sweep-config{width:260px;flex-shrink:0}.sweep-chart-area{flex:1;min-width:0}.sweep-field{margin-bottom:14px}.sweep-field label{display:block;font-size:.72rem;color:#ffffff80;text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}.sweep-field select,.sweep-field input[type=number]{width:100%;background:#6366f114;border:1px solid rgba(99,102,241,.2);border-radius:6px;padding:8px 10px;color:#e0e0ff;font-size:.82rem}.sweep-field input[type=range]{width:100%;accent-color:#6366f1}.sweep-range-row{display:flex;gap:8px;align-items:flex-end}.sweep-range-row .sweep-field{flex:1}.sweep-arrow{color:#ffffff4d;font-size:1.2rem;padding-bottom:10px}.sweep-checkbox{display:flex;align-items:center;gap:6px;font-size:.78rem;color:#fff9;cursor:pointer;padding-bottom:10px;white-space:nowrap}.sweep-checkbox input[type=checkbox]{accent-color:#6366f1}.sweep-actions{display:flex;gap:8px;margin-top:4px}.sweep-run-btn{flex:1;padding:10px;background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:8px;color:#fff;font-weight:600;font-size:.85rem;cursor:pointer;transition:all .2s}.sweep-run-btn:hover:not(:disabled){box-shadow:0 4px 16px #6366f166}.sweep-run-btn:disabled{opacity:.5;cursor:not-allowed}.sweep-export-btn{padding:10px 14px;background:#10b98126;border:1px solid rgba(16,185,129,.3);border-radius:8px;color:#10b981;font-weight:600;font-size:.82rem;cursor:pointer;transition:all .2s}.sweep-export-btn:hover{background:#10b98140}.sweep-chart-container{border:1px solid rgba(99,102,241,.1);border-radius:10px;overflow:hidden;background:#0a0e1a99}.sweep-chart-canvas{display:block;width:100%;cursor:crosshair}.sweep-chart-empty{display:flex;align-items:center;justify-content:center;height:200px;color:#ffffff4d;font-size:.85rem;border:1px dashed rgba(99,102,241,.15);border-radius:10px}.sweep-chart-legend{display:flex;gap:12px;padding:8px 12px;flex-wrap:wrap}.sweep-legend-item{display:flex;align-items:center;gap:5px;font-size:.72rem;color:#fff9}.sweep-legend-color{width:8px;height:8px;border-radius:50%;flex-shrink:0}.sweep-stats{margin-top:10px;display:flex;flex-direction:column;gap:4px}.sweep-stat-row{display:flex;align-items:center;gap:12px;font-size:.75rem;padding:4px 8px;background:#6366f10a;border-radius:6px}.sweep-stat-node{font-weight:600;min-width:50px}.sweep-stat-range{color:#ffffff80}.sweep-stat-delta{color:#10b981;font-weight:600;margin-left:auto}:root.light .filter-wizard{background:#fffffff7;border-color:#6366f133}:root.light .filter-wizard-header h3,:root.light .filter-calculated h4{color:#1e293b}:root.light .filter-type-btn{background:#6366f10d;color:#475569}:root.light .filter-type-btn.active{color:#1e293b}:root.light .filter-label,:root.light .calc-label{color:#0006}:root.light .filter-order-toggle button{background:#6366f10d;color:#475569}:root.light .filter-order-toggle button.active{color:#1e293b}:root.light .filter-value{color:#6366f1}:root.light .filter-calculated{background:#6366f10d}:root.light .sweep-panel{background:#fffffff7;border-color:#6366f126}:root.light .sweep-header h3{color:#1e293b}:root.light .sweep-field label{color:#0006}:root.light .sweep-field select,:root.light .sweep-field input[type=number]{background:#6366f10d;color:#1e293b;border-color:#0000001a}:root.light .sweep-chart-container{border-color:#0000001a}:root.light .sweep-chart-empty{color:#0000004d;border-color:#0000001a}.sensitivity-modal{width:440px;max-width:95vw}.sensitivity-controls{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}.sensitivity-row{display:flex;align-items:center;gap:10px}.sensitivity-row label{font-size:.72rem;color:#ffffff80;text-transform:uppercase;letter-spacing:.05em;min-width:90px;flex-shrink:0}.sensitivity-slider-group{display:flex;align-items:center;gap:8px;flex:1}.sensitivity-slider-group input[type=range]{flex:1;accent-color:#6366f1}.sensitivity-pct{font-family:var(--font-mono);font-size:.82rem;font-weight:600;color:#818cf8;min-width:48px;text-align:right}.sensitivity-nominal{font-size:.8rem;color:var(--color-text-secondary);margin-bottom:10px;padding:6px 10px;background:#6366f114;border-radius:6px}.sensitivity-nominal strong{color:#10b981}.sensitivity-results{margin-top:8px}.sensitivity-tornado{display:block;margin:0 auto}:root.light .sensitivity-modal{background:#fffffff7}:root.light .sensitivity-row label{color:#0006}:root.light .sensitivity-nominal{background:#6366f10d;color:#475569}.subcircuit-modal{width:460px;max-width:95vw}.subcircuit-tabs{display:flex;border-bottom:1px solid rgba(99,102,241,.15);padding:0 16px}.subcircuit-tab{flex:1;padding:10px;background:none;border:none;border-bottom:2px solid transparent;color:var(--color-text-muted);font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s}.subcircuit-tab.active{color:#818cf8;border-bottom-color:#818cf8}.subcircuit-tab:hover:not(.active){color:var(--color-text-secondary)}.subcircuit-ports-header{display:flex;justify-content:space-between;align-items:center;margin-top:10px;margin-bottom:4px}.subcircuit-port-row{display:flex;gap:6px;align-items:center;margin-bottom:6px}.subcircuit-port-row .prop-input{width:70px;flex-shrink:0}.subcircuit-port-row .prop-select{flex:1;font-size:.75rem}.subcircuit-save-info{font-size:.75rem;color:var(--color-text-muted);margin-top:8px;padding:6px 8px;background:#6366f10f;border-radius:6px}.subcircuit-success{margin-top:8px;padding:8px 10px;background:#10b9811a;border:1px solid rgba(16,185,129,.3);border-radius:6px;color:#10b981;font-size:.8rem;font-weight:600}.subcircuit-library{display:flex;flex-direction:column;gap:10px}.subcircuit-card{background:#6366f10f;border:1px solid rgba(99,102,241,.15);border-radius:10px;padding:12px;transition:border-color .2s}.subcircuit-card:hover{border-color:#6366f159}.subcircuit-card-header{display:flex;justify-content:space-between;align-items:baseline}.subcircuit-card-name{font-weight:700;font-size:.88rem;color:var(--color-text-primary)}.subcircuit-card-meta{font-size:.7rem;color:var(--color-text-muted)}.subcircuit-card-desc{font-size:.75rem;color:var(--color-text-secondary);margin-top:4px}.subcircuit-card-ports{display:flex;gap:4px;flex-wrap:wrap;margin-top:6px}.subcircuit-port-tag{display:inline-block;padding:1px 6px;background:#6366f126;border-radius:4px;font-size:.68rem;font-weight:600;color:#818cf8;font-family:var(--font-mono)}.subcircuit-card-actions{display:flex;gap:6px;margin-top:8px}:root.light .subcircuit-modal{background:#fffffff7}:root.light .subcircuit-tabs{border-bottom-color:#00000014}:root.light .subcircuit-card{background:#6366f10a;border-color:#00000014}.multimeter-modal{width:380px;max-width:95vw}.multimeter-mode-bar{display:flex;gap:4px;margin-bottom:12px}.multimeter-mode-btn{flex:1;padding:8px 6px;background:#6366f114;border:1px solid rgba(99,102,241,.15);border-radius:8px;color:var(--color-text-secondary);font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s}.multimeter-mode-btn.active{background:#6366f133;border-color:#818cf8;color:#818cf8}.multimeter-probe{margin-bottom:12px}.multimeter-probe .prop-select{width:100%}.multimeter-lcd{background:#0a0f0a;border:2px solid rgba(0,255,100,.15);border-radius:10px;padding:16px 20px;text-align:right;position:relative;margin-bottom:10px}.lcd-display{display:flex;justify-content:flex-end;align-items:baseline;gap:4px}.lcd-digits{font-family:"Courier New",var(--font-mono),monospace;font-size:2rem;font-weight:700;color:#0f8;letter-spacing:3px;text-shadow:0 0 12px rgba(0,255,136,.5);line-height:1}.lcd-unit{position:absolute;bottom:8px;left:12px;font-family:var(--font-mono);font-size:.7rem;color:#0f86}.multimeter-bar{display:flex;align-items:center;gap:6px;margin-bottom:8px}.multimeter-bar-label{font-family:var(--font-mono);font-size:.75rem;color:var(--color-text-muted);width:12px}.multimeter-bar-track{flex:1;height:6px;background:#6366f114;border-radius:3px;overflow:hidden}.multimeter-bar-fill{height:100%;background:linear-gradient(90deg,#818cf8,#0f8);border-radius:3px;transition:width .3s ease}.multimeter-info{font-family:var(--font-mono);font-size:.7rem;color:var(--color-text-muted);text-align:right;padding:4px 0}:root.light .multimeter-lcd{background:#f0f4f0;border-color:#0000001a}:root.light .lcd-digits{color:#0d3320;text-shadow:none}:root.light .lcd-unit{color:#0d332066}.explainer-modal{width:500px;max-width:95vw}.explainer-summary{font-size:.82rem;color:var(--color-text-secondary);padding:10px 12px;background:#6366f10f;border-radius:8px;margin-bottom:12px;line-height:1.5}.explainer-archetype{padding:12px;background:#6366f10a;border:1px solid rgba(99,102,241,.12);border-radius:10px;margin-bottom:10px}.explainer-arch-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.explainer-arch-emoji{font-size:1.2rem}.explainer-arch-name{font-weight:700;font-size:.88rem;color:var(--color-text-primary)}.explainer-arch-desc{font-size:.78rem;color:var(--color-text-secondary);line-height:1.5;margin-bottom:8px}.explainer-params{display:flex;flex-direction:column;gap:3px}.explainer-param-row{display:flex;justify-content:space-between;font-size:.73rem;padding:3px 6px;background:#6366f10d;border-radius:4px}.explainer-param-key{color:var(--color-text-muted);font-weight:600}.explainer-param-val{color:#818cf8;font-family:var(--font-mono)}.explainer-node-card{padding:10px 12px;background:#6366f10a;border:1px solid rgba(99,102,241,.1);border-radius:8px;margin-bottom:6px;cursor:pointer;transition:all .2s}.explainer-node-card:hover{border-color:#6366f14d}.explainer-node-card.expanded{border-color:#818cf8}.explainer-node-header{display:flex;justify-content:space-between;align-items:center}.explainer-node-name{font-weight:700;font-size:.82rem;font-family:var(--font-mono)}.explainer-node-voltage{font-family:var(--font-mono);font-size:.8rem;color:#818cf8;font-weight:600}.explainer-node-text{font-size:.75rem;color:var(--color-text-secondary);margin-top:8px;line-height:1.5}.explainer-equations{font-family:var(--font-mono);font-size:.7rem;color:var(--color-text-muted);background:#00000026;padding:8px 10px;border-radius:6px;margin-top:6px;line-height:1.6;white-space:pre-wrap;overflow-x:auto}.breadboard-modal{width:640px;max-width:95vw}.breadboard-container{background:#d4c896;border-radius:8px;padding:16px;border:2px solid #b5a672;overflow:auto;max-height:400px}.breadboard-legend{display:flex;gap:12px;flex-wrap:wrap;margin-top:10px;font-size:.7rem;color:var(--color-text-muted)}.breadboard-legend-item{display:flex;align-items:center;gap:4px}.breadboard-legend-dot{width:10px;height:10px;border-radius:50%;display:inline-block}:root.light .breadboard-container{background:#e8deb5;border-color:#c9b97a}.sonification-modal{width:min(460px,92vw)}.sonification-empty{text-align:center;padding:2rem;color:#fff9}.sonification-controls{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}.sonification-row{display:flex;align-items:center;gap:10px}.sonification-row label{min-width:50px;font-size:.85em;color:#ffffffb3}.sonification-row select{flex:1;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:6px;padding:4px 8px;color:inherit;font-size:.85em}.sonification-row input[type=range]{flex:1;accent-color:#00e5ff}.sonification-value{font-size:.8em;min-width:32px;text-align:right;color:#ffffff80}.sonification-canvas{width:100%;border-radius:8px;border:1px solid rgba(255,255,255,.1)}.sonification-actions{display:flex;justify-content:center;margin-top:12px}.sonification-play,.sonification-stop{padding:8px 32px;border-radius:8px;border:none;font-size:1em;font-weight:600;cursor:pointer;transition:all .2s ease}.sonification-play{background:linear-gradient(135deg,#00e5ff,#00b8d4);color:#000}.sonification-play:hover{transform:translateY(-1px);box-shadow:0 4px 16px #00e5ff4d}.sonification-stop{background:linear-gradient(135deg,#ff5252,#d32f2f);color:#fff}.sonification-stop:hover{transform:translateY(-1px);box-shadow:0 4px 16px #ff52524d}.spice-import-modal{width:min(560px,92vw)}.spice-import-actions-top{display:flex;gap:8px;margin-bottom:10px}.spice-btn-secondary{padding:6px 12px;border-radius:6px;border:1px solid rgba(255,255,255,.15);background:#ffffff0f;color:#fffc;font-size:.82em;cursor:pointer;transition:all .2s ease}.spice-btn-secondary:hover:not(:disabled){background:#ffffff1f;border-color:#ffffff40}.spice-btn-secondary:disabled{opacity:.4;cursor:not-allowed}.spice-btn-primary{padding:6px 16px;border-radius:6px;border:none;background:linear-gradient(135deg,#00e5ff,#00b8d4);color:#000;font-size:.85em;font-weight:600;cursor:pointer;transition:all .2s ease}.spice-btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #00e5ff4d}.spice-btn-primary:disabled{opacity:.4;cursor:not-allowed}.spice-import-textarea{width:100%;min-height:180px;resize:vertical;background:#001428cc;border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:10px;font-family:JetBrains Mono,monospace;font-size:.82em;color:#e0e0e0;line-height:1.5}.spice-import-textarea:focus{outline:none;border-color:#00e5ff}.spice-import-preview{margin:10px 0}.spice-import-errors{color:#ff5252;font-size:.85em;margin-bottom:4px}.spice-import-warnings{color:#ffb74d;font-size:.85em;margin-bottom:4px}.spice-import-success{color:#69f0ae;font-size:.85em}.spice-import-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}.spice-import-help{margin-top:12px;padding:8px 10px;background:#ffffff0a;border-radius:6px;font-size:.78em;color:#ffffff80}.spice-sample-dropdown{position:absolute;top:100%;left:0;z-index:100;min-width:220px;margin-top:4px;padding:4px;background:#141e32fa;border:1px solid rgba(255,255,255,.15);border-radius:8px;box-shadow:0 8px 24px #00000080;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.spice-sample-item{display:block;width:100%;padding:8px 12px;border:none;border-radius:6px;background:transparent;color:#ffffffd9;font-size:.82em;text-align:left;cursor:pointer;transition:background .15s ease}.spice-sample-item:hover{background:#00e5ff1f}.recovery-dialog-overlay{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:recoveryFadeIn .3s ease}@keyframes recoveryFadeIn{0%{opacity:0}to{opacity:1}}.recovery-dialog{width:min(420px,90vw);padding:0;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:linear-gradient(145deg,#19233cfa,#12192dfa);box-shadow:0 12px 40px #00000080;overflow:hidden;animation:recoverySlideIn .3s ease}@keyframes recoverySlideIn{0%{transform:translateY(-20px) scale(.96);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.recovery-dialog-icon{display:flex;justify-content:center;padding-top:24px;font-size:2.5rem}.recovery-dialog-body{padding:16px 24px 8px;text-align:center}.recovery-dialog-body h3{margin:0 0 8px;font-size:1.1rem;font-weight:600;color:#fffffff2}.recovery-dialog-body p{margin:0;font-size:.88rem;color:#ffffff8c;line-height:1.5}.recovery-dialog-meta{display:flex;justify-content:center;gap:16px;margin-top:12px;font-size:.8rem;color:#fff6}.recovery-dialog-meta span{display:flex;align-items:center;gap:4px}.recovery-dialog-actions{display:flex;gap:10px;padding:16px 24px 24px;justify-content:center}.recovery-btn-discard{padding:10px 20px;border-radius:8px;border:1px solid rgba(255,255,255,.12);background:#ffffff0f;color:#fff9;font-size:.88rem;cursor:pointer;transition:all .2s ease}.recovery-btn-discard:hover{background:#ff505026;border-color:#ff50504d;color:#ff7878e6}.recovery-btn-restore{padding:10px 24px;border-radius:8px;border:none;background:linear-gradient(135deg,#00e5ff,#00b8d4);color:#000;font-size:.88rem;font-weight:600;cursor:pointer;transition:all .2s ease}.recovery-btn-restore:hover{transform:translateY(-1px);box-shadow:0 4px 16px #00e5ff59}.waveform-lab{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:780px;background:#050f0af2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(0,255,100,.15);border-radius:12px;z-index:1200;box-shadow:0 20px 60px #00000080,0 0 40px #00ff640d;overflow:hidden}.wflab-header{display:flex;align-items:center;padding:12px 16px;background:#00ff6408;border-bottom:1px solid rgba(0,255,100,.1);gap:16px}.wflab-header h3{margin:0;font-size:14px;color:#00ff64cc}.wflab-tabs{display:flex;gap:4px;flex:1}.wflab-tabs button{background:transparent;border:1px solid rgba(0,255,100,.1);color:#00ff6480;padding:4px 12px;border-radius:6px;cursor:pointer;font-size:11px;transition:all .2s}.wflab-tabs button.active{background:#00ff641a;color:#0f8;border-color:#00ff644d}.wflab-body{padding:12px}.wflab-canvas{width:100%;border-radius:8px;border:1px solid rgba(0,255,100,.08);cursor:crosshair}.wflab-controls{display:flex;align-items:center;gap:12px;margin-top:8px;padding:8px;background:#00ff6405;border-radius:8px;flex-wrap:wrap}.wflab-channels{display:flex;align-items:center;gap:4px}.wflab-ctrl-label{font-size:9px;color:#00ff6466;text-transform:uppercase;letter-spacing:.5px;margin-right:4px}.wflab-ch-btn{background:#00ff6408;border:1px solid rgba(0,255,100,.1);color:#ffffff80;padding:2px 8px;border-radius:4px;cursor:pointer;font-size:10px;font-family:monospace;transition:all .15s}.wflab-ch-btn.active{background:#00ff641a;color:#fff;border-width:2px}.wflab-fft-ctrl select,.wflab-math-ctrl select,.wflab-xy-ctrl select{background:#00ff640d;border:1px solid rgba(0,255,100,.15);color:#0f8;font-size:10px;padding:3px 6px;border-radius:4px;font-family:monospace}.wflab-cursor-btn{background:transparent;border:1px solid rgba(255,68,68,.3);color:#f449;padding:3px 8px;border-radius:4px;cursor:pointer;font-size:10px;transition:all .15s}.wflab-cursor-btn.active{background:#ff44441a;color:#f44;border-color:#f44}.wflab-xy-ctrl{display:flex;align-items:center;gap:6px}.wflab-stats{margin-top:8px}.wflab-stats table{width:100%;border-collapse:collapse;font-size:10px;font-family:monospace}.wflab-stats th{color:#00ff6466;text-align:left;padding:3px 8px;border-bottom:1px solid rgba(0,255,100,.1);font-weight:500}.wflab-stats td{color:#ffffffb3;padding:3px 8px;border-bottom:1px solid rgba(0,255,100,.04)}.montecarlo-panel{width:520px;background:#0a0f19f2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(99,102,241,.15);border-radius:14px;overflow:hidden;box-shadow:0 20px 60px #00000080}.mc-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;background:#6366f10a;border-bottom:1px solid rgba(99,102,241,.1)}.mc-header h3{margin:0;font-size:15px;color:#6366f1e6}.mc-body{padding:16px;max-height:70vh;overflow-y:auto}.mc-config{margin-bottom:16px}.mc-field{margin-bottom:10px}.mc-field label{display:block;font-size:10px;color:#fff6;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.mc-field input[type=range]{width:70%;accent-color:#6366f1}.mc-value{font-size:12px;color:#6366f1;margin-left:8px;font-family:monospace}.mc-field select,.mc-field input[type=number]{background:#6366f10f;border:1px solid rgba(99,102,241,.15);color:#fffc;padding:5px 8px;border-radius:6px;font-size:12px;font-family:monospace;width:100%}.mc-tolerances{margin-bottom:12px}.mc-tolerances label{display:block;font-size:10px;color:#fff6;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.mc-tol-row{display:flex;align-items:center;gap:8px;margin-bottom:4px;font-size:11px}.mc-tol-label{color:#fff9;min-width:40px;font-family:monospace}.mc-tol-row select{background:#6366f10f;border:1px solid rgba(99,102,241,.12);color:#ffffffb3;padding:3px 5px;border-radius:4px;font-size:10px}.mc-spec-row{display:flex;gap:12px}.mc-spec-row .mc-field{flex:1}.mc-run-btn{width:100%;padding:10px;background:linear-gradient(135deg,#6366f1,#4f46e5);border:none;color:#fff;border-radius:8px;cursor:pointer;font-size:13px;font-weight:600;transition:all .2s;margin-top:8px}.mc-run-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 15px #6366f14d}.mc-run-btn:disabled{opacity:.5;cursor:not-allowed}.mc-results{margin-top:16px}.mc-canvas{width:100%;border-radius:8px;border:1px solid rgba(99,102,241,.1)}.mc-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:12px}.mc-stat{background:#6366f10a;padding:8px 10px;border-radius:6px;border:1px solid rgba(99,102,241,.08)}.mc-stat.full{grid-column:span 2}.mc-stat-label{font-size:9px;color:#ffffff59;text-transform:uppercase;letter-spacing:.3px;display:block}.mc-stat-value{font-size:14px;color:#6366f1;font-family:monospace;font-weight:600}.mc-stat-value.good{color:#10b981}.mc-stat-value.warn{color:#f59e0b}.mc-stat-value.bad{color:#ef4444}.smith-panel{width:500px;background:#050a19f5;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(80,120,200,.15);border-radius:14px;overflow:hidden;box-shadow:0 20px 60px #00000080}.smith-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;background:#5078c80a;border-bottom:1px solid rgba(80,120,200,.1)}.smith-header h3{margin:0;font-size:15px;color:#50a0ffe6}.smith-body{padding:12px;display:flex;flex-direction:column;align-items:center}.smith-controls{display:flex;gap:16px;margin-bottom:10px;width:100%}.smith-field{display:flex;align-items:center;gap:6px}.smith-field label{font-size:10px;color:#fff6;text-transform:uppercase}.smith-field select{background:#5078c814;border:1px solid rgba(80,120,200,.15);color:#fffc;padding:4px 8px;border-radius:5px;font-size:11px;font-family:monospace}.smith-canvas{border-radius:10px;border:1px solid rgba(80,120,200,.1);cursor:crosshair}.smith-readout{width:100%;margin-top:10px;padding:10px 12px;background:#5078c80a;border-radius:8px;border:1px solid rgba(80,120,200,.08);min-height:70px}.smith-readout-row{display:flex;justify-content:space-between;align-items:center;padding:2px 0}.smith-ro-label{font-size:10px;color:#fff6;text-transform:uppercase;min-width:50px}.smith-ro-value{font-size:13px;color:#0f8;font-family:monospace;font-weight:500}.smith-hint{font-size:11px;color:#ffffff40;font-style:italic}.playground-panel{width:600px;max-height:80vh;background:#0a0c14f5;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border:1px solid rgba(16,185,129,.12);border-radius:16px;overflow:hidden;box-shadow:0 20px 60px #00000080}.pg-header{display:flex;align-items:center;padding:14px 18px;background:#10b98108;border-bottom:1px solid rgba(16,185,129,.1);gap:12px}.pg-header h3{margin:0;font-size:15px;color:#10b981e6;white-space:nowrap}.pg-tabs{display:flex;gap:4px;flex:1}.pg-tabs button{background:transparent;border:1px solid rgba(16,185,129,.1);color:#10b98180;padding:4px 12px;border-radius:6px;cursor:pointer;font-size:11px;transition:all .2s}.pg-tabs button.active{background:#10b9811a;color:#10b981;border-color:#10b9814d}.pg-body{padding:16px;max-height:65vh;overflow-y:auto}.pg-lessons-grid{display:flex;flex-direction:column;gap:8px}.pg-lesson-card{display:flex;align-items:center;gap:14px;padding:14px 16px;background:#10b98108;border:1px solid rgba(16,185,129,.08);border-radius:10px;cursor:pointer;transition:all .2s}.pg-lesson-card:hover{background:#10b9810f;border-color:#10b98133;transform:translate(4px)}.pg-lesson-card.completed{border-color:#10b98133}.pg-lesson-icon{font-size:24px}.pg-lesson-info h4{margin:0 0 4px;font-size:14px;color:#ffffffd9}.pg-lesson-info p{margin:0;font-size:11px;color:#fff6}.pg-lesson-meta{display:flex;gap:10px;margin-top:6px;align-items:center}.pg-difficulty{font-size:10px;text-transform:capitalize;font-weight:600}.pg-steps-count{font-size:10px;color:#ffffff4d}.pg-done{font-size:12px}.pg-active-lesson{padding:8px}.pg-lesson-progress{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:#10b981;font-weight:600;margin-bottom:8px}.pg-step-counter{font-size:11px;color:#fff6;font-weight:400}.pg-lesson-bar{height:4px;background:#10b9811a;border-radius:2px;margin-bottom:16px;overflow:hidden}.pg-lesson-bar-fill{height:100%;background:linear-gradient(90deg,#10b981,#06d6a0);border-radius:2px;transition:width .4s ease}.pg-step-content{background:#10b98108;border:1px solid rgba(16,185,129,.08);border-radius:10px;padding:16px;margin-bottom:12px}.pg-instruction{font-size:13px;color:#fffc;line-height:1.6;margin:0 0 10px}.pg-hint{font-size:12px;color:#f59e0b;background:#f59e0b0f;padding:8px 12px;border-radius:6px;border-left:3px solid rgba(245,158,11,.3);margin:0 0 10px}.pg-step-actions{display:flex;gap:8px;justify-content:flex-end}.pg-hint-btn{background:transparent;border:1px solid rgba(245,158,11,.3);color:#f59e0b;padding:6px 12px;border-radius:6px;cursor:pointer;font-size:11px}.pg-next-btn{background:linear-gradient(135deg,#10b981,#06d6a0);border:none;color:#fff;padding:6px 16px;border-radius:6px;cursor:pointer;font-size:12px;font-weight:600}.pg-abandon{background:transparent;border:none;color:#ffffff4d;cursor:pointer;font-size:11px;padding:4px 0}.pg-achievements-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.pg-achievement{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:10px;border:1px solid rgba(16,185,129,.08);transition:all .2s}.pg-achievement.unlocked{background:#10b9810d;border-color:#10b98133}.pg-achievement.locked{background:#ffffff04;opacity:.5}.pg-ach-icon{font-size:22px}.pg-ach-info h4{margin:0;font-size:12px;color:#fffc}.pg-ach-info p{margin:2px 0 0;font-size:10px;color:#ffffff59}.pg-toast{position:absolute;bottom:16px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,#10b981e6,#06d6a0e6);color:#fff;padding:10px 20px;border-radius:30px;display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;box-shadow:0 4px 20px #10b9814d;animation:toastIn .4s ease,toastOut .4s ease 2.6s forwards}@keyframes toastIn{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes toastOut{0%{opacity:1}to{opacity:0;transform:translate(-50%) translateY(-10px)}}:root.light .waveform-lab{background:#fffffff7;border-color:#0000001a}:root.light .wflab-header{background:#00000005;border-bottom-color:#00000014}:root.light .wflab-header h3{color:#1e293b}:root.light .montecarlo-panel{background:#fffffff7;border-color:#6366f126}:root.light .mc-header{background:#6366f108}:root.light .mc-header h3{color:#4f46e5}:root.light .smith-panel{background:#fffffff7;border-color:#5078c826}:root.light .smith-header h3{color:#3b82f6}:root.light .playground-panel{background:#fffffff7;border-color:#10b98126}:root.light .pg-header h3{color:#059669}:root.light .pg-lesson-info h4{color:#1e293b}:root.light .pg-instruction{color:#334155}:root.light .pg-ach-info h4{color:#1e293b}
