/* H5 统一弹窗 — 毛玻璃 + 主题色（客人/主播 H5 共用） */
.vchat-h5-dialog {
  position: fixed;
  inset: 0;
  /* 统一弹窗必须永远在最上层：高于 IM 侧栏/设置面板(30010)与全屏媒体层(100002) */
  z-index: 2000000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px 20px;
  background: rgba(12, 4, 18, 0.72);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  animation: vchat-h5-dialog-fade 0.22s ease;
}
.vchat-h5-dialog[hidden] {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
.vchat-h5-dialog__panel {
  width: min(360px, 100%);
  padding: 26px 22px 20px;
  border-radius: 20px;
  background: linear-gradient(165deg, rgba(72, 22, 58, 0.98) 0%, rgba(36, 10, 32, 0.98) 100%);
  border: 1px solid rgba(255, 120, 180, 0.42);
  box-shadow:
    0 24px 60px rgba(0, 0, 0, 0.55),
    0 0 0 1px rgba(255, 255, 255, 0.06) inset,
    0 0 28px rgba(255, 60, 120, 0.18);
  color: #fff8fc;
  text-align: center;
  animation: vchat-h5-dialog-pop 0.28s cubic-bezier(0.22, 1, 0.36, 1);
}
.vchat-h5-dialog__panel.is-danger {
  border-color: rgba(255, 90, 90, 0.55);
  box-shadow:
    0 24px 60px rgba(0, 0, 0, 0.55),
    0 0 28px rgba(255, 40, 60, 0.22);
}
.vchat-h5-dialog__icon {
  font-size: 28px;
  line-height: 1;
  margin-bottom: 10px;
  color: #ffd166;
  text-shadow: 0 0 16px rgba(255, 209, 102, 0.55);
}
.vchat-h5-dialog__title {
  margin: 0 0 10px;
  font-size: 18px;
  font-weight: 800;
  letter-spacing: 0.02em;
}
.vchat-h5-dialog__message {
  margin: 0 0 18px;
  font-size: 14px;
  line-height: 1.65;
  color: rgba(255, 232, 245, 0.92);
  font-weight: 400;
}
.vchat-h5-dialog__message strong {
  color: #fff;
  font-weight: 700;
}
.vchat-h5-dialog__input[hidden] {
  display: none !important;
  margin: 0;
  padding: 0;
  border: 0;
}
.vchat-h5-dialog__field {
  display: flex;
  align-items: stretch;
  margin: 0 0 20px;
  border: 1px solid rgba(255, 140, 190, 0.45);
  border-radius: 12px;
  overflow: hidden;
  background: rgba(0, 0, 0, 0.28);
}
.vchat-h5-dialog__field[hidden] {
  display: none !important;
}
.vchat-h5-dialog__prefix {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 12px;
  min-width: 36px;
  border: none;
  border-radius: 0;
  border-right: 1px solid rgba(255, 140, 190, 0.35);
  background: rgba(0, 0, 0, 0.35);
  color: #fff;
  font-size: 15px;
  font-weight: 600;
  line-height: 1;
}
.vchat-h5-dialog__prefix[hidden] {
  display: none !important;
}
.vchat-h5-dialog__field .vchat-h5-dialog__input.is-readonly,
.vchat-h5-dialog__field.is-readonly .vchat-h5-dialog__input {
  opacity: 0.65;
  cursor: not-allowed;
  color: rgba(255, 255, 255, 0.75);
}
.vchat-h5-dialog__field.is-single-input .vchat-h5-dialog__input {
  border-radius: 12px;
}
.vchat-h5-dialog__field:not(:has(.vchat-h5-dialog__prefix:not([hidden]))) .vchat-h5-dialog__input {
  border-radius: 12px;
}
.vchat-h5-dialog__field .vchat-h5-dialog__input {
  flex: 1;
  min-width: 0;
  margin: 0;
  border: none;
  border-radius: 0;
  text-align: left;
  background: transparent;
}
.vchat-h5-dialog__input {
  display: block;
  width: 100%;
  box-sizing: border-box;
  margin: 0 0 20px;
  padding: 12px 14px;
  border-radius: 12px;
  border: 1px solid rgba(255, 140, 190, 0.45);
  background: rgba(0, 0, 0, 0.28);
  color: #fff;
  font-size: 15px;
  text-align: center;
  outline: none;
}
.vchat-h5-dialog__input:focus {
  border-color: rgba(255, 200, 120, 0.75);
  box-shadow: 0 0 0 3px rgba(255, 180, 100, 0.18);
}
.vchat-h5-dialog__area[hidden] {
  display: none !important;
}
.vchat-h5-dialog__area {
  display: block;
  width: 100%;
  box-sizing: border-box;
  margin: 0 0 6px;
  padding: 12px 14px;
  min-height: 132px;
  max-height: 46vh;
  border-radius: 12px;
  border: 1px solid rgba(255, 140, 190, 0.45);
  background: rgba(0, 0, 0, 0.28);
  color: #fff;
  font-size: 15px;
  line-height: 1.5;
  text-align: left;
  resize: vertical;
  outline: none;
  font-family: inherit;
}
.vchat-h5-dialog__area:focus {
  border-color: rgba(255, 200, 120, 0.75);
  box-shadow: 0 0 0 3px rgba(255, 180, 100, 0.18);
}
.vchat-h5-dialog__count[hidden] {
  display: none !important;
}
.vchat-h5-dialog__count {
  margin: 0 2px 16px;
  font-size: 12px;
  color: rgba(255, 255, 255, 0.55);
  text-align: right;
}
.vchat-h5-dialog__actions {
  display: flex;
  gap: 10px;
  justify-content: center;
  flex-wrap: wrap;
}
.vchat-h5-dialog__btn {
  min-width: 112px;
  padding: 11px 18px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  border: none;
}
.vchat-h5-dialog__btn--ghost {
  background: rgba(255, 255, 255, 0.08);
  color: rgba(255, 240, 248, 0.92);
  border: 1px solid rgba(255, 255, 255, 0.16);
}
.vchat-h5-dialog__btn--primary {
  background: linear-gradient(135deg, #ff6b9d 0%, #c9184a 100%);
  color: #fff;
  box-shadow: 0 8px 20px rgba(201, 24, 74, 0.35);
}
.vchat-h5-dialog__btn--danger {
  background: linear-gradient(135deg, #ff5a5a 0%, #c1121f 100%);
  color: #fff;
  box-shadow: 0 8px 20px rgba(193, 18, 31, 0.35);
}
@keyframes vchat-h5-dialog-fade {
  from { opacity: 0; }
  to { opacity: 1; }
}
@keyframes vchat-h5-dialog-pop {
  from { opacity: 0; transform: scale(0.92) translateY(8px); }
  to { opacity: 1; transform: scale(1) translateY(0); }
}
