:root{color-scheme:light;--paper:#faf7f0;--ink:#221f1a;--muted:#726b5f;--green:#355c46;--line:#e4ddcf}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 -apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif}
a{color:inherit;text-underline-offset:4px}
header,main,footer{width:min(760px,calc(100% - 40px));margin:auto}
header{display:flex;align-items:center;justify-content:space-between;padding:28px 0;border-bottom:1px solid var(--line)}
header>a{text-decoration:none;font:600 20px Georgia,serif;letter-spacing:1px}
header>a span{font:12px -apple-system,sans-serif;margin-left:10px;letter-spacing:0;color:var(--muted)}
.eyebrow{font-size:11px;letter-spacing:2px;color:var(--muted)}
.intro{display:flex;align-items:center;gap:32px;padding:46px 0 34px}
.cover{width:176px;height:176px;object-fit:cover;border-radius:28px;box-shadow:0 12px 32px #8a67201a}
h1{font:600 clamp(30px,5vw,42px)/1.2 "Songti SC",Georgia,serif;margin:12px 0 16px}
p{margin:8px 0}.tagline{font-size:17px}.intro-note{font-size:13px;color:var(--muted)}
h2{font-size:22px;line-height:1.35;margin:12px 0}
.player{background:#fffdf8;border:1px solid var(--line);border-radius:22px;padding:28px;box-shadow:0 10px 30px #7c684408}
.episode-meta,.player-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;color:var(--muted)}
.episode-meta>span{color:var(--green);font-weight:600;letter-spacing:1px}
.duration{font-size:14px;color:var(--muted)}.duration span{padding:0 8px}
audio{display:block;width:100%;height:54px;margin:22px 0 10px}
#playback-message{font-size:13px;color:var(--green);min-height:22px}
.player-foot{border-top:1px solid var(--line);margin-top:18px;padding-top:16px}
.subscribe{margin:24px 0;padding:28px;border:1px solid var(--line);border-radius:22px}
.subscribe-head{display:flex;align-items:center;gap:14px}.subscribe h2{font-size:19px;margin:0}.subscribe-head p{font-size:13px;color:var(--muted);margin:4px 0 0}
.podcast-mark{font:38px/1 Georgia,serif;color:var(--green)}
button{font:inherit;font-weight:600;font-size:16px;cursor:pointer;background:var(--green);color:white;border:0;border-radius:12px;padding:15px 22px;min-height:50px;width:100%;margin:22px 0 4px}
button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #c08a2d;outline-offset:4px}
ol{font-size:14px;padding-left:22px;color:#514b40}li{padding:3px 0}
label{font-size:11px;color:var(--muted);letter-spacing:1px}
input{width:100%;display:block;border:1px solid var(--line);border-radius:8px;background:#f3eee3;color:var(--ink);padding:12px;font-size:16px;margin-top:6px}
#copy-status,.feed-link{font-size:12px;color:var(--muted)}
footer{padding:4px 0 calc(32px + env(safe-area-inset-bottom));font-size:12px;color:var(--muted)}
summary{cursor:pointer}details p{max-width:600px}
@media(max-width:520px){header,main,footer{width:calc(100% - 32px)}header{padding:20px 0}.intro{gap:18px;padding:30px 0 26px}.cover{width:106px;height:106px;border-radius:20px}h1{font-size:29px;margin:8px 0 10px}.eyebrow{font-size:9px;letter-spacing:1.5px}.tagline{font-size:13px}.intro-note{display:none}.player,.subscribe{padding:22px 18px}.player h2{font-size:21px}header>a span{display:none}}

/* multi-episode list */
.episodes{margin:24px 0}
.episodes h2{font-size:1.05rem;margin:0 0 10px}
#episode-list{list-style:none;margin:0;padding:0}
#episode-list li{margin:0 0 8px}
#episode-list .ep{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border:1px solid rgba(0,0,0,.1);border-radius:12px;text-decoration:none;color:inherit;background:rgba(255,255,255,.6)}
#episode-list .ep.current{border-color:currentColor;font-weight:600}
#episode-list .ep-meta{font-size:.85rem;opacity:.65;font-weight:400}

/* per-episode covers */
img{max-width:100%;height:auto}
.np-cover{display:block;width:100%;max-width:300px;margin:0 auto 18px}
.np-cover img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;border-radius:18px;box-shadow:0 10px 26px #8a672026}
#episode-list{list-style:none;margin:0;padding:0}
#episode-list .ep{display:flex;flex-direction:row;align-items:center;gap:14px;text-decoration:none}
#episode-list .ep-text{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}
#episode-list .ep-thumb{display:block;flex:0 0 88px;width:88px}
#episode-list .ep-thumb img{display:block;width:88px;height:88px;max-width:88px;object-fit:cover;border-radius:12px}
@media(max-width:520px){.np-cover{max-width:none}#episode-list .ep{padding:10px}#episode-list .ep-thumb{flex-basis:84px;width:84px}#episode-list .ep-thumb img{width:84px;height:84px;max-width:84px}}
