:root{--bg:#eef2f6;--surface:#fff;--ink:#18243a;--muted:#5b6880;--line:#d5dde8;--accent:#1f6f8b;--accent-soft:#e1eff4;--warn-bg:#fff4dc;--warn-ink:#7a5300}
@media (prefers-color-scheme:dark){:root{--bg:#0f1622;--surface:#172131;--ink:#e6ecf5;--muted:#9aa7bd;--line:#2a3850;--accent:#5fb6d3;--accent-soft:#19323f;--warn-bg:#3a2e12;--warn-ink:#f3cf7a;color-scheme:dark}}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:"Zen Kaku Gothic New","Hiragino Sans","Yu Gothic","Meiryo",sans-serif;font-size:16px;line-height:1.9;padding:24px 16px 48px}
.top{max-width:720px;margin:0 auto 14px;font-size:.85rem}
.top a{color:var(--accent);text-decoration:none;font-weight:700}
main{max-width:720px;margin:0 auto;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:24px 22px}
h1{font-family:"Zen Maru Gothic","Hiragino Maru Gothic ProN",sans-serif;font-size:clamp(1.45rem,5vw,1.9rem);line-height:1.45;margin:0 0 6px;text-wrap:balance}
.date{color:var(--muted);font-size:.8rem;margin:0 0 16px}
.lead{font-size:1.02rem;margin:0 0 8px}
h2{font-family:"Zen Maru Gothic","Hiragino Maru Gothic ProN",sans-serif;font-size:1.2rem;margin:34px 0 8px;padding-bottom:6px;border-bottom:2px solid var(--accent-soft);text-wrap:balance}
p{margin:0 0 12px} a{color:var(--accent)}
.ex{background:var(--accent-soft);border-radius:10px;padding:12px 14px;margin:0 0 14px}
.ex p:last-child{margin:0}
.ex b{font-family:"JetBrains Mono",ui-monospace,Menlo,monospace}
.warn{background:var(--warn-bg);color:var(--warn-ink);border-radius:10px;padding:10px 14px;font-size:.92rem}
.tbl{overflow-x:auto;margin:0 0 14px}
table{border-collapse:collapse;width:100%;min-width:320px;font-size:.92rem}
th,td{border:1px solid var(--line);padding:7px 10px;text-align:left}
th{background:var(--bg)} td.n{text-align:right;font-variant-numeric:tabular-nums;font-family:"JetBrains Mono",ui-monospace,Menlo,monospace}
.cta{display:block;text-align:center;background:var(--accent);color:#fff;text-decoration:none;font-weight:700;border-radius:10px;padding:13px;margin:26px 0 8px}
@media (prefers-color-scheme:dark){.cta{color:#0b1a22}}
.rel{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}
footer{max-width:720px;margin:18px auto 0;color:var(--muted);font-size:.8rem}
footer a{color:var(--accent)}
