
:root{--bg:#111a30;--bg2:#17223d;--gold:#e5cd95;--gold2:#c9a96a;--ink:#f6efe0;--mute:#b9b3a3;--line:#2c3a5c}
:root[data-theme=light]{--bg:#faf6ec;--bg2:#fff;--gold:#8a6a2c;--gold2:#a8843c;--ink:#1d2540;--mute:#5f6371;--line:#e3d9c1}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:"Hiragino Mincho ProN","Noto Serif JP","Yu Mincho",serif;line-height:1.9}
a{color:inherit}
.wrap{max-width:1080px;margin:0 auto;padding:0 16px}
header{border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--bg);z-index:5}
header .wrap{display:flex;align-items:center;gap:12px;min-height:64px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-size:1.15rem;color:var(--gold);letter-spacing:.08em}
.brand img{width:40px;height:40px}
nav{margin-left:auto;display:flex;gap:18px;font-size:.92rem}
nav a{text-decoration:none;color:var(--mute)}nav a:hover{color:var(--gold)}
.hero{padding:72px 0 56px;text-align:center;border-bottom:1px solid var(--line)}
.hero img{width:96px;height:96px}
.hero h1{margin:16px 0 4px;font-size:clamp(2rem,6vw,3.2rem);color:var(--gold);letter-spacing:.12em;font-weight:700}
.hero p.tag{margin:0 0 20px;font-family:system-ui,sans-serif;letter-spacing:.2em;font-size:.95rem;color:var(--ink)}
.hero p.lead{max-width:560px;margin:0 auto 28px;color:var(--mute)}
.btn{display:inline-block;padding:12px 28px;border:1px solid var(--gold);color:var(--gold);text-decoration:none;font-family:system-ui,sans-serif;font-size:.95rem;border-radius:2px}
.btn:hover{background:var(--gold);color:var(--bg)}
.btn.line{background:#06c755;border-color:#06c755;color:#fff}
.btn.off{opacity:.45;pointer-events:none}
section{padding:56px 0;border-bottom:1px solid var(--line)}
h2{font-size:1.5rem;color:var(--gold);letter-spacing:.1em;margin:0 0 4px}
h2+p{margin:0 0 24px;color:var(--mute)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:20px}
.card{text-decoration:none;display:block}
.cover{aspect-ratio:5/8;display:flex;align-items:center;justify-content:center;text-align:center;padding:14px;border:1px solid var(--gold2);background:linear-gradient(160deg,var(--bg2),var(--bg));color:var(--gold);font-size:.92rem;line-height:1.5;overflow:hidden}
.cover img{width:100%;height:100%;object-fit:contain;display:block}
.card .t{margin-top:8px;font-size:.85rem;color:var(--ink);line-height:1.5}
.card:hover .cover{box-shadow:0 0 0 2px var(--gold)}
.book{display:grid;grid-template-columns:minmax(0,260px) 1fr;gap:32px;padding:48px 16px}
@media(max-width:640px){.book{grid-template-columns:1fr}}
.book h1{font-size:1.5rem;color:var(--gold);margin:0 0 8px;line-height:1.5}
.badge{display:inline-block;border:1px solid var(--line);color:var(--mute);padding:0 10px;font-size:.8rem;font-family:system-ui,sans-serif}
.prose{max-width:720px}
h1{overflow-wrap:anywhere}
.manga4{display:block;width:100%;max-width:560px;height:auto;margin:0 auto;border:1px solid var(--gold2)}
.twocol{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:center}
@media(max-width:760px){.twocol{grid-template-columns:1fr}}
.note{color:var(--mute);font-size:.88rem}
.list{padding-left:1.2em;margin:8px 0 16px}
footer{padding:36px 0;color:var(--mute);font-size:.85rem;text-align:center}
footer a{margin:0 8px}
