:root{--ground: #0f1721;--panel: #16202b;--panel-2: #1b2733;--rule: #27364a;--ink: #d8e2ec;--ink-dim: #7f93a8;--critical: #e8453c;--high: #f08a24;--moderate: #e2c14a;--low: #47a184;--accent: var(--moderate);--mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--cond: "IBM Plex Sans Condensed", "Helvetica Neue", sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--mono);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}.app{max-width:1240px;margin:0 auto;padding:28px 20px 60px}.masthead{display:flex;flex-wrap:wrap;gap:20px;align-items:flex-end;justify-content:space-between;padding-bottom:18px;border-bottom:1px solid var(--rule)}.brand h1{font-family:var(--cond);font-weight:700;font-size:34px;letter-spacing:.13em;text-transform:uppercase;margin:0}.brand p{margin:4px 0 0;color:var(--ink-dim);font-size:12px;letter-spacing:.04em}.status{display:flex;gap:22px;align-items:center;flex-wrap:wrap;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-dim)}.conn{display:inline-flex;align-items:center;gap:7px}.dot{width:7px;height:7px;border-radius:50%;background:var(--ink-dim)}.conn-live{color:var(--low)}.conn-live .dot{background:var(--low);animation:pulse 2.4s ease-in-out infinite}.conn-reconnecting{color:var(--high)}.conn-reconnecting .dot{background:var(--high)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.25}}.stat em{font-style:normal;color:var(--ink);font-weight:600}.grid{display:grid;grid-template-columns:1.9fr 1fr;gap:28px;margin-top:26px;align-items:start}.col-head{font-family:var(--cond);font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-dim);margin:0 0 12px;display:flex;align-items:baseline;gap:9px}.col-count{font-family:var(--mono);color:var(--ink);font-size:12px;background:var(--panel-2);border:1px solid var(--rule);padding:1px 7px}.empty{color:var(--ink-dim);font-size:13px;border:1px dashed var(--rule);padding:18px;margin:0}.row{background:var(--panel);border:1px solid var(--rule);border-left:3px solid var(--accent);padding:14px 16px 12px;margin-bottom:10px;animation:arrive .32s ease-out}@keyframes arrive{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.row,.conn-live .dot{animation:none}}.tier-critical{--accent: var(--critical)}.tier-high{--accent: var(--high)}.tier-moderate{--accent: var(--moderate)}.tier-low{--accent: var(--low)}.row-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.event{font-family:var(--cond);font-size:17px;font-weight:600;letter-spacing:.03em;margin:0;color:var(--ink)}.office{font-size:11px;color:var(--ink-dim);white-space:nowrap}.area{margin:6px 0 12px;font-size:12px;color:var(--ink-dim);line-height:1.45;max-height:3em;overflow:hidden}.gauge-track{position:relative;height:6px;background:var(--panel-2);border:1px solid var(--rule);overflow:hidden}.gauge-fill{height:100%;background:var(--accent);transition:width .4s ease-out}.gauge-tick{position:absolute;top:0;width:1px;height:100%;background:var(--ground);opacity:.85}.gauge-meta{display:flex;justify-content:space-between;align-items:baseline;margin-top:7px;font-size:11px;letter-spacing:.08em}.tier-label{color:var(--accent);font-weight:600;text-transform:uppercase}.arith{color:var(--ink-dim);letter-spacing:.02em}.arith strong{color:var(--ink);font-weight:600}.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:12px 0 0;padding-top:11px;border-top:1px solid var(--rule)}.facts div{min-width:0}.facts dt{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-dim)}.facts dd{margin:2px 0 0;font-size:12px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.foot{margin-top:44px;padding-top:16px;border-top:1px solid var(--rule);font-size:11px;color:var(--ink-dim);letter-spacing:.03em}.foot p{margin:0 0 4px}.foot .warn{color:var(--high)}@media (max-width: 860px){.grid{grid-template-columns:1fr}.facts{grid-template-columns:repeat(2,1fr)}.brand h1{font-size:26px}}.mapwrap{margin-top:30px}.map{width:100%;height:auto;display:block;background:var(--panel);border:1px solid var(--rule)}.map-base path{fill:var(--panel-2);stroke:var(--rule);stroke-width:.5;vector-effect:non-scaling-stroke}.zone{fill:var(--accent);fill-opacity:.42;stroke:var(--accent);stroke-width:1;vector-effect:non-scaling-stroke;cursor:pointer;transition:fill-opacity .15s ease}.zone-on{fill-opacity:.85}.map-caption{margin-top:9px;font-size:12px;letter-spacing:.04em;min-height:1.5em}.map-caption .sep{color:var(--rule);margin:0 9px}.map-caption .dim{color:var(--ink-dim)}.tier-text-critical{color:var(--critical)}.tier-text-high{color:var(--high)}.tier-text-moderate{color:var(--moderate)}.tier-text-low{color:var(--low)}.map-nation{fill:var(--panel-2);stroke:none}.map-borders{fill:none;stroke:var(--rule);stroke-width:.6;vector-effect:non-scaling-stroke;pointer-events:none}.map-base{display:none}.zone{stroke-width:.4}.controls{display:flex;flex-wrap:wrap;gap:18px 26px;align-items:center;justify-content:space-between;margin-top:22px;padding:12px 14px;background:var(--panel);border:1px solid var(--rule)}.legend{display:flex;flex-wrap:wrap;gap:8px}.chip{display:inline-flex;align-items:center;gap:8px;padding:5px 10px;background:var(--panel-2);border:1px solid var(--rule);color:var(--ink);font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:border-color .15s ease,opacity .15s ease}.chip:hover{border-color:var(--accent)}.chip:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.chip-on{border-color:var(--accent);background:var(--ground)}.chip-off{opacity:.38}.swatch{width:9px;height:9px;background:var(--accent);flex:none}.chip-range{color:var(--ink-dim);font-size:10px}.chip-count{color:var(--accent);font-weight:600}.chip-clear{color:var(--ink-dim)}.states{display:flex;gap:16px}.state{display:flex;align-items:baseline;gap:6px;font-size:11px;letter-spacing:.08em}.state-abbr{color:var(--ink-dim);text-transform:uppercase}.state-count{color:var(--ink);font-weight:600;font-size:13px}.map-context{fill:#131c26;stroke:none}.map-tracked{fill:var(--panel-2);stroke:none}.feed{margin-top:30px}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:10px;align-items:start}.cards .row{margin-bottom:0}@media (max-width: 700px){.controls{flex-direction:column;align-items:flex-start}.cards{grid-template-columns:1fr}}
