/* 与去直播、仅实名认证版 Android APP 对齐 */
.auth-status-grid {
  grid-template-columns: minmax(0, 1fr) !important;
}

.auth-status-grid article:nth-child(2),
.auth-status-grid ~ section.feature-card {
  display: none !important;
}

.app-filter-button {
  width: auto !important;
  min-width: 70px;
  height: 34px;
  padding: 0 12px !important;
  border: 0 !important;
  border-radius: 17px !important;
  color: #fff !important;
  background: linear-gradient(135deg, #c031ff, #701cff) !important;
  box-shadow: 0 5px 14px rgba(126, 31, 255, 0.28);
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 5px;
  white-space: nowrap;
}

.app-filter-button b {
  font-size: 17px;
  line-height: 1;
}

.filter-modal-mask {
  position: fixed;
  inset: 0;
  z-index: 2000;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  background: rgba(0, 0, 0, 0.48);
}

.filter-modal {
  width: min(100%, 520px);
  padding: 22px 24px calc(22px + env(safe-area-inset-bottom));
  border-radius: 26px 26px 0 0;
  background: #fff;
  color: #222;
}

.filter-modal header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 22px;
}

.filter-modal h2 {
  margin: 0;
  font-size: 18px;
}

.filter-modal header button {
  border: 0;
  background: transparent;
  color: #bbb;
  font-size: 30px;
}

.filter-group {
  margin: 18px 0;
}

.filter-group > strong {
  display: block;
  margin-bottom: 13px;
  font-size: 15px;
}

