@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/04c5164763c40239-s.690580e8.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/26f284dcc38c84c0-s.303a03d6.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/7e7f32a39836f228-s.0b4edfe7.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/fa39153a3fc630ba-s.bff0868b.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/6a5386fd6038edbe-s.719084df.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/051742360c26797e-s.p.102b7f24.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/04c5164763c40239-s.690580e8.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/26f284dcc38c84c0-s.303a03d6.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/7e7f32a39836f228-s.0b4edfe7.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/fa39153a3fc630ba-s.bff0868b.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/6a5386fd6038edbe-s.719084df.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/051742360c26797e-s.p.102b7f24.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/04c5164763c40239-s.690580e8.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/26f284dcc38c84c0-s.303a03d6.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/7e7f32a39836f228-s.0b4edfe7.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/fa39153a3fc630ba-s.bff0868b.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/6a5386fd6038edbe-s.719084df.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/051742360c26797e-s.p.102b7f24.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_84878daf-module__vGFUOa__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_84878daf-module__vGFUOa__variable{--font-mono:"JetBrains Mono","JetBrains Mono Fallback"}
@font-face{font-family:Orbitron;font-style:normal;font-weight:500;font-display:swap;src:url(../media/0acc7fdf55eb3220-s.p.532ccaa1.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Orbitron;font-style:normal;font-weight:700;font-display:swap;src:url(../media/0acc7fdf55eb3220-s.p.532ccaa1.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Orbitron Fallback;src:local(Arial);ascent-override:81.5%;descent-override:19.59%;line-gap-override:0.0%;size-adjust:124.05%}.orbitron_46d0c594-module__QlTHrW__className{font-family:Orbitron,Orbitron Fallback;font-style:normal}.orbitron_46d0c594-module__QlTHrW__variable{--font-display:"Orbitron","Orbitron Fallback"}
:root{--bg-primary:#0a0e14;--bg-secondary:#0f1419;--bg-tertiary:#151c24;--bg-grid:#3250781f;--signal-high:#0f8;--signal-low:#345;--signal-glow:#00ff8880;--component-stroke:#4a9eff;--component-fill:#0a1428f2;--component-selected:#0ff;--component-hover:#5ab0ff;--text-primary:#e0e8f0;--text-secondary:#6a7a8a;--text-muted:#3a4a5a;--accent:#4a9eff;--accent-glow:#4a9eff4d;--border:#4a9eff33}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{background:var(--bg-primary);color:var(--text-primary)}.app{height:100vh;display:flex;overflow:hidden}.main-area{flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.toolbar{z-index:10;background:var(--bg-secondary);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px 16px;min-height:48px;padding:8px 16px;display:flex;position:relative}.circuit-selector{align-items:center;gap:10px;display:flex;position:relative}.circuit-selector-label{letter-spacing:2px;color:var(--text-secondary);font-family:Orbitron,sans-serif;font-size:10px;font-weight:600}.circuit-selector-trigger{background:var(--bg-primary);border:1px solid var(--border);cursor:pointer;border-radius:4px;align-items:center;gap:8px;min-width:160px;padding:6px 12px;transition:all .15s;display:flex}.circuit-selector-trigger:hover{border-color:var(--accent);box-shadow:0 0 8px var(--accent-glow)}.circuit-selector-trigger.open{border-color:var(--component-selected);box-shadow:0 0 12px #0ff3}.circuit-selector-value{color:var(--text-primary);text-align:left;flex:1;font-family:JetBrains Mono,monospace;font-size:12px}.circuit-selector-chevron{width:14px;height:14px;color:var(--text-secondary);transition:transform .15s}.circuit-selector-trigger.open .circuit-selector-chevron{transform:rotate(180deg)}.circuit-selector-dropdown{background:var(--bg-secondary);border:1px solid var(--border);z-index:100;border-radius:4px;min-width:160px;padding:4px;position:absolute;top:calc(100% + 4px);left:46px;overflow-y:auto;box-shadow:0 4px 20px #00000080}.circuit-selector-option{cursor:pointer;width:100%;color:var(--text-primary);text-align:left;background:0 0;border:none;border-radius:3px;align-items:center;gap:8px;padding:8px 10px;font-family:JetBrains Mono,monospace;font-size:12px;transition:all .1s;display:flex}.circuit-selector-option:hover{background:var(--bg-tertiary)}.circuit-selector-option.selected{color:var(--component-selected)}.circuit-option-indicator{background:var(--signal-low);border-radius:50%;width:6px;height:6px;transition:all .15s}.circuit-selector-option:hover .circuit-option-indicator{background:var(--accent);box-shadow:0 0 6px var(--accent-glow)}.circuit-selector-option.selected .circuit-option-indicator{background:var(--component-selected);box-shadow:0 0 8px #00ffff80}.circuit-option-name{text-align:left;flex:1}.circuit-option-delete{cursor:pointer;width:18px;height:18px;color:var(--text-muted);opacity:0;background:0 0;border:none;border-radius:3px;padding:2px;transition:all .1s}.circuit-selector-option:hover .circuit-option-delete{opacity:1}.circuit-option-delete:hover{color:#ff6b6b;background:#ff6b6b1a}.circuit-option-delete svg{width:100%;height:100%}.circuit-selector-group-label{text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);padding:6px 10px 4px;font-size:9px;font-weight:600}.circuit-selector-divider{background:var(--border);height:1px;margin:4px 0}.circuit-selector-trigger.unsaved{border-color:#fa4;box-shadow:0 0 12px #ffaa444d}.circuit-selector-value.unsaved-glow{color:#fa4;animation:2s ease-in-out infinite unsavedTextGlow}@keyframes unsavedTextGlow{0%,to{text-shadow:0 0 4px #fa46}50%{text-shadow:0 0 12px #fa4c,0 0 20px #fa46}}.unsaved-changes-indicator{color:#fa4;pointer-events:none;opacity:.85;background:#0009;border-radius:12px;align-items:center;gap:6px;padding:4px 10px;font-size:11px;display:flex;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.unsaved-changes-dot{background:#fa4;border-radius:50%;width:6px;height:6px;animation:1.5s ease-in-out infinite unsavedDotPulse}.toolbar-btn{background:var(--bg-primary);border:1px solid var(--border);cursor:pointer;color:var(--text-primary);word-break:keep-all;overflow-wrap:normal;border-radius:4px;flex-shrink:0;align-items:center;gap:6px;min-width:max-content;padding:6px 12px;font-family:JetBrains Mono,monospace;font-size:12px;transition:all .15s;display:flex;white-space:nowrap!important}.toolbar-btn:hover{border-color:var(--accent);box-shadow:0 0 8px var(--accent-glow)}.toolbar-btn-active{border-color:var(--accent);background:#4a9eff26}.toolbar-btn-active .toolbar-btn-icon{color:var(--accent)}.toolbar-btn-text{display:inline-block;white-space:nowrap!important}.toolbar-btn-icon{width:16px;height:16px;color:var(--accent)}.toolbar-btn-icon-only{min-width:auto;padding:6px 8px}.toolbar-btn-icon-only .toolbar-btn-icon{margin:0}.toolbar-divider{background:var(--border);width:1px;height:24px;margin:0 4px}.toolbar-btn.has-notes{border-color:#ffc86466}.toolbar-btn.has-notes .toolbar-btn-icon{color:#fc6}.dialog-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dialog{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;width:320px;padding:24px;box-shadow:0 8px 32px #00000080}.dialog-title{letter-spacing:2px;color:var(--text-primary);margin-bottom:16px;font-family:Orbitron,sans-serif;font-size:14px;font-weight:600}.dialog-input{background:var(--bg-primary);border:1px solid var(--border);width:100%;color:var(--text-primary);border-radius:4px;outline:none;padding:10px 12px;font-family:JetBrains Mono,monospace;font-size:13px;transition:all .15s}.dialog-input:focus{border-color:var(--accent);box-shadow:0 0 8px var(--accent-glow)}.dialog-input::placeholder{color:var(--text-muted)}.dialog-actions{justify-content:flex-end;gap:8px;margin-top:20px;display:flex}.dialog-btn{cursor:pointer;border-radius:4px;padding:8px 16px;font-family:JetBrains Mono,monospace;font-size:12px;transition:all .15s}.dialog-btn-secondary{border:1px solid var(--border);color:var(--text-secondary);background:0 0}.dialog-btn-secondary:hover{border-color:var(--text-secondary);color:var(--text-primary)}.dialog-btn-primary{background:var(--accent);border:1px solid var(--accent);color:var(--bg-primary);font-weight:600}.dialog-btn-primary:hover:not(:disabled){box-shadow:0 0 12px var(--accent-glow)}.dialog-btn-primary:disabled{opacity:.5;cursor:not-allowed}.toggle-button-group{gap:8px;display:flex}.toggle-button{cursor:pointer;border:1px solid var(--border);color:var(--text-secondary);word-break:keep-all;overflow-wrap:normal;background:0 0;border-radius:4px;flex-shrink:0;min-width:max-content;padding:8px 16px;font-family:JetBrains Mono,monospace;font-size:12px;transition:all .2s;white-space:nowrap!important}.toggle-button:hover{border-color:var(--text-secondary);color:var(--text-primary)}.toggle-button.active{background:var(--accent);border-color:var(--accent);color:var(--bg-primary);font-weight:600}.settings-checkbox-label{cursor:pointer;color:var(--text-primary);align-items:center;gap:10px;font-size:13px;display:flex}.settings-checkbox{width:18px;height:18px;accent-color:var(--accent);cursor:pointer}.logo{color:var(--accent);letter-spacing:4px;text-align:center;border-bottom:1px solid var(--border);text-shadow:0 0 20px var(--accent-glow);padding:8px 0;font-size:24px;font-weight:700}.palette-section h2{text-transform:uppercase;letter-spacing:1.5px;color:var(--text-secondary);margin-bottom:12px;font-size:10px;font-weight:500}.palette-item{cursor:grab;border:1px solid #0000;border-radius:6px;align-items:center;gap:10px;padding:8px 10px;transition:all .15s;display:flex}.palette-item:hover{background:var(--bg-tertiary);border-color:var(--border)}.palette-item:active{cursor:grabbing;transform:scale(.98)}.palette-icon{background:var(--bg-primary);border:1px solid var(--component-stroke);border-radius:4px;justify-content:center;align-items:center;width:36px;height:28px;display:flex}.input-icon,.output-icon{color:var(--signal-low);font-size:14px;font-weight:600}.decimal-icon .gate-svg{width:32px;height:24px;color:var(--accent-blue)}.bit-flipper-icon .gate-svg{color:#9e4aff;width:32px;height:24px}.gate-svg{width:28px;height:20px;color:var(--component-stroke)}.palette-label{color:var(--text-primary);font-size:12px}.help{border-top:1px solid var(--border);margin-top:auto;padding-top:16px}.help ul{color:var(--text-muted);font-size:10px;line-height:1.8;list-style:none}.help li:before{content:">";color:var(--accent);margin-right:6px}.logo-link{text-decoration:none}.learn-section{border-top:1px solid var(--border);padding-top:16px}.learn-link{color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:10px;width:100%;padding:10px 12px;font-size:13px;text-decoration:none;transition:all .15s;display:flex}.learn-link:hover{background:var(--bg-tertiary);border-color:var(--border);color:var(--signal-high)}.learn-icon{width:18px;height:18px;color:var(--accent);flex-shrink:0}.learn-link:hover .learn-icon{color:var(--signal-high)}.coming-soon-toast{background:var(--bg-secondary);border:1px solid var(--accent);color:var(--text-primary);z-index:9999;border-radius:8px;padding:16px 24px;font-size:14px;font-weight:500;animation:.2s toast-fade-in;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 4px 20px #0000004d}@keyframes toast-fade-in{0%{opacity:0;transform:translate(-50%,-50%)scale(.95)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.palette-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:8px;padding-bottom:8px;display:flex}.palette-header .logo-link{flex:1}.palette-header .logo{text-align:left;border-bottom:none;padding-bottom:0}.palette-close-btn{background:var(--bg-tertiary);border:1px solid var(--border);cursor:pointer;width:32px;height:32px;color:var(--text-secondary);border-radius:6px;padding:6px;transition:all .15s;display:none}.palette-close-btn:hover{background:var(--bg-primary);color:var(--accent);border-color:var(--accent)}.palette-close-btn svg{width:100%;height:100%}.drawer-toggle-btn{background:var(--bg-tertiary);border:1px solid var(--border)}.drawer-toggle-btn:hover{background:var(--bg-primary);border-color:var(--accent);color:var(--accent)}.drawer-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:998;background:#0009;position:fixed;inset:0}.palette{background:var(--bg-secondary);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;gap:20px;width:180px;padding:16px;transition:margin-left .25s,transform .25s;display:flex;overflow-y:auto}.palette.palette-closed{margin-left:-180px}@media (max-width:767px){.palette{z-index:999;width:240px;margin-left:0;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%);box-shadow:4px 0 20px #00000080}.palette.palette-open{transform:translate(0)}.palette.palette-closed{margin-left:0;transform:translate(-100%)}.drawer-toggle-divider{display:none}.palette-close-btn{justify-content:center;align-items:center;display:flex}.main-area{width:100%}.toolbar{gap:6px 8px;padding:8px}.toolbar-divider{display:none}.toolbar-btn:not(.toolbar-btn-icon-only){padding:6px 10px;font-size:11px}.toolbar-btn-icon{width:16px;height:16px}.drawer-toggle-btn{background:var(--accent);border-color:var(--accent);color:var(--bg-primary)}.drawer-toggle-btn:hover{background:var(--signal-high);border-color:var(--signal-high);color:var(--bg-primary)}.circuit-selector-trigger{min-width:120px}}@media (max-width:480px){.circuit-selector-trigger{min-width:100px}.circuit-selector-value{white-space:nowrap;text-overflow:ellipsis;max-width:80px;font-size:11px;overflow:hidden}}.canvas-container{background:var(--bg-primary);flex:1;min-height:0;position:relative;overflow:hidden}#circuit-canvas{width:100%;height:100%;display:block}.config-field{margin-bottom:20px}.config-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px;margin-bottom:12px;font-family:JetBrains Mono,monospace;font-size:11px;display:block}.config-input-group{justify-content:center;align-items:center;gap:16px;display:flex}.config-btn{background:var(--bg-primary);border:1px solid var(--border);width:40px;height:40px;color:var(--text-primary);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;font-size:20px;font-weight:500;transition:all .15s;display:flex}.config-btn:hover:not(:disabled){border-color:var(--accent);box-shadow:0 0 10px var(--accent-glow);color:var(--accent)}.config-btn:disabled{opacity:.3;cursor:not-allowed}.config-value{color:var(--accent);text-align:center;min-width:50px;text-shadow:0 0 10px var(--accent-glow);font-family:Orbitron,sans-serif;font-size:28px;font-weight:600}.project-dropdown{align-items:center;gap:10px;display:flex;position:relative}.project-dropdown-trigger{background:var(--bg-primary);border:1px solid var(--border);cursor:pointer;border-radius:4px;align-items:center;gap:8px;min-width:100px;padding:6px 12px;transition:all .15s;display:flex}.project-dropdown-trigger:hover{border-color:var(--accent);box-shadow:0 0 8px var(--accent-glow)}.project-dropdown-trigger.open{border-color:var(--component-selected);box-shadow:0 0 12px #0ff3}.project-dropdown-value{color:var(--text-primary);text-align:left;flex:1;font-family:JetBrains Mono,monospace;font-size:12px}.project-dropdown-chevron{width:14px;height:14px;color:var(--text-secondary);transition:transform .15s}.project-dropdown-trigger.open .project-dropdown-chevron{transform:rotate(180deg)}.project-dropdown-menu{background:var(--bg-secondary);border:1px solid var(--border);z-index:100;border-radius:4px;min-width:160px;padding:4px;position:absolute;top:calc(100% + 4px);left:52px;box-shadow:0 4px 20px #00000080}.project-dropdown-option{cursor:pointer;width:100%;color:var(--text-primary);text-align:left;background:0 0;border:none;border-radius:3px;align-items:center;gap:10px;padding:8px 10px;font-family:JetBrains Mono,monospace;font-size:12px;transition:all .1s;display:flex}.project-dropdown-option:hover{background:var(--bg-tertiary);color:var(--component-selected)}.project-option-icon{width:16px;height:16px;color:var(--accent)}.project-dropdown-option:hover .project-option-icon{color:var(--component-selected)}.truth-table-dialog{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;flex-direction:column;min-width:400px;max-width:90vw;max-height:80vh;padding:24px;display:flex;box-shadow:0 8px 32px #00000080}.truth-table-container{max-height:60vh;margin-bottom:20px;overflow:auto}.truth-table{border-collapse:collapse;width:100%;font-family:JetBrains Mono,monospace;font-size:13px}.truth-table-header{text-align:center;text-transform:uppercase;letter-spacing:1px;border-bottom:2px solid var(--border);padding:10px 16px;font-size:11px;font-weight:600}.input-header{color:var(--accent)}.output-header{color:var(--signal-high)}.truth-table-separator{width:2px;padding:0}.truth-table-separator-cell{background:var(--border);width:2px;padding:0}.truth-table-cell{text-align:center;border-bottom:1px solid var(--border);padding:8px 16px}.truth-table-cell.high{color:var(--signal-high);text-shadow:0 0 6px var(--signal-glow)}.truth-table-cell.low{color:var(--text-muted)}.truth-table-cell.output-cell.high{background:#00ff880d}.truth-table tbody tr:hover{background:var(--bg-tertiary)}.truth-table-error{text-align:center;color:var(--text-secondary);padding:24px;font-family:JetBrains Mono,monospace;font-size:13px}.truth-table-header-row{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.truth-table-header-row .dialog-title{margin:0}.truth-table-pin-btn{border:1px solid var(--border);width:28px;height:28px;color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:4px;justify-content:center;align-items:center;transition:all .15s;display:flex}.truth-table-pin-btn svg{width:14px;height:14px}.truth-table-pin-btn:hover{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--accent)}.truth-table-pin-btn.pinned{background:var(--accent);color:var(--bg-primary);border-color:var(--accent)}.truth-table-pin-btn.pinned:hover{background:var(--text-primary)}.truth-table-panel{z-index:100;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;flex-direction:column;max-width:400px;max-height:320px;padding:16px;display:flex;position:fixed;bottom:16px;right:16px;box-shadow:0 8px 32px #00000080}.truth-table-panel .truth-table-container{max-height:240px;margin-bottom:0}.truth-table-panel .dialog-title{font-size:12px}.truth-table-panel .truth-table-header{padding:6px 12px;font-size:10px}.truth-table-panel .truth-table-cell{padding:5px 12px;font-size:12px}.truth-table tbody tr.current-row{box-shadow:inset 3px 0 0 var(--accent);background:#4a9eff26}.truth-table tbody tr.current-row:hover{background:#4a9eff33}.context-menu{background:var(--bg-secondary);border:1px solid var(--border);z-index:1000;border-radius:6px;min-width:140px;padding:4px;animation:.1s ease-out contextMenuFadeIn;position:fixed;box-shadow:0 4px 24px #0009,0 0 1px #4a9eff4d}@keyframes contextMenuFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.context-menu-item{cursor:pointer;width:100%;color:var(--text-primary);text-align:left;background:0 0;border:none;border-radius:4px;align-items:center;gap:10px;padding:8px 12px;font-family:JetBrains Mono,monospace;font-size:12px;transition:all .1s;display:flex}.context-menu-item:hover{background:var(--bg-tertiary);color:var(--component-selected)}.context-menu-item.danger:hover{color:#ff6b6b;background:#ff6b6b1a}.context-menu-icon{width:16px;height:16px;color:var(--accent);flex-shrink:0}.context-menu-item:hover .context-menu-icon{color:var(--component-selected)}.context-menu-item.danger:hover .context-menu-icon{color:#ff6b6b}.context-menu-label{flex:1}.context-menu-shortcut{background:var(--bg-primary);border:1px solid var(--border);color:var(--text-muted);border-radius:3px;margin-left:12px;padding:2px 5px;font-family:JetBrains Mono,monospace;font-size:9px}.gate-settings-dialog{min-width:300px}.settings-field{margin-bottom:20px}.settings-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px;margin-bottom:10px;font-family:JetBrains Mono,monospace;font-size:11px;display:block}.settings-input-wrapper{align-items:center;display:flex;position:relative}.settings-input-wrapper .dialog-input{padding-right:36px}.settings-clear-btn{background:var(--bg-tertiary);width:20px;height:20px;color:var(--text-muted);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:all .15s;display:flex;position:absolute;right:8px}.settings-clear-btn svg{width:10px;height:10px}.settings-clear-btn:hover{background:var(--border);color:var(--text-primary)}.settings-hint{color:var(--text-muted);margin-top:10px;font-family:JetBrains Mono,monospace;font-size:11px}.settings-error{color:#ff6b6b;margin-top:8px;font-family:JetBrains Mono,monospace;font-size:11px}.input-error{border-color:#ff6b6b!important}.decimal-input-dialog{min-width:340px;position:relative}.dialog-close-btn{background:var(--bg-tertiary);border:1px solid var(--border);width:28px;height:28px;color:var(--text-muted);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;padding:0;transition:all .15s;display:flex;position:absolute;top:16px;right:16px}.dialog-close-btn svg{width:12px;height:12px}.dialog-close-btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--text-muted)}.bit-width-selector{gap:8px;display:flex}.bit-width-btn{background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;word-break:keep-all;overflow-wrap:normal;border-radius:6px;flex:1 0;min-width:max-content;padding:10px 12px;font-family:JetBrains Mono,monospace;font-size:13px;font-weight:500;transition:all .15s;white-space:nowrap!important}.bit-width-btn:hover{background:var(--bg-hover);border-color:var(--text-muted)}.bit-width-btn.active{background:var(--accent-blue);border-color:var(--accent-blue);color:#fff}.bit-width-slider-container{align-items:center;gap:12px;display:flex}.bit-width-slider{appearance:none;background:var(--bg-tertiary);cursor:pointer;border-radius:3px;outline:none;flex:1;height:6px}.bit-width-slider::-webkit-slider-thumb{appearance:none;background:var(--accent-blue);cursor:pointer;border-radius:50%;width:18px;height:18px;transition:background .2s}.bit-width-slider::-webkit-slider-thumb:hover{background:var(--accent-blue-hover,#4da6ff)}.bit-width-slider::-moz-range-thumb{background:var(--accent-blue);cursor:pointer;border:none;border-radius:50%;width:18px;height:18px;transition:background .2s}.bit-width-slider::-moz-range-thumb:hover{background:var(--accent-blue-hover,#4da6ff)}.bit-width-number-input{background:var(--bg-tertiary);border:1px solid var(--border);width:60px;color:var(--text-primary);text-align:center;-moz-appearance:textfield;border-radius:6px;padding:8px 10px;font-family:JetBrains Mono,monospace;font-size:14px}.bit-width-number-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.bit-width-number-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.bit-width-number-input:focus{border-color:var(--accent-blue);outline:none}.binary-preview{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:20px;padding:16px;display:flex}.binary-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;font-family:JetBrains Mono,monospace;font-size:11px}.binary-value{color:var(--signal-high);letter-spacing:2px;font-family:JetBrains Mono,monospace;font-size:16px;font-weight:600}.confirm-dialog{min-width:320px}.dialog-message{color:var(--text-secondary);margin-bottom:24px;font-family:Inter,sans-serif;font-size:14px;line-height:1.5}.calculator-dialog{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;min-width:340px;padding:28px;animation:.2s ease-out dialogSlideIn;box-shadow:0 8px 40px #0009,0 0 1px #00ffff4d,inset 0 1px #ffffff08}.calculator-header-row{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.calculator-header-row .dialog-title{align-items:center;gap:10px;display:flex}.calculator-title-icon{width:18px;height:18px;color:var(--accent);opacity:.8}.calculator-pin-btn{background:var(--bg-tertiary);border:1px solid var(--border);width:28px;height:28px;color:var(--text-muted);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;transition:all .15s;display:flex}.calculator-pin-btn svg{width:14px;height:14px}.calculator-pin-btn:hover{background:var(--bg-primary);color:var(--accent);border-color:var(--accent)}.calculator-pin-btn.pinned{color:var(--accent);border-color:var(--accent);background:#4a9eff26}.calculator-fields{flex-direction:column;gap:0;display:flex}.calculator-field{position:relative}.calculator-label{justify-content:space-between;align-items:baseline;margin-bottom:10px;display:flex}.calculator-label-text{letter-spacing:3px;color:var(--text-secondary);font-family:Orbitron,sans-serif;font-size:10px;font-weight:600}.calculator-label-hint{color:var(--text-muted);opacity:.6;font-family:JetBrains Mono,monospace;font-size:9px}.calculator-input-wrapper{position:relative}.calculator-input{background:var(--bg-primary);border:1px solid var(--border);width:100%;color:var(--signal-high);box-sizing:border-box;border-radius:8px;outline:none;padding:14px 16px;font-family:JetBrains Mono,monospace;font-size:20px;font-weight:500;transition:all .2s}.calculator-input::placeholder{color:var(--text-muted);opacity:.4}.calculator-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #4a9eff1a,0 0 20px #00ffff1a}.calculator-input.active{color:var(--signal-high);text-shadow:0 0 12px var(--signal-glow)}.calculator-input.error{border-color:#ff6b6b;box-shadow:0 0 12px #ff6b6b33}.calculator-input.binary-input{letter-spacing:2px;font-size:18px}.calculator-input-glow{pointer-events:none;opacity:0;background:radial-gradient(#00ffff1a 0%,#0000 70%);border-radius:8px;transition:opacity .3s;position:absolute;inset:0}.calculator-input:focus+.calculator-input-glow{opacity:1}.calculator-divider{align-items:center;gap:12px;padding:16px 0;display:flex}.calculator-divider-line{background:linear-gradient(90deg,transparent,var(--border),transparent);flex:1;height:1px}.calculator-divider-icon{width:24px;height:24px;color:var(--accent);opacity:.5;animation:2s ease-in-out infinite calculatorPulse}.calculator-divider-icon svg{width:100%;height:100%}@keyframes calculatorPulse{0%,to{opacity:.3}50%{opacity:.7}}.calculator-error{color:#ff6b6b;background:#ff6b6b1a;border:1px solid #ff6b6b4d;border-radius:6px;align-items:center;gap:8px;margin-top:16px;padding:10px 14px;font-family:JetBrains Mono,monospace;font-size:11px;display:flex}.calculator-error svg{flex-shrink:0;width:14px;height:14px}.calculator-info{border-top:1px solid var(--border);gap:24px;margin-top:20px;padding-top:16px;display:flex}.calculator-info-item{align-items:baseline;gap:8px;display:flex}.calculator-info-label{letter-spacing:2px;color:var(--text-muted);font-family:Orbitron,sans-serif;font-size:9px;font-weight:600}.calculator-info-value{color:var(--accent);text-shadow:0 0 8px var(--accent-glow);font-family:JetBrains Mono,monospace;font-size:13px;font-weight:500}.calculator-info-value.hex-value{color:var(--signal-high);text-shadow:0 0 8px var(--signal-glow)}.calculator-panel{z-index:100;background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;width:280px;padding:20px;animation:.2s ease-out panelSlideIn;position:fixed;right:16px;box-shadow:0 8px 32px #00000080,0 0 1px #00ffff4d}@keyframes panelSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.calculator-panel .dialog-title{font-size:11px}.calculator-panel .calculator-title-icon{width:14px;height:14px}.calculator-panel .calculator-header-row{margin-bottom:16px}.calculator-panel .calculator-label-text{letter-spacing:2px;font-size:9px}.calculator-panel .calculator-label-hint{font-size:8px}.calculator-panel .calculator-input{border-radius:6px;padding:10px 12px;font-size:16px}.calculator-panel .calculator-input.binary-input{letter-spacing:1px;font-size:14px}.calculator-panel .calculator-divider{padding:12px 0}.calculator-panel .calculator-divider-icon{width:18px;height:18px}.calculator-panel .calculator-info{gap:16px;margin-top:14px;padding-top:12px}.calculator-panel .calculator-info-label{font-size:8px}.calculator-panel .calculator-info-value{font-size:11px}.calculator-panel .calculator-error{margin-top:12px;padding:8px 10px;font-size:10px}.calculator-close-btn{cursor:pointer;width:24px;height:24px;color:var(--text-secondary);background:0 0;border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;padding:0;transition:all .15s;display:flex}.calculator-close-btn:hover{color:var(--text-primary);border-color:var(--border);background:#ffffff0d}.calculator-close-btn svg{width:12px;height:12px}.subcircuit-viewer-overlay{z-index:1000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000d9;justify-content:center;align-items:center;animation:.3s ease-out subcircuitOverlayFadeIn;display:flex;position:fixed;inset:0}@keyframes subcircuitOverlayFadeIn{0%{opacity:0;-webkit-backdrop-filter:blur();backdrop-filter:blur()}to{opacity:1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}}.subcircuit-viewer-container{background:linear-gradient(145deg,#0f1419fa,#0a0e14fa);border:1px solid #4a9eff4d;border-radius:16px;flex-direction:column;width:90%;max-width:800px;height:80%;max-height:600px;display:flex;overflow:hidden;box-shadow:0 0 0 1px #00ffff1a,0 24px 80px #000000b3,0 0 60px #4a9eff26,inset 0 1px #ffffff0d}.subcircuit-viewer-header{background:linear-gradient(#4a9eff14 0%,#0000 100%);border-bottom:1px solid #4a9eff33;align-items:center;gap:16px;padding:20px 24px;display:flex}.subcircuit-viewer-chip-icon{width:44px;height:44px;color:var(--component-selected);background:linear-gradient(135deg,#4a9eff26,#00ffff1a);border:1px solid #4a9eff66;border-radius:10px;justify-content:center;align-items:center;animation:3s ease-in-out infinite chipIconPulse;display:flex}@keyframes chipIconPulse{0%,to{box-shadow:0 0 15px #0ff3}50%{box-shadow:0 0 25px #0ff6}}.subcircuit-viewer-chip-icon svg{width:26px;height:26px}.subcircuit-viewer-title-section{flex-direction:column;flex:1;gap:4px;display:flex}.subcircuit-viewer-badge{letter-spacing:3px;color:var(--accent);opacity:.8;font-family:Orbitron,sans-serif;font-size:9px;font-weight:600}.subcircuit-viewer-title{letter-spacing:2px;color:var(--text-primary);text-shadow:0 0 20px #4a9eff4d;margin:0;font-family:Orbitron,sans-serif;font-size:18px;font-weight:700}.subcircuit-viewer-close{width:36px;height:36px;color:var(--text-secondary);cursor:pointer;background:#ffffff08;border:1px solid #ffffff1a;border-radius:8px;justify-content:center;align-items:center;transition:all .2s;display:flex}.subcircuit-viewer-close svg{width:14px;height:14px}.subcircuit-viewer-close:hover{color:#ff6b6b;background:#ff6b6b1a;border-color:#ff6b6b66}.subcircuit-viewer-canvas-wrapper{background:radial-gradient(#4a9eff08 0%,#0000 70%),linear-gradient(#0a0e14cc 0%,#05080ce6 100%);border:1px solid #4a9eff26;border-radius:12px;flex:1;margin:16px;position:relative;overflow:hidden}.subcircuit-viewer-canvas{width:100%;height:100%;display:block}.subcircuit-corner-accent{pointer-events:none;width:20px;height:20px;position:absolute}.subcircuit-corner-accent:before,.subcircuit-corner-accent:after{content:"";background:var(--accent);opacity:.6;position:absolute}.subcircuit-corner-accent.top-left{top:0;left:0}.subcircuit-corner-accent.top-left:before{width:20px;height:2px;top:0;left:0}.subcircuit-corner-accent.top-left:after{width:2px;height:20px;top:0;left:0}.subcircuit-corner-accent.top-right{top:0;right:0}.subcircuit-corner-accent.top-right:before{width:20px;height:2px;top:0;right:0}.subcircuit-corner-accent.top-right:after{width:2px;height:20px;top:0;right:0}.subcircuit-corner-accent.bottom-left{bottom:0;left:0}.subcircuit-corner-accent.bottom-left:before{width:20px;height:2px;bottom:0;left:0}.subcircuit-corner-accent.bottom-left:after{width:2px;height:20px;bottom:0;left:0}.subcircuit-corner-accent.bottom-right{bottom:0;right:0}.subcircuit-corner-accent.bottom-right:before{width:20px;height:2px;bottom:0;right:0}.subcircuit-corner-accent.bottom-right:after{width:2px;height:20px;bottom:0;right:0}.subcircuit-viewer-footer{background:#0000004d;border-top:1px solid #4a9eff26;align-items:center;gap:32px;padding:16px 24px;display:flex}.subcircuit-stat{flex-direction:column;gap:4px;display:flex}.subcircuit-stat-label{letter-spacing:2px;color:var(--text-muted);font-family:Orbitron,sans-serif;font-size:9px;font-weight:600}.subcircuit-stat-value{color:var(--accent);text-shadow:0 0 10px var(--accent-glow);font-family:JetBrains Mono,monospace;font-size:18px;font-weight:600}.subcircuit-current-state{flex-direction:column;align-items:flex-end;gap:6px;margin-left:auto;display:flex}.subcircuit-signal-dots{gap:6px;display:flex}.subcircuit-signal-dot{border-radius:50%;width:12px;height:12px;transition:all .2s}.subcircuit-signal-dot.high{background:var(--signal-high);box-shadow:0 0 12px var(--signal-glow)}.subcircuit-signal-dot.low{background:var(--signal-low);border:1px solid #ffffff1a}.context-menu-divider{background:var(--border);height:1px;margin:4px 0}.subcircuit-editor-overlay{z-index:1001;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#000000e6;justify-content:center;align-items:center;animation:.3s ease-out subcircuitOverlayFadeIn;display:flex;position:fixed;inset:0}.subcircuit-editor-container{background:linear-gradient(145deg,#0f1419fa,#0a0e14fa);border:1px solid #00ff884d;border-radius:16px;flex-direction:column;width:95%;max-width:1200px;height:90%;max-height:800px;animation:.3s ease-out editorSlideIn;display:flex;overflow:hidden;box-shadow:0 0 0 1px #00ff8826,0 24px 80px #000c,0 0 80px #00ff881a,inset 0 1px #ffffff0d}@keyframes editorSlideIn{0%{opacity:0;transform:scale(.95)translateY(20px)}to{opacity:1;transform:scale(1)translateY(0)}}.subcircuit-editor-header{background:linear-gradient(#00ff8814 0%,#0000 100%);border-bottom:1px solid #0f83;align-items:center;gap:16px;padding:16px 24px;display:flex}.subcircuit-editor-chip-icon{width:44px;height:44px;color:var(--signal-high);background:linear-gradient(135deg,#00ff8826,#00c8641a);border:1px solid #0f86;border-radius:10px;justify-content:center;align-items:center;animation:2s ease-in-out infinite editorChipPulse;display:flex}@keyframes editorChipPulse{0%,to{box-shadow:0 0 15px #0f83}50%{box-shadow:0 0 30px #0f86}}.subcircuit-editor-chip-icon svg{width:26px;height:26px}.subcircuit-editor-title-section{flex-direction:column;flex:1;gap:6px;display:flex}.subcircuit-editor-badge{letter-spacing:3px;color:var(--signal-high);opacity:.8;font-family:Orbitron,sans-serif;font-size:9px;font-weight:600}.subcircuit-editor-name-input{letter-spacing:1px;color:var(--text-primary);background:#0000004d;border:1px solid #0f83;border-radius:6px;outline:none;max-width:300px;padding:8px 12px;font-family:Orbitron,sans-serif;font-size:16px;font-weight:600;transition:all .2s}.subcircuit-editor-name-input:focus{border-color:var(--signal-high);box-shadow:0 0 15px #0f83}.subcircuit-editor-name-input::placeholder{color:var(--text-muted)}.subcircuit-editor-actions{gap:10px;display:flex}.subcircuit-editor-btn{cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:10px 18px;font-family:JetBrains Mono,monospace;font-size:12px;font-weight:600;transition:all .2s;display:flex}.subcircuit-editor-btn svg{width:16px;height:16px}.subcircuit-editor-btn.secondary{color:var(--text-secondary);background:#ffffff0d;border:1px solid #ffffff26}.subcircuit-editor-btn.secondary:hover{color:var(--text-primary);background:#ffffff1a;border-color:#ffffff40}.subcircuit-editor-btn.primary{color:var(--signal-high);background:linear-gradient(135deg,#0f83,#00c86426);border:1px solid #00ff8880}.subcircuit-editor-btn.primary:hover:not(:disabled){background:linear-gradient(135deg,#00ff884d,#00c86440);box-shadow:0 0 20px #00ff884d}.subcircuit-editor-btn.primary:disabled{opacity:.4;cursor:not-allowed}.subcircuit-editor-content{flex:1;display:flex;overflow:hidden}.subcircuit-editor-layout-panel{background:#0003;border-left:1px solid #4a9eff26;flex-direction:column;width:260px;padding:16px;display:flex}.subcircuit-editor-palette{background:#0000004d;border-right:1px solid #00ff8826;flex-direction:column;gap:20px;width:140px;padding:16px 12px;display:flex;overflow-y:auto}.subcircuit-palette-section h3{letter-spacing:2px;text-transform:uppercase;color:var(--text-muted);margin-bottom:10px;font-family:Orbitron,sans-serif;font-size:9px;font-weight:600}.subcircuit-palette-item{cursor:grab;border:1px solid #0000;border-radius:6px;align-items:center;gap:10px;padding:8px 10px;transition:all .15s;display:flex}.subcircuit-palette-item:hover{background:#00ff880d;border-color:#0f83}.subcircuit-palette-item:active{cursor:grabbing;transform:scale(.98)}.subcircuit-palette-icon{background:var(--bg-primary);border:1px solid #00ff884d;border-radius:4px;justify-content:center;align-items:center;width:32px;height:24px;display:flex}.subcircuit-palette-icon .io-icon{color:var(--signal-low);font-size:12px;font-weight:600}.subcircuit-palette-icon .gate-svg{color:#00ff88b3;width:24px;height:16px}.subcircuit-palette-label{color:var(--text-primary);font-family:JetBrains Mono,monospace;font-size:11px}.subcircuit-editor-canvas-wrapper{background:radial-gradient(#00ff8805 0%,#0000 70%),linear-gradient(#0a0e14cc 0%,#05080ce6 100%);border:1px solid #00ff8826;border-radius:12px;flex:1;margin:12px 12px 12px 0;position:relative;overflow:hidden}.subcircuit-editor-canvas{width:100%;height:100%;display:block}.subcircuit-editor-footer{background:#0000004d;border-top:1px solid #00ff8826;justify-content:space-between;align-items:center;padding:12px 24px;display:flex}.subcircuit-editor-hint{color:var(--text-muted);font-family:JetBrains Mono,monospace;font-size:11px}.subcircuit-editor-hint kbd{color:var(--signal-high);background:#00ff881a;border:1px solid #0f83;border-radius:4px;margin:0 2px;padding:2px 6px;font-size:10px;display:inline-block}.subcircuit-editor-unsaved{color:#fa0;align-items:center;gap:8px;font-family:JetBrains Mono,monospace;font-size:11px;display:flex}.unsaved-dot{background:#fa0;border-radius:50%;width:8px;height:8px;animation:1.5s ease-in-out infinite unsavedDotPulse}@keyframes unsavedDotPulse{0%,to{opacity:1}50%{opacity:.4}}.subcircuit-viewer-edit-btn{color:var(--signal-high);cursor:pointer;background:linear-gradient(135deg,#00ff8826,#00c8641a);border:1px solid #0f86;border-radius:6px;align-items:center;gap:8px;padding:8px 16px;font-family:JetBrains Mono,monospace;font-size:12px;font-weight:600;transition:all .2s;display:flex}.subcircuit-viewer-edit-btn:hover{background:linear-gradient(135deg,#00ff8840,#00c86433);box-shadow:0 0 15px #00ff884d}.subcircuit-viewer-edit-btn svg{width:14px;height:14px}.subcircuits-section{border-top:1px solid var(--border);margin-top:4px;padding-top:16px}.palette-icon.subcircuit-icon{background:linear-gradient(135deg,#4a9eff1a,#00ffff0d);border-color:#4a9eff66}.palette-icon.subcircuit-icon .gate-svg{color:var(--component-selected)}.create-subcircuit-btn{cursor:pointer;width:100%;color:var(--signal-high);background:linear-gradient(135deg,#00ff8814,#00c8640d);border:1px dashed #0f86;border-radius:6px;align-items:center;gap:8px;margin-top:8px;padding:10px 12px;font-family:JetBrains Mono,monospace;font-size:11px;transition:all .2s;display:flex}.create-subcircuit-btn:hover{background:linear-gradient(135deg,#00ff8826,#00c8641a);border-style:solid;box-shadow:0 0 15px #0f83}.create-subcircuit-btn svg{width:14px;height:14px}.toast-container{z-index:3000;pointer-events:none;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.toast{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-primary);border-radius:8px;align-items:center;gap:10px;padding:12px 20px;font-family:JetBrains Mono,monospace;font-size:13px;animation:.2s ease-out toastSlideIn;display:flex;box-shadow:0 8px 32px #00000080}.toast.success{border-color:#0f86}.toast.success .toast-icon{color:var(--signal-high)}.toast-icon{flex-shrink:0;width:16px;height:16px}.toast-icon svg{width:100%;height:100%}@keyframes toastSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes toastSlideOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(10px)}}.circuit-notes-overlay{z-index:1000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000d9;justify-content:center;align-items:center;animation:.25s ease-out notesOverlayFadeIn;display:flex;position:fixed;inset:0}@keyframes notesOverlayFadeIn{0%{opacity:0;-webkit-backdrop-filter:blur();backdrop-filter:blur()}to{opacity:1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}}.circuit-notes-dialog{background:linear-gradient(165deg,#121820fa,#0c1016fc);border:1px solid #ffc86440;border-radius:12px;flex-direction:column;width:90%;max-width:560px;animation:.3s ease-out notesDialogSlideIn;display:flex;overflow:hidden;box-shadow:0 0 0 1px #ffc8641a,0 24px 80px #000000b3,0 0 60px #ffc86414,inset 0 1px #ffffff0a}@keyframes notesDialogSlideIn{0%{opacity:0;transform:scale(.95)translateY(20px)}to{opacity:1;transform:scale(1)translateY(0)}}.circuit-notes-header{background:linear-gradient(#ffc8640f 0%,#0000 100%);border-bottom:1px solid #ffc86426;justify-content:space-between;align-items:center;padding:18px 20px;display:flex}.circuit-notes-header-left{align-items:center;gap:14px;display:flex}.circuit-notes-icon{color:#fc6;background:linear-gradient(135deg,#ffc8641f,#ffb45014);border:1px solid #ffc86459;border-radius:8px;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.circuit-notes-icon svg{width:22px;height:22px}.circuit-notes-title-section{flex-direction:column;gap:2px;display:flex}.circuit-notes-badge{letter-spacing:2.5px;color:#fc6;opacity:.85;font-family:Orbitron,sans-serif;font-size:9px;font-weight:600}.circuit-notes-title{color:var(--text-primary);margin:0;font-family:JetBrains Mono,monospace;font-size:15px;font-weight:600}.circuit-notes-close{width:32px;height:32px;color:var(--text-secondary);cursor:pointer;background:#ffffff08;border:1px solid #ffffff1a;border-radius:6px;justify-content:center;align-items:center;transition:all .2s;display:flex}.circuit-notes-close svg{width:14px;height:14px}.circuit-notes-close:hover{color:#ff6b6b;background:#ff6b6b1a;border-color:#ff6b6b66}.circuit-notes-content{padding:16px 20px}.circuit-notes-paper{background:linear-gradient(90deg,#0000 23px,#ff646433 23px 24px,#0000 24px) 0 0/100% 100%,#00000040 linear-gradient(#ffc86408 1px,#0000 1px) 0 0/100% 24px;border:1px solid #ffc86426;border-radius:6px;position:relative;overflow:hidden}.circuit-notes-grid-lines{pointer-events:none;background:repeating-linear-gradient(0deg,#0000,#0000 23px,#ffc8640a 23px 24px);position:absolute;inset:0}.circuit-notes-textarea{resize:vertical;width:100%;height:200px;color:var(--text-primary);z-index:1;background:0 0;border:none;outline:none;padding:12px 16px 12px 32px;font-family:JetBrains Mono,monospace;font-size:13px;line-height:24px;position:relative}.circuit-notes-textarea::placeholder{color:var(--text-muted);font-style:italic}.circuit-notes-textarea::-webkit-scrollbar{width:8px}.circuit-notes-textarea::-webkit-scrollbar-track{background:#0003;border-radius:4px}.circuit-notes-textarea::-webkit-scrollbar-thumb{background:#ffc8644d;border-radius:4px}.circuit-notes-textarea::-webkit-scrollbar-thumb:hover{background:#ffc86480}.circuit-notes-footer{background:#0003;border-top:1px solid #ffc8641a;justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.circuit-notes-status{min-height:20px}.circuit-notes-unsaved{color:#fa4;align-items:center;gap:8px;font-family:JetBrains Mono,monospace;font-size:11px;display:flex}.unsaved-indicator{background:#fa4;border-radius:50%;width:7px;height:7px;animation:1.5s ease-in-out infinite unsavedDotPulse}.circuit-notes-actions{gap:10px;display:flex}.circuit-notes-btn{cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:9px 16px;font-family:JetBrains Mono,monospace;font-size:12px;font-weight:500;transition:all .2s;display:flex}.circuit-notes-btn svg{width:14px;height:14px}.circuit-notes-btn.secondary{color:var(--text-secondary);background:#ffffff0a;border:1px solid #ffffff1f}.circuit-notes-btn.secondary:hover{color:var(--text-primary);background:#ffffff14;border-color:#fff3}.circuit-notes-btn.primary{color:#fc6;background:linear-gradient(135deg,#ffc8642e,#ffb4501f);border:1px solid #ffc86466}.circuit-notes-btn.primary:hover:not(:disabled){background:linear-gradient(135deg,#ffc86447,#ffb45033);box-shadow:0 0 18px #ffc86440}.circuit-notes-btn.primary:disabled{opacity:.4;cursor:not-allowed}.circuit-notes-btn.danger{color:#ff6b6b;background:#ff6b6b26;border:1px solid #ff6b6b66}.circuit-notes-btn.danger:hover{background:#ff6b6b40;box-shadow:0 0 12px #ff6b6b33}.circuit-notes-confirm-overlay{background:#000c;border-radius:12px;justify-content:center;align-items:center;animation:.15s ease-out confirmFadeIn;display:flex;position:absolute;inset:0}@keyframes confirmFadeIn{0%{opacity:0}to{opacity:1}}.circuit-notes-confirm{background:var(--bg-secondary);text-align:center;border:1px solid #ff6b6b4d;border-radius:10px;max-width:320px;padding:24px;animation:.2s ease-out confirmSlideIn;box-shadow:0 12px 40px #00000080}@keyframes confirmSlideIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.circuit-notes-confirm-icon{color:#fa4;background:#ffaa441a;border:1px solid #ffaa444d;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;margin:0 auto 16px;display:flex}.circuit-notes-confirm-icon svg{width:24px;height:24px}.circuit-notes-confirm-title{letter-spacing:1px;color:var(--text-primary);margin:0 0 10px;font-family:Orbitron,sans-serif;font-size:14px;font-weight:600}.circuit-notes-confirm-message{color:var(--text-secondary);margin:0 0 20px;font-family:JetBrains Mono,monospace;font-size:12px;line-height:1.5}.circuit-notes-confirm-actions{justify-content:center;gap:10px;display:flex}.confirm-dialog-overlay{z-index:2000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000d9;justify-content:center;align-items:center;animation:.15s ease-out confirmDialogFadeIn;display:flex;position:fixed;inset:0}@keyframes confirmDialogFadeIn{0%{opacity:0}to{opacity:1}}.confirm-dialog{background:var(--bg-secondary);text-align:center;border:1px solid #ffffff1a;border-radius:12px;max-width:360px;padding:28px 32px;animation:.2s ease-out confirmDialogSlideIn;box-shadow:0 0 0 1px #ffffff0d,0 16px 48px #0009,0 0 80px #0000004d}@keyframes confirmDialogSlideIn{0%{opacity:0;transform:scale(.92)translateY(-8px)}to{opacity:1;transform:scale(1)translateY(0)}}.confirm-dialog-icon{border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;margin:0 auto 18px;display:flex}.confirm-dialog-icon.warning{color:#fa4;background:#ffaa441f;border:1px solid #ffaa4459}.confirm-dialog-icon.danger{color:#ff6b6b;background:#ff6b6b1f;border:1px solid #ff6b6b59}.confirm-dialog-icon svg{width:26px;height:26px}.confirm-dialog-title{letter-spacing:.5px;color:var(--text-primary);margin:0 0 12px;font-family:Orbitron,sans-serif;font-size:15px;font-weight:600}.confirm-dialog-message{color:var(--text-secondary);margin:0 0 24px;font-family:JetBrains Mono,monospace;font-size:12px;line-height:1.6}.confirm-dialog-actions{justify-content:center;gap:12px;display:flex}.confirm-dialog-btn{cursor:pointer;word-break:keep-all;overflow-wrap:normal;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;gap:6px;min-width:max-content;padding:10px 20px;font-family:JetBrains Mono,monospace;font-size:12px;font-weight:500;transition:all .2s;display:flex;white-space:nowrap!important}.confirm-dialog-btn.secondary{color:var(--text-secondary);background:#ffffff0a;border:1px solid #ffffff1f}.confirm-dialog-btn.secondary:hover{color:var(--text-primary);background:#ffffff14;border-color:#fff3}.confirm-dialog-btn.primary{color:#fc6;background:linear-gradient(135deg,#ffc8642e,#ffb4501f);border:1px solid #ffc86466}.confirm-dialog-btn.primary:hover{background:linear-gradient(135deg,#ffc86447,#ffb45033);box-shadow:0 0 18px #ffc86440}.confirm-dialog-btn.danger{color:#ff6b6b;background:#ff6b6b26;border:1px solid #ff6b6b66}.confirm-dialog-btn.danger:hover{background:#ff6b6b40;box-shadow:0 0 14px #ff6b6b40}.auth-modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000000e0;justify-content:center;align-items:center;animation:.25s ease-out authOverlayFadeIn;display:flex;position:fixed;inset:0}@keyframes authOverlayFadeIn{0%{opacity:0;-webkit-backdrop-filter:blur();backdrop-filter:blur()}to{opacity:1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}}.auth-modal{background:linear-gradient(165deg,#0e141cfa,#080c12fc);border:1px solid #4a9eff40;border-radius:14px;width:90%;max-width:400px;animation:.3s ease-out authModalSlideIn;position:relative;overflow:hidden;box-shadow:0 0 0 1px #4a9eff1a,0 32px 100px #000c,0 0 80px #4a9eff1a,inset 0 1px #ffffff0a}@keyframes authModalSlideIn{0%{opacity:0;transform:scale(.92)translateY(24px)}to{opacity:1;transform:scale(1)translateY(0)}}.auth-modal-header{background:linear-gradient(#4a9eff0f 0%,#0000 100%);border-bottom:1px solid #4a9eff1f;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.auth-modal-header-left{align-items:center;gap:14px;display:flex}.auth-modal-icon{width:44px;height:44px;color:var(--component-selected);background:linear-gradient(135deg,#4a9eff26,#00ffff14);border:1px solid #4a9eff66;border-radius:10px;justify-content:center;align-items:center;animation:2.5s ease-in-out infinite authIconPulse;display:flex}@keyframes authIconPulse{0%,to{box-shadow:0 0 15px #0ff3}50%{box-shadow:0 0 28px #0ff6}}.auth-modal-icon svg{width:24px;height:24px}.auth-modal-title-section{flex-direction:column;gap:3px;display:flex}.auth-modal-badge{letter-spacing:2.5px;color:var(--accent);opacity:.8;font-family:Orbitron,sans-serif;font-size:9px;font-weight:600}.auth-modal-title{letter-spacing:1px;color:var(--text-primary);margin:0;font-family:Orbitron,sans-serif;font-size:16px;font-weight:600}.auth-modal-close{width:34px;height:34px;color:var(--text-secondary);cursor:pointer;background:#ffffff08;border:1px solid #ffffff1a;border-radius:8px;justify-content:center;align-items:center;transition:all .2s;display:flex}.auth-modal-close svg{width:14px;height:14px}.auth-modal-close:hover{color:#ff6b6b;background:#ff6b6b1f;border-color:#ff6b6b73}.auth-modal-tabs{background:#00000040;border-bottom:1px solid #4a9eff1a;gap:4px;padding:0 24px;display:flex}.auth-modal-tab{color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex:1;justify-content:center;align-items:center;gap:8px;padding:14px 16px;font-family:JetBrains Mono,monospace;font-size:12px;font-weight:500;transition:all .2s;display:flex;position:relative}.auth-modal-tab:after{content:"";background:0 0;height:2px;transition:all .2s;position:absolute;bottom:0;left:0;right:0}.auth-modal-tab:hover{color:var(--text-secondary)}.auth-modal-tab.active{color:var(--accent)}.auth-modal-tab.active:after{background:var(--accent);box-shadow:0 0 12px var(--accent-glow)}.auth-tab-indicator{background:var(--signal-low);border-radius:50%;width:6px;height:6px;transition:all .2s}.auth-modal-tab.active .auth-tab-indicator{background:var(--signal-high);box-shadow:0 0 10px var(--signal-glow)}.auth-modal-form{flex-direction:column;gap:18px;padding:24px;display:flex}.auth-field{flex-direction:column;gap:8px;display:flex}.auth-label{letter-spacing:2px;color:var(--text-secondary);font-family:Orbitron,sans-serif;font-size:10px;font-weight:600}.auth-input-wrapper{position:relative}.auth-input{width:100%;color:var(--text-primary);background:#00000059;border:1px solid #4a9eff33;border-radius:8px;outline:none;padding:13px 16px;font-family:JetBrains Mono,monospace;font-size:14px;transition:all .2s}.auth-input::placeholder{color:var(--text-muted);opacity:.6}.auth-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #4a9eff1a,0 0 20px #4a9eff1a}.auth-input-glow{pointer-events:none;opacity:0;background:radial-gradient(#4a9eff14 0%,#0000 70%);border-radius:8px;transition:opacity .3s;position:absolute;inset:0}.auth-input:focus+.auth-input-glow{opacity:1}.auth-error{color:#ff6b6b;background:#ff6b6b1a;border:1px solid #ff6b6b59;border-radius:8px;align-items:center;gap:10px;padding:12px 14px;font-family:JetBrains Mono,monospace;font-size:12px;animation:.4s ease-out authErrorShake;display:flex}@keyframes authErrorShake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.auth-error svg{flex-shrink:0;width:16px;height:16px}.auth-submit-btn{letter-spacing:1.5px;color:var(--accent);cursor:pointer;background:linear-gradient(135deg,#4a9eff33,#00c8ff1f);border:1px solid #4a9eff80;border-radius:8px;justify-content:center;align-items:center;gap:10px;margin-top:6px;padding:14px 20px;font-family:Orbitron,sans-serif;font-size:12px;font-weight:600;transition:all .25s;display:flex}.auth-submit-btn svg{width:18px;height:18px}.auth-submit-btn:hover:not(:disabled){background:linear-gradient(135deg,#4a9eff4d,#00c8ff33);transform:translateY(-1px);box-shadow:0 0 30px #4a9eff4d}.auth-submit-btn:disabled{opacity:.6;cursor:not-allowed}.auth-spinner{border:2px solid #0000;border-top-color:var(--accent);border-radius:50%;width:16px;height:16px;animation:.8s linear infinite authSpin}@keyframes authSpin{to{transform:rotate(360deg)}}.auth-modal-footer{background:#00000040;border-top:1px solid #4a9eff1a;justify-content:center;align-items:center;gap:8px;padding:16px 24px;display:flex}.auth-footer-text{color:var(--text-muted);font-family:JetBrains Mono,monospace;font-size:12px}.auth-footer-link{color:var(--accent);cursor:pointer;background:0 0;border:none;font-family:JetBrains Mono,monospace;font-size:12px;font-weight:600;transition:all .15s}.auth-footer-link:hover{color:var(--component-selected);text-shadow:0 0 12px var(--accent-glow)}.auth-confirm-overlay{background:#000000d9;border-radius:14px;justify-content:center;align-items:center;animation:.15s ease-out confirmFadeIn;display:flex;position:absolute;inset:0}.auth-confirm{background:var(--bg-secondary);text-align:center;border:1px solid #ffaa4459;border-radius:12px;max-width:300px;padding:28px;animation:.2s ease-out confirmSlideIn;box-shadow:0 16px 50px #0009}.auth-confirm-icon{color:#fa4;background:#ffaa441a;border:1px solid #ffaa4459;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;margin:0 auto 18px;display:flex}.auth-confirm-icon svg{width:26px;height:26px}.auth-confirm-title{letter-spacing:1px;color:var(--text-primary);margin:0 0 10px;font-family:Orbitron,sans-serif;font-size:15px;font-weight:600}.auth-confirm-message{color:var(--text-secondary);margin:0 0 22px;font-family:JetBrains Mono,monospace;font-size:12px;line-height:1.5}.auth-confirm-actions{justify-content:center;gap:10px;display:flex}.auth-confirm-btn{cursor:pointer;border-radius:6px;padding:10px 18px;font-family:JetBrains Mono,monospace;font-size:12px;font-weight:500;transition:all .2s}.auth-confirm-btn.secondary{color:var(--text-secondary);background:#ffffff0d;border:1px solid #ffffff26}.auth-confirm-btn.secondary:hover{color:var(--text-primary);background:#ffffff1a;border-color:#ffffff40}.auth-confirm-btn.danger{color:#ff6b6b;background:#ff6b6b26;border:1px solid #ff6b6b73}.auth-confirm-btn.danger:hover{background:#ff6b6b40;box-shadow:0 0 15px #ff6b6b33}.user-menu{position:relative}.user-menu-trigger{background:var(--bg-primary);border:1px solid var(--border);cursor:pointer;border-radius:6px;align-items:center;gap:10px;padding:5px 12px 5px 6px;transition:all .15s;display:flex}.user-menu-trigger:hover{border-color:var(--accent);box-shadow:0 0 8px var(--accent-glow)}.user-menu-trigger.open{border-color:var(--component-selected);box-shadow:0 0 12px #0ff3}.user-avatar{background:linear-gradient(135deg,#00ff8826,#00c8641a);border:1px solid #0f86;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;display:flex;position:relative}.user-avatar-letter{color:var(--signal-high);text-shadow:0 0 8px var(--signal-glow);font-family:Orbitron,sans-serif;font-size:12px;font-weight:700}.user-status-dot{background:var(--signal-high);border:2px solid var(--bg-primary);width:8px;height:8px;box-shadow:0 0 6px var(--signal-glow);border-radius:50%;position:absolute;bottom:-2px;right:-2px}.user-email{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;max-width:140px;font-family:JetBrains Mono,monospace;font-size:12px;overflow:hidden}.user-menu-chevron{width:14px;height:14px;color:var(--text-secondary);transition:transform .15s}.user-menu-trigger.open .user-menu-chevron{transform:rotate(180deg)}.user-menu-dropdown{background:var(--bg-secondary);border:1px solid var(--border);z-index:100;border-radius:8px;min-width:200px;padding:6px;animation:.15s ease-out userMenuFadeIn;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 8px 32px #00000080}@keyframes userMenuFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.user-menu-header{flex-direction:column;gap:4px;padding:10px 12px;display:flex}.user-menu-label{letter-spacing:2px;color:var(--text-muted);font-family:Orbitron,sans-serif;font-size:9px;font-weight:600}.user-menu-email{color:var(--text-primary);word-break:break-all;font-family:JetBrains Mono,monospace;font-size:12px}.user-menu-divider{background:var(--border);height:1px;margin:4px 0}.user-menu-item{cursor:pointer;width:100%;color:var(--text-primary);text-align:left;background:0 0;border:none;border-radius:5px;align-items:center;gap:10px;padding:10px 12px;font-family:JetBrains Mono,monospace;font-size:12px;transition:all .1s;display:flex}.user-menu-item svg{width:16px;height:16px;color:var(--accent)}.user-menu-item:hover{background:var(--bg-tertiary)}.user-menu-item.danger:hover{color:#ff6b6b;background:#ff6b6b1a}.user-menu-item.danger:hover svg{color:#ff6b6b}.user-menu-signin{border-color:#00ff884d}.user-menu-signin:hover{border-color:var(--signal-high);box-shadow:0 0 12px #0f83}.user-menu-signin .toolbar-btn-icon{color:var(--signal-high)}.chatbot-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1000;background:#00000080;justify-content:flex-end;animation:.2s ease-out chatbot-overlay-in;display:flex;position:fixed;inset:0}@keyframes chatbot-overlay-in{0%{opacity:0}to{opacity:1}}.chatbot-panel{background:linear-gradient(#0c1118 0%,#080c12 100%);border-left:1px solid #4a9eff26;flex-direction:column;width:420px;max-width:100%;height:100%;animation:.25s cubic-bezier(.16,1,.3,1) chatbot-slide-in;display:flex;box-shadow:-20px 0 60px #00000080}@keyframes chatbot-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}.chatbot-pinned-panel{z-index:500;background:linear-gradient(#0c1118 0%,#080c12 100%);border:1px solid #4a9eff33;border-radius:12px;flex-direction:column;width:380px;height:500px;max-height:calc(100vh - 80px);animation:.25s cubic-bezier(.16,1,.3,1) chatbot-pinned-in;display:flex;position:fixed;bottom:16px;right:16px;overflow:hidden;box-shadow:0 8px 32px #0006,0 0 0 1px #4a9eff1a}@keyframes chatbot-pinned-in{0%{opacity:0;transform:translateY(20px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.chatbot-pinned-panel .chatbot-header{border-radius:12px 12px 0 0;padding:12px 16px}.chatbot-pinned-panel .chatbot-title-main{font-size:13px}.chatbot-pinned-panel .chatbot-title-sub{font-size:9px}.chatbot-pinned-panel .chatbot-context{padding:8px 16px}.chatbot-pinned-panel .chatbot-context-text{font-size:11px}.chatbot-pinned-panel .chatbot-messages{padding:12px 16px}.chatbot-pinned-panel .chatbot-message-text{font-size:12px}.chatbot-pinned-panel .chatbot-input-area{padding:12px 16px}.chatbot-pinned-panel .chatbot-input{padding:10px 14px;font-size:12px}.chatbot-pinned-panel .chatbot-welcome h3{font-size:14px}.chatbot-pinned-panel .chatbot-welcome p{font-size:11px}.chatbot-pinned-panel .chatbot-suggestions button{padding:6px 10px;font-size:10px}@media (max-width:480px){.chatbot-pinned-panel{width:calc(100vw - 24px);height:400px;bottom:12px;right:12px}}.chatbot-header{background:#0f141ecc;border-bottom:1px solid #4a9eff1a;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.chatbot-header-left{align-items:center;gap:12px;display:flex}.chatbot-status-indicator{background:var(--signal-high);width:10px;height:10px;box-shadow:0 0 12px var(--signal-high),0 0 4px var(--signal-high);border-radius:50%;animation:2s infinite chatbot-pulse}@keyframes chatbot-pulse{0%,to{opacity:1}50%{opacity:.6}}.chatbot-title{flex-direction:column;gap:2px;display:flex}.chatbot-title-main{color:var(--text-primary);letter-spacing:.5px;font-family:JetBrains Mono,SF Mono,Fira Code,monospace;font-size:14px;font-weight:600}.chatbot-title-sub{color:var(--text-secondary);text-transform:uppercase;letter-spacing:1.5px;font-family:JetBrains Mono,SF Mono,monospace;font-size:10px}.chatbot-header-actions{align-items:center;gap:8px;display:flex}.chatbot-clear-btn,.chatbot-close-btn{width:32px;height:32px;color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;transition:all .15s;display:flex}.chatbot-clear-btn:hover,.chatbot-close-btn:hover{color:var(--text-primary);background:#4a9eff1a;border-color:#4a9eff33}.chatbot-clear-btn svg,.chatbot-close-btn svg,.chatbot-pin-btn svg{width:16px;height:16px}.chatbot-pin-btn{width:32px;height:32px;color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;transition:all .15s;display:flex}.chatbot-pin-btn:hover{color:var(--text-primary);background:#4a9eff1a;border-color:#4a9eff33}.chatbot-pin-btn.pinned{border-color:var(--accent);color:var(--accent);background:#4a9eff26}.chatbot-pin-btn.pinned:hover{background:#4a9eff40}.chatbot-context{background:#4a9eff0d;border-bottom:1px solid #4a9eff1a;align-items:center;gap:10px;padding:10px 20px;display:flex}.chatbot-context-icon{width:18px;height:18px;color:var(--accent);flex-shrink:0}.chatbot-context-text{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;flex:1;font-family:JetBrains Mono,monospace;font-size:11px;overflow:hidden}.chatbot-context-text strong{color:var(--text-primary);font-weight:500}.chatbot-context-live{letter-spacing:1px;color:var(--signal-high);background:#00ff881a;border-radius:4px;padding:3px 8px;font-family:JetBrains Mono,monospace;font-size:9px;font-weight:700;animation:1.5s infinite chatbot-live-pulse}@keyframes chatbot-live-pulse{0%,to{opacity:1}50%{opacity:.7}}.chatbot-messages{flex-direction:column;flex:1;gap:16px;padding:20px;display:flex;overflow-y:auto}.chatbot-messages::-webkit-scrollbar{width:6px}.chatbot-messages::-webkit-scrollbar-track{background:0 0}.chatbot-messages::-webkit-scrollbar-thumb{background:#4a9eff33;border-radius:3px}.chatbot-messages::-webkit-scrollbar-thumb:hover{background:#4a9eff4d}.chatbot-welcome{text-align:center;flex-direction:column;align-items:center;padding:40px 20px;animation:.3s ease-out chatbot-fade-in;display:flex}@keyframes chatbot-fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.chatbot-welcome-icon{background:linear-gradient(135deg,#4a9eff26,#00ff881a);border:1px solid #4a9eff33;border-radius:16px;justify-content:center;align-items:center;width:56px;height:56px;margin-bottom:20px;display:flex}.chatbot-welcome-icon svg{width:28px;height:28px;color:var(--accent)}.chatbot-welcome h3{color:var(--text-primary);margin-bottom:8px;font-family:JetBrains Mono,monospace;font-size:16px;font-weight:600}.chatbot-welcome p{color:var(--text-secondary);max-width:280px;margin-bottom:24px;font-size:13px;line-height:1.5}.chatbot-suggestions{flex-direction:column;gap:8px;width:100%;display:flex}.chatbot-suggestions button{color:var(--text-primary);cursor:pointer;text-align:left;background:#4a9eff0d;border:1px solid #4a9eff26;border-radius:8px;padding:12px 16px;font-family:JetBrains Mono,monospace;font-size:12px;transition:all .15s}.chatbot-suggestions button:hover{background:#4a9eff1a;border-color:#4a9eff4d;transform:translate(4px)}.chatbot-message{gap:12px;animation:.25s ease-out chatbot-message-in;display:flex}@keyframes chatbot-message-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.chatbot-message-avatar{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.chatbot-message-user .chatbot-message-avatar{color:var(--accent);background:#4a9eff26}.chatbot-message-assistant .chatbot-message-avatar{color:var(--signal-high);background:#00ff881a}.chatbot-message-avatar svg{width:16px;height:16px}.chatbot-message-content{flex:1;min-width:0}.chatbot-message-role{text-transform:uppercase;letter-spacing:1px;margin-bottom:6px;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:600;display:block}.chatbot-message-user .chatbot-message-role{color:var(--accent)}.chatbot-message-assistant .chatbot-message-role{color:var(--signal-high)}.chatbot-message-text{color:var(--text-primary);white-space:pre-wrap;word-break:break-word;font-size:13px;line-height:1.6}.chatbot-message-user .chatbot-message-text{background:#4a9eff14;border:1px solid #4a9eff26;border-radius:4px 12px 12px;padding:12px 14px}.chatbot-message-assistant .chatbot-message-text{background:#00ff8808;border:1px solid #00ff881a;border-radius:4px 12px 12px;padding:12px 14px}.chatbot-typing{background:#00ff8808;border:1px solid #00ff881a;border-radius:4px 12px 12px;gap:4px;padding:12px 14px;display:flex}.chatbot-typing span{background:var(--signal-high);border-radius:50%;width:6px;height:6px;animation:1.4s infinite chatbot-typing-dot}.chatbot-typing span:nth-child(2){animation-delay:.2s}.chatbot-typing span:nth-child(3){animation-delay:.4s}@keyframes chatbot-typing-dot{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}.chatbot-input-area{background:#0f141ee6;border-top:1px solid #4a9eff1a;gap:10px;padding:16px 20px;display:flex}.chatbot-input{min-height:44px;max-height:120px;color:var(--text-primary);resize:none;background:#0a0e14cc;border:1px solid #4a9eff26;border-radius:10px;flex:1;padding:12px 16px;font-family:inherit;font-size:13px;transition:all .15s}.chatbot-input::placeholder{color:var(--text-muted)}.chatbot-input:focus{border-color:#4a9eff66;outline:none;box-shadow:0 0 0 3px #4a9eff1a}.chatbot-input:disabled{opacity:.6}.chatbot-send-btn{background:linear-gradient(135deg,var(--accent),#3a8eef);color:#fff;cursor:pointer;border:none;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;transition:all .15s;display:flex}.chatbot-send-btn:hover:not(:disabled){transform:scale(1.05);box-shadow:0 4px 20px #4a9eff66}.chatbot-send-btn:active:not(:disabled){transform:scale(.95)}.chatbot-send-btn:disabled{opacity:.4;cursor:not-allowed}.chatbot-send-btn svg{width:18px;height:18px}.toolbar-btn-chat{position:relative}.toolbar-btn-chat:after{content:"";background:var(--signal-high);width:8px;height:8px;box-shadow:0 0 8px var(--signal-high);border-radius:50%;animation:2s infinite chatbot-pulse;position:absolute;top:6px;right:6px}.toolbar-btn-hdl{background:linear-gradient(var(--bg-secondary),var(--bg-secondary))padding-box,linear-gradient(135deg,#0f8 0%,#4a9eff 50%,#0f8 100%)border-box;z-index:1;background-size:100% 100%,200% 100%;border:2px solid #0000;border-radius:6px;text-decoration:none;animation:3s ease-in-out infinite hdl-btn-pulse,3s linear infinite hdl-border-shift;position:relative;overflow:visible;box-shadow:0 0 15px #0f86,0 0 30px #0f83,0 0 45px #4a9eff1a,inset 0 0 20px #00ff880d}.toolbar-btn-hdl:before{content:"";opacity:.7;z-index:-1;filter:blur(10px);background:linear-gradient(135deg,#0f86 0%,#4a9eff4d 50%,#0f86 100%) 0 0/200% 200%;border-radius:10px;animation:2.5s ease-in-out infinite hdl-glow-ring;position:absolute;inset:-6px}.toolbar-btn-hdl:after{content:"";pointer-events:none;z-index:-2;border:2px solid #00ff884d;border-radius:14px;animation:2s ease-in-out infinite hdl-outer-ring;position:absolute;inset:-10px}.toolbar-btn-hdl .toolbar-btn-icon{color:#0f8;filter:drop-shadow(0 0 6px #0f8c);animation:2s ease-in-out infinite hdl-icon-glow}.toolbar-btn-hdl:hover{background:linear-gradient(#00ff8826,#4a9eff1a) padding-box padding-box,linear-gradient(135deg,#0f8 0%,#4a9eff 50%,#0f8 100%) border-box;transform:translateY(-2px)scale(1.02);box-shadow:0 0 30px #0f89,0 0 60px #00ff884d,0 0 90px #4a9eff33,inset 0 0 30px #00ff881a}.toolbar-btn-hdl:hover:before{opacity:1;filter:blur(14px);inset:-10px}.toolbar-btn-hdl:hover:after{border-color:#00ff8880;inset:-14px}@keyframes hdl-btn-pulse{0%,to{box-shadow:0 0 15px #0f86,0 0 30px #0f83,0 0 45px #4a9eff1a,inset 0 0 20px #00ff880d}50%{box-shadow:0 0 25px #0f89,0 0 50px #00ff8859,0 0 75px #4a9eff33,inset 0 0 25px #00ff8814}}@keyframes hdl-border-shift{0%{background-position:100% 100%,0%}to{background-position:100% 100%,200%}}@keyframes hdl-glow-ring{0%,to{opacity:.5;background-position:0 0}50%{opacity:.8;background-position:100% 100%}}@keyframes hdl-outer-ring{0%,to{opacity:.3;border-color:#00ff884d;transform:scale(1)}50%{opacity:.6;border-color:#4a9eff80;transform:scale(1.03)}}@keyframes hdl-icon-glow{0%,to{filter:drop-shadow(0 0 4px #0f89)}50%{filter:drop-shadow(0 0 8px #0f8)drop-shadow(0 0 12px #4a9eff80)}}.toolbar-btn-badge{letter-spacing:.5px;color:#0a0e14;text-shadow:0 0 1px #0000004d;background:linear-gradient(135deg,#0f8 0%,#4a9eff 100%);border-radius:3px;margin-left:4px;padding:2px 6px;font-size:8px;font-weight:700;animation:2s ease-in-out infinite badge-glow}@keyframes badge-glow{0%,to{box-shadow:0 0 4px #00ff8880}50%{box-shadow:0 0 12px #0f8c,0 0 20px #4a9eff66}}.toolbar-btn-classroom{background:linear-gradient(135deg,#4a9eff14 0%,#00ff880d 100%);border:1px solid #4a9eff40;border-radius:6px;text-decoration:none;transition:all .2s;position:relative}.toolbar-btn-classroom .toolbar-btn-icon{color:#4a9eff;transition:all .2s}.toolbar-btn-classroom:hover{background:linear-gradient(135deg,#4a9eff26 0%,#00ff881a 100%);border-color:#4a9eff80;transform:translateY(-1px);box-shadow:0 0 20px #4a9eff33}.toolbar-btn-classroom:hover .toolbar-btn-icon{color:#0f8;filter:drop-shadow(0 0 4px #0f89)}.app-notice{background:var(--bg-secondary);border:1px solid var(--border);z-index:50;border-radius:8px;align-items:center;gap:12px;padding:10px 14px;font-family:JetBrains Mono,monospace;animation:.3s notice-fade-in;display:flex;position:absolute}@keyframes notice-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.app-notice-icon{width:32px;height:32px;color:var(--accent);background:#4a9eff1a;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.app-notice-content{flex-direction:column;gap:1px;min-width:0;display:flex}.app-notice-label{letter-spacing:1px;color:var(--signal-high);font-size:9px;font-weight:700}.app-notice-title{color:var(--text-primary);font-size:12px;font-weight:600}.app-notice-desc{color:var(--text-secondary);font-size:10px}.app-notice-action{background:var(--accent);color:var(--bg-primary);cursor:pointer;word-break:keep-all;overflow-wrap:normal;border:none;border-radius:5px;flex-shrink:0;align-items:center;gap:4px;min-width:max-content;padding:6px 12px;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:600;text-decoration:none;transition:all .15s;display:flex;white-space:nowrap!important}.app-notice-action:hover{background:var(--component-hover);box-shadow:0 0 12px var(--accent-glow)}.app-notice-close{width:20px;height:20px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:all .15s;display:flex}.app-notice-close:hover{color:#ff6b6b;background:#ff6b6b1a}.hdl-notice{border-color:#4a9eff4d;bottom:20px;left:50%;transform:translate(-50%)}.wip-notice{background:#0f1419fa;border-color:#fa46;animation:.3s wip-fade-in,.5s 4.5s forwards wip-fade-out;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 8px 32px #00000080,0 0 0 1px #ffaa441a}@keyframes wip-fade-in{0%{opacity:0;transform:translate(-50%,-50%)scale(.95)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes wip-fade-out{0%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-50%)scale(.95)}}.wip-notice .wip-icon{color:#fa4;background:#ffaa4426}.wip-notice .wip-title{color:#fa4}@media (max-width:768px){.app-notice{gap:10px;padding:8px 12px}.app-notice-icon{width:28px;height:28px}.app-notice-icon svg{width:16px;height:16px}.app-notice-title{font-size:11px}.app-notice-desc{font-size:9px}.hdl-notice{bottom:12px;left:12px;right:12px;transform:none}.wip-notice{max-width:calc(100% - 24px);top:50%;left:50%;right:auto;transform:translate(-50%,-50%)}}.chatbot-token-usage{background:#ffaa000d;border-bottom:1px solid #ffaa0026;align-items:center;gap:8px;padding:8px 20px;font-family:JetBrains Mono,monospace;font-size:11px;display:flex}.chatbot-token-icon{color:#fa0;flex-shrink:0;width:14px;height:14px}.chatbot-token-label{color:var(--text-secondary)}.chatbot-token-value{color:#fa0;font-weight:600}.chatbot-token-breakdown{color:var(--text-muted);font-size:10px}.chip-layout-editor{background:linear-gradient(#060a12f2,#0a0e14fa);border:1px solid #4a9eff33;border-radius:8px;flex-direction:column;display:flex;overflow:hidden}.chip-layout-header{background:linear-gradient(90deg,#4a9eff14,#0000);border-bottom:1px solid #4a9eff26;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.chip-layout-title{color:var(--accent);text-transform:uppercase;letter-spacing:.5px;align-items:center;gap:8px;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:600;display:flex}.chip-layout-icon{width:16px;height:16px;color:var(--accent)}.chip-layout-reset{width:28px;height:28px;color:var(--text-muted);cursor:pointer;background:#ffffff08;border:1px solid #ffffff1a;border-radius:6px;justify-content:center;align-items:center;transition:all .2s;display:flex}.chip-layout-reset:hover{color:var(--accent);background:#4a9eff1a;border-color:#4a9eff4d}.chip-layout-reset svg{width:14px;height:14px}.chip-layout-canvas{background:radial-gradient(#4a9eff08,#0000);justify-content:center;align-items:center;min-height:200px;padding:24px;display:flex;position:relative}.chip-layout-grid{pointer-events:none;position:absolute;inset:0}.chip-body{background:linear-gradient(145deg,#1a2234,#0d1320);border:2px solid #4a9eff66;border-radius:4px;position:relative;box-shadow:0 8px 32px #0006,inset 0 1px #ffffff0d,0 0 0 1px #00000080}.chip-surface{pointer-events:none;background:linear-gradient(#4a9eff0a,#0000);border:1px solid #4a9eff1a;border-radius:2px;flex-direction:column;justify-content:center;align-items:center;gap:4px;display:flex;position:absolute;inset:6px}.chip-notch{background:var(--bg-secondary);border:1px solid #4a9eff4d;border-top:none;border-radius:0 0 8px 8px;width:16px;height:6px;position:absolute;top:-2px;left:50%;transform:translate(-50%)}.chip-label{color:#4a9effcc;text-transform:uppercase;letter-spacing:1px;text-align:center;text-overflow:ellipsis;white-space:nowrap;max-width:90%;font-family:Orbitron,sans-serif;font-size:11px;font-weight:700;overflow:hidden}.chip-model{color:#4a9eff66;letter-spacing:.5px;font-family:JetBrains Mono,monospace;font-size:8px}.chip-pin{cursor:grab;-webkit-user-select:none;user-select:none;align-items:center;transition:transform .1s;display:flex;position:absolute}.chip-pin:active{cursor:grabbing}.chip-pin-left{flex-direction:row-reverse;transform:translate(-100%)translateY(-50%)}.chip-pin-right{transform:translate(0%)translateY(-50%)}.chip-pin-top{flex-direction:column-reverse;transform:translate(-50%)translateY(-100%)}.chip-pin-bottom{flex-direction:column;transform:translate(-50%)translateY(0%)}.chip-pin-wire{background:linear-gradient(90deg,#4a9eff4d,#4a9eff99)}.chip-pin-left .chip-pin-wire,.chip-pin-right .chip-pin-wire{width:24px;height:2px}.chip-pin-left .chip-pin-wire{background:linear-gradient(90deg,#4a9eff99,#4a9eff4d)}.chip-pin-top .chip-pin-wire,.chip-pin-bottom .chip-pin-wire{background:linear-gradient(#4a9eff99,#4a9eff4d);width:2px;height:24px}.chip-pin-bottom .chip-pin-wire{background:linear-gradient(#4a9eff4d,#4a9eff99)}.chip-pin-connector{background:linear-gradient(145deg,#1a2234,#0d1320);border:1px solid #4a9eff80;border-radius:2px;justify-content:center;align-items:center;width:14px;height:14px;transition:all .15s;display:flex;position:relative}.chip-pin.hovered .chip-pin-connector,.chip-pin.dragging .chip-pin-connector{border-color:var(--accent);box-shadow:0 0 12px #4a9eff66}.chip-pin-dot{background:#4a9eff99;border-radius:50%;width:6px;height:6px;transition:all .15s}.chip-pin.hovered .chip-pin-dot,.chip-pin.dragging .chip-pin-dot{background:var(--accent);box-shadow:0 0 8px var(--accent)}.chip-pin-label{color:var(--text-secondary);white-space:nowrap;padding:0 8px;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:500;transition:color .15s}.chip-pin.hovered .chip-pin-label,.chip-pin.dragging .chip-pin-label{color:var(--accent)}.chip-pin-drag-handle{color:#fff3;opacity:0;justify-content:center;align-items:center;width:14px;height:14px;transition:all .15s;display:flex}.chip-pin.hovered .chip-pin-drag-handle,.chip-pin.dragging .chip-pin-drag-handle{opacity:1;color:#4a9eff99}.chip-pin-drag-handle svg{width:8px;height:12px}.chip-drag-guides{pointer-events:none;position:absolute;inset:0}.chip-drag-guide-line{background:#0f86;position:absolute}.chip-drag-guide-line.horizontal{height:1px;left:0;right:0}.chip-drag-guide-line.vertical{width:1px;top:0;bottom:0}.chip-layout-hint{color:var(--text-muted);text-align:center;background:#0003;border-top:1px solid #4a9eff1a;padding:8px 14px;font-family:JetBrains Mono,monospace;font-size:10px}.pan-mode-indicator{color:#ffffffb3;pointer-events:auto;z-index:100;background:#0a0e14e6;border:1px solid #4a9eff4d;border-radius:6px;align-items:center;gap:4px;padding:6px 10px;font-family:JetBrains Mono,monospace;font-size:11px;display:flex;position:absolute;top:12px;left:50%;transform:translate(-50%)}.pan-mode-label{color:#4a9effe6;font-weight:500}.pan-mode-help-btn{color:#4a9effcc;cursor:pointer;word-break:keep-all;overflow-wrap:normal;background:#4a9eff26;border:1px solid #4a9eff4d;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:16px;min-width:max-content;height:16px;padding:0;font-size:10px;font-weight:600;transition:all .15s;display:flex;white-space:nowrap!important}.pan-mode-help-btn:hover{background:#4a9eff40;border-color:#4a9eff80}.pan-mode-tooltip{color:#fffc;white-space:nowrap;background:#0a0e14f2;border:1px solid #4a9eff4d;border-radius:6px;padding:8px 12px;font-size:11px;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 4px 12px #0000004d}.pan-mode-tooltip:before{content:"";border-bottom:5px solid #4a9eff4d;border-left:5px solid #0000;border-right:5px solid #0000;position:absolute;top:-5px;left:50%;transform:translate(-50%)}
