:root {
  --ww-brand: #2f7df6;
  --ww-brand-strong: #236be4;
  --ww-brand-soft: #eef5ff;
  --ww-brand-gradient: linear-gradient(135deg, #2f82f8 0%, #276fea 58%, #7b91f7 100%);
  --ww-bg: #f5f6f8;
  --ww-surface: #fff;
  --ww-text: #171a20;
  --ww-text-2: #626a78;
  --ww-text-3: #98a1b1;
  --ww-line: #e9ecf1;
  --ww-danger: #f04452;
  --ww-warning: #f5a623;
  --ww-success: #22b573;
  --ww-gutter: clamp(12px, 4vw, 24px);
  --ww-control-height: clamp(44px, 11.2vw, 50px);
  --ww-row-height: clamp(72px, 18vw, 80px);
  --ww-tab-height: 68px;
  --ww-head-height: 52px;
  --ww-shell-max: 640px;
  --ww-shell-side: 0px;
  --ww-card-radius: 16px;
  --ww-control-radius: 12px;
  --ww-shadow-card: 0 8px 24px rgba(31, 55, 92, .06);
  --ww-shadow-float: 0 12px 32px rgba(27, 48, 84, .16);
}

html,
body {
  width: 100%;
  min-height: 100%;
  overflow-x: hidden !important;
  background: var(--ww-bg) !important;
  color: var(--ww-text);
  font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif !important;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body.ww-main-tab {
  height: var(--ww-vvh, 100dvh);
  min-height: 100vh;
  min-height: 100dvh;
  overflow: hidden !important;
  overscroll-behavior: none;
}

body.ww-main-tab uni-app {
  width: 100% !important;
  max-width: none !important;
  height: var(--ww-vvh, 100dvh) !important;
  min-height: 100vh !important;
  min-height: 100dvh !important;
  margin: 0 auto !important;
  overflow: hidden !important;
  background: var(--ww-bg) !important;
  box-shadow: none !important;
}

body.ww-main-tab uni-page-wrapper {
  width: 100% !important;
  max-width: none !important;
  min-height: 0 !important;
  margin: 0 auto !important;
  overflow: hidden !important;
}

body.ww-main-tab uni-page-body {
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 auto !important;
  background: var(--ww-bg) !important;
}

body.pages-chat-index uni-page-wrapper,
body.pages-friend-index uni-page-wrapper,
body.pages-my-index uni-page-wrapper {
  height: calc(var(--ww-vvh, 100dvh) - var(--ww-tab-height) - env(safe-area-inset-bottom, 0px)) !important;
}

body.pages-push-index uni-page-wrapper {
  height: calc(var(--ww-vvh, 100dvh) - var(--ww-head-height) - env(safe-area-inset-top, 0px) - var(--ww-tab-height) - env(safe-area-inset-bottom, 0px)) !important;
}

body.pages-chat-index uni-page-body,
body.pages-friend-index uni-page-body {
  overflow: hidden !important;
}

body.pages-push-index uni-page-body,
body.pages-my-index uni-page-body {
  overflow-x: hidden !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-y: contain;
}

/* Four-tab navigation: same geometry on all four pages and safe for Home Indicator. */
body.ww-main-tab uni-tabbar .uni-tabbar {
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  z-index: 50 !important;
  width: 100% !important;
  max-width: none !important;
  height: calc(var(--ww-tab-height) + env(safe-area-inset-bottom, 0px)) !important;
  min-height: calc(var(--ww-tab-height) + env(safe-area-inset-bottom, 0px)) !important;
  padding: 0 6px env(safe-area-inset-bottom, 0px) !important;
  box-sizing: border-box !important;
  border-top: 1px solid #edf0f4 !important;
  background: rgba(255, 255, 255, .97) !important;
  box-shadow: 0 -8px 26px rgba(28, 48, 78, .06) !important;
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
}

body.ww-main-tab uni-tabbar .uni-tabbar-border {
  display: none !important;
}

body.ww-main-tab uni-tabbar .uni-tabbar__item {
  height: var(--ww-tab-height) !important;
  padding: 6px 0 !important;
  box-sizing: border-box !important;
}

body.ww-main-tab uni-tabbar .uni-tabbar__bd {
  width: calc(100% - 12px) !important;
  max-width: 148px !important;
  height: 56px !important;
  margin: 0 auto !important;
  padding: 5px 6px 4px !important;
  box-sizing: border-box !important;
  border: 0 !important;
  border-radius: 28px !important;
  background: transparent !important;
  transition: transform .16s ease, background-color .16s ease !important;
}

body.ww-main-tab uni-tabbar .uni-tabbar__icon {
  width: 25px !important;
  height: 25px !important;
  margin: 0 auto !important;
  color: #687386 !important;
}

body.ww-main-tab uni-tabbar .uni-tabbar__icon::before {
  font-size: 22px !important;
}

body.ww-main-tab uni-tabbar .uni-tabbar__label {
  margin-top: 1px !important;
  color: #687386 !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  line-height: 16px !important;
}

body.ww-main-tab uni-tabbar .uni-tabbar__bd:has(.uni-tabbar__label[style*="40, 120, 255"]) {
  border: 0 !important;
  background: var(--ww-brand-soft) !important;
}

body.ww-main-tab uni-tabbar .uni-tabbar__bd:has(.uni-tabbar__label[style*="40, 120, 255"]) .uni-tabbar__icon,
body.ww-main-tab uni-tabbar .uni-tabbar__bd:has(.uni-tabbar__label[style*="40, 120, 255"]) .uni-tabbar__label,
body.ww-main-tab uni-tabbar .uni-tabbar__label[style*="40, 120, 255"] {
  color: var(--ww-brand) !important;
  font-weight: 650 !important;
}

body.ww-main-tab uni-tabbar .uni-tabbar__item:active .uni-tabbar__bd {
  transform: scale(.96);
}

body.ww-main-tab uni-tabbar .uni-placeholder {
  height: calc(var(--ww-tab-height) + env(safe-area-inset-bottom, 0px)) !important;
}

body.ww-main-tab uni-tabbar .uni-badge {
  min-width: 18px !important;
  height: 18px !important;
  padding: 0 5px !important;
  border: 2px solid #fff !important;
  border-radius: 10px !important;
  background: var(--ww-danger) !important;
  color: #fff !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  line-height: 14px !important;
}

/* Shared branded header for Messages and Contacts. */
.chat-home-header[data-v-4856ab30],
.contact-home-header[data-v-3b6eaf7f] {
  position: relative !important;
  top: auto !important;
  z-index: 30 !important;
  flex: 0 0 auto !important;
  padding: max(8px, env(safe-area-inset-top, 0px)) var(--ww-gutter) 12px !important;
  box-sizing: border-box !important;
  border: 0 !important;
  background: var(--ww-brand-gradient) !important;
  box-shadow: 0 8px 22px rgba(35, 101, 207, .14) !important;
}

.chat-home-titlebar[data-v-4856ab30],
.contact-home-titlebar[data-v-3b6eaf7f] {
  position: relative !important;
  height: 48px !important;
  min-height: 48px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.chat-home-title[data-v-4856ab30],
.contact-home-title[data-v-3b6eaf7f] {
  color: #fff !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  line-height: 28px !important;
  letter-spacing: .5px !important;
}

.chat-home-add.chat-home-add,
.contact-home-add.contact-home-add {
  position: absolute !important;
  top: 2px !important;
  right: 0 !important;
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  border: 1px solid rgba(255, 255, 255, .62) !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, .18) !important;
  box-shadow: 0 5px 16px rgba(25, 67, 137, .12) !important;
  color: #fff !important;
}

.chat-home-add::before,
.contact-home-add::before {
  font-size: 24px !important;
}

.chat-search-wrap[data-v-4856ab30],
.contact-search-wrap[data-v-3b6eaf7f] {
  width: 100% !important;
  height: var(--ww-control-height) !important;
  min-height: 44px !important;
  margin: 6px 0 0 !important;
  padding: 0 16px !important;
  display: flex !important;
  align-items: center !important;
  box-sizing: border-box !important;
  border: 1px solid rgba(255, 255, 255, .55) !important;
  border-radius: 14px !important;
  background: rgba(255, 255, 255, .95) !important;
  box-shadow: 0 5px 16px rgba(20, 67, 139, .10) !important;
}

.chat-search-wrap[data-v-4856ab30]:focus-within,
.contact-search-wrap[data-v-3b6eaf7f]:focus-within {
  border-color: #b9d7ff !important;
  background: #fff !important;
  box-shadow: 0 0 0 3px rgba(255, 255, 255, .18), 0 5px 16px rgba(20, 67, 139, .12) !important;
}

.chat-search-icon[data-v-4856ab30],
.contact-search-icon[data-v-3b6eaf7f] {
  width: 20px !important;
  height: 20px !important;
  flex: 0 0 20px !important;
  margin-right: 8px !important;
  opacity: .76;
}

.chat-search-input[data-v-4856ab30],
.contact-search-input[data-v-3b6eaf7f] {
  min-width: 0 !important;
  flex: 1 1 auto !important;
  color: #252b34 !important;
  font-size: 14px !important;
  line-height: 20px !important;
}

.chat-search-input[data-v-4856ab30] .uni-input-placeholder,
.contact-search-input[data-v-3b6eaf7f] .uni-input-placeholder {
  color: #8b94a5 !important;
  font-size: 14px !important;
}

/* Messages list. */
body.pages-chat-index .page[data-v-4856ab30] {
  height: 100% !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  background: var(--ww-bg) !important;
}

body.pages-chat-index .uni-list[data-v-4856ab30] {
  min-height: 0 !important;
  flex: 1 1 auto !important;
  margin: 10px 0 0 !important;
  padding: 0 0 12px !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  border: 0 !important;
  background: var(--ww-surface) !important;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-y: contain;
}

body.pages-chat-index .uni-list-cell[data-v-4856ab30] {
  background: #fff !important;
}

body.pages-chat-index .uni-media-list[data-v-4856ab30] {
  width: 100% !important;
  min-height: var(--ww-row-height) !important;
  padding: 10px var(--ww-gutter) !important;
  align-items: center !important;
  box-sizing: border-box !important;
  border-bottom: 1px solid var(--ww-line) !important;
  background: #fff !important;
}

body.pages-chat-index .uni-media-list[data-v-4856ab30]:active {
  background: #f7faff !important;
}

body.pages-chat-index .uni-media-list-logo[data-v-4856ab30],
body.pages-chat-index .uni-media-list-logo[data-v-4856ab30] uni-image,
body.pages-chat-index .uni-media-list-logo[data-v-4856ab30] uni-image > div,
body.pages-chat-index .uni-media-list-logo[data-v-4856ab30] img {
  width: clamp(48px, 12.8vw, 54px) !important;
  height: clamp(48px, 12.8vw, 54px) !important;
  border-radius: 14px !important;
}

body.pages-chat-index .uni-media-list-logo[data-v-4856ab30] {
  flex: 0 0 clamp(48px, 12.8vw, 54px) !important;
  overflow: hidden !important;
  background: #eef2f7 !important;
  box-shadow: inset 0 0 0 1px rgba(45, 62, 85, .06) !important;
}

body.pages-chat-index .uni-media-list-logo[data-v-4856ab30] img {
  display: block !important;
  object-fit: cover !important;
}

body.pages-chat-index .uni-media-list-body[data-v-4856ab30] {
  min-width: 0 !important;
  padding-left: 13px !important;
}

body.pages-chat-index .conversation-head[data-v-4856ab30] {
  min-height: 23px !important;
  margin-bottom: 3px !important;
  align-items: center !important;
}

body.pages-chat-index .conversation-name-row[data-v-4856ab30] {
  min-width: 0 !important;
  flex: 1 1 auto !important;
}

body.pages-chat-index .conversation-name[data-v-4856ab30] {
  min-width: 0 !important;
  overflow: hidden !important;
  color: #20242b !important;
  font-size: 16px !important;
  font-weight: 620 !important;
  line-height: 22px !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body.pages-chat-index .uni-media-list:has(.red_num) .conversation-name[data-v-4856ab30] {
  color: #db4552 !important;
  font-weight: 680 !important;
}

body.pages-chat-index .conversation-time[data-v-4856ab30] {
  flex: 0 0 auto !important;
  margin-left: 10px !important;
  color: #8b94a5 !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 18px !important;
}

body.pages-chat-index .uni-media-list-text-bottom[data-v-4856ab30] {
  max-width: 100% !important;
  overflow: hidden !important;
  color: #70798a !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 20px !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body.pages-chat-index .red_num[data-v-4856ab30] {
  top: 5px !important;
  left: clamp(44px, 12vw, 51px) !important;
}

/* Popover menus: align to the app shell instead of the browser edge. */
body.pages-chat-index .action_main[data-v-4856ab30],
body.pages-friend-index .contact-action-main[data-v-3b6eaf7f] {
  position: fixed !important;
  inset: 0 !important;
  z-index: 90 !important;
  display: block;
  background: transparent !important;
}

body.pages-chat-index .action_base[data-v-4856ab30],
body.pages-friend-index .contact-action-base[data-v-3b6eaf7f] {
  position: fixed !important;
  top: calc(max(8px, env(safe-area-inset-top, 0px)) + 56px) !important;
  right: calc(var(--ww-shell-side) + var(--ww-gutter)) !important;
  width: 180px !important;
  height: auto !important;
  padding: 8px !important;
  overflow: visible !important;
  box-sizing: border-box !important;
  border: 1px solid rgba(31, 55, 92, .08) !important;
  border-radius: 16px !important;
  background: rgba(255, 255, 255, .98) !important;
  box-shadow: var(--ww-shadow-float) !important;
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  animation: ww-popover-in .18s ease-out !important;
}

body.pages-chat-index .sj[data-v-4856ab30],
body.pages-friend-index .contact-action-arrow[data-v-3b6eaf7f] {
  position: absolute !important;
  top: -6px !important;
  right: 15px !important;
  width: 12px !important;
  height: 12px !important;
  border: 0 !important;
  background: #fff !important;
  box-shadow: -1px -1px 0 rgba(31, 55, 92, .06) !important;
  transform: rotate(45deg) !important;
}

body.pages-chat-index .action_item[data-v-4856ab30],
body.pages-friend-index .contact-action-item[data-v-3b6eaf7f] {
  width: 100% !important;
  height: 48px !important;
  min-height: 48px !important;
  margin: 0 !important;
  padding: 0 10px !important;
  display: flex !important;
  align-items: center !important;
  box-sizing: border-box !important;
  border: 0 !important;
  border-radius: 11px !important;
  background: transparent !important;
  color: #273140 !important;
}

body.pages-chat-index .action_item[data-v-4856ab30]:active,
body.pages-friend-index .contact-action-item[data-v-3b6eaf7f]:active {
  background: #f1f6ff !important;
}

body.pages-chat-index .action_icon[data-v-4856ab30],
body.pages-friend-index .contact-action-icon[data-v-3b6eaf7f] {
  width: 28px !important;
  height: 28px !important;
  flex: 0 0 28px !important;
  margin: 0 11px 0 0 !important;
  background-size: 21px 21px !important;
}

body.pages-chat-index .action_item_text[data-v-4856ab30],
body.pages-friend-index .contact-action-text[data-v-3b6eaf7f] {
  color: #273140 !important;
  font-size: 14px !important;
  font-weight: 560 !important;
  line-height: 20px !important;
}

/* Swipe actions keep original handlers and labels. */
body.pages-chat-index .uni-swipe-action__btn-group[data-v-b61a232a],
body.pages-friend-index .uni-swipe-action__btn-group[data-v-b61a232a] {
  height: 100% !important;
  align-items: stretch !important;
  background: #f6f7f9 !important;
}

body.pages-chat-index .uni-swipe-action--btn[data-v-b61a232a],
body.pages-friend-index .uni-swipe-action--btn[data-v-b61a232a] {
  width: 72px !important;
  min-width: 72px !important;
  height: 100% !important;
  padding: 0 8px !important;
  flex: 0 0 72px !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 5px !important;
  box-sizing: border-box !important;
  border: 0 !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 18px !important;
}

body.pages-chat-index .uni-swipe-action--btn[data-v-b61a232a]:nth-child(1) {
  background: var(--ww-brand) !important;
}

body.pages-chat-index .uni-swipe-action--btn[data-v-b61a232a]:nth-child(2) {
  background: var(--ww-warning) !important;
}

body.pages-chat-index .uni-swipe-action--btn[data-v-b61a232a]:last-child {
  background: var(--ww-danger) !important;
}

body.pages-friend-index .uni-swipe-action--btn[data-v-b61a232a] {
  background: var(--ww-brand) !important;
}

/* Contacts: one bounded scroll area, shortcut card and a light index rail. */
body.pages-friend-index .page[data-v-3b6eaf7f] {
  height: 100% !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  background: var(--ww-bg) !important;
}

body.pages-friend-index .contact-body[data-v-3b6eaf7f] {
  min-height: 0 !important;
  flex: 1 1 auto !important;
  display: flex !important;
  overflow: hidden !important;
  background: var(--ww-bg) !important;
}

body.pages-friend-index .scrollList[data-v-3b6eaf7f] {
  width: calc(100% - 24px) !important;
  height: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  flex: 1 1 auto !important;
  overflow: hidden !important;
}

body.pages-friend-index .scrollList[data-v-3b6eaf7f] .uni-scroll-view,
body.pages-friend-index .scrollList[data-v-3b6eaf7f] .uni-scroll-view-content {
  height: 100% !important;
  min-height: 0 !important;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-y: contain;
}

body.pages-friend-index .contact-index-scroll-spacer {
  display: none !important;
  height: 0 !important;
}

body.pages-friend-index .contact-body > .scrollList .uni-list {
  padding: 12px 0 16px !important;
  background: transparent !important;
}

body.pages-friend-index .contact-shortcut {
  width: auto !important;
  min-height: 64px !important;
  margin: 0 var(--ww-gutter) !important;
  padding: 9px 14px !important;
  box-sizing: border-box !important;
  border-bottom: 1px solid var(--ww-line) !important;
  background: #fff !important;
}

body.pages-friend-index .contact-shortcut[data-shortcut="friend"] {
  border-radius: var(--ww-card-radius) var(--ww-card-radius) 0 0 !important;
  box-shadow: 0 -2px 18px rgba(31, 55, 92, .035) !important;
}

body.pages-friend-index .contact-shortcut[data-shortcut="enterprise"] {
  margin-bottom: 10px !important;
  border-bottom: 0 !important;
  border-radius: 0 0 var(--ww-card-radius) var(--ww-card-radius) !important;
  box-shadow: 0 8px 20px rgba(31, 55, 92, .045) !important;
}

body.pages-friend-index .contact-shortcut .uni-media-list-logo {
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  flex: 0 0 40px !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: #eef5ff !important;
  color: var(--ww-brand) !important;
}

body.pages-friend-index .contact-shortcut .uni-media-list-logo::before {
  font-size: 21px !important;
}

body.pages-friend-index .contact-shortcut .uni-media-list-body {
  min-width: 0 !important;
  padding-left: 13px !important;
}

body.pages-friend-index .contact-shortcut .uni-list-cell-navigate {
  color: #20252d !important;
  font-size: 15px !important;
  font-weight: 650 !important;
  line-height: 21px !important;
}

body.pages-friend-index .contact-shortcut-note {
  margin-top: 2px !important;
  color: #8b94a5 !important;
  font-size: 12px !important;
  line-height: 18px !important;
}

body.pages-friend-index .uni-list-cell-divider[data-v-3b6eaf7f] {
  height: 30px !important;
  min-height: 30px !important;
  margin: 0 !important;
  padding: 7px var(--ww-gutter) 5px !important;
  box-sizing: border-box !important;
  background: var(--ww-bg) !important;
  color: #8791a0 !important;
  font-size: 12px !important;
  font-weight: 650 !important;
  line-height: 18px !important;
}

body.pages-friend-index .uni-list-cell .uni-media-list[data-v-3b6eaf7f] {
  min-height: 68px !important;
  padding: 10px var(--ww-gutter) !important;
  box-sizing: border-box !important;
  border-bottom: 1px solid var(--ww-line) !important;
  background: #fff !important;
}

body.pages-friend-index .uni-list-cell .uni-media-list-logo[data-v-3b6eaf7f],
body.pages-friend-index .uni-list-cell .uni-media-list-logo[data-v-3b6eaf7f] uni-image,
body.pages-friend-index .uni-list-cell .uni-media-list-logo[data-v-3b6eaf7f] uni-image > div,
body.pages-friend-index .uni-list-cell .uni-media-list-logo[data-v-3b6eaf7f] img {
  width: 44px !important;
  height: 44px !important;
  border-radius: 13px !important;
}

body.pages-friend-index .uni-list-cell .uni-media-list-logo[data-v-3b6eaf7f] {
  flex: 0 0 44px !important;
  overflow: hidden !important;
  background: #eef2f7 !important;
}

body.pages-friend-index .uni-list-cell .uni-media-list-body[data-v-3b6eaf7f] {
  min-width: 0 !important;
  padding-left: 13px !important;
}

body.pages-friend-index .uni-list-cell .uni-list-cell-navigate[data-v-3b6eaf7f] {
  overflow: hidden !important;
  color: #20252d !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 22px !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body.pages-friend-index .uni-indexed-list-bar[data-v-3b6eaf7f] {
  position: relative !important;
  z-index: 12 !important;
  width: 24px !important;
  min-width: 24px !important;
  height: 100% !important;
  flex: 0 0 24px !important;
  padding: 8px 0 !important;
  box-sizing: border-box !important;
  background: rgba(245, 246, 248, .96) !important;
}

body.pages-friend-index .uni-indexed-list-text[data-v-3b6eaf7f] {
  min-height: 14px !important;
  display: flex !important;
  flex: 1 1 auto !important;
  align-items: center !important;
  justify-content: center !important;
  color: #7d8797 !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  line-height: 14px !important;
}

body.pages-friend-index .uni-indexed-list-text.active[data-v-3b6eaf7f],
body.pages-friend-index .uni-indexed-list-bar.active .uni-indexed-list-text.active[data-v-3b6eaf7f] {
  color: var(--ww-brand) !important;
}

body.pages-friend-index .uni-indexed-list-alert[data-v-3b6eaf7f] {
  position: fixed !important;
  left: 50% !important;
  top: 50% !important;
  width: 64px !important;
  height: 64px !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 18px !important;
  background: rgba(24, 31, 42, .84) !important;
  color: #fff !important;
  font-size: 28px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  transform: translate(-50%, -50%) !important;
  box-shadow: var(--ww-shadow-float) !important;
}

/* Discover: aligned page head and one modern content card. */
body.pages-push-index uni-page-head .uni-page-head {
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  max-width: none !important;
  height: calc(var(--ww-head-height) + env(safe-area-inset-top, 0px)) !important;
  padding-top: env(safe-area-inset-top, 0px) !important;
  box-sizing: border-box !important;
  border-bottom: 0 !important;
  background: rgba(255, 255, 255, .97) !important;
  box-shadow: 0 1px 0 var(--ww-line) !important;
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
}

body.pages-push-index uni-page-head .uni-page-head__title {
  color: var(--ww-text) !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  line-height: 28px !important;
}

body.pages-push-index uni-page-head .uni-placeholder {
  width: 100% !important;
  max-width: none !important;
  height: calc(var(--ww-head-height) + env(safe-area-inset-top, 0px)) !important;
  margin: 0 auto !important;
}

body.pages-push-index .discover-page[data-v-0bd4d27a] {
  min-height: 100% !important;
  padding: 12px var(--ww-gutter) calc(20px + env(safe-area-inset-bottom, 0px)) !important;
  box-sizing: border-box !important;
  background: var(--ww-bg) !important;
}

body.pages-push-index .discover-list[data-v-0bd4d27a] {
  width: 100% !important;
  margin: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: var(--ww-card-radius) !important;
  background: #fff !important;
  box-shadow: var(--ww-shadow-card) !important;
}

body.pages-push-index .discover-list[data-v-0bd4d27a] .uni-list {
  margin: 0 !important;
  padding: 0 !important;
  background: #fff !important;
}

body.pages-push-index .discover-list[data-v-0bd4d27a] .uni-list-item {
  min-height: 66px !important;
  padding: 0 16px !important;
  box-sizing: border-box !important;
  background: #fff !important;
}

body.pages-push-index .discover-list[data-v-0bd4d27a] .uni-list-item:active {
  background: #f8fafd !important;
}

body.pages-push-index .discover-list[data-v-0bd4d27a] .uni-list-item__container {
  min-height: 66px !important;
  padding: 0 !important;
  align-items: center !important;
  border-bottom: 1px solid var(--ww-line) !important;
}

body.pages-push-index .discover-list[data-v-0bd4d27a] .uni-list-item:last-child .uni-list-item__container {
  border-bottom: 0 !important;
}

body.pages-push-index .discover-list[data-v-0bd4d27a] .uni-list-item__icon {
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  margin-right: 13px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 12px !important;
  background: #eef5ff !important;
}

body.pages-push-index .discover-list[data-v-0bd4d27a] .uni-list-item:nth-child(1) .uni-list-item__icon {
  background: #effaf3 !important;
}

body.pages-push-index .discover-list[data-v-0bd4d27a] .uni-list-item:nth-child(2) .uni-list-item__icon {
  background: #f3efff !important;
}

body.pages-push-index .discover-list[data-v-0bd4d27a] .uni-list-item:nth-child(3) .uni-list-item__icon {
  background: #eef4ff !important;
}

body.pages-push-index .discover-list[data-v-0bd4d27a] .uni-list-item__icon-img,
body.pages-push-index .discover-list[data-v-0bd4d27a] .uni-list-item__icon uni-image,
body.pages-push-index .discover-list[data-v-0bd4d27a] .uni-list-item__icon img {
  width: 28px !important;
  height: 28px !important;
  object-fit: contain !important;
}

body.pages-push-index .discover-list[data-v-0bd4d27a] .uni-list-item__content-title {
  color: var(--ww-text) !important;
  font-size: 16px !important;
  font-weight: 560 !important;
  line-height: 22px !important;
}

body.pages-push-index .discover-list[data-v-0bd4d27a] .uni-list-item__extra {
  color: #aab2c0 !important;
}

body.pages-push-index .discover-list[data-v-0bd4d27a] .uni-list-item__extra uni-icon {
  color: #aab2c0 !important;
  font-size: 18px !important;
}

/* Profile / Me. */
body.pages-my-index .page[data-v-47ff51b8] {
  min-height: 100% !important;
  padding-bottom: 20px !important;
  box-sizing: border-box !important;
  background: var(--ww-bg) !important;
}

body.pages-my-index .profile-card[data-v-47ff51b8] {
  min-height: 238px !important;
  padding: max(20px, calc(env(safe-area-inset-top, 0px) + 18px)) 18px 20px !important;
  box-sizing: border-box !important;
  border-radius: 0 0 22px 22px !important;
  background: #fff !important;
  box-shadow: 0 6px 22px rgba(31, 55, 92, .045) !important;
}

body.pages-my-index .profile-main[data-v-47ff51b8] {
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}

body.pages-my-index .profile-qr[data-v-47ff51b8] {
  top: max(16px, calc(env(safe-area-inset-top, 0px) + 12px)) !important;
  right: 18px !important;
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 50% !important;
  background: #f2f7ff !important;
  box-shadow: 0 6px 18px rgba(44, 104, 196, .08) !important;
}

body.pages-my-index .profile-avatar[data-v-47ff51b8] {
  width: 82px !important;
  height: 82px !important;
  min-width: 82px !important;
  padding: 3px !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: linear-gradient(145deg, #eef5ff, #dceaff) !important;
  box-shadow: 0 9px 24px rgba(32, 76, 142, .14) !important;
}

body.pages-my-index .profile-avatar[data-v-47ff51b8] uni-image,
body.pages-my-index .profile-avatar[data-v-47ff51b8] uni-image > div,
body.pages-my-index .profile-avatar[data-v-47ff51b8] img {
  width: 100% !important;
  height: 100% !important;
  border-radius: 50% !important;
  object-fit: cover !important;
}

body.pages-my-index .profile-avatar.profile-avatar-brand[data-v-47ff51b8] uni-image,
body.pages-my-index .profile-avatar.profile-avatar-brand[data-v-47ff51b8] img {
  padding: 10px !important;
  box-sizing: border-box !important;
  object-fit: contain !important;
}

body.pages-my-index .profile-name[data-v-47ff51b8] {
  max-width: calc(100% - 88px) !important;
  margin-top: 10px !important;
  overflow: hidden !important;
  color: var(--ww-text) !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  line-height: 28px !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body.pages-my-index .profile-vip[data-v-47ff51b8] {
  min-height: 20px !important;
  padding: 1px 7px !important;
  border-radius: 10px !important;
  font-size: 11px !important;
  line-height: 18px !important;
}

body.pages-my-index .profile-id-row[data-v-47ff51b8] {
  min-height: 26px !important;
  margin-top: 2px !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  color: var(--ww-text-2) !important;
  font-size: 13px !important;
  line-height: 20px !important;
}

body.pages-my-index .copy-button[data-v-47ff51b8] {
  min-width: 42px !important;
  height: 28px !important;
  padding: 0 9px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  border: 1px solid #dbe2ec !important;
  border-radius: 14px !important;
  background: #fff !important;
  color: #687386 !important;
  font-size: 11px !important;
}

body.pages-my-index .auto-reply[data-v-47ff51b8] {
  min-width: 92px !important;
  min-height: 32px !important;
  margin-top: 7px !important;
  padding: 6px 13px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  border: 1px solid #cfe0fb !important;
  border-radius: 16px !important;
  background: #f4f8ff !important;
  color: var(--ww-brand) !important;
  font-size: 12px !important;
  font-weight: 560 !important;
  line-height: 18px !important;
}

body.pages-my-index .member-banner[data-v-47ff51b8] {
  min-height: clamp(92px, 22vw, 104px) !important;
  margin: 12px var(--ww-gutter) !important;
  padding: 16px 18px !important;
  box-sizing: border-box !important;
  border: 0 !important;
  border-radius: var(--ww-card-radius) !important;
  background: var(--ww-brand-gradient) !important;
  box-shadow: 0 10px 24px rgba(40, 112, 230, .18) !important;
}

body.pages-my-index .member-banner-title[data-v-47ff51b8] {
  color: #fff !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 26px !important;
}

body.pages-my-index .member-banner-sub[data-v-47ff51b8],
body.pages-my-index .member-banner-action[data-v-47ff51b8] {
  color: rgba(255, 255, 255, .96) !important;
  font-size: 14px !important;
  line-height: 20px !important;
}

body.pages-my-index .profile-menu[data-v-47ff51b8] {
  margin: 0 var(--ww-gutter) 8px !important;
  padding: 0 16px !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
  border-radius: var(--ww-card-radius) !important;
  background: #fff !important;
  box-shadow: var(--ww-shadow-card) !important;
}

body.pages-my-index .profile-menu-item[data-v-47ff51b8] {
  min-height: 60px !important;
  height: 60px !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  border-bottom: 1px solid var(--ww-line) !important;
  background: #fff !important;
}

body.pages-my-index .profile-menu-item[data-v-47ff51b8]:last-child {
  border-bottom: 0 !important;
}

body.pages-my-index .profile-menu-item[data-v-47ff51b8]:active {
  background: #f8fafd !important;
}

body.pages-my-index .menu-icon[data-v-47ff51b8] {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  flex: 0 0 34px !important;
  margin-right: 14px !important;
  border-radius: 10px !important;
  box-shadow: 0 3px 9px rgba(37, 76, 133, .09) !important;
}

body.pages-my-index .menu-icon[data-v-47ff51b8] svg {
  display: block !important;
  width: 18px !important;
  height: 18px !important;
  pointer-events: none !important;
}

body.pages-my-index .menu-icon.tone-aperture[data-v-47ff51b8] svg {
  width: 26px !important;
  height: 26px !important;
}

body.pages-my-index .menu-title[data-v-47ff51b8] {
  min-width: 0 !important;
  flex: 1 1 auto !important;
  overflow: hidden !important;
  color: var(--ww-text) !important;
  font-size: 16px !important;
  font-weight: 520 !important;
  line-height: 22px !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body.pages-my-index .menu-arrow[data-v-47ff51b8] {
  width: 18px !important;
  min-width: 18px !important;
  margin-left: 8px !important;
  color: #aab2c0 !important;
  font-size: 18px !important;
}

/* Unified Uni modal, action sheet, picker and toast on the requested surfaces. */
body.ww-main-tab uni-modal .uni-mask,
body.ww-main-tab uni-actionsheet .uni-mask,
body.ww-main-tab .uni-picker-container .uni-mask,
body.pages-chat-message uni-modal .uni-mask,
body.pages-chat-message uni-actionsheet .uni-mask,
body.pages-chat-message .uni-picker-container .uni-mask {
  z-index: 1000 !important;
  background: rgba(16, 24, 40, .48) !important;
}

@supports ((-webkit-backdrop-filter: blur(2px)) or (backdrop-filter: blur(2px))) {
  body.ww-main-tab uni-modal .uni-mask,
  body.ww-main-tab uni-actionsheet .uni-mask,
  body.ww-main-tab .uni-picker-container .uni-mask,
  body.pages-chat-message uni-modal .uni-mask,
  body.pages-chat-message uni-actionsheet .uni-mask,
  body.pages-chat-message .uni-picker-container .uni-mask {
    -webkit-backdrop-filter: blur(2px);
    backdrop-filter: blur(2px);
  }
}

body.ww-main-tab uni-modal .uni-modal,
body.pages-chat-message uni-modal .uni-modal {
  width: min(calc(100vw - 40px), 360px) !important;
  max-width: 360px !important;
  overflow: hidden !important;
  border: 1px solid rgba(31, 55, 92, .07) !important;
  border-radius: 20px !important;
  background: #fff !important;
  box-shadow: 0 20px 58px rgba(22, 35, 56, .24) !important;
  animation: ww-modal-in .2s ease-out !important;
}

body.ww-main-tab uni-modal .uni-modal__hd,
body.pages-chat-message uni-modal .uni-modal__hd {
  padding: 24px 20px 8px !important;
  line-height: normal !important;
}

body.ww-main-tab uni-modal .uni-modal__title,
body.pages-chat-message uni-modal .uni-modal__title {
  color: var(--ww-text) !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 26px !important;
}

body.ww-main-tab uni-modal .uni-modal__bd,
body.pages-chat-message uni-modal .uni-modal__bd {
  max-height: 45dvh !important;
  min-height: 24px !important;
  padding: 8px 22px 20px !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  color: var(--ww-text-2) !important;
  font-size: 14px !important;
  line-height: 21px !important;
  white-space: pre-line !important;
}

body.ww-main-tab uni-modal .uni-modal__ft,
body.pages-chat-message uni-modal .uni-modal__ft {
  min-height: 64px !important;
  padding: 0 16px 16px !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  border-top: 0 !important;
  line-height: normal !important;
}

body.ww-main-tab uni-modal .uni-modal__ft::after,
body.ww-main-tab uni-modal .uni-modal__btn::after,
body.pages-chat-message uni-modal .uni-modal__ft::after,
body.pages-chat-message uni-modal .uni-modal__btn::after {
  display: none !important;
}

body.ww-main-tab uni-modal .uni-modal__btn,
body.pages-chat-message uni-modal .uni-modal__btn {
  height: 48px !important;
  margin: 0 !important;
  padding: 0 14px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  border: 0 !important;
  border-radius: 12px !important;
  font-size: 15px !important;
  font-weight: 650 !important;
  line-height: 1 !important;
}

body.ww-main-tab uni-modal .uni-modal__btn_default,
body.pages-chat-message uni-modal .uni-modal__btn_default {
  background: #f3f5f8 !important;
  color: #4f5968 !important;
}

body.ww-main-tab uni-modal .uni-modal__btn_primary,
body.pages-chat-message uni-modal .uni-modal__btn_primary {
  background: var(--ww-brand) !important;
  color: #fff !important;
  box-shadow: 0 7px 16px rgba(47, 125, 246, .22) !important;
}

body.ww-main-tab uni-actionsheet .uni-actionsheet,
body.pages-chat-message uni-actionsheet .uni-actionsheet {
  left: 50% !important;
  bottom: 0 !important;
  width: 100% !important;
  max-width: var(--ww-shell-max) !important;
  padding: 8px var(--ww-gutter) max(12px, env(safe-area-inset-bottom, 0px)) !important;
  box-sizing: border-box !important;
  border-radius: 24px 24px 0 0 !important;
  background: var(--ww-bg) !important;
  transform: translate(-50%, 100%) !important;
  box-shadow: 0 -16px 42px rgba(22, 35, 56, .18) !important;
}

body.ww-main-tab uni-actionsheet .uni-actionsheet_toggle,
body.pages-chat-message uni-actionsheet .uni-actionsheet_toggle {
  transform: translate(-50%, 0) !important;
}

body.ww-main-tab uni-actionsheet .uni-actionsheet__menu,
body.ww-main-tab uni-actionsheet .uni-actionsheet__action,
body.pages-chat-message uni-actionsheet .uni-actionsheet__menu,
body.pages-chat-message uni-actionsheet .uni-actionsheet__action {
  overflow: hidden !important;
  border-radius: 16px !important;
  background: #fff !important;
}

body.ww-main-tab uni-actionsheet .uni-actionsheet__title,
body.pages-chat-message uni-actionsheet .uni-actionsheet__title {
  min-height: 48px !important;
  padding: 12px 18px !important;
  box-sizing: border-box !important;
  color: var(--ww-text-2) !important;
  font-size: 13px !important;
  line-height: 20px !important;
}

body.ww-main-tab uni-actionsheet .uni-actionsheet__cell,
body.pages-chat-message uni-actionsheet .uni-actionsheet__cell {
  min-height: 56px !important;
  padding: 0 18px !important;
  box-sizing: border-box !important;
  border-bottom: 1px solid var(--ww-line) !important;
  color: var(--ww-text) !important;
  font-size: 16px !important;
  font-weight: 520 !important;
  line-height: 56px !important;
}

body.ww-main-tab uni-actionsheet .uni-actionsheet__action,
body.pages-chat-message uni-actionsheet .uni-actionsheet__action {
  margin-top: 8px !important;
  color: var(--ww-brand) !important;
  font-weight: 650 !important;
}

body.ww-main-tab .uni-picker-container .uni-picker,
body.pages-chat-message .uni-picker-container .uni-picker {
  left: 50% !important;
  width: 100% !important;
  max-width: var(--ww-shell-max) !important;
  overflow: hidden !important;
  border-radius: 24px 24px 0 0 !important;
  background: #fff !important;
  transform: translateX(-50%) !important;
  box-shadow: 0 -16px 42px rgba(22, 35, 56, .18) !important;
}

body.ww-main-tab .uni-picker-container .uni-picker-header,
body.pages-chat-message .uni-picker-container .uni-picker-header {
  min-height: 56px !important;
  padding: 0 16px !important;
  box-sizing: border-box !important;
  border-bottom: 1px solid var(--ww-line) !important;
}

body.ww-main-tab .uni-picker-container .uni-picker-action,
body.pages-chat-message .uni-picker-container .uni-picker-action {
  min-width: 52px !important;
  min-height: 44px !important;
  color: var(--ww-brand) !important;
  font-size: 15px !important;
  font-weight: 650 !important;
}

body.ww-main-tab uni-toast .uni-mask,
body.pages-chat-message uni-toast .uni-mask {
  background: transparent !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

body.ww-main-tab uni-toast .uni-toast,
body.pages-chat-message uni-toast .uni-toast {
  width: auto !important;
  min-width: 112px !important;
  max-width: min(calc(100vw - 48px), 360px) !important;
  min-height: 44px !important;
  padding: 12px 16px !important;
  box-sizing: border-box !important;
  border-radius: 12px !important;
  background: rgba(22, 27, 35, .92) !important;
  box-shadow: 0 12px 32px rgba(16, 24, 40, .22) !important;
}

body.ww-main-tab uni-toast .uni-toast__content,
body.pages-chat-message uni-toast .uni-toast__content {
  margin: 0 !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 20px !important;
  white-space: normal !important;
}

body.ww-main-tab uni-toast .uni-toast__icon,
body.pages-chat-message uni-toast .uni-toast__icon {
  width: 22px !important;
  height: 22px !important;
  margin: 0 auto 7px !important;
}

/* Conversation overlays also inherit the same mobile-safe visual language. */
body.pages-chat-message .more-layer,
body.pages-chat-message .emoji-swiper {
  max-height: min(42dvh, 360px) !important;
  padding-bottom: max(18px, env(safe-area-inset-bottom, 0px)) !important;
  overflow-y: auto !important;
  border-radius: 22px 22px 0 0 !important;
  background: #f8fafd !important;
  box-shadow: 0 -12px 34px rgba(29, 48, 76, .10) !important;
}

body.pages-chat-message .recording-pop,
body.pages-chat-message .pay-panel,
body.pages-chat-message .windows .layer,
body.pages-chat-message .feature-page > uni-view {
  max-width: var(--ww-shell-max) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.pages-chat-message .recording-pop {
  border-radius: 20px !important;
  box-shadow: var(--ww-shadow-float) !important;
}

@keyframes ww-popover-in {
  from { opacity: 0; transform: translateY(-5px) scale(.98); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes ww-modal-in {
  from { opacity: 0; transform: translateY(10px) scale(.97); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

/* Undo the old unconditional 480px desktop shell. Native/coarse-pointer layouts stay full width. */
@media (min-width: 700px) {
  body.ww-main-tab uni-app,
  body.ww-main-tab uni-page-wrapper,
  body.ww-main-tab uni-page-body {
    width: 100% !important;
    max-width: none !important;
  }

  body.ww-main-tab uni-tabbar .uni-tabbar,
  body.pages-push-index uni-page-head .uni-page-head,
  body.pages-push-index uni-page-head .uni-placeholder {
    width: 100% !important;
    max-width: none !important;
  }
}

@media (min-width: 700px) and (hover: hover) and (pointer: fine) {
  :root {
    --ww-shell-side: max(0px, calc((100vw - var(--ww-shell-max)) / 2));
  }

  html.ww-desktop-shell body.ww-main-tab uni-app {
    width: var(--ww-shell-max) !important;
    max-width: var(--ww-shell-max) !important;
    border-left: 1px solid rgba(31, 55, 92, .04) !important;
    border-right: 1px solid rgba(31, 55, 92, .04) !important;
    box-shadow: 0 0 40px rgba(27, 48, 84, .09) !important;
  }

  html.ww-desktop-shell body.ww-main-tab uni-page-wrapper,
  html.ww-desktop-shell body.ww-main-tab uni-page-body {
    width: 100% !important;
    max-width: var(--ww-shell-max) !important;
  }

  html.ww-desktop-shell body.ww-main-tab uni-tabbar .uni-tabbar,
  html.ww-desktop-shell body.pages-push-index uni-page-head .uni-page-head {
    left: 50% !important;
    right: auto !important;
    width: var(--ww-shell-max) !important;
    max-width: var(--ww-shell-max) !important;
    transform: translateX(-50%) !important;
  }

  html.ww-desktop-shell body.pages-push-index uni-page-head .uni-placeholder {
    width: var(--ww-shell-max) !important;
    max-width: var(--ww-shell-max) !important;
  }
}

@media (max-width: 374px) {
  :root {
    --ww-gutter: 12px;
  }

  body.pages-chat-index .uni-media-list[data-v-4856ab30] {
    min-height: 70px !important;
  }

  body.pages-chat-index .uni-media-list-logo[data-v-4856ab30],
  body.pages-chat-index .uni-media-list-logo[data-v-4856ab30] uni-image,
  body.pages-chat-index .uni-media-list-logo[data-v-4856ab30] uni-image > div,
  body.pages-chat-index .uni-media-list-logo[data-v-4856ab30] img {
    width: 46px !important;
    height: 46px !important;
  }

  body.pages-chat-index .uni-media-list-logo[data-v-4856ab30] {
    flex-basis: 46px !important;
  }

  body.pages-my-index .profile-menu[data-v-47ff51b8] {
    padding: 0 14px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}
