/* A single surface grows from the action button; its content stays at natural size. */
.detail-action-menu {position:fixed;inset:auto;z-index:260;width:min(264px,calc(100vw - 24px));padding:8px;overflow:auto;overscroll-behavior:contain;border:1px solid var(--line);border-radius:16px;background:var(--bg2);box-shadow:0 18px 56px #0006;backdrop-filter:blur(24px);opacity:1;transform:none;clip-path:var(--menu-seed,inset(0 round 16px));transition:clip-path .36s cubic-bezier(.22,.75,.18,1)}
.detail-action-menu.is-open {opacity:1;transform:none;clip-path:inset(0 round 16px)}
.detail-more-action.is-morphing {opacity:0;pointer-events:none;transition:none}
.detail-menu-head {display:flex;align-items:center;justify-content:space-between;gap:24px;padding:2px 4px 8px 12px;color:var(--muted);font-size:11px}
.detail-menu-close {display:grid;place-items:center;width:32px;height:32px;border:0;border-radius:9px;background:none;color:var(--muted);cursor:pointer}
.detail-menu-close:hover {background:var(--panel-2);color:var(--fg)}
.detail-menu-close svg {width:16px;height:16px}
.detail-action-menu .detail-menu-item {border-radius:9px;min-height:44px}
.detail-action-menu>.detail-menu-item,.detail-menu-head {opacity:0;transform:translateY(5px);transition:opacity .12s ease,transform .18s ease}
.detail-action-menu.is-open>.detail-menu-item,.detail-action-menu.is-open>.detail-menu-head {opacity:1;transform:none;transition-delay:.1s}
.detail-action-menu :is(button):focus-visible {outline:2px solid var(--accent-2);outline-offset:-2px}
/* Persistent season navigation, with short ticks and a gentle proximity shift. */
.season-line-nav {display:flex;flex-direction:column;gap:9px;max-height:min(480px,calc(100dvh - var(--top-h) - 180px));min-height:48px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;padding:8px 14px 10px 0}
.season-line {--near:0;position:relative;display:flex;align-items:center;gap:14px;flex-shrink:0;min-height:44px;width:100%;padding:8px 8px 8px 0;border:0;background:none;text-align:left;cursor:pointer;color:var(--muted);border-radius:5px}
.season-line-mark {width:24px;height:1px;background:var(--muted-2);flex-shrink:0;transform-origin:left;transform:scaleX(calc(.65 + var(--near)*.55));transition:transform .28s ease,background .28s ease}
.season-line:not(:last-child)::after {content:'';position:absolute;left:0;bottom:-5px;width:9px;height:1px;background:var(--line)}
.season-line-label {display:flex;align-items:baseline;gap:9px;min-width:0;transform:translateX(calc(var(--near)*7px));color:color-mix(in srgb,var(--accent-2) calc(var(--near)*100%),var(--muted));transition:transform .28s ease,color .28s ease;font-size:13px;line-height:1.5}
.season-line-label small {font-size:10px;font-variant-numeric:tabular-nums;opacity:.65}
.season-line-label>span {overflow-wrap:anywhere}
.season-line[aria-current=true] .season-line-label {font-weight:650;color:var(--accent-2)}
.season-line[aria-current=true] .season-line-mark {height:2px;background:var(--accent-2)}
.season-line:focus-visible {outline:2px solid var(--accent-2);outline-offset:-2px}
.series-browser {grid-template-rows:auto 1fr}
.series-browser-tools {min-width:0}
.shelf-pages button {border:0;border-radius:9px;background:transparent;transition:background .22s,color .22s}
.shelf-pages button:not(:disabled):is(:hover,:focus-visible) {color:var(--fg);background:var(--panel-2)}
@media(max-width:720px) {
 .series-browser {display:grid;grid-template-columns:110px minmax(0,1fr);column-gap:16px;align-items:start}
 .series-browser-head {position:sticky;top:calc(var(--top-h) + 16px);display:flex;grid-column:1;grid-row:1/3;flex-direction:column;margin:0;gap:18px;min-width:0}
 .series-browser-title>div {flex-direction:column;align-items:flex-start;gap:6px}.series-browser-title h2 {font-size:22px}
 .series-browser-tools {display:block;width:100%}.season-line-nav {max-height:350px;padding-right:8px;gap:7px}
 .season-line {gap:8px}.season-line-mark {width:13px}.season-line-label {font-size:12px;gap:5px;transform:translateX(calc(var(--near)*3px))}.season-line-label small {display:none}
 .episode-locator {grid-column:2;min-width:0;margin:0 0 16px}.episode-rail {grid-column:2;min-width:0;grid-template-columns:minmax(0,1fr);margin-right:0;padding-right:0}
 .episode-card {min-width:0}.episode-query {min-width:0}.episode-query input {min-width:0}
}
@media(prefers-reduced-motion:reduce) {
 .detail-action-menu,.detail-action-menu>.detail-menu-item,.detail-menu-head,.season-line-mark,.season-line-label {transition:none!important}
 .season-line-label {transform:none}
}
