:root{
  --lmd-primary:#009EDB;
  --lmd-accent:#00DB9D;

  --lmd-radius: 16px;
  --lmd-card-shadow: 0 12px 32px rgba(0,0,0,.08);
  --lmd-soft-shadow: 0 8px 18px rgba(0,0,0,.10);

  --lmd-nav-offset: 110px;

  /* 部分模版需下移 10px 才“看起来平” */
  --lmd-action-nudge: 0px;

  /* 字幕与控件区的安全距离（全屏/伪全屏时会更大） */
  --lmd-controls-safe: 92px;

  /* 手机全屏时控件整体“上抬”，避免被地址栏/手势条挡住 */
  --lmd-mobile-controls-lift: 18px; /* 建议 14~28 */
}

/* =========================================================
   Card / Stage
   ========================================================= */

.lmd-card{
  background:#fff;
  border-radius: var(--lmd-radius);
  box-shadow: var(--lmd-card-shadow);
  overflow:hidden;
}

.lmd-stage{
  position:relative;
  width:100%;
  background:#0b0f1a;
  border-radius: var(--lmd-radius);
  overflow:hidden;
  outline:none;

  /* subtitle safe in normal mode */
  --lmd-sub-safe: calc(62px + env(safe-area-inset-bottom));
}

/* ✅ 16:9 用 padding-top（Safari 更稳） */
.lmd-stage-inner{
  position:relative;
  width:100%;
  height:0;
  padding-top:56.25%;
  background:#0b0f1a;
}

.lmd-media-layer{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
}

.lmd-img,.lmd-video{
  width:100%;
  height:100%;
  object-fit: contain;
  background:#0b0f1a;
  display:block;
}
.lmd-video{ display:none; }

.lmd-audio{
  position:absolute;
  left:-9999px;
  width:1px;height:1px;
  opacity:0;
  pointer-events:none;
}

/* =========================================================
   End-of-unit overlay
   ========================================================= */

.lmd-end-overlay{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:16px;
  background:rgba(11,15,26,.62);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  /* Ensure the end panel is always above all controls (controls bar is z-index:9999). */
  z-index: 10000;
}

.lmd-end-card{
  width:min(520px, calc(100% - 24px));
  background:#fff;
  border-radius: 16px;
  box-shadow:0 18px 40px rgba(0,0,0,.18);
  padding: 16px 16px 14px;
  text-align:center;
}

.lmd-end-title{
  font-size: 18px;
  font-weight: 800;
  color:#0b0f1a;
  margin-bottom: 6px;
}

.lmd-end-sub{
  font-size: 14px;
  color:#475569;
  margin-bottom: 12px;
}

.lmd-end-actions{
  display:flex;
  gap:10px;
  justify-content:center;
  flex-wrap: wrap;
}

.lmd-end-btn{
  appearance:none;
  border:2px solid #009EDB;
  background:#fff;
  color:#009EDB;
  border-radius: 999px;
  padding: 10px 18px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .02em;
  cursor:pointer;
}
.lmd-end-btn:hover{
  filter: brightness(0.98);
}
.lmd-end-btn:active{
  transform: translateY(1px);
}

/* =========================================================
   Subtitle: 统一用 overlay（非全屏/全屏都显示在画面上）
   ========================================================= */

/* 永久禁用旧的底部字幕条（避免双字幕/主题干扰） */
.lmd-wrap .lmd-caption{ display:none !important; }

/* overlay 永远存在，用 opacity 控制显示 */
.lmd-sub-overlay{
  display:block;
  position:absolute;
  left:0; right:0;
  bottom: calc(var(--lmd-sub-safe) + 10px);
  padding: 16px 22px;
  text-align:center;
  font-size: 18px;
  line-height: 1.55;
  color: rgba(245,245,245,.98);
  text-shadow: 0 2px 10px rgba(0,0,0,.85);
  pointer-events:none;
  opacity:0;
  transition: opacity .16s ease;
  z-index: 30;
}
.lmd-sub-overlay.is-on{ opacity:1; }
.lmd-sub-overlay::before{
  content:"";
  position:absolute;
  left:0; right:0; bottom:0;
  height:140px;
  background: linear-gradient(to top, rgba(0,0,0,.55), rgba(0,0,0,0));
  z-index:-1;
}

