:root { --bg:#ffffff; --text:#1a1d21; --dim:#5b6470; --line:#e3e6ea; --accent:#2f8f78; --raised:#f5f7f8; }
@media (prefers-color-scheme: dark) { :root { --bg:#0f1216; --text:#f2f4f6; --dim:#a9b1bd; --line:#2b323c; --accent:#7dc4ae; --raised:#171b21; } }
* { box-sizing: border-box; }
body { margin:0; background:var(--bg); color:var(--text); font:16px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; }
header, main, footer { max-width: 760px; margin: 0 auto; padding: 0 20px; }
header { display:flex; justify-content:space-between; align-items:center; padding-top:24px; padding-bottom:16px; border-bottom:1px solid var(--line); }
header a.brand { font-weight:700; font-size:20px; color:var(--text); text-decoration:none; }
nav a { margin-left:18px; color:var(--dim); text-decoration:none; font-size:14px; }
nav a:hover { color:var(--accent); }
main { padding-top: 28px; padding-bottom: 48px; }
h1 { font-size:30px; line-height:1.25; margin:0 0 4px; }
h2 { font-size:20px; margin:36px 0 8px; }
h3 { font-size:16px; margin:22px 0 4px; }
p, li { color:var(--text); }
.meta { color:var(--dim); font-size:14px; margin-bottom:24px; }
a { color:var(--accent); }
ul { padding-left:22px; }
li { margin:4px 0; }
table { width:100%; border-collapse:collapse; margin:12px 0; font-size:15px; }
th, td { text-align:left; vertical-align:top; padding:10px 12px; border-bottom:1px solid var(--line); }
th { background:var(--raised); font-weight:600; }
.box { background:var(--raised); border:1px solid var(--line); border-radius:12px; padding:14px 18px; margin:18px 0; }
.todo { background:#fff6d6; color:#5a4500; padding:0 4px; border-radius:4px; }
@media (prefers-color-scheme: dark) { .todo { background:#4a3b00; color:#ffe89a; } }
footer { color:var(--dim); font-size:14px; padding-bottom:40px; border-top:1px solid var(--line); padding-top:18px; }
footer a { color:var(--dim); margin-right:16px; }
