/**
 * PK 1v1 布局 — 四象限分离（勿混写）
 *
 * ┌─────────────┬──────────────────────────────────┬──────────────────────────────────┐
 * │             │ 手机                             │ PC / 平板宽屏                    │
 * ├─────────────┼──────────────────────────────────┼──────────────────────────────────┤
 * │ 客人        │ @media (max-width:1023px)        │ @media (min-width:1024px)        │
 * │             │ .video-frame.is-pk-dual            │ .video-frame.is-pk-dual          │
 * │             │ 底锚双窗带 + 血条贴视频上缘        │ 墙 1:2 + 左右各 9:16 竖框       │
 * ├─────────────┼──────────────────────────────────┼──────────────────────────────────┤
 * │ 主播        │ body.mode-live-mobile              │ body.mode-live-desktop|tablet    │
 * │             │ #preview-wrap.is-pk-dual           │ #preview-wrap.is-pk-dual         │
 * │             │ 底锚双窗带（贴近公聊/底栏）        │ 墙 1:2 + 左右各 9:16 竖框       │
 * └─────────────┴──────────────────────────────────┴──────────────────────────────────┘
 *
 * 单播/私聊样式只在各端 app.css；PK 仅在本文件且仅当 .is-pk-dual
 * PC 双窗算法：墙 1:2，每半墙内居中放 9:16 框，视频 center-cover
 */

/* ========== 共用变量 ========== */
.video-frame.is-pk-dual,
#preview-wrap.is-pk-dual {
  --pk-safe-top: env(safe-area-inset-top, 0px);
  --pk-safe-bottom: env(safe-area-inset-bottom, 0px);
  --pk-pane-aspect: 9 / 16;
  --pk-blood-gap: 4px;
  --pk-blood-stack-h: 78px;
}

/* ========== 单播：PK 壳透明 / 隐藏 ========== */
#preview-wrap:not(.is-pk-dual) .pk-dual-stage,
#preview-wrap:not(.is-pk-dual) .pk-dual-clip--host,
.video-frame:not(.is-pk-dual) .guest-pk-dual-stage,
.video-frame:not(.is-pk-dual) .pk-dual-clip--host {
  display: contents;
}

#preview-wrap:not(.is-pk-dual) .pk-dual-clip--opp,
#preview-wrap:not(.is-pk-dual) .anchor-pk-opponent-pip,
.video-frame:not(.is-pk-dual) .guest-pk-opponent-clip,
.video-frame:not(.is-pk-dual) .pk-dual-clip--opp,
#preview-wrap:not(.is-pk-dual) .pk-stage-badge,
#preview-wrap:not(.is-pk-dual) .anchor-pk-bar,
#preview-wrap:not(.is-pk-dual) .pk-ready-overlay {
  display: none !important;
}

/* PK 时关闭全屏模糊底 */
.video-frame.is-pk-dual .video-bg,
.video-frame.is-pk-dual.has-video-bg-fill .video-bg__mirror,
#preview-wrap.is-pk-dual .live-stage-bg,
#preview-wrap.is-pk-dual.has-stage-bg-fill .live-stage-bg__mirror {
  display: none !important;
}

.video-frame.is-pk-dual .pk-dual-clip--host,
.video-frame.is-pk-dual .pk-dual-clip--opp {
  position: relative;
  overflow: hidden;
  min-width: 0;
  min-height: 0;
  border: 0 !important;
  border-radius: 0 !important;
  background: #000;
  box-shadow: none;
}

/* ========== 格内铺满（左右 clip 内 video 同一套 cover） ========== */
.video-frame.is-pk-dual .pk-dual-clip video,
#preview-wrap.is-pk-dual .pk-dual-clip video,
body.mode-live-mobile #preview-wrap.is-pk-dual .live-stage .pk-dual-clip video:not(.guest-video-pip) {
  position: absolute !important;
  inset: 0 !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: 100% !important;
  max-height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  aspect-ratio: unset !important;
  object-fit: cover !important;
  object-position: center center !important;
  transform: none !important;
  background: #000;
}

/* =============================================================================
 * 1. 客人 · 手机（与主播 .pk-dual-stage 同构：左右 clip 等宽 + 格内 cover）
 * ============================================================================= */
