/* The app's own fonts (OFL, licences in /fonts) and colours (Assets.xcassets). No third-party requests (D-056). */
@font-face { font-family: "Besley"; src: url("fonts/Besley.ttf") format("truetype"); font-weight: 400 900; font-display: swap; }
@font-face { font-family: "Atkinson"; src: url("fonts/AtkinsonHyperlegibleNext.ttf") format("truetype"); font-weight: 200 800; font-display: swap; }

:root { --canvas: #FDF2D4; --tint: #E3EFD6; --ink: #05192D; --accent: #3F7C78; --card: #FFFBEF; color-scheme: light dark; }
@media (prefers-color-scheme: dark) {
  :root { --canvas: #05192D; --tint: #0C303D; --ink: #FDF2D4; --accent: #8CC7C1; --card: #12304A; }
}

* { box-sizing: border-box; }
body { margin: 0; background: var(--canvas); color: var(--ink); font: 1.125rem/1.6 "Atkinson", system-ui, sans-serif; }
main, header, footer { max-width: 40rem; margin: 0 auto; padding: 0 16px; }
header { padding-top: 24px; }
header a { font: 700 1.5rem "Besley", Georgia, serif; color: var(--ink); text-decoration: none; }
h1, h2 { font-family: "Besley", Georgia, serif; line-height: 1.25; }
h1 { font-size: 2.25rem; margin: 32px 0 8px; }
h2 { font-size: 1.375rem; margin: 32px 0 8px; }
a { color: var(--accent); }
.note { background: var(--card); border-radius: 12px; padding: 16px; margin: 24px 0; }
.date { opacity: .8; margin-top: 0; }
.hero { text-align: center; }
.hero img { width: min(280px, 70%); height: auto; }
footer { padding: 32px 16px 48px; font-size: 1rem; }
footer nav a { margin-right: 16px; }