/* Desktop-only: add comfortable horizontal breathing room for subtitles */
@media (min-width: 1024px){
  .lmd-sub-overlay{
    padding-left: clamp(40px, 8vw, 160px);
    padding-right: clamp(40px, 8vw, 160px);
  }
}

/* =========================================================
   Controls show/hide（只由 .show-ui 控制）
   ========================================================= */

.lmd-controls,
.lmd-center-btn,
.lmd-nav{
  opacity:0;
  pointer-events:none;
  transition: opacity .16s ease, background .16s ease, transform .16s ease;
}

.lmd-stage.show-ui .lmd-controls,
.lmd-stage.show-ui .lmd-center-btn,
.lmd-stage.show-ui .lmd-nav{
  opacity:1;
  pointer-events:auto;
}

/* =========================================================
   Reset (防主题/Elementor干扰)
   ========================================================= */

.lmd-stage button{
  appearance:none !important;
  -webkit-appearance:none !important;
  border:0 !important;
  box-shadow:none !important;
  font: inherit !important;
  line-height: 1 !important;
  box-sizing: border-box !important;
}

/* 只清理“非播放器按钮”的背景，别误伤 lmd-center-btn / lmd-btn / lmd-nav */
.lmd-stage button:not(.lmd-center-btn):not(.lmd-btn):not(.lmd-nav){
  background: none !important;
}


/* ✅ 清掉主题对按钮注入的 ::before/::after（你看到的 @ 基本就是这类注入） */
.lmd-wrap .lmd-stage button::before,
.lmd-wrap .lmd-stage button::after{
  content: none !important;
  display: none !important;
}

/* 不使用 SVG（如果你仍有残留 svg，也强制隐藏） */
.lmd-wrap .lmd-btn svg,
.lmd-wrap .lmd-nav svg,
.lmd-wrap .lmd-center-btn svg{
  display:none !important;
}

/* =========================================================
   Icons (纯CSS)
   ========================================================= */

.lmd-ico{
  display:inline-block;
  position:relative;
  pointer-events:none;
  color: currentColor;
}

/* Play triangle */
.lmd-ico.play{
  width:0;height:0;
  border-top:7px solid transparent;
  border-bottom:7px solid transparent;
  border-left:12px solid currentColor;
  margin-left:1px;
}

/* Pause bars */
.lmd-ico.pause{
  width:14px;height:14px;
}
.lmd-ico.pause::before,
.lmd-ico.pause::after{
  content:"";
  position:absolute;
  top:0; bottom:0;
  width:4px;
  background: currentColor;
  border-radius:2px;
}
.lmd-ico.pause::before{ left:0; }
.lmd-ico.pause::after{ right:0; }

/* Chevron (prev/next) */
.lmd-ico.chev{
  width:10px;height:10px;
  border-left:3px solid currentColor;
  border-bottom:3px solid currentColor;
  transform: rotate(45deg);
}
.lmd-ico.chev.right{
  border-left:0;border-bottom:0;
  border-right:3px solid currentColor;
  border-top:3px solid currentColor;
  transform: rotate(45deg);
}

/* Volume */
.lmd-ico.vol-body{
  width:13px;height:12px;
  background: currentColor;
  clip-path: polygon(0% 30%,35% 30%,72% 0%,72% 100%,35% 70%,0% 70%);
  border-radius:2px;
}
.lmd-ico.vol-waves{
  width:16px;height:16px;
  background:
    radial-gradient(circle at 0% 50%, transparent 6px, currentColor 6px, currentColor 7px, transparent 7px),
    radial-gradient(circle at 0% 50%, transparent 10px, currentColor 10px, currentColor 11px, transparent 11px);
  opacity:.92;
}
.lmd-ico.vol-mute{
  width:18px;height:18px;
  background: linear-gradient(135deg, transparent 42%, currentColor 42%, currentColor 58%, transparent 58%);
}

