[data-theme=dark]{--surface-primary:#0a0a14;--surface-elevated:#0f0f1ae6;--surface-overlay:#0a0a14d9;--surface-input:#ffffff0a;--text-primary:#e0e0e0;--text-secondary:#ffffffb3;--text-tertiary:#ffffff80;--text-on-accent:#fff;--border-subtle:#ffffff0f;--border-medium:#ffffff14;--accent-input:#3b82f6;--accent-input-text:#60a5fa;--accent-input-soft:#3b82f61f;--accent-input-border:#3b82f659;--accent-input-glow:#3b82f61a;--accent-perceptron:#a855f7;--accent-perceptron-text:#c084fc;--accent-perceptron-soft:#a855f71f;--accent-perceptron-border:#a855f759;--accent-perceptron-glow:#a855f71a;--accent-gate:#f59e0b;--accent-gate-text:#fbbf24;--accent-gate-soft:#f59e0b1f;--accent-gate-border:#f59e0b59;--accent-gate-glow:#f59e0b1a;--accent-output:#22c55e;--accent-output-text:#4ade80;--accent-output-soft:#22c55e1f;--accent-output-border:#22c55e59;--accent-output-glow:#22c55e1a;--accent-ui:#6366f1;--accent-ui-text:#818cf8;--accent-ui-soft:#6366f126;--accent-ui-border:#6366f140;--danger:#f44;--danger-text:#ff6b6b;--danger-soft:#ff44441a;--danger-border:#ff44444d;--shadow-node-input:0 0 20px #3b82f61a, 0 4px 16px #0003;--shadow-node-perceptron:0 0 20px #a855f71a, 0 4px 16px #0003;--shadow-node-gate:0 0 20px #f59e0b1a, 0 4px 16px #0003;--shadow-node-output:0 0 20px #22c55e1a, 0 4px 16px #0003;--shadow-panel:0 8px 32px #0000004d;--shadow-dropdown:0 4px 12px #0006;--node-header-input:linear-gradient(180deg, #3b82f61f 0%, transparent 100%);--node-header-perceptron:linear-gradient(180deg, #a855f71f 0%, transparent 100%);--node-header-gate:linear-gradient(180deg, #f59e0b1f 0%, transparent 100%);--node-header-output:linear-gradient(180deg, #22c55e1f 0%, transparent 100%);--node-border-style:1px solid;--node-border-radius:12px;--glass-blur:blur(20px);--glass-bg:#ffffff0a;--glass-border:#ffffff0f;--grid-dot-color:#ffffff0a;--grid-size:24px;--selection-ring:0 0 0 2px var(--accent-ui), 0 0 12px #6366f166;--port-border-color:#0a0a14;--edge-weight-bg:#00000080;--edge-weight-border:#ffffff14;--edge-weight-text:#ffffff80;--accent-ground:#78716c;--accent-ground-soft:#78716c1f;--accent-ground-border:#78716c59;--accent-resistor:#0ea5e9;--accent-resistor-soft:#0ea5e91f;--accent-resistor-border:#0ea5e959;--accent-diode:#f43f5e;--accent-diode-soft:#f43f5e1f;--accent-diode-border:#f43f5e59;--accent-opamp:#8b5cf6;--accent-opamp-soft:#8b5cf61f;--accent-opamp-border:#8b5cf659;--accent-regulator:#10b981;--accent-regulator-soft:#10b9811f;--accent-regulator-border:#10b98159;--accent-comparator:#f97316;--accent-comparator-soft:#f973161f;--accent-comparator-border:#f9731659;--accent-capacitor:#14b8a6;--accent-capacitor-soft:#14b8a61f;--accent-capacitor-border:#14b8a659;--accent-inductor:#a78bfa;--accent-inductor-soft:#a78bfa1f;--accent-inductor-border:#a78bfa59;--accent-bjt:#eab308;--accent-bjt-soft:#eab3081f;--accent-bjt-border:#eab30859;--accent-mosfet:#84cc16;--accent-mosfet-soft:#84cc161f;--accent-mosfet-border:#84cc1659;--group-fill:#ffffff08;--group-stroke:#ffffff40;--theme-transition:background-color .2s, color .2s, border-color .2s, box-shadow .2s}[data-theme=light]{--surface-primary:#f8f9fb;--surface-elevated:#fff;--surface-overlay:#ffffffeb;--surface-input:#f1f3f5;--text-primary:#1e293b;--text-secondary:#64748b;--text-tertiary:#94a3b8;--text-on-accent:#fff;--border-subtle:#e2e5ea;--border-medium:#d1d5db;--accent-input:#2563eb;--accent-input-text:#2563eb;--accent-input-soft:#3b82f614;--accent-input-border:#3b82f64d;--accent-input-glow:none;--accent-perceptron:#9333ea;--accent-perceptron-text:#9333ea;--accent-perceptron-soft:#a855f714;--accent-perceptron-border:#a855f74d;--accent-perceptron-glow:none;--accent-gate:#d97706;--accent-gate-text:#d97706;--accent-gate-soft:#f59e0b14;--accent-gate-border:#f59e0b4d;--accent-gate-glow:none;--accent-output:#16a34a;--accent-output-text:#16a34a;--accent-output-soft:#22c55e14;--accent-output-border:#22c55e4d;--accent-output-glow:none;--accent-ui:#4f46e5;--accent-ui-text:#4f46e5;--accent-ui-soft:#4f46e514;--accent-ui-border:#4f46e533;--danger:#dc2626;--danger-text:#dc2626;--danger-soft:#dc26260f;--danger-border:#dc262633;--shadow-node-input:0 1px 3px #0000000f, 0 1px 2px #0000000a;--shadow-node-perceptron:0 1px 3px #0000000f, 0 1px 2px #0000000a;--shadow-node-gate:0 1px 3px #0000000f, 0 1px 2px #0000000a;--shadow-node-output:0 1px 3px #0000000f, 0 1px 2px #0000000a;--shadow-panel:0 4px 16px #00000014;--shadow-dropdown:0 4px 12px #0000001a;--node-header-input:transparent;--node-header-perceptron:transparent;--node-header-gate:transparent;--node-header-output:transparent;--node-border-style:1px solid;--node-border-radius:8px;--glass-blur:blur(16px);--glass-bg:#fffc;--glass-border:#0000000f;--grid-dot-color:#0000000f;--grid-size:24px;--selection-ring:0 0 0 2px var(--accent-ui), 0 0 8px #6366f14d;--port-border-color:#f8f9fb;--edge-weight-bg:#ffffffe6;--edge-weight-border:#0000001a;--edge-weight-text:#64748b;--accent-ground:#a8a29e;--accent-ground-soft:#a8a29e1f;--accent-ground-border:#a8a29e59;--accent-resistor:#0284c7;--accent-resistor-soft:#0284c71a;--accent-resistor-border:#0284c74d;--accent-diode:#e11d48;--accent-diode-soft:#e11d481a;--accent-diode-border:#e11d484d;--accent-opamp:#7c3aed;--accent-opamp-soft:#7c3aed1a;--accent-opamp-border:#7c3aed4d;--accent-regulator:#059669;--accent-regulator-soft:#0596691a;--accent-regulator-border:#0596694d;--accent-comparator:#ea580c;--accent-comparator-soft:#ea580c1a;--accent-comparator-border:#ea580c4d;--accent-capacitor:#0d9488;--accent-capacitor-soft:#0d94881a;--accent-capacitor-border:#0d94884d;--accent-inductor:#7c3aed;--accent-inductor-soft:#7c3aed1a;--accent-inductor-border:#7c3aed4d;--accent-bjt:#ca8a04;--accent-bjt-soft:#ca8a041a;--accent-bjt-border:#ca8a044d;--accent-mosfet:#65a30d;--accent-mosfet-soft:#65a30d1a;--accent-mosfet-border:#65a30d4d;--group-fill:#00000005;--group-stroke:#0003;--theme-transition:background-color .2s, color .2s, border-color .2s, box-shadow .2s}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.landing{background:var(--surface-primary);min-height:100vh;color:var(--text-primary);scroll-behavior:smooth;font-family:system-ui,-apple-system,sans-serif}.landing-hero{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:80vh;padding:80px 24px 48px;display:flex}.landing-hero__title{letter-spacing:-.02em;margin:0 0 16px;font-size:clamp(2.5rem,6vw,4rem);font-weight:800;line-height:1.1}.landing-hero__tagline{color:var(--text-secondary);max-width:600px;margin:0 0 32px;font-size:clamp(1rem,2.5vw,1.25rem);line-height:1.5}.landing-hero__actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.landing-btn{cursor:pointer;border-radius:8px;align-items:center;padding:12px 28px;font-size:15px;font-weight:600;text-decoration:none;transition:filter .15s,background .15s;display:inline-flex}.landing-btn--primary{background:var(--accent-perceptron,#a78bfa);color:#fff;border:none}.landing-btn--primary:hover{filter:brightness(1.15)}.landing-btn--ghost{color:var(--text-primary);border:1px solid var(--border-medium);background:0 0}.landing-btn--ghost:hover{background:var(--surface-hover,#ffffff0d)}.landing-hero__image{border:1px solid var(--border-subtle);border-radius:12px;width:100%;max-width:900px;margin-top:48px;box-shadow:0 8px 32px #0000004d}.landing-section{max-width:1100px;margin:0 auto;padding:64px 24px}.landing-section__title{text-align:center;margin:0 0 40px;font-size:1.75rem;font-weight:700}.landing-modes{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.landing-mode-card{background:var(--surface-overlay);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--border-subtle);color:var(--text-primary);border-radius:12px;text-decoration:none;transition:border-color .2s,transform .2s;overflow:hidden}.landing-mode-card:hover{border-color:var(--accent-perceptron,#a78bfa);transform:translateY(-2px)}.landing-mode-card__img{aspect-ratio:16/10;object-fit:cover;border-bottom:1px solid var(--border-subtle);width:100%;display:block}.landing-mode-card__body{padding:16px}.landing-mode-card__name{margin:0 0 8px;font-size:1.1rem;font-weight:600}.landing-mode-card__desc{color:var(--text-secondary);margin:0;font-size:.85rem;line-height:1.5}.landing-features{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.landing-feature{align-items:flex-start;gap:12px;display:flex}.landing-feature__icon{background:var(--surface-overlay);border:1px solid var(--border-subtle);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.5rem;line-height:1;display:flex}.landing-feature__text h4{margin:0 0 4px;font-size:.9rem;font-weight:600}.landing-feature__text p{color:var(--text-secondary);margin:0;font-size:.8rem;line-height:1.4}.landing-demos__category{margin-bottom:32px}.landing-demos__category-title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin:0 0 16px;font-size:.75rem;font-weight:600}.landing-demos__grid{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.landing-demo-card{background:var(--surface-overlay);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--border-subtle);color:var(--text-primary);border-radius:10px;text-decoration:none;transition:border-color .2s,transform .2s;overflow:hidden}.landing-demo-card:hover{border-color:var(--accent-perceptron,#a78bfa);transform:translateY(-2px)}.landing-demo-card__img{aspect-ratio:3/2;object-fit:cover;border-bottom:1px solid var(--border-subtle);width:100%;display:block}.landing-demo-card__body{padding:12px}.landing-demo-card__name{margin:0 0 4px;font-size:.85rem;font-weight:600}.landing-demo-card__desc{color:var(--text-secondary);margin:0;font-size:.75rem;line-height:1.4}.landing-footer{text-align:center;border-top:1px solid var(--border-subtle);color:var(--text-secondary);padding:48px 24px;font-size:.8rem}.landing-footer a{color:var(--text-secondary);margin-left:16px;text-decoration:none}.landing-footer a:hover{color:var(--text-primary)}@media (width<=1024px){.landing-demos__grid{grid-template-columns:repeat(3,1fr)}}@media (width<=768px){.landing-modes{grid-template-columns:1fr}.landing-features,.landing-demos__grid{grid-template-columns:repeat(2,1fr)}}@media (width<=480px){.landing-features,.landing-demos__grid{grid-template-columns:1fr}}.network-editor,.network-editor :not(svg):not(svg *){transition:var(--theme-transition)}.network-editor{background:var(--surface-primary);width:100vw;height:100dvh;color:var(--text-primary);flex-direction:column;font-family:system-ui,-apple-system,sans-serif;display:flex;overflow:hidden}.toolbar{background:var(--surface-overlay);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-bottom:1px solid var(--border-subtle);z-index:10;height:38px;transition:var(--theme-transition);flex-shrink:0;align-items:center;gap:12px;padding:0 16px;display:flex}.toolbar-label{color:var(--text-primary);margin-right:8px;font-size:14px;font-weight:600}.toolbar-btn{color:var(--text-on-accent);cursor:pointer;border:none;border-radius:4px;padding:6px 14px;font-size:12px;font-weight:500}.toolbar-btn:hover{filter:brightness(1.15)}.toolbar-btn--input{background:var(--accent-input-soft);color:var(--accent-input-text);border:1px solid var(--accent-input-border)}.toolbar-btn--perceptron{background:var(--accent-perceptron-soft);color:var(--accent-perceptron-text);border:1px solid var(--accent-perceptron-border)}.toolbar-btn--output{background:var(--accent-output-soft);color:var(--accent-output-text);border:1px solid var(--accent-output-border)}.canvas-container{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;flex:1;position:relative;overflow:hidden}.canvas-container:active{cursor:grabbing}.canvas-inner{transform-origin:0 0;position:absolute;top:0;left:0}.canvas-container:before{content:"";background-image:radial-gradient(circle, var(--grid-dot-color) 1.2px, transparent 1.2px);background-size:var(--grid-size) var(--grid-size);pointer-events:none;z-index:0;width:100%;height:100%;position:absolute;top:0;left:0}.edge-layer{pointer-events:none;z-index:1;width:100%;height:100%;position:absolute;top:0;left:0;overflow:visible}.edge-path{fill:none;stroke-width:2px;opacity:.7;pointer-events:stroke;cursor:pointer}.edge-path:hover{opacity:1;stroke-width:3px}[data-theme=dark] .edge-group{filter:drop-shadow(0 0 2px #ffffff26)}.edge-weight-pill{fill:var(--edge-weight-bg);stroke:var(--edge-weight-border);stroke-width:1px}.edge-weight-label{fill:var(--edge-weight-text);pointer-events:all;cursor:pointer;font-family:monospace;font-size:11px}.edge-weight-input{background:var(--surface-input);color:var(--text-primary);border:1px solid var(--accent-input);text-align:center;border-radius:3px;width:50px;padding:2px 4px;font-family:monospace;font-size:11px}.edge-delete-btn{fill:var(--danger-text);cursor:pointer;pointer-events:all;opacity:0;font-size:12px;transition:opacity .15s}.edge-group:hover .edge-delete-btn{opacity:1}.edge-hit-area{fill:none;stroke:#0000;stroke-width:12px;pointer-events:stroke;cursor:pointer}.edge-group--selected .edge-path{stroke-width:3px;stroke-opacity:1;stroke:#3b82f6!important}.marquee-rect{fill:#3b82f626;stroke:#60a5fae6;stroke-width:1.5px;stroke-dasharray:6 3}.edge-bend-handle{fill:var(--accent-input);stroke:var(--text-on-accent);stroke-width:2px;cursor:grab;pointer-events:all}.edge-bend-handle:hover{fill:var(--accent-input-text);r:7}.edge-bend-handle:active{cursor:grabbing}.draft-edge{fill:none;stroke:var(--accent-input);stroke-width:2px;stroke-dasharray:6 3;opacity:.5}.draft-edge--rejected{stroke:#ef4444;stroke-width:3px;opacity:.8;animation:.4s ease-out forwards draft-edge-reject}@keyframes draft-edge-reject{0%{opacity:.8;stroke-width:3px}50%{opacity:.9;stroke-width:4px}to{opacity:0;stroke-width:2px}}.node{border-radius:var(--node-border-radius);-webkit-user-select:none;user-select:none;touch-action:none;z-index:2;min-width:140px;transition:var(--theme-transition);position:absolute;overflow:visible}.node--selected{box-shadow:var(--selection-ring);border-color:var(--accent-ui)!important}.node--error{border:2px solid var(--danger)!important}.node-header{cursor:grab;justify-content:space-between;align-items:center;padding:4px 8px;display:flex}.node-header:active{cursor:grabbing}.node-type-label{color:var(--text-on-accent);text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:600}.node-delete-btn{color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:12px;line-height:1}.node-delete-btn:hover{color:var(--danger-text)}.node-body{padding:8px}.node--input{background:var(--surface-elevated);border:var(--node-border-style) var(--accent-input-border);width:140px;height:124px;box-shadow:var(--shadow-node-input)}.node--analog-input{height:106px}.node--input .node-header{background:var(--node-header-input)}.input-name{color:var(--accent-input-text);background:0 0;border:none;border-bottom:1px solid #0000;outline:none;width:100%;margin-bottom:4px;padding:0;font-size:11px}.input-name:focus{border-bottom-color:var(--accent-input)}.input-value-row{align-items:center;gap:6px;display:flex}.input-slider{accent-color:var(--accent-input);flex:1}.input-value-display{color:var(--text-primary);text-align:right;min-width:32px;font-family:monospace;font-size:12px}.node--perceptron{background:var(--surface-elevated);border:var(--node-border-style) var(--accent-perceptron-border);width:160px;height:140px;box-shadow:var(--shadow-node-perceptron)}.node--perceptron .node-header{background:var(--node-header-perceptron)}.perceptron-row{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.perceptron-label{color:var(--accent-perceptron-text);font-size:10px}.perceptron-value{color:var(--text-primary);font-family:monospace;font-size:11px}.perceptron-slider{width:100%;accent-color:var(--accent-perceptron)}.perceptron-select{background:var(--surface-input);width:100%;color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:3px;margin-top:6px;padding:3px;font-size:11px}.perceptron-output{background:var(--surface-input);text-align:center;border-radius:3px;margin-top:6px;padding:4px}.perceptron-output-label{color:var(--accent-perceptron-text);font-size:10px}.perceptron-output-value{color:var(--text-primary);font-family:monospace;font-size:12px}.node--output{background:var(--surface-elevated);border:var(--node-border-style) var(--accent-output-border);width:140px;height:106px;box-shadow:var(--shadow-node-output)}.node--output .node-header{background:var(--node-header-output)}.output-value-display{background:var(--surface-input);text-align:center;color:var(--accent-output-text);border-radius:4px;padding:8px;font-family:monospace;font-size:13px}.output-meta{color:var(--text-tertiary);text-align:center;margin-top:4px;font-size:10px}[data-theme=light] .node-type-label{color:var(--text-secondary)}[data-theme=light] .node--input .node-type-label{color:var(--accent-input-text)}[data-theme=light] .node--perceptron .node-type-label{color:var(--accent-perceptron-text)}[data-theme=light] .node--output .node-type-label{color:var(--accent-output-text)}[data-theme=light] .node--input{border-left:3px solid var(--accent-input)}[data-theme=light] .node--perceptron{border-left:3px solid var(--accent-perceptron)}[data-theme=light] .node--output{border-left:3px solid var(--accent-output)}.port{cursor:crosshair;touch-action:none;z-index:3;background:0 0;border:none;border-radius:50%;width:28px;height:28px;position:absolute;top:50%;transform:translateY(-50%)}.port:after{content:"";border:2px solid var(--port-border-color);border-radius:50%;width:12px;height:12px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.port--output{right:-14px}.port--input{left:-14px}.port--input-type:after{background:var(--accent-input)}.port--perceptron-type:after{background:var(--accent-perceptron)}.port--output-type:after{background:var(--accent-output)}.port:hover:after{filter:brightness(1.3);transform:translate(-50%,-50%)scale(1.3)}.cycle-warning{color:var(--danger);text-align:center;margin-top:4px;font-size:10px}.save-drawer{background:var(--surface-overlay);width:280px;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-left:1px solid var(--border-subtle);z-index:15;transition:var(--theme-transition);flex-direction:column;flex-shrink:0;padding:16px;display:flex;position:absolute;top:0;bottom:0;right:0;overflow-y:auto}[data-theme=light] .save-drawer{background:var(--surface-elevated);-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:var(--shadow-panel)}.save-drawer__header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.save-drawer__title{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:1px;font-size:12px}.save-drawer__count{color:var(--text-tertiary);font-size:11px}.save-drawer__close-btn{color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:18px;line-height:1}.save-drawer__close-btn:hover{color:var(--text-primary)}.save-drawer__list{flex-direction:column;flex:1;gap:6px;min-height:0;display:flex;overflow-y:auto}.save-drawer__item{background:var(--surface-input);border:1px solid var(--border-subtle);border-radius:6px;align-items:center;gap:10px;padding:10px 12px;display:flex}.save-drawer__item--active{background:var(--accent-ui-soft);border-color:var(--accent-ui-border)}.save-drawer__item-info{flex:1;min-width:0}.save-drawer__item-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:500;overflow:hidden}.save-drawer__current-badge{color:var(--accent-ui-text);margin-left:6px;font-size:11px;font-weight:400}.save-drawer__item-meta{color:var(--text-tertiary);margin-top:2px;font-size:11px}.save-drawer__item-actions{flex-shrink:0;gap:4px;display:flex}.save-drawer__action-btn{border:1px solid var(--border-subtle);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:3px;padding:4px 8px;font-size:11px;line-height:1}.save-drawer__action-btn:hover{border-color:var(--border-medium);color:var(--text-primary)}.save-drawer__action-btn--delete{border-color:var(--danger-border);color:var(--danger-text)}.save-drawer__action-btn--delete:hover{border-color:var(--danger);color:var(--danger)}.save-drawer__rename-input{background:var(--surface-input);color:var(--text-primary);border:1px solid var(--accent-ui);border-radius:3px;outline:none;width:100%;padding:2px 6px;font-size:14px}.save-drawer__new-btn{border:1px dashed var(--border-subtle);text-align:center;cursor:pointer;width:100%;color:var(--text-tertiary);background:0 0;border-radius:6px;margin-top:8px;padding:10px;font-size:13px}.save-drawer__new-btn:hover{border-color:var(--border-medium);color:var(--text-secondary)}.toolbar-spacer{flex:1}.toolbar-network-name{color:var(--text-secondary);border-bottom:1px dashed var(--text-tertiary);cursor:pointer;-webkit-user-select:none;user-select:none;padding:2px 4px;font-size:13px}.toolbar-network-name:hover{color:var(--text-primary);border-bottom-color:var(--text-secondary)}.toolbar-name-input{background:var(--surface-input);color:var(--text-primary);border:1px solid var(--accent-ui);border-radius:3px;outline:none;width:150px;padding:2px 6px;font-size:13px}.toolbar-btn--save,.toolbar-btn--drawer{background:var(--surface-input);color:var(--text-secondary);border:1px solid var(--border-subtle)}.toolbar-btn--drawer-open{background:var(--accent-ui);color:var(--text-on-accent)}.input-mode-toggle{gap:2px;margin-bottom:4px;display:flex}.input-mode-btn{background:var(--surface-input);border:1px solid var(--border-subtle);color:var(--text-tertiary);cursor:pointer;border-radius:3px;padding:1px 6px;font-size:11px;line-height:1.2}.input-mode-btn:hover{border-color:var(--accent-input);color:var(--accent-input-text)}.input-mode-btn--active{background:var(--accent-input);border-color:var(--accent-input);color:var(--text-on-accent)}.input-stepper-row{justify-content:center;align-items:center;gap:6px;display:flex}.input-stepper-btn{background:var(--surface-input);border:1px solid var(--accent-input-border);color:var(--accent-input-text);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;width:26px;height:26px;padding:0;font-size:16px;line-height:1;display:flex}.input-stepper-btn:hover{background:var(--accent-input);color:var(--text-on-accent)}.input-stepper-value{color:var(--text-primary);text-align:center;min-width:36px;font-family:monospace;font-size:14px}.perceptron-value--clickable{cursor:pointer;border-bottom:1px dashed var(--border-subtle)}.perceptron-value--clickable:hover{color:var(--accent-perceptron-text);border-bottom-color:var(--accent-perceptron-text)}.perceptron-bias-input{background:var(--surface-input);color:var(--text-primary);border:1px solid var(--accent-perceptron);text-align:right;border-radius:3px;outline:none;width:50px;padding:1px 4px;font-family:monospace;font-size:11px}.gate-node{cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none}.gate-node:active{cursor:grabbing}.gate-node--selected{filter:drop-shadow(0 0 6px var(--accent-ui))}.gate-node--error{filter:drop-shadow(0 0 4px #f44c)}.gate-delete-btn{background:var(--danger-soft);border:1px solid var(--danger-border);color:var(--text-tertiary);cursor:pointer;z-index:4;opacity:0;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;padding:0;font-size:11px;line-height:1;transition:opacity .15s;display:flex;position:absolute;top:-8px;right:-8px}.gate-node:hover .gate-delete-btn{opacity:1}.gate-delete-btn:hover{color:var(--danger-text);border-color:var(--danger)}.gate-svg{display:block}.gate-shape-path{fill:var(--surface-elevated);stroke:var(--accent-gate);stroke-width:2px;stroke-linejoin:round}.gate-shape-path--stroke-only{fill:none}.gate-shape-bubble{fill:var(--surface-elevated);stroke:var(--accent-gate);stroke-width:2px}.gate-label{fill:var(--accent-gate-text);letter-spacing:.5px;pointer-events:none;font-family:system-ui,-apple-system,sans-serif;font-size:11px;font-weight:600}.gate-output-value{color:var(--accent-output-text);background:var(--surface-input);border:1px solid var(--accent-output-border);border-radius:3px;padding:2px 4px;font-family:monospace;font-size:13px;font-weight:600;position:absolute;top:50%;right:-28px;transform:translateY(-50%)}.gate-port{border:2px solid var(--port-border-color);touch-action:none;cursor:crosshair;z-index:3;background:var(--accent-input);border-radius:50%;width:12px;height:12px;position:absolute}.gate-port:hover{filter:brightness(1.3);transform:scale(1.3)}.input-toggle-row{justify-content:center;align-items:center;padding:4px 0;display:flex}.input-toggle-label{cursor:pointer;align-items:center;gap:8px;display:flex}.input-toggle-checkbox{display:none}.input-toggle-switch{background:var(--border-subtle);border-radius:11px;width:40px;height:22px;transition:background .2s;position:relative}.input-toggle-switch:after{content:"";background:var(--text-tertiary);border-radius:50%;width:16px;height:16px;transition:transform .2s,background .2s;position:absolute;top:3px;left:3px}.input-toggle-checkbox:checked+.input-toggle-switch{background:var(--accent-input)}.input-toggle-checkbox:checked+.input-toggle-switch:after{background:var(--text-on-accent);transform:translate(18px)}.input-toggle-value{color:var(--text-primary);min-width:14px;font-family:monospace;font-size:14px;font-weight:600}.toolbar-gate-dropdown-container{position:relative}.toolbar-btn--gate{background:var(--accent-gate-soft);color:var(--accent-gate-text);border:1px solid var(--accent-gate-border)}.toolbar-gate-dropdown{background:var(--surface-overlay);border:1px solid var(--border-subtle);z-index:20;min-width:100px;box-shadow:var(--shadow-dropdown);border-radius:4px;margin-top:4px;position:absolute;top:100%;left:0}.toolbar-gate-dropdown-item{width:100%;color:var(--text-primary);text-align:left;cursor:pointer;background:0 0;border:none;padding:6px 14px;font-size:12px;font-weight:500;display:block}.toolbar-gate-dropdown-item:hover{background:var(--surface-input);color:var(--text-primary)}.toolbar-mode-wrapper{position:relative}.toolbar-mode-badge{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;background:var(--surface-input);border:1px solid var(--border-subtle);border-radius:3px;padding:2px 8px;font-size:11px;font-weight:600}.toolbar-mode-badge--clickable{cursor:pointer;font-family:inherit}.toolbar-mode-badge--clickable:hover{color:var(--text-secondary);border-color:var(--border-medium)}.toolbar-mode-dropdown{background:var(--surface-primary);border:1px solid var(--border-medium);z-index:100;white-space:nowrap;border-radius:6px;flex-direction:column;gap:2px;margin-top:6px;padding:4px;display:flex;position:absolute;top:100%;left:0;box-shadow:0 4px 12px #0000004d}.toolbar-mode-dropdown__btn{color:var(--text-secondary);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:4px;padding:8px 14px;font-size:13px}.toolbar-mode-dropdown__btn:hover:not(:disabled){background:var(--accent-ui-soft);color:var(--text-primary)}.toolbar-mode-dropdown__btn--active{color:var(--accent-ui-text);background:var(--accent-ui-soft);cursor:default}.toolbar-mode-dropdown__btn:disabled{opacity:.5;cursor:default}.mode-switch-overlay{z-index:1000;background:0 0;justify-content:center;align-items:flex-start;padding-top:15vh;display:flex;position:fixed;inset:0}.mode-switch-modal{background:var(--surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--node-border-radius);width:90%;max-width:380px;box-shadow:var(--shadow-panel);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);padding:24px}.mode-switch-modal__title{color:var(--text-primary);margin:0 0 12px;font-size:16px;font-weight:600}.mode-switch-modal__body{color:var(--text-secondary);margin:0 0 12px;font-size:13px;line-height:1.4}.mode-switch-modal__list{color:var(--text-primary);margin:0 0 20px;padding-left:20px;font-size:13px;line-height:1.6}.mode-switch-modal__actions{justify-content:flex-end;gap:8px;display:flex}.mode-switch-modal__btn{cursor:pointer;border:none;border-radius:6px;padding:7px 18px;font-size:13px;font-weight:500;transition:background-color .15s,border-color .15s,color .15s}.mode-switch-modal__btn--cancel{background:var(--surface-input);color:var(--text-secondary);border:1px solid var(--border-subtle)}.mode-switch-modal__btn--cancel:hover{color:var(--text-primary);border-color:var(--border-medium)}.mode-switch-modal__btn--confirm{background:var(--accent-ui);color:var(--text-on-accent)}.mode-switch-modal__btn--confirm:hover{background:var(--accent-ui-text)}.node--doomed,.edge--doomed{opacity:.35;pointer-events:none;transition:opacity .2s}.mode-switch-modal__drag-handle{cursor:grab;-webkit-user-select:none;user-select:none}.mode-switch-modal__drag-handle:active{cursor:grabbing}.mode-switch-modal__section-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em;margin:0 0 4px;font-size:12px;font-weight:600}.toolbar-default-weight{border-left:1px solid var(--border-subtle);align-items:center;gap:6px;margin-left:8px;padding-left:8px;display:flex}.toolbar-default-weight-label{color:var(--text-tertiary);white-space:nowrap;-webkit-user-select:none;user-select:none;font-size:11px;font-weight:500}.toolbar-default-weight-input{width:52px;color:var(--text-secondary);background:var(--surface-input);border:1px solid var(--border-subtle);text-align:center;-moz-appearance:textfield;border-radius:3px;padding:2px 6px;font-family:inherit;font-size:12px}.toolbar-default-weight-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.toolbar-default-weight-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.toolbar-default-weight-input:focus{border-color:var(--accent-ui);outline:none}.save-drawer__mode-badge{color:var(--text-tertiary);background:var(--surface-input);border:1px solid var(--border-subtle);text-transform:uppercase;border-radius:3px;margin-left:6px;padding:1px 5px;font-size:10px;font-weight:500}.save-drawer__new-picker{gap:8px;margin-top:8px;display:flex}.save-drawer__new-type-btn{border:1px solid var(--accent-ui-border);background:var(--surface-input);color:var(--accent-ui-text);cursor:pointer;text-align:center;border-radius:6px;flex:1;padding:10px;font-size:12px;font-weight:500}.save-drawer__new-type-btn:hover{background:var(--accent-ui-soft);color:var(--text-primary)}.save-drawer__new-type-btn--cancel{border-color:var(--border-subtle);color:var(--text-tertiary);flex:0;padding:10px 14px}.save-drawer__new-type-btn--cancel:hover{color:var(--text-secondary)}.port--gate-type{background:var(--accent-gate)}.share-dropdown-container{position:relative}.toolbar-btn--share{background:var(--accent-ui-soft);color:var(--accent-ui-text);border:1px solid var(--accent-ui-border)}.share-dropdown{background:var(--surface-overlay);border:1px solid var(--border-subtle);z-index:20;min-width:140px;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-radius:4px;margin-top:4px;position:absolute;top:100%;right:0;overflow:hidden}.share-dropdown-item{width:100%;color:var(--text-primary);text-align:left;cursor:pointer;background:0 0;border:none;padding:8px 14px;font-size:12px;display:block}.share-dropdown-item:hover{background:var(--surface-input)}.network-editor--embed{position:relative}.embed-edit-btn{z-index:20;background:var(--accent-ui-soft);color:var(--accent-ui-text);border:1px solid var(--accent-ui-border);cursor:pointer;border-radius:4px;padding:6px 16px;font-size:12px;font-weight:500;position:absolute;top:8px;right:8px}a.embed-edit-btn{text-decoration:none;display:inline-block}.embed-edit-btn:hover{background:var(--accent-ui)}.toolbar-btn--done{background:var(--accent-ui-soft);color:var(--accent-ui-text);border:1px solid var(--accent-ui-border)}.embed-toolbar{background:var(--surface-overlay);border-bottom:1px solid var(--border-subtle);z-index:10;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);flex-shrink:0;align-items:center;gap:8px;padding:6px 12px;display:flex}.toolbar-btn--open-editor{background:var(--accent-ui-soft);color:var(--accent-ui-text);text-decoration:none;display:inline-block}.toolbar-action-group{align-items:center;gap:6px;display:flex}.toolbar-icon-btn{width:28px;height:28px;color:var(--text-tertiary);cursor:pointer;transition:var(--theme-transition);background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:0;font-size:14px;display:flex}.toolbar-icon-btn:hover:not(:disabled){background:var(--surface-input);color:var(--text-secondary)}.toolbar-icon-btn:disabled{opacity:.3;cursor:default}.toolbar-divider{background:var(--border-medium);width:1px;height:16px}.toolbar-new-wrapper{position:relative}.toolbar-new-picker{background:var(--surface-primary);border:1px solid var(--border-medium);z-index:100;white-space:nowrap;border-radius:6px;flex-direction:column;gap:2px;margin-top:6px;padding:4px;display:flex;position:absolute;top:100%;right:0;box-shadow:0 4px 12px #0000004d}.toolbar-new-picker__btn{color:var(--text-secondary);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:4px;padding:8px 14px;font-size:13px}.toolbar-new-picker__btn:hover{background:var(--accent-ui-soft);color:var(--text-primary)}.tool-palette{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);z-index:10;transition:var(--theme-transition);border-radius:14px;flex-direction:column;gap:4px;padding:6px;display:flex;position:absolute;top:50%;left:12px;transform:translateY(-50%)}[data-theme=light] .tool-palette{background:var(--surface-elevated);-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:var(--shadow-panel);border-color:var(--border-subtle)}.tool-palette-btn{cursor:pointer;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;padding:0;transition:all .15s;display:flex;position:relative}.tool-palette-btn:hover{filter:brightness(1.2)}.tool-palette-icon{-webkit-text-stroke:.5px currentColor;font-size:16px;font-weight:700;line-height:1}.tool-palette-tooltip{background:var(--surface-elevated);border:1px solid var(--border-subtle);color:var(--text-primary);white-space:nowrap;opacity:0;pointer-events:none;box-shadow:var(--shadow-dropdown);border-radius:6px;padding:4px 8px;font-size:11px;transition:opacity .15s;position:absolute;top:50%;left:52px;transform:translateY(-50%)}.tool-palette-btn:hover .tool-palette-tooltip{opacity:1}.tool-palette-btn--input{background:var(--accent-input-soft);border-color:var(--accent-input-border);color:var(--accent-input-text)}.tool-palette-btn--perceptron{background:var(--accent-perceptron-soft);border-color:var(--accent-perceptron-border);color:var(--accent-perceptron-text)}.tool-palette-btn--gate{background:var(--accent-gate-soft);border-color:var(--accent-gate-border);color:var(--accent-gate-text)}.tool-palette-btn--output{background:var(--accent-output-soft);border-color:var(--accent-output-border);color:var(--accent-output-text)}.tool-palette-btn--ground{background:var(--accent-ground-soft);border-color:var(--accent-ground-border);color:var(--accent-ground)}.tool-palette-btn--resistor{background:var(--accent-resistor-soft);border-color:var(--accent-resistor-border);color:var(--accent-resistor)}.tool-palette-btn--diode{background:var(--accent-diode-soft);border-color:var(--accent-diode-border);color:var(--accent-diode)}.tool-palette-btn--opamp{background:var(--accent-opamp-soft);border-color:var(--accent-opamp-border);color:var(--accent-opamp)}.tool-palette-btn--regulator{background:var(--accent-regulator-soft);border-color:var(--accent-regulator-border);color:var(--accent-regulator)}.tool-palette-btn--comparator{background:var(--accent-comparator-soft);border-color:var(--accent-comparator-border);color:var(--accent-comparator)}.tool-palette-btn--capacitor{background:var(--accent-capacitor-soft);border-color:var(--accent-capacitor-border);color:var(--accent-capacitor)}.tool-palette-btn--inductor{background:var(--accent-inductor-soft);border-color:var(--accent-inductor-border);color:var(--accent-inductor)}.tool-palette-btn--bjt{background:var(--accent-bjt-soft);border-color:var(--accent-bjt-border);color:var(--accent-bjt)}.tool-palette-btn--mosfet{background:var(--accent-mosfet-soft);border-color:var(--accent-mosfet-border);color:var(--accent-mosfet)}.tool-palette-gate-wrapper{position:relative}.tool-palette-gate-menu{background:var(--surface-overlay);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--border-subtle);z-index:20;min-width:80px;box-shadow:var(--shadow-dropdown);border-radius:8px;flex-direction:column;gap:2px;padding:4px;display:flex;position:absolute;top:0;left:52px}[data-theme=light] .tool-palette-gate-menu{background:var(--surface-elevated);-webkit-backdrop-filter:none;backdrop-filter:none}.tool-palette-gate-item{color:var(--accent-gate-text);letter-spacing:.5px;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:4px;padding:6px 10px;font-size:11px;font-weight:600}.tool-palette-gate-item:hover{background:var(--accent-gate-soft)}.canvas-controls{z-index:6;flex-direction:column;gap:2px;display:flex;position:absolute;bottom:16px;right:16px}.canvas-controls-btn{border:1px solid var(--border-subtle);background:var(--surface-overlay);width:32px;height:32px;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);color:var(--text-primary);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;padding:0;font-size:16px;line-height:1;display:flex}.canvas-controls-btn:hover{background:var(--surface-hover,var(--surface-overlay))}.canvas-controls-btn:first-child{border-radius:6px 6px 2px 2px}.canvas-controls-btn:last-child{border-radius:2px 2px 6px 6px}.canvas-controls-btn--active{background:var(--accent-perceptron-soft,#a78bfa26);border-color:var(--accent-perceptron,#a78bfa);color:var(--accent-perceptron,#a78bfa)}.node-simplified{cursor:default;z-index:2;-webkit-user-select:none;user-select:none;position:absolute}.node-simplified--selected{filter:drop-shadow(0 0 6px var(--accent-ui))}.node-simplified-svg{display:block}.node-simplified-circle{fill:var(--surface-elevated);stroke-width:2px}.node-simplified-circle--input{stroke:var(--accent-input)}.node-simplified-circle--perceptron{stroke:var(--accent-perceptron)}.node-simplified-circle--output{stroke:var(--accent-output)}.node-simplified-label{fill:var(--text-tertiary);font-size:9px;font-family:var(--font-sans,system-ui, sans-serif)}.node-simplified-value{fill:var(--text-primary);font-size:12px;font-weight:600;font-family:var(--font-mono,monospace)}.node-simplified-bias{fill:var(--text-tertiary);font-size:8px;font-family:var(--font-mono,monospace)}.node-simplified-output{fill:var(--accent-success,#6ee7b7);font-size:8px;font-family:var(--font-mono,monospace)}.node-simplified-sigma{fill:var(--text-primary);font-family:serif;font-size:20px}.node-simplified .port--output{position:absolute;top:50%;right:-6px;transform:translateY(-50%)}.node-simplified .port--input{position:absolute;top:50%;left:-6px;transform:translateY(-50%)}.analog-node{border-radius:var(--node-border-radius);background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:var(--node-border-style) var(--glass-border);touch-action:none;-webkit-user-select:none;user-select:none;transition:var(--theme-transition);cursor:grab}.analog-node--selected{box-shadow:var(--selection-ring);border-color:var(--accent-ui)!important}.analog-shape-path{fill:none;stroke:var(--text-primary);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.analog-lead-path{fill:none;stroke:var(--text-primary);stroke-width:1.5px}.analog-pin-label{fill:var(--text-secondary);font-size:10px;font-weight:600}.analog-port{touch-action:none;cursor:crosshair;z-index:3;background:0 0;border:none;border-radius:50%;width:28px;height:28px;position:absolute}.analog-port:after{content:"";background:var(--text-tertiary);border:2px solid var(--port-border-color);border-radius:50%;width:12px;height:12px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.analog-port:hover:after{background:var(--text-primary)}.analog-delete-btn{background:var(--danger-soft);width:18px;height:18px;color:var(--danger-text);cursor:pointer;z-index:4;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:10px;display:none;position:absolute;top:-8px;right:-8px}.analog-node:hover .analog-delete-btn{display:flex}.input-pin-label{color:var(--text-tertiary);pointer-events:none;font-size:10px;font-weight:600;position:absolute}.input-pin-label--plus{top:50%;right:8px;transform:translateY(-50%)}.input-pin-label--minus{bottom:4px;left:50%;transform:translate(-50%)}.analog-value-label{text-align:center;color:var(--text-secondary);pointer-events:none;font-size:11px;position:absolute;bottom:2px;left:0;right:0}.analog-value-label--editable{pointer-events:auto;cursor:pointer}.analog-value-label--editable:hover{color:var(--text-primary);text-decoration:underline}.analog-value-input{text-align:center;border:1px solid var(--border-color);background:var(--surface-primary);height:18px;color:var(--text-primary);z-index:5;border-radius:3px;outline:none;padding:0 2px;font-size:11px;position:absolute;bottom:0;left:4px;right:4px}.analog-value-input:focus{border-color:var(--accent-primary)}.analog-name-label{text-align:center;color:var(--text-tertiary);pointer-events:none;font-size:10px;position:absolute;top:2px;left:0;right:0}.probe-mode-toggle{justify-content:center;gap:2px;margin-top:4px;display:flex}.probe-mode-btn{border:1px solid var(--border-medium);width:22px;height:18px;color:var(--text-tertiary);cursor:pointer;background:0 0;border-radius:4px;padding:0;font-size:10px;font-weight:600}.probe-mode-btn--active{background:var(--accent-ui-soft);color:var(--accent-ui-text);border-color:var(--accent-ui-border)}.output-probe-value{text-align:center;color:var(--accent-output-text);padding:2px 0;font-size:13px;font-weight:600}.tool-palette-btn--coming-soon{opacity:.3;cursor:not-allowed}.tool-palette-divider{background:var(--border-medium);width:28px;height:1px;margin:4px 0}.palette-drag-ghost{pointer-events:none;z-index:10000;background:var(--surface-elevated);border:1px solid var(--border-medium);opacity:.9;border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;display:flex;position:fixed;transform:translate(-50%,-50%);box-shadow:0 8px 24px #0000004d,0 2px 8px #00000026}.palette-drag-ghost-icon{color:var(--text-primary);-webkit-text-stroke:.5px currentColor;font-size:18px;font-weight:700;line-height:1}.analog-node--resistor{border-color:var(--accent-resistor-border)}.analog-node--diode{border-color:var(--accent-diode-border)}.analog-node--opamp{border-color:var(--accent-opamp-border)}.analog-node--regulator{border-color:var(--accent-regulator-border)}.analog-node--comparator{border-color:var(--accent-comparator-border)}.analog-node--ground{border-color:var(--accent-ground-border)}.analog-node--capacitor{border-color:var(--accent-capacitor-border)}.analog-node--inductor{border-color:var(--accent-inductor-border)}.analog-node--bjt{border-color:var(--accent-bjt-border)}.analog-node--mosfet{border-color:var(--accent-mosfet-border)}.analog-node--resistor,.analog-node--capacitor,.analog-node--inductor{overflow:visible}.analog-node--resistor .analog-value-label,.analog-node--capacitor .analog-value-label,.analog-node--inductor .analog-value-label,.analog-node--resistor .analog-value-label--editable,.analog-node--capacitor .analog-value-label--editable,.analog-node--inductor .analog-value-label--editable{bottom:-16px}.analog-node--resistor .analog-value-input,.analog-node--capacitor .analog-value-input,.analog-node--inductor .analog-value-input{bottom:-20px}.analog-node--bjt,.analog-node--mosfet{overflow:visible}.analog-node--bjt .analog-value-label,.analog-node--mosfet .analog-value-label{bottom:-16px}.analog-node--bjt .analog-value-label--editable,.analog-node--mosfet .analog-value-label--editable{bottom:-30px}.analog-warning-banner{background:var(--surface-warning,#78350f22);border-bottom:1px solid var(--border-warning,#d97706);color:var(--text-warning,#f59e0b);z-index:9;flex-shrink:0;align-items:flex-start;gap:8px;padding:6px 16px;font-size:13px;display:flex}.analog-warning-banner__icon{flex-shrink:0;font-size:14px;line-height:20px}.analog-warning-banner__content{flex:1;min-width:0;line-height:20px}.analog-warning-banner__message{font-weight:500}.analog-warning-banner__more{color:var(--text-warning,#f59e0b);cursor:pointer;opacity:.8;background:0 0;border:none;padding:0 4px;font-size:12px;text-decoration:underline}.analog-warning-banner__more:hover{opacity:1}.analog-warning-banner__list{margin:4px 0 0;padding:0 0 0 16px;font-weight:400}.analog-warning-banner__list li{margin:2px 0}.analog-warning-banner__dismiss{color:var(--text-warning,#f59e0b);cursor:pointer;opacity:.6;background:0 0;border:none;flex-shrink:0;padding:0 2px;font-size:18px;line-height:20px}.analog-warning-banner__dismiss:hover{opacity:1}.toolbar-demo-wrapper{position:relative}.toolbar-btn--demo{background:var(--accent-secondary,#4a5568)}.toolbar-demo-dropdown{background:var(--surface-elevated);border:1px solid var(--border-medium);z-index:100;scrollbar-width:thin;scrollbar-color:var(--border-medium) transparent;border-radius:8px;min-width:240px;max-height:min(70vh,420px);padding:4px 0;position:absolute;top:calc(100% + 4px);left:0;overflow:hidden auto;box-shadow:0 4px 16px #00000040}.toolbar-demo-dropdown::-webkit-scrollbar{width:5px}.toolbar-demo-dropdown::-webkit-scrollbar-track{background:0 0}.toolbar-demo-dropdown::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:3px}.toolbar-demo-dropdown::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.toolbar-demo-dropdown__section{text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);background:var(--surface-hover);margin-top:4px;padding:8px 12px 5px;font-size:11px;font-weight:700}.toolbar-demo-dropdown>div:first-child>.toolbar-demo-dropdown__section{margin-top:0}.toolbar-demo-dropdown__btn{width:100%;color:var(--text-primary);text-align:left;cursor:pointer;background:0 0;border:none;padding:6px 12px 6px 20px;font-size:13px;display:block}.toolbar-demo-dropdown__btn:hover{background:var(--surface-hover)}.toolbar-demo-dropdown__btn-desc{color:var(--text-secondary);margin-top:1px;font-size:11px;line-height:1.3;display:block}.frequency-control{background:var(--surface-overlay);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-bottom:1px solid var(--border-subtle);align-items:center;gap:8px;padding:4px 12px;font-size:13px;display:flex}.frequency-control-label{color:var(--text-secondary);align-items:center;gap:4px;font-family:monospace;display:flex}.frequency-control-input{border:1px solid var(--border-subtle);background:var(--surface-input);width:80px;color:var(--text-primary);border-radius:4px;padding:2px 6px;font-family:monospace;font-size:13px}.frequency-control-input:focus{border-color:var(--accent-ui-border);box-shadow:0 0 0 2px var(--accent-ui-soft);outline:none}.frequency-control-badge{background:var(--accent-ui);color:var(--text-on-accent);border-radius:3px;padding:1px 6px;font-size:11px;font-weight:600}.help-overlay{z-index:1000;background:0 0;justify-content:center;align-items:flex-start;padding-top:8vh;display:flex;position:fixed;inset:0}.help-modal{background:var(--surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--node-border-radius);width:92%;max-width:640px;box-shadow:var(--shadow-panel);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);flex-direction:column;max-height:80vh;display:flex}.help-modal-header{flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 20px 0;display:flex}.help-modal-title{color:var(--text-primary);margin:0;font-size:16px;font-weight:600}.help-modal-close{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:20px;line-height:1}.help-modal-close:hover{color:var(--text-primary)}.help-modal-tabs{border-bottom:1px solid var(--border-subtle);-webkit-overflow-scrolling:touch;flex-shrink:0;gap:0;padding:12px 20px 0;display:flex;overflow-x:auto}.help-modal-tab{color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;padding:8px 14px;font-size:13px;transition:color .15s,border-color .15s}.help-modal-tab:hover{color:var(--text-primary)}.help-modal-tab--active{color:var(--text-primary);border-bottom-color:var(--accent-ui)}.help-modal-content{min-height:0;color:var(--text-primary);padding:16px 20px 20px;font-size:13px;line-height:1.6;overflow-y:auto}.help-section-title{color:var(--text-primary);margin:16px 0 6px;font-size:14px;font-weight:600}.help-section-title:first-child{margin-top:0}.help-text{color:var(--text-primary);margin:0 0 12px;line-height:1.6}.help-text--subtle{color:var(--text-secondary);font-style:italic}.help-dl{margin:0 0 12px;padding:0}.help-dl dt{color:var(--text-primary);margin:10px 0 2px;font-weight:600}.help-dl dt:first-child{margin-top:0}.help-dl dd{color:var(--text-secondary);margin:0 0 0 16px}.help-kbd{background:var(--surface-input);border:1px solid var(--border-subtle);color:var(--text-primary);border-radius:3px;padding:1px 6px;font-family:monospace;font-size:12px;display:inline-block}.help-link{color:var(--accent-ui);text-decoration:none}.help-link:hover{text-decoration:underline}.help-shortcuts-table{border-collapse:collapse;width:100%}.help-shortcuts-table td{border-bottom:1px solid var(--border-subtle);padding:6px 8px;font-size:13px}.help-shortcuts-table td:first-child{white-space:nowrap;width:45%}.help-shortcuts-table td:last-child{color:var(--text-secondary)}.group-bounds-rect{fill:var(--group-fill);stroke:var(--group-stroke);stroke-width:1.5px;stroke-dasharray:6 4}.context-menu{z-index:100;background:var(--surface-elevated);border:1px solid var(--border-medium);border-radius:6px;min-width:160px;padding:4px 0;position:fixed;box-shadow:0 4px 16px #0000004d}.context-menu-item{width:100%;color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;gap:16px;padding:6px 12px;font-size:13px;display:flex}.context-menu-item:hover:not(:disabled){background:var(--accent-ui-soft)}.context-menu-item--disabled{opacity:.4;cursor:default}.context-menu-shortcut{color:var(--text-tertiary);font-size:11px}.onboarding-overlay{z-index:10000;background:#000000a6;transition:clip-path .35s cubic-bezier(.4,0,.2,1);position:fixed;inset:0}.onboarding-highlight{z-index:10000;border:2px solid var(--accent-perceptron,#a78bfa);pointer-events:none;border-radius:10px;transition:top .35s cubic-bezier(.4,0,.2,1),left .35s cubic-bezier(.4,0,.2,1),width .35s cubic-bezier(.4,0,.2,1),height .35s cubic-bezier(.4,0,.2,1);position:fixed;box-shadow:0 0 0 2px #a78bfa4d,0 0 16px #a78bfa33}.onboarding-card{z-index:10001;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);max-width:340px;color:var(--text-primary);background:#1e1e30f7;border:1px solid #ffffff26;border-radius:12px;padding:20px;transition:top .35s cubic-bezier(.4,0,.2,1),left .35s cubic-bezier(.4,0,.2,1);position:fixed;box-shadow:0 8px 32px #00000080,0 0 0 1px #ffffff0d}[data-theme=light] .onboarding-card{background:var(--surface-elevated);-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:var(--shadow-panel), 0 8px 32px #0000001f}.onboarding-card__close{width:24px;height:24px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;font-size:18px;line-height:1;display:flex;position:absolute;top:8px;right:8px}.onboarding-card__close:hover{background:var(--surface-hover,#ffffff1a);color:var(--text-primary)}.onboarding-card__title{margin:0 0 8px;font-size:16px;font-weight:700;line-height:1.3}.onboarding-card__body{color:var(--text-secondary);margin:0 0 16px;font-size:13px;line-height:1.5}.onboarding-card__shortcut-table{border-collapse:collapse;width:100%;margin:0 0 16px;font-size:12px}.onboarding-card__shortcut-table td{vertical-align:middle;padding:4px 8px 4px 0}.onboarding-card__shortcut-table td:first-child{white-space:nowrap;color:var(--text-primary)}.onboarding-card__shortcut-table td:last-child{color:var(--text-secondary)}.onboarding-card__actions{justify-content:space-between;align-items:center;gap:8px;display:flex}.onboarding-card__skip{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 8px;font-size:12px}.onboarding-card__skip:hover{color:var(--text-primary);background:var(--surface-hover,#ffffff1a)}.onboarding-card__back{color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #ffffff26;border-radius:6px;padding:6px 12px;font-size:13px;transition:color .15s,border-color .15s,background .15s}.onboarding-card__back:hover{color:var(--text-primary);background:#ffffff0d;border-color:#ffffff4d}[data-theme=light] .onboarding-card__back{border-color:var(--border-medium)}[data-theme=light] .onboarding-card__back:hover{border-color:var(--text-secondary);background:#0000000a}.onboarding-card__dots{align-items:center;gap:6px;display:flex}.onboarding-card__dot{cursor:pointer;background:#fff3;border:none;border-radius:50%;width:8px;height:8px;padding:0;transition:background .2s,transform .2s}.onboarding-card__dot:hover{background:#fff6}[data-theme=light] .onboarding-card__dot{background:var(--border-medium)}[data-theme=light] .onboarding-card__dot:hover{background:var(--text-secondary)}.onboarding-card__dot--active{background:var(--accent-perceptron,#a78bfa);transform:scale(1.3)}.onboarding-card__dot--active:hover{background:var(--accent-perceptron,#a78bfa)}.onboarding-card__next{background:var(--accent-perceptron,#a78bfa);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:6px 16px;font-size:13px;font-weight:600;transition:filter .15s}.onboarding-card__next:hover{filter:brightness(1.15)}.onboarding-card__dismiss{color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;margin-top:12px;font-size:11px;display:flex}.onboarding-card__dismiss input[type=checkbox]{accent-color:var(--accent-perceptron,#a78bfa)}.onboarding-card__arrow{width:0;height:0;position:absolute}.onboarding-card__arrow--top{border-bottom:8px solid #1e1e30f7;border-left:8px solid #0000;border-right:8px solid #0000;top:-8px;left:50%;transform:translate(-50%)}.onboarding-card__arrow--bottom{border-top:8px solid #1e1e30f7;border-left:8px solid #0000;border-right:8px solid #0000;bottom:-8px;left:50%;transform:translate(-50%)}.onboarding-card__arrow--left{border-top:8px solid #0000;border-bottom:8px solid #0000;border-right:8px solid #1e1e30f7;top:50%;left:-8px;transform:translateY(-50%)}.onboarding-card__arrow--right{border-top:8px solid #0000;border-bottom:8px solid #0000;border-left:8px solid #1e1e30f7;top:50%;right:-8px;transform:translateY(-50%)}[data-theme=light] .onboarding-card__arrow--top{border-bottom-color:var(--surface-elevated)}[data-theme=light] .onboarding-card__arrow--bottom{border-top-color:var(--surface-elevated)}[data-theme=light] .onboarding-card__arrow--left{border-right-color:var(--surface-elevated)}[data-theme=light] .onboarding-card__arrow--right{border-left-color:var(--surface-elevated)}@keyframes onboarding-pulse{0%,to{box-shadow:0 0 #a78bfa80}50%{box-shadow:0 0 0 8px #a78bfa00}}.onboarding-help-pulse{border-radius:6px;animation:.6s ease-in-out 2 onboarding-pulse}.onboarding-help-toast{z-index:10002;background:var(--surface-overlay);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--border-subtle);color:var(--text-secondary);white-space:nowrap;pointer-events:none;border-radius:8px;padding:8px 14px;font-size:12px;animation:3s ease-in-out forwards onboarding-toast;position:fixed}[data-theme=light] .onboarding-help-toast{background:var(--surface-elevated);-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:var(--shadow-panel)}@keyframes onboarding-toast{0%{opacity:0;transform:translateY(-4px)}15%{opacity:1;transform:translateY(0)}75%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-4px)}}
