/* Podcast series page (/{en,fr,ja}/podcast/). Loaded only on that page, after style.css (and ja.css on /ja/). Uses the variables from style.css. */
.crumbs{font-size:.82rem;color:var(--ink-soft);margin:1.6rem 0 0;font-weight:400}.crumbs a{color:var(--ink-soft)}
.series-head{display:grid;grid-template-columns:8.5rem 1fr;gap:1.75rem;align-items:start;margin-top:1.2rem}
.cover-sq{aspect-ratio:1;background:var(--hanko);color:var(--paper);display:grid;place-items:center;border-radius:3px;font-family:var(--serif);text-align:center;padding:.8rem}
.cover-sq b{display:block;font-weight:400;font-size:3.2rem;line-height:1;padding:0 .043em .17em 0}.cover-sq small{display:block;font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;margin-top:.45rem;font-family:var(--sans);font-weight:400}
.series-head h1{margin:0 0 .2rem}
.intro{font-family:var(--serif);font-size:1.25rem;line-height:1.6;margin:.2rem 0 .7rem}
.meta{font-size:.86rem;color:var(--ink-soft);font-weight:400;margin:0}.meta span+span::before{content:" · "}
.ai-note{border:1px solid #d9d2c5;border-left:3px solid var(--hanko);background:var(--paper);padding:1rem 1.25rem;margin:2rem 0 0}
.ai-note p{margin:0;font-size:.97rem;font-weight:400;color:var(--ink-soft)}.ai-note strong{color:var(--ink)}
.ep-list{list-style:none;padding:0;margin:1.2rem 0 0;display:grid;gap:.75rem}
.ep{display:grid;grid-template-columns:3.2rem 1fr;gap:1rem;align-items:start;border:1px dashed #cfc6b6;padding:1.05rem 1.3rem;background:rgba(254,253,250,.55)}
.ep-no{font-family:var(--serif);font-size:1.9rem;line-height:1.1;color:var(--hanko);font-variant-numeric:tabular-nums}
.ep-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem .8rem}
.ep h3{margin:0;font-size:1.2rem;line-height:1.35}
.soon{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);border:1px solid var(--line);padding:.05rem .45rem;border-radius:2px;font-weight:400;white-space:nowrap}
.teaser{margin:.35rem 0 0;font-size:.95rem;color:var(--ink-soft);font-weight:400;line-height:1.65}
html:lang(ja) .soon,html:lang(ja) .cover-sq small{letter-spacing:.05em}
@media (max-width:640px){.series-head{display:block}.cover-sq{float:left;width:4.6rem;padding:.3rem;margin:0 1rem .9rem 0}.cover-sq b{font-size:2rem}.cover-sq small{font-size:.5rem;letter-spacing:.1em}.series-head h1{line-height:4.6rem}.series-head .intro{clear:both}
.intro{font-size:1.1rem}.ep{grid-template-columns:2.3rem 1fr;gap:.7rem;padding:.9rem 1rem}.ep-no{font-size:1.45rem}.ep h3{font-size:1.1rem}}
/* v2: published episode with in-page player */
.ep.ep-live{border:1px solid var(--line);border-left:3px solid var(--hanko);background:var(--paper,#fefdfa)}
.dur{font-size:.78rem;letter-spacing:.06em;color:var(--ink-soft);font-variant-numeric:tabular-nums;white-space:nowrap}
.ep-audio{display:block;width:100%;max-width:34rem;height:40px;margin:.7rem 0 .1rem;accent-color:var(--hanko)}
/* v3: custom audio player (assets/js/podcast.js); light only */
:root{color-scheme:only light}
.player{display:flex;align-items:center;gap:.85rem;max-width:34rem;margin:.85rem 0 .1rem;color-scheme:only light}
.player[hidden]{display:none}
.player audio{display:none}
.pl-btn{flex:none;width:2.6rem;height:2.6rem;border-radius:50%;border:1.5px solid var(--hanko);background:var(--paper,#fefdfa);color:var(--hanko);display:grid;place-items:center;padding:0;cursor:pointer;transition:background .15s,color .15s;-webkit-appearance:none;appearance:none}
.pl-btn svg{width:1rem;height:1rem;fill:currentColor}
.pl-btn .i-pause,.player.is-playing .pl-btn .i-play{display:none}
.player.is-playing .pl-btn .i-pause{display:block}
.pl-btn:hover,.player.is-playing .pl-btn{background:var(--hanko);color:var(--washi,#faf8f3)}
.pl-btn:focus-visible,.pl-bar:focus-visible{outline:2px solid var(--hanko);outline-offset:3px}
.pl-bar{flex:1;min-width:6rem;height:1.6rem;display:flex;align-items:center;cursor:pointer;touch-action:none;border-radius:2px}
.pl-track{position:relative;display:block;width:100%;height:2px;background:var(--line)}
.pl-fill{position:absolute;left:0;top:0;bottom:0;width:0;background:var(--hanko)}
.pl-fill::after{content:"";position:absolute;right:-5px;top:50%;width:10px;height:10px;margin-top:-5px;border-radius:50%;background:var(--hanko)}
.pl-time{flex:none;min-width:6.9em;text-align:right;font-size:.8rem;color:var(--ink-soft);font-variant-numeric:tabular-nums;white-space:nowrap}
.ep-audio{color-scheme:only light}
/* v4: playback speed button; time + speed grouped (wraps under the bar on narrow screens) */
.pl-meta{flex:none;display:flex;align-items:center;gap:.6rem}
.pl-rate{flex:none;min-width:3.4em;font:inherit;font-size:.78rem;font-variant-numeric:tabular-nums;line-height:1;color:var(--ink-soft);background:transparent;border:1px solid var(--line);border-radius:999px;padding:.32rem .55rem;cursor:pointer;-webkit-appearance:none;appearance:none;transition:color .15s,border-color .15s}
.pl-rate:hover,.pl-rate:focus-visible{color:var(--hanko);border-color:var(--hanko)}
.pl-rate:focus-visible{outline:2px solid var(--hanko);outline-offset:2px}
@media (max-width:640px){
.player{flex-wrap:wrap;row-gap:.35rem}
.pl-bar{min-width:0}
.pl-meta{display:contents}
.pl-btn{order:1}.pl-bar{order:2;flex:1 1 calc(100% - 3.45rem)}
.pl-rate{order:3;width:2.6rem;min-width:0;padding:.32rem 0;text-align:center}
.pl-time{order:4;flex:1;min-width:0;text-align:left}}
