.lfh-player-gate {
  position: relative;
  width: 100%;
  min-height: 0 !important;
  height: auto !important;
  aspect-ratio: 320 / 153;
  overflow: hidden;
  border: 1px solid #343143;
  border-radius: 0;
  background: #232323;
  cursor: pointer;
}
.lfh-player-gate--hub { background: #232323; }
.lfh-player-gate--alloha,
.lfh-player-gate--nelorate,
.lfh-player-gate--other { background: #050505; }
.lfh-player-gate iframe,
.lfh-player-gate video-player,
.lfh-player-gate .player {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: block;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  border: 0;
}
.lfh-player-gate__ui {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  color: #fff;
  font: 13px/1.25 Arial, sans-serif;
}
.lfh-player-gate__choice {
  position: absolute;
  top: 12px;
  left: 12px;
  padding: 7px 12px;
  border: 1px solid #494949;
  border-radius: 9px;
  background: #292929;
  font-weight: 600;
}
.lfh-player-gate__choice::after { content: '⌄'; margin-left: 12px; color: #ccc; }
.lfh-player-gate--alloha .lfh-player-gate__choice { top: 9px; left: 9px; border: 0; border-radius: 4px; background: #2c3440; }
.lfh-player-gate--nelorate .lfh-player-gate__choice { border: 0; border-radius: 0; background: #333; font-weight: 400; }
.lfh-player-gate__choice--season { left: 10px; }
.lfh-player-gate__choice--episode { left: 110px; }
.lfh-player-gate__choice--voice { left: 210px; }
.lfh-player-gate__controls {
  position: absolute;
  right: 10px;
  bottom: 0;
  left: 10px;
  height: 34px;
  display: flex;
  align-items: center;
  gap: 9px;
  font-size: 12px;
}
.lfh-player-gate__controls i { display: block; flex: 1; height: 5px; border-radius: 5px; background: #4d4d4d; }
.lfh-player-gate__controls i::before { display: block; width: 10px; height: 10px; margin-top: -2px; border-radius: 50%; background: #fff; content: ''; }
.lfh-player-gate__controls .lfh-player-gate__volume { flex: 0 0 70px; background: linear-gradient(to right,#0aa9e8 55%,#555 55%); }
.lfh-player-gate__controls .lfh-player-gate__volume::before { margin-left: 52%; }
.lfh-player-gate__trailer { position: absolute; bottom: 10px; left: 10px; padding: 8px 16px; background: #333; color: #ccc; }
.lfh-player-gate > .lfh-player-gate__button {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 3;
  box-sizing: border-box;
  width: 86px !important;
  min-width: 86px !important;
  max-width: 86px !important;
  height: 86px !important;
  min-height: 86px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: #151515 !important;
  color: #fff;
  cursor: pointer;
  transform: translate(-50%, -50%);
}
.lfh-player-gate__button::before { display: block; margin-left: 7px; content: '▶'; color: #fff; font: 38px/1 Arial,sans-serif; }
.lfh-player-gate--alloha > .lfh-player-gate__button { width: 44px !important; min-width: 44px !important; max-width: 44px !important; height: 44px !important; min-height: 44px !important; background: #0ca9eb !important; }
.lfh-player-gate--alloha .lfh-player-gate__button::before { margin-left: 3px; font-size: 19px; }
.lfh-player-gate--nelorate > .lfh-player-gate__button { width: 100px !important; min-width: 100px !important; max-width: 100px !important; height: 68px !important; min-height: 68px !important; border-radius: 0 !important; background: #555 !important; }
.lfh-player-gate--nelorate .lfh-player-gate__button::before { color: #aaa; font-size: 30px; }
.lfh-player-gate__button:hover,.lfh-player-gate__button:focus-visible { filter: brightness(1.2); }
.lfh-player-gate__button:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
.lfh-player-gate.is-loading > .lfh-player-gate__button { opacity: .55; }
.lfh-player-gate.is-loaded { cursor: auto; }
.lfh-player-gate.is-loaded > .lfh-player-gate__button,
.lfh-player-gate.is-loaded > .lfh-player-gate__ui { display: none; }
body .lfh-player-gate.lfh-player-gate--hub { background: #232323 !important; }
body .lfh-player-gate.lfh-player-gate--alloha,
body .lfh-player-gate.lfh-player-gate--nelorate,
body .lfh-player-gate.lfh-player-gate--other { background: #050505 !important; }
body .lfh-player-gate > .lfh-player-gate__button {
  box-shadow: none !important;
  text-shadow: none !important;
  border: 0 !important;
  outline-offset: 2px;
}
body .lfh-player-gate > .lfh-player-gate__button::before { box-shadow: none !important; }
@media(max-width:600px) {
  .lfh-player-gate { height: 260px !important; aspect-ratio: auto; }
  .lfh-player-gate__controls { gap: 5px; font-size: 10px; }
  .lfh-player-gate__controls .lfh-player-gate__volume { flex-basis: 36px; }
  .lfh-player-gate__choice { padding: 5px 7px; font-size: 11px; }
  .lfh-player-gate__choice--episode { left: 95px; }
  .lfh-player-gate__choice--voice { left: 180px; }
}
