@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@300;400;500;600&display=swap";:root{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;line-height:1.5;font-weight:400;color:var(--text-primary);background-color:var(--bg);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--bg: #020617;--panel: rgba(15, 23, 42, .75);--panel-border: rgba(148, 163, 184, .2);--card-bg: rgba(2, 6, 23, .65);--card-border: rgba(148, 163, 184, .2);--text-primary: #f8fafc;--text-secondary: #cbd5f5;--muted: #94a3b8;--muted-strong: #64748b}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);overflow:hidden}button{font-family:inherit}.header{display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.brand{display:flex;align-items:center;gap:.75rem}.logo-mark{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:#94a3b81f;color:var(--accent);font-size:1.4rem;transition:color .3s ease,background-color .3s ease}.brand-title{font-size:1rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-primary)}.brand-subtitle{font-size:.7rem;color:var(--muted);letter-spacing:.25em}.system-stats{display:flex;gap:1.5rem;font-size:.85rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.12em}.stat-value{color:var(--accent);font-weight:600;margin-right:.35rem}.simulate-btn{background:#7f1d1d;color:#f8fafc;border:1px solid #ef4444;border-radius:999px;padding:.65rem 1.4rem;font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background-color .3s ease,border-color .3s ease}.simulate-btn:hover{transform:translateY(-1px);box-shadow:0 0 18px #ef444473}.node-panel{background:var(--panel);border:3px solid var(--panel-border);border-radius:18px;padding:1rem 1rem 2rem;height:100vh;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;flex-direction:column;gap:1rem;min-height:0;transition:background-color .3s ease,border-color .3s ease}.node-panel-header{display:flex;justify-content:space-between;align-items:center;font-size:.8rem;letter-spacing:.22em;color:var(--muted)}.node-panel-title{color:var(--text-primary)}.node-panel-tag{border:1px solid rgba(148,163,184,.4);padding:.15rem .5rem;border-radius:999px;font-size:.65rem;text-transform:uppercase}.node-list{display:flex;flex-direction:column;height:100%;gap:.85rem;overflow-y:auto;padding-right:.2rem}.node-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:14px;padding:.8rem;display:flex;flex-direction:column;gap:.65rem;transition:background-color .3s ease,border-color .3s ease,box-shadow .3s ease,transform .2s ease;cursor:pointer;text-align:left}.node-card:hover{border-color:#94a3b880;box-shadow:0 0 16px #94a3b82e;transform:translateY(-1px)}.node-card.is-active{border-color:var(--accent);box-shadow:0 0 22px var(--accent-soft);transform:scale(1.01)}.node-card.is-active .node-id{color:var(--accent)}.node-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.node-main{display:flex;justify-content:space-between;align-items:flex-start;gap:.6rem}.node-id{font-size:.85rem;letter-spacing:.14em;color:var(--text-primary);text-transform:uppercase}.node-location{font-size:.75rem;color:var(--muted)}.node-status{padding:.2rem .6rem;border-radius:999px;font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;transition:background-color .3s ease,border-color .3s ease,color .3s ease}.node-status.safe{background:#10b98126;color:#34d399;border:1px solid rgba(16,185,129,.5)}.node-status.warning{background:#f59e0b26;color:#fbbf24;border:1px solid rgba(245,158,11,.45)}.node-status.critical{background:#f43f5e26;color:#fb7185;border:1px solid rgba(244,63,94,.5)}.node-metrics{display:flex;align-items:center;gap:.6rem}.node-icon{width:14px;height:14px;color:var(--muted);transition:color .3s ease}.battery{flex:1;height:8px;border-radius:999px;background:#94a3b833;overflow:hidden}.battery-fill{height:100%;background:linear-gradient(90deg,var(--accent),#22c55e)}.battery-value{font-size:.65rem;color:var(--muted)}.signal{display:flex;align-items:flex-end;gap:2px}.signal-bar{width:4px;height:8px;background:#94a3b840;border-radius:2px}.signal-bar:nth-child(2){height:12px}.signal-bar:nth-child(3){height:16px}.signal-bar:nth-child(4){height:20px}.signal-bar.active{background:var(--accent)}.system-banner{border-radius:999px;padding:.35rem 1rem;font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;text-align:center;border:1px solid rgba(148,163,184,.4);transition:border-color .3s ease,box-shadow .3s ease,color .3s ease}.system-banner.safe{color:#34d399}.system-banner.critical{color:#fb7185;border-color:#f43f5eb3;box-shadow:0 0 24px #f43f5e59}.map-panel{background:var(--panel);border:1px solid var(--panel-border);border-radius:18px;padding:1.2rem;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;flex-direction:column;gap:1.2rem;min-height:0;transition:background-color .3s ease,border-color .3s ease}.map-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;font-size:.7rem;color:#94a3b8;letter-spacing:.18em;text-transform:uppercase}.coord{text-align:left}.coord-right{text-align:right}.threat{display:flex;flex-direction:column;align-items:center;gap:.35rem;color:var(--text-primary)}.threat-level{font-size:1rem;color:var(--accent);letter-spacing:.2em;display:inline-flex;align-items:center;color:var(--muted)}.threat-level.high{animation:pulse 1.2s infinite}.threat-icon{width:16px;height:16px}.map-placeholder{flex:1;position:relative;border-radius:16px;border:1px solid var(--panel-border);overflow:hidden;display:grid;place-items:center;min-height:360px;background:var(--card-bg);transition:border-color .3s ease,box-shadow .3s ease,background-color .3s ease}.map-placeholder.critical{border-color:#f43f5eb3;box-shadow:0 0 30px #f43f5e73;animation:borderPulse 1.6s infinite}.map-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(148,163,184,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(148,163,184,.08) 1px,transparent 1px);background-size:40px 40px}.map-marker{width:14px;height:14px;border-radius:50%;background:var(--accent);box-shadow:0 0 24px var(--accent);animation:ping 1.5s infinite;z-index:1}.map-label{position:absolute;bottom:16px;right:18px;font-size:.65rem;letter-spacing:.2em;color:var(--muted);text-transform:uppercase}@keyframes ping{0%{transform:scale(1);box-shadow:0 0 #10b98166}70%{transform:scale(1.4);box-shadow:0 0 25px #10b98100}to{transform:scale(1);box-shadow:0 0 #10b98100}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes borderPulse{0%,to{box-shadow:0 0 18px #f43f5e59}50%{box-shadow:0 0 36px #f43f5eb3}}.visual-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:16px;padding:.9rem 1rem;display:flex;flex-direction:column;gap:.65rem;transition:background-color .3s ease,border-color .3s ease}.visual-card-header{display:flex;justify-content:space-between;align-items:center;font-size:.75rem;letter-spacing:.18em;color:var(--text-secondary);text-transform:uppercase}.visual-title{display:inline-flex;align-items:center;gap:.45rem}.live-indicator{display:inline-flex;align-items:center;gap:.4rem;font-size:.7rem;color:#22c55e}.live-dot{width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 6px #22c55e}.visual-feed{border-radius:12px;padding:1.2rem;min-height:130px;display:flex;flex-direction:column;justify-content:center;gap:.5rem;background:var(--panel);border:1px dashed rgba(148,163,184,.3);transition:border-color .3s ease,box-shadow .3s ease,background-color .3s ease}.visual-feed.critical{border-color:#f43f5eb3;box-shadow:0 0 18px #f43f5e4d}.visual-status{font-size:.95rem;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);transition:color .3s ease}.visual-meta{font-size:.7rem;color:var(--muted)}.gauge-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:16px;padding:.9rem 1rem;display:flex;flex-direction:column;gap:.65rem;transition:background-color .3s ease,border-color .3s ease}.gauge-card-header{font-size:.75rem;letter-spacing:.18em;color:var(--text-secondary);text-transform:uppercase}.gauge-title{display:inline-flex;align-items:center;gap:.45rem}.gauge{display:flex;flex-direction:column;gap:.75rem;align-items:center}.gauge-ring{width:160px;height:160px;border-radius:50%;padding:8px;display:grid;place-items:center}.gauge-center{width:100%;height:100%;border-radius:50%;background:var(--bg);border:1px solid var(--card-border);display:grid;place-items:center;gap:.25rem;transition:background-color .3s ease,border-color .3s ease}.gauge-value{font-size:1.6rem;color:var(--accent);transition:color .3s ease}.gauge-label{font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}.gauge-scale{display:flex;justify-content:space-between;width:100%;font-size:.65rem;color:var(--muted-strong)}.model-info{font-size:.65rem;color:var(--muted)}.sensor-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:16px;padding:.9rem 1rem;display:flex;flex-direction:column;gap:.65rem;transition:background-color .3s ease,border-color .3s ease}.sensor-card-header{display:flex;justify-content:space-between;align-items:center;font-size:.75rem;letter-spacing:.18em;color:var(--text-secondary);text-transform:uppercase}.sensor-title{display:inline-flex;align-items:center;gap:.45rem}.sensor-title svg{width:16px;height:16px}.sensor-badge{font-size:.6rem;padding:.2rem .5rem;border-radius:999px;letter-spacing:.15em;border:1px solid rgba(148,163,184,.3);transition:color .3s ease,border-color .3s ease,background-color .3s ease}.sensor-badge.stable{color:#34d399;border-color:#10b98180}.sensor-badge.rising,.sensor-badge.dropping{color:#fb7185;border-color:#f43f5e80}.sensor-value{font-size:1.3rem;color:var(--text-primary)}.sparkline{width:100%;height:84px}.spark-labels{font-size:.6rem;color:var(--muted-strong);letter-spacing:.2em;text-transform:uppercase}.processor-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:16px;padding:.9rem 1rem;display:flex;flex-direction:column;gap:.65rem;margin-top:auto;transition:background-color .3s ease,border-color .3s ease}.processor-card-header{font-size:.75rem;letter-spacing:.18em;color:var(--text-secondary);text-transform:uppercase}.processor-title{display:inline-flex;align-items:center;gap:.45rem}.card-icon{width:16px;height:16px}.processor-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.processor-label{font-size:.6rem;color:var(--muted-strong);letter-spacing:.2em;text-transform:uppercase}.processor-value{font-size:1.2rem;color:var(--text-primary)}.resize-handle{position:absolute;top:12px;right:-10px;width:20px;height:calc(100% - 24px);padding:0;border:none;background:transparent;cursor:col-resize;display:grid;place-items:center}.resize-handle-left{left:-10px;right:auto}.resize-handle:before{content:"";width:2px;height:100%;border-radius:999px;background:#94a3b859;transition:background-color .2s ease,box-shadow .2s ease}.resize-handle:hover:before,.resize-handle:focus-visible:before,.layout.is-resizing .resize-handle:before{background:var(--accent);box-shadow:0 0 12px var(--accent)}.resize-handle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media(max-width:1200px){.resize-handle{display:none}}:root{color-scheme:dark}.incident-logs{height:100vh;background:radial-gradient(circle at top,#0f1a2b,#070b12 45%,#05070c);color:#e8edf8;padding:32px 40px 48px;display:flex;flex-direction:column;gap:24px;overflow:hidden}.incident-logs__header{display:flex;align-items:center;justify-content:space-between;gap:24px}.incident-logs__title{font-size:28px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.incident-logs__subtitle{font-size:14px;color:#8fa0bc;margin-top:6px}.incident-logs__back{border:1px solid #2f3e5a;background:#0c121ecc;color:#f0f4ff;padding:10px 18px;border-radius:999px;font-weight:600;letter-spacing:.02em;cursor:pointer;transition:border .2s ease,background .2s ease}.incident-logs__back:hover{border-color:#4b5d82;background:#121b2de6}.incident-logs__panel{background:#080c14cc;border:1px solid #1f2a3d;border-radius:18px;padding:16px 18px;box-shadow:0 20px 60px #02061299;flex:1;min-height:0;overflow:auto}.incident-logs__notice{border:1px solid rgba(120,154,230,.35);background:#0f182cd9;color:#e3ebff;padding:12px 16px;border-radius:14px;font-size:14px;letter-spacing:.02em}.incident-logs__updated{font-size:12px;color:#8fa0bc;letter-spacing:.08em;text-transform:uppercase}.incident-logs__loading{padding:12px 14px;font-size:14px;color:#9fb1ce}.incident-logs__table{display:flex;flex-direction:column;gap:12px}.incident-logs__row-group{display:flex;flex-direction:column;gap:10px}.incident-logs__row{display:grid;grid-template-columns:.8fr 1.2fr 1.2fr .8fr 2fr;gap:16px;align-items:center;font-size:14px;padding:14px 12px;border-radius:12px;background:#0d121ecc}.incident-logs__row--interactive{cursor:pointer;transition:border .2s ease,transform .2s ease,background .2s ease;border:1px solid transparent}.incident-logs__row--interactive:hover{border-color:#4f628699;background:#121928e6;transform:translateY(-1px)}.incident-logs__row--interactive:focus-visible{outline:2px solid rgba(124,158,255,.8);outline-offset:2px}.incident-logs__row--interactive.is-expanded{border-color:#6a8de0b3;background:#141c2df2}.incident-logs__row--head{background:transparent;border:1px solid #1c2638;text-transform:uppercase;letter-spacing:.12em;font-size:12px;color:#7e90ad}.incident-logs__id{font-weight:600;color:#c6d7ff}.incident-logs__severity{font-weight:600;text-transform:uppercase;font-size:12px;letter-spacing:.12em}.incident-logs__severity--high{color:#ff9a9a}.incident-logs__severity--medium{color:#ffd489}.incident-logs__severity--low{color:#8df1c3}.incident-logs__status{color:#c1ccdf}.incident-logs__expand{max-height:0;opacity:0;overflow:hidden;transition:max-height .25s ease,opacity .25s ease}.incident-logs__expand.is-open{max-height:420px;opacity:1}.incident-logs__expand-inner{border:1px solid rgba(39,52,78,.7);background:#0a0f1ae6;border-radius:14px;padding:16px 18px;display:flex;flex-direction:column;gap:14px}.incident-logs__expand-title{text-transform:uppercase;letter-spacing:.12em;font-size:12px;color:#8fa0bc}.incident-logs__state{font-size:14px;color:#b6c3da}.incident-logs__state--error{color:#ffb4b4}.incident-logs__path{display:flex;flex-direction:column;gap:16px}.incident-logs__hop{display:flex;gap:14px;align-items:flex-start}.incident-logs__hop-marker{position:relative;display:flex;align-items:center;justify-content:center;width:18px}.incident-logs__hop-dot{width:10px;height:10px;border-radius:999px;background:#7aa2ff;box-shadow:0 0 0 4px #7aa2ff26}.incident-logs__hop-line{position:absolute;top:12px;width:2px;height:calc(100% + 12px);background:#6c85bc66}.incident-logs__hop-content{display:flex;flex-direction:column;gap:6px}.incident-logs__hop-title{font-weight:600;color:#e1e9ff}.incident-logs__hop-meta{display:flex;gap:12px;font-size:12px;color:#93a6c4;text-transform:uppercase;letter-spacing:.08em}.incident-logs__hop-status{padding:2px 8px;border-radius:999px;font-weight:600;background:#6e80ac33}.incident-logs__hop-status--delivered{color:#9be6c8}.incident-logs__hop-status--relayed{color:#9fb9ff}.incident-logs__hop-status--queued{color:#ffd18c}.incident-logs__hop-status--failed{color:#ff9a9a}@media(max-width:1100px){.incident-logs__row{grid-template-columns:1fr}.incident-logs__row--head{display:none}.incident-logs__row span{display:block}.incident-logs__expand.is-open{max-height:520px}}@media(min-width:1200px){.incident-logs__path{flex-direction:row}.incident-logs__hop{flex:1}.incident-logs__hop-marker{align-self:center}.incident-logs__hop-line{top:50%;left:12px;width:calc(100% + 12px);height:2px}}.app{height:100%;background:var(--bg);color:var(--text-primary);display:flex;flex-direction:column;gap:1.5rem;padding:1.5rem 2rem 2rem;transition:background-color .3s ease,color .3s ease}.app.safe{--accent: #10b981;--accent-soft: rgba(16, 185, 129, .18)}.app.critical{--accent: #f43f5e;--accent-soft: rgba(244, 63, 94, .18)}.layout{display:grid;grid-template-columns:var(--sidebar-width, 300px) minmax(0,1fr) var( --right-panel-width, 360px );gap:1rem;flex:1;min-height:0;height:auto}.layout>*{min-height:0}.left-panel{position:relative;min-width:0;height:100%;display:flex;min-height:0}.left-panel .node-panel{flex:1;min-height:0;overflow:auto}.telemetry-panel{background:var(--panel);border:1px solid var(--panel-border);border-radius:18px;padding:1.2rem;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;flex-direction:column;gap:1rem;min-height:0;overflow-y:auto;transition:background-color .3s ease,border-color .3s ease}.right-panel{position:relative;min-width:0;height:100%;display:flex}.right-panel .telemetry-panel{flex:1;min-width:0}@media(max-width:1200px){.layout{grid-template-columns:1fr}}
