*{margin:0;padding:0;box-sizing:border-box}body{overflow:hidden}:root{--player-accent: #3db9fb;--player-progress: var(--player-accent);--player-font: Lato, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--player-text: #fff;--player-text-muted: rgba(255, 255, 255, .7);--player-text-disabled: rgba(255, 255, 255, .35);--player-surface: rgba(18, 18, 20, .82);--player-surface-strong: rgba(18, 18, 20, .92);--player-surface-blur: blur(12px) saturate(140%);--player-hover: rgba(255, 255, 255, .12);--player-focus-ring: 0 0 0 2px var(--player-accent);--player-radius-sm: 6px;--player-radius-md: 10px;--player-ease: cubic-bezier(.2, 0, 0, 1);--player-duration-fast: .12s;--player-duration: .2s}.control-button[data-tooltip]:after,.progress-bar-tooltip,.settings-panel,.playback-feedback,.prevent-seek-toast,.seek-flash,.error-overlay{background:var(--player-surface);-webkit-backdrop-filter:var(--player-surface-blur);backdrop-filter:var(--player-surface-blur);color:var(--player-text)}.control-button[data-tooltip]:after,.progress-bar-tooltip{border-radius:var(--player-radius-sm);box-shadow:0 2px 8px #0000004d;white-space:nowrap;pointer-events:none}.captions-overlay{--controls-height: 0px;position:absolute;left:4%;right:4%;bottom:max(5%,16px);display:flex;justify-content:center;pointer-events:none;transition:transform var(--player-duration) var(--player-ease)}.captions-overlay.controls-visible{transform:translateY(calc(-1 * var(--controls-height)))}.captions-overlay-content{max-width:90%;color:var(--player-text);font:500 calc(clamp(11px,min(2.4vw,4.2vh),22px) * var(--caption-scale)) / 1.35 var(--player-font);text-align:center;white-space:pre-line}.captions-overlay-text{padding:.1em .4em;border-radius:3px;background:rgba(8,8,8,var(--caption-background));-webkit-box-decoration-break:clone;box-decoration-break:clone}.captions-overlay.is-low-contrast .captions-overlay-text{text-shadow:0 0 2px rgba(0,0,0,.9),0 1px 3px rgba(0,0,0,.9)}.captions-overlay-text:empty{display:none}@media(prefers-reduced-motion:reduce){.captions-overlay{transition:none}}.audio-player-container{position:relative;width:100vw;height:96px}.controls-bar{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;justify-content:flex-end;pointer-events:none;isolation:isolate}.controls-bar--audio{position:static;inset:auto}.controls-bar--audio .controls-bar-row{flex-wrap:wrap}.controls-bar-bottom{display:flex;flex-direction:column;gap:2px;padding:0 12px 6px;color:var(--player-text);font-family:var(--player-font);opacity:0;pointer-events:none;transition:opacity var(--player-duration) var(--player-ease)}.controls-bar-bottom:before{content:"";position:absolute;left:0;right:0;bottom:0;z-index:-1;height:min(180px,100%);background:linear-gradient(to top,rgba(0,0,0,.7) 0%,rgba(0,0,0,.6) 15%,rgba(0,0,0,.47) 30%,rgba(0,0,0,.33) 45%,rgba(0,0,0,.2) 60%,rgba(0,0,0,.1) 74%,rgba(0,0,0,.03) 88%,transparent 100%);pointer-events:none}.controls-bar-bottom.is-visible{opacity:1;pointer-events:auto}.controls-bar--audio .controls-bar-bottom{padding:4px 12px 6px;border-radius:var(--player-radius-md);background:var(--player-surface-strong)}.controls-bar--audio .controls-bar-bottom:before{display:none}.controls-bar-row{display:flex;align-items:center;gap:0;margin:0 -8px}.controls-bar-desktop-group{display:contents}.controls-bar-spacer{flex:1}.control-button{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:none;border-radius:50%;background:transparent;color:inherit;font:600 13px / 1 var(--player-font);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color var(--player-duration-fast) ease,color var(--player-duration-fast) ease}.control-button>*{transition:transform var(--player-duration-fast) var(--player-ease)}.control-button:active:not(:disabled)>*{transform:scale(.88)}@media(hover:hover){.control-button:hover:not(:disabled),.control-button[aria-expanded=true]{background-color:var(--player-hover)}}.control-button:focus-visible{outline:none;box-shadow:var(--player-focus-ring)}.control-button[data-tooltip]{position:relative}.control-button[data-tooltip]:after{content:attr(aria-label);position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%);padding:5.75px 9px 4.25px;font:500 12px / 1.3 var(--player-font);letter-spacing:.01em;opacity:0;translate:0 4px;transition:opacity var(--player-duration-fast) ease,translate var(--player-duration) var(--player-ease)}@media(hover:hover){.control-button[data-tooltip]:hover:not([aria-expanded=true]):after{opacity:1;translate:0 0;transition-delay:.15s}.control-button[data-tooltip]:hover{z-index:1}}.controls-bar-row>.control-button:first-child:after{left:0;transform:none}.controls-bar-row>.control-button:last-child:after{left:auto;right:0;transform:none}.control-button.is-active{color:var(--player-accent)}.icon-swap{display:flex;align-items:center;justify-content:center}.seek-icon{position:relative;display:flex}.seek-icon-number{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding-top:.1em;font-family:var(--player-font);font-weight:600;line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.control-button:disabled{color:var(--player-text-disabled);cursor:not-allowed}.time-label{padding:0 8px;font-size:13px;font-weight:500;font-variant-numeric:tabular-nums;letter-spacing:.01em;white-space:nowrap;color:var(--player-text);transform:translateY(.13em)}.time-label-duration{color:var(--player-text-muted)}.volume-control{display:flex;align-items:center}.volume-slider{--volume-thumb: 12px;--volume-fill: calc( var(--volume-thumb) / 2 + var(--volume-level) * (100% - var(--volume-thumb)) );-webkit-appearance:none;appearance:none;width:0;min-width:0;height:40px;margin:0;background:transparent;cursor:pointer;opacity:0;pointer-events:none;transition:width var(--player-duration) var(--player-ease),margin var(--player-duration) var(--player-ease),opacity var(--player-duration-fast) ease}.volume-control:hover .volume-slider,.volume-control:focus-within .volume-slider{width:64px;margin:0 10px 0 2px;opacity:1;pointer-events:auto}.volume-slider:focus-visible{outline:none}.volume-slider::-webkit-slider-runnable-track{height:3px;border-radius:2px;background:linear-gradient(to right,var(--player-progress) var(--volume-fill),rgba(255,255,255,.3) var(--volume-fill))}.volume-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:var(--volume-thumb);height:var(--volume-thumb);margin-top:calc((3px - var(--volume-thumb)) / 2);border:none;border-radius:50%;background:var(--player-progress);box-shadow:0 1px 3px #00000059}.volume-slider::-moz-range-track{height:3px;border-radius:2px;background:#ffffff4d}.volume-slider::-moz-range-progress{height:3px;border-radius:2px;background:var(--player-progress)}.volume-slider::-moz-range-thumb{width:var(--volume-thumb);height:var(--volume-thumb);border:none;border-radius:50%;background:var(--player-progress);box-shadow:0 1px 3px #00000059}.volume-slider:focus-visible::-webkit-slider-thumb{box-shadow:var(--player-focus-ring)}.volume-slider:focus-visible::-moz-range-thumb{box-shadow:var(--player-focus-ring)}.audio-speed-button{width:auto;min-width:48px;height:28px;margin:0 6px;padding:0 10px;border-radius:999px;background:#ffffff1a;box-shadow:inset 0 0 0 1px #ffffff2e;font-size:12px;font-variant-numeric:tabular-nums}@media(hover:hover){.control-button.audio-speed-button:hover:not(:disabled){background:#fff3}}.audio-speed-button:focus-visible{box-shadow:var(--player-focus-ring)}@media(prefers-reduced-motion:reduce){.control-button,.control-button>*,.volume-slider{transition:none}.control-button:active:not(:disabled)>*{transform:none}.control-button[data-tooltip]:after{translate:none}}.settings-menu{position:relative;display:flex;align-items:center}.settings-panel{position:absolute;z-index:2;bottom:calc(100% + 8px);right:0;min-width:220px;max-width:calc(100vw - 24px);max-height:calc(100vh - 24px);overflow-y:auto;overflow-x:hidden;scrollbar-width:none;background:var(--player-surface-strong);border-radius:var(--player-radius-md);box-shadow:0 0 0 1px #ffffff0f,0 8px 28px #0006;font:400 13px / 1.3 var(--player-font);opacity:0;pointer-events:none;transform-origin:bottom right;transform:translateY(4px) scale(.94);transition:height var(--player-duration) var(--player-ease),opacity var(--player-duration-fast) ease,transform var(--player-duration) var(--player-ease)}.settings-panel::-webkit-scrollbar{display:none}.settings-panel.is-visible{opacity:1;pointer-events:auto;transform:none}.settings-panel-content{padding:6px}.settings-view{animation:settings-view-in var(--player-duration) var(--player-ease)}.settings-view--back{--settings-view-from: -12px}@keyframes settings-view-in{0%{opacity:0;transform:translate(var(--settings-view-from, 12px))}}.settings-divider{height:1px;margin:6px 12px;background:#ffffff26}.settings-list{list-style:none}.settings-header,.settings-list button{width:100%;min-height:40px;display:flex;align-items:center;gap:12px;background:transparent;border:none;border-radius:var(--player-radius-sm);color:inherit;padding:8px 10px;font:inherit;text-align:left;cursor:pointer;transition:background var(--player-duration-fast) ease}.settings-list button{justify-content:space-between}.settings-header{gap:6px;margin-bottom:4px;font-weight:600;position:relative}.settings-header:after{content:"";position:absolute;left:4px;right:4px;bottom:-3px;border-bottom:1px solid rgba(255,255,255,.12)}.settings-header svg{margin-left:-4px}.settings-header:active,.settings-list button:active{background:var(--player-hover)}@media(hover:hover){.settings-header:hover,.settings-list button:hover{background:var(--player-hover)}}.settings-header:focus-visible,.settings-list button:focus-visible{outline:none;background:var(--player-hover);box-shadow:inset var(--player-focus-ring)}.settings-list button:disabled,.settings-list button:disabled:hover,.settings-list button:disabled:active{background:transparent;color:var(--player-text-disabled);cursor:not-allowed}.settings-list button.is-selected{font-weight:600}.settings-check{display:flex;color:var(--player-accent)}.settings-value{display:flex;align-items:center;gap:2px;margin-right:-4px;color:var(--player-text-muted);white-space:nowrap}.settings-list button:disabled .settings-value{color:inherit}@media(pointer:coarse){.settings-header,.settings-list button{min-height:44px}}@media(prefers-reduced-motion:reduce){.settings-panel{transform:none}.settings-view{animation:none}}.cover-image{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;background:#f4f9ff;pointer-events:none}.video-gesture{position:absolute;top:0;right:0;bottom:0;left:0}.playback-feedback{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(.85);width:72px;height:72px;display:flex;align-items:center;justify-content:center;border:none;border-radius:50%;box-shadow:0 4px 16px #00000040;opacity:0;pointer-events:none;transition:opacity .25s ease,transform .3s var(--player-ease),background var(--player-duration) ease}.playback-feedback-static{opacity:1;transform:translate(-50%,-50%) scale(1);transition:transform var(--player-duration) var(--player-ease),filter var(--player-duration) ease,box-shadow var(--player-duration) ease;pointer-events:auto;cursor:pointer;background:var(--player-accent);-webkit-backdrop-filter:none;backdrop-filter:none}@media(hover:hover){.playback-feedback-static:hover{filter:brightness(1.08);transform:translate(-50%,-50%) scale(1.08)}}.playback-feedback-static:active{transform:translate(-50%,-50%) scale(.96)}.playback-feedback-static:focus-visible{outline:none;box-shadow:0 0 0 2px #fff,0 4px 16px #00000040}.playback-feedback.is-visible{opacity:1;transform:translate(-50%,-50%) scale(1)}.prevent-seek-toast{position:fixed;top:16px;left:50%;transform:translate(-50%,-8px);width:max-content;max-width:calc(100vw - 32px);box-shadow:0 4px 16px #0000004d;padding:9.75px 16px 8.25px;border-radius:var(--player-radius-md);font:500 13px / 1.4 var(--player-font);text-align:center;text-wrap:balance;z-index:1000;opacity:0;pointer-events:none;transition:opacity .3s ease,transform .3s var(--player-ease)}.prevent-seek-toast.is-visible{opacity:1;transform:translate(-50%)}.seek-flash{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(.85);width:64px;height:64px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;border-radius:50%;box-shadow:0 4px 16px #00000040;opacity:0;pointer-events:none;transition:opacity var(--player-duration) ease,transform .3s var(--player-ease)}.seek-flash-label{font:600 11px / 1 var(--player-font);font-variant-numeric:tabular-nums}.seek-flash-left{left:25%}.seek-flash-right{left:75%}.seek-flash.is-visible{opacity:1;transform:translate(-50%,-50%) scale(1)}.loading-spinner{position:absolute;top:50%;left:50%;width:44px;height:44px;border:3px solid rgba(255,255,255,.2);border-top-color:var(--player-progress);border-radius:50%;filter:drop-shadow(0 0 3px rgba(0,0,0,.45));pointer-events:none;transform:translate(-50%,-50%);animation:loading-spinner-rotate .8s linear infinite,loading-spinner-in var(--player-duration) ease}@keyframes loading-spinner-rotate{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}@keyframes loading-spinner-in{0%{opacity:0}}.error-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:#0a0a0cb8;font:500 14px / 1.45 var(--player-font);text-align:center;text-wrap:balance;padding:16px}.error-overlay svg{flex-shrink:0;color:var(--player-text-muted)}.error-overlay span{max-width:36ch}.audio-player-container .error-overlay{flex-direction:row;gap:10px;padding:8px 16px;font-size:13px;text-align:left}@media(prefers-reduced-motion:reduce){.prevent-seek-toast{transform:translate(-50%)}.playback-feedback,.playback-feedback-static:hover,.playback-feedback-static:active,.seek-flash{transform:translate(-50%,-50%)}.loading-spinner{animation-duration:1.6s,var(--player-duration)}}.progress-bar-wrapper{position:relative;--progress-rail-height: 5px;--progress-rail-rest-scale: .6;--progress-thumb-size: 12px;--progress-hit-padding: 7px}.progress-bar-track{position:relative;padding:var(--progress-hit-padding) 0;margin:calc(-1 * var(--progress-hit-padding)) 0;cursor:pointer;touch-action:none;outline:none}.progress-bar-rail{position:relative;height:var(--progress-rail-height);border-radius:var(--progress-rail-height);background:linear-gradient(#ffffff40,#ffffff40),#0003;overflow:hidden;transform:scaleY(var(--progress-rail-rest-scale));transition:transform var(--player-duration) var(--player-ease)}.progress-bar-track:hover .progress-bar-rail,.progress-bar-track.is-dragging .progress-bar-rail,.progress-bar-track:focus-visible .progress-bar-rail{transform:scaleY(1)}.progress-bar-track:focus-visible .progress-bar-rail{box-shadow:var(--player-focus-ring)}.progress-bar-buffered,.progress-bar-hover,.progress-bar-played{position:absolute;top:0;left:0;bottom:0;pointer-events:none}.progress-bar-buffered{background:#ffffff47;transition:width var(--player-duration) linear}.progress-bar-hover{background:#ffffff38}.progress-bar-played{background:var(--player-progress)}.progress-bar-tooltip{position:absolute;z-index:1;bottom:calc(100% + 14px);display:flex;flex-direction:column;align-items:center;padding:4.75px 8px 3.25px;font:600 12px / 1.3 var(--player-font);font-variant-numeric:tabular-nums;transform:translate(-50%,4px);opacity:0;transition:opacity var(--player-duration-fast) var(--player-ease),transform var(--player-duration-fast) var(--player-ease)}.progress-bar-tooltip.is-visible{opacity:1;transform:translate(-50%)}.progress-bar-tooltip-note{font-weight:500;font-size:11px;color:var(--player-text-muted)}.progress-bar-thumb{position:absolute;top:50%;width:var(--progress-thumb-size);height:var(--progress-thumb-size);border-radius:50%;background:var(--player-progress);box-shadow:0 1px 3px #00000073;transform:translate(-50%,-50%) scale(1);pointer-events:none;transition:transform var(--player-duration) var(--player-ease)}.progress-bar-track.is-dragging .progress-bar-thumb{transform:translate(-50%,-50%) scale(1.2)}.progress-bar-locked{position:absolute;top:0;bottom:0;background:repeating-linear-gradient(-45deg,rgba(255,255,255,.22) 0 2px,transparent 2px 5px),#0a0a0c8c;pointer-events:none}.progress-bar-track.is-hover-locked{cursor:not-allowed}@media(hover:hover)and (pointer:fine){.progress-bar-thumb{transform:translate(-50%,-50%) scale(0)}.progress-bar-track:hover .progress-bar-thumb,.progress-bar-track:focus-visible .progress-bar-thumb{transform:translate(-50%,-50%) scale(1)}}@media(pointer:coarse){.progress-bar-wrapper{--progress-rail-rest-scale: .8;--progress-thumb-size: 14px;--progress-hit-padding: 10px}}.controls-bar--audio .progress-bar-thumb{--progress-thumb-size: 10px}@media(prefers-reduced-motion:reduce){.progress-bar-rail,.progress-bar-buffered,.progress-bar-thumb,.progress-bar-tooltip{transition:none}}@media(pointer:coarse),(max-width:768px){.captions-overlay{bottom:max(4%,12px)}.controls-bar-desktop-group{display:none}.controls-bar--video .play-button{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:64px;height:64px;display:flex;align-items:center;justify-content:center;padding:0;border-radius:50%;filter:drop-shadow(0 1px 4px rgba(0,0,0,.5))}.controls-bar--video .play-button svg{width:44px;height:44px}.playback-feedback-static{width:64px;height:64px}.playback-feedback-static svg{width:34px;height:34px}.controls-bar--video .seek-backward-button,.controls-bar--video .seek-forward-button{position:absolute;top:50%;width:48px;height:48px;display:flex;align-items:center;justify-content:center;padding:0;border-radius:50%;filter:drop-shadow(0 1px 4px rgba(0,0,0,.5))}.controls-bar--video .seek-backward-button .seek-icon,.controls-bar--video .seek-forward-button .seek-icon{transform:scale(1.35)}.controls-bar--video .play-button:active,.controls-bar--video .seek-backward-button:active,.controls-bar--video .seek-forward-button:active{background:var(--player-hover)}.controls-bar--video .seek-backward-button{left:calc(50% - 76px);transform:translate(-50%,-50%)}.controls-bar-row>.control-button.seek-backward-button:first-child:after{left:50%;transform:translate(-50%)}.controls-bar--video .seek-forward-button{left:calc(50% + 76px);transform:translate(-50%,-50%)}.control-button:not(.audio-speed-button){width:44px;height:44px}.audio-speed-button{height:32px}.controls-bar--video .controls-bar-bottom:before{height:100%;background:linear-gradient(to top,rgba(0,0,0,.5) 0,rgba(0,0,0,.25) 90px,transparent 160px),#0006}.volume-slider,.volume-control:hover .volume-slider,.volume-control:focus-within .volume-slider{display:none}.settings-panel{position:fixed;left:0;right:0;bottom:8px;width:min(420px,calc(100vw - 16px));min-width:0;max-width:none;max-height:calc(100vh - 16px);margin-inline:auto;transform-origin:bottom center;transform:translateY(12px)}.settings-panel.is-visible{transform:none}@media(max-height:420px){.settings-panel-content{padding:4px}.settings-header,.settings-list button{min-height:36px;padding-block:6px}.settings-header{margin-bottom:2px}.settings-divider{margin-block:3px}.settings-list--choices{display:grid;grid-template-columns:repeat(3,1fr);gap:2px}.settings-list--choices button{justify-content:center}.settings-list--choices button.is-selected{background:var(--player-hover);color:var(--player-accent)}.settings-list--choices .settings-check{display:none}}}
