:root { --bg:#F7F5F0; --ink:#1F2A24; --soft:rgba(31,42,36,.72); --faint:rgba(31,42,36,.5); --teal:#2F6F62; --card:#fff; --line:rgba(31,42,36,.12); }
@media (prefers-color-scheme: dark) { :root { --bg:#141A17; --ink:#F1EFE9; --soft:rgba(241,239,233,.74); --faint:rgba(241,239,233,.5); --teal:#5FB39F; --card:#1D2521; --line:rgba(241,239,233,.14); } }
* { box-sizing: border-box; }
body { margin:0; background:var(--bg); color:var(--ink); font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; line-height:1.6; -webkit-font-smoothing:antialiased; }
.wrap { max-width:760px; margin:0 auto; padding:0 20px; }
nav { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:22px 0; }
nav a.logo { display:flex; align-items:center; gap:10px; font-weight:700; font-size:19px; color:var(--ink); text-decoration:none; }
nav a.logo svg { width:28px; height:28px; }
nav .links a { color:var(--soft); text-decoration:none; margin-left:16px; font-size:15px; }
h1 { font-family:"New York",Georgia,serif; font-size:clamp(30px,5vw,42px); line-height:1.15; margin:20px 0 6px; }
h2 { font-family:"New York",Georgia,serif; font-size:23px; margin:34px 0 8px; }
p, li { color:var(--soft); }
.updated { color:var(--faint); font-size:14px; margin-bottom:28px; }
.card { background:var(--card); border:1px solid var(--line); border-radius:18px; padding:20px 22px; margin:18px 0; }
a { color:var(--teal); }
details { border-bottom:1px solid var(--line); padding:16px 0; }
summary { cursor:pointer; font-weight:600; color:var(--ink); }
footer { border-top:1px solid var(--line); margin-top:48px; padding:26px 0 44px; color:var(--faint); font-size:14px; }
footer a { color:var(--soft); }
