:root{--fg:#1d1d1f;--muted:#5b5b60;--bg:#fff;--line:#e3e3e8;--accent:#1f4e79;--warn:#fff4e5}
@media (prefers-color-scheme:dark){:root{--fg:#ececf0;--muted:#a3a3ab;--bg:#141416;--line:#2c2c31;--accent:#8db8e8;--warn:#3a2f1c}}
*{box-sizing:border-box}
body{margin:0;font:17px/1.6 system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--fg);background:var(--bg)}
header.site,footer.site,main{max-width:860px;margin:0 auto;padding:0 16px}
header.site{border-bottom:1px solid var(--line);padding-bottom:8px}
.disclosure{font-size:13px;color:var(--muted);margin:8px 0}
.brand{font-weight:700;color:var(--fg);text-decoration:none;font-size:20px}
nav a{margin-right:12px;font-size:15px}
a{color:var(--accent)}
h1{font-size:28px;line-height:1.25;margin:24px 0 8px}
h2{font-size:21px;margin-top:32px}
.byline,.small{font-size:14px;color:var(--muted)}
.question{font-size:18px;border-left:4px solid var(--accent);padding-left:12px}
.table-wrap{overflow-x:auto}
table{border-collapse:collapse;width:100%;font-size:15px}
th,td{border-bottom:1px solid var(--line);padding:8px;text-align:left;vertical-align:top}
td.two{background:var(--warn)}
.cards{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));margin-top:16px}
.card{border:1px solid var(--line);border-radius:8px;padding:12px}
.card h3{margin:0 0 8px;font-size:18px}
.card img{max-width:100%;height:auto;display:block;margin:0 auto 8px}
.button{display:inline-block;padding:8px 12px;border:1px solid var(--accent);border-radius:6px;text-decoration:none}
footer.site{border-top:1px solid var(--line);margin-top:48px;font-size:14px;color:var(--muted)}
.crumbs{font-size:14px;color:var(--muted);margin-top:12px}
.toc{border:1px solid var(--line);border-radius:8px;padding:8px 12px;margin:16px 0;font-size:15px}
.toc ul{margin:4px 0 0;padding-left:20px}
.ftc{font-size:14px;color:var(--muted);margin:12px 0 0}
.guide-list li{margin-bottom:10px}
