:root{color-scheme:dark;--bg:#0b1017;--surface:#121b26;--line:#243140;--muted:#8b9aab;--accent:#5ce2bf}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 85% 0%,#142632 0,transparent 46%),var(--bg);color:#e8eef4;font-family:system-ui,-apple-system,sans-serif;font-size:14px}header,footer{display:flex;justify-content:space-between;align-items:center;padding:26px 5%;border-bottom:1px solid var(--line)}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:var(--accent);font-size:30px}.brand span{color:#edf4fa;font-size:20px;font-weight:750;letter-spacing:2px}.brand small{display:block;font-size:9px;letter-spacing:2px;color:var(--muted);margin-top:5px}.badge,.eyebrow,.section-heading>span{font-size:10px;letter-spacing:1.5px;color:var(--muted)}i{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);margin:0 7px}.badge{border:1px solid var(--line);padding:10px;border-radius:5px}main{max-width:1500px;margin:auto;padding:42px 5% 60px}.intro{display:flex;justify-content:space-between;align-items:center;margin-bottom:42px}h1{font-size:clamp(26px,3vw,40px);letter-spacing:-1.3px;margin:12px 0}.subtitle,.node small{color:var(--muted);line-height:1.6}.node{font-size:11px;letter-spacing:1px}.node small{display:block;font-size:11px;letter-spacing:0;margin:8px 0 0 15px}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}h2{font-size:17px;font-weight:600;margin:0}.modules{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:38px}button{font:inherit;cursor:pointer}.modules button{background:linear-gradient(125deg,#16212e,#111923);border:1px solid var(--line);border-radius:9px;padding:21px;text-align:left;color:inherit;transition:transform .15s,border-color .15s;min-height:164px}.modules button:hover{transform:translateY(-3px);border-color:#6a8698}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.modules .selected{border-color:#409e8a;background:linear-gradient(125deg,#18332f,#122222)}.icon{display:block;font-size:25px;color:#93aabe;margin-bottom:15px}.selected .icon,.live{color:var(--accent)}.modules strong{display:block;font-size:15px;margin-bottom:6px}.modules button>span:not(.icon){font-size:12px;color:var(--muted)}.modules small{display:block;font-size:9px;letter-spacing:1px;margin-top:20px;color:var(--muted)}.modules small.live{color:var(--accent)}.metrics{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--line);border-radius:9px;background:#111a24;overflow:hidden}.metrics article{padding:24px 20px;border-right:1px solid var(--line);min-width:0}.metrics article:last-child{border:0}.metrics p{font-size:9px;letter-spacing:1.2px;color:var(--muted);margin:0 0 20px}.value{font-size:31px;letter-spacing:-1px;font-weight:550;white-space:nowrap}.value.uptime{font-size:25px;line-height:38px}.metrics small{font-size:10px;color:var(--muted)}meter{display:block;width:100%;height:5px;border:0;margin:21px 0 13px;background:#293848}meter::-webkit-meter-bar{background:#293848;border:0}meter::-webkit-meter-optimum-value{background:var(--accent)}meter::-moz-meter-bar{background:var(--accent)}.rule{height:1px;background:var(--line);margin:25px 0 17px}.telemetry-footer{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);padding:15px 0}footer{border-top:1px solid var(--line);border-bottom:0;font-size:9px;color:var(--muted);letter-spacing:1px}footer b{padding:0 8px;color:var(--accent)}#placeholder{border:1px solid var(--line);border-radius:9px;text-align:center;padding:45px 20px;background:var(--surface)}#placeholder .coming{font-size:30px;color:var(--accent)}#placeholder>p{color:var(--muted)}#back{background:#203c38;border:1px solid #409e8a;color:#e8eef4;padding:12px 18px;border-radius:6px;margin-top:14px}[hidden]{display:none!important}@media(min-width:1200px){.modules{grid-template-columns:repeat(7,1fr)}.modules button{padding:18px 15px}.modules strong{font-size:13px}}@media(max-width:800px){.metrics{grid-template-columns:repeat(2,1fr)}.metrics article{border-bottom:1px solid var(--line)}.intro .node{display:none}.modules{grid-template-columns:repeat(2,1fr)}.metrics article:last-child{grid-column:1/-1}footer{gap:15px;flex-wrap:wrap}.badge{font-size:8px}.telemetry-footer{gap:12px;flex-wrap:wrap}main{padding-top:28px}}@media(prefers-reduced-motion:reduce){.modules button{transition:none}}
/* Phase 2: dispatch navigation, summary and history. */
a{color:var(--accent)}.modules .module-link{display:block;background:linear-gradient(125deg,#16212e,#111923);border:1px solid var(--line);border-radius:9px;padding:21px;text-align:left;color:inherit;text-decoration:none;min-height:164px;transition:transform .15s,border-color .15s}.modules .module-link:hover{transform:translateY(-3px);border-color:#6a8698}.module-link>span:not(.icon){font-size:12px;color:var(--muted)}.dispatch-summary{margin-bottom:34px;background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:22px}.dispatch-summary>p,#dispatch-status{color:var(--muted);font-size:12px}.dispatch-summary #today-count{color:var(--accent);font-size:26px}.recent-dispatches{list-style:none;padding:0;margin:0}.recent-dispatches a{display:grid;grid-template-columns:190px 150px 1fr;gap:16px;padding:14px 0;border-top:1px solid var(--line);text-decoration:none;color:inherit}.recent-dispatches small,.recent-dispatches span{color:var(--muted)}.dispatch-filters{display:flex;align-items:end;gap:16px;flex-wrap:wrap;margin:28px 0 18px}.dispatch-filters label{display:grid;gap:8px;color:var(--muted);flex:1;min-width:200px}input,.dispatch-filters button,.expand-dispatch{background:var(--surface);color:#e8eef4;border:1px solid var(--line);border-radius:6px;padding:12px;font:inherit}input:focus-visible{outline:2px solid var(--accent)}.dispatch-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:8px}table{border-collapse:collapse;width:100%;background:var(--surface);text-align:left;font-size:13px}caption{text-align:left;padding:16px;color:var(--muted)}th{color:var(--muted);font-size:11px;letter-spacing:.5px}th,td{padding:14px;border-top:1px solid var(--line);vertical-align:top}td{overflow-wrap:anywhere;min-width:100px}.dispatch-detail td{background:#0e1720;padding:22px}.dispatch-details{display:grid;grid-template-columns:180px 1fr;gap:12px 20px;margin:0}.dispatch-details dt{color:var(--muted)}.dispatch-details dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.expand-dispatch{padding:8px 12px;color:var(--accent)}@media(min-width:1200px){.modules .module-link{padding:18px 15px}}@media(max-width:800px){.recent-dispatches a{grid-template-columns:1fr;gap:7px}.dispatch-details{grid-template-columns:1fr;gap:8px}.dispatch-details dd{margin-bottom:12px}.dispatch-summary .section-heading{gap:16px}.dispatch-filters label{min-width:100%}}
.weather-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.weather-card{background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:24px;overflow-wrap:anywhere}.weather-card .section-heading{gap:14px;flex-wrap:wrap}.weather-status{font-size:10px!important;letter-spacing:1px;padding:5px 8px;border:1px solid currentColor;border-radius:5px;display:inline-block}.weather-status.online{color:var(--accent)}.weather-status.stale{color:#f3ca76}.weather-status.offline,.weather-error{color:#ef9d9d}.weather-readings{display:grid;grid-template-columns:1fr 1fr;gap:14px 20px;margin-top:24px}.weather-readings dt{color:var(--muted)}.weather-readings dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}@media(max-width:800px){.weather-grid{grid-template-columns:1fr}.weather-card{padding:20px}}
.receiver-history{margin-top:35px}.receiver-history>input{width:100%;margin:10px 0}.listen-button{display:inline-block;padding:11px 18px;border:1px solid #409e8a;border-radius:6px;text-decoration:none;margin-top:15px;background:#18332f}
