:root{
  --ink:#1a1d21; --muted:#5b636b; --line:#e3e6ea; --bg:#fff; --soft:#f6f7f9;
  --accent:#0b5cad; --warn:#8a5a00; --warnbg:#fff8e8;
  --max:44rem;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--bg); color:var(--ink);
  font:16px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}
.wrap{max-width:var(--max); margin:0 auto; padding:0 1.15rem}
a{color:var(--accent)}
a:hover{text-decoration:none}

header.site{border-bottom:1px solid var(--line); padding:.9rem 0; margin-bottom:2rem}
header.site .wrap{display:flex; flex-wrap:wrap; gap:.6rem 1.1rem; align-items:baseline}
.brand{font-weight:700; font-size:1.02rem; color:var(--ink); text-decoration:none; letter-spacing:-.01em}
header.site nav{display:flex; gap:1.1rem; font-size:.92rem; margin-left:auto}
header.site nav a{color:var(--muted); text-decoration:none}
header.site nav a:hover{color:var(--accent)}

h1{font-size:1.95rem; line-height:1.25; letter-spacing:-.02em; margin:0 0 1rem}
h2{font-size:1.28rem; line-height:1.3; letter-spacing:-.01em; margin:2.4rem 0 .8rem; padding-top:.4rem}
h3{font-size:1.05rem; margin:1.6rem 0 .5rem}
p,li{color:var(--ink)}
.lede{font-size:1.06rem; color:var(--muted)}

.disclosure{
  background:var(--warnbg); border:1px solid #f0dfb8; border-radius:8px;
  padding:.85rem 1rem; font-size:.9rem; color:var(--warn); margin:0 0 1.8rem;
}
.disclosure strong{color:#6b4600}

table{border-collapse:collapse; width:100%; font-size:.93rem; margin:1.1rem 0}
th,td{border:1px solid var(--line); padding:.5rem .65rem; text-align:left; vertical-align:top}
th{background:var(--soft); font-weight:600}
.scroll{overflow-x:auto; -webkit-overflow-scrolling:touch}

pre{background:var(--soft); border:1px solid var(--line); border-radius:6px;
    padding:.8rem 1rem; overflow-x:auto; font-size:.9rem; margin:1rem 0}
code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:.92em}

ul.check{list-style:none; padding-left:0}
ul.check li{padding-left:1.6rem; position:relative; margin:.4rem 0}
ul.check li::before{content:"☐"; position:absolute; left:0; color:var(--muted)}

.cta{margin:1.8rem 0; padding:1.1rem 1.2rem; background:var(--soft);
     border:1px solid var(--line); border-radius:8px}
.cta a{font-weight:600}
.cta p{margin:.35rem 0 0; font-size:.88rem; color:var(--muted)}

.note{border-left:3px solid var(--line); padding:.2rem 0 .2rem 1rem; color:var(--muted); margin:1.2rem 0}

footer.site{margin-top:3.5rem; border-top:1px solid var(--line); padding:1.6rem 0 3rem;
            font-size:.86rem; color:var(--muted)}
footer.site p{margin:.7rem 0}
footer.site a{color:var(--muted)}
.foot-nav{display:flex; flex-wrap:wrap; gap:.9rem; margin-bottom:1rem}

@media (max-width:560px){ h1{font-size:1.6rem} header.site nav{margin-left:0; width:100%} }
