:root{
  --bg:#fff; --fg:#16181d; --muted:#5b6270; --line:#e3e6ec;
  --accent:#1f5fd6; --code-bg:#f5f6f8; --warn-bg:#fff8e6; --warn-line:#e8d194;
  --max:46rem;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --bg:#101216; --fg:#e6e8ec; --muted:#98a0ae; --line:#262a33;
    --accent:#79a9ff; --code-bg:#181b21; --warn-bg:#241f12; --warn-line:#4d411f;
  }
}
*{box-sizing:border-box}
body{
  margin:0; background:var(--bg); color:var(--fg);
  font:16px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
}
.wrap{max-width:var(--max); margin:0 auto; padding:0 1.25rem}
header.site{border-bottom:1px solid var(--line); padding:1.1rem 0; margin-bottom:2.5rem}
header.site .wrap{display:flex; gap:1.25rem; align-items:baseline; flex-wrap:wrap}
header.site a.brand{font-weight:650; color:var(--fg); text-decoration:none; letter-spacing:-.01em}
header.site nav{margin-left:auto; display:flex; gap:1.1rem; font-size:.9rem}
header.site nav a{color:var(--muted); text-decoration:none}
header.site nav a:hover{color:var(--fg)}
h1{font-size:1.95rem; line-height:1.25; letter-spacing:-.02em; margin:0 0 .75rem}
h2{font-size:1.3rem; letter-spacing:-.01em; margin:2.75rem 0 .85rem; padding-top:.4rem}
h3{font-size:1.02rem; margin:1.9rem 0 .55rem}
p,ul,ol{margin:0 0 1.05rem}
li{margin:.3rem 0}
a{color:var(--accent)}
.lede{font-size:1.1rem; color:var(--muted); margin-bottom:1.75rem}
code{background:var(--code-bg); padding:.12em .35em; border-radius:3px; font-size:.88em;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
pre{background:var(--code-bg); padding:.9rem 1rem; border-radius:6px; overflow-x:auto; font-size:.85rem; line-height:1.55}
pre code{background:none; padding:0}
.tablewrap{overflow-x:auto; margin:0 0 1.2rem}
table{border-collapse:collapse; width:100%; font-size:.89rem; min-width:34rem}
th,td{text-align:left; padding:.5rem .7rem; border-bottom:1px solid var(--line); vertical-align:top}
th{font-weight:600; white-space:nowrap}
.note{background:var(--warn-bg); border:1px solid var(--warn-line); border-radius:6px; padding:.85rem 1rem; margin:0 0 1.4rem; font-size:.92rem}
.note strong{font-weight:650}
footer.site{border-top:1px solid var(--line); margin-top:4rem; padding:1.6rem 0 3rem; color:var(--muted); font-size:.86rem}
footer.site a{color:var(--muted)}
form.wait{display:flex; gap:.5rem; flex-wrap:wrap; margin:1.2rem 0 .6rem}
form.wait input{flex:1 1 15rem; padding:.6rem .75rem; font-size:.95rem; border:1px solid var(--line);
  border-radius:6px; background:var(--bg); color:var(--fg)}
form.wait button{padding:.6rem 1.1rem; font-size:.95rem; border:0; border-radius:6px;
  background:var(--accent); color:#fff; cursor:pointer; font-weight:550}
form.wait button:disabled{opacity:.55; cursor:default}
.formnote{font-size:.83rem; color:var(--muted); margin:0}
.status{font-size:.9rem; margin:.6rem 0 0; min-height:1.2em}
