@import "https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@300;400;500;600&display=swap";:root{--bg-editor:#1e1e1e;--bg-sidebar:#252526;--bg-tabs:#2d2d2d;--bg-tab-active:#1e1e1e;--bg-statusbar:#007acc;--bg-terminal:#1a1a1a;--bg-toolbar:#3c3c3c;--fg-primary:#d4d4d4;--fg-secondary:#858585;--fg-sidebar:#ccc;--fg-statusbar:#fff;--accent-blue:#569cd6;--accent-green:#4ec9b0;--accent-yellow:#dcdcaa;--accent-orange:#ce9178;--accent-purple:#c586c0;--accent-red:#f44747;--accent-teal:#4ec9b0;--border:#3e3e42;--border-active:#007acc;--scrollbar:#424242;--glow-color:transparent;--cursor-color:#aeafad;--font-mono:"JetBrains Mono", "Cascadia Code", "Fira Code", "Consolas", monospace;--font-ui:-apple-system, "Segoe UI", system-ui, sans-serif;--font-size-code:13px;--font-size-ui:12px;--line-height:1.6}body.theme-green{--bg-editor:#0a0f0a;--bg-sidebar:#0d120d;--bg-tabs:#111611;--bg-tab-active:#0a0f0a;--bg-statusbar:#0f4f0f;--bg-terminal:#060b06;--bg-toolbar:#0d160d;--fg-primary:#3f3;--fg-secondary:#1a991a;--fg-sidebar:#26cc26;--fg-statusbar:#3f3;--accent-blue:#0f9;--accent-green:#3f3;--accent-yellow:#cf0;--accent-orange:#80ff40;--accent-purple:#0fc;--accent-red:#f44;--accent-teal:#0f9;--border:#0f2e0f;--border-active:#3f3;--scrollbar:#1a4d1a;--glow-color:#33ff3314;--cursor-color:#3f3}body.theme-blue{--bg-editor:#030a14;--bg-sidebar:#050e1c;--bg-tabs:#071224;--bg-tab-active:#030a14;--bg-statusbar:#002a66;--bg-terminal:#020810;--bg-toolbar:#061020;--fg-primary:#00d4ff;--fg-secondary:#07a;--fg-sidebar:#0ad;--fg-statusbar:#00d4ff;--accent-blue:#00d4ff;--accent-green:#0fa;--accent-yellow:#ffe066;--accent-orange:#f84;--accent-purple:#c6f;--accent-red:#f36;--accent-teal:#0fc;--border:#0a1e33;--border-active:#00d4ff;--scrollbar:#0a2040;--glow-color:#00d4ff12;--cursor-color:#00d4ff}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg-editor);height:100%;color:var(--fg-primary);font-family:var(--font-ui);font-size:var(--font-size-ui);-webkit-user-select:none;user-select:none;overflow:hidden}#app{flex-direction:column;height:100vh;display:flex;overflow:hidden}#toolbar{background:var(--bg-toolbar);border-bottom:1px solid var(--border);z-index:10;flex-shrink:0;align-items:center;gap:6px;height:36px;padding:4px 12px;display:flex}.toolbar-title{color:var(--fg-secondary);letter-spacing:.05em;font-size:11px;font-family:var(--font-mono);margin-right:8px}.toolbar-sep{background:var(--border);width:1px;height:18px;margin:0 4px}.btn{border:1px solid var(--border);color:var(--fg-primary);font-family:var(--font-mono);cursor:pointer;white-space:nowrap;background:0 0;border-radius:3px;padding:3px 10px;font-size:11px;transition:background .15s,border-color .15s,color .15s}.btn:hover{background:var(--border);border-color:var(--border-active);color:var(--fg-statusbar)}.btn.btn-danger:hover{border-color:var(--accent-red);color:var(--accent-red);background:#5a0000}.speed-label{font-family:var(--font-mono);color:var(--fg-secondary);text-align:center;min-width:64px;font-size:11px}#workspace{flex:1;display:flex;overflow:hidden}#sidebar{background:var(--bg-sidebar);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;width:200px;min-width:140px;transition:width .2s;display:flex;overflow:hidden}#sidebar.hidden{border-right:none;width:0}.sidebar-header{letter-spacing:.12em;text-transform:uppercase;color:var(--fg-secondary);border-bottom:1px solid var(--border);flex-shrink:0;padding:8px 12px 6px;font-size:10px}.sidebar-tree{flex:1;padding:4px 0;overflow-y:auto}.tree-item{color:var(--fg-sidebar);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;border-left:2px solid #0000;align-items:center;gap:5px;padding:3px 12px;font-size:12px;transition:background .1s,border-color .1s;display:flex;overflow:hidden}.tree-item:hover{background:#ffffff0a}.tree-item.active{border-left-color:var(--border-active);color:var(--fg-primary);background:#ffffff1a;border-left-width:3px;font-weight:500}.tree-item .icon{flex-shrink:0;font-size:13px}.tree-section{letter-spacing:.1em;text-transform:uppercase;color:var(--fg-secondary);padding:8px 12px 2px;font-size:10px}.tree-folder{color:var(--fg-secondary);align-items:center;gap:4px;padding:3px 8px;font-size:12px;display:flex}#editor-area{flex-direction:column;flex:1;display:flex;overflow:hidden}#tabs{background:var(--bg-tabs);border-bottom:1px solid var(--border);scrollbar-width:none;flex-shrink:0;align-items:stretch;display:flex;overflow-x:auto}#tabs::-webkit-scrollbar{display:none}.tab{height:35px;font-family:var(--font-mono);color:var(--fg-secondary);cursor:pointer;border-right:1px solid var(--border);white-space:nowrap;border-top:2px solid #0000;flex-shrink:0;align-items:center;gap:6px;padding:0 14px;font-size:12px;transition:background .1s,color .15s;display:flex}.tab:hover{color:var(--fg-primary);background:#ffffff0a}.tab.active{background:var(--bg-tab-active);color:var(--fg-primary);border-top-color:var(--border-active);box-shadow:inset 0 -1px 0 var(--bg-tab-active);border-top-width:2px}.tab.active .tab-dot{background:var(--border-active)}.tab .tab-icon{font-size:12px}.tab .tab-dot{background:var(--fg-secondary);border-radius:50%;width:6px;height:6px;margin-left:2px}#editor{background:var(--bg-editor);flex:1;display:flex;position:relative;overflow:hidden}#editor:after{content:"";background:var(--glow-color);pointer-events:none;z-index:0;position:absolute;inset:0}#line-numbers{background:var(--bg-editor);color:var(--fg-secondary);font-family:var(--font-mono);font-size:var(--font-size-code);line-height:var(--line-height);text-align:right;border-right:1px solid var(--border);-webkit-user-select:none;user-select:none;white-space:pre;z-index:1;flex-shrink:0;min-width:48px;padding:16px 12px 16px 8px;overflow:hidden}#code-output{font-family:var(--font-mono);font-size:var(--font-size-code);line-height:var(--line-height);color:var(--fg-primary);white-space:pre;z-index:1;scroll-behavior:smooth;outline:none;flex:1;padding:16px;overflow:auto scroll}#code-output::-webkit-scrollbar{width:8px;height:8px}#code-output::-webkit-scrollbar-track{background:0 0}#code-output::-webkit-scrollbar-thumb{background:var(--scrollbar);border-radius:4px}#cursor{background:var(--cursor-color);vertical-align:text-bottom;width:2px;height:1.15em;box-shadow:0 0 6px var(--cursor-color);margin-left:1px;animation:.9s step-end infinite blink;display:inline-block}@keyframes blink{0%,49%{opacity:1}50%,to{opacity:0}}.c-kw{color:var(--accent-purple)}.c-fn{color:var(--accent-yellow)}.c-str{color:var(--accent-orange)}.c-num{color:var(--accent-green)}.c-cmt{color:var(--fg-secondary);font-style:italic}.c-key{color:var(--accent-blue)}.c-op{color:var(--fg-primary)}.c-cls{color:var(--accent-teal)}#terminal-pane{border-top:1px solid var(--border);background:var(--bg-terminal);flex-direction:column;flex-shrink:0;height:240px;min-height:100px;transition:height .2s;display:flex}#terminal-pane.hidden{border-top:none;height:0;overflow:hidden}.terminal-header{background:var(--bg-sidebar);border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:10px;padding:3px 12px;display:flex}.terminal-header span{color:var(--fg-secondary);letter-spacing:.08em;text-transform:uppercase;font-size:11px}.terminal-header .t-badge{background:var(--bg-terminal);color:var(--accent-green);font-family:var(--font-mono);border-radius:2px;padding:1px 6px;font-size:10px}#terminal-output{font-family:var(--font-mono);white-space:pre-wrap;word-break:break-all;flex:1;padding:8px 14px;font-size:11.5px;line-height:1.5;overflow-y:scroll}#terminal-output::-webkit-scrollbar{width:6px}#terminal-output::-webkit-scrollbar-track{background:0 0}#terminal-output::-webkit-scrollbar-thumb{background:var(--scrollbar);border-radius:3px}.t-line{display:block}.t-info{color:var(--fg-primary)}.t-muted{color:var(--fg-secondary)}.t-warn{color:var(--accent-yellow)}.t-error{color:var(--accent-red)}.t-ok{color:var(--accent-green);font-weight:600}#statusbar{background:var(--bg-statusbar);height:22px;color:var(--fg-statusbar);font-size:11px;font-family:var(--font-mono);flex-shrink:0;justify-content:space-between;align-items:center;padding:0 12px;display:flex}.status-left,.status-right{align-items:center;gap:14px;display:flex}.status-item{opacity:.9;white-space:nowrap}.status-dot{background:var(--accent-green);border-radius:50%;width:7px;height:7px;margin-right:4px;animation:2s ease-in-out infinite pulse-dot;display:inline-block}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.3}}.status-progress{background:#fff3;border-radius:2px;width:80px;height:4px;overflow:hidden}.status-progress-bar{background:#ffffffb3;border-radius:2px;height:100%;animation:4s linear infinite progress-anim}@keyframes progress-anim{0%{width:0%}80%{width:100%}to{width:100%}}#sidebar-resize{cursor:col-resize;background:0 0;flex-shrink:0;width:4px;transition:background .15s}#sidebar-resize:hover{background:var(--border-active)}#panic-overlay{z-index:1000;opacity:0;pointer-events:none;background:#000;flex-direction:column;justify-content:center;align-items:center;transition:opacity .1s;display:flex;position:fixed;inset:0}#panic-overlay.active{opacity:1;pointer-events:all;animation:.15s steps(2,end) infinite panic-flicker}@keyframes panic-flicker{0%{background:#0d0000}50%{background:#1a0000}to{background:#000}}.panic-text{font-family:var(--font-mono);color:#f22;letter-spacing:.1em;text-align:center;text-shadow:0 0 20px red,0 0 40px red;font-size:clamp(18px,4vw,36px);font-weight:700;animation:.2s step-end infinite glitch}@keyframes glitch{0%{transform:translate(0)skew(0)}20%{transform:translate(-3px,2px)skew(2deg)}40%{transform:translate(3px,-2px)skew(-1deg)}60%{transform:translate(-2px)skew(1deg)}80%{transform:translate(2px,2px)skew(-2deg)}to{transform:translate(0)skew(0)}}.panic-sub{font-family:var(--font-mono);color:#a00;letter-spacing:.15em;text-transform:uppercase;margin-top:16px;font-size:clamp(11px,2vw,16px);animation:.6s step-end infinite blink}.panic-bars{gap:4px;margin-top:30px;display:flex}.panic-bar{background:red;border-radius:2px;width:6px;height:40px;animation:.25s ease-in-out infinite alternate bar-anim}.panic-bar:nth-child(2){animation-delay:50ms}.panic-bar:nth-child(3){animation-delay:.1s}.panic-bar:nth-child(4){animation-delay:.15s}.panic-bar:nth-child(5){animation-delay:.2s}.panic-bar:nth-child(6){animation-delay:.25s}.panic-bar:nth-child(7){animation-delay:.3s}@keyframes bar-anim{0%{transform:scaleY(.2)}to{transform:scaleY(1)}}#access-granted{font-family:var(--font-mono);color:var(--accent-green);letter-spacing:.2em;text-shadow:0 0 30px var(--accent-green);pointer-events:none;opacity:0;z-index:900;font-size:28px;font-weight:700;transition:opacity .3s;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}#access-granted.show{opacity:1}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--scrollbar);border-radius:4px}.hidden{display:none!important}body:after{content:"";pointer-events:none;z-index:9999;background:repeating-linear-gradient(0deg,#0000,#0000 3px,#0000000a 3px 4px);position:fixed;inset:0}#editor:before{content:"";background:radial-gradient(ellipse at 60% 30%, var(--glow-color), transparent 70%);pointer-events:none;z-index:0;position:absolute;inset:0}#disclaimer{font-family:var(--font-mono);color:#ffffff26;pointer-events:none;z-index:800;letter-spacing:.04em;font-size:9px;position:fixed;bottom:26px;right:10px}.status-conn{letter-spacing:.06em;font-weight:600}.status-connected{color:#4ec9b0}.status-compiling{color:#dcdcaa;animation:.8s ease-in-out infinite pulse-text}.status-syncing{color:#569cd6;animation:.6s ease-in-out infinite pulse-text}.status-access-granted{color:#4ec9b0;animation:.3s step-end 4 flash-green}@keyframes pulse-text{0%,to{opacity:1}50%{opacity:.5}}@keyframes flash-green{0%,to{color:#4ec9b0}50%{color:#fff}}.toolbar-group{align-items:center;gap:4px;display:flex}#node-panel{background:var(--bg-sidebar);border-left:1px solid var(--border);flex-direction:column;flex-shrink:0;width:280px;min-width:280px;transition:width .2s,min-width .2s,border-width .2s;display:flex;overflow:hidden}#node-panel.hidden{border-left:none;width:0;min-width:0}.panel-header{letter-spacing:.12em;text-transform:uppercase;color:var(--fg-secondary);border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:7px 12px 6px;font-size:10px;display:flex}.panel-close{color:var(--fg-secondary);cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:12px;line-height:1}.panel-close:hover{color:var(--fg-primary)}.panel-section-label{letter-spacing:.14em;text-transform:uppercase;color:var(--fg-secondary);opacity:.6;padding:6px 12px 3px;font-size:9px}.mini-map{border-bottom:1px solid var(--border);background:#0003;flex-shrink:0;width:100%;height:140px}#node-list{flex:1;padding:4px 0 8px;overflow-y:auto}.ns-node{border-bottom:1px solid var(--border);padding:7px 12px 6px;transition:background .15s}.ns-node:hover{background:#ffffff08}.ns-node-header{align-items:center;gap:6px;margin-bottom:5px;display:flex}.ns-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.ns-name{color:var(--fg-primary);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:11px;overflow:hidden}.ns-badge{letter-spacing:.06em;border-radius:3px;flex-shrink:0;padding:1px 5px;font-size:9px}.ns-metrics{grid-template-columns:1fr 1fr 1fr 1fr;gap:3px;display:grid}.ns-metric{flex-direction:column;gap:1px;display:flex}.ns-ml{color:var(--fg-secondary);opacity:.7;letter-spacing:.06em;font-size:8px}.ns-mv{color:var(--accent-green);font-size:10px;font-family:var(--font-mono)}.nmap-line{stroke:var(--accent-green);stroke-width:1px;opacity:.25}.nmap-line-active{opacity:.7;animation:2s ease-in-out infinite nmap-pulse}.nmap-line-warn{stroke:#ce9178;opacity:.9;animation:.6s ease-in-out infinite nmap-pulse}@keyframes nmap-pulse{0%,to{opacity:.7}50%{opacity:.25}}.nmap-node{stroke-width:1.5px;stroke:currentColor}.nmap-label{fill:var(--fg-secondary);text-anchor:middle;font-size:9px;font-family:var(--font-mono)}.nmap-status{fill:var(--fg-secondary);text-anchor:middle;font-family:var(--font-mono);opacity:.7}.big-nodemap{width:100%;height:100%;display:block}.term-tabs{background:var(--bg-sidebar);border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:0;height:30px;padding:0 8px;display:flex}.term-tab{letter-spacing:.08em;color:var(--fg-secondary);cursor:pointer;white-space:nowrap;border-bottom:2px solid #0000;align-items:center;height:100%;padding:0 14px;font-size:10px;transition:color .15s,border-color .15s;display:flex}.term-tab:hover{color:var(--fg-primary)}.term-tab.active{color:var(--fg-primary);border-bottom-color:var(--border-active)}.term-tabs-spacer{flex:1}.t-badge{color:var(--fg-secondary);padding:0 6px;font-size:10px}.t-badge-ok{color:var(--accent-green)}.term-content{flex:1;height:100%;display:none;overflow:auto}.term-content.active{flex-direction:column;display:flex}#term-terminal{overflow:hidden}#term-nodemap{padding:0}#term-processes{padding:0;overflow:auto}#term-security{overflow:hidden}#sec-output{font-family:var(--font-mono);flex:1;padding:4px 0;font-size:12px;overflow-y:auto}.proc-table{border-collapse:collapse;width:100%;font-family:var(--font-mono);color:var(--fg-primary);font-size:11px}.proc-table th{text-align:left;letter-spacing:.1em;color:var(--fg-secondary);border-bottom:1px solid var(--border);background:var(--bg-sidebar);padding:5px 12px;font-size:9px;position:sticky;top:0}.proc-table td{white-space:nowrap;border-bottom:1px solid #ffffff08;padding:4px 12px}.proc-table tr:hover td{background:#ffffff08}.pc-pid{color:var(--fg-secondary);width:48px}.pc-name{color:var(--accent-blue)}.pc-cpu{color:var(--accent-yellow);width:60px}.pc-mem{color:var(--fg-secondary);width:60px}.pc-st-running{color:var(--accent-green)}.pc-st-sleeping{color:var(--fg-secondary)}.pc-st-idle{color:#858585}#cmd-palette{z-index:2000;justify-content:center;align-items:flex-start;padding-top:80px;display:flex;position:fixed;inset:0}#cmd-palette.hidden{display:none}#cmd-overlay{background:#0000008c;position:absolute;inset:0}#cmd-box{z-index:2001;border:1px solid var(--border-active);background:#2d2d30;border-radius:6px;width:480px;position:relative;overflow:hidden;box-shadow:0 16px 48px #0009}#cmd-input{box-sizing:border-box;border:none;border-bottom:1px solid var(--border);width:100%;color:var(--fg-primary);font-family:var(--font-mono);background:0 0;outline:none;padding:12px 16px;font-size:13px}#cmd-list{max-height:260px;overflow-y:auto}.cmd-item{color:var(--fg-primary);cursor:pointer;font-size:12px;font-family:var(--font-mono);border-left:2px solid #0000;padding:9px 16px;transition:background .1s}.cmd-item:hover,.cmd-item.selected{border-left-color:var(--border-active);background:#ffffff0f}.btn-nodes{border-color:var(--accent-blue)!important;color:var(--accent-blue)!important}.btn-palette{border-color:var(--accent-yellow)!important;color:var(--accent-yellow)!important}.btn-nodes:hover{background:#569cd61f!important}.btn-palette:hover{background:#dcdcaa1f!important}#status-node{color:var(--accent-green)}#status-cpu,#status-mem{color:var(--accent-yellow)}#status-lat{color:var(--accent-blue)}#status-lang{color:var(--fg-secondary)}.ng-window{z-index:1500;background:#1e1e1e;border:1px solid #3c3c3c;border-radius:6px;flex-direction:column;min-width:420px;min-height:300px;display:flex;position:fixed;overflow:hidden;box-shadow:0 20px 60px #000000b3}.ng-window.hidden{display:none}.ng-titlebar{cursor:grab;-webkit-user-select:none;user-select:none;background:#2d2d30;border-bottom:1px solid #3c3c3c;flex-shrink:0;justify-content:space-between;align-items:center;height:32px;padding:0 10px;display:flex}.ng-titlebar:active{cursor:grabbing}.ng-title{color:#ccc;letter-spacing:.06em;font-size:11px}.ng-win-btns{gap:4px;display:flex}.ng-btn-min,.ng-btn-max,.ng-btn-xwin{color:#aaa;cursor:pointer;background:0 0;border:1px solid #555;border-radius:3px;justify-content:center;align-items:center;width:20px;height:18px;padding:0;font-size:10px;line-height:1;display:flex}.ng-btn-min:hover,.ng-btn-max:hover{color:#fff;background:#3c3c3c}.ng-btn-xwin:hover{color:#f44747;background:#5a1d1d;border-color:#f44747}.ng-win-body{flex-direction:column;flex:1;display:flex;overflow:hidden}.ng-toolbar{background:#252526;border-bottom:1px solid #3c3c3c;flex-shrink:0;align-items:center;gap:4px;height:34px;padding:5px 10px;display:flex}.ng-tbtn{color:#ccc;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #555;border-radius:3px;padding:3px 9px;font-family:inherit;font-size:10px;transition:background .1s,border-color .1s}.ng-tbtn:hover{color:#fff;background:#3c3c3c;border-color:#888}.ng-tbtn-run{color:#4ec9b0!important;border-color:#4ec9b0!important}.ng-tbtn-run:hover{background:#4ec9b01f!important}.ng-tsep{background:#3c3c3c;width:1px;height:18px;margin:0 3px}.ng-zoom-label{color:#858585;min-width:32px;margin-left:6px;font-size:10px}.ng-canvas{cursor:default;background-color:#141414;background-image:linear-gradient(#ffffff0a 1px,#0000 1px),linear-gradient(90deg,#ffffff0a 1px,#0000 1px),linear-gradient(#ffffff04 1px,#0000 1px),linear-gradient(90deg,#ffffff04 1px,#0000 1px);background-size:100px 100px,100px 100px,20px 20px,20px 20px;flex:1;position:relative;overflow:hidden}.ng-canvas:active{cursor:default}.ng-transform{transform-origin:0 0;width:0;height:0;position:absolute;top:0;left:0}.ng-svg{pointer-events:none;position:absolute;top:0;left:0;overflow:visible}.ng-nodes{width:0;height:0;position:absolute;top:0;left:0}.ng-resize{cursor:se-resize;background:linear-gradient(135deg,#0000 50%,#555 50%);border-radius:0 0 5px;width:14px;height:14px;position:absolute;bottom:0;right:0}.ng-node{font-size:11px;font-family:var(--font-mono,monospace);-webkit-user-select:none;user-select:none;background:#252526;border:1px solid #3c3c3c;border-radius:5px;transition:border-color .1s,box-shadow .1s;position:absolute;overflow:hidden}.ng-node:hover{border-color:#555}.ng-node-sel{box-shadow:0 0 0 1px #569cd644;border-color:#569cd6!important}.ng-nhdr{cursor:grab;box-sizing:border-box;border-radius:4px 4px 0 0;align-items:center;gap:5px;height:28px;padding:4px 8px;display:flex}.ng-nhdr:active{cursor:grabbing}.ng-ndot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.ng-nlbl{color:#e0e0e0;white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:10px;overflow:hidden}.ng-nbadge{letter-spacing:.05em;background:#ffffff0d;border-radius:2px;flex-shrink:0;padding:1px 4px;font-size:8px}.ng-nbody{padding:4px 0}.ng-prow{justify-content:space-between;align-items:center;height:24px;padding:0 4px;display:flex}.ng-port{cursor:crosshair;flex:1;align-items:center;gap:4px;display:flex}.ng-pin{flex-direction:row}.ng-pout{flex-direction:row-reverse}.ng-pempty{flex:1;height:24px}.ng-dot{background:#1e1e1e;border:2px solid #569cd6;border-radius:50%;flex-shrink:0;width:10px;height:10px;transition:background .1s}.ng-dot-out{border-color:#4ec9b0}.ng-port:hover .ng-dot{background:#569cd6}.ng-port:hover .ng-dot-out{background:#4ec9b0}.ng-plbl{color:#666;white-space:nowrap;font-size:9px}.ng-edge{fill:none;stroke:#569cd6;stroke-width:1.5px;opacity:.55;pointer-events:visibleStroke;cursor:pointer;transition:opacity .1s}.ng-edge:hover{opacity:1;stroke-width:2px}.ng-edge-sel{stroke:#dcdcaa!important;opacity:1!important;stroke-width:2px!important}.ng-edge-temp{fill:none;stroke:#4ec9b0;stroke-width:1.5px;stroke-dasharray:6 3;pointer-events:none;opacity:.8}.ng-edge-run{animation:.7s ease-in-out infinite ng-edge-pulse}@keyframes ng-edge-pulse{0%,to{opacity:.9;stroke-width:2.5px}50%{opacity:.2;stroke-width:1px}}.btn-matrix{border-color:var(--accent-green)!important;color:var(--accent-green)!important}.btn-games{border-color:var(--accent-purple)!important;color:var(--accent-purple)!important}.btn-matrix:hover{background:#4ec9b01f!important}.btn-games:hover{background:#c586c01f!important}.xfer-header{letter-spacing:.1em;color:var(--fg-secondary);border-bottom:1px solid var(--border);font-size:9px;font-family:var(--font-mono);grid-template-columns:1.6fr 1.4fr 50px 90px 70px 90px;gap:8px;padding:6px 12px;display:grid}.xfer-row{font-family:var(--font-mono);border-bottom:1px solid #ffffff08;grid-template-columns:1.6fr 1.4fr 50px 90px 70px 90px;align-items:center;gap:8px;padding:7px 12px;font-size:11px;display:grid}.xfer-row:hover{background:#ffffff08}.xfer-name{color:var(--accent-blue);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.xfer-bar{background:#ffffff0f;border-radius:3px;height:6px;overflow:hidden}.xfer-fill{background:linear-gradient(90deg, var(--accent-blue), var(--accent-green));height:100%;transition:width .4s ease-out}.xfer-pct{color:var(--fg-secondary)}.xfer-speed{color:var(--accent-yellow)}.xfer-size{color:var(--fg-secondary)}.xfer-state{letter-spacing:.06em;font-size:9px}.xfer-state-copying{color:var(--accent-blue)}.xfer-state-verifying{color:var(--accent-yellow)}.xfer-state-done{color:var(--accent-green)}#matrix-rain{z-index:1800;cursor:pointer;position:fixed;inset:0}#matrix-rain.hidden{display:none}.game-window{z-index:1600;background:#1e1e1e;border:1px solid #3c3c3c;border-radius:6px;flex-direction:column;width:620px;height:480px;display:flex;position:fixed;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 20px 60px #000000b3}.game-window.hidden{display:none}.games-body{background-color:#141414;flex:1;display:flex;overflow:hidden}.game-panel{flex:1;display:flex;overflow:auto}.game-panel.hidden{display:none}.hg-wrap{width:100%;height:100%;font-family:var(--font-mono);display:flex}.hg-dump{color:var(--accent-green);white-space:pre-wrap;border-right:1px solid var(--border);flex:1.5;margin:0;padding:14px;font-size:12px;line-height:1.7;overflow-y:auto}.hg-tok{padding:0 1px}.hg-word{color:#cfe9c8;cursor:pointer}.hg-word:hover{color:#fff;background:#4ec9b040}.hg-dud{color:var(--accent-yellow);cursor:pointer}.hg-dud:hover{color:#fff;background:#dcdcaa40}.hg-side{flex-direction:column;flex:1;min-width:200px;padding:14px;display:flex}.hg-title{letter-spacing:.1em;color:var(--fg-primary);margin-bottom:12px;font-size:12px}.hg-label{letter-spacing:.1em;color:var(--fg-secondary);margin-bottom:6px;font-size:9px}.hg-attempts{margin-bottom:16px}.hg-att{font-size:16px}.hg-att-on{color:var(--accent-green)}.hg-att-off{color:#3a3a3a}.hg-log{color:var(--accent-green);flex:1;font-size:11px;line-height:1.6;overflow-y:auto}.gp-wrap{flex-direction:column;gap:8px;width:100%;height:100%;padding:12px;display:flex}.gp-hud{font-family:var(--font-mono);color:var(--fg-primary);flex-shrink:0;justify-content:space-between;font-size:12px;display:flex}.gp-field{border:1px solid var(--border);background:#0a0a0a;border-radius:4px;flex:1;position:relative;overflow:hidden}.gp-packet{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:4px;justify-content:center;align-items:center;width:26px;height:26px;font-size:14px;display:flex;position:absolute}.gp-good{color:var(--accent-green);border:1px solid var(--accent-green);background:#4ec9b02e}.gp-good:hover{background:#4ec9b059}.gp-bad{color:var(--accent-red);border:1px solid var(--accent-red);background:#f447472e}.gp-bad:hover{background:#f4474759}.gp-overlay{text-align:center;font-family:var(--font-mono);color:var(--fg-secondary);letter-spacing:.05em;justify-content:center;align-items:center;padding:20px;font-size:14px;display:flex;position:absolute;inset:0}.gp-hint{color:var(--fg-secondary);flex-shrink:0;font-size:10px}
