/* turnling film player */
.film { position: relative; background: #f5f5f3; border-radius: 14px; overflow: hidden; color: #17191e; outline: none; }
.film-stage { position: relative; display: flex; justify-content: center; }
.film-canvas { display: block; width: 100%; aspect-ratio: 16 / 9; cursor: pointer; }
.film.portrait .film-canvas { aspect-ratio: 560 / 860; }
.film-big { position: absolute; left: 50%; top: 64%; width: 64px; height: 64px; margin: -32px 0 0 -32px; padding: 0; border: 0; border-radius: 50%; background: #17191e; cursor: pointer; transition: opacity .3s, transform .3s, top 0s .3s; }
.film-big::after { content: ""; position: absolute; left: 25px; top: 21px; border-style: solid; border-width: 11px 0 11px 17px; border-color: transparent transparent transparent #fff; }
.film-big:hover { transform: scale(1.06); }
.film-big:focus-visible { outline: 3px solid #2f62f5; outline-offset: 3px; }
.film.portrait .film-big { top: 60%; }
.film.started .film-big { opacity: 0; pointer-events: none; transform: scale(.9); top: 78%; }
.film.portrait.started .film-big { top: 76%; }
.film.ended .film-big { opacity: 1; pointer-events: auto; transform: none; }
.film-bar { display: flex; align-items: center; gap: 10px; padding: 0 12px 8px; }
.film-btn { flex: none; width: 36px; height: 36px; padding: 0; border: 0; border-radius: 8px; background: none; color: #17191e; cursor: pointer; display: grid; place-items: center; opacity: .62; }
.film-btn:hover { opacity: 1; }
.film-btn:focus-visible { outline: 2px solid #2f62f5; outline-offset: 0; opacity: 1; }
.ic-play { width: 0; height: 0; border-style: solid; border-width: 6px 0 6px 10px; border-color: transparent transparent transparent currentColor; margin-left: 2px; }
.film.playing .ic-play { width: 10px; height: 12px; border: 0; border-left: 3px solid currentColor; border-right: 3px solid currentColor; margin-left: 0; }
.ic-fs { width: 13px; height: 13px; background:
  linear-gradient(currentColor, currentColor) 0 0 / 5px 1.6px no-repeat, linear-gradient(currentColor, currentColor) 0 0 / 1.6px 5px no-repeat,
  linear-gradient(currentColor, currentColor) 100% 0 / 5px 1.6px no-repeat, linear-gradient(currentColor, currentColor) 100% 0 / 1.6px 5px no-repeat,
  linear-gradient(currentColor, currentColor) 0 100% / 5px 1.6px no-repeat, linear-gradient(currentColor, currentColor) 0 100% / 1.6px 5px no-repeat,
  linear-gradient(currentColor, currentColor) 100% 100% / 5px 1.6px no-repeat, linear-gradient(currentColor, currentColor) 100% 100% / 1.6px 5px no-repeat; }
.film-track { position: relative; flex: 1; height: 36px; display: flex; align-items: center; border-radius: 6px; }
.film-track:focus-within { outline: 2px solid #2f62f5; outline-offset: 0; }
.film-segs { position: absolute; left: 0; right: 0; top: 50%; height: 3px; margin-top: -1.5px; display: flex; gap: 3px; }
.film-seg { position: relative; height: 100%; border-radius: 2px; background: rgba(23, 25, 30, .12); overflow: hidden; }
.film-seg i { position: absolute; left: 0; top: 0; bottom: 0; width: 0; background: #17191e; }
.film-range { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.film-time { flex: none; font: 500 13px/1 -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif; color: #6b707a; font-variant-numeric: tabular-nums; }
.film-cap { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.film:fullscreen { display: flex; flex-direction: column; border-radius: 0; width: 100vw; height: 100vh; }
.film:fullscreen .film-stage { flex: 1; min-height: 0; align-items: center; }
.film:fullscreen .film-canvas { aspect-ratio: auto; }
@media (prefers-reduced-motion: reduce) { .film-big, .film-big:hover { transition: none; transform: none; } }
