:root { --bg:#fff7f0; --ink:#2b2236; --muted:#6b6078; --accent:#c9531a; --card:#ffffff; --line:#f0e1d4; }
@media (prefers-color-scheme: dark) { :root { --bg:#1d1726; --ink:#f4ecff; --muted:#b2a6c4; --accent:#ff9a5c; --card:#2a2236; --line:#3a3049; } }
* { box-sizing: border-box; }
body { margin:0; background:var(--bg); color:var(--ink); font:17px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; }
a { color:var(--accent); }
.wrap { max-width:720px; margin:0 auto; padding:0 16px; }
header.site { padding:20px 0; border-bottom:1px solid var(--line); }
header.site .wrap { display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; }
header.site a.brand { font-weight:700; text-decoration:none; color:var(--ink); }
header.site nav a { margin-left:16px; text-decoration:none; }
main { padding:40px 0 56px; }
h1 { font-size:2rem; line-height:1.2; margin:0 0 8px; }
h2 { font-size:1.2rem; margin:32px 0 6px; }
.lede { color:var(--muted); font-size:1.1rem; }
.hero { text-align:center; padding:48px 0 24px; }
.hero .cat { font-size:4rem; line-height:1; }
.badge { display:inline-block; margin-top:12px; padding:6px 16px; border-radius:999px; background:var(--accent); color:#fff; font-weight:600; font-size:.95rem; }
.card { background:var(--card); border:1px solid var(--line); border-radius:14px; padding:4px 20px 20px; }
.note { border-left:4px solid var(--accent); padding:4px 14px; background:var(--card); color:var(--muted); }
footer { border-top:1px solid var(--line); padding:20px 0 40px; color:var(--muted); font-size:.9rem; }
footer a { margin-right:14px; }
.center { text-align: center; }
