:root{--bg:#1c0d13;--panel:#2a141c;--fg:#fff1f4;--muted:#c99aa8;--line:#4a2532;--accent:#f0789a;--gold:#f5c542;--up:#ff5f7e;--down:#3fd0a0;--wine:#7a2e3f;
--display:"Dela Gothic One","Hiragino Kaku Gothic StdN",sans-serif;--body:"Zen Kaku Gothic New","Hiragino Sans","Noto Sans JP",sans-serif;color-scheme:dark}
*{box-sizing:border-box}
body{margin:0;background:var(--bg) radial-gradient(ellipse at 50% -10%,#4a1a29 0,transparent 60%) no-repeat;background-attachment:fixed;color:var(--fg);font-family:var(--body);font-size:16px;line-height:1.8}
.wrap{max-width:720px;margin:0 auto;padding:20px max(16px,env(safe-area-inset-left)) 80px}
nav.top{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
nav.top a{color:var(--fg);text-decoration:none;border:1px solid var(--line);border-radius:999px;padding:6px 14px;font-size:.85rem;background:var(--panel)}
nav.top a.on{border-color:var(--gold);color:var(--gold)}
nav.top a.play{background:linear-gradient(135deg,#f5c542,#f0789a);color:#2a141c;font-weight:800;border-color:transparent}
h1{font-family:var(--display);font-weight:400;color:var(--accent);text-shadow:2px 2px 0 #000;font-size:1.7rem;line-height:1.35;margin:.2em 0 .3em}
h2{font-family:var(--display);font-weight:400;color:var(--gold);font-size:1.25rem;margin:2em 0 .6em;padding-bottom:.3em;border-bottom:2px solid var(--line)}
h3{font-size:1.05rem;margin:1.4em 0 .4em;color:var(--fg)}
p{margin:.6em 0}
.lead{color:var(--muted)}
.card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:14px 16px;margin:12px 0}
.lilith{display:flex;gap:12px;align-items:flex-start;margin:14px 0}
.lilith img{width:64px;height:76px;object-fit:cover;border-radius:12px;border:2px solid var(--gold);flex:none}
.lilith .say{background:#fff1f4;color:#3a1823;border-radius:14px;padding:10px 14px;font-weight:700;font-size:.95rem;position:relative}
table{width:100%;border-collapse:collapse;font-size:.92rem;margin:10px 0}
th,td{border-bottom:1px solid var(--line);padding:8px 6px;text-align:left;vertical-align:top}
th{color:var(--gold);font-weight:700;white-space:nowrap}
td.g{color:var(--accent)} td.r{color:var(--down)}
.warn{border-color:var(--wine);background:linear-gradient(135deg,#3a1520,var(--panel))}
.warn b{color:var(--gold)}
ol li,ul li{margin:.3em 0}
.foot{margin-top:40px;color:var(--muted);font-size:.8rem;border-top:1px solid var(--line);padding-top:14px}
.foot a{color:var(--muted)}
a{color:var(--accent)}
.cta{display:block;text-align:center;margin:28px 0 8px;padding:14px;border-radius:14px;background:linear-gradient(135deg,#f5c542,#f0789a);color:#2a141c;font-weight:800;text-decoration:none;font-size:1.05rem;box-shadow:0 3px 0 #000}

html{touch-action:manipulation;-webkit-text-size-adjust:100%}
