.flw-mediaplay{display:block;max-width:100%;width:100%;--flw-primary:#00a0d2;--flw-secondary:#ffffff;--flw-radius:8px;--flw-control-size:48px;--flw-progress-thickness:4px;--flw-play-bg:rgba(0,0,0,.5);--flw-play-icon:#fff;--flw-button-bg:#00a0d2;--flw-button-border:#ffffff;--flw-track-bg:#3a3a3a;--flw-buffered-bg:#6a6a6a;--flw-current-bg:#ffffff;--flw-controls-bg:rgba(0,0,0,.5);--flw-controls-icon:#fff;--flw-controls-icon-hover:#ddd;--flw-controls-icon-active:#00a0d2;--flw-controls-border:rgba(255,255,255,0.15);--flw-volume-track:#3a3a3a;--flw-volume-current:#ffffff;--flw-caption-bg:rgba(0,0,0,0.75);--flw-caption-text:#ffffff}
.flw-mediaplay__inner{position:relative;background:#000;color:#fff;border-radius:var(--flw-radius);min-height:200px}
.flw-mediaplay__poster{appearance:none;-webkit-appearance:none;border:0;background:#000 center center / cover no-repeat;cursor:pointer;display:block;padding:0;margin:0;position:absolute;inset:0;border-radius:var(--flw-radius);overflow:hidden}
.flw-mediaplay__poster:focus{outline:2px solid var(--flw-primary);outline-offset:2px}
.flw-mediaplay__poster img{width:100%;height:100%;object-fit:cover;display:block}
.flw-mediaplay__media{position:absolute;inset:0}
.flw-mediaplay__media > div,.flw-mediaplay__media iframe,.flw-mediaplay__media video{width:100%;height:100%}
.flw-mediaplay__play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:calc(var(--flw-control-size));height:calc(var(--flw-control-size));border-radius:50%;background:var(--flw-play-bg);box-shadow:0 2px 8px rgba(0,0,0,.4);} 
.flw-mediaplay__play:after{content:'';position:absolute;left:40%;top:26%;border-style:solid;border-width:calc(var(--flw-control-size)/4) 0 calc(var(--flw-control-size)/4) calc(var(--flw-control-size)/3);border-color:transparent transparent transparent var(--flw-play-icon)}

/* Custom progress */
.flw-mediaplay .progress{position:relative;width:100%;height:var(--flw-progress-thickness);background:var(--flw-track-bg);border-radius:999px;overflow:hidden}
.flw-mediaplay .progress__buffered{position:absolute;left:0;top:0;height:100%;background:var(--flw-buffered-bg);width:0}
.flw-mediaplay .progress__current{position:absolute;left:0;top:0;height:100%;background:var(--flw-current-bg);width:0}

/* Custom controls bar */
.flw-mediaplay__bar{position:absolute;left:0;right:0;bottom:0;display:flex;gap:8px;align-items:center;padding:8px;border-top:1px solid var(--flw-controls-border);background:var(--flw-controls-bg)}
.flw-mediaplay.is-auto-hide .flw-mediaplay__bar{opacity:0;pointer-events:none;transition:opacity .2s ease}
.flw-mediaplay.is-auto-hide:hover .flw-mediaplay__bar,
.flw-mediaplay.is-auto-hide:focus-within .flw-mediaplay__bar{opacity:1;pointer-events:auto}
.flw-mediaplay.is-auto-hide.is-show-controls .flw-mediaplay__bar{opacity:1;pointer-events:auto}
.flw-mediaplay__bar .flw-btn{appearance:none;-webkit-appearance:none;background:var(--flw-button-bg);color:var(--flw-controls-icon);border:2px solid var(--flw-button-border);border-radius:6px;height:36px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.flw-mediaplay__bar .flw-btn svg{width:18px;height:18px;display:inline-block;fill:currentColor;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.flw-mediaplay__bar .flw-btn svg polygon,.flw-mediaplay__bar .flw-btn svg rect,.flw-mediaplay__bar .flw-btn svg path,.flw-mediaplay__bar .flw-btn svg line{fill:currentColor;stroke:currentColor}
.flw-mediaplay__bar .flw-btn svg *{pointer-events:none}
.flw-mediaplay__bar .flw-btn:hover{filter:brightness(1.1);color:var(--flw-controls-icon-hover)}
.flw-mediaplay__bar .flw-btn:focus{outline:2px solid var(--flw-button-border);outline-offset:2px}
.flw-mediaplay__bar .flw-btn.is-active{color:#fff;background:var(--flw-controls-icon-active)}
.flw-mediaplay__bar .flw-time{font:inherit;color:#fff;opacity:.9;min-width:160px;text-align:right}
.flw-mediaplay__bar .flw-spacer{flex:1 1 auto}

/* Volume controls */
.flw-mediaplay__bar .flw-volume{display:inline-flex;align-items:center;gap:8px;min-width:120px}
.flw-mediaplay__bar .flw-volume__slider{appearance:none;-webkit-appearance:none;width:100px;height:4px;background:var(--flw-volume-track);border-radius:999px;outline:none}
.flw-mediaplay__bar .flw-volume__slider::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:var(--flw-volume-current);cursor:pointer;border:0;box-shadow:0 0 0 2px rgba(0,0,0,.2)}
.flw-mediaplay__bar .flw-volume__slider::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--flw-volume-current);cursor:pointer;border:0}

/* Custom context menu */
.flw-mediaplay__menu{position:absolute;z-index:10;min-width:160px;background:#1f1f1f;border:1px solid #333;border-radius:6px;box-shadow:0 6px 18px rgba(0,0,0,.4);padding:6px;display:none;color:#fff}
.flw-mediaplay__menu button{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:transparent;border:0;color:#fff;padding:8px 10px;cursor:pointer;border-radius:4px}
.flw-mediaplay__menu .flw-menu__icon{display:inline-flex;width:18px;height:18px}
.flw-mediaplay__menu .flw-menu__icon svg{width:18px;height:18px}
.flw-mediaplay__menu .flw-menu__label{flex:1 1 auto}
.flw-mediaplay__menu button:hover,.flw-mediaplay__menu button:focus{background:#2a2a2a;outline:none}

/* High-contrast preset helper class */
.flw-mediaplay.is-contrast .flw-mediaplay__inner{background:#000;color:#fff}
.flw-mediaplay.is-contrast .flw-mediaplay__bar{background:#000}
.flw-mediaplay.is-contrast .flw-mediaplay__bar .flw-btn{background:#fff;color:#000}

.flw-mediaplay {
	--flw-spacer-color: var(--flw-spacer-color, #444444);
	--flw-progress-bg: var(--flw-progress-bg, #3a3a3a);
}

/* Controls bar spacer uses spacer color */
.flw-mediaplay .flw-spacer {
	background-color: var(--flw-spacer-color);
}

/* Progress track background uses progress_bg */
.flw-mediaplay .progress {
	background-color: var(--flw-progress-bg);
}
/* Ensure buffered/current still overlay correctly */
.flw-mediaplay .progress__buffered {
	position:absolute;left:0;top:0;height:100%;background:var(--flw-buffered-bg);width:0
}
.flw-mediaplay .progress__current {
	position:absolute;left:0;top:0;height:100%;background:var(--flw-current-bg);width:0
}