@media (max-width: 1023px) {
  /* 顶栏 36px + 主播信息叠层 ≈76px */
  body.guest-pk-active .video-frame.is-pk-dual,
  .video-frame.is-pk-dual[data-pk-layout-tier='guest-mobile'] {
    --pk-zone-top: calc(var(--pk-safe-top) + 36px + 76px);
    --pk-pane-h: calc(50vw * 16 / 9);
    --pk-video-top: calc(var(--pk-zone-top) + var(--pk-blood-stack-h));
    --pk-guest-footer-h: calc(168px + var(--pk-safe-bottom));
    display: block;
    overflow: visible;
    background: transparent;
  }

  body.guest-pk-active .video-frame.is-pk-dual .video-core,
  body.guest-pk-active
    .app.app--in-room
    .video-frame.is-pk-dual[data-stream-ratio='portrait']
    .video-core,
  body.guest-pk-active
    .app.app--in-room
    .video-frame.is-pk-dual[data-stream-ratio='landscape']
    .video-core,
  body.guest-pk-active
    .app.app--in-room
    .video-frame.is-pk-dual[data-stream-ratio='square']
    .video-core,
  body.guest-pk-active
    .app[data-video-fit-policy='portrait-unified'].app--in-room:not(.mode-private):not(.mode-peer)
    .video-frame.is-pk-dual.is-playing
    .video-core,
  body.guest-pk-active .layout:has(.video-frame.is-pk-dual) .video-frame.is-pk-dual .video-core,
  .video-frame.is-pk-dual[data-pk-layout-tier='guest-mobile'] .video-core {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    overflow: visible !important;
    flex: unset !important;
    align-items: unset !important;
    justify-content: unset !important;
    background: transparent !important;
  }

  body.guest-pk-active .video-frame.is-pk-dual .video-core > :not(.guest-pk-dual-stage),
  .video-frame.is-pk-dual[data-pk-layout-tier='guest-mobile'] .video-core > :not(.guest-pk-dual-stage) {
    display: none !important;
  }

  body.guest-pk-active .video-frame.is-pk-dual .guest-pk-dual-stage,
  .video-frame.is-pk-dual[data-pk-layout-tier='guest-mobile'] .guest-pk-dual-stage {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: minmax(0, 1fr);
    align-items: stretch;
    position: absolute;
    left: 0;
    right: 0;
    top: var(--pk-video-top);
    height: var(--pk-pane-h);
    width: 100%;
    z-index: 2;
    overflow: hidden;
    background: #0a0a12;
  }

  body.guest-pk-active .video-frame.is-pk-dual .guest-pk-dual-stage::after,
  .video-frame.is-pk-dual[data-pk-layout-tier='guest-mobile'] .guest-pk-dual-stage::after {
    content: '';
    position: absolute;
    left: 50%;
    top: 0;
    height: 100%;
    width: 2px;
    margin-left: -1px;
    z-index: 4;
    pointer-events: none;
    background: rgba(0, 0, 0, 0.45);
  }

  body.guest-pk-active .video-frame.is-pk-dual .pk-dual-clip--host,
  .video-frame.is-pk-dual[data-pk-layout-tier='guest-mobile'] .pk-dual-clip--host {
    grid-column: 1;
    grid-row: 1;
    position: relative;
    overflow: hidden;
    min-width: 0;
    min-height: 0;
    background: #000;
  }

  body.guest-pk-active .video-frame.is-pk-dual .pk-dual-clip--opp,
  .video-frame.is-pk-dual[data-pk-layout-tier='guest-mobile'] .pk-dual-clip--opp {
    grid-column: 2;
    grid-row: 1;
    position: relative !important;
    right: auto !important;
    top: auto !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: none !important;
    aspect-ratio: unset !important;
    overflow: hidden !important;
    background: #000;
  }

  body.guest-pk-active .app.app--in-room .video-frame.is-pk-dual .pk-dual-clip video,
  body.guest-pk-active
    .app[data-video-fit-policy='portrait-unified'].app--in-room:not(.mode-private):not(.mode-peer)
    .video-frame.is-pk-dual.is-playing
    .pk-dual-clip
    video,
  .video-frame.is-pk-dual[data-pk-layout-tier='guest-mobile'] .pk-dual-clip video {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: 100% !important;
    max-height: 100% !important;
    margin: 0 !important;
    aspect-ratio: unset !important;
    object-fit: cover !important;
    object-position: center center !important;
    transform: none !important;
    display: block !important;
    background: #000;
  }

  body.guest-pk-active .video-frame.is-pk-dual .pk-host-label,
  .video-frame.is-pk-dual[data-pk-layout-tier='guest-mobile'] .pk-host-label {
    top: calc(var(--pk-video-top) + var(--pk-pane-h) - 28px);
    bottom: auto;
    left: 8px;
    right: auto;
    z-index: 6;
    max-width: calc(50% - 20px);
  }

  body.guest-pk-active .video-frame.is-pk-dual .pk-stage-badge,
  .video-frame.is-pk-dual[data-pk-layout-tier='guest-mobile'] .pk-stage-badge {
    top: calc(var(--pk-video-top) + var(--pk-pane-h) - 30px);
    bottom: auto;
    z-index: 7;
  }

  body.guest-pk-active .video-frame.is-pk-dual .pk-score-bar--guest,
  .video-frame.is-pk-dual[data-pk-layout-tier='guest-mobile'] .pk-score-bar--guest {
    top: var(--pk-zone-top) !important;
    bottom: auto !important;
  }

  body.guest-pk-active .video-frame.is-pk-dual .video-overlay-bottom,
  .video-frame.is-pk-dual[data-pk-layout-tier='guest-mobile'] .video-overlay-bottom {
    top: calc(var(--pk-video-top) + var(--pk-pane-h) + 4px);
    bottom: auto !important;
    z-index: 6;
    pointer-events: none;
  }

  body.guest-pk-active .room-private-dock,
  .layout:has(.video-frame.is-pk-dual[data-pk-layout-tier='guest-mobile']) .room-private-dock {
    display: none !important;
  }

  body.guest-pk-active .video-frame.is-pk-dual .pk-pane-label,
  .video-frame.is-pk-dual[data-pk-layout-tier='guest-mobile'] .pk-pane-label {
    position: absolute;
    z-index: 3;
    right: 8px;
    left: auto;
    bottom: 8px;
    top: auto;
  }
}

