.episode-list{display:grid;gap:9px}
.episode{width:100%;text-align:left;font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:border-color 160ms ease,background-color 160ms ease,transform 160ms ease}
.episode:hover{border-color:rgba(217,180,92,.44);background:rgba(167,155,255,.12)}
.episode:active{transform:scale(.99)}
.episode:focus-visible{outline:2px solid var(--violet);outline-offset:3px}
.episode[aria-current="true"]{border-color:rgba(217,180,92,.62);background:linear-gradient(135deg,rgba(217,180,92,.12),rgba(167,155,255,.1));box-shadow:inset 0 0 0 1px rgba(217,180,92,.1)}
.episode-copy{display:grid;min-width:0;gap:2px}
.episode-title{font-size:12px;font-weight:700;line-height:1.45;overflow-wrap:anywhere}
.episode-subtitle{color:var(--muted);font-size:10px;line-height:1.45}
.episode-poster{position:relative;display:block;width:100px;aspect-ratio:16/9;overflow:hidden;border-radius:7px;background:#171422}
.episode-poster img{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;object-fit:cover}
.episode-poster-lqip{filter:blur(5px);transform:scale(1.04)}
.episode-poster-full{opacity:0;transition:opacity 280ms ease}
.episode-poster-full.is-loaded{opacity:1}
.player-frame{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}
.player-frame[data-aspect="square"]{width:min(100%,74svh,720px);aspect-ratio:1;margin-inline:auto;background:#05050a url("../assets/lqip/theater.webp") center/cover no-repeat}
.player-frame[data-aspect="square"] video{width:100%;height:100%;max-height:none;aspect-ratio:1;object-fit:contain;object-position:center}
.compatibility-note{margin:0 2px 12px;color:#aaa4c3;font-size:12px;line-height:1.7}
.compatibility-note[hidden]{display:none}
.compatibility-note a{color:#e7d6a5;text-underline-offset:3px}
@media(max-width:820px){.episode-poster{width:112px}.player-frame[data-aspect="square"]{width:min(100%,74svh,720px)}.player-frame[data-aspect="square"] video{height:100%}}
@media(max-width:520px){.episode-poster{width:96px}.episode-title{font-size:11px}.episode-subtitle{font-size:9px}.compatibility-note{font-size:11px}}
@media(prefers-reduced-motion:reduce){.episode{transition:none}.episode:active{transform:none}}
