
:root{--bg:#fafaf8;--fg:#1f2328;--muted:#5f6670;--accent:#0b6bcb;--line:#e3e3df;--card:#fff}
@media (prefers-color-scheme:dark){:root{--bg:#15171a;--fg:#e8e8e6;--muted:#a0a6ad;--accent:#6cb2ff;--line:#2c3036;--card:#1c1f23}}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);
font-family:"Hiragino Sans","Noto Sans JP",system-ui,sans-serif;line-height:1.85}
a{color:var(--accent)}.wrap{max-width:760px;margin:0 auto;padding:0 16px}
header.site{border-bottom:1px solid var(--line);padding:18px 0}header.site a{color:inherit;text-decoration:none;font-weight:700;font-size:1.15rem}
header.site p{margin:2px 0 0;color:var(--muted);font-size:.85rem}
main{padding:24px 0 48px}h1{font-size:1.6rem;line-height:1.4}h2{font-size:1.25rem;margin-top:2.2em;border-left:4px solid var(--accent);padding-left:10px}
.pr{display:inline-block;border:1px solid var(--muted);color:var(--muted);font-size:.75rem;padding:0 6px;border-radius:3px;margin-bottom:8px}
.meta{color:var(--muted);font-size:.85rem}.card{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:16px;margin:14px 0}
.card h2{border:0;padding:0;margin:0 0 6px;font-size:1.1rem}.card p{margin:0;color:var(--muted);font-size:.9rem}
table{border-collapse:collapse;width:100%;display:block;overflow-x:auto}th,td{border:1px solid var(--line);padding:6px 10px;text-align:left}
.sources{font-size:.85rem;color:var(--muted)}footer{border-top:1px solid var(--line);padding:20px 0;color:var(--muted);font-size:.8rem}