/* =============================================================================
 * 2. 客人 · PC（与主播 PC 同构：guest-pk-dual-stage + 左右 clip）
 * ============================================================================= */
@media (min-width: 1024px) {
  .video-frame.is-pk-dual {
    container-type: size;
    container-name: pk-guest-pc;
    display: block;
    position: relative;
    overflow: hidden;
    background: #0a0a12;
    --pk-pc-clip-h: min(
      calc(100cqb - var(--pk-blood-stack-h)),
      calc(50cqi * 16 / 9)
    );
    --pk-pc-clip-w: calc(var(--pk-pc-clip-h) * 9 / 16);
    --pk-pc-clip-top: calc(
      var(--pk-blood-stack-h) + (100cqb - var(--pk-blood-stack-h) - var(--pk-pc-clip-h)) / 2
    );
  }

  .video-frame.is-pk-dual .video-core {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    overflow: visible !important;
    flex: unset !important;
    align-items: unset !important;
    justify-content: unset !important;
    background: transparent !important;
  }

  .video-frame.is-pk-dual .video-core > :not(.guest-pk-dual-stage) {
    display: none !important;
  }

  .video-frame.is-pk-dual .guest-pk-dual-stage {
    display: block !important;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
    overflow: visible;
    background: transparent;
    pointer-events: none;
  }

  .video-frame.is-pk-dual .guest-pk-dual-stage::after {
    content: '';
    position: absolute;
    left: 50%;
    top: var(--pk-pc-clip-top);
    height: var(--pk-pc-clip-h);
    width: 2px;
    margin-left: -1px;
    z-index: 4;
    pointer-events: none;
    background: rgba(0, 0, 0, 0.45);
  }

  .video-frame.is-pk-dual .pk-dual-clip--host {
    position: absolute !important;
    top: var(--pk-pc-clip-top) !important;
    left: calc(25cqi - var(--pk-pc-clip-w) / 2) !important;
    width: var(--pk-pc-clip-w) !important;
    height: var(--pk-pc-clip-h) !important;
    aspect-ratio: 9 / 16 !important;
    overflow: hidden !important;
    min-width: 0;
    min-height: 0;
    background: #000;
    pointer-events: auto;
  }

  .video-frame.is-pk-dual .pk-dual-clip--opp {
    position: absolute !important;
    top: var(--pk-pc-clip-top) !important;
    left: calc(75cqi - var(--pk-pc-clip-w) / 2) !important;
    right: auto !important;
    width: var(--pk-pc-clip-w) !important;
    height: var(--pk-pc-clip-h) !important;
    aspect-ratio: 9 / 16 !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: var(--pk-pc-clip-w) !important;
    overflow: hidden !important;
    background: #000;
    pointer-events: auto;
  }

  .app:not(.mode-private):not(.mode-peer) .video-frame.is-pk-dual .pk-dual-clip video {
    object-fit: cover !important;
    object-position: center center !important;
  }

  .video-frame.is-pk-dual .pk-host-label {
    left: calc(25cqi - var(--pk-pc-clip-w) / 2 + 8px);
    top: calc(var(--pk-pc-clip-top) + var(--pk-pc-clip-h) - 28px);
    bottom: auto;
    z-index: 6;
  }

  .video-frame.is-pk-dual .pk-pane-label {
    left: auto;
    right: calc(25cqi - var(--pk-pc-clip-w) / 2 + 8px);
    top: calc(var(--pk-pc-clip-top) + var(--pk-pc-clip-h) - 28px);
    bottom: auto;
    z-index: 6;
  }

  .video-frame.is-pk-dual .pk-stage-badge {
    top: calc(var(--pk-pc-clip-top) + var(--pk-pc-clip-h) - 30px);
    bottom: auto;
    z-index: 7;
  }

  .video-frame.is-pk-dual .pk-score-bar--guest {
    top: 0 !important;
    bottom: auto !important;
    padding-top: 4px;
  }

  .video-frame.is-pk-dual .video-overlay-bottom {
    display: none !important;
  }
}

