/* Shared tokens and resets for every page. */
@font-face {
  font-family: "Press Start 2P";
  font-style: normal; font-weight: 400; font-display: swap;
  src: url("../fonts/PressStart2P-Regular.woff2") format("woff2");
}
:root {
  --bg: #f6f7fb;
  --surface: #ffffff;
  --text: #1c2130;
  --muted: #5d6474;
  --line: #e2e5ee;
  --accent: #1f5eff;
  --accent-ink: #ffffff;
  --tag-bg: #eef2ff;
  --tag-ink: #2b3a67;
  --radius: 12px;
  --font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --bg: #0f1218;
    --surface: #171b24;
    --text: #e8ebf3;
    --muted: #9aa3b5;
    --line: #2a3040;
    --accent: #6c9cff;
    --accent-ink: #0b1020;
    --tag-bg: #232a3b;
    --tag-ink: #c9d3f5;
  }
}
:root[data-theme="dark"] {
  --bg: #0f1218; --surface: #171b24; --text: #e8ebf3; --muted: #9aa3b5; --line: #2a3040;
  --accent: #6c9cff; --accent-ink: #0b1020; --tag-bg: #232a3b; --tag-ink: #c9d3f5;
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; font-family: var(--font); color: var(--text); background: var(--bg); line-height: 1.55; }
a { color: var(--accent); text-decoration: none; }
a:hover { text-decoration: underline; }
h1, h2, h3 { line-height: 1.2; margin: 0 0 .4em; }
p { margin: 0 0 .8em; }
ul, ol { margin: 0 0 .8em 1.2em; padding: 0; }
.muted { color: var(--muted); }
.visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
