/* Shared by privacy.html and terms.html. The landing page keeps its own
   inline styles — it is one page with a lot of layout; these are two pages
   with almost none, and they only need the tokens plus readable prose. */
:root {
  --canvas:#f4f3ef; --surface:#ffffff; --hairline:#e5e3df; --hairline-soft:#ededea;
  --ink:#1a1a18; --body:#4a4a47; --muted:#6f6e6a; --muted-soft:#a09e98;
  --mint:#3AC8A8; --firing-tint:#fef3df; --firing-ink:#7a5212;
  --sans:'Inter','SF Pro Text',-apple-system,BlinkMacSystemFont,system-ui,sans-serif;
  --mono:'JetBrains Mono',ui-monospace,'SF Mono',Menlo,monospace;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --canvas:#0e0e0c; --surface:#1a1916; --hairline:#423f3a; --hairline-soft:#312e2b;
    --ink:#f4f3ef; --body:#c7c5c0; --muted:#9c9992; --muted-soft:#6a6864;
    --firing-tint:rgba(245,179,66,.16); --firing-ink:#f0c98a;
  }
}
:root[data-theme="dark"] {
  --canvas:#0e0e0c; --surface:#1a1916; --hairline:#423f3a; --hairline-soft:#312e2b;
  --ink:#f4f3ef; --body:#c7c5c0; --muted:#9c9992; --muted-soft:#6a6864;
  --firing-tint:rgba(245,179,66,.16); --firing-ink:#f0c98a;
}
*,*::before,*::after { box-sizing:border-box; }
body {
  margin:0; background:var(--canvas); color:var(--body);
  font-family:var(--sans); font-size:16.5px; line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
.wrap { max-width:760px; margin:0 auto; padding:0 24px; }
h1,h2,h3 { color:var(--ink); margin:0; font-weight:600; letter-spacing:-.02em; text-wrap:balance; }
h1 { font-size:clamp(31px,4.4vw,42px); line-height:1.1; }
h2 { font-size:21px; line-height:1.3; margin-top:44px; }
h3 { font-size:17px; margin-top:28px; }
p, li { margin:14px 0; }
ul { padding-left:22px; }
a { color:var(--ink); text-decoration-color:var(--mint); text-underline-offset:3px; }
:focus-visible { outline:2px solid var(--mint); outline-offset:3px; border-radius:6px; }
code { font-family:var(--mono); font-size:.88em; background:var(--hairline-soft); padding:1px 5px; border-radius:4px; color:var(--ink); }
header.site { border-bottom:1px solid var(--hairline-soft); }
header.site .row { display:flex; align-items:center; justify-content:space-between; height:68px; }
.logo { display:inline-flex; align-items:center; gap:9px; text-decoration:none; }
.logo .word {
  font-family:'Quicksand',sans-serif; font-weight:700; font-size:24px;
  letter-spacing:-.025em; line-height:1; color:var(--ink); -webkit-text-stroke:.32px currentColor;
}
header.site a.back { font-size:15px; color:var(--muted); text-decoration:none; }
header.site a.back:hover { color:var(--ink); }
.doc { padding:clamp(44px,6vw,72px) 0 96px; }
.updated { font-family:var(--mono); font-size:12.5px; color:var(--muted); margin-top:14px; }
.note {
  background:var(--firing-tint); color:var(--firing-ink); border-radius:12px;
  padding:18px 20px; margin:28px 0; font-size:15px;
}
.note strong { font-weight:600; }
.todo {
  font-family:var(--mono); font-size:.86em; background:var(--firing-tint);
  color:var(--firing-ink); padding:1px 6px; border-radius:4px;
}
footer.site { border-top:1px solid var(--hairline-soft); padding:28px 0 56px; font-size:14.5px; color:var(--muted-soft); }
footer.site a { color:var(--muted); text-decoration:none; margin-right:20px; }
footer.site a:hover { color:var(--ink); }
