/* Ekskluzivet video player. */
.eksp-fig{margin:28px 0}
.eksp-fig figcaption{margin-top:9px;color:var(--muted,#b6b3bd);font-size:14px;line-height:1.45;text-align:center}
.eksp{--ar:16 / 9;--g1:var(--accent2,#ec3058);--g2:var(--accent,#a429d4);position:relative;width:100%;aspect-ratio:var(--ar);max-height:78vh;max-height:78svh;min-height:180px;margin:0 auto;overflow:hidden;background:#000;border-radius:16px;color:#fff;font-family:var(--font,system-ui,-apple-system,sans-serif);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;outline:0;box-shadow:0 14px 40px rgba(0,0,0,.28)}
.eksp-v{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;background:#000;border-radius:0}
.eksp svg{display:block;width:24px;height:24px;fill:currentColor}
.eksp svg .s{fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}
.eksp button{font:inherit;color:inherit}

/* Tap layer + double-tap ripples. */
.eksp-tap{position:absolute;inset:0;z-index:1;cursor:pointer}
.eksp.is-playing:not(.show-ui) .eksp-tap{cursor:none}
.eksp-rip{position:absolute;top:50%;display:grid;place-items:center;width:84px;height:84px;margin-top:-42px;border-radius:50%;background:rgba(255,255,255,.18);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);font-size:13px;font-weight:800;opacity:0;pointer-events:none}
.eksp-rip-l{left:12%}.eksp-rip-r{right:12%}
.eksp-rip.on{animation:eksp-rip .6s ease-out}
@keyframes eksp-rip{0%{opacity:0;transform:scale(.7)}25%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1.08)}}

/* Big centre button. */
.eksp-big{position:absolute;left:50%;top:50%;z-index:3;display:grid;place-items:center;width:70px;height:70px;margin:-35px 0 0 -35px;padding:0;border:0;border-radius:50%;background:linear-gradient(135deg,var(--g1),var(--g2));box-shadow:0 8px 30px rgba(0,0,0,.45),0 0 0 6px rgba(255,255,255,.12);cursor:pointer;transition:opacity .2s ease,transform .2s ease}
.eksp-big svg{width:32px;height:32px}
.eksp:not(.is-started) .eksp-big svg,.eksp:not(.is-playing) .eksp-big svg{margin-left:3px}
.eksp.is-playing .eksp-big svg,.eksp.is-ended .eksp-big svg{margin-left:0}
.eksp-big:active{transform:scale(.93)}
.eksp.is-started .eksp-big{width:60px;height:60px;margin:-30px 0 0 -30px;background:rgba(0,0,0,.5);box-shadow:none;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.eksp.is-started .eksp-big svg{width:28px;height:28px}
.eksp.is-playing:not(.show-ui) .eksp-big,.eksp.is-waiting.is-playing .eksp-big{opacity:0;pointer-events:none;transform:scale(.9)}

/* Duration chip on the preview. */
.eksp-chip{position:absolute;right:12px;bottom:12px;z-index:2;padding:4px 8px;border-radius:7px;background:rgba(0,0,0,.66);font-size:12px;font-weight:700;font-variant-numeric:tabular-nums;pointer-events:none}
.eksp-chip:empty,.eksp.is-started .eksp-chip{display:none}

/* Spinner. */
.eksp-spin{position:absolute;left:50%;top:50%;z-index:2;width:46px;height:46px;margin:-23px 0 0 -23px;border:4px solid rgba(255,255,255,.22);border-top-color:#fff;border-radius:50%;opacity:0;pointer-events:none;animation:eksp-spin .8s linear infinite}
.eksp.is-waiting.is-playing .eksp-spin{opacity:1}
@keyframes eksp-spin{to{transform:rotate(360deg)}}

/* Toast. */
.eksp-toast{position:absolute;left:50%;top:14px;z-index:5;transform:translate(-50%,-6px);padding:7px 12px;border-radius:999px;background:rgba(0,0,0,.72);font-size:13px;font-weight:700;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease}
.eksp.has-toast .eksp-toast{opacity:1;transform:translate(-50%,0)}

/* Control bar. */
.eksp-bar{position:absolute;left:0;right:0;bottom:0;z-index:4;padding:26px 8px 4px;background:linear-gradient(0deg,rgba(0,0,0,.82),rgba(0,0,0,.45) 55%,transparent);opacity:0;transform:translateY(8px);pointer-events:none;transition:opacity .22s ease,transform .22s ease}
.eksp.is-started.show-ui .eksp-bar,.eksp.is-started:not(.is-playing) .eksp-bar{opacity:1;transform:none;pointer-events:auto}
.eksp-seek{position:relative;height:22px;margin:0 8px;cursor:pointer;touch-action:none;outline:0}
.eksp-track{position:absolute;left:0;right:0;top:9px;height:4px;overflow:hidden;border-radius:4px;background:rgba(255,255,255,.25);transition:height .15s ease,top .15s ease}
.eksp-seek:hover .eksp-track,.eksp.is-dragging .eksp-track{top:8px;height:6px}
.eksp-buf,.eksp-prog{position:absolute;inset:0;transform:scaleX(0);transform-origin:0 50%}
.eksp-buf{background:rgba(255,255,255,.35)}
.eksp-prog{background:linear-gradient(90deg,var(--g1),var(--g2))}
.eksp-knob{position:absolute;top:4px;left:0;width:14px;height:14px;margin-left:-7px;border-radius:50%;background:#fff;box-shadow:0 0 0 4px rgba(236,48,88,.35),0 2px 6px rgba(0,0,0,.4);transition:transform .15s ease}
.eksp.is-dragging .eksp-knob{transform:scale(1.25)}
.eksp-seek:focus-visible .eksp-knob{outline:2px solid #fff;outline-offset:3px}
.eksp-row{display:flex;align-items:center;gap:2px}
.eksp-btn{display:grid;place-items:center;flex:none;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:transparent;cursor:pointer}
.eksp-btn:hover{background:rgba(255,255,255,.1)}
.eksp-btn:focus-visible{outline:2px solid #fff;outline-offset:-2px}
.eksp-btn[hidden]{display:none}
.eksp-rate{width:auto;min-width:44px;padding:0 8px;border-radius:22px;font-size:13px;font-weight:800}
.eksp-time{display:flex;gap:4px;padding-left:4px;font-size:13px;font-weight:650;font-variant-numeric:tabular-nums;white-space:nowrap}
.eksp-sep,.eksp-dur{color:rgba(255,255,255,.7)}
.eksp-fill{flex:1}

/* Fullscreen. */
.eksp.is-fs,.eksp:fullscreen{width:100%;height:100%;max-height:none;aspect-ratio:auto;border-radius:0;box-shadow:none}
.eksp:-webkit-full-screen{width:100%;height:100%;max-height:none;border-radius:0}
.eksp.is-fs .eksp-bar{padding-bottom:max(6px,env(safe-area-inset-bottom));padding-left:max(8px,env(safe-area-inset-left));padding-right:max(8px,env(safe-area-inset-right))}

@media (max-width:480px){
	.eksp-fig{margin:22px -8px}
	.eksp{border-radius:12px}
	.eksp-btn{width:42px;height:42px}
	.eksp-time{font-size:12px}
}
@media (max-width:340px){.eksp-mute{display:none}}
@media (prefers-reduced-motion:reduce){.eksp *{transition:none!important;animation-duration:.01s!important}}