/* CC：用 gradient 画两条线，避免“略微不齐” */
.lmd-ico.cc{
  width: 20px;
  height: 14px;
  box-sizing: border-box;
  border: 2px solid currentColor;
  border-radius: 6px;
  opacity: .96;
  background:
    linear-gradient(currentColor,currentColor) 50% 42% / 12px 2px no-repeat,
    linear-gradient(currentColor,currentColor) 50% 72% / 12px 2px no-repeat;
}

/* Bookmark：空心 / 实心（不改色，只切换形态） */
.lmd-ico.bm-off{
  width:14px;
  height:18px;
  box-sizing:border-box;
  position:relative;
  border:2px solid currentColor;
  border-bottom:0;
  border-radius:3px 3px 0 0;
  opacity:.92;
}
.lmd-ico.bm-off::after{
  content:"";
  position:absolute;
  left:-2px;
  right:-2px;
  bottom:-2px;
  height:10px;
  background:
    linear-gradient(135deg, transparent 49%, currentColor 49%, currentColor 56%, transparent 56%) left bottom /50% 100% no-repeat,
    linear-gradient(225deg, transparent 49%, currentColor 49%, currentColor 56%, transparent 56%) right bottom /50% 100% no-repeat;
}
.lmd-ico.bm-on{
  width:14px;
  height:18px;
  background: currentColor;
  clip-path: polygon(0% 0%,100% 0%,100% 100%,50% 76%,0% 100%);
  border-radius:3px;
  opacity:.92;
}

/* Fullscreen corners */
.lmd-ico.fs{
  width:18px;height:18px;
  background:
    linear-gradient(currentColor,currentColor) left  top    / 7px 2px no-repeat,
    linear-gradient(currentColor,currentColor) left  top    / 2px 7px no-repeat,
    linear-gradient(currentColor,currentColor) right top    / 7px 2px no-repeat,
    linear-gradient(currentColor,currentColor) right top    / 2px 7px no-repeat,
    linear-gradient(currentColor,currentColor) left  bottom / 7px 2px no-repeat,
    linear-gradient(currentColor,currentColor) left  bottom / 2px 7px no-repeat,
    linear-gradient(currentColor,currentColor) right bottom / 7px 2px no-repeat,
    linear-gradient(currentColor,currentColor) right bottom / 2px 7px no-repeat;
  opacity:.92;
}

/* =========================================================
   Center play button
   ========================================================= */

.lmd-center-btn{
  position:absolute !important;
  inset: 0 !important;
  margin: auto !important;

  width: 72px;
  height: 72px;
  border-radius: 999px;
  cursor:pointer;
  background: var(--lmd-primary) !important;
  box-shadow: var(--lmd-soft-shadow);

  z-index: 60;
  padding: 0 !important;

  display:flex !important;
  align-items:center !important;
  justify-content:center !important;

  color:#fff !important;
}
.lmd-center-btn:hover{
  background: var(--lmd-accent) !important;
  transform: scale(1.02);
}

/* 中心按钮图标切换 */
.lmd-center-btn .lmd-ico.play{ display:inline-block; }
.lmd-center-btn .lmd-ico.pause{ display:none; }
.lmd-stage.is-playing .lmd-center-btn .lmd-ico.play{ display:none; }
.lmd-stage.is-playing .lmd-center-btn .lmd-ico.pause{ display:inline-block; }

/* =========================================================
   Prev/Next
   ========================================================= */

.lmd-nav{
  position:absolute !important;
  top: 0 !important;
  bottom: 0 !important;
  margin: auto 0 !important;

  width: 44px;
  height: 44px;
  border-radius: 999px;
  cursor:pointer;

  background: rgba(255,255,255,.14) !important;
  backdrop-filter: blur(10px);

  z-index: 60;
  padding: 0 !important;

  display:flex !important;
  align-items:center !important;
  justify-content:center !important;

  color: rgba(255,255,255,.95) !important;
}
.lmd-nav:hover{ background: rgba(0,219,157,.26) !important; }

.lmd-nav.prev{ left: calc(50% - var(--lmd-nav-offset) - 22px) !important; }
.lmd-nav.next{ left: calc(50% + var(--lmd-nav-offset) - 22px) !important; }

