:root { --ink:#2A1E4A; --ink-soft:#483A6B; --cream:#FFF4E4; --paper:#FFFBF3; --mint:#2FC98B; --sun:#FFD23F; --pink:#FF7EB6; }
@media (prefers-color-scheme: dark) { :root { --ink:#FFF4E4; --ink-soft:#D9CFEF; --cream:#241B3F; --paper:#2E2450; } }
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin:0; background:var(--cream); color:var(--ink); line-height:1.6;
  font: 17px/1.6 ui-rounded, "SF Pro Rounded", "Nunito", system-ui, -apple-system, "Segoe UI", sans-serif; }
main { max-width: 680px; margin: 0 auto; padding: 48px 20px 80px; }
header.brand { display:flex; align-items:center; gap:10px; margin-bottom: 36px; font-weight: 900; font-size: 20px; text-decoration:none; color: var(--ink); }
header.brand .dot { width:28px; height:28px; border-radius:8px; background:var(--sun); border:2.5px solid var(--ink); box-shadow: 2px 3px 0 var(--ink); }
h1 { font-size: 40px; line-height:1.1; margin: 0 0 8px; letter-spacing:-0.02em; font-weight: 900; }
h2 { font-size: 22px; margin: 36px 0 6px; font-weight: 800; }
p, li { color: var(--ink); }
.meta { color: var(--ink-soft); font-size: 15px; margin-bottom: 28px; }
a { color: var(--ink); text-decoration-thickness: 2px; text-underline-offset: 3px; }
.card { background: var(--paper); border: 2.5px solid var(--ink); border-radius: 18px; padding: 18px 20px; box-shadow: 3px 5px 0 var(--ink); margin: 20px 0; }
.card strong { font-weight: 800; }
footer { margin-top: 56px; color: var(--ink-soft); font-size: 14px; }
footer a { color: var(--ink-soft); }
