:root { --bg:#fffaf0; --ink:#1f3a2b; --muted:#587565; --leaf:#2e8b57; --card:#fff; --line:rgba(31,58,43,.1); }
@media (prefers-color-scheme: dark) { :root { --bg:#0f1d16; --ink:#eaf6ee; --muted:#a6c4b1; --leaf:#5fd08c; --card:#182c20; --line:rgba(234,246,238,.1); } }
* { box-sizing:border-box; margin:0; padding:0; }
body { font-family:"Nunito",system-ui,sans-serif; background:var(--bg); color:var(--ink); line-height:1.7;
  background-image: radial-gradient(500px 300px at 90% 0%, rgba(255,209,102,.35), transparent 70%), radial-gradient(500px 300px at 0% 10%, rgba(143,211,255,.25), transparent 70%); background-repeat:no-repeat; }
main { width:min(760px, 100% - 32px); margin:0 auto; padding:24px 0 60px; }
nav { padding:12px 0 36px; } nav a { font-family:"Fraunces",Georgia,serif; font-weight:800; font-size:1.4rem; text-decoration:none; color:inherit; }
h1 { font-family:"Fraunces",Georgia,serif; font-size:clamp(2.2rem,6vw,3.2rem); line-height:1.1; margin-bottom:8px; }
h2 { font-family:"Fraunces",Georgia,serif; font-size:1.4rem; margin:32px 0 8px; }
p, li { color:var(--muted); } ul { padding-left:1.2em; } strong { color:var(--ink); }
.updated { font-size:.9rem; margin-bottom:24px; }
.card { background:var(--card); border:1.5px solid var(--line); border-radius:22px; padding:18px 22px; margin-top:14px; }
.card h3 { font-size:1.05rem; margin-bottom:4px; }
footer { margin-top:48px; font-size:.9rem; color:var(--muted); } footer a { color:var(--leaf); }
