:root { --bg:#0B0B0F; --line:#24242E; --gold:#E9C89B; --rose:#F0A3B5; --text:#F5F2EE; --muted:#9A96A0; }
* { box-sizing:border-box; }
body { margin:0; background:var(--bg); color:var(--text); font:16px/1.65 Inter,system-ui,sans-serif; -webkit-font-smoothing:antialiased; }
main { max-width:760px; margin:0 auto; padding:40px 20px 80px; }
a { color:var(--gold); }
.back { display:inline-block; margin-bottom:28px; color:var(--muted); text-decoration:none; font-size:14px; }
h1 { font-family:"Playfair Display",Georgia,serif; font-weight:600; font-size:clamp(34px,5vw,46px); line-height:1.1; margin:0 0 6px;
     background:linear-gradient(90deg,var(--gold),var(--rose)); -webkit-background-clip:text; background-clip:text; color:transparent; }
.updated { color:var(--muted); font-size:14px; margin:0 0 32px; }
h2 { font-size:20px; margin:34px 0 8px; }
p, li { color:#D9D5D0; }
ul { padding-left:20px; }
footer { border-top:1px solid var(--line); margin-top:48px; padding-top:20px; color:var(--muted); font-size:14px; }
h3 { font-size:16px; margin:20px 0 4px; color:var(--text); }
.toc { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:6px 18px; padding:18px 20px; margin:0 0 12px;
       border:1px solid var(--line); border-radius:16px; background:#121218; font-size:14px; }
.toc a { color:var(--muted); text-decoration:none; } .toc a:hover { color:var(--gold); }
table { width:100%; border-collapse:collapse; margin:12px 0; font-size:14px; }
th, td { text-align:left; vertical-align:top; padding:10px 12px; border-bottom:1px solid var(--line); color:#D9D5D0; }
th { color:var(--text); font-weight:600; }
.todo { background:rgba(240,163,181,.18); color:var(--rose); border-radius:6px; padding:0 6px; font-weight:600; }
h2 { scroll-margin-top:20px; }
