@font-face { font-family: 'Fraunces'; font-style: normal; font-weight: 500 700; font-display: swap; src: url(/fonts/fraunces.woff2) format('woff2'); }
@font-face { font-family: 'Manrope'; font-style: normal; font-weight: 500 800; font-display: swap; src: url(/fonts/manrope.woff2) format('woff2'); }
:root { --ink: #1A1740; --muted: #3E3A6B; --card: #FFFFFFE0; --accent: #4A3FA8; color-scheme: light; }
* { box-sizing: border-box; }
html { background: #C3C3F7; }
body { margin: 0; min-height: 100vh; font: 500 16px/1.65 'Manrope', system-ui, -apple-system, 'Segoe UI', sans-serif; color: var(--ink);
  background: linear-gradient(165deg, #AFC0FF 0%, #BDB6F6 45%, #CFB3EE 100%) #C3C3F7; }
main { width: min(760px, 100% - 32px); margin: 24px auto; padding: 28px clamp(18px, 5vw, 44px); background: var(--card); border-radius: 18px; }
h1, h2 { font-family: 'Fraunces', Georgia, serif; line-height: 1.2; }
h1 { font-size: 2rem; margin: 0 0 4px; }
h2 { font-size: 1.25rem; margin: 28px 0 6px; }
p, li { color: var(--ink); }
.updated { color: var(--muted); margin-top: 0; }
a { color: var(--accent); font-weight: 700; }
a:focus-visible { outline: 3px solid var(--accent); outline-offset: 2px; border-radius: 4px; }
.back { display: inline-flex; align-items: center; min-height: 44px; }
nav.foot { display: flex; flex-wrap: wrap; gap: 4px 20px; width: min(760px, 100% - 32px); margin: 0 auto 32px; }
nav.foot a { display: inline-flex; align-items: center; min-height: 44px; color: var(--ink); }
.ph { background: #FFE9A8; padding: 0 4px; border-radius: 4px; }