.filter-options {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.filter-options button {
  min-height: 42px;
  border: 0;
  border-radius: 22px;
  background: #f5f5f6;
  color: #999;
}

.gender-options button {
  background: transparent;
}

.gender-options i {
  width: 58px;
  height: 58px;
  margin: 0 auto 7px;
  border-radius: 50%;
  background: #f6f6f7;
  display: grid;
  place-items: center;
  font-size: 27px;
  font-style: normal;
}

.gender-options span {
  display: block;
}

.filter-options button.active,
.filter-options button.active i {
  color: #fff;
  background: linear-gradient(135deg, #c031ff, #701cff);
}

.apply-filter {
  width: 100%;
  height: 52px;
  margin-top: 16px;
  border: 0;
  border-radius: 26px;
  color: #fff;
  background: linear-gradient(90deg, #a921ff, #6913ee);
  font-size: 17px;
}

/* 短视频上的文字渐变层不再挡住原生播放控件。 */
.video-card .video-gradient,
.video-card .video-copy {
  pointer-events: none;
}

.collection-media-button {
  width: 100%;
  padding: 0;
  display: block;
  overflow: hidden;
}

.collection-video {
  width: 100%;
  aspect-ratio: 1.2;
  object-fit: cover;
  background: #111;
  display: block;
}

.photo-preview-mask {
  position: fixed;
  inset: 0;
  z-index: 5000;
  display: grid;
  place-items: center;
  background: rgba(0, 0, 0, 0.94);
}

.photo-preview {
  width: min(100%, 520px);
  height: 100%;
  display: flex;
  flex-direction: column;
}

.photo-preview header {
  min-height: calc(58px + env(safe-area-inset-top));
  padding: env(safe-area-inset-top) 15px 0;
  color: #fff;
  display: grid;
  grid-template-columns: 72px 1fr 72px;
  align-items: center;
}

.photo-preview header strong {
  text-align: center;
  font-size: 16px;
}

.photo-preview-close {
  color: #fff;
  text-align: left;
  font-size: 34px;
}

.photo-preview-delete {
  color: #ff6680;
  text-align: right;
  font-size: 14px;
}

.photo-preview-delete:disabled {
  opacity: 0.55;
}

.photo-preview > img {
  width: 100%;
  flex: 1;
  min-height: 0;
  object-fit: contain;
}

/* 私聊输入区与 Android 功能面板 */
.chat-screen { display: flex; flex-direction: column; }
.chat-screen .chat-input { flex: none; z-index: 12; }
.voice-send-button { min-width: 48px; height: 34px; border-radius: 17px; color: #7522bb; background: #f2e9fb; font-size: 11px !important; font-weight: 700; }
.voice-send-button.recording { min-width: 68px !important; color: #fff !important; background: linear-gradient(110deg,#ff4274,#df2864); animation: voice-record-pulse 1s ease-in-out infinite alternate; }
@keyframes voice-record-pulse { to { box-shadow: 0 0 0 5px #e82f6d25; } }
.chat-plus-button { width: 34px; height: 34px; border-radius: 50%; color: #6e6874; border: 1px solid #aaa5ad !important; line-height: 30px; }
.chat-plus-panel { flex: none; z-index: 11; display: grid; grid-template-columns: repeat(4,1fr); gap: 15px 7px; padding: 17px 13px calc(17px + var(--safe-bottom)); background: #fff; border-top: 1px solid #eeeaf1; }
.chat-plus-panel button,.chat-plus-panel label { position: relative; display: grid; justify-items: center; gap: 6px; color: #77717c; font-size: 10px; cursor: pointer; }
.chat-plus-panel b { display: grid; place-items: center; width: 45px; height: 45px; border-radius: 13px; color: #8e27db; background: #f4ebfb; font-size: 21px; font-weight: 500; }
.chat-plus-panel label:nth-child(1) b { color: #37c97a; background: #e8fbf0; }
.chat-plus-panel label:nth-child(2) b { color: #25aee9; background: #e7f6fd; }
.chat-plus-panel button:nth-child(3) b { color: #ee4d9a; background: #fff0f7; }
.chat-plus-panel input { position: absolute; width: 1px; height: 1px; opacity: 0; overflow: hidden; }
.chat-gift-sheet { position: absolute; z-index: 30; left: 0; right: 0; bottom: 0; min-height: 270px; padding: 15px 13px calc(18px + var(--safe-bottom)); background: #fff; border-radius: 20px 20px 0 0; box-shadow: 0 -14px 40px #2812342b; }
.chat-gift-sheet header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 15px; }
.chat-gift-sheet header strong { font-size: 15px; }
.chat-gift-sheet header button { width: 30px; height: 30px; font-size: 23px; color: #99929d; }
.chat-gift-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px 7px; max-height: 220px; overflow-y: auto; }
.chat-gift-grid button { display: grid; justify-items: center; gap: 4px; min-width: 0; }
.chat-gift-grid img,.chat-gift-grid b { object-fit: contain; width: 45px; height: 45px; font-size: 27px; }
.chat-gift-grid strong { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 10px; }
.chat-gift-grid small { color: #a329e8; font-size: 9px; }
.gift-message { display: flex; align-items: center; gap: 9px; min-width: 112px; padding: 2px 3px; }
.gift-message img,.gift-message b { width: 52px; height: 52px; object-fit: contain; font-size: 34px; }
.gift-message strong { color: #8c25cb; font-size: 14px; }

.video-comment-backdrop { position: fixed; z-index: 80; inset: 0; display: flex; align-items: flex-end; background: #170b245e; }
.video-comment-sheet { width: 100%; max-height: min(68vh,620px); display: grid; grid-template-rows: auto minmax(190px,1fr) auto; background: #fff; border-radius: 22px 22px 0 0; padding-bottom: var(--safe-bottom); box-shadow: 0 -16px 50px #1f0b2d38; }
.video-comment-sheet header { height: 52px; display: flex; justify-content: center; align-items: center; position: relative; border-bottom: 1px solid #f0ecf3; }
.video-comment-sheet header strong { font-size: 16px; }
.video-comment-sheet header button { position: absolute; right: 14px; width: 34px; height: 34px; font-size: 26px; color: #817987; }
.video-comment-list { min-height: 220px; overflow-y: auto; padding: 8px 17px; }
.video-comment-list article { display: flex; gap: 10px; padding: 10px 0; }
.video-comment-list article > img { width: 38px; height: 38px; flex: 0 0 38px; border-radius: 50%; object-fit: cover; }
.video-comment-list article > div { min-width: 0; }
.video-comment-list strong { display: block; color: #8c8490; font-size: 12px; }
.video-comment-list p { margin: 4px 0; color: #28222c; font-size: 14px; overflow-wrap: anywhere; }
.video-comment-list small { color: #aaa2ad; font-size: 10px; }
.video-comment-sheet form { display: flex; gap: 9px; padding: 10px 14px; border-top: 1px solid #f0ecf3; background: #fff; }
.video-comment-sheet form input { min-width: 0; flex: 1; height: 42px; padding: 0 15px; border: 0; border-radius: 22px; background: #f6f3f8; font-size: 14px; }
.video-comment-sheet form button { min-width: 68px; padding: 0 16px; border-radius: 22px; color: #fff; background: linear-gradient(135deg,#8e12ff,#df2ce9); font-weight: 700; }
.video-comment-sheet form button:disabled { opacity: .45; }
.chat-bubble.type-gift { color: #7d309d !important; background: linear-gradient(120deg,#fff4d8,#ffe0f6) !important; border: 1px solid #f4c9e7; }
.voice-message { background: #fff; }
.voice-message small { display: block; padding: 0 10px 6px; color: #8f8794; font-size: 9px; text-align: right; }

/* H5 real-time audio/video handoff */
.app-download-mask{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(18,10,30,.58);backdrop-filter:blur(3px)}
.app-download-dialog{position:relative;width:min(88vw,380px);padding:28px 22px 20px;border-radius:24px;background:#fff;text-align:center;box-shadow:0 20px 60px rgba(50,0,90,.28)}
.app-download-close{position:absolute;right:14px;top:10px;border:0;background:transparent;color:#aaa;font-size:30px;line-height:1}
.app-download-logo{width:62px;height:62px;margin:0 auto 14px;display:grid;place-items:center;border-radius:19px;background:linear-gradient(135deg,#7b16ff,#ec35dc);color:#fff;font-size:17px;font-weight:800;box-shadow:0 10px 24px rgba(141,25,255,.3)}
.app-download-dialog h3{margin:0 0 10px;color:#222;font-size:21px}.app-download-dialog p{margin:0;color:#777;font-size:14px;line-height:1.7}
.app-download-actions{display:flex;gap:10px;margin-top:22px}.app-download-actions button{flex:1;height:46px;border-radius:23px;font-size:15px;font-weight:700}.app-download-later{border:1px solid #e4e0e8;background:#fff;color:#777}.app-download-now{border:0;background:linear-gradient(90deg,#7b16ff,#df25e7);color:#fff;box-shadow:0 8px 18px rgba(145,24,255,.23)}.app-download-now:disabled{background:#ddd;color:#999;box-shadow:none}

/* 2026-09 login/download hotfix */
.app-download-actions .app-download-link{flex:1;height:46px;border-radius:23px;font-size:15px;font-weight:700;display:flex;align-items:center;justify-content:center;text-decoration:none;box-sizing:border-box}
.app-download-wechat-tip{margin-top:10px!important;color:#8a5a98!important;font-size:13px!important}
.app-download-direct-url{display:block;margin-top:12px;word-break:break-all;color:#7b16ff;font-size:13px;line-height:1.5;text-decoration:underline}

/* WeChat download copy v2 */
.app-download-copy-button{border:0!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:15px!important;line-height:1!important;white-space:nowrap!important;text-decoration:none!important;appearance:none!important;-webkit-appearance:none!important}
.app-download-copy-status{margin-top:13px;padding:9px 12px;border-radius:12px;background:#f4ecff;color:#6f24b5;font-size:13px;line-height:1.45;font-weight:600}
.app-download-copy-status.is-error{background:#fff4f4;color:#bd3c3c}
.app-download-fallback-url{margin-top:8px;padding:9px 10px;border-radius:10px;background:#f7f7f8;color:#555;font-size:12px;line-height:1.45;word-break:break-all;-webkit-user-select:text;user-select:text}
.app-download-direct-url{display:none!important}
@media (max-width:360px){.app-download-dialog{width:min(90vw,350px);padding-left:18px;padding-right:18px}.app-download-actions{gap:8px}.app-download-actions button,.app-download-actions .app-download-link{font-size:14px!important}}
