:root{--bg:#16121f;--bg2:#211a2e;--card:#2a2139;--fg:#f4eef8;--mute:#b6a9c6;--pink:#ff7aa8;--peach:#ffc29a;--line:#3a2f4d;--r:16px}
@media (prefers-color-scheme:light){:root{--bg:#fff7f3;--bg2:#ffeee6;--card:#fff;--fg:#2a1f33;--mute:#6f6079;--pink:#e0477d;--peach:#d9773a;--line:#f0d9cf}}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--fg);font:17px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
a{color:var(--pink)}
img{max-width:100%;height:auto;display:block}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:var(--card);padding:8px;z-index:9}
.top{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 18px;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--fg);font-weight:800;letter-spacing:.02em}
.logo{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,var(--pink),var(--peach));color:#16121f;font:800 13px/1 Georgia,serif;white-space:nowrap;letter-spacing:-.02em}
.logo em{font-style:normal;opacity:.7}
.top nav{display:flex;gap:16px}.top nav a{color:var(--fg);text-decoration:none;font-weight:600;font-size:15px}.top nav a:hover{color:var(--pink)}
main{max-width:980px;margin:0 auto;padding:24px 18px 48px}
h1,h2{font-family:Georgia,"Times New Roman",serif;line-height:1.2}
h2{font-size:1.35rem;margin:40px 0 14px;color:var(--peach)}
.hero{text-align:center;padding:56px 12px 28px;background:radial-gradient(ellipse at top,color-mix(in srgb,var(--pink) 22%,transparent),transparent 70%);border-radius:var(--r)}
.hero h1{font-size:clamp(2.2rem,7vw,3.6rem);margin:.2em 0;background:linear-gradient(90deg,var(--pink),var(--peach));-webkit-background-clip:text;background-clip:text;color:transparent}
.kicker,.ep-no{text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:700;color:var(--mute)}
.tag{color:var(--mute);font-size:1.1rem;max-width:34em;margin:0 auto 22px}
.btn{display:inline-block;padding:12px 22px;border-radius:999px;background:var(--pink);color:#16121f;font-weight:800;text-decoration:none;box-shadow:0 6px 20px color-mix(in srgb,var(--pink) 35%,transparent)}
.btn:hover{filter:brightness(1.08)}.btn.alt{background:transparent;color:var(--pink);border:2px solid var(--pink);box-shadow:none}
.ep-card{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;text-decoration:none;color:var(--fg);transition:transform .15s}
.ep-card:hover{transform:translateY(-3px)}
.ep-card img{aspect-ratio:1;object-fit:cover;width:100%}
.ep-meta{display:flex;flex-direction:column;gap:2px;padding:12px 14px 16px}
.ep-title{font:700 1.15rem/1.3 Georgia,serif}
time{color:var(--mute);font-size:14px}
.ep-sum{color:var(--mute);margin-top:6px}
.ep-card.big{flex-direction:row}.ep-card.big img{width:44%;max-width:360px;align-self:stretch;height:auto;aspect-ratio:auto;object-fit:cover}
.ep-card.big .ep-meta{padding:22px;justify-content:center}.ep-card.big .ep-title{font-size:1.6rem}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px}
@media (max-width:640px){.ep-card.big{flex-direction:column}.ep-card.big img{width:100%;max-width:none}.top nav{gap:12px}.brand-text{display:none}}
.archive{list-style:none;padding:0;display:grid;gap:12px}
.archive a{display:flex;gap:14px;align-items:flex-start;padding:12px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);text-decoration:none;color:var(--fg)}
.archive img{width:96px;height:96px;border-radius:10px;object-fit:cover;flex:none}
.archive span{display:flex;flex-direction:column}
.is-reader main{max-width:none;padding:0 0 40px}
.ep-head{text-align:center;padding:28px 18px 8px}.ep-head h1{margin:.15em 0;font-size:clamp(1.8rem,6vw,2.6rem)}
.ep-nav{display:flex;justify-content:space-between;gap:10px;max-width:800px;margin:12px auto;padding:0 14px}
.ep-nav a,.ep-nav .off{padding:9px 14px;border-radius:999px;background:var(--card);border:1px solid var(--line);text-decoration:none;font-weight:700;font-size:15px}
.ep-nav .off{opacity:.4}
.strip{max-width:800px;margin:0 auto;background:#000}
.strip img{width:100%}
.ep-end{text-align:center;max-width:800px;margin:0 auto;padding:36px 18px}
.end-mark{font-family:Georgia,serif;color:var(--mute);font-size:1.1rem}
.cta{margin-top:30px;padding:22px;background:var(--card);border:1px solid var(--line);border-radius:var(--r)}
.about{max-width:720px;margin:0 auto}.about .lead{font-size:1.15rem}
.about figure{margin:26px 0}.about figure img{border-radius:var(--r);border:1px solid var(--line)}
.bots{list-style:none;padding:0;display:grid;gap:10px}
.bots li{display:flex;flex-direction:column;padding:12px 16px;background:var(--card);border:1px solid var(--line);border-radius:12px}
.bots li a{font-weight:700;text-decoration:none}.bots li span{color:var(--mute);font-size:15px}
.todo{color:var(--mute);font-weight:700}
.foot{border-top:1px solid var(--line);padding:22px 18px 34px;text-align:center;color:var(--mute);font-size:14px}
.notice{max-width:42em;margin:0 auto 8px}

/* Pip's Song + Music */
.song .song-title{margin:.2em 0 .8em}
.song{max-width:720px}
.song .player{max-width:560px;height:80px;clip-path:inset(0 round 12px);border-radius:12px;overflow:hidden;isolation:isolate;transform:translateZ(0);box-shadow:0 6px 20px rgba(0,0,0,.12)}
.song iframe.spotify{display:block;border:0;width:100%;height:80px;color-scheme:normal;background:transparent;border-radius:12px;clip-path:inset(0 round 12px)}
.song .song-links{font-size:.9em;opacity:.85;margin-top:.6em}
.music-links{display:flex;flex-direction:column;gap:.8em;max-width:360px;margin-top:1.2em}
.music-links .btn{text-align:center}
