:root { --ink:#1c1a17; --muted:#5d574e; --line:#e2ddd4; --bg:#faf8f5; --accent:#0f766e; --card:#fff; }
@media (prefers-color-scheme: dark) {
  :root { --ink:#ece7df; --muted:#a49c90; --line:#332f2a; --bg:#151311; --accent:#5eead4; --card:#1c1917; }
}
* { box-sizing:border-box; }
body { margin:0; background:var(--bg); color:var(--ink);
       font:17px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; }
.wrap { max-width:44rem; margin:0 auto; padding:3.5rem 1.25rem 4rem; }
h1 { font-size:2.1rem; line-height:1.2; margin:0 0 .5rem; letter-spacing:-.02em; }
.tag { color:var(--muted); font-size:1.1rem; margin:0 0 2.5rem; }
.updated { color:var(--muted); font-size:.95rem; margin:0 0 2.5rem; }
h2 { font-size:1.15rem; margin:2.5rem 0 .75rem; }
ul { padding-left:1.1rem; } li { margin:.4rem 0; }
code { background:var(--card); border:1px solid var(--line); border-radius:4px; padding:.1em .35em; font-size:.9em; }
.card { border:1px solid var(--line); background:var(--card); border-radius:12px; padding:1.25rem 1.4rem; margin:2rem 0; }
table { border-collapse:collapse; width:100%; margin:1rem 0; font-size:.95rem; }
th,td { text-align:left; padding:.6rem .5rem; border-bottom:1px solid var(--line); vertical-align:top; }
th { font-weight:600; }
.scroll { overflow-x:auto; }
footer { margin-top:3.5rem; padding-top:1.5rem; border-top:1px solid var(--line); color:var(--muted); font-size:.92rem; }
a { color:var(--accent); }
