.player-frame { position:relative; display:block; min-width:0; }
.player-frame .episode-video { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; display:block; }
.player-controls { position:absolute; z-index:3; bottom:0; left:0; right:0; padding:42px 24px 18px; background:linear-gradient(transparent,#000c 38%,#000e); color:#fff; }
.player-timeline { display:flex; align-items:center; gap:16px; margin-bottom:10px; }
.player-controls input[type=range] { accent-color:#e50914; cursor:pointer; min-width:0; padding:0; margin:0; }
.player-seek { flex:1; width:100%; height:20px; appearance:none; background:transparent; }
.player-seek::-webkit-slider-runnable-track { height:5px; border-radius:3px; background:linear-gradient(to right,#e50914 var(--progress,0%),#888 var(--progress,0%)); }
.player-seek::-webkit-slider-thumb { appearance:none; width:15px; height:15px; border-radius:50%; background:#e50914; margin-top:-5px; }
.player-seek::-moz-range-track { height:5px; background:#888; }.player-seek::-moz-range-progress { height:5px; background:#e50914; }.player-seek::-moz-range-thumb { width:14px; height:14px; border:0; background:#e50914; }
.player-time { font-size:13px; font-variant-numeric:tabular-nums; white-space:nowrap; }
.player-control-row { display:flex; align-items:center; gap:12px; }
.player-button { display:grid; place-items:center; flex:none; width:44px; height:44px; border:0; padding:8px; background:transparent; color:#fff; border-radius:5px; }
.player-button:hover { background:#ffffff20; }.player-button svg { width:28px; height:28px; }
.player-controls :focus-visible,.player-frame:focus-visible { outline:2px solid #fff; outline-offset:3px; }
.player-volume { width:85px; flex:0 1 85px; }
.player-episode-title { flex:1; min-width:0; font-size:16px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; text-align:center; }
.player-speed { color:#fff; background:#222; border:1px solid #777; border-radius:4px; padding:7px; font-size:14px; height:36px; }
.player-audio-panel { position:absolute; z-index:4; right:24px; bottom:124px; padding:16px 24px; background:#222; border:1px solid #666; border-radius:6px; box-shadow:0 5px 20px #0008; }
.player-audio-panel h3 { font-size:16px; margin:0 0 8px; }.player-audio-panel p { font-size:14px; margin:0 0 16px; }.player-audio-panel p:last-child { margin-bottom:0; }
.player-status { position:absolute; z-index:2; top:18px; left:50%; transform:translateX(-50%); padding:10px 16px; border-radius:4px; background:#000d; text-align:center; font-size:14px; }
.player-frame:fullscreen { width:100vw; height:100dvh; aspect-ratio:auto; border-radius:0; background:#000; }
.player-frame:-webkit-full-screen { width:100vw; height:100vh; aspect-ratio:auto; border-radius:0; background:#000; }
@media(max-width:799px) { .player-control-row { gap:5px; }.player-episode-title { display:none; }.player-speed { margin-left:auto; }.player-volume { width:60px; flex-basis:60px; }.player-controls { padding:30px 12px 12px; } }
@media(max-width:499px) { .player-frame { aspect-ratio:4/3; }.player-controls { padding:24px 8px 8px; }.player-control-row { flex-wrap:wrap; justify-content:space-between; gap:2px; }.player-button { width:38px; height:42px; padding:7px; }.player-button svg { width:24px; height:24px; }.player-volume { flex-basis:55px; }.player-speed { padding:4px; font-size:12px; margin-left:0; }.player-timeline { gap:8px; margin-bottom:2px; }.player-time { font-size:11px; }.player-audio-panel { bottom:130px; right:8px; padding:12px; }.player-status { top:8px; font-size:12px; } }
