:root{--bg:#fff;--fg:#16181d;--muted:#5c6370;--line:#e3e6ea;--card:#f7f8fa;
--accent:#2563eb;--accent-fg:#fff;--code-bg:#f2f4f7}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]){
--bg:#0f1115;--fg:#e6e8ec;--muted:#9aa3b2;--line:#252a33;--card:#171a21;
--accent:#5b8cff;--accent-fg:#0b0d11;--code-bg:#12151b}}
:root[data-theme=dark]{--bg:#0f1115;--fg:#e6e8ec;--muted:#9aa3b2;
--line:#252a33;--card:#171a21;--accent:#5b8cff;--accent-fg:#0b0d11;
--code-bg:#12151b}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);
font:15px/1.7 -apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Sans",
"Noto Sans JP",sans-serif}
.wrap{max-width:920px;margin:0 auto;padding:0 18px}
header.site{border-bottom:1px solid var(--line);padding:14px 18px;
display:flex;align-items:center;gap:20px;flex-wrap:wrap;
max-width:920px;margin:0 auto}
.brand{font-weight:700;font-size:18px;text-decoration:none;color:var(--fg)}
.brand span{color:var(--accent)}
header.site nav{display:flex;gap:16px;font-size:14px}
header.site nav a,footer.site nav a{color:var(--muted);text-decoration:none}
header.site nav a:hover,footer.site nav a:hover{color:var(--accent)}
main.wrap{padding-top:28px;padding-bottom:60px}
h1{font-size:26px;letter-spacing:-.01em;margin:0 0 10px}
h2{font-size:19px;margin:34px 0 10px;padding-top:10px;
border-top:1px solid var(--line)}
h3{font-size:16px;margin:22px 0 8px}
p{margin:0 0 14px}
a{color:var(--accent)}
.lede{color:var(--muted);margin-bottom:24px}
.crumb{font-size:13px;color:var(--muted);margin-bottom:16px}
table{border-collapse:collapse;width:100%;font-size:14px;margin:14px 0}
th,td{text-align:left;padding:7px 10px;border-bottom:1px solid var(--line)}
th{color:var(--muted);font-weight:600}
td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}
.scroll{overflow-x:auto}
code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
:not(pre)>code{background:var(--code-bg);padding:1px 5px;border-radius:4px;
font-size:.92em}
pre{background:var(--code-bg);border:1px solid var(--line);border-radius:8px;
padding:12px 14px;overflow-x:auto;font-size:13.5px}
.api{border-bottom:1px solid var(--line);padding:10px 0}
.api code{font-size:13.5px;overflow-wrap:anywhere}
.api .doc{color:var(--muted);font-size:13.5px;margin-top:4px}
.kind{display:inline-block;font-size:11px;padding:1px 6px;border-radius:4px;
background:var(--card);color:var(--muted);margin-right:6px;
border:1px solid var(--line)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));
gap:10px;margin:16px 0}
.grid a{display:block;padding:10px 12px;border:1px solid var(--line);
border-radius:8px;text-decoration:none;background:var(--card)}
.grid a strong{display:block;color:var(--fg);font-size:14px;
overflow-wrap:anywhere}
.grid a span{color:var(--muted);font-size:12px}
footer.site{border-top:1px solid var(--line);padding:22px 0 40px;
color:var(--muted);font-size:13.5px}
footer.site nav{display:flex;gap:14px;flex-wrap:wrap;margin:8px 0}
.fine{font-size:12.5px;margin-top:10px}
