/* Deliberately plain. The structure is the product; the visual direction is
   expected to be redone, and nothing here should make that expensive.

   Served as a file rather than inlined because the CSP forbids inline styles --
   which is what makes an injected <style> or <script> useless to an attacker. */

:root {
  --bg: #fff; --fg: #1a1a1a; --dim: #6b7280; --line: #e2e2e2; --panel: #f7f7f6;
  --open: #1a6b4f; --wait: #8a5a00; --blind: #6d6d78; --warn: #a13b2a; --link: #1c4fd8;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme=light]) {
    --bg:#15171a; --fg:#e9eaea; --dim:#9aa1ab; --line:#2c3037; --panel:#1b1e23;
    --open:#4fb894; --wait:#d09a3c; --blind:#9a9aa8; --warn:#e0796a; --link:#7ba2ff;
  }
}
:root[data-theme=dark] {
  --bg:#15171a; --fg:#e9eaea; --dim:#9aa1ab; --line:#2c3037; --panel:#1b1e23;
  --open:#4fb894; --wait:#d09a3c; --blind:#9a9aa8; --warn:#e0796a; --link:#7ba2ff;
}

* { box-sizing: border-box }
body { margin:0; background:var(--bg); color:var(--fg);
       font:16px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif }
.wrap { max-width:860px; margin:0 auto; padding:16px 16px 64px }
a { color:var(--link) }
h1 { font-size:22px; margin:0 0 4px }
h2 { font-size:15px; margin:28px 0 8px; text-transform:uppercase;
     letter-spacing:.06em; color:var(--dim) }
p.sub { color:var(--dim); font-size:14px; margin:0 0 20px }

nav.top { display:flex; gap:16px; align-items:center; padding-bottom:12px;
          border-bottom:1px solid var(--line); margin-bottom:20px; font-size:14px }
nav.top .brand { font-weight:700; margin-right:auto }

.controls { display:flex; gap:12px; flex-wrap:wrap; align-items:center; margin-bottom:8px }
label.ctl { font-size:14px; color:var(--dim); display:flex; gap:6px; align-items:center }
select, input[type=email] { font:inherit; font-size:15px; padding:7px 9px;
  border:1px solid var(--line); border-radius:6px; background:var(--panel);
  color:var(--fg); max-width:100% }
.tabs { display:flex; border:1px solid var(--line); border-radius:6px; overflow:hidden }
.tabs a, .tabs button { font:inherit; font-size:14px; padding:7px 14px; border:0;
  cursor:pointer; background:var(--panel); color:var(--dim); text-decoration:none }
.tabs .on { background:var(--fg); color:var(--bg); font-weight:600 }

/* Centre picker. A <details> holding real links, so switching centre is an
   ordinary navigation that needs no script and no query string. */
.picker { border:1px solid var(--line); border-radius:6px; background:var(--panel);
  margin-bottom:8px }
.picker summary { font-size:14px; color:var(--dim); padding:9px 12px; cursor:pointer;
  list-style:none; display:flex; gap:6px; align-items:baseline }
.picker summary::-webkit-details-marker { display:none }
.picker summary b { color:var(--fg) }
.picker summary::after { content:"\25be"; margin-left:auto; color:var(--dim) }
.picker[open] summary::after { content:"\25b4" }
.picker[open] summary { border-bottom:1px solid var(--line) }
.centres { padding:6px }
.grp h3 { font-size:11px; text-transform:uppercase; letter-spacing:.06em;
  color:var(--dim); margin:8px 6px 4px; font-weight:600 }
a.centre { display:flex; justify-content:space-between; gap:12px; align-items:baseline;
  padding:8px 10px; border-radius:5px; text-decoration:none; color:var(--fg);
  font-size:15px }
a.centre:hover, a.centre:focus-visible { background:var(--bg) }
a.centre.on { font-weight:600 }
a.centre.on::before { content:"\2022\00a0"; color:var(--open) }
a.centre .count { color:var(--dim); font-size:12px; white-space:nowrap }

.coverage { background:var(--panel); border:1px solid var(--line); border-radius:6px;
            padding:10px 12px; font-size:14px; margin:12px 0 4px }
.coverage b { font-weight:600 }
.coverage .no { color:var(--blind) }

table { width:100%; border-collapse:collapse; font-size:15px }
th { text-align:left; font-size:12px; text-transform:uppercase; letter-spacing:.05em;
     color:var(--dim); font-weight:600; padding:8px 6px; border-bottom:1px solid var(--line) }
td { padding:10px 6px; border-bottom:1px solid var(--line); vertical-align:top }
th.num, td.num { text-align:right; white-space:nowrap }
.country { font-weight:600 }
.iso { color:var(--dim); font-size:12px; font-family:ui-monospace,Menlo,monospace;
       margin-right:6px }
.date { color:var(--open); font-weight:600 }
.gone { color:var(--dim); text-decoration:line-through; margin-right:8px }
.meta { color:var(--dim); font-size:12px; display:block }
.meta.old { color:var(--warn); font-weight:600 }
.paused { color:var(--warn); font-size:12px; font-weight:600; display:block;
          letter-spacing:.02em }
.pill { font-size:12px; padding:2px 7px; border-radius:99px; border:1px solid currentColor;
        white-space:nowrap }
.pill.wait { color:var(--wait) }
.pill.none { color:var(--dim); border-color:var(--line) }
.pill.no { color:var(--blind) }
tr.blind td { background:var(--panel); color:var(--dim) }
.btn-sm { font:inherit; font-size:13px; padding:4px 10px; border:1px solid var(--line);
          background:var(--bg); color:var(--fg); border-radius:5px; cursor:pointer;
          white-space:nowrap; text-decoration:none; display:inline-block }
.note { font-size:13px; color:var(--dim); margin:8px 0 0 }
.warnbox { border-left:3px solid var(--warn); padding:8px 12px; margin:10px 0;
           font-size:14px; background:var(--panel) }

fieldset { border:0; padding:0; margin:0 0 20px }
legend { font-size:14px; font-weight:600; padding:0 0 8px }
.checks { display:grid; grid-template-columns:repeat(auto-fill,minmax(190px,1fr)); gap:6px }
.checks label { display:flex; gap:8px; align-items:center; font-size:14px; padding:5px 7px;
                border:1px solid var(--line); border-radius:5px; cursor:pointer }
.checks label.off { color:var(--dim); background:var(--panel); cursor:not-allowed;
                    text-decoration:line-through }
.btn { font:inherit; font-size:15px; font-weight:600; padding:10px 20px; border:0;
       border-radius:6px; background:var(--fg); color:var(--bg); cursor:pointer }
.btn.sec { background:transparent; color:var(--fg); border:1px solid var(--line);
           font-weight:400 }
:focus-visible { outline:2px solid var(--link); outline-offset:2px }