/* =========================================================
   Bottom controls bar
   ========================================================= */

.lmd-controls{
  position:absolute;
  left: 16px;
  right: 16px;
  bottom: calc(14px + env(safe-area-inset-bottom));

  padding: 7px 10px;
  border-radius: 12px;

  background: rgba(255,255,255,.12);
  backdrop-filter: blur(12px);

  display:flex;
  align-items:center;
  gap: 8px;

  z-index: 9999;
  color: rgba(255,255,255,.95);
}

.lmd-btn{
  width: 38px;
  height: 38px;
  border-radius: 999px;
  cursor:pointer;

  background: rgba(255,255,255,.12) !important;

  transition: background .16s ease, color .16s ease;
  position: relative;
  flex: 0 0 auto;

  padding: 0 !important;

  display:flex !important;
  align-items:center !important;
  justify-content:center !important;

  color: rgba(255,255,255,.95) !important;

  /* 关键：避免 Safari 以字体基线参与“居中感” */
  font-size: 0 !important;
  line-height: 0 !important;
}
.lmd-btn:hover{
  background: rgba(0,219,157,.18) !important;
  color: var(--lmd-accent) !important;
}

/* 4 个“你确认偏高”的按钮：整体下移圆形背景 */
.lmd-wrap .lmd-btn.play,
.lmd-wrap .lmd-btn.cc,
.lmd-wrap .lmd-btn.bookmark,
.lmd-wrap .lmd-btn.fs{
  top: var(--lmd-action-nudge) !important;
}

/* bottom play swap */
.lmd-btn.play .lmd-ico.play{ display:inline-block; }
.lmd-btn.play .lmd-ico.pause{ display:none; }
.lmd-stage.is-playing .lmd-btn.play .lmd-ico.play{ display:none; }
.lmd-stage.is-playing .lmd-btn.play .lmd-ico.pause{ display:inline-block; }

/* Bookmark swap：空心/实心，不改色 */
.lmd-btn.bookmark .lmd-ico.bm-off{ display:inline-block; }
.lmd-btn.bookmark .lmd-ico.bm-on{ display:none; }
.lmd-btn.bookmark.is-on .lmd-ico.bm-off{ display:none; }
.lmd-btn.bookmark.is-on .lmd-ico.bm-on{ display:inline-block; }

/* 进度条 */
.lmd-progress{
  flex:1;
  display:flex;
  align-items:center;
  gap: 10px;
  min-width: 160px;
}
.lmd-bar{
  position: relative;
  height: 5px;
  flex: 1;
  border-radius: 999px;
  background: rgba(255,255,255,.18);
  cursor: pointer;
}
.lmd-bar-fill{
  position:absolute;
  left:0; top:0; bottom:0;
  width:0%;
  border-radius: 999px;
  background: rgba(0,158,219,.95);
}
.lmd-bar-thumb{
  position:absolute;
  top:50%;
  transform: translate(-50%,-50%);
  left:0%;
  width: 10px; height: 10px;
  border-radius: 999px;
  background: rgba(255,255,255,.95);
  box-shadow: 0 2px 10px rgba(0,0,0,.28);
}
.lmd-time{
  font-size: 11px;
  line-height: 1;
  color: rgba(255,255,255,.92);
  white-space: nowrap;
  user-select:none;
}

.lmd-actions{
  display:flex;
  align-items:center;
  gap: 6px;
}

/* volume icon swap */
.lmd-btn.mute{ gap:4px; }
.lmd-btn.mute .lmd-ico.vol-mute{ display:none; }
.lmd-stage.is-muted .lmd-btn.mute .lmd-ico.vol-waves{ display:none; }
.lmd-stage.is-muted .lmd-btn.mute .lmd-ico.vol-mute{ display:inline-block; }

/* =========================================================
   Volume pop (vertical)
   ========================================================= */

.lmd-vol-wrap{
  position:relative;
  display:flex;
  align-items:center;
}

