:root { color-scheme: dark; --bg: #0e0e0c; --panel: #1c1a14; --text: #f2ead3; --muted: #b5a999; --accent: #ff794f; --rule: #575044; }
* { box-sizing: border-box; }
html { scroll-behavior: auto; scroll-padding-top: 1.5rem; }
body { margin: 0; background: var(--bg); color: var(--text); font: 18px/1.65 Georgia, serif; overflow-wrap: anywhere; }
a { color: var(--accent); text-underline-offset: .22em; }
a:hover { color: var(--text); }
:focus-visible { outline: 3px solid var(--accent); outline-offset: 5px; }
.page { max-width: 1160px; margin: auto; padding: 32px 56px 64px; }
.topbar, .meta, .eyebrow, nav, footer, th, caption, summary { font-family: ui-monospace, Menlo, Consolas, monospace; }
.topbar { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem; padding: 0 0 24px; border-bottom: 1px solid var(--rule); font-size: 14px; }
.topbar a { padding: 8px 0; }
.hero { padding: 64px 0 40px; }
.eyebrow { color: var(--accent); font-size: 14px; letter-spacing: .09em; text-transform: uppercase; }
h1 { font-size: clamp(44px, 6vw, 88px); font-weight: 400; line-height: 1.04; letter-spacing: -.035em; max-width: 960px; margin: 18px 0 24px; }
h2 { font-size: clamp(28px, 3vw, 42px); font-weight: 400; line-height: 1.2; margin: 0 0 24px; }
h3 { font-size: 24px; font-weight: 400; line-height: 1.3; }
p, ul, ol { max-width: 78ch; }
.dek { color: var(--muted); font-size: 22px; max-width: 65ch; }
.meta { font-size: 14px; color: var(--muted); }
nav { display: flex; flex-wrap: wrap; gap: 12px 28px; padding: 20px 0; font-size: 16px; border-block: 1px solid var(--rule); }
nav a { padding: 8px 0; }
section { padding: 44px 0; border-bottom: 1px solid var(--rule); }
.table-scroll { overflow-x: auto; max-width: 100%; }
table { border-collapse: collapse; width: 100%; font-size: 16px; min-width: 640px; }
caption { color: var(--muted); font-size: 14px; text-align: left; padding: 0 0 16px; }
th, td { text-align: left; vertical-align: top; padding: 18px 20px 18px 0; border-bottom: 1px solid var(--rule); }
th:first-child { min-width: 9rem; width: 18%; }
th { font-size: 14px; font-weight: 500; color: var(--accent); }
.note { border-left: 3px solid var(--accent); background: var(--panel); padding: 16px 24px; margin: 28px 0; }
.note p { margin: 0; }
.details-list { display: grid; gap: 16px; }
details { padding: 20px; border: 1px solid var(--rule); }
summary { font-size: 18px; cursor: pointer; padding: 4px; }
details p:last-child { margin-bottom: 0; }
.setup-checklist { display: grid; gap: 1rem; grid-template-columns: 1fr; border: 1px solid var(--rule); padding: 24px; margin-top: 28px; }
.setup-checklist legend { padding: 0 8px; }
.setup-checklist label { display: flex; align-items: flex-start; gap: .75rem; }
.setup-checklist input { flex: none; width: 20px; height: 20px; margin-top: .4em; accent-color: var(--accent); }
footer { color: var(--muted); font-size: 14px; padding: 28px 0; }
@media (min-width: 48rem) { .setup-checklist { grid-template-columns: 1fr 1fr; } }
@media (max-width: 700px) { .page { padding: 24px 22px 40px; } .hero { padding: 36px 0 28px; } body { font-size: 16px; } .dek { font-size: 20px; } section { padding: 32px 0; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation: none !important; transition: none !important; } html { scroll-behavior: auto; } }

.roundup { --bg: #121416; --panel: #1b2028; --text: #ede9df; --accent: #e2b782; font-family: Arial, Helvetica, sans-serif; }
.chronology { list-style: none; padding: 0; max-width: none; }
.chronology li { border-top: 1px solid var(--rule); padding: 28px 0; }
.chronology time { font: 14px/1.5 ui-monospace, Menlo, monospace; color: var(--muted); }
.chronology p { font-size: 22px; max-width: 60ch; margin: 12px 0; }
.field-guide { --bg: #0c0b0a; --panel: #1e1c1a; --text: #e8e0d4; font-family: Arial, Helvetica, sans-serif; }
.field-guide h1, .field-guide h2, .field-guide h3 { font-family: Georgia, serif; }
