:root{--bg:#f7f8fa;--card:#fff;--ink:#14181f;--mute:#5b6573;--line:#dfe3ea;--accent:#0b5fff;--ok:#0a7d4a;--warn:#9a5b00;--chip:#eef1f6}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#0e1116;--card:#161b22;--ink:#e8ecf2;--mute:#9aa6b6;--line:#262e3a;--accent:#6ea0ff;--ok:#4cc38a;--warn:#e0a24a;--chip:#1e2530}}
:root{color-scheme:light dark}
*{box-sizing:border-box}
html{scroll-padding-top:env(safe-area-inset-top,0px)}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.55 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
a{color:var(--accent)}
header.site{border-bottom:1px solid var(--line);background:var(--card)}
header.site .in,main,footer .in{max-width:1080px;margin:0 auto;padding:0 18px}
header.site .in{display:flex;flex-wrap:wrap;align-items:center;gap:6px 22px;padding-top:12px;padding-bottom:12px}
.brand{font-weight:700;font-size:1.15rem;text-decoration:none;color:var(--ink);letter-spacing:.2px}
nav a{margin-right:16px;text-decoration:none;color:var(--mute);font-weight:500}
nav a[aria-current="page"]{color:var(--ink);border-bottom:2px solid var(--accent)}
main{padding-top:26px;padding-bottom:40px}
h1{font-size:1.7rem;line-height:1.25;margin:.2em 0 .4em}
h2{font-size:1.2rem;margin:1.6em 0 .5em}
p.lead{color:var(--mute);max-width:70ch;margin-top:0}
.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:16px 18px;margin:14px 0}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px}
.tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:10px;background:var(--card)}
table{border-collapse:collapse;width:100%;font-size:.93rem}
th,td{padding:8px 12px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}
th{font-weight:600;color:var(--mute);background:var(--chip);position:sticky;top:0}
td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}
tr:last-child td{border-bottom:0}
.badge{display:inline-block;padding:2px 9px;border-radius:99px;font-size:.78rem;font-weight:600;background:var(--chip);color:var(--mute)}
.badge.ok{color:var(--ok)}.badge.warn{color:var(--warn)}
.note{border-left:3px solid var(--warn);padding:6px 12px;margin:12px 0;background:var(--chip);border-radius:0 8px 8px 0;color:var(--ink)}
.tools{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}
input,select,button{font:inherit;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:8px;padding:7px 10px}
button{cursor:pointer}
dl.kv{display:grid;grid-template-columns:max-content 1fr;gap:4px 18px;margin:0}
dl.kv dt{color:var(--mute)}dl.kv dd{margin:0}
code,.hash{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.85em;word-break:break-all}
.mute{color:var(--mute)}
footer{border-top:1px solid var(--line);background:var(--card);margin-top:30px}
footer .in{padding-top:16px;padding-bottom:22px;color:var(--mute);font-size:.85rem}
footer p{margin:.3em 0}
@media (max-width:560px){h1{font-size:1.4rem}th,td{padding:7px 9px}}
td.wrap{white-space:normal;min-width:240px}
