/* Reading pages use the established Honjado dark palette. */
:root{color-scheme:dark;--bg:#0f1020;--surface:#1b1c3a;--line:#26284d;--text:#f4f4ff;--muted:#a4a6c8;--link:#a78bff}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.85 system-ui,-apple-system,sans-serif}
header,main,footer{width:min(100% - 48px,760px);margin-inline:auto}header{padding-block:24px;border-bottom:1px solid var(--line)}
main{padding-block:40px 64px}footer{padding-block:24px 80px;border-top:1px solid var(--line);color:var(--muted)}
h1{font-size:clamp(28px,5vw,40px);line-height:1.3;margin:0 0 24px;letter-spacing:-.03em}h2{font-size:22px;margin:40px 0 12px;line-height:1.5}p,ul{margin:0 0 16px}li{margin-bottom:8px}
a{color:var(--link);text-underline-offset:.25em;overflow-wrap:anywhere}a:hover{text-decoration-thickness:2px}a:focus-visible{outline:2px solid var(--link);outline-offset:4px}
nav{display:flex;flex-wrap:wrap;gap:8px 24px}nav a{display:inline-flex;align-items:center;min-height:44px}header a{font-weight:700}small,.muted{color:var(--muted)}
::selection{background:var(--surface);color:var(--text)}section[lang=ja]{border-top:1px solid var(--line);margin-top:40px;padding-top:8px}
.site-info-header{display:flex;align-items:center;justify-content:space-between;gap:16px}
.site-info-header a{color:var(--text)}
.site-back{display:inline-flex;align-items:center;gap:8px;min-height:48px;margin-left:-12px;padding:0 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);text-decoration:none}
.site-back svg{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.site-brand{text-decoration:none;white-space:nowrap}
.site-brand span{color:var(--muted);font-weight:500}
@media(max-width:360px){.site-brand span{display:none}}
