:root {
  --bg: #ffffff; --panel: #f8fafc; --ink: #0f172a; --muted: #475569;
  --line: #e2e8f0; --accent: #2563eb; --warn-bg: #fffbeb; --warn-line: #fcd34d;
  --good-bg: #f0fdf4; --good-line: #86efac;
}
@media (prefers-color-scheme: dark) {
  :root {
    --bg: #0D1117; --panel: #161B22; --ink: #E6EDF3; --muted: #8B949E;
    --line: #30363D; --accent: #58A6FF; --warn-bg: #1f1a0a; --warn-line: #78642a;
    --good-bg: #0c1a11; --good-line: #2d5a3d;
  }
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0; background: var(--bg); color: var(--ink);
  font: 16px/1.65 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}
.wrap { max-width: 44rem; margin: 0 auto; padding: 2.5rem 1rem 5rem; }
header { border-bottom: 1px solid var(--line); padding-bottom: 1.25rem; margin-bottom: 2rem; }
.brand { font-size: .75rem; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; color: var(--muted); }
h1 { font-size: 1.75rem; line-height: 1.2; margin: .4rem 0 .5rem; letter-spacing: -.02em; }
h2 { font-size: 1.15rem; margin: 2.5rem 0 .6rem; letter-spacing: -.01em; }
h3 { font-size: 1rem; margin: 1.6rem 0 .4rem; }
p, li { color: var(--ink); }
.meta { color: var(--muted); font-size: .875rem; margin: 0; }
ul { padding-left: 1.15rem; }
li { margin: .35rem 0; }
a { color: var(--accent); }
.box { border: 1px solid var(--line); background: var(--panel); border-radius: .75rem; padding: 1rem 1.15rem; margin: 1.25rem 0; }
.box.can { background: var(--good-bg); border-color: var(--good-line); }
.box.cant { background: var(--warn-bg); border-color: var(--warn-line); }
.box h3 { margin-top: 0; }
.box ul { margin-bottom: 0; }
.fill { background: #fde68a; color: #422006; padding: 0 .3em; border-radius: .2em; font-weight: 700; }
@media (prefers-color-scheme: dark) { .fill { background: #78642a; color: #fef3c7; } }
footer { margin-top: 4rem; padding-top: 1.25rem; border-top: 1px solid var(--line); color: var(--muted); font-size: .8125rem; }
nav.docs { margin-top: .75rem; font-size: .875rem; }
