:root{
  --bg:#fbfbfa; --fg:#1c1c1a; --muted:#5d5d57; --line:#e3e2dd;
  --accent:#2f5d50; --card:#ffffff;
}
@media (prefers-color-scheme: dark){
  :root{ --bg:#141514; --fg:#eceae4; --muted:#a3a199; --line:#2c2e2c;
         --accent:#8fc0ae; --card:#1c1e1c; }
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--bg); color:var(--fg);
  font:16px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
.wrap{max-width:720px; margin:0 auto; padding:0 24px}
header{border-bottom:1px solid var(--line); padding:22px 0}
header .wrap{display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap}
.brand{font-weight:650; letter-spacing:-.01em; text-decoration:none; color:var(--fg)}
.brand span{color:var(--muted); font-weight:400}
nav a{color:var(--muted); text-decoration:none; margin-left:18px; font-size:14px}
nav a:hover{color:var(--accent); text-decoration:underline}
main{padding:48px 0 16px}
h1{font-size:1.9rem; line-height:1.25; letter-spacing:-.02em; margin:0 0 8px}
h2{font-size:1.12rem; margin:34px 0 10px; letter-spacing:-.01em}
h3{font-size:1rem; margin:22px 0 6px}
.lede{color:var(--muted); font-size:1.05rem; margin:0 0 28px}
p,li{color:var(--fg)}
ul{padding-left:20px}
li{margin:5px 0}
a{color:var(--accent)}
.card{
  background:var(--card); border:1px solid var(--line); border-radius:10px;
  padding:20px 22px; margin:22px 0;
}
.card h2{margin-top:0}
.meta{color:var(--muted); font-size:14px}
.legal-links{display:flex; gap:12px; flex-wrap:wrap; margin:26px 0 0}
.legal-links a{
  display:inline-block; border:1px solid var(--line); border-radius:8px;
  padding:10px 16px; text-decoration:none; background:var(--card); font-size:15px;
}
.legal-links a:hover{border-color:var(--accent)}
table{border-collapse:collapse; width:100%; margin:14px 0; font-size:15px; display:block; overflow-x:auto}
th,td{border:1px solid var(--line); padding:8px 10px; text-align:left; vertical-align:top}
th{color:var(--muted); font-weight:600}
code{
  background:var(--card); border:1px solid var(--line); border-radius:4px;
  padding:1px 5px; font-size:.9em;
}
footer{border-top:1px solid var(--line); margin-top:48px; padding:26px 0 44px}
footer .wrap{display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap}
footer a{color:var(--muted)}
.todo{
  background:#fff6d8; border:1px solid #e6cf7a; color:#5a4708;
  border-radius:8px; padding:12px 14px; margin:18px 0; font-size:14px;
}
@media (prefers-color-scheme: dark){
  .todo{background:#332c14; border-color:#6d5c22; color:#e8d79a}
}
