
:root{--bg:#fbfaf7;--panel:#fff;--ink:#1f2328;--muted:#57606a;--accent:#1f6feb;
--accent2:#8250df;--line:#e4e0d8;--code:#f4f1ea;--hl:#fff6e0}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);
font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
font-size:16.5px;line-height:1.85}
.wrap{max-width:1080px;margin:0 auto;padding:0 22px}
header.site{background:var(--panel);border-bottom:1px solid var(--line);padding:30px 0 26px}
header.site h1{margin:0 0 8px;font-size:1.85em;border-bottom:3px solid var(--accent);
display:inline-block;padding-bottom:.3em}
header.site p{margin:.4em 0 0;color:var(--muted);font-size:14.5px}
nav.crumb{font-size:14px;color:var(--muted);margin:18px 0 4px}
nav.crumb a{color:var(--accent);text-decoration:none}
nav.crumb a:hover{text-decoration:underline}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px;margin:26px 0 10px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:20px 22px;
text-decoration:none;color:inherit;display:block;transition:transform .16s,box-shadow .16s,border-color .16s}
.card:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(31,111,235,.13);border-color:#c9dcf7}
.card h3{margin:0 0 6px;font-size:1.28em;color:#0b3d91;display:flex;align-items:center;gap:9px}
.card .badge{background:#eef3fa;color:#1f6feb;font-size:12px;padding:2px 9px;border-radius:20px;
font-weight:700;letter-spacing:.02em}
.card p{margin:.3em 0 0;color:var(--muted);font-size:14px;line-height:1.7}
.card .meta{margin-top:11px;font-size:12.5px;color:#8b949e}
table.idx{border-collapse:collapse;width:100%;margin:20px 0;background:var(--panel);font-size:15px}
table.idx th,table.idx td{border:1px solid var(--line);padding:10px 14px;text-align:left}
table.idx th{background:#eef3fa;font-weight:700}
table.idx tr:hover td{background:#fafbfd}
table.idx td.n{width:74px;color:var(--muted);font-variant-numeric:tabular-nums}
table.idx tr.mod td{background:#f0f4fa;font-weight:700;color:#0b3d91}
table.idx a{color:var(--accent);text-decoration:none}
table.idx a:hover{text-decoration:underline}
footer.site{border-top:1px solid var(--line);margin-top:56px;padding:26px 0 44px;
font-size:13px;color:var(--muted);line-height:2;text-align:center}
footer.site a{color:var(--muted);text-decoration:none}
footer.site a:hover{color:var(--accent);text-decoration:underline}
@media (max-width:700px){body{font-size:16px}.wrap{padding:0 15px}header.site h1{font-size:1.5em}}
