@font-face {
  font-family: Inter;
  src: url('../fonts/inter.woff2') format('woff2');
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}

:root {
  color-scheme: light;
  --bg: #f6f5f1;
  --surface: #fffefa;
  --raised: #fff;
  --ink: #242723;
  --muted: #686c65;
  --faint: #6b7066;
  --line: #e2e3db;
  --soft: #eeeee7;
  --accent: #ad382a;
  --accent-bright: #ed654d;
  --accent-soft: #f9e9e2;
  --green: #37634c;
  --green-soft: #e8f0e6;
  --amber: #795820;
  --amber-soft: #f5eedc;
  --sidebar: #f0f0e9;
  --radius: 14px;
  --shadow: 0 18px 60px #17261a12;
  font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 14px;
}

[data-theme='dark'] {
  color-scheme: dark;
  --bg: #171a18;
  --surface: #1e221f;
  --raised: #252a26;
  --ink: #f0f1e8;
  --muted: #afb5ab;
  --faint: #a2aa9e;
  --line: #353b34;
  --soft: #2b312b;
  --accent: #ff9c85;
  --accent-bright: #ed8069;
  --accent-soft: #382a25;
  --green: #a3d4b0;
  --green-soft: #25382c;
  --amber: #e0c58e;
  --amber-soft: #363123;
  --sidebar: #1b1f1b;
  --shadow: 0 18px 60px #0004;
}

* { box-sizing: border-box; }
body { margin: 0; color: var(--ink); background: var(--bg); }
button, input, select { font: inherit; }
button, a, input, select, summary { -webkit-tap-highlight-color: transparent; }
button { color: inherit; cursor: pointer; }
a { color: inherit; text-decoration: none; }
button, input, select { border-radius: 0; }
button { border: 0; background: none; }
button:disabled { cursor: default; }
img, svg { display: block; }
h1, h2, h3, p { margin: 0; }
h2, h3 { font-weight: 600; letter-spacing: -.035em; }
h2 { font-size: 20px; line-height: 1.35; }
h3 { font-size: 17px; line-height: 1.4; }
p { line-height: 1.75; }
strong { font-weight: 600; }
code, pre, kbd, .mono { font-family: ui-monospace, 'SFMono-Regular', Consolas, monospace; }
code { font-size: 12px; }
button, a, input, select, summary { outline-offset: 4px; }
:focus-visible { outline: 2px solid var(--accent); }
::selection { background: var(--accent-soft); color: var(--accent); }
.icon { width: 19px; height: 19px; flex-shrink: 0; }
.muted { color: var(--muted); }
.positive { color: var(--green); }
.amber { color: var(--amber); }
.mono { font-size: 10px; letter-spacing: .035em; }
.eyebrow { font-size: 10px; font-weight: 600; letter-spacing: .13em; line-height: 1.6; color: var(--muted); }
.serif-word { font-family: Georgia, 'Times New Roman', serif; font-style: italic; font-weight: 400; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.skip-link { position: fixed; left: 260px; top: -80px; z-index: 100; padding: 14px; background: var(--ink); color: var(--bg); }
.skip-link:focus { top: 12px; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