/* =============================================================================
 * 3. 主播 · 手机
 * ============================================================================= */
body.mode-live-mobile #preview-wrap.is-pk-dual {
  --pk-band-height: calc(50vw * 16 / 9);
  --pk-band-bottom: calc(
    var(--m-tab-h, calc(56px + env(safe-area-inset-bottom))) + var(--m-compose-h, 112px) +
      min(28vh, 120px) + 8px
  );
  /* 血条贴双窗上缘；iOS 100dvh 较矮时 bottom 定位会被 overflow:hidden 裁切 */
  --pk-anchor-bar-top: calc(
    100% - var(--pk-band-bottom) - var(--pk-band-height) - var(--pk-blood-stack-h) -
      var(--pk-blood-gap)
  );
}

body.mode-live-mobile #preview-wrap.is-pk-dual .pk-dual-stage {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: minmax(0, 1fr);
  align-items: stretch;
  position: absolute;
  left: 0;
  right: 0;
  top: auto;
  bottom: var(--pk-band-bottom);
  height: var(--pk-band-height);
  width: 100%;
  z-index: 2;
  overflow: hidden;
  background: #0a0a12;
}

body.mode-live-mobile #preview-wrap.is-pk-dual .pk-dual-stage::after {
  content: '';
  position: absolute;
  left: 50%;
  top: 0;
  height: 100%;
  width: 2px;
  margin-left: -1px;
  z-index: 4;
  pointer-events: none;
  background: rgba(0, 0, 0, 0.45);
}

body.mode-live-mobile #preview-wrap.is-pk-dual .pk-dual-clip--host {
  grid-column: 1;
  grid-row: 1;
  position: relative;
  overflow: hidden;
  min-width: 0;
  min-height: 0;
  background: #000;
}

body.mode-live-mobile #preview-wrap.is-pk-dual .pk-dual-clip--opp,
body.mode-live-mobile #preview-wrap.is-pk-dual .anchor-pk-opponent-pip {
  grid-column: 2;
  grid-row: 1;
  position: relative !important;
  right: auto !important;
  top: auto !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: none !important;
  aspect-ratio: unset !important;
  border-radius: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  overflow: hidden !important;
  background: #000;
}

body.mode-live-mobile #preview-wrap.is-pk-dual .anchor-pk-opponent-pip__label {
  position: absolute;
  z-index: 3;
  right: 8px;
  left: auto;
  bottom: 8px;
}

body.mode-live-mobile #preview-wrap.is-pk-dual .pk-stage-badge {
  display: block;
}

body.mode-live-mobile #preview-wrap.is-pk-dual .anchor-pk-bar.pk-score-bar--stage {
  top: max(
    calc(env(safe-area-inset-top, 0px) + 48px),
    var(--pk-anchor-bar-top)
  ) !important;
  bottom: auto !important;
  z-index: 11;
}

body.mode-live-mobile #preview-wrap.is-pk-dual .pk-dual-stage .pk-stage-badge {
  position: absolute;
  left: 50%;
  bottom: 10px;
  top: auto;
  transform: translateX(-50%);
  z-index: 5;
}

