:root{color-scheme:dark;--bg:#061321;--panel:#0b2030;--border:#244458;--text:#dfeef8;--secondary:#92aebf;--up:#49dc8f;--down:#ff626e;--partial:#f3bb52;--unknown:#8499ac}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:linear-gradient(125deg,#061420,#071925 55%,#081725);color:var(--text);font:13px/1.35 system-ui,-apple-system,Segoe UI,Arial,sans-serif}
button{font:inherit;cursor:pointer}.app{width:min(100%,1920px);padding:10px;margin:0 auto}
.toolbar{min-height:42px;border:1px solid var(--border);background:#0b2232;border-radius:10px;display:flex;align-items:center;gap:14px;justify-content:space-between;padding:7px 12px;margin-bottom:8px}
.toolbar-left,.toolbar-right,.summary{display:flex;align-items:center;gap:9px}.toolbar-left{min-width:215px;color:#b1cad9;font-variant-numeric:tabular-nums}.toolbar-right{justify-content:flex-end}.summary{justify-content:center;color:#a6c0ce;font-size:11px;flex-wrap:wrap}.summary span{display:inline-flex;align-items:center;gap:5px}
.filter{display:flex;align-items:center;gap:5px;white-space:nowrap;font-size:12px}.filter input{accent-color:#41bf87;margin:0 2px 0 0}
.toolbar button{background:#163348;color:#e2f0f7;border:1px solid #35617a;border-radius:7px;padding:5px 10px}.toolbar button:hover{background:#1d425a}.toolbar button.hidden{display:none}
.light{display:inline-block;flex-shrink:0;border-radius:50%;background:var(--unknown);width:8px;height:8px;box-shadow:0 0 7px currentColor}.light.up{color:var(--up);background:var(--up)}.light.down{color:var(--down);background:var(--down)}.light.partial{color:var(--partial);background:var(--partial)}.light.unknown{color:var(--unknown);background:var(--unknown)}
.layout{display:grid;grid-template-columns:245px minmax(0,1fr);gap:9px;align-items:start}.left{display:flex;flex-direction:column;gap:8px;min-width:0}
.panel{border:1px solid var(--border);background:#0b2030;border-radius:9px;padding:10px}.heading{display:flex;align-items:center;justify-content:space-between;color:#a5c1d1;text-transform:uppercase;letter-spacing:.1em;font-weight:680;font-size:11px;margin-bottom:7px}.heading span{letter-spacing:0;color:#819fb2;font-variant-numeric:tabular-nums}
.list{display:flex;flex-direction:column;gap:2px}.item{display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:8px;width:100%;background:transparent;color:var(--text);border:0;text-align:left;padding:7px 4px;border-radius:5px;min-height:30px}.item:hover,.item.active{background:#19374b}.item.active{outline:1px solid #3b6a80}.item .label{font-size:12px;font-weight:690;letter-spacing:.02em}.item .status{color:var(--secondary);font:10px/1.1 ui-monospace,Consolas,monospace}.item[data-state=up] .status{color:var(--up)}.item[data-state=down] .status{color:var(--down)}.item[data-state=partial] .status{color:var(--partial)}
.mini-legend{display:grid;grid-template-columns:1fr 1fr;gap:5px 8px;padding:8px 10px;color:#829cae;font-size:10px}.mini-legend span{display:flex;align-items:center;gap:6px}.mini-legend .light{width:6px;height:6px}
.map{position:relative;overflow:hidden;border:1px solid var(--border);border-radius:10px;background:#0a2230;box-shadow:0 12px 34px #0005;min-width:0}
#geo{display:block;width:100%;height:auto;user-select:none}
.edge{cursor:pointer;outline:none}.edge .edge-under{stroke:#061423;stroke-width:6;fill:none;opacity:.56;pointer-events:none}.edge .edge-main{stroke:var(--link);stroke-width:2.2;stroke-linecap:round;fill:none;opacity:var(--line-alpha);transition:opacity .15s,stroke-width .15s}.edge .edge-halo{stroke:var(--link);stroke-width:6;stroke-linecap:round;fill:none;opacity:0;filter:url(#lineGlow);pointer-events:none}.edge .edge-hit{stroke:transparent;stroke-width:18;fill:none;pointer-events:stroke}.edge[data-state=unknown] .edge-main{stroke-dasharray:5 9}.edge[data-state=down] .edge-main{stroke-width:2.6}.edge.spotlight .edge-main,.edge:hover .edge-main,.edge:focus .edge-main{opacity:1;stroke-width:3.5}.edge.spotlight .edge-halo,.edge:hover .edge-halo,.edge:focus .edge-halo{opacity:.6}.edge.dim{opacity:.13;pointer-events:none}.edge.dim .edge-main{opacity:.2}
.site{cursor:pointer;outline:none}.site .site-halo{fill:var(--site);opacity:.15;filter:url(#dotGlow)}.site .site-dot{fill:#0a1e2c;stroke:var(--site);stroke-width:2.2}.site .site-center{fill:var(--site)}.site .site-glyph{fill:#c9dde9}.site .site-text{fill:#e7f3fa;font:700 13px/1 system-ui,Arial,sans-serif;letter-spacing:.1em;text-anchor:middle}.site .site-label-bg{fill:#092335eb;stroke:#42667b;stroke-width:1}.site.selected .site-label-bg,.site:hover .site-label-bg{stroke:#b9e7ff;stroke-width:1.5}.site.dim{opacity:.25}
.detail-panel{position:absolute;top:14px;left:14px;z-index:3;width:210px;min-height:114px;padding:11px 12px;background:#071d2cef;border:1px solid #496a7d;border-radius:9px;box-shadow:0 9px 22px #0006;color:#dcecf4;font-size:12px;pointer-events:none}
.detail-caption{color:var(--secondary);font-size:10px;letter-spacing:.09em;text-transform:uppercase;margin-bottom:7px}
.detail-title{font-size:16px;font-weight:750;color:#f3fbff;margin-bottom:10px}
.detail-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-top:5px}
.detail-row>span:first-child{color:var(--secondary)}
.detail-row>span:last-child{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.detail-status{font-weight:700}
.detail-status.up{color:var(--up)}.detail-status.down{color:var(--down)}.detail-status.partial{color:var(--partial)}.detail-status.unknown{color:var(--unknown)}
@media(max-width:1020px){.layout{grid-template-columns:210px minmax(0,1fr)}.toolbar{flex-wrap:wrap}.summary{order:3;flex-basis:100%}.toolbar-left,.toolbar-right{min-width:0}}
@media(max-width:700px){.layout{grid-template-columns:1fr}.left{order:2}.map{order:1}.app{padding:5px}#geo{min-width:700px}.map{overflow-x:auto}.toolbar{gap:6px}.toolbar-left,.toolbar-right{font-size:11px}.mini-legend{grid-template-columns:repeat(4,1fr)}}

@media(max-width:700px){.detail-panel{left:9px;top:9px;width:172px;padding:9px 10px;min-height:100px}.detail-title{font-size:14px}.detail-row{font-size:11px}}
