:root{
  --ink:#2a2622; --paper:#faf9f5; --court:#c96442; --neutral:#6b6760;
  --soft:#f0eee8; --radius:14px; --measure:36rem;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--paper); color:var(--ink);
  font:400 17px/1.65 Inter,system-ui,-apple-system,sans-serif;
  padding:0 20px env(safe-area-inset-bottom);
}
.wrap{max-width:var(--measure); margin:0 auto; padding:56px 0 96px}
header{display:flex; align-items:center; gap:12px; margin-bottom:48px}
header svg{width:38px;height:38px;flex:0 0 auto}
header a{font-weight:700;font-size:19px;color:var(--ink);text-decoration:none;letter-spacing:-.01em}
h1{font-size:30px;line-height:1.2;letter-spacing:-.02em;margin:0 0 6px}
h2{font-size:19px;margin:38px 0 10px;letter-spacing:-.01em}
.sub{color:var(--neutral);margin:0 0 36px}
p{margin:0 0 16px}
ul{padding-left:20px;margin:0 0 16px}
li{margin-bottom:8px}
a{color:var(--court)}
code{background:var(--soft);padding:1px 5px;border-radius:5px;font-size:.9em}
.box{background:var(--soft);border-radius:var(--radius);padding:18px 20px;margin:0 0 20px}
.box p:last-child{margin-bottom:0}
table{width:100%;border-collapse:collapse;margin:0 0 20px;font-size:15px}
th,td{text-align:left;padding:9px 10px;border-bottom:1px solid #e6e3dc;vertical-align:top}
th{font-weight:600}
footer{margin-top:64px;padding-top:24px;border-top:1px solid #e6e3dc;color:var(--neutral);font-size:14px}
footer a{margin-right:16px}
.hero{font-size:22px;line-height:1.45;color:var(--ink);margin:0 0 28px}
@media (prefers-color-scheme:dark){
  :root{--ink:#eceae4;--paper:#1c1a18;--soft:#262320;--neutral:#a8a39a}
  th,td,footer{border-color:#332f2b}
}