/* =============================================================================
 * 4. 主播 · PC / 平板宽屏（仅 .is-pk-dual；与公播/私聊无关）
 *    墙 1:2：左半/右半各 9:16 竖框，竖屏铺满 / 横屏中心裁剪
 * ============================================================================= */
body.mode-live-desktop #preview-wrap.is-pk-dual,
body.mode-live-tablet #preview-wrap.is-pk-dual {
  container-type: size;
  container-name: pk-anchor-pc;
  --pk-pc-clip-h: min(
    calc(100cqb - var(--pk-blood-stack-h)),
    calc(50cqi * 16 / 9)
  );
  --pk-pc-clip-w: calc(var(--pk-pc-clip-h) * 9 / 16);
  --pk-pc-clip-top: calc(
    var(--pk-blood-stack-h) + (100cqb - var(--pk-blood-stack-h) - var(--pk-pc-clip-h)) / 2
  );
}

body.mode-live-desktop #preview-wrap.is-pk-dual .pk-dual-stage,
body.mode-live-tablet #preview-wrap.is-pk-dual .pk-dual-stage {
  display: block !important;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  overflow: visible;
  background: transparent;
  border-radius: inherit;
  pointer-events: none;
}

body.mode-live-desktop #preview-wrap.is-pk-dual .pk-dual-stage::after,
body.mode-live-tablet #preview-wrap.is-pk-dual .pk-dual-stage::after {
  content: '';
  position: absolute;
  left: 50%;
  top: var(--pk-pc-clip-top);
  height: var(--pk-pc-clip-h);
  width: 2px;
  margin-left: -1px;
  z-index: 4;
  pointer-events: none;
  background: rgba(0, 0, 0, 0.45);
}

body.mode-live-desktop #preview-wrap.is-pk-dual .pk-dual-clip--host,
body.mode-live-tablet #preview-wrap.is-pk-dual .pk-dual-clip--host {
  position: absolute !important;
  top: var(--pk-pc-clip-top) !important;
  left: calc(25cqi - var(--pk-pc-clip-w) / 2) !important;
  width: var(--pk-pc-clip-w) !important;
  height: var(--pk-pc-clip-h) !important;
  aspect-ratio: 9 / 16 !important;
  overflow: hidden !important;
  min-width: 0;
  min-height: 0;
  background: #000;
  pointer-events: auto;
}

body.mode-live-desktop #preview-wrap.is-pk-dual .pk-dual-clip--opp,
body.mode-live-desktop #preview-wrap.is-pk-dual .anchor-pk-opponent-pip,
body.mode-live-tablet #preview-wrap.is-pk-dual .pk-dual-clip--opp,
body.mode-live-tablet #preview-wrap.is-pk-dual .anchor-pk-opponent-pip {
  position: absolute !important;
  top: var(--pk-pc-clip-top) !important;
  left: calc(75cqi - var(--pk-pc-clip-w) / 2) !important;
  right: auto !important;
  width: var(--pk-pc-clip-w) !important;
  height: var(--pk-pc-clip-h) !important;
  aspect-ratio: 9 / 16 !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: var(--pk-pc-clip-w) !important;
  border-radius: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  overflow: hidden !important;
  background: #000;
  pointer-events: auto;
}

/* 压过公播 PC contain：PK 格内一律 center-cover */
body.mode-live-desktop.on-page-live #preview-wrap.is-pk-dual .pk-dual-clip video:not(.guest-video-pip),
body.mode-live-tablet.on-page-live #preview-wrap.is-pk-dual .pk-dual-clip video:not(.guest-video-pip) {
  object-fit: cover !important;
  object-position: center center !important;
}

body.mode-live-desktop #preview-wrap.is-pk-dual .anchor-pk-opponent-pip__label,
body.mode-live-tablet #preview-wrap.is-pk-dual .anchor-pk-opponent-pip__label {
  position: absolute;
  z-index: 3;
  right: 8px;
  left: auto;
  bottom: 8px;
}

body.mode-live-desktop #preview-wrap.is-pk-dual .pk-stage-badge,
body.mode-live-tablet #preview-wrap.is-pk-dual .pk-stage-badge {
  display: block;
}

body.mode-live-desktop #preview-wrap.is-pk-dual .anchor-pk-bar.pk-score-bar--stage,
body.mode-live-tablet #preview-wrap.is-pk-dual .anchor-pk-bar.pk-score-bar--stage {
  top: 0 !important;
  bottom: auto !important;
  padding-top: 4px;
}

