:root{--accent:#2b6cb0;--accent-dark:#1a4573;--ink:#1a202c;--muted:#718096;--line:#e2e8f0;--tint:#ebf4ff}
*{box-sizing:border-box}
body{font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP",sans-serif;margin:0;color:var(--ink);background:#fff;line-height:1.9}
a{color:var(--accent-dark)}
header.site{background:linear-gradient(135deg,var(--accent),var(--accent-dark));color:#fff;padding:20px 16px;text-align:center}
header.site .tagline{font-size:.85em;opacity:.9;margin-bottom:6px}
header.site .site-name{font-weight:700;font-size:1.6em}
header.site .site-name a{color:#fff;text-decoration:none}
nav.site{display:flex;justify-content:center;gap:20px;padding:10px;border-bottom:1px solid var(--line);font-size:.9em;flex-wrap:wrap}
nav.site a{color:var(--ink);text-decoration:none}
nav.site a:hover{color:var(--accent-dark)}
main{max-width:760px;margin:0 auto;padding:24px 16px 60px}
.updated{display:inline-block;background:var(--tint);color:var(--accent-dark);padding:4px 12px;border-radius:999px;font-size:.85em;margin-bottom:1em}
h1.page-title{font-size:1.5em;line-height:1.5}
h2{font-size:1.2em;margin-top:1.8em;border-left:4px solid var(--accent);padding-left:10px}
h3{font-size:1.05em;margin-top:1.4em}
.article-list{list-style:none;padding:0;margin:1.5em 0}
.article-list li{border:1px solid var(--line);border-radius:10px;padding:16px 18px;margin-bottom:14px}
.article-list a.title{font-weight:700;font-size:1.05em;text-decoration:none;color:var(--ink)}
.article-list a.title:hover{color:var(--accent-dark)}
.article-list p{margin:6px 0 0;color:var(--muted);font-size:.92em}
table{width:100%;border-collapse:collapse;margin:1em 0;font-size:.95em}
th,td{border:1px solid var(--line);padding:8px 10px;text-align:left}
th{background:#f7fafc;font-weight:600}
td.num{text-align:right;font-variant-numeric:tabular-nums}
.note{background:#f7fafc;border:1px solid var(--line);border-radius:6px;padding:14px 16px;font-size:.9em;color:#4a5568;margin:1.4em 0}
.hero{width:100%;height:auto;border-radius:10px;margin:1em 0 1.6em;display:block}
.related{margin-top:2.4em;padding-top:1.2em;border-top:1px solid var(--line)}
.related ul{padding-left:1.2em}
footer.site{border-top:1px solid var(--line);margin-top:3em;padding:24px 16px;text-align:center;font-size:.85em;color:var(--muted)}
footer.site a{color:var(--muted);margin:0 8px}
.age-gate{position:fixed;inset:0;background:rgba(15,23,42,.92);display:flex;align-items:center;justify-content:center;z-index:999;padding:20px}
.age-gate-inner{background:#fff;border-radius:14px;padding:32px 28px;max-width:360px;text-align:center;line-height:1.8}
.age-gate-title{font-weight:700;font-size:1.1em;margin:0 0 12px}
.age-btn{background:var(--accent);color:#fff;border:none;border-radius:999px;padding:12px 28px;font-size:1em;cursor:pointer;margin-top:8px}
.age-btn:hover{background:var(--accent-dark)}
.age-no{display:inline-block;margin-top:10px;color:var(--muted);font-size:.9em}
.age-notice{font-size:.8em;color:var(--muted);margin:0 0 .5em}
