/* 打电话 —— 换皮 2026-09-25：通用通话样式全在 keke.css（粉色纸感、跟主题变色）。
   这里只留摄像头相关：头部开关、画面工具、以及开摄像头后的全屏暗色舞台。 */
#callscr .call-head-action { justify-self: end; }
#callscr .call-head-action[aria-pressed="true"] { background: var(--pink); color: #fff; }
#callscr #call-ptt { display: none; }
#callscr[data-stt="fallback"] #call-ptt, #callscr[data-stt="manual"] #call-ptt { display: inline-flex; align-items: center; }
#callscr .call-video-mode-label { display: flex; align-items: center; gap: var(--sp2); color: var(--ink-soft); font-size: var(--fs-s); }
#callscr #call-video-mode { border: var(--bw) solid var(--line); border-radius: var(--r-pill); background: var(--card); padding: var(--sp1) var(--sp2); font-size: var(--fs-s); }

/* Camera-on mode becomes a single full-bleed stage. */
#callscr.video-on {
  padding-right: 0;
  padding-left: 0;
  background: #101014;
  color: #fff;
}

#callscr.video-on .call-head {
  position: absolute;
  top: max(12px, env(safe-area-inset-top, 0px));
  right: 14px;
  left: 14px;
  width: auto;
  max-width: none;
}

#callscr.video-on .call-head button {
  border-color: rgba(255, 255, 255, .16);
  background: rgba(15, 15, 19, .48);
  color: #fff;
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}

#callscr.video-on .call-head-action[aria-pressed="true"] {
  background: rgba(255, 255, 255, .9);
  color: #24222b;
}

#callscr.video-on .call-timer {
  justify-self: center;
  padding: 7px 11px;
  border-radius: 999px;
  background: rgba(15, 15, 19, .42);
  color: rgba(255, 255, 255, .86);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}

#callscr.video-on .call-stage {
  width: 100%;
  max-width: none;
  height: 100%;
  margin: 0;
  padding: 0;
}

#callscr #call-video-stage:not([hidden]) {
  position: absolute;
  inset: 0;
  z-index: 0;
  display: block;
  overflow: hidden;
  background: #17171c;
}

#callscr #call-video-preview {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  background: #17171c;
  transform: scaleX(-1);
}

#callscr #call-video-stage[data-facing="environment"] #call-video-preview { transform: none; }

#callscr #call-video-note {
  position: absolute;
  top: calc(max(12px, env(safe-area-inset-top, 0px)) + 58px);
  right: 16px;
  z-index: 2;
  max-width: calc(100% - 32px);
  overflow: hidden;
  color: rgba(255, 255, 255, .78);
  font-size: 11px;
  line-height: 18px;
  text-overflow: ellipsis;
  text-shadow: 0 1px 4px rgba(0, 0, 0, .55);
  white-space: nowrap;
}

#callscr.video-on .call-avatar-wrap { display: none; }

#callscr.video-on .call-name {
  position: absolute;
  top: calc(max(12px, env(safe-area-inset-top, 0px)) + 61px);
  left: 16px;
  z-index: 3;
  margin: 0;
  color: #fff;
  font-size: 18px;
  text-shadow: 0 1px 7px rgba(0, 0, 0, .55);
}

#callscr.video-on .call-status {
  position: absolute;
  top: calc(max(12px, env(safe-area-inset-top, 0px)) + 88px);
  left: 16px;
  z-index: 3;
  margin: 0;
  color: rgba(255, 255, 255, .78);
  text-shadow: 0 1px 6px rgba(0, 0, 0, .55);
}

#callscr.video-on .call-status-dot {
  background: #fff;
  box-shadow: 0 0 0 4px rgba(255, 255, 255, .13);
}

#callscr.video-on .call-live {
  position: absolute;
  right: 18px;
  bottom: 184px;
  left: 18px;
  z-index: 3;
  width: auto;
  min-height: 0;
  margin: 0 auto;
  padding: 0;
  color: #fff;
  text-align: center;
  pointer-events: none;
}

#callscr.video-on .call-live-label { color: rgba(255, 255, 255, .7); }
#callscr.video-on .call-live-text {
  display: inline;
  padding: 7px 11px;
  border-radius: 13px;
  background: rgba(11, 11, 14, .54);
  color: #fff;
  font-size: 15px;
  line-height: 27px;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
  -webkit-backdrop-filter: blur(9px);
  backdrop-filter: blur(9px);
}

#callscr.video-on .call-quote {
  position: absolute;
  right: 20px;
  bottom: 143px;
  left: 20px;
  z-index: 3;
  width: auto;
  margin: 0;
  color: rgba(255, 255, 255, .84);
  font-size: 13px;
  line-height: 21px;
  text-shadow: 0 1px 5px rgba(0, 0, 0, .65);
}

#callscr.video-on .call-bottom {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  max-width: none;
  padding: 34px 18px max(14px, env(safe-area-inset-bottom, 0px));
  background: linear-gradient(180deg, transparent, rgba(9, 9, 12, .68) 37%, rgba(9, 9, 12, .86));
}

#callscr.video-on .call-utility { color: rgba(255, 255, 255, .82); }
#callscr.video-on details { color: rgba(255, 255, 255, .78); }
#callscr.video-on .call-action { color: rgba(255, 255, 255, .82); }
#callscr.video-on .call-action .call-action-ico {
  border-color: rgba(255, 255, 255, .16);
  background: rgba(24, 24, 29, .58);
  color: #fff;
  box-shadow: none;
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}

#callscr.video-on .call-action.muted .call-action-ico { background: rgba(255, 255, 255, .9); color: #24222b; }
#callscr.video-on #call-hangup .call-action-ico { background: var(--danger); color: #fff; }
#callscr.video-on .call-sheet-card { color: var(--ink); }


@media (max-height: 700px) {
  #callscr.video-on .call-live { bottom: 168px; }
  #callscr.video-on .call-quote { bottom: 130px; }
}
@media (prefers-reduced-motion: reduce) {
  #callscr .call-avatar-wrap::before, #callscr .call-live-text.interim::after { animation: none; }
}
