html,body,#root{background:#0b0d12;width:100%;height:100%;margin:0;padding:0;font-family:system-ui,Segoe UI,Roboto,sans-serif;overflow:hidden}:root{--gs-mono:"Cascadia Mono", "JetBrains Mono", Consolas, "SFMono-Regular", Menlo, monospace;--gs-amber:#f5a524;--gs-green:#39d353;--gs-cyan:#4fc3f7;--gs-red:#ff5252;--gs-steel:#aab3bc}.gs-panel{box-sizing:border-box;z-index:100;pointer-events:auto;background:radial-gradient(circle,#9aa3ac 0 1.5px,#2b3036 2px 3px,#0000 3.5px) left 3px bottom 3px/9px 9px no-repeat,radial-gradient(circle,#9aa3ac 0 1.5px,#2b3036 2px 3px,#0000 3.5px) right 3px bottom 3px/9px 9px no-repeat,linear-gradient(#ffffff09 1px,#0000 1px) 0 0/24px 24px,linear-gradient(90deg,#ffffff09 1px,#0000 1px) 0 0/24px 24px,linear-gradient(#282d34ed,#16191eed);border:2px solid #4a525c;border-radius:6px;position:relative;box-shadow:inset 0 0 0 1px #14171b,inset 0 1px #ffffff14,0 10px 30px #00000080}.gs-titlebar{z-index:1001;box-sizing:border-box;color:#d7dde3;height:30px;font:600 11px/1 var(--gs-mono);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;background:linear-gradient(#3a4149,#2a3037);border-bottom:1px solid #0e1013;border-radius:4px 4px 0 0;align-items:center;gap:14px;padding:0 44px 0 12px;display:flex;position:absolute;top:0;left:0;right:0;overflow:hidden;box-shadow:inset 0 1px #ffffff1f}.gs-dragging .gs-titlebar{cursor:grabbing}.gs-dragging{box-shadow:inset 0 0 0 1px #14171b,0 16px 40px #0009}.gs-title-sep{color:var(--gs-amber)}.gs-title-sub{color:#8d97a1}.gs-indicators{align-items:center;gap:12px;margin-left:auto;display:flex}.gs-ind{color:var(--gs-steel);align-items:center;gap:5px;display:flex}.gs-clock{color:#7cfc9a;font-variant-numeric:tabular-nums;text-shadow:0 0 5px #7cfc9a80;background:#0b0e10;border:1px solid #000;border-radius:2px;padding:3px 6px;box-shadow:inset 0 1px 3px #000c}.gs-led{background:#4a525c;border-radius:50%;flex:none;width:8px;height:8px;box-shadow:inset 0 -1px 1px #00000080}.gs-led-green{background:var(--gs-green);box-shadow:0 0 6px var(--gs-green)}.gs-led-amber{background:var(--gs-amber);box-shadow:0 0 6px var(--gs-amber)}.gs-led-blink{animation:1.6s step-end infinite gs-blink}@keyframes gs-blink{50%{opacity:.25}}@media (width<=1100px){.gs-title-sub,.gs-ind{display:none}}.gs-status{z-index:1000;color:var(--gs-c,#8d97a1);font:600 12px/1.3 var(--gs-mono);letter-spacing:.05em;text-transform:uppercase;pointer-events:none;background:#0a0d0f;border:1px solid #000;border-radius:3px;align-items:center;gap:10px;padding:7px 12px;display:flex;position:absolute;bottom:8px;left:8px;right:8px;box-shadow:inset 0 2px 6px #000000e6,0 1px #ffffff0f}.gs-status .gs-led{background:currentColor;box-shadow:0 0 6px}.gs-status-idle .gs-led{box-shadow:none;opacity:.6}.gs-status-label{letter-spacing:.14em;border:1px solid;border-radius:2px;flex:none;padding:2px 6px;font-size:10.5px}.gs-status-train{color:#d7dde3;flex:none;align-items:center;gap:6px;display:flex}.gs-swatch{border-radius:2px;width:10px;height:10px;box-shadow:0 0 0 1px #ffffff73}.gs-status-msg{text-shadow:0 0 6px;flex:1;min-width:0}.gs-status-idle .gs-status-msg{text-shadow:none}.gs-status-selected{--gs-c:var(--gs-amber)}.gs-status-routing{--gs-c:var(--gs-cyan)}.gs-status-routing .gs-led,.gs-status-fault .gs-led{animation:.8s step-end infinite gs-blink}.gs-status-set{--gs-c:var(--gs-green)}.gs-status-fault{--gs-c:var(--gs-red)}.gs-help-panel{z-index:1000;background:repeating-linear-gradient(-45deg, var(--gs-amber) 0 6px, #111 6px 12px) left / 10px 100% no-repeat, #15181c;color:#e3e7eb;font:500 11.5px/1.45 var(--gs-mono);pointer-events:auto;border:1px solid #000;border-radius:3px;align-items:flex-start;gap:10px;padding:9px 10px 9px 22px;animation:.16s ease-out gs-pop-in;display:flex;position:absolute;top:38px;left:8px;right:8px;box-shadow:inset 0 1px #ffffff0f,0 4px 12px #0006}.gs-help-icon{background:var(--gs-amber);color:#111;width:22px;height:22px;font:700 13px/1 var(--gs-mono);border-radius:3px;flex:none;place-items:center;display:grid}.gs-help-text{flex:1}.gs-help-close{width:24px;height:24px;color:var(--gs-steel);cursor:pointer;background:0 0;border:none;border-radius:3px;flex:none;margin:-2px -2px 0 0;font-size:18px;line-height:1;transition:background .12s,color .12s}.gs-help-close:hover{color:#fff;background:#ffffff1a}.gs-help-btn{z-index:1002;color:#111;width:22px;height:22px;font:700 13px/1 var(--gs-mono);cursor:pointer;pointer-events:auto;background:linear-gradient(#f7b33a,#d98a0b);border:1px solid #111;border-radius:3px;transition:transform .12s,box-shadow .12s;animation:.16s ease-out gs-pop-in;position:absolute;top:4px;right:8px;box-shadow:inset 0 1px #ffffff59,0 1px 2px #00000080}.gs-help-btn:hover{transform:scale(1.08);box-shadow:0 0 0 3px #f5a52459,0 1px 2px #00000080}.gs-help-close:focus-visible,.gs-help-btn:focus-visible{outline-offset:2px;outline:2px solid #f0f}@keyframes gs-pop-in{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.gs-help-title{color:var(--gs-amber);letter-spacing:.14em;text-transform:uppercase;margin-bottom:3px;font-size:11.5px;font-weight:700}.gs-help-steps{margin:0;padding-left:18px;font-weight:500}.gs-help-note{opacity:.8;margin-top:3px;font-style:italic;font-weight:400}.gs-magenta{color:#ff4dff;font-weight:700}
