/* Season navigation uses the site's existing theme tokens and soft source pills. */
.content-detail-page .episodes-sidebar.playlist-soft .episodes-list { max-height: none !important; overflow: visible; padding: 0; }
.content-detail-page .playlist-soft .season-group { margin-bottom: 7px; }
.content-detail-page .playlist-soft .season-header { min-height: 40px; padding: 9px 14px; margin: 0 0 5px; gap: 8px; border-radius: 18px; font-size: 13px; font-weight: 650; background: color-mix(in srgb, var(--concept-accent) 6%, var(--concept-bg-soft)); box-shadow: 0 5px 22px rgb(0 0 0 / .035); }
.content-detail-page .playlist-soft .season-group:not(.is-collapsed) .season-header { background: linear-gradient(110deg, color-mix(in srgb, var(--concept-accent) 24%, var(--concept-bg-soft)), color-mix(in srgb, var(--concept-accent) 5%, var(--concept-bg-soft))); }
.playlist-soft .playlist-season-count { margin-left: auto; font-size: 12px; font-weight: 400; color: var(--concept-muted); white-space: nowrap; }
.content-detail-page .playlist-soft .season-header i { font-size: 10px; margin-left: 5px; }
.content-detail-page .playlist-soft .season-episodes { --playlist-row-height: 42px; position: relative; gap: 4px; padding: 4px; max-height: calc(var(--playlist-row-height) * 8 + 4px * 7 + 8px); overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: color-mix(in srgb, var(--concept-accent) 40%, var(--concept-muted)) transparent; border-radius: 16px; background: color-mix(in srgb, var(--concept-accent) 3%, transparent); }
.playlist-soft .season-episodes::-webkit-scrollbar { width: 5px; }
.playlist-soft .season-episodes::-webkit-scrollbar-thumb { border-radius: 5px; background: color-mix(in srgb, var(--concept-accent) 40%, transparent); }
.content-detail-page .playlist-soft .episode-item { box-sizing: border-box; position: relative; flex: 0 0 var(--playlist-row-height); min-height: var(--playlist-row-height); padding: 7px 10px; gap: 9px; border-radius: 15px; background: color-mix(in srgb, var(--concept-text) 4%, transparent); transition: background .15s ease, box-shadow .15s ease; }
.content-detail-page .playlist-soft .episode-item:hover { background: color-mix(in srgb, var(--concept-accent) 13%, transparent); }
.content-detail-page .playlist-soft .episode-item.active { background: linear-gradient(100deg, color-mix(in srgb, var(--concept-accent) 26%, var(--concept-bg-soft)), color-mix(in srgb, var(--concept-accent) 10%, var(--concept-bg-soft))); box-shadow: inset 2px 0 var(--concept-accent-3), 0 2px 14px color-mix(in srgb, var(--concept-accent) 8%, transparent); }
.content-detail-page .playlist-soft .episode-title { font-size: 13px; font-weight: 550; line-height: 1.2; }
.playlist-row-play { display: grid; place-items: center; flex: 0 0 23px; height: 23px; border-radius: 50%; font-size: 10px; color: var(--concept-text); background: color-mix(in srgb, var(--concept-text) 8%, transparent); }
.playlist-row-progress { margin-left: auto; font-size: 10px; font-variant-numeric: tabular-nums; white-space: nowrap; color: var(--concept-muted); }
.playlist-row-bar { position: absolute; bottom: 3px; left: 42px; right: 11px; height: 2px; border-radius: 3px; background: linear-gradient(to right, var(--concept-accent-3) var(--row-progress,0%), transparent var(--row-progress,0%)); }
.playlist-soft .episode-time { display: none; }
.playlist-preferences { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.playlist-preference { display: inline-flex; align-items: center; justify-content: space-between; gap: 9px; flex: 1 1 125px; min-height: 39px; padding: 9px 12px; color: var(--concept-text); font: inherit; font-size: 11px; border: 0; border-radius: 18px; background: color-mix(in srgb, var(--concept-accent) 6%, var(--concept-bg-soft)); cursor: pointer; }
.playlist-preference[hidden], .playlist-next-up[hidden] { display: none !important; }
.playlist-switch { display: block; position: relative; flex: 0 0 30px; height: 17px; border-radius: 20px; background: color-mix(in srgb, var(--concept-muted) 40%, transparent); }
.playlist-switch::after { content: ''; position: absolute; width: 13px; height: 13px; left: 2px; top: 2px; border-radius: 50%; background: var(--concept-text); transition: transform .15s ease; }
.playlist-preference[aria-checked=true] .playlist-switch { background: var(--concept-accent); }
.playlist-preference[aria-checked=true] .playlist-switch::after { transform: translateX(13px); }
.playlist-preference:focus-visible, .playlist-next-up button:focus-visible { outline: 2px solid var(--concept-accent-3, #ef537c); outline-offset: 2px; }
.playlist-next-up { position: absolute; z-index: 45; bottom: 82px; right: 20px; width: min(320px, calc(100% - 32px)); padding: 15px; border-radius: 18px; background: rgb(24 14 25 / .9); backdrop-filter: blur(20px); color: #fff; box-shadow: 0 8px 30px rgb(0 0 0 / .22); text-align: left; }
.playlist-next-up strong { display: block; font-size: 14px; line-height: 1.4; }
.playlist-next-up > span { display: block; margin-top: 4px; font-size: 12px; color: #cfbdc8; }
.playlist-next-actions { display: flex; gap: 8px; margin-top: 12px; }
.playlist-next-actions button { min-height: 35px; padding: 8px 12px; border: 0; border-radius: 12px; color: #fff; background: rgb(255 255 255 / .09); cursor: pointer; font-size: 12px; }
.playlist-next-actions button:first-child { background: var(--concept-accent, #bc1645); }
@media(max-width:767px) { .playlist-next-up { bottom: 68px; right: 12px; padding: 12px; } .content-detail-page .playlist-soft .episode-item { border-radius: 13px; } }
@media(prefers-reduced-motion:reduce) { .playlist-switch::after, .content-detail-page .playlist-soft .episode-item { transition: none; } }
.content-detail-page .playlist-soft .episode-title { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
