:root{--ink:#e9f2f2;--muted:#8ca5a5;--bg:#071111;--panel:#0d1b1b;--line:#213535;--green:#55e6a5;--amber:#ffbb55;--red:#ff6b65;--cyan:#66d9ef}
[data-theme="light"]{--ink:#142323;--muted:#587070;--bg:#f3f7f5;--panel:#fff;--line:#c8d7d3;--green:#087a50;--amber:#9a5a00;--red:#b52c27;--cyan:#08758b}
[hidden]{display:none!important}
*{box-sizing:border-box}
body{margin:0;background:radial-gradient(circle at 80% -20%,#143434 0,transparent 35%),var(--bg);color:var(--ink);font:15px/1.45 ui-monospace,SFMono-Regular,Menlo,monospace}
header,main{width:min(1500px,94vw);margin:auto}
header{display:flex;justify-content:space-between;align-items:end;padding:34px 0 22px;border-bottom:1px solid var(--line)}
.header-controls{display:flex;align-items:center;gap:9px}
.header-controls label{color:var(--muted);font-size:.72rem;text-transform:uppercase}
.clock{padding-right:9px;border-right:1px solid var(--line);white-space:nowrap}.clock span{display:block;color:var(--muted);font-size:.62rem;text-transform:uppercase}.clock strong{display:block;color:var(--ink);font-size:.82rem}
.nav-link,.theme-toggle{color:var(--green);background:transparent;font:inherit;text-decoration:none;padding:5px 8px;border:1px solid var(--line);border-radius:5px;cursor:pointer}.nav-link:hover,.theme-toggle:hover{border-color:var(--green)}
.theme-toggle:focus-visible{outline:2px solid var(--green);outline-offset:2px}
h1,h2,p{margin:0}
h1{font-size:clamp(2rem,5vw,4.5rem);letter-spacing:-.07em;line-height:.95}
h2{font-size:1.1rem}
.eyebrow{color:var(--green);font-size:.72rem;letter-spacing:.18em;margin-bottom:8px}
.status{padding:8px 12px;border:1px solid var(--line);border-radius:999px;color:var(--muted)}
.status.live{color:var(--green);border-color:#246b4b}
.status.error{color:var(--red);border-color:#713330}
.band-conditions{width:min(1500px,94vw);margin:10px auto 0;display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:.78rem}
.band-conditions-label{color:var(--muted);text-transform:uppercase;font-size:.66rem;letter-spacing:.08em}
.band-chip{display:flex;align-items:center;gap:6px;padding:4px 8px;border:1px solid var(--line);border-radius:6px;color:var(--ink);text-decoration:none;background:var(--panel)}
.band-chip:hover{border-color:var(--green)}
.band-chip-name{font-weight:600}
.band-chip-dots{display:flex;gap:3px}
.band-chip .dot{width:8px;height:8px;border-radius:50%;display:inline-block;background:var(--muted)}
.band-chip .dot.good{background:var(--green)}
.band-chip .dot.fair{background:var(--amber)}
.band-chip .dot.poor{background:var(--red)}
.band-conditions-meta{color:var(--muted);font-size:.68rem;margin-left:auto;white-space:nowrap}
@media(max-width:520px){.band-conditions-meta{margin-left:0;width:100%}}
main{padding:22px 0 50px}
.summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:12px}
.summary article,.panel{background:linear-gradient(145deg,#102121,#0a1616);border:1px solid var(--line);border-radius:10px}
.summary article{padding:20px}
.summary span{color:var(--muted);font-size:.75rem;text-transform:uppercase}
.summary strong{display:block;font-size:2.2rem;margin-top:8px}
.panel{padding:18px;margin-bottom:12px}
.panel-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.band-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}
.band-strip{margin-bottom:8px}
.band{padding:14px;border:1px solid var(--line);border-radius:7px}
.band h3{color:var(--amber);margin:0 0 12px}
.band dl{display:grid;grid-template-columns:1fr auto;gap:6px;margin:0}
.band dt{color:var(--muted)}
.band dd{margin:0}
.split{display:grid;grid-template-columns:1.25fr .75fr;gap:12px}
.split.field-day-map{grid-template-columns:1fr}
#map{height:480px;border-radius:7px;background:#081414}
.leaflet-container{background:#081414}
.matrix-row{margin-bottom:18px}
.matrix-row h3{font-size:.86rem;color:var(--amber)}
.chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}
.chip{padding:3px 6px;border:1px solid var(--line);border-radius:3px;font-size:.72rem}
.worked{color:var(--green);border-color:#246b4b}
.needed{color:#607777}
.other{color:var(--cyan)}
select{background:#071111;color:var(--ink);border:1px solid var(--line);padding:7px;border-radius:5px}
.table-wrap{overflow:auto}
table{width:100%;border-collapse:collapse}
th,td{text-align:left;padding:9px;border-bottom:1px solid var(--line)}
th{color:var(--muted);font-size:.72rem}
#updated{color:var(--muted);font-size:.75rem}
.bad{color:var(--red)}
.field-day{--green:#63b3ff;--amber:#ffd166;--panel:#101d31;--line:#294766;background:radial-gradient(circle at 80% -20%,#173c67 0,transparent 38%),#07111f}
.field-day .panel,.field-day .summary article{background:linear-gradient(145deg,#132843,#0b192b)}
.field-day-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:12px}
.field-day-layout[hidden]{display:none}
.fd-sections{grid-column:1/-1}
.fd-stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.fd-stat-grid div{padding:12px;border:1px solid var(--line);border-radius:6px;background:#0a1728}
.fd-stat-grid span{display:block;color:var(--muted);font-size:.72rem;text-transform:uppercase}
.fd-stat-grid strong{display:block;margin-top:4px;color:var(--amber);font-size:1.45rem}
.fd-section-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.fd-section-group{border:1px solid var(--line);border-radius:6px;padding:10px;background:#0a1728}
.fd-section-group h3{margin:0 0 8px;color:var(--amber);font-size:.8rem}
.fd-section-group div{display:flex;flex-wrap:wrap;gap:5px}
.fd-section{min-width:34px;padding:4px 6px;text-align:center;color:#607991;border:1px solid #29405b;border-radius:3px;font-size:.72rem}
.fd-section.worked{color:#07111f;background:var(--green);border-color:var(--green);font-weight:700}
[data-theme="light"] body{background:radial-gradient(circle at 80% -20%,#d9ece7 0,transparent 35%),var(--bg)}
[data-theme="light"] .summary article,[data-theme="light"] .panel,[data-theme="light"] .ops-summary article{background:linear-gradient(145deg,#fff,#edf4f1)}
[data-theme="light"] select,[data-theme="light"] .fd-config-panel input,[data-theme="light"] .fd-config-panel select{background:#fff;color:var(--ink)}
[data-theme="light"] #map,[data-theme="light"] .leaflet-container{background:#eaf1ef}
[data-theme="light"] body.field-day{--green:#176db3;--amber:#875900;--panel:#fff;--line:#bfd0df;background:radial-gradient(circle at 80% -20%,#dceafa 0,transparent 38%),#f2f6fb}
[data-theme="light"] .field-day .panel,[data-theme="light"] .field-day .summary article{background:linear-gradient(145deg,#fff,#edf3fa)}
[data-theme="light"] .fd-stat-grid div,[data-theme="light"] .fd-section-group{background:#f4f7fb}
[data-theme="light"] .fd-section.worked{color:#fff}
@media(max-width:900px){.summary{grid-template-columns:repeat(2,1fr)}
.band-grid{grid-template-columns:repeat(3,1fr)}
.split{grid-template-columns:1fr}
.field-day-layout{grid-template-columns:1fr}.fd-section-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:520px){header{align-items:start;gap:16px;flex-direction:column}
.header-controls{flex-wrap:wrap}
.summary{grid-template-columns:1fr 1fr}
.band-grid{grid-template-columns:repeat(2,1fr)}
.summary strong{font-size:1.6rem}
.fd-section-grid{grid-template-columns:1fr}
}
@media(min-width:1200px) and (min-height:700px){
header{padding:9px 0 7px;align-items:center}h1{font-size:1.8rem;letter-spacing:-.04em}.status{padding:5px 9px}.header-controls select{padding:5px}
main{padding:7px 0 10px}.summary{gap:5px;margin-bottom:5px}.summary article{padding:7px 11px}.summary strong{font-size:1.4rem;margin-top:0}
.panel{padding:8px;margin-bottom:5px}.panel-heading{margin-bottom:5px}.panel-heading .eyebrow{display:none}.band-strip{margin-bottom:4px}.band-grid{gap:4px}.band{padding:4px 7px}.band h3{display:inline-block;margin:0 8px 0 0}.band dl{display:inline-grid;grid-template-columns:auto auto;gap:0 4px;vertical-align:middle}.band dt{font-size:.68rem}.band dd{font-size:.72rem}
#map{height:280px}.matrix-row{margin-bottom:5px}.chips{margin-top:2px;gap:3px}.chip{padding:1px 4px}
#recent-panel .panel-heading{margin-bottom:3px}#recent-panel .table-wrap{max-height:140px;overflow:auto}th,td{padding:3px 7px}
.field-day-layout{grid-template-columns:.5fr .75fr 1.75fr;gap:5px}.fd-sections{grid-column:auto}.fd-stat-grid{gap:3px}.fd-stat-grid div{padding:5px 7px}.fd-stat-grid strong{font-size:1rem;margin-top:1px}
.fd-section-grid{grid-template-columns:repeat(4,1fr);gap:3px}.fd-section-group{padding:4px}.fd-section-group h3{margin-bottom:2px}.fd-section-group div{gap:2px}.fd-section{min-width:27px;padding:1px 3px}
}
