/* Built by scripts/build-site.ts from src/theme (Section 4). */
@font-face { font-family: 'Literata'; font-weight: 400; font-display: swap; src: url('/fonts/Literata-Regular.ttf') format('truetype'); }
@font-face { font-family: 'Literata'; font-weight: 600; font-display: swap; src: url('/fonts/Literata-SemiBold.ttf') format('truetype'); }
@font-face { font-family: 'Atkinson Hyperlegible Next'; font-weight: 400; font-display: swap; src: url('/fonts/AtkinsonHyperlegibleNext-Regular.ttf') format('truetype'); }
@font-face { font-family: 'Atkinson Hyperlegible Next'; font-weight: 700; font-display: swap; src: url('/fonts/AtkinsonHyperlegibleNext-Bold.ttf') format('truetype'); }
:root { --paper: #F8F4EC; --surface: #FFFDF8; --sunken: #F1EBDF; --line: #E4DACA; --ink: #2B2620; --ink2: #5F574D; --ink3: #746B60; --marian: #2F4A6D; --onMarian: #FFFFFF; --candle: #C9922E; --safe: #E8EEF6; color-scheme: light dark; }
@media (prefers-color-scheme: dark) { :root { --paper: #1C1813; --surface: #26211A; --sunken: #2F291F; --line: #40382D; --ink: #F1EBDF; --ink2: #C9BFAF; --ink3: #A99F90; --marian: #9DB8DC; --onMarian: #10161F; --candle: #E2B256; --safe: #1E2836; } }
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--paper); color: var(--ink); font: 400 1.0625rem/1.5rem 'Atkinson Hyperlegible Next', Arial, sans-serif; }
main { max-width: 35rem; margin: 0 auto; padding: 3rem 1.5rem 4rem; }
h1 { font: 600 1.875rem/2.25rem 'Literata', Georgia, serif; margin: 0 0 1rem; }
h2 { font: 600 1.5rem/1.875rem 'Literata', Georgia, serif; margin: 2rem 0 0.75rem; }
h3 { font: 700 1.0625rem/1.375rem 'Atkinson Hyperlegible Next', Arial, sans-serif; margin: 1.5rem 0 0.5rem; }
p, ul { margin: 0 0 1rem; }
ul { padding-left: 1.5rem; }
li { margin-bottom: 0.5rem; }
a { color: var(--marian); text-underline-offset: 0.15em; }
a:focus-visible, button:focus-visible { outline: 2px solid var(--marian); outline-offset: 2px; }
.letter { font: 400 1.1875rem/1.875rem 'Literata', Georgia, serif; }
.mark { display: block; width: 4.5rem; height: 4.5rem; margin-bottom: 1.5rem; border-radius: 1.25rem; }
.soon { font: 700 1.0625rem/1.375rem 'Atkinson Hyperlegible Next', Arial, sans-serif; margin-top: 1.5rem; }
.caption { font: 400 0.9375rem/1.25rem 'Atkinson Hyperlegible Next', Arial, sans-serif; color: var(--ink2); }
footer { margin-top: 3rem; padding-top: 1rem; border-top: 1px solid var(--line); }
footer a { display: inline-block; min-height: 2.75rem; padding: 0.75rem 0; }
.table { overflow-x: auto; margin: 0 0 1rem; }
table { border-collapse: collapse; font: 400 0.9375rem/1.25rem 'Atkinson Hyperlegible Next', Arial, sans-serif; min-width: 100%; }
th, td { text-align: left; vertical-align: top; padding: 0.5rem 0.75rem 0.5rem 0; border-bottom: 1px solid var(--line); }
thead th { font-weight: 700; }
button { min-height: 3.125rem; width: 100%; border: 0; border-radius: 0.875rem; background: var(--marian); color: var(--onMarian); font: 700 1.0625rem/1.375rem 'Atkinson Hyperlegible Next', Arial, sans-serif; cursor: pointer; }
