:root {
  --page: #000721; --card: #000828; --edge: #232C4A;
  --text: #F2F5FF; --muted: #B1B8D0; --dim: #7A829E;
  --accent: #7AD8FF; --gold: #FFD27F;
}
@media (prefers-color-scheme: light) {
  :root {
    --page: #FBFCFF; --card: #FFFFFF; --edge: #DDE3F0;
    --text: #10142B; --muted: #454C68; --dim: #6B7290;
    --accent: #0A6E9B; --gold: #8A6412;
  }
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0; padding: 0;
  background: var(--page); color: var(--text);
  font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  font-size: 17px; line-height: 1.65;
}
.wrap { max-width: 44rem; margin: 0 auto; padding: 2.5rem 1.25rem 5rem; }
header.masthead { border-bottom: 1px solid var(--edge); padding-bottom: 1.5rem; margin-bottom: 2.5rem; }
.eyebrow {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: .7rem; letter-spacing: .22em; text-transform: uppercase;
  color: var(--gold); margin: 0 0 .6rem;
}
h1 { font-size: 1.9rem; line-height: 1.25; font-weight: 600; margin: 0 0 .5rem; letter-spacing: -.01em; }
h2 {
  font-size: 1.25rem; font-weight: 600; margin: 2.75rem 0 .85rem;
  padding-top: 1.25rem; border-top: 1px solid var(--edge); letter-spacing: -.01em;
}
h3 { font-size: 1.02rem; font-weight: 600; margin: 1.9rem 0 .6rem; color: var(--accent); }
p, li { color: var(--muted); }
p { margin: 0 0 1.05rem; }
strong { color: var(--text); font-weight: 600; }
a { color: var(--accent); text-decoration-thickness: 1px; text-underline-offset: 2px; }
ul, ol { padding-left: 1.3rem; margin: 0 0 1.05rem; }
li { margin-bottom: .45rem; }
hr { border: 0; border-top: 1px solid var(--edge); margin: 2.5rem 0; }
code {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: .87em; background: var(--card);
  border: 1px solid var(--edge); border-radius: 4px; padding: .1em .35em;
  overflow-wrap: anywhere;
}
/* Wide content scrolls inside its own box; the page body never scrolls sideways. */
.table-scroll { overflow-x: auto; margin: 0 0 1.4rem; border: 1px solid var(--edge); border-radius: 10px; }
table { border-collapse: collapse; width: 100%; font-size: .92rem; }
th, td { text-align: left; padding: .7rem .85rem; border-bottom: 1px solid var(--edge); vertical-align: top; }
th { color: var(--text); font-weight: 600; background: var(--card); white-space: nowrap; }
tr:last-child td { border-bottom: 0; }
td { color: var(--muted); }
.updated {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: .78rem; color: var(--dim); margin: 0;
}
footer {
  margin-top: 4rem; padding-top: 1.5rem; border-top: 1px solid var(--edge);
  font-size: .84rem; color: var(--dim);
}
footer a { color: var(--dim); }
/* Landing page: the wordmark and nothing else. */
.hero-page { min-height: 100vh; min-height: 100dvh; display: flex; flex-direction: column; }
.hero {
  flex: 1; display: flex; align-items: center; justify-content: center;
  padding: 3rem 1.25rem;
}
.wordmark {
  margin: 0; text-align: center; text-wrap: balance;
  font-size: clamp(2.4rem, 11vw, 5.5rem);
  font-weight: 600; letter-spacing: -.03em; line-height: 1.05;
}
.hero-footer {
  margin: 0; padding: 0 1.25rem 2.5rem; text-align: center;
  font-size: .84rem; color: var(--dim); border: 0;
}
.hero-footer p { margin: 0; color: var(--dim); }
.hero-footer a { color: var(--dim); }
.notice {
  background: var(--card); border: 1px solid var(--edge); border-radius: 10px;
  padding: 1.15rem 1.25rem; margin: 0 0 1.4rem;
}
.notice p:last-child { margin-bottom: 0; }
.tag {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: .62rem; letter-spacing: .12em; text-transform: uppercase;
  color: var(--gold); border: 1px solid var(--edge); border-radius: 99px;
  padding: .1em .5em; margin-left: .5rem; vertical-align: .12em; white-space: nowrap;
}
.back {
  display: inline-block; font-size: .82rem; margin: 0 0 1.75rem;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
}