.lmd-vol-pop{
  position:absolute;
  right: 0;
  bottom: 42px;
  top: auto;
  width: 44px;
  padding: 10px 10px;
  border-radius: 14px;
  background: rgba(0,0,0,.28);
  backdrop-filter: blur(10px);

  opacity:0;
  transform: translateY(6px);
  pointer-events:none;
  transition: opacity .16s ease, transform .16s ease;
}

/* 手机伪全屏横屏 + 竖屏非全屏：控制栏在顶部，音量弹层向下展开 */
@media (max-width: 1000px) and (orientation: landscape) {
  .lmd-stage.is-pseudo-fs .lmd-vol-pop{
    bottom: auto;
    top: 42px;
  }
}

@media (max-width: 768px) and (orientation: portrait) {
  .lmd-stage:not(:fullscreen):not(.is-pseudo-fs) .lmd-vol-pop{
    bottom: auto;
    top: 42px;
  }
}

.lmd-vol-wrap:hover .lmd-vol-pop,
.lmd-vol-wrap.is-open .lmd-vol-pop{
  opacity:1;
  transform: translateY(0);
  pointer-events:auto;
}

.lmd-vol{
  width: 16px;
  height: 120px;
  writing-mode: bt-lr;
  -webkit-appearance: slider-vertical;
  accent-color: var(--lmd-primary);
  display:block;
  margin: 0 auto;
}

/* =========================================================
   Fullscreen + pseudo fullscreen
   ========================================================= */

.lmd-stage:fullscreen,
.lmd-stage:-webkit-full-screen{
  border-radius: 0;
  --lmd-sub-safe: calc(var(--lmd-controls-safe) + env(safe-area-inset-bottom) + var(--lmd-mobile-controls-lift));
}

.lmd-stage:fullscreen .lmd-stage-inner,
.lmd-stage:-webkit-full-screen .lmd-stage-inner{
  height: 100%;
  padding-top: 0;
}

/* 全屏底栏：保持贴底 bottom:0，用 padding-bottom 顶起控件（防地址栏/手势条挡住） */
.lmd-stage:fullscreen .lmd-controls,
.lmd-stage:-webkit-full-screen .lmd-controls{
  left: 0;
  right: 0;
  bottom: 0 !important;
  padding: 10px 18px calc(16px + env(safe-area-inset-bottom) + var(--lmd-mobile-controls-lift)) !important;
  border-radius: 0;
  background: linear-gradient(to top, rgba(0,0,0,.60), rgba(0,0,0,0));
  backdrop-filter: none;
}

/* ✅ 伪全屏（iOS 不支持 stage.requestFullscreen 时用） */
html.lmd-lock,
html.lmd-lock body{
  overflow: hidden !important;
}

.lmd-stage.is-pseudo-fs{
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  border-radius: 0 !important;
  z-index: 2147483647 !important;

  --lmd-sub-safe: calc(var(--lmd-controls-safe) + env(safe-area-inset-bottom) + var(--lmd-mobile-controls-lift));
}

.lmd-stage.is-pseudo-fs .lmd-stage-inner{
  height: 100vh !important;
  padding-top: 0 !important;
}

.lmd-stage.is-pseudo-fs .lmd-controls{
  left: 0;
  right: 0;
  bottom: 0 !important;
  padding: 10px 18px calc(16px + env(safe-area-inset-bottom) + var(--lmd-mobile-controls-lift)) !important;
  border-radius: 0;
  background: linear-gradient(to top, rgba(0,0,0,.60), rgba(0,0,0,0));
  backdrop-filter: none;
}

/* 伪全屏高度：用 100dvh 更接近真实可视高度 */
@supports (height: 100dvh){
  .lmd-stage.is-pseudo-fs{ height: 100dvh !important; }
  .lmd-stage.is-pseudo-fs .lmd-stage-inner{ height: 100dvh !important; }
}

/* =========================================================
   Responsive
   ========================================================= */

@media (max-width: 768px){
  /* 手机端取消“整体下移 10px”（否则会漂） */
  :root{ --lmd-action-nudge: 0px; }

  .lmd-controls{
    left: 10px !important;
    right: 10px !important;
    padding: 6px 8px !important;
  }
  .lmd-btn{
    width: 36px !important;
    height: 36px !important;
  }
  .lmd-nav{
    width: 40px !important;
    height: 40px !important;
  }
  .lmd-progress{
    min-width: 110px !important;
    gap: 8px !important;
  }
  .lmd-time{ display:none !important; }
}

