/* Shared by the plain pages: coverage, changelog, status, privacy, terms, agents, custom calendar, about, 404, briefings, venues
   (a file, so the CSP needn't allow more). The theme is the visitor's choice on the calendar (theme.js sets data-theme, light
   unless they chose dark); the media query only applies if theme.js didn't run. Colours are tokens: define new ones here. */
:root {
  color-scheme: light dark;
  --bg: #f9f9f7; --fg: #1a1a1a; --muted: #595959; --link: #0b57d0; --line: #d0d0d0; --panel: #f2f1ed; --btn-line: #767676; --ok: #0a6b2d; --bad: #b3261e;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --bg: #0d0d0d; --fg: #e8e8e8; --muted: #b0b0b0; --link: #8ab4f8; --line: #444; --panel: #1d1d1d; --btn-line: #8a8a8a; --ok: #6dd58c; --bad: #f2b8b5;
  }
}
:root[data-theme="dark"] {
  --bg: #0d0d0d; --fg: #e8e8e8; --muted: #b0b0b0; --link: #8ab4f8; --line: #444; --panel: #1d1d1d; --btn-line: #8a8a8a; --ok: #6dd58c; --bad: #f2b8b5;
}
:root[data-theme="light"] { color-scheme: light; }
:root[data-theme="dark"] { color-scheme: dark; }
body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; max-width: 760px; margin: 3rem auto; padding: 0 1.5rem; line-height: 1.6; color: var(--fg); background: var(--bg); }
h1 { font-size: 1.5rem; }
h2 { font-size: 1.1rem; margin-top: 2rem; }
a { color: var(--link); }
a:focus-visible { outline: 3px solid var(--link); outline-offset: 2px; }
.muted { color: var(--muted); font-weight: normal; font-size: 0.9rem; }
table { border-collapse: collapse; width: 100%; font-size: 0.9rem; }
.scroll { overflow-x: auto; }
.scroll:focus-visible { outline: 3px solid var(--link); outline-offset: 2px; }
caption { text-align: left; color: var(--muted); padding-bottom: 0.4rem; }
th, td { text-align: left; padding: 0.3rem 0.6rem; border-bottom: 1px solid var(--line); vertical-align: top; }
.n { text-align: right; font-variant-numeric: tabular-nums; }
.pill { display: inline-block; padding: 0.15rem 0.7rem; border-radius: 1rem; font-weight: 600; border: 2px solid currentColor; }
.ok { color: var(--ok); }
.bad { color: var(--bad); }
.wait { color: var(--muted); }
