:root{
  --bg:#FBF8F4; --surface:#FFFFFF; --ink:#1C1815; --text:#332C25;
  --muted:#6E6559; --line:#E6DED3; --primary:#B4702F;
  color-scheme:light;
}
@media (prefers-color-scheme: dark){
  :root{ --bg:#141210; --surface:#1C1916; --ink:#F3EEE6; --text:#E2DAD0;
         --muted:#A0968A; --line:#302B24; --primary:#E09A5C; color-scheme:dark; }
}
*{box-sizing:border-box;}
body{
  margin:0; background:var(--bg); color:var(--text);
  font-family:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
  font-size:16px; line-height:1.7;
}
.wrap{max-width:44rem; margin:0 auto; padding-inline:20px; padding-block:48px 72px;}
a{color:var(--primary);}
.back{
  display:inline-block; font-size:13.5px; text-decoration:none;
  margin-bottom:32px; color:var(--muted);
}
.back:hover{color:var(--primary);}
h1{
  font-family:'Fraunces',Georgia,serif; font-size:clamp(26px,4vw,34px);
  font-weight:600; color:var(--ink); line-height:1.15; margin:0 0 8px;
}
.updated{font-size:13.5px; color:var(--muted); margin:0 0 36px;}
h2{
  font-family:'Fraunces',Georgia,serif; font-size:19px; font-weight:600;
  color:var(--ink); margin:36px 0 10px;
}
p,li{margin:0 0 12px;}
ul{padding-left:20px;}
strong{color:var(--ink);}
.todo{
  background:rgba(180,112,47,.09); border:1px solid rgba(180,112,47,.35);
  border-radius:8px; padding:12px 16px; font-size:14px; color:var(--text);
  margin:12px 0 20px;
}
table{width:100%; border-collapse:collapse; font-size:14.5px; margin:12px 0 20px;}
th,td{text-align:left; padding:9px 12px; border-bottom:1px solid var(--line); vertical-align:top;}
th{font-size:12px; text-transform:uppercase; letter-spacing:.08em; color:var(--muted); font-weight:600;}
.tablewrap{overflow-x:auto; border:1px solid var(--line); border-radius:8px; background:var(--surface);}
footer{border-top:1px solid var(--line); margin-top:48px; padding-top:20px; font-size:13.5px; color:var(--muted);}
footer a{margin-right:16px;}