/* 手机竖屏 + 非全屏：显示控制栏和字幕 */
@media (max-width: 768px) and (orientation: portrait) {
  .lmd-stage:not(:fullscreen):not(.is-pseudo-fs) {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
  }
  
  /* 顶部控制栏 */
  .lmd-stage:not(:fullscreen):not(.is-pseudo-fs) .lmd-controls {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: auto !important;
    padding: 10px 15px !important;
    background: linear-gradient(to bottom, rgba(0,0,0,0.7), transparent) !important;
    z-index: 31;
    display: flex !important;
    justify-content: space-between;
    align-items: center;
    margin: 0 !important;
  }
  
  /* 控制栏按钮组 */
  .lmd-stage:not(:fullscreen):not(.is-pseudo-fs) .lmd-controls-inner {
    display: flex;
    justify-content: space-between;
    width: 100%;
    padding: 0 10px;
  }
  
  /* 播放按钮居中 - 初始状态 */
  .lmd-stage:not(:fullscreen):not(.is-pseudo-fs) .lmd-center-btn {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: 60px !important;
    height: 60px !important;
    background: var(--lmd-primary) !important;
    border-radius: 50%;
    opacity: 1 !important;
    z-index: 40 !important;
    transition: all 0.3s ease;
    margin: 0 !important;
    pointer-events: auto !important;
  }
  
  /* 默认隐藏播放按钮 */
  .lmd-stage:not(:fullscreen):not(.is-pseudo-fs) .lmd-center-btn {
    opacity: 0 !important;
    pointer-events: none !important;
  }
  
  /* 视频暂停或显示 UI 时显示播放按钮（移动端由 .show-ui 控制自动消退） */
  .lmd-stage:not(:fullscreen):not(.is-pseudo-fs).is-paused .lmd-center-btn,
  .lmd-stage:not(:fullscreen):not(.is-pseudo-fs).show-ui .lmd-center-btn {
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  /* 仅在支持 hover 的设备上允许悬停显示（避免移动端 hover 粘住） */
  @media (hover: hover) and (pointer: fine) {
    .lmd-stage:not(:fullscreen):not(.is-pseudo-fs):hover .lmd-center-btn,
    .lmd-stage:not(:fullscreen):not(.is-pseudo-fs) .lmd-media-layer:hover ~ .lmd-center-btn {
      opacity: 1 !important;
      pointer-events: auto !important;
    }
  }
  
  .lmd-stage:not(:fullscreen):not(.is-pseudo-fs) .lmd-center-btn:hover {
    background: var(--lmd-accent) !important;
    transform: translate(-50%, -50%) scale(1.1) !important;
  }
  
  /* 导航按钮 - 放在控制栏内 */
  .lmd-stage:not(:fullscreen):not(.is-pseudo-fs) .lmd-nav {
    display: flex !important;
    position: static !important;
    margin: 0 10px 0 auto !important;
    order: 2; /* 确保在控制栏内靠右 */
  }
  
  /* 调整控制栏布局 */
  .lmd-stage:not(:fullscreen):not(.is-pseudo-fs) .lmd-controls-inner {
    display: flex;
    align-items: center;
    width: 100%;
    padding: 0 15px;
  }
  
  /* 控制按钮组 */
  .lmd-stage:not(:fullscreen):not(.is-pseudo-fs) .lmd-controls-group {
    display: flex;
    align-items: center;
  }
  
  /* 视频内容区域 */
  .lmd-stage:not(:fullscreen):not(.is-pseudo-fs) .lmd-media-layer {
    flex: 1;
    padding: 60px 0 80px; /* 为顶部控制栏和底部字幕留出空间 */
    cursor: pointer; /* 添加手型指针，表明可点击 */
  }
}

/* 小屏竖屏模式 */
@media (max-width: 520px) and (orientation: portrait) {
  /* 基础字幕样式 */
  .lmd-sub-overlay {
    font-size: 16px;
    text-align: center;
    width: 100%;
    box-sizing: border-box;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0 !important;
    background: rgba(0, 0, 0, 0.6);
    backdrop-filter: blur(8px);
    padding: 12px 15px !important;
    margin: 0;
    z-index: 30;
  }
  
  /* 全屏模式下的字幕 */
  .lmd-stage:fullscreen .lmd-sub-overlay,
  .lmd-stage:-webkit-full-screen .lmd-sub-overlay,
  .lmd-stage.is-pseudo-fs .lmd-sub-overlay {
    bottom: 0 !important;
    padding: 15px 20px !important;
    background: rgba(0, 0, 0, 0.6);
    backdrop-filter: blur(8px);
  }
  
  /* 控制栏位置 - 放在字幕上方 */
  .lmd-stage:not(:fullscreen):not(.is-pseudo-fs) .lmd-controls {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 10px 15px 15px !important;
    background: linear-gradient(to top, rgba(0,0,0,0.7), rgba(0,0,0,0.3)) !important;
    z-index: 31;
    margin-bottom: 60px; /* 为字幕留出空间 */
  }
  
  /* 全屏模式下的布局 */
  .lmd-stage:fullscreen .lmd-sub-overlay,
  .lmd-stage:-webkit-full-screen .lmd-sub-overlay,
  .lmd-stage.is-pseudo-fs .lmd-sub-overlay {
    bottom: 0 !important;
    padding: 15px 20px !important;
    background: rgba(0, 0, 0, 0.6);
    backdrop-filter: blur(8px);
  }
  
  /* 全屏模式下的控制栏 */
  .lmd-stage:fullscreen .lmd-controls,
  .lmd-stage:-webkit-full-screen .lmd-controls,
  .lmd-stage.is-pseudo-fs .lmd-controls {
    margin-bottom: 60px; /* 为字幕留出空间 */
  }
}

/* 横屏模式 */
@media (max-width: 1000px) and (orientation: landscape) {
  /* 基础字幕样式 */
  .lmd-sub-overlay {
    font-size: 18px;
    padding: 12px 22px;
    text-align: center;
    width: 100%;
    box-sizing: border-box;
  }
  
  /* 普通横屏模式 */
  .lmd-stage:not(:fullscreen):not(.is-pseudo-fs) .lmd-sub-overlay {
    bottom: 0 !important;
    background: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(5px);
    position: absolute;
    left: 0;
    right: 0;
    z-index: 30;
  }
  
  /* 确保非全屏时的控制栏可见 */
  .lmd-stage:not(:fullscreen):not(.is-pseudo-fs) {
    position: relative;
  }
  
  .lmd-stage:not(:fullscreen):not(.is-pseudo-fs) .lmd-controls {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 10px 15px !important;
    background: linear-gradient(to top, rgba(0,0,0,0.7), transparent) !important;
    z-index: 31;
  }
  
  /* 全屏/伪全屏模式下的布局 */
  .lmd-stage:fullscreen,
  .lmd-stage:-webkit-full-screen,
  .lmd-stage.is-pseudo-fs {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
  }
  
  /* 全屏模式下的字幕 - 固定在底部 */
  .lmd-stage:fullscreen .lmd-sub-overlay,
  .lmd-stage:-webkit-full-screen .lmd-sub-overlay,
  .lmd-stage.is-pseudo-fs .lmd-sub-overlay {
    position: absolute;
    bottom: 0 !important;
    left: 0;
    right: 0;
    background: rgba(0, 0, 0, 0.6);
    backdrop-filter: blur(8px);
    z-index: 30;
    padding: 15px 20px;
    margin: 0;
  }
  
  /* 调整控制栏位置 - 放在字幕上方 */
  .lmd-stage:fullscreen .lmd-controls,
  .lmd-stage:-webkit-full-screen .lmd-controls,
  .lmd-stage.is-pseudo-fs .lmd-controls {
    position: relative;
    bottom: auto;
    padding: 12px 15px 15px !important;
    margin-bottom: 0;
    background: linear-gradient(to top, rgba(0,0,0,0.7), rgba(0,0,0,0.3)) !important;
    z-index: 31; /* 确保在字幕上方 */
  }
  
  /* 调整控制栏内部布局 */
  .lmd-controls-inner {
    max-width: 100%;
    margin: 0 auto;
    padding: 0 10px;
  }
  
  /* 控制按钮样式 - 仅在全屏/伪全屏时应用 */
  .lmd-stage:fullscreen .lmd-controls .lmd-btn,
  .lmd-stage:-webkit-full-screen .lmd-controls .lmd-btn,
  .lmd-stage.is-pseudo-fs .lmd-controls .lmd-btn {
    width: 36px;
    height: 36px;
    margin: 0 4px;
    background: rgba(255, 255, 255, 0.15);
    border-radius: 50%;
    backdrop-filter: blur(5px);
  }
  
  /* 非全屏时的播放按钮样式 */
  .lmd-stage:not(:fullscreen):not(.is-pseudo-fs) .lmd-center-btn {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: 60px !important;
    height: 60px !important;
    margin: 0 !important;
    background: var(--lmd-primary) !important;
    border-radius: 50%;
    opacity: 1 !important;
    transition: all 0.2s ease;
    z-index: 40 !important;
  }
  
  .lmd-stage:not(:fullscreen):not(.is-pseudo-fs) .lmd-center-btn:hover {
    background: var(--lmd-accent) !important;
    transform: translate(-50%, -50%) scale(1.1) !important;
  }
  
  /* 进度条样式 */
  .lmd-progress {
    margin: 8px 10px !important;
    height: 4px;
    border-radius: 2px;
  }
  
  /* 时间显示 */
  .lmd-time {
    font-size: 12px;
    opacity: 0.9;
  }
  
  /* 确保视频内容不会被遮挡 */
  .lmd-media-layer {
    padding-bottom: 120px; /* 为控制栏和字幕留出空间 */
  }
  
  /* 调整全屏时的内边距 */
  .lmd-stage:fullscreen .lmd-stage-inner,
  .lmd-stage:-webkit-full-screen .lmd-stage-inner,
  .lmd-stage.is-pseudo-fs .lmd-stage-inner {
    padding-bottom: 0;
  }
}

.lmd-wrap .lmd-stage .lmd-center-btn{ background: var(--lmd-primary) !important; }
.lmd-wrap .lmd-stage .lmd-center-btn:hover{ background: var(--lmd-accent) !important; }

/* =========================================================
   ✅ 手机竖屏 全屏/伪全屏：常规布局
   - 控制栏贴底
   - 字幕在控件上方
   ========================================================= */

@media (max-width: 768px) and (orientation: portrait) {
  .lmd-stage:fullscreen .lmd-controls,
  .lmd-stage:-webkit-full-screen .lmd-controls,
  .lmd-stage.is-pseudo-fs .lmd-controls{
    left: 0;
    right: 0;
    bottom: 0 !important;
    padding: 10px 16px calc(16px + env(safe-area-inset-bottom) + var(--lmd-mobile-controls-lift)) !important;
    border-radius: 0;
    background: linear-gradient(to top, rgba(0,0,0,.65), rgba(0,0,0,0)) !important;
    backdrop-filter: none;
  }

  .lmd-stage:fullscreen .lmd-sub-overlay,
  .lmd-stage:-webkit-full-screen .lmd-sub-overlay,
  .lmd-stage.is-pseudo-fs .lmd-sub-overlay{
    bottom: calc(var(--lmd-controls-safe) + env(safe-area-inset-bottom) + var(--lmd-mobile-controls-lift) + 14px) !important;
    padding: 10px 16px 12px !important;
    background: linear-gradient(to top, rgba(0,0,0,.55), rgba(0,0,0,0)) !important;
    backdrop-filter: none;
  }
}

/* =========================================================
   ✅ 自动切页期间抑制中心按钮“闪现”
   （放在文件末尾，确保覆盖 portrait 强制显示规则）
   ========================================================= */

.lmd-stage.lmd-suppress-bigplay .lmd-center-btn{
  opacity: 0 !important;
  pointer-events: none !important;
  transform: scale(.98);
}
