:root { --ink: #0e0b0d; --ivory: #f3e6cf; --dim: rgba(243,230,207,.72); --gold: #d9a75a; color-scheme: dark; }
* { box-sizing: border-box; }
body { margin: 0; background: var(--ink); color: var(--ivory); font: 16px/1.7 Inter, system-ui, sans-serif; }
header, main, footer { max-width: 720px; margin: 0 auto; padding-left: max(16px, env(safe-area-inset-left, 0px)); padding-right: max(16px, env(safe-area-inset-right, 0px)); }
header { padding-block: calc(20px + env(safe-area-inset-top, 0px)) 8px; }
header a { font: 600 1.35rem 'Cormorant Garamond', Georgia, serif; color: var(--ivory); text-decoration: none; }
header em { color: var(--gold); }
main { padding-block: 24px 40px; }
h1 { font: 600 clamp(2.2rem, 6vw, 3rem)/1.1 'Cormorant Garamond', Georgia, serif; margin: 0 0 6px; }
h2 { font: 600 1.05rem Inter, sans-serif; margin: 30px 0 6px; color: var(--gold); }
p, li { color: var(--dim); }
b { color: var(--ivory); }
.updated { font-size: .85rem; margin: 0 0 18px; }
.short { border-left: 3px solid var(--gold); padding-left: 14px; color: var(--ivory); }
a { color: var(--gold); }
footer { padding-block: 24px calc(32px + env(safe-area-inset-bottom, 0px)); border-top: 1px solid rgba(243,230,207,.12); font-size: .85rem; color: var(--dim); }