body.mode-live-desktop #preview-wrap.is-pk-dual .pk-dual-stage .pk-stage-badge,
body.mode-live-tablet #preview-wrap.is-pk-dual .pk-dual-stage .pk-stage-badge {
  position: absolute;
  left: 50%;
  bottom: 10px;
  top: auto;
  transform: translateX(-50%);
  z-index: 5;
}

/* ========== PK 结算弹层 ========== */
.pk-result-sheet {
  position: fixed;
  inset: 0;
  z-index: 9300;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}
.pk-result-sheet[hidden] {
  display: none !important;
}
.pk-result-sheet__mask {
  position: absolute;
  inset: 0;
  background: rgba(8, 4, 14, 0.55);
  backdrop-filter: blur(6px);
}
.pk-result-sheet__panel {
  position: relative;
  z-index: 1;
  width: min(340px, 100%);
  padding: 24px 20px 18px;
  border-radius: 18px;
  text-align: center;
  background: linear-gradient(165deg, rgba(56, 18, 48, 0.92), rgba(24, 8, 28, 0.96));
  border: 1px solid rgba(255, 180, 120, 0.5);
  box-shadow: 0 20px 56px rgba(0, 0, 0, 0.5);
  color: #fff8fc;
  animation: pk-result-pop 0.32s cubic-bezier(0.22, 1, 0.36, 1);
}
.pk-result-sheet__title {
  margin: 0 0 8px;
  font-size: 20px;
  font-weight: 900;
  color: #ffe9a8;
}
.pk-result-sheet__msg {
  margin: 0 0 16px;
  font-size: 14px;
  line-height: 1.6;
  color: rgba(255, 232, 245, 0.92);
}
.pk-result-sheet__scores {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 16px;
  margin: 0 0 18px;
  font-weight: 800;
}
.pk-result-side {
  flex: 1;
  max-width: 42%;
  font-size: 13px;
  line-height: 1.3;
}
.pk-result-side--left strong {
  color: #4fc3f7;
}
.pk-result-side--right strong {
  color: #ff4081;
}
.pk-result-vs {
  flex: 0 0 auto;
  font-size: 12px;
  opacity: 0.75;
  letter-spacing: 0.08em;
}
.pk-result-sheet__scores span strong {
  display: block;
  font-size: 24px;
  color: #ff4081;
  margin-top: 4px;
}
.pk-result-sheet.is-instant-win .pk-result-sheet__panel {
  border-color: rgba(255, 120, 60, 0.85);
  box-shadow: 0 0 0 1px rgba(255, 180, 80, 0.35), 0 24px 64px rgba(255, 80, 40, 0.25);
}
.pk-result-sheet.is-instant-win .pk-result-sheet__title {
  color: #ffd54f;
  text-shadow: 0 0 12px rgba(255, 193, 7, 0.45);
}
.pk-result-sheet__ok {
  min-width: 120px;
  padding: 10px 18px;
  border: 0;
  border-radius: 10px;
  font-weight: 800;
  cursor: pointer;
  background: linear-gradient(180deg, #ffb300, #ff7043);
  color: #3d0810;
}
@keyframes pk-result-pop {
  from {
    opacity: 0;
    transform: scale(0.92) translateY(10px);
  }
  to {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}

/* PK 格内角标（勿继承视频区/placeholder 大字号） */
.pk-pane-label,
.pk-host-label,
.anchor-pk-opponent-pip__label {
  position: absolute;
  z-index: 4;
  left: 8px;
  bottom: 8px;
  max-width: calc(100% - 16px);
  padding: 2px 6px;
  border-radius: 4px;
  font-size: 11px !important;
  font-weight: 700;
  line-height: 1.2;
  color: #fff;
  background: rgba(0, 0, 0, 0.48);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  pointer-events: none;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.65);
}
.pk-pane-label,
.anchor-pk-opponent-pip__label {
  left: auto;
  right: 8px;
}
.video-frame.is-pk-dual .video-placeholder,
#preview-wrap.is-pk-dual .video-placeholder {
  display: none !important;
}
.pk-opp-idle {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.35;
  text-align: center;
  color: rgba(255, 255, 255, 0.78);
  background: #0a0a12;
  pointer-events: none;
}
.pk-opp-idle[hidden] {
  display: none !important;
}

.anchor-pk-pill {
  display: inline-flex;
  align-items: center;
  padding: 2px 8px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 800;
  color: #fff;
  background: linear-gradient(90deg, #ff5252, #c62828);
  letter-spacing: 0.04em;
}
