/* HaoZaiMa v26 progressive UX enhancements.
   Intentionally scoped with v26-* class names so it can sit on top of v25 safely. */

:root {
  --v26-pink: #d95f88;
  --v26-pink-dark: #a43f66;
  --v26-pink-soft: #fff1f6;
  --v26-amber: #bd7a14;
  --v26-amber-soft: #fff8e7;
  --v26-mint: #3c846f;
  --v26-mint-soft: #effaf6;
  --v26-ink: #303443;
  --v26-muted: #737b89;
  --v26-line: rgba(114, 88, 100, .13);
  --v26-shadow: 0 18px 42px rgba(93, 55, 73, .10);
}











.v26-notice-kicker {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 9px;
  padding: 5px 9px;
  border-radius: 999px;
  background: rgba(255,255,255,.72);
  color: #9a6816;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .04em;
}


.v26-notification-on .v26-notice-kicker { color: #39755f; }







.v26-feature-row {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 13px;
}

.v26-feature-chip {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 5px 9px;
  border: 1px solid rgba(140, 111, 65, .11);
  border-radius: 999px;
  background: rgba(255,255,255,.68);
  color: #6c6250;
  font-size: 11px;
  font-weight: 750;
}



.v26-cta-row {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 16px;
}

.v26-primary-action,
.v26-secondary-action {
  min-height: 42px;
  border-radius: 13px;
  padding: 10px 15px;
  font: inherit;
  font-size: 12px;
  font-weight: 850;
}

.v26-primary-action {
  border: 0;
  background: linear-gradient(135deg, #d89422, #bd7411);
  color: #fff;
  box-shadow: 0 9px 20px rgba(181, 119, 23, .22);
}



.v26-primary-action:hover { transform: translateY(-1px); }
.v26-primary-action:focus-visible,
.v26-secondary-action:focus-visible,
.v26-menu-toggle:focus-visible,
.v26-backtop:focus-visible,
.v26-mobile-menu a:focus-visible,
.v26-mobile-menu button:focus-visible {
  outline: 3px solid rgba(217, 95, 136, .24);
  outline-offset: 2px;
}

.v26-secondary-action {
  border: 0;
  background: transparent;
  color: #817663;
  padding-left: 5px;
  padding-right: 5px;
}



.v26-inline-status {
  margin-top: 10px;
  color: #8b6d3a;
  font-size: 11px;
  font-weight: 650;
}



/* Mobile PWA shortcut prompt */
.v26-install-card {
  display: none;
  position: relative;
  overflow: hidden;
  margin: 0 0 18px;
  border: 1px solid #cfe6dd;
  border-radius: 22px;
  padding: 18px;
  background:
    radial-gradient(circle at 92% 12%, rgba(105, 190, 161, .19), transparent 32%),
    linear-gradient(145deg, #fbfffd, var(--v26-mint-soft));
  box-shadow: var(--v26-shadow);
}

.v26-install-card.v26-pulse {
  animation: v26-install-pulse .85s ease 2;
}

@keyframes v26-install-pulse {
  50% { transform: scale(1.012); box-shadow: 0 22px 48px rgba(58, 134, 109, .18); }
}

.v26-install-close {
  position: absolute;
  right: 12px;
  top: 10px;
  width: 30px;
  height: 30px;
  border: 0;
  border-radius: 50%;
  background: rgba(255,255,255,.72);
  color: #7c9189;
  font-size: 19px;
  line-height: 1;
}

.v26-install-layout {
  display: grid;
  grid-template-columns: 78px minmax(0,1fr);
  gap: 15px;
  align-items: center;
}

.v26-app-icon {
  position: relative;
  width: 76px;
  height: 76px;
  padding: 7px;
  border-radius: 23px;
  background: linear-gradient(145deg, #fff8fb 0%, #f4bfd0 48%, #d988a8 100%);
  box-shadow:
    0 16px 24px rgba(159, 68, 105, .23),
    inset 0 2px 1px rgba(255,255,255,.95),
    inset 0 -5px 10px rgba(151, 65, 99, .13);
  transform: perspective(190px) rotateX(4deg) rotateY(-4deg);
}

.v26-app-icon::before {
  content: "";
  position: absolute;
  inset: 4px 7px auto 7px;
  height: 31%;
  z-index: 2;
  border-radius: 18px 18px 50% 50%;
  background: linear-gradient(180deg, rgba(255,255,255,.64), rgba(255,255,255,0));
  pointer-events: none;
}

.v26-app-icon::after {
  content: "";
  position: absolute;
  left: 14%;
  right: 14%;
  bottom: -9px;
  height: 12px;
  border-radius: 50%;
  background: rgba(111, 51, 76, .19);
  filter: blur(7px);
  z-index: -1;
}

.v26-app-icon img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.76);
  box-shadow:
    0 5px 12px rgba(99, 51, 72, .16),
    inset 0 1px 0 rgba(255,255,255,.8);
}

.v26-install-copy { min-width: 0; padding-right: 22px; }
.v26-install-badge {
  display: inline-flex;
  margin-bottom: 5px;
  padding: 3px 7px;
  border-radius: 999px;
  background: #daf3e9;
  color: #397a65;
  font-size: 10px;
  font-weight: 900;
}
.v26-install-copy h3 { margin: 0; color: #315c50; font-size: 17px; line-height: 1.25; }
.v26-install-copy p { margin: 6px 0 0; color: #6c817a; font-size: 12px; line-height: 1.55; }
.v26-install-steps {
  grid-column: 1 / -1;
  display: grid;
  gap: 7px;
  margin-top: 4px;
  padding: 11px 12px;
  border-radius: 14px;
  background: rgba(255,255,255,.68);
  color: #657972;
  font-size: 11px;
  line-height: 1.5;
}
.v26-install-steps b { color: #3e7564; }
.v26-install-actions { grid-column: 1 / -1; display:flex; flex-wrap:wrap; gap:9px; margin-top: 1px; }
.v26-install-actions .v26-primary-action {
  background: linear-gradient(135deg, #58a88e, #3f846d);
  box-shadow: 0 9px 20px rgba(51, 128, 102, .19);
}

/* Desktop nav is updated in-place. */
.topnav.v26-topnav { gap: clamp(17px, 2.2vw, 34px); }
.topnav.v26-topnav a { white-space: nowrap; font-size: 14px; }
.topnav.v26-topnav a[data-v26-action="feedback"] { color: #a64d6e; }

.v26-menu-toggle {
  display: none;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border: 1px solid #ecdde3;
  border-radius: 13px;
  background: #fff7fa;
  color: #77495a;
  font-size: 22px;
  line-height: 1;
}

.v26-mobile-menu-backdrop {
  position: fixed;
  inset: 0;
  z-index: 140;
  background: rgba(42, 35, 42, .28);
  backdrop-filter: blur(4px);
  opacity: 0;
  pointer-events: none;
  transition: opacity .2s ease;
}

.v26-mobile-menu-backdrop.open { opacity: 1; pointer-events: auto; }
.v26-mobile-menu {
  position: absolute;
  right: 0;
  top: 0;
  width: min(86vw, 350px);
  height: 100%;
  padding: 18px;
  background: linear-gradient(180deg, #fff 0%, #fff8fb 100%);
  box-shadow: -20px 0 60px rgba(64, 44, 54, .18);
  transform: translateX(102%);
  transition: transform .22s ease;
  overflow-y: auto;
}
.v26-mobile-menu-backdrop.open .v26-mobile-menu { transform: translateX(0); }
.v26-mobile-menu-head { display:flex; align-items:center; gap:12px; padding-bottom:14px; border-bottom:1px solid #f0e4e9; }
.v26-mobile-menu-head .v26-app-icon { width:52px; height:52px; border-radius:16px; padding:5px; }
.v26-mobile-menu-head .v26-app-icon img { border-radius:12px; }
.v26-mobile-menu-head strong { color:#57404a; font-size:15px; }
.v26-mobile-menu-head small { display:block; margin-top:2px; color:#9b8790; font-size:10px; }
.v26-mobile-menu-close { margin-left:auto; width:34px; height:34px; border:0; border-radius:50%; background:#f8edf1; color:#80606d; font-size:20px; }
.v26-mobile-links { display:grid; gap:7px; margin-top:15px; }
.v26-mobile-links a,
.v26-mobile-links button {
  width:100%;
  min-height:46px;
  display:flex;
  align-items:center;
  gap:10px;
  border:0;
  border-radius:13px;
  padding:10px 13px;
  text-decoration:none;
  text-align:left;
  background:transparent;
  color:#5e5f69;
  font-size:14px;
  font-weight:750;
}
.v26-mobile-links a:hover,
.v26-mobile-links button:hover,
.v26-mobile-links .active { background:#fff0f5; color:#934c67; }
.v26-mobile-tools { margin-top:18px; padding-top:15px; border-top:1px solid #f0e4e9; }
.v26-mobile-tools label { display:grid; gap:6px; color:#8c7b82; font-size:10px; }
.v26-mobile-tools select { width:100%; min-height:42px; border:1px solid #eadde2; border-radius:11px; padding:8px 10px; background:#fff; color:#575b65; }
.v26-mobile-powered { margin:17px 0 2px; color:#a38f97; font-size:10px; text-align:center; }
body.v26-menu-open { overflow: hidden !important; }

.v26-powered {
  display: inline-flex;
  align-items: center;
  color: #9a8d93;
  font-size: 11px;
  white-space: nowrap;
}

/* Back to top */
.v26-backtop {
  position: fixed;
  right: 22px;
  bottom: 86px;
  z-index: 70;
  min-width: 46px;
  height: 46px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  border: 1px solid rgba(217, 95, 136, .22);
  border-radius: 999px;
  padding: 0 14px;
  background: linear-gradient(145deg, #fff5f9, #f1bfd0);
  color: #884b62;
  box-shadow: 0 12px 28px rgba(133, 70, 95, .18);
  font-size: 11px;
  font-weight: 850;
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: opacity .18s ease, transform .18s ease, visibility .18s;
}
.v26-backtop.visible { opacity: 1; visibility: visible; transform: translateY(0); }
.v26-backtop .v26-up-arrow { font-size: 16px; line-height: 1; }

@media (max-width: 1180px) {
  .topbar-inner { gap: 12px; }
  .topnav.v26-topnav { gap: 16px; }
  .topnav.v26-topnav a { font-size: 12px; }
}

@media (max-width: 920px) {
  .topbar-inner {
    grid-template-columns: minmax(0, 1fr) auto auto !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
  }
  .topnav.v26-topnav { display: none !important; }
  .v26-menu-toggle { display: inline-flex; }
  .public-actions { justify-self: end; }
  .public-actions .profile-chip { display: none; }
  .public-actions .language-control { display: none; }
  .brand span { display:none; }
  .brand img { max-width:118px; }
  
}

@media (max-width: 760px) {
  .v26-install-card { display: block; }
  
  
  
  
  .v26-feature-row { margin-top: 10px; }
  .v26-cta-row { margin-top: 13px; }
  .v26-primary-action { width:100%; font-size:13px; min-height:46px; }
  .v26-secondary-action { width:100%; min-height:34px; padding:5px; }
  .v26-install-card { padding: 16px; border-radius: 18px; }
  .v26-install-layout { grid-template-columns: 67px minmax(0,1fr); gap:12px; }
  .v26-app-icon { width:65px; height:65px; border-radius:20px; padding:6px; }
  .v26-app-icon img { border-radius:15px; }
  .v26-backtop { right:14px; bottom:82px; width:46px; min-width:46px; padding:0; }
  .v26-backtop .v26-backtop-label { display:none; }
}

@media (prefers-reduced-motion: reduce) {
  .v26-primary-action:hover { transform:none; }
  .v26-install-card.v26-pulse { animation:none; }
  .v26-mobile-menu,
  .v26-mobile-menu-backdrop,
  .v26-backtop { transition:none; }
}

.v26-anchor-marker {
  display: block;
  position: relative;
  width: 0;
  height: 0;
  scroll-margin-top: 92px;
}














/* Footer order: copyright/provider first, ICP filing second. */
.site-footer .footer-inner { justify-content:center; }
.footer-primary-row {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:0;
  min-width:0;
  text-align:center;
}
.footer-primary-row .powered-row {
  display:inline-flex;
  font-size:inherit;
  margin:0;
  color:inherit;
}
.footer-primary-row .powered-row strong { font-weight:900; color:#4f5865; }
.footer-separator { white-space:pre; }
.site-footer .icp-row { order:2; }

/* A calm, low-frequency pulse for the post-message email CTA. */
.chat-contact-expand:not([hidden]) { animation-duration:7.2s !important; }

/* Recovery/search flows are allowed to take real layout space. This prevents
   message bubbles from painting over the email input or verification buttons. */
.chat-panel.chat-recovery-open .chat-utility-scroll,
.chat-panel.chat-search-open .chat-utility-scroll {
  max-height:min(48dvh,390px) !important;
  overflow:auto !important;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
  position:relative;
  z-index:5;
  padding-bottom:8px;
  background:rgba(255,255,255,.99);
}
.chat-panel.chat-recovery-open .chat-messages,
.chat-panel.chat-search-open .chat-messages { position:relative; z-index:1; min-height:78px; overflow:auto; }
.chat-recovery-flow,
.chat-history-search-flow { position:relative; z-index:6; background:#fff; border-radius:11px; }
.chat-recovery-row { position:relative; z-index:7; }
.chat-recovery-row input,
.chat-recovery-row button { position:relative; z-index:8; pointer-events:auto !important; touch-action:manipulation; }
.chat-recovery-message { position:static !important; z-index:auto !important; }

/* First-message notification explanation inside the chat panel. */
.v27-chat-notification-prompt {
  margin:8px 12px 0;
  padding:11px;
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  gap:9px;
  border:1px solid #ecd5dd;
  border-radius:15px;
  background:linear-gradient(145deg,#fff7fa,#fff);
  box-shadow:0 8px 22px rgba(111,67,83,.07);
  position:relative;
  z-index:8;
}
.v27-chat-notification-prompt[hidden] { display:none !important; }
.v27-chat-notify-icon {
  width:34px; height:34px; display:grid; place-items:center;
  border-radius:11px; background:#fff0f5; font-size:16px;
}
.v27-chat-notify-copy { min-width:0; }
.v27-chat-notify-copy strong { display:block; color:#60404d; font-size:11.5px; line-height:1.4; }
.v27-chat-notify-copy p { margin:3px 0 0; color:#8a737c; font-size:9.7px; line-height:1.55; }
.v27-chat-notify-actions { display:flex; flex-wrap:wrap; gap:6px; margin-top:8px; }
.v27-chat-notify-actions button {
  min-height:31px; border-radius:10px; padding:6px 10px; cursor:pointer;
  font:inherit; font-size:9.5px; font-weight:850;
}
.v27-chat-notify-enable { border:0; background:linear-gradient(135deg,#d97090,#bd5375); color:#fff; box-shadow:0 6px 15px rgba(189,83,117,.18); }
.v27-chat-notify-later { border:1px solid #eadde2; background:#fff; color:#8e717c; }

/* Floating notification bell. Its visibility is controlled by v27 JS and it
   disappears once both browser permission and a Push subscription are ready. */
.v27-notification-bell {
  position:fixed;
  right:22px;
  bottom:158px;
  z-index:69;
  min-width:46px;
  height:46px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  border:1px solid rgba(207,130,157,.24);
  border-radius:999px;
  padding:0 14px;
  background:linear-gradient(145deg,#fff,#fff0f5);
  color:#8e4961;
  box-shadow:0 12px 30px rgba(115,68,86,.16);
  backdrop-filter:blur(14px);
  font-size:11px;
  font-weight:850;
  cursor:pointer;
}
.v27-notification-bell[hidden] { display:none !important; }
.v27-notification-bell:hover,
.v27-notification-bell:focus-visible { transform:translateY(-2px); box-shadow:0 16px 34px rgba(115,68,86,.20); outline:3px solid rgba(217,95,136,.16); outline-offset:2px; }

/* Desktop floating controls form one predictable vertical rail. */
.feedback-fab { right:22px !important; bottom:22px !important; }
.chat-fab { right:22px !important; bottom:88px !important; }
.v26-backtop { right:22px !important; bottom:224px !important; }

.v26-app-icon img { width:100%; height:100%; object-fit:cover; }

@media (max-width:860px) {
  
  
  
}

@media (max-width:760px) {
  /* Compact 2x2 control cluster: no collisions on narrow phones. */
  .feedback-fab,
  .chat-fab,
  .v27-notification-bell,
  .v26-backtop {
    width:48px !important;
    min-width:48px !important;
    height:48px !important;
    padding:0 !important;
    border-radius:16px !important;
    display:grid;
    place-items:center;
  }
  .feedback-fab { right:12px !important; bottom:12px !important; }
  .chat-fab { right:12px !important; bottom:68px !important; }
  .v27-notification-bell { right:68px !important; bottom:68px !important; }
  .v26-backtop { right:68px !important; bottom:12px !important; }
  .feedback-fab > span:last-child,
  .chat-fab-copy,
  .v27-bell-label,
  .v26-backtop-label { display:none !important; }
  .feedback-fab-icon,
  .chat-fab-icon { width:34px !important; height:34px !important; margin:0 !important; }
  .chat-fab-badge { right:-4px; top:-5px; }

  .v27-chat-notification-prompt { margin:6px 8px 0; padding:9px; }
  .v27-chat-notify-copy strong { font-size:11px; }
  .v27-chat-notify-copy p { font-size:9.3px; }
  .v27-chat-notify-actions button { flex:1 1 auto; }

  .chat-panel.chat-recovery-open .chat-utility-scroll,
  .chat-panel.chat-search-open .chat-utility-scroll {
    max-height:min(52dvh,430px) !important;
    padding-bottom:7px;
  }
  .footer-primary-row { line-height:1.65; }
}

@media (max-width:430px) {
  .chat-recovery-row { grid-template-columns:1fr !important; }
  .chat-recovery-row button { min-height:39px; width:100%; padding:8px 10px; }
  
}

@media (prefers-reduced-motion:reduce) {
  .v27-notification-bell { transition:none; }
  .chat-contact-expand:not([hidden]) { animation:none !important; }
}



/* v29: cross-device recovery, explicit attention pulses, foreground alerts */
.chat-wait-card.is-away {
  background:linear-gradient(135deg,#fff8d8 0%,#fffdf2 100%) !important;
  border-color:#efd489 !important;
  box-shadow:0 10px 28px rgba(157,121,37,.10) !important;
}
.chat-wait-card.is-away strong { color:#745614 !important; }
.chat-wait-card.is-away p { color:#8a7136 !important; }
.chat-wait-card.is-away .chat-wait-dot {
  background:#e5ad2d !important;
  box-shadow:0 0 0 0 rgba(229,173,45,.35);
  animation:v28WaitDotBlink 1.7s ease-in-out infinite !important;
}
@keyframes v28WaitDotBlink {
  0%,100% { opacity:.55; transform:scale(.88); box-shadow:0 0 0 0 rgba(229,173,45,.32); }
  50% { opacity:1; transform:scale(1.08); box-shadow:0 0 0 6px rgba(229,173,45,0); }
}
.chat-roaming-actions-two { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
.chat-panel { z-index:260 !important; isolation:isolate; }
.chat-utility-scroll { position:relative; z-index:4; overflow-x:hidden; }
.chat-roaming-card { position:relative; z-index:12; isolation:isolate; }
.chat-roaming-actions,
.chat-recovery-flow,
.chat-history-search-flow { position:relative; z-index:14; }
.chat-roaming-actions button,
.chat-recovery-row input,
.chat-recovery-row button,
.chat-history-search-form input,
.chat-history-search-form select,
.chat-history-search-form button { position:relative; z-index:16; pointer-events:auto !important; }
body.chat-panel-open .chat-fab,
body.chat-panel-open .feedback-fab,
body.chat-panel-open .v27-notification-bell,
body.chat-panel-open .v26-backtop {
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  transform:translateY(10px) !important;
}
@media (max-width:760px) {
  .chat-roaming-actions-two { grid-template-columns:1fr 1fr !important; }
  .chat-panel { z-index:320 !important; }
}


/* v29 compact recovery row: recovery first, history search immediately after it. */
.chat-roaming-head { display:grid !important; grid-template-columns:minmax(0,1fr) auto; align-items:start !important; gap:8px 10px !important; }
.chat-recovery-eligibility {
  align-self:start;
  max-width:220px;
  margin:0;
  padding:5px 8px;
  border:1px solid #efcf8b;
  border-radius:9px;
  background:#fff8d8;
  color:#8b6514;
  font-size:10.5px;
  line-height:1.45;
  font-weight:900;
  text-align:left;
  box-shadow:0 6px 16px rgba(151,112,31,.14),inset 0 0 0 1px rgba(255,255,255,.55);
}
.chat-roaming-actions-two {
  display:flex !important;
  grid-template-columns:none !important;
  gap:6px !important;
  flex-wrap:nowrap !important;
}
.chat-roaming-actions-two > button { flex:1 1 0; min-width:0; white-space:normal; }
#chatRecoveryToggle { order:1; }
#chatHistorySearchToggle { order:2; grid-column:auto !important; }

/* The pink CTA now visibly breathes across the pink surface, not just its shadow. */
.chat-contact-expand:not([hidden]) {
  animation:v29IdentityPinkPulse 5.8s ease-in-out infinite !important;
  transform-origin:center;
  will-change:filter,box-shadow,background-position,transform;
  background-size:190% 190% !important;
}
@keyframes v29IdentityPinkPulse {
  0%,100% {
    background-position:0% 50%;
    filter:brightness(.92) saturate(.98);
    transform:scale(1);
    box-shadow:0 8px 20px rgba(189,84,115,.18),0 0 0 0 rgba(224,104,143,0);
  }
  50% {
    background-position:100% 50%;
    filter:brightness(1.28) saturate(1.30);
    transform:scale(1.012);
    box-shadow:0 15px 34px rgba(189,84,115,.43),0 0 0 8px rgba(224,104,143,.18),0 0 24px rgba(232,112,151,.28);
  }
}

/* The away dot is intentionally obvious: a slow yellow on/off beacon plus halo. */
.chat-wait-card.is-away .chat-wait-dot {
  animation:v29WaitDotBeacon 2.2s ease-in-out infinite !important;
  transform-origin:center;
  will-change:opacity,transform,box-shadow,filter;
}
@keyframes v29WaitDotBeacon {
  0%,100% { opacity:.28; transform:scale(.76); filter:brightness(.82); box-shadow:0 0 0 0 rgba(229,173,45,.10); }
  42% { opacity:1; transform:scale(1.24); filter:brightness(1.18); box-shadow:0 0 0 7px rgba(229,173,45,.22),0 0 18px rgba(229,173,45,.72); }
  58% { opacity:1; transform:scale(1.06); filter:brightness(1.06); box-shadow:0 0 0 3px rgba(229,173,45,.12),0 0 10px rgba(229,173,45,.42); }
}

@media (max-width:760px) {
  .chat-recovery-eligibility { max-width:190px; font-size:10px; padding:5px 7px; }
  .chat-roaming-actions-two > button { font-size:9px !important; padding-left:4px !important; padding-right:4px !important; }
}
@media (max-width:430px) {
  .chat-roaming-head { grid-template-columns:1fr !important; gap:5px !important; }
  .chat-recovery-eligibility { max-width:none; width:100%; }
  .chat-roaming-actions-two { gap:4px !important; }
  .chat-roaming-actions-two > button { font-size:8.3px !important; line-height:1.25 !important; }
}
/* These two pulses were explicitly requested as persistent visual status cues. */
@media (prefers-reduced-motion:reduce) {
  .chat-contact-expand:not([hidden]) { animation:v29IdentityPinkPulse 7.4s ease-in-out infinite !important; }
  .chat-wait-card.is-away .chat-wait-dot { animation:v29WaitDotBeacon 3s ease-in-out infinite !important; }
}

/* === v30: CHAT NOW entry, pin/quote tools, stronger notification layer === */
.chat-now-entry {
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:52px minmax(0,1fr) auto;
  align-items:center;
  gap:14px;
  margin:0 0 14px;
  padding:20px;
  border:1px solid rgba(222,205,211,.86);
  border-radius:22px;
  background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(255,246,250,.92));
  box-shadow:0 14px 38px rgba(73,57,65,.075);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}
.chat-now-entry::after {
  content:""; position:absolute; width:180px; height:180px; border-radius:50%;
  right:-86px; top:-102px; background:radial-gradient(circle,rgba(246,182,204,.22),rgba(246,182,204,0) 72%); pointer-events:none;
}
.chat-now-icon { width:48px; height:48px; border-radius:17px; display:grid; place-items:center; font-size:22px; background:linear-gradient(145deg,#ffe0ea,#fff); box-shadow:inset 0 1px 0 #fff,0 8px 20px rgba(202,112,143,.15); }
.chat-now-copy { min-width:0; position:relative; z-index:1; }
.chat-now-copy h2 { margin:4px 0 5px; font-size:19px; color:#3e3540; line-height:1.3; }
.chat-now-copy p { margin:0; color:#7c6d75; font-size:12px; line-height:1.65; }
.chat-now-button {
  position:relative; z-index:1; min-height:44px; padding:0 18px; border:0; border-radius:15px; cursor:pointer;
  background:linear-gradient(120deg,#c85f81,#e595ac,#c85f81); background-size:190% 190%; color:#fff; font-weight:900; font-size:12px;
  box-shadow:0 9px 23px rgba(189,84,115,.24);
}

/* Keep every deliberately pink chat CTA visibly breathing. */
.v27-chat-notify-enable,
.chat-fab,
.chat-now-button {
  animation:v29IdentityPinkPulse 5.8s ease-in-out infinite !important;
  transform-origin:center;
  will-change:filter,box-shadow,background-position,transform;
  background-size:190% 190% !important;
}
@keyframes v30PinkAttentionPulse {
  0%,100% { background-position:0% 50%; filter:brightness(.94) saturate(.98); transform:scale(1); box-shadow:0 8px 20px rgba(189,84,115,.18),0 0 0 0 rgba(224,104,143,0); }
  50% { background-position:100% 50%; filter:brightness(1.22) saturate(1.24); transform:scale(1.012); box-shadow:0 15px 34px rgba(189,84,115,.36),0 0 0 7px rgba(224,104,143,.15),0 0 23px rgba(232,112,151,.24); }
}
.chat-fab { background:linear-gradient(120deg,rgba(255,255,255,.98),rgba(255,224,235,.98),rgba(255,255,255,.98)) !important; }
.v27-chat-notify-enable { background:linear-gradient(120deg,#b94f72,#e488a5,#b94f72) !important; }

/* Notification explanation must always sit above an open chat panel. */
#notificationModal { z-index:1800 !important; isolation:isolate; pointer-events:auto !important; }
#notificationModal .notification-modal { z-index:2; position:relative; pointer-events:auto; }
body.chat-panel-open #notificationModal:not([hidden]) { display:grid !important; }

/* New chat panel rows: header, utilities, pins, messages, identity, quote preview, files, composer, safety, footer. */
.chat-panel { grid-template-rows:auto auto auto minmax(126px,1fr) auto auto auto auto auto auto !important; }
.chat-pinned-bar {
  margin:7px 10px 0; padding:8px 9px; border:1px solid #ead28e; border-radius:13px;
  background:linear-gradient(135deg,#fff9df,#fffdf4); box-shadow:0 7px 18px rgba(148,113,37,.08);
}
.chat-pinned-head { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:6px; color:#7a5c18; font-size:10px; }
.chat-pinned-head strong { font-size:11px; }
.chat-pinned-items { display:flex; flex-wrap:wrap; gap:5px; }
.chat-pinned-item {
  min-width:0; max-width:100%; display:flex; align-items:center; gap:5px; border:1px solid rgba(217,188,105,.65); border-radius:9px;
  padding:5px 7px; background:rgba(255,255,255,.72); color:#685321; cursor:pointer; font-size:9.5px;
}
.chat-pinned-item strong { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-weight:800; }
.chat-reply-preview {
  margin:7px 10px 0; padding:7px 9px; display:flex; align-items:center; justify-content:space-between; gap:8px;
  border:1px solid #e7d8df; border-left:3px solid #d46f90; border-radius:11px; background:#fff9fb; color:#6f5862;
}
.chat-reply-preview[hidden] { display:none !important; }
.chat-reply-preview>div { min-width:0; display:grid; gap:2px; }
.chat-reply-preview b { font-size:9px; color:#9e4564; }
.chat-reply-preview span { font-size:9.5px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.chat-reply-preview button { flex:0 0 auto; width:25px; height:25px; border:0; border-radius:8px; background:#f5e9ee; color:#8f5d6f; cursor:pointer; }
.chat-quote-block {
  width:100%; max-width:100%; display:grid; gap:2px; margin:0 0 5px; padding:6px 8px; text-align:left; cursor:pointer;
  border:0; border-left:3px solid rgba(174,99,125,.45); border-radius:8px; background:rgba(248,241,244,.88); color:#79636d;
}
.chat-quote-block b { font-size:8.5px; color:#9b4f69; }
.chat-quote-block span { font-size:9.5px; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.chat-message-actions { display:flex; align-items:center; gap:4px; margin-top:4px; opacity:.58; transition:opacity .2s ease; }
.chat-message:hover .chat-message-actions,.chat-message:focus-within .chat-message-actions { opacity:1; }
.chat-mini-action {
  min-width:26px; height:24px; padding:0 6px; display:grid; place-items:center; border:1px solid #eadfe3; border-radius:8px;
  background:rgba(255,255,255,.88); color:#876572; cursor:pointer; font-size:11px; line-height:1;
}
.chat-mini-action:hover,.chat-mini-action:focus-visible { border-color:#dfa9ba; background:#fff5f8; outline:none; }
.chat-mini-action.is-active { border-color:#e0be63; background:#fff6cf; color:#7c5d10; box-shadow:0 0 0 2px rgba(224,190,99,.12); }
.chat-attachment-wrap { position:relative; min-width:0; }
.chat-attachment-wrap>.chat-mini-action { position:absolute; right:6px; top:6px; z-index:2; background:rgba(255,255,255,.94); box-shadow:0 3px 11px rgba(34,24,28,.14); }

@media (max-width:760px) {
  .chat-now-entry { grid-template-columns:44px minmax(0,1fr); padding:16px; gap:11px; }
  .chat-now-icon { width:42px; height:42px; border-radius:14px; }
  .chat-now-copy h2 { font-size:17px; }
  .chat-now-button { grid-column:1/-1; width:100%; }
  .chat-panel { grid-template-rows:auto auto auto minmax(94px,1fr) auto auto auto auto auto auto !important; }
  .chat-pinned-bar { margin-left:8px; margin-right:8px; }
  .chat-message-actions { opacity:.82; }
}
@media (prefers-reduced-motion:reduce) {
  .v27-chat-notify-enable,.chat-fab,.chat-now-button { animation:v29IdentityPinkPulse 7.6s ease-in-out infinite !important; }
}

/* === v31: full-card chat entry, collapsible utility tray, expanded identity overlay === */
.chat-now-entry { cursor:pointer; outline:none; }
.chat-now-entry:hover,.chat-now-entry:focus-visible { border-color:#e3a9bd; box-shadow:0 18px 42px rgba(171,85,116,.14),0 0 0 3px rgba(222,123,157,.08); }
.chat-now-entry:focus-visible { outline:2px solid rgba(197,91,126,.28); outline-offset:3px; }
.chat-now-entry .chat-now-button { pointer-events:none; }

.chat-utility-scroll {
  position:relative;
  max-height:min(42dvh,340px) !important;
  overflow:auto !important;
  scrollbar-width:thin !important;
  border-bottom:1px solid rgba(232,221,226,.75);
}
.chat-utility-toolbar {
  position:sticky; top:0; z-index:18; display:flex; align-items:center; justify-content:space-between; gap:10px;
  min-height:34px; padding:5px 10px 4px; background:rgba(255,255,255,.94); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(235,224,229,.84);
}
.chat-utility-toolbar span { color:#7d6972; font-size:10.5px; font-weight:850; letter-spacing:.02em; }
.chat-utility-toolbar button { min-height:26px; padding:3px 10px; border:1px solid #e7ccd6; border-radius:9px; background:#fff7fa; color:#a34f6d; font-size:10.5px; font-weight:850; cursor:pointer; }
.chat-utility-content { min-width:0; padding-bottom:5px; }
.chat-panel.chat-utility-collapsed .chat-utility-scroll { max-height:36px !important; overflow:hidden !important; }
.chat-panel.chat-utility-collapsed .chat-utility-content { display:none !important; }
.chat-panel.chat-utility-collapsed { grid-template-rows:auto 36px auto minmax(220px,1fr) auto auto auto auto auto auto !important; }

.chat-pinned-head strong small { font-size:9px; font-weight:700; color:#987a32; }
.chat-auto-greeting { align-self:flex-start; max-width:92%; }
.chat-message.system.chat-auto-greeting .chat-bubble { background:linear-gradient(145deg,#f7f4f6,#fff); color:#685963; border:1px dashed #dfcfd6; box-shadow:none; }
.chat-auto-label { display:block; margin:3px 0 0 8px; color:#a29299; font-size:9px; line-height:1.2; }

/* Identity is intentionally an expanded task sheet, using the chat body instead of a tiny foldout. */
.chat-panel { position:fixed; }
.chat-identity-card:not([hidden]) {
  position:absolute; z-index:46; top:66px; right:10px; bottom:78px; left:10px; margin:0 !important;
  max-height:none !important; overflow:auto !important; border-radius:18px; box-shadow:0 26px 70px rgba(70,42,54,.24),0 0 0 9999px rgba(54,38,45,.08);
}
.chat-identity-card:not([hidden]) .chat-identity-form { min-height:100%; align-content:start; padding:16px; gap:12px; }
.chat-identity-card:not([hidden]) .chat-identity-details { display:grid !important; gap:10px; }
.chat-identity-card:not([hidden]) .chat-contact-expand { display:none !important; }

@media (max-width:760px) {
  .chat-utility-scroll { max-height:min(39dvh,300px) !important; }
  .chat-panel.chat-utility-collapsed { grid-template-rows:auto 36px auto minmax(190px,1fr) auto auto auto auto auto auto !important; }
  .chat-identity-card:not([hidden]) { top:61px; right:7px; left:7px; bottom:68px; }
  .chat-pinned-head { align-items:flex-start; }
  .chat-pinned-head strong small { display:block; margin-top:2px; }
}

/* === v32: spacing, roaming CTA and explicit force-skip confirmation === */
.chat-now-entry{margin-top:18px!important;margin-bottom:14px!important}
.chat-roaming-enable{display:block;width:100%;min-height:38px;margin:0;padding:8px 12px;border:1px solid #d9e4df;border-radius:11px;background:linear-gradient(145deg,#f8fbf9,#fff);color:#42675b;font-size:10.8px;font-weight:900;cursor:pointer;box-shadow:0 5px 14px rgba(64,93,82,.07);animation:none!important}.chat-roaming-enable[hidden]{display:none!important}.chat-roaming-enable:hover,.chat-roaming-enable:focus-visible{border-color:#d98eaa;outline:none;box-shadow:0 10px 25px rgba(192,85,117,.20)}
.chat-identity-card.force .chat-skip-primary{display:block!important}.chat-identity-skip-confirm{display:grid;gap:8px;padding:11px;border:1px solid #efb35c;border-radius:12px;background:linear-gradient(145deg,#fff6d8,#fffaf0);box-shadow:0 9px 24px rgba(166,113,24,.15);color:#724e0c}.chat-identity-skip-confirm[hidden]{display:none!important}.chat-identity-skip-confirm strong{font-size:11.5px;color:#a15c00}.chat-identity-skip-confirm p{margin:0;font-size:10.5px;line-height:1.65;color:#76581b}.chat-identity-skip-confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.chat-identity-skip-confirm-actions button{min-height:36px;border-radius:10px;padding:7px 9px;font-size:10px;font-weight:850;cursor:pointer}.chat-identity-skip-confirm-actions button:first-child{border:1px solid #dfa85b;background:#fff;color:#9a5b08}.chat-identity-skip-confirm-actions button:last-child{border:0;background:#c75879;color:#fff}.chat-email-delivery-hint{display:block;grid-column:1/-1;padding:6px 8px;border-radius:9px;background:#fff8df;color:#8a651d;font-size:9.5px;line-height:1.5}.prefs-spam-hint{margin:10px 0 0;padding:9px 10px;border-radius:10px;background:#fff8df;color:#7f611f;font-size:11px;line-height:1.55}@media(max-width:520px){.chat-now-entry{margin-top:16px!important}.chat-identity-skip-confirm-actions{grid-template-columns:1fr}.chat-roaming-enable{font-size:10.3px}}


/* === v33: mobile notices, PWA recovery/access and app recommendation === */
@media(max-width:1180px){
  .hero-notices{display:block!important;width:100%;min-width:0;margin:0;padding:14px 16px 12px;border-radius:16px;background:rgba(255,255,255,.86);box-sizing:border-box}
  .hero-notices h3{font-size:13px;margin-bottom:7px}
  .hero-notices .notice-line{padding:7px 0}
  .hero-notices .notice-line strong{font-size:12px;line-height:1.4}
  .hero-notices .notice-line p{font-size:10.5px;line-height:1.55;-webkit-line-clamp:2}
}
@media(max-width:760px){
  .hero-inner{gap:12px!important;padding-bottom:52px!important}
  .hero-notices{padding:11px 12px 9px;border-radius:14px;box-shadow:0 9px 22px rgba(31,44,63,.09)}
  .hero-notices h3{font-size:12px}
  .hero-notices .notice-line strong{font-size:11px}
  .hero-notices .notice-line p{font-size:9.5px}
}
.app-download-card{margin-top:18px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;padding:17px 18px;border:1px solid #eadde2;border-radius:18px;background:linear-gradient(145deg,#fffdfd,#fff6f9 62%,#f8fbf9);box-shadow:0 10px 28px rgba(84,59,69,.06);transition:box-shadow .25s ease,transform .25s ease,border-color .25s ease}
.app-download-card[hidden]{display:none!important}.app-download-card.app-download-focus{border-color:#d995ad;box-shadow:0 0 0 5px rgba(220,143,169,.12),0 14px 34px rgba(126,66,88,.12);transform:translateY(-1px)}
.app-download-icon{width:54px;height:54px;border-radius:16px;overflow:hidden;box-shadow:0 7px 18px rgba(83,68,74,.12);background:#fff}.app-download-icon img{width:100%;height:100%;object-fit:cover;display:block}
.app-download-copy{min-width:0}.app-download-copy h3{margin:3px 0 4px;color:#3f4651;font-size:15px}.app-download-copy p{margin:0;color:#7c7378;font-size:11px;line-height:1.55}.app-download-steps{display:flex;flex-wrap:wrap;gap:5px 9px;margin-top:8px}.app-download-steps span{display:inline-flex;gap:5px;align-items:flex-start;color:#786e73;font-size:9.5px;line-height:1.45}.app-download-steps b{display:inline-grid;place-items:center;flex:0 0 17px;height:17px;border-radius:50%;background:#f7e9ef;color:#a24f6d;font-size:8px}
.app-download-action{min-height:40px;padding:8px 13px;border:1px solid #deb0c0;border-radius:12px;background:linear-gradient(145deg,#fff8fa,#ffeef4);color:#a34867;font-weight:900;font-size:10.5px;cursor:pointer;box-shadow:0 7px 17px rgba(182,77,113,.09)}
.app-download-action:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(182,77,113,.14)}
@media(max-width:700px){.app-download-card{grid-template-columns:46px minmax(0,1fr);padding:14px;gap:10px}.app-download-icon{width:46px;height:46px;border-radius:13px}.app-download-action{grid-column:1/-1;width:100%}.app-download-copy h3{font-size:13px}.app-download-copy p{font-size:10px}.app-download-steps{grid-column:1/-1}.app-download-steps span{font-size:9px}}
.chat-roaming-card>.chat-roaming-enable{order:2}.chat-roaming-card>.chat-roaming-actions{order:3}.chat-roaming-card>.chat-recovery-flow,.chat-roaming-card>.chat-history-search-flow{order:4}
.chat-roaming-enable:hover,.chat-roaming-enable:focus-visible{border-color:#b9d3c8;background:#f5fbf8;color:#315d4e;outline:none;box-shadow:0 7px 18px rgba(64,93,82,.11)}

/* === v34: inline chat media viewer + recovery-code cooldown === */
.chat-attachment-inline{display:block;position:relative;overflow:hidden}.chat-attachment-inline img{cursor:zoom-in}.chat-attachment-inline video{position:relative;z-index:1;touch-action:manipulation}.chat-attachment-footer{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;background:#fff}.chat-attachment-footer .chat-attachment-label{min-width:0}.chat-attachment-open{display:grid;place-items:center;min-width:36px;min-height:32px;text-decoration:none;color:#9d536b;font-size:15px;font-weight:900;border-left:1px solid #f0e5e9}.chat-media-viewer{position:fixed;inset:0;z-index:2147483000;display:grid;place-items:center;padding:48px 18px 22px;background:rgba(20,17,19,.86);backdrop-filter:blur(8px)}.chat-media-viewer[hidden]{display:none!important}.chat-media-viewer-stage{max-width:min(94vw,1100px);max-height:84vh;display:grid;place-items:center}.chat-media-viewer-stage img,.chat-media-viewer-stage video{display:block;max-width:94vw;max-height:84vh;object-fit:contain;border-radius:12px;background:#111;box-shadow:0 18px 60px rgba(0,0,0,.35)}.chat-media-viewer-close,.chat-media-viewer-open{position:fixed;top:14px;width:42px;height:42px;border:1px solid rgba(255,255,255,.28);border-radius:50%;background:rgba(255,255,255,.14);color:#fff;display:grid;place-items:center;font-size:24px;text-decoration:none;cursor:pointer;backdrop-filter:blur(10px)}.chat-media-viewer-close{right:66px}.chat-media-viewer-open{right:14px;font-size:20px}.chat-recovery-row #chatRecoverySendCode:disabled{opacity:.72;cursor:not-allowed;background:#59635e;color:#fff;min-width:126px;font-variant-numeric:tabular-nums}
@media(max-width:560px){.chat-media-viewer{padding:58px 8px 14px}.chat-media-viewer-stage img,.chat-media-viewer-stage video{max-width:98vw;max-height:80vh}.chat-media-viewer-close{right:62px}.chat-media-viewer-open{right:10px}.chat-recovery-row #chatRecoverySendCode:disabled{min-width:0;width:100%}}

/* === v35: mobile hero framing + mail-delivery emphasis === */
.chat-email-delivery-hint strong,
.prefs-spam-hint strong,
.subscription-message.success strong,
.chat-recovery-message strong,
.feedback-success strong {
  font-weight: 900;
  color: inherit;
}
@media (max-width: 760px) {
  .hero,
  .hero::before {
    background-position: 72% center !important;
  }
}
@media (max-width: 480px) {
  .hero,
  .hero::before {
    background-position: 76% center !important;
  }
}


/* === v36: first-visit locale consistency + stronger mail-delivery warning === */
.chat-email-delivery-hint strong,
.prefs-spam-hint strong,
.subscription-message.success strong,
.chat-recovery-message strong,
.feedback-success strong {
  color:#c62828 !important;
  font-weight:900 !important;
}

.spam-warning-emphasis{color:#c62828!important;font-weight:900!important;}


/* === v37: tablet subscription containment and resilient responsive forms === */
.subscription-zone,
.subscription-main-card,
.subscription-copy,
.subscription-form,
.subscription-form label,
.notification-card { min-width:0; max-width:100%; box-sizing:border-box; }
.subscription-form { grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr) auto; width:100%; }
.subscription-form label { min-width:0; }
.subscription-form input { width:100%; min-width:0; max-width:100%; box-sizing:border-box; }
@media (max-width:860px) {
  .subscription-zone { grid-template-columns:minmax(0,1fr) !important; }
  .subscription-form { grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important; }
  .subscription-form button { grid-column:1/-1; width:100%; min-width:0; }
}
@media (max-width:760px) {
  .subscription-main-card { grid-template-columns:1fr !important; }
  .subscription-form { grid-template-columns:minmax(0,1fr) !important; }
  .subscription-form button { grid-column:auto; }
}

/* === v38: identity reminders, announcement controls, theme, profile menu and About Xiaomeng === */
.notice-line-button{width:100%;border:0;background:transparent;text-align:left;color:inherit;font:inherit;cursor:pointer;padding:10px 12px;border-radius:14px;display:block}
.notice-line-button:hover,.notice-line-button:focus-visible{background:rgba(255,255,255,.52);outline:2px solid rgba(173,92,122,.16);outline-offset:1px}
.notice-effective-tag{display:inline-flex;margin-top:7px;padding:4px 8px;border-radius:999px;background:rgba(255,255,255,.68);border:1px solid rgba(125,113,120,.15);font-size:10px;font-weight:800;color:#786a70}
.top-announcement-banner{position:relative;z-index:160;min-height:48px;display:flex;align-items:center;justify-content:center;padding:8px 54px 8px 18px;box-shadow:0 1px 0 rgba(0,0,0,.08)}
.top-announcement-content{border:0;background:transparent;color:inherit;display:flex;align-items:center;gap:12px;max-width:1160px;width:100%;cursor:pointer;text-align:left;font:inherit}
.top-announcement-icon{font-size:18px;flex:0 0 auto}.top-announcement-text{min-width:0;display:flex;align-items:baseline;gap:10px}.top-announcement-text strong{font-weight:900}.top-announcement-text>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.top-announcement-close{position:absolute;right:18px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:inherit;font-size:22px;cursor:pointer;width:34px;height:34px;border-radius:50%}
.top-announcement-close:hover{background:rgba(255,255,255,.26)}
.top-banner-red{background:#f6a9b4;color:#511722}.top-banner-yellow{background:#f3d86c;color:#463600}.top-banner-blue{background:#9bc4fa;color:#143a63}.top-banner-green{background:#99d6b5;color:#153f2e}
.notice-detail-modal{max-width:min(680px,calc(100vw - 28px));max-height:min(78vh,760px);overflow:auto}.notice-detail-time{display:inline-flex;margin:0 0 16px;padding:6px 10px;border-radius:999px;background:#fff1f5;color:#95506a;font-size:11px;font-weight:900}.notice-detail-body{white-space:pre-wrap;line-height:1.85}
.chat-support-guide .chat-bubble{background:#fff8dc!important;border:1px solid #ecd88a!important;color:#655319!important}.chat-support-guide-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:7px}.chat-support-guide-actions button{border:1px solid #e2c965;border-radius:999px;background:#fffdf1;color:#755e13;padding:6px 10px;font-size:10px;font-weight:900;cursor:pointer}.chat-support-guide-actions button:hover{background:#fff1ad}
.chat-safety-note{display:flex!important;align-items:center;gap:8px;flex-wrap:wrap}.chat-safety-note #chatSafetyText{flex:1;min-width:180px}.chat-identity-logout{border:1px solid #dfb4c2;border-radius:999px;background:#fff;color:#a44f6a;padding:5px 9px;font-size:9px;font-weight:900;cursor:pointer}.chat-identity-logout:hover{background:#fff0f5}
.theme-fab{position:fixed;right:22px;bottom:22px;z-index:47;min-height:46px;border:1px solid rgba(137,112,124,.24);border-radius:18px;padding:8px 12px;display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.96);color:#684c58;box-shadow:0 14px 34px rgba(69,52,61,.16);backdrop-filter:blur(14px);font-weight:900;cursor:pointer}.theme-fab>span:first-child{font-size:18px}.theme-fab>span:last-child{font-size:10px}
.feedback-fab{bottom:82px!important}.chat-fab{bottom:142px!important}.v27-notification-bell{bottom:202px!important}.v26-backtop{bottom:262px!important}
body.chat-panel-open .theme-fab{display:none!important}
.profile-chip{position:relative;cursor:pointer}.v38-profile-menu{position:absolute;top:calc(100% + 10px);right:0;z-index:180;width:210px;padding:8px;background:rgba(255,255,255,.98);border:1px solid #eadde3;border-radius:16px;box-shadow:0 18px 44px rgba(75,54,64,.18);display:grid;gap:5px}.v38-profile-menu[hidden]{display:none!important}.v38-profile-menu button{border:0;border-radius:11px;background:transparent;text-align:left;padding:9px 11px;color:#5f4d55;font-weight:800;cursor:pointer}.v38-profile-menu button:hover,.v38-profile-menu button:focus-visible{background:#fff0f5;color:#994a68;outline:0}
@keyframes v38PlatformFlash{0%,100%{box-shadow:var(--shadow,0 10px 30px rgba(55,62,79,.08))}45%{box-shadow:0 0 0 5px rgba(255,91,155,.26),0 18px 42px rgba(218,84,135,.22);transform:translateY(-2px)}}
@keyframes v38QrFlash{0%,100%{filter:none;transform:none}50%{filter:brightness(1.12) saturate(1.25);transform:scale(1.025);box-shadow:0 0 0 4px rgba(255,94,155,.22)}}
.v38-platform-flash{animation:v38PlatformFlash .8s ease-in-out var(--v38-flash-count,3)!important}.v38-qr-flash{animation:v38QrFlash .8s ease-in-out var(--v38-flash-count,5)!important}
.v38-about-backdrop{z-index:190!important}.v38-about-modal{position:relative;width:min(860px,calc(100vw - 28px));max-height:min(86vh,900px);overflow:auto;border-radius:26px;padding:30px;background:#fff;box-shadow:0 30px 80px rgba(55,40,48,.25)}.v38-about-title{margin:4px 0 22px;font-size:30px;color:#3f3440}.v38-about-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:20px}.v38-about-grid section{border:1px solid #eee2e7;border-radius:20px;padding:18px;background:#fffafb}.v38-about-grid h3{margin:0 0 12px;color:#9c4d6b}.v38-about-grid p{margin:0 0 14px;line-height:1.8;color:#61545a}.v38-about-grid a{color:#b44770;font-weight:800}.v38-about-grid strong{color:#513641}
html[data-theme="dark"]{color-scheme:dark}html[data-theme="dark"] body{background:#10151b;color:#e7e9ee}html[data-theme="dark"] .topbar,html[data-theme="dark"] .overview-time-card,html[data-theme="dark"] .dashboard-shell,html[data-theme="dark"] .subscription-main-card,html[data-theme="dark"] .notification-card,html[data-theme="dark"] .legend-card,html[data-theme="dark"] .app-download-card,html[data-theme="dark"] .platform-card,html[data-theme="dark"] .chat-now-entry{background:#171d24!important;border-color:#2b333d!important;color:#e7e9ee!important;box-shadow:0 12px 32px rgba(0,0,0,.22)!important}html[data-theme="dark"] h1,html[data-theme="dark"] h2,html[data-theme="dark"] h3,html[data-theme="dark"] strong{color:#f3f5f8}html[data-theme="dark"] p,html[data-theme="dark"] small,html[data-theme="dark"] .muted{color:#b8bec8}html[data-theme="dark"] input,html[data-theme="dark"] textarea,html[data-theme="dark"] select{background:#11171d!important;color:#f0f2f5!important;border-color:#39424d!important}html[data-theme="dark"] .theme-fab,html[data-theme="dark"] .feedback-fab,html[data-theme="dark"] .chat-fab,html[data-theme="dark"] .v27-notification-bell,html[data-theme="dark"] .v26-backtop{background:#1a2129!important;color:#f2d7e1!important;border-color:#3b4651!important}html[data-theme="dark"] .v38-profile-menu,html[data-theme="dark"] .v38-about-modal,html[data-theme="dark"] .v38-about-grid section{background:#171d24!important;border-color:#303945!important;color:#e7e9ee}html[data-theme="dark"] .v38-profile-menu button{color:#e7e9ee}html[data-theme="dark"] .v38-profile-menu button:hover{background:#2a2027}html[data-theme="dark"] .chat-panel{background:#12181f!important;color:#e7e9ee}html[data-theme="dark"] .chat-bubble{background:#222b35;color:#f1f3f6}html[data-theme="dark"] .chat-message.visitor .chat-bubble{background:#713653;color:#fff}
@media(max-width:760px){.top-announcement-banner{padding:9px 44px 9px 12px}.top-announcement-content{align-items:flex-start}.top-announcement-text{display:grid;gap:3px}.top-announcement-text>span{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.top-announcement-close{right:7px}.theme-fab{right:12px;bottom:12px;width:46px;min-width:46px;height:46px;padding:0;justify-content:center;border-radius:16px}.theme-fab>span:last-child{display:none}.feedback-fab{right:12px!important;bottom:68px!important}.chat-fab{right:12px!important;bottom:124px!important}.v27-notification-bell{right:68px!important;bottom:124px!important}.v26-backtop{right:68px!important;bottom:68px!important}.v38-about-modal{padding:22px 16px;border-radius:22px}.v38-about-grid{grid-template-columns:1fr}.v38-about-title{font-size:24px}.chat-support-guide-actions{display:grid;grid-template-columns:1fr 1fr}.chat-support-guide-actions button:last-child{grid-column:1/-1}}
@media(prefers-reduced-motion:reduce){.v38-platform-flash,.v38-qr-flash{animation:none!important}}

/* === v39: complete dark surface pass, notice scrolling, banner stack, spacing and About redesign === */
.hero-notices{
  max-height:300px;
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
  scrollbar-width:thin;
  scrollbar-color:rgba(170,104,130,.45) transparent;
}
.hero-notices::-webkit-scrollbar{width:7px}.hero-notices::-webkit-scrollbar-track{background:transparent}.hero-notices::-webkit-scrollbar-thumb{background:rgba(170,104,130,.36);border-radius:999px}
.hero-notices h3{position:sticky;top:-1px;z-index:2;padding:2px 0 8px;background:linear-gradient(180deg,rgba(255,255,255,.92) 70%,rgba(255,255,255,0));backdrop-filter:blur(8px)}

/* Keep floating controls visually separated on desktop. */
@media (min-width:761px){
  .theme-fab{bottom:22px!important}
  .feedback-fab{bottom:86px!important}
  .chat-fab{bottom:166px!important}
  .v27-notification-bell{bottom:246px!important}
  .v26-backtop{bottom:326px!important}
}

/* Add-friend attention affects the prompt and the QR action, not only the button. */
.account-contact-prompt.v38-qr-flash,
.qr-ready.account-qr-button.v38-qr-flash{position:relative;z-index:4;transform-origin:center}
@keyframes v39ContactFlash{0%,100%{filter:none;transform:none;box-shadow:inherit}50%{filter:brightness(1.12) saturate(1.2);transform:scale(1.018);box-shadow:0 0 0 4px rgba(255,94,155,.24),0 12px 28px rgba(206,70,124,.18)}}
.account-contact-prompt.v38-qr-flash{animation:v39ContactFlash .8s ease-in-out var(--v38-flash-count,5)!important}

/* Multiple top banners: each notice is one row and the whole area never exceeds two rows. */
.top-announcement-banner{position:relative;z-index:160;display:block!important;max-height:240px;overflow-y:auto;overflow-x:hidden;padding:0!important;box-shadow:0 1px 0 rgba(0,0,0,.10);scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.28) transparent}
.top-announcement-row{position:relative;height:48px;min-height:48px;display:flex;align-items:center;padding:0 50px 0 18px;border-bottom:1px solid rgba(0,0,0,.08)}
.top-announcement-row:last-child{border-bottom:0}
.top-announcement-content{height:100%;max-width:1180px;margin:0 auto;display:flex!important;align-items:center!important;gap:11px;min-width:0;width:100%;overflow:hidden}
.top-announcement-text{display:flex!important;align-items:center!important;gap:12px;min-width:0;overflow:hidden;width:100%;white-space:nowrap}
.top-announcement-text strong{flex:0 1 auto;min-width:0;max-width:34%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap!important;line-height:1.2}
.top-announcement-text>span{flex:1 1 auto;min-width:0;display:block!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;-webkit-line-clamp:unset!important}
.top-announcement-close{right:12px!important;top:50%!important}
@media(max-width:760px){
  .top-announcement-banner{max-height:220px}
  .top-announcement-row{height:44px;min-height:44px;padding:0 40px 0 10px}
  .top-announcement-content{gap:7px}
  .top-announcement-icon{font-size:14px}
  .top-announcement-text{gap:7px;font-size:11px}
  .top-announcement-text strong{max-width:38%}
  .top-announcement-close{right:4px!important;width:30px;height:30px;font-size:18px}
}

/* About Xiaomeng: a softer editorial layout with a clear hierarchy. */
.v38-about-modal{width:min(980px,calc(100vw - 28px))!important;padding:0!important;overflow:auto;background:linear-gradient(155deg,#fff,#fff7fb 62%,#f7fbff)!important;border:1px solid rgba(232,205,216,.9);box-shadow:0 34px 90px rgba(64,39,51,.28)!important}
.v39-about-hero{display:grid;grid-template-columns:78px minmax(0,1fr);align-items:center;gap:18px;padding:30px 34px 24px;background:radial-gradient(circle at 5% 0%,rgba(255,195,218,.58),transparent 44%),linear-gradient(115deg,#fff4f8,#f7fbff);border-bottom:1px solid #efdee5}
.v39-about-hero img{width:78px;height:78px;border-radius:26px;object-fit:cover;border:4px solid rgba(255,255,255,.9);box-shadow:0 12px 32px rgba(126,71,95,.18)}
.v38-about-title{margin:4px 0 0!important;font-size:32px!important;letter-spacing:-.035em}
.v39-about-subtitle{margin:8px 0 0;color:#8b6c79;font-size:12px;line-height:1.6}
.v38-about-grid{padding:24px 28px 30px;grid-template-columns:minmax(0,1.38fr) minmax(300px,.62fr)!important;gap:18px!important}
.v38-about-grid section.v39-about-card{position:relative;overflow:hidden;padding:22px!important;border:1px solid #eedee5!important;border-radius:22px!important;background:rgba(255,255,255,.84)!important;box-shadow:0 12px 32px rgba(98,59,76,.06)}
.v39-about-bio-card::before,.v39-about-sign-card::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(#f2a9c1,#b7dafa)}
.v39-about-sign-card::before{background:linear-gradient(#f0c468,#f3a7c1)}
.v39-about-card-head{display:flex;align-items:center;gap:9px;margin-bottom:14px}.v39-about-card-head>span{width:32px;height:32px;border-radius:11px;display:grid;place-items:center;background:#fff0f5;font-size:16px}.v39-about-card-head h3{margin:0!important;font-size:17px!important}
.v39-about-rich{font-size:13px;line-height:1.9;color:#62515a}.v39-about-rich p{margin:0 0 15px!important}.v39-about-rich p:last-child{margin-bottom:0!important}.v39-about-rich ul,.v39-about-rich ol{padding-left:21px;display:grid;gap:6px}.v39-about-rich blockquote{margin:14px 0;padding:10px 13px;border-left:3px solid #df8fac;background:#fff5f8;border-radius:0 12px 12px 0}.v39-about-rich mark{background:#fff0a9;color:#563f00;padding:1px 4px;border-radius:5px}.v39-about-rich code{background:#f3eef1;padding:2px 5px;border-radius:6px}.v39-about-rich a{text-decoration-thickness:1px;text-underline-offset:3px}
@media(max-width:760px){.v39-about-hero{grid-template-columns:58px minmax(0,1fr);padding:22px 18px 18px}.v39-about-hero img{width:58px;height:58px;border-radius:19px}.v38-about-title{font-size:25px!important}.v38-about-grid{padding:16px!important;grid-template-columns:1fr!important}.v38-about-grid section.v39-about-card{padding:18px!important}.v39-about-rich{font-size:12.5px}}

/* A full front-end dark theme: every light surface receives a dark counterpart. */
html[data-theme="dark"]{
  color-scheme:dark;
  --navy:#f0f3f8;--navy-soft:#c1c8d2;--text:#e7ebf1;--muted:#a8b0bb;--line:#303945;--bg:#0d1218;--card:#171d24;--shadow:0 18px 46px rgba(0,0,0,.28);
}
html[data-theme="dark"] body{background:radial-gradient(circle at 8% 5%,rgba(44,72,61,.23),transparent 26%),radial-gradient(circle at 92% 8%,rgba(91,43,64,.20),transparent 23%),linear-gradient(180deg,#0d1218,#10161d 48%,#0d1218)!important;color:#e7ebf1!important}
html[data-theme="dark"] .topbar{background:rgba(12,17,23,.94)!important;border-color:#28313b!important;box-shadow:0 8px 28px rgba(0,0,0,.25)!important}
html[data-theme="dark"] .brand img{filter:brightness(0) invert(1) saturate(.2)}
html[data-theme="dark"] .brand span,html[data-theme="dark"] .topnav a{color:#a9b1bc!important}html[data-theme="dark"] .topnav a.active,html[data-theme="dark"] .topnav a:hover{color:#f5f7fa!important}
html[data-theme="dark"] .language-control select,html[data-theme="dark"] .profile-chip{background:#151c24!important;border-color:#34404c!important;color:#e8edf3!important}
html[data-theme="dark"] .v26-menu-toggle,html[data-theme="dark"] .v26-mobile-menu{background:#151c24!important;border-color:#34404c!important;color:#edf1f6!important}html[data-theme="dark"] .v26-mobile-menu-backdrop{background:rgba(0,0,0,.62)!important}html[data-theme="dark"] .v26-mobile-links a,html[data-theme="dark"] .v26-mobile-links button{color:#d7dde5!important;border-color:#2d3742!important;background:#11171e!important}
html[data-theme="dark"] .hero{background-color:#111820}html[data-theme="dark"] .hero-overlay{background:linear-gradient(90deg,rgba(5,10,16,.78),rgba(9,15,22,.62) 42%,rgba(11,17,23,.52) 72%,rgba(4,9,14,.72))!important;backdrop-filter:saturate(.68) brightness(.62)!important}html[data-theme="dark"] .hero::after{background:linear-gradient(0deg,#0d1218 0%,rgba(13,18,24,.72) 22%,transparent 55%)!important}html[data-theme="dark"] .hero-avatar-wrap{background:#202a34!important;box-shadow:0 16px 42px rgba(0,0,0,.42)!important}
html[data-theme="dark"] .hero-copy,html[data-theme="dark"] .hero-copy h1,html[data-theme="dark"] .hero-copy h2{color:#fff!important;text-shadow:0 2px 12px rgba(0,0,0,.48)!important}
html[data-theme="dark"] .hero-notices{background:rgba(18,25,33,.90)!important;border-color:#394653!important;color:#e7ebf1!important;box-shadow:0 18px 44px rgba(0,0,0,.36)!important}html[data-theme="dark"] .hero-notices h3{color:#f4f7fa!important;background:linear-gradient(180deg,rgba(18,25,33,.98) 72%,rgba(18,25,33,0))!important}html[data-theme="dark"] .notice-line{border-color:#303a45!important}html[data-theme="dark"] .notice-line p{color:#b5bec9!important}html[data-theme="dark"] .notice-line-button:hover,html[data-theme="dark"] .notice-line-button:focus-visible{background:#222b35!important}html[data-theme="dark"] .notice-effective-tag{background:#222c36!important;border-color:#3b4652!important;color:#c2cad4!important}
html[data-theme="dark"] .overview-time-card,html[data-theme="dark"] .overview-runtime-stats{background:#171e26!important;border-color:#303a45!important;box-shadow:0 14px 34px rgba(0,0,0,.26)!important}html[data-theme="dark"] .overview-clock-line,html[data-theme="dark"] .overview-clock-line strong,html[data-theme="dark"] .runtime-stat strong{color:#edf1f6!important}html[data-theme="dark"] .overview-clock-copy small,html[data-theme="dark"] .runtime-stat span,html[data-theme="dark"] .runtime-stat small{color:#9fa9b5!important}html[data-theme="dark"] .runtime-stat{border-color:#303a45!important}
html[data-theme="dark"] .summary-grid{background:#151c23!important;border-color:#303945!important;box-shadow:0 18px 44px rgba(0,0,0,.28)!important}html[data-theme="dark"] .summary-card,html[data-theme="dark"] .summary-card.normal,html[data-theme="dark"] .summary-card.partial,html[data-theme="dark"] .summary-card.core{background:#171f27!important;border-color:#303945!important}html[data-theme="dark"] .summary-card.normal{background:linear-gradient(145deg,#171f27,#15251c)!important}html[data-theme="dark"] .summary-card.partial{background:linear-gradient(145deg,#171f27,#292414)!important}html[data-theme="dark"] .summary-card.core{background:linear-gradient(145deg,#171f27,#2b181d)!important}html[data-theme="dark"] .summary-card span{color:#b6bec8!important}html[data-theme="dark"] .summary-card small{color:#8f99a5!important}html[data-theme="dark"] .summary-card strong{color:#f1f4f8!important}
html[data-theme="dark"] .banner,html[data-theme="dark"] .banner.warning,html[data-theme="dark"] .banner.critical{background:#171e26!important;border-color:#313c48!important;color:#e7ebf1!important}html[data-theme="dark"] .banner.warning{background:#272313!important;border-color:#635928!important}html[data-theme="dark"] .banner.critical{background:#2b171c!important;border-color:#66343e!important}html[data-theme="dark"] .banner-icon{background:#252f3a!important}html[data-theme="dark"] .banner-content p{color:#b5bec8!important}
html[data-theme="dark"] .section-head h2,html[data-theme="dark"] .platform-name,html[data-theme="dark"] .legend-title{color:#eef2f7!important}html[data-theme="dark"] .section-head p,html[data-theme="dark"] .section-kicker,html[data-theme="dark"] .platform-description,html[data-theme="dark"] .platform-count{color:#9fa8b4!important}html[data-theme="dark"] .filter-group{background:#1b242d!important}html[data-theme="dark"] .filter{color:#aeb7c2!important}html[data-theme="dark"] .filter.active{background:#2b2229!important;color:#ffdbe7!important;box-shadow:none!important}
html[data-theme="dark"] .platform-card,html[data-theme="dark"] .platform-card.status-normal,html[data-theme="dark"] .platform-card.status-partial,html[data-theme="dark"] .platform-card.status-core{background:linear-gradient(145deg,#171e26,#141b22)!important;border-color:#323c47!important;box-shadow:0 18px 46px rgba(0,0,0,.26)!important}html[data-theme="dark"] .platform-card::after{box-shadow:inset 0 0 0 1px rgba(255,255,255,.035)!important}html[data-theme="dark"] .platform-icon{background:#202a34!important;border-color:#3b4652!important}html[data-theme="dark"] .platform-foot{border-color:#303a45!important;color:#9fa8b4!important}
html[data-theme="dark"] .account-card,html[data-theme="dark"] .account-card.status-normal,html[data-theme="dark"] .account-card.status-partial,html[data-theme="dark"] .account-card.status-core{background:#1a222b!important;border-color:#333e49!important;box-shadow:0 10px 26px rgba(0,0,0,.22)!important}html[data-theme="dark"] .account-card.status-normal{background:linear-gradient(145deg,#1a222b,#15251d)!important}html[data-theme="dark"] .account-card.status-partial{background:linear-gradient(145deg,#1a222b,#292414)!important}html[data-theme="dark"] .account-card.status-core{background:linear-gradient(145deg,#1a222b,#2c191e)!important}html[data-theme="dark"] .account-status-body{background:#121920!important;border-color:#303a45!important;box-shadow:none!important}html[data-theme="dark"] .account-title,html[data-theme="dark"] .account-description,html[data-theme="dark"] .account-purpose{color:#e5eaf0!important}html[data-theme="dark"] .account-label,html[data-theme="dark"] .account-current-id,html[data-theme="dark"] .account-time-row,html[data-theme="dark"] .status-summary-label{color:#9fa9b5!important}html[data-theme="dark"] .account-switcher{background:#111820!important;border-color:#303a45!important}html[data-theme="dark"] .account-switcher-item{background:#192129!important;border-color:#34404b!important;color:#dce2e9!important}html[data-theme="dark"] .account-switcher-item.active{background:#2b2128!important}html[data-theme="dark"] .account-contact-prompt{background:#17221c!important;border-color:#35513f!important;color:#cce7d3!important}html[data-theme="dark"] .qr-ready{background:#173020!important;color:#b9e8c5!important;border-color:#315c3d!important}
html[data-theme="dark"] .interaction-guide{background:#142219!important;border-color:#31523b!important;color:#dce7df!important}html[data-theme="dark"] .interaction-guide-body,html[data-theme="dark"] .interaction-guide-label{color:#aeb9b1!important}
html[data-theme="dark"] .subscription-main-card,html[data-theme="dark"] .notification-card,html[data-theme="dark"] .chat-now-entry,html[data-theme="dark"] .legend-card,html[data-theme="dark"] .app-download-card,html[data-theme="dark"] .site-feedback-strip{background:#171e26!important;border-color:#313b46!important;color:#e6ebf1!important;box-shadow:0 14px 36px rgba(0,0,0,.24)!important}html[data-theme="dark"] .subscription-copy h2,html[data-theme="dark"] .notification-card h3,html[data-theme="dark"] .chat-now-copy strong,html[data-theme="dark"] .app-download-copy strong{color:#f1f4f8!important}html[data-theme="dark"] .subscription-copy>p,html[data-theme="dark"] .notification-card p,html[data-theme="dark"] .chat-now-copy p,html[data-theme="dark"] .app-download-copy p,html[data-theme="dark"] .legend-items{color:#aab3be!important}html[data-theme="dark"] .pwa-install-card{background:#121a20!important;border-color:#34404b!important}html[data-theme="dark"] .subscription-form input,html[data-theme="dark"] .feedback-grid input,html[data-theme="dark"] .feedback-grid select,html[data-theme="dark"] .feedback-grid textarea{background:#10171e!important;color:#edf1f6!important;border-color:#394550!important}
html[data-theme="dark"] .site-footer{background:#10161d!important;border-color:#2b3540!important;color:#aab3be!important}
html[data-theme="dark"] .modal-backdrop,html[data-theme="dark"] .account-modal-backdrop,html[data-theme="dark"] .feedback-modal-backdrop{background:rgba(0,0,0,.62)!important}html[data-theme="dark"] .account-modal,html[data-theme="dark"] .announcement-modal,html[data-theme="dark"] .feedback-modal,html[data-theme="dark"] .notification-modal,html[data-theme="dark"] .notice-detail-modal{background:linear-gradient(155deg,#171e26,#121820)!important;border-color:#35404b!important;color:#e7ebf1!important;box-shadow:0 28px 80px rgba(0,0,0,.52)!important}html[data-theme="dark"] .account-modal-profile,html[data-theme="dark"] .modal-note,html[data-theme="dark"] .modal-incident,html[data-theme="dark"] .qr-section,html[data-theme="dark"] .qr-desktop-hint{background:#111820!important;border-color:#303a45!important;color:#dfe5ec!important}html[data-theme="dark"] .modal-section{border-color:#303a45!important}html[data-theme="dark"] .modal-section h4,html[data-theme="dark"] .account-modal-profile h2{color:#eef2f7!important}html[data-theme="dark"] .account-modal-profile p,html[data-theme="dark"] .modal-note,html[data-theme="dark"] .modal-incident p,html[data-theme="dark"] .modal-incident-time,html[data-theme="dark"] .section-subtle{color:#a8b1bc!important}html[data-theme="dark"] .qr-image-shell{background:#fff!important}
html[data-theme="dark"] .feedback-privacy-note,html[data-theme="dark"] .feedback-email-help{color:#9fa9b5!important}html[data-theme="dark"] .feedback-success{background:#142219!important;border-color:#31513b!important;color:#dbe8df!important}
html[data-theme="dark"] .chat-panel{background:#111820!important;border-color:#34404b!important;box-shadow:0 28px 80px rgba(0,0,0,.52)!important}html[data-theme="dark"] .chat-header,html[data-theme="dark"] .chat-composer,html[data-theme="dark"] .chat-utility-toolbar{background:#151d25!important;border-color:#303a45!important}html[data-theme="dark"] .chat-utility-scroll,html[data-theme="dark"] .chat-messages{background:#0f151c!important}html[data-theme="dark"] .chat-wait-card,html[data-theme="dark"] .chat-roaming-card,html[data-theme="dark"] .chat-identity-card,html[data-theme="dark"] .chat-pinned-bar,html[data-theme="dark"] .chat-history-search-flow{background:#171f27!important;border-color:#34404b!important;color:#e4e9ef!important}html[data-theme="dark"] .chat-wait-card.is-away{background:#2a2414!important;border-color:#65582a!important}html[data-theme="dark"] .chat-bubble{background:#222c36!important;color:#eef2f6!important}html[data-theme="dark"] .chat-message.visitor .chat-bubble{background:#713653!important;color:#fff!important}html[data-theme="dark"] .chat-support-guide .chat-bubble{background:#2a2515!important;border-color:#695e2b!important;color:#f4e7a9!important}html[data-theme="dark"] .chat-contact-benefits{background:#121920!important;border-color:#303a45!important}html[data-theme="dark"] .chat-safety-note,html[data-theme="dark"] .chat-footer-note{color:#9fa8b3!important}html[data-theme="dark"] .chat-composer textarea,html[data-theme="dark"] .chat-identity-form input,html[data-theme="dark"] .chat-recovery-flow input,html[data-theme="dark"] .chat-history-search-form input,html[data-theme="dark"] .chat-history-search-form select{background:#0e151c!important;color:#edf1f6!important;border-color:#394550!important}
html[data-theme="dark"] .theme-fab,html[data-theme="dark"] .feedback-fab,html[data-theme="dark"] .chat-fab,html[data-theme="dark"] .v27-notification-bell,html[data-theme="dark"] .v26-backtop{background:#18212a!important;color:#f2d7e1!important;border-color:#3a4652!important;box-shadow:0 14px 34px rgba(0,0,0,.34)!important}html[data-theme="dark"] .chat-fab-icon,html[data-theme="dark"] .feedback-fab-icon{background:#2c2229!important;color:#f4b8cd!important}
html[data-theme="dark"] .v38-profile-menu{background:#151d25!important;border-color:#34404b!important;box-shadow:0 18px 44px rgba(0,0,0,.4)!important}html[data-theme="dark"] .v38-profile-menu button{color:#e1e6ed!important}html[data-theme="dark"] .v38-profile-menu button:hover{background:#2a2228!important}
html[data-theme="dark"] .v38-about-modal{background:linear-gradient(155deg,#151d25,#10171e)!important;border-color:#34404b!important}html[data-theme="dark"] .v39-about-hero{background:radial-gradient(circle at 5% 0%,rgba(116,46,78,.38),transparent 44%),linear-gradient(115deg,#211820,#151e27)!important;border-color:#34404b!important}html[data-theme="dark"] .v39-about-subtitle{color:#b8a5ae!important}html[data-theme="dark"] .v38-about-grid section.v39-about-card{background:#171f27!important;border-color:#34404b!important}html[data-theme="dark"] .v39-about-rich{color:#c7cdd5!important}html[data-theme="dark"] .v39-about-rich blockquote{background:#251b21!important}html[data-theme="dark"] .v39-about-rich code{background:#202832!important}
html[data-theme="dark"] .top-banner-red{background:#6f2633!important;color:#ffe9ed!important}html[data-theme="dark"] .top-banner-yellow{background:#5b4b16!important;color:#fff4bf!important}html[data-theme="dark"] .top-banner-blue{background:#1d416b!important;color:#e2efff!important}html[data-theme="dark"] .top-banner-green{background:#1d523a!important;color:#e1f7e9!important}

@media(prefers-reduced-motion:reduce){.account-contact-prompt.v38-qr-flash{animation:none!important}}


/* v40 preferences page: complete dark theme parity. */
html[data-theme="dark"] body:has(.prefs-shell){
  background:radial-gradient(circle at 10% 4%,rgba(52,77,67,.22),transparent 30%),radial-gradient(circle at 90% 8%,rgba(95,46,68,.18),transparent 25%),linear-gradient(155deg,#0d1218,#111820 48%,#0d1218)!important;
  color:#e7ebf1!important;
}
html[data-theme="dark"] .prefs-brand{color:#edf1f6!important}
html[data-theme="dark"] .prefs-brand img{filter:brightness(0) invert(1) saturate(.18)}
html[data-theme="dark"] .prefs-card{background:rgba(22,29,37,.96)!important;border-color:#34404b!important;box-shadow:0 24px 70px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.035)!important}
html[data-theme="dark"] .prefs-card h1,html[data-theme="dark"] .prefs-card h2,html[data-theme="dark"] .prefs-card b,html[data-theme="dark"] .contact-row strong{color:#f0f3f7!important}
html[data-theme="dark"] .intro,html[data-theme="dark"] .switch-row small,html[data-theme="dark"] .contact-row,html[data-theme="dark"] .prefs-foot,html[data-theme="dark"] .prefs-powered{color:#a9b2bd!important}
html[data-theme="dark"] .eyebrow{color:#f0a7c0!important}
html[data-theme="dark"] .prefs-loading{background:#111820!important;color:#b8c0ca!important;border:1px solid #303a45!important}
html[data-theme="dark"] .prefs-error{background:#2c171d!important;color:#ffb8c3!important;border:1px solid #66323e!important}
html[data-theme="dark"] .contact-row,html[data-theme="dark"] .switch-row{border-color:#303a45!important}
html[data-theme="dark"] .prefs-divider{background:#303a45!important}
html[data-theme="dark"] .switch-row i{background:#45505c!important}
html[data-theme="dark"] .switch-row i:after{background:#f6f7f9!important;box-shadow:0 2px 8px rgba(0,0,0,.34)!important}
html[data-theme="dark"] .switch-row input:checked+i{background:#b85276!important}
html[data-theme="dark"] .primary{background:#e1a0b7!important;color:#20151a!important;border-color:#e1a0b7!important}
html[data-theme="dark"] .secondary{background:#141b22!important;color:#e9c4d1!important;border-color:#46515d!important}
html[data-theme="dark"] .prefs-message{background:#14251b!important;color:#bfe7ca!important;border:1px solid #315b3d!important}
html[data-theme="dark"] .prefs-spam-hint{background:#2b2413!important;color:#f0d992!important;border:1px solid #5f5225!important}
html[data-theme="dark"] .prefs-powered strong{color:#e8edf3!important}

/* v39 dark-theme final audit: catch smaller light sub-surfaces that sit inside dark cards. */
html[data-theme="dark"] .status-pill.normal,html[data-theme="dark"] .mini-status.normal{background:#183221!important;color:#b8e7c5!important}
html[data-theme="dark"] .status-pill.partial,html[data-theme="dark"] .mini-status.partial{background:#342d17!important;color:#f1d982!important}
html[data-theme="dark"] .status-pill.core,html[data-theme="dark"] .mini-status.core{background:#3a1f25!important;color:#ffb5c0!important}
html[data-theme="dark"] .summary-icon{filter:saturate(.82) brightness(.92)}
html[data-theme="dark"] .account-avatar,html[data-theme="dark"] .archive-avatar{background:#222c36!important;color:#aeb8c3!important}
html[data-theme="dark"] .account-card:hover,html[data-theme="dark"] .account-card:focus-visible{background:#202933!important;border-color:#475362!important}
html[data-theme="dark"] .feature.blocked{background:#3a1f25!important;color:#ffc0c8!important}
html[data-theme="dark"] .feature.limited{background:#382f16!important;color:#f4dd88!important}
html[data-theme="dark"] .feature.degraded{background:#232c36!important;color:#c0c8d2!important}
html[data-theme="dark"] .feature.normal-feature{background:#183221!important;color:#b6e4c2!important}
html[data-theme="dark"] .archive-inline,html[data-theme="dark"] .identity-archive{background:#25191e!important;border-color:#54313b!important;color:#d8c4ca!important}
html[data-theme="dark"] .archive-badge{background:#352128!important;color:#efb8c5!important}
html[data-theme="dark"] .normal-message{background:#172b1d!important;color:#bde1c5!important}
html[data-theme="dark"] .history-entry{background:#161e26!important;color:#abb4bf!important}
html[data-theme="dark"] .skeleton-card{background:linear-gradient(90deg,#17202a 25%,#222d38 37%,#17202a 63%)!important;background-size:400% 100%!important}
html[data-theme="dark"] .outline-danger-btn{background:#191f27!important;border-color:#5e3640!important;color:#f0a9b5!important}
html[data-theme="dark"] .outline-danger-btn:hover{background:#2b1c22!important}
html[data-theme="dark"] .outline-danger-btn>span:first-child,html[data-theme="dark"] .feedback-symbol{background:#322027!important;color:#ffb4c0!important;box-shadow:inset 0 0 0 1px #58313b!important}
html[data-theme="dark"] .subscription-icon{background:linear-gradient(145deg,#2b2026,#1b222b)!important;border-color:#563846!important;color:#f3a8c2!important}
html[data-theme="dark"] .subscription-form label{color:#c4abb5!important}
html[data-theme="dark"] .subscription-form button,html[data-theme="dark"] .notification-actions button,html[data-theme="dark"] .pwa-install-card button,html[data-theme="dark"] .app-download-action{background:linear-gradient(145deg,#2f2027,#241c22)!important;border-color:#684252!important;color:#f1b6cb!important}
html[data-theme="dark"] .subscription-message.success{background:#172b1d!important;color:#bce4c7!important}
html[data-theme="dark"] .subscription-message.error{background:#321b22!important;color:#ffb7c2!important}
html[data-theme="dark"] .notification-state{color:#aeb7c2!important}
html[data-theme="dark"] .notification-state[data-state="enabled"]{color:#9fddb0!important}
html[data-theme="dark"] .notification-state[data-state="denied"],html[data-theme="dark"] .notification-state[data-state="unsupported"]{color:#efaeb8!important}
html[data-theme="dark"] .notification-modal-icon{background:#322027!important;color:#f1a7c0!important}
html[data-theme="dark"] .notification-modal-list>div{background:#121920!important;border-color:#303b46!important}
html[data-theme="dark"] .notification-modal-list b{color:#e4e9ef!important}html[data-theme="dark"] .notification-modal-list span,html[data-theme="dark"] .notification-modal-hint{color:#a8b1bc!important}
html[data-theme="dark"] .chat-subscribe-toggle{background:#191a22!important;border-color:#41323a!important;color:#d9c7cf!important}
html[data-theme="dark"] .account-purpose,html[data-theme="dark"] .modal-purpose{background:#251b21!important;border-color:#4a303b!important;color:#d8c3cc!important}
html[data-theme="dark"] .chat-emoji-panel{background:rgba(20,27,35,.98)!important;border-color:#3a4652!important;box-shadow:0 18px 44px rgba(0,0,0,.4)!important}
html[data-theme="dark"] .chat-emoji-item:hover{background:#30232a!important}
html[data-theme="dark"] .chat-attach-btn,html[data-theme="dark"] .chat-tool-btn,html[data-theme="dark"] .chat-send-mode{background:#161e26!important;border-color:#34404b!important;color:#dbe1e8!important}
html[data-theme="dark"] .chat-attach-btn:hover,html[data-theme="dark"] .chat-tool-btn:hover,html[data-theme="dark"] .chat-send-mode:hover{background:#2a2027!important;border-color:#6b4554!important}
html[data-theme="dark"] .chat-roaming-head strong,html[data-theme="dark"] .chat-history-item strong,html[data-theme="dark"] .chat-recovery-result strong{color:#e3e9ef!important}
html[data-theme="dark"] .chat-roaming-head p,html[data-theme="dark"] .chat-history-item small,html[data-theme="dark"] .chat-recovery-result small,html[data-theme="dark"] .chat-history-empty,html[data-theme="dark"] .chat-recovery-flow>p{color:#9fa9b4!important}
html[data-theme="dark"] .chat-roaming-head>button,html[data-theme="dark"] .chat-roaming-actions button,html[data-theme="dark"] .chat-history-item,html[data-theme="dark"] .chat-recovery-result{background:#121920!important;border-color:#34404b!important;color:#cbd3dc!important}
html[data-theme="dark"] .chat-history-item.active{background:#2a2027!important;border-color:#6b4554!important}
html[data-theme="dark"] .chat-recovery-message{background:#172b1d!important;color:#bde1c5!important}html[data-theme="dark"] .chat-recovery-message.error{background:#321b22!important;color:#ffb7c2!important}
html[data-theme="dark"] .chat-attachment-footer{background:#151d25!important;border-color:#34404b!important}html[data-theme="dark"] .chat-attachment-open{color:#f0aec5!important;border-color:#34404b!important}
html[data-theme="dark"] ::placeholder{color:#75808c!important;opacity:1}

/* Extra desktop breathing room: notification and chat controls should never read as one combined control. */
@media (min-width:761px){
  .theme-fab{bottom:22px!important}
  .feedback-fab{bottom:94px!important}
  .chat-fab{bottom:184px!important}
  .v27-notification-bell{bottom:286px!important}
  .v26-backtop{bottom:374px!important}
}

/* Both the contact prompt and the QR action visibly pulse five times. */
.account-contact-prompt.v38-qr-flash,.qr-ready.account-qr-button.v38-qr-flash{animation:v39ContactFlash .8s ease-in-out var(--v38-flash-count,5)!important}


/* === v40: notice polish, account-card consolidation, navigation emphasis, dark-mode audit === */
/* The sticky notice heading must belong visually to the frosted notice card instead of becoming a white slab. */
.hero-notices h3{
  background:linear-gradient(180deg,rgba(244,246,242,.94) 72%,rgba(244,246,242,0))!important;
  color:#26364a!important;
  border-radius:10px 10px 0 0;
  margin:-2px -2px 8px!important;
  padding:4px 2px 9px!important;
}
.hero-notices{scrollbar-gutter:stable}

/* Purpose is now part of the status explanation. Keep paragraph structure readable. */
.account-description{white-space:pre-line!important;-webkit-line-clamp:unset!important;overflow:visible!important;display:block!important}
.account-status-body .account-time-row[hidden]{display:none!important}
.account-contact-prompt{margin-top:14px!important}
.account-status-body + .account-contact-prompt{margin-top:14px!important}

/* All add-friend QR affordances pulse with the same restrained status-tab cadence, 60 cycles. */
.qr-ready.account-qr-button.v40-qr-auto-pulse{
  animation:v40QrAutoPulse .78s ease-in-out 60!important;
  transform-origin:center;
}
@keyframes v40QrAutoPulse{
  0%,100%{filter:brightness(1);box-shadow:0 0 0 0 rgba(83,167,105,0);transform:translateY(0)}
  50%{filter:brightness(1.075);box-shadow:0 0 0 4px rgba(83,167,105,.15),0 8px 19px rgba(59,125,78,.12);transform:translateY(-1px)}
}
.account-contact-prompt.v38-qr-flash,.qr-ready.account-qr-button.v38-qr-flash{animation:v39ContactFlash .78s ease-in-out var(--v38-flash-count,5)!important}

/* Profile-platform jumps and the Notices nav now have an unmistakable three-cycle focus cue. */
.v38-platform-flash{animation:v40PlatformFlash .68s ease-in-out 3!important;position:relative;z-index:8}
@keyframes v40PlatformFlash{
  0%,100%{filter:brightness(1);box-shadow:var(--v40-base-shadow,0 12px 28px rgba(42,54,45,.08))}
  50%{filter:brightness(1.08);box-shadow:0 0 0 7px rgba(222,116,151,.22),0 20px 46px rgba(58,43,49,.16)}
}
.v40-notices-flash{animation:v40NoticesFlash .66s ease-in-out 5!important;position:relative;z-index:8}
@keyframes v40NoticesFlash{
  0%,100%{filter:brightness(1);box-shadow:0 16px 35px rgba(31,44,63,.10)}
  50%{filter:brightness(1.06);box-shadow:0 0 0 7px rgba(222,116,151,.22),0 20px 42px rgba(31,44,63,.16)}
}

/* Up to five one-line top announcement rows. Longer sets scroll inside this five-row cap. */
.top-announcement-banner{max-height:240px!important;overflow-y:auto!important}
.top-announcement-row{height:48px!important;min-height:48px!important}
@media(max-width:760px){.top-announcement-banner{max-height:220px!important}.top-announcement-row{height:44px!important;min-height:44px!important}}

/* === v40 dark mode: final front-end readability audit === */
html[data-theme="dark"] .hero-notices h3{
  background:linear-gradient(180deg,rgba(18,25,33,.98) 72%,rgba(18,25,33,0))!important;
  color:#f3f6f9!important;
}
html[data-theme="dark"] .v26-install-card{
  background:radial-gradient(circle at 92% 12%,rgba(71,132,111,.18),transparent 34%),linear-gradient(145deg,#171f27,#14231d)!important;
  border-color:#354a42!important;box-shadow:0 18px 46px rgba(0,0,0,.30)!important;color:#dfe8e4!important
}
html[data-theme="dark"] .v26-install-copy h3{color:#d8efe6!important}
html[data-theme="dark"] .v26-install-copy p,html[data-theme="dark"] .v26-install-steps{color:#a9b9b3!important}
html[data-theme="dark"] .v26-install-badge{background:#21382f!important;color:#b8e6d5!important;border-color:#385d4e!important}
html[data-theme="dark"] .v26-install-close{background:#202a33!important;color:#c0cad2!important;border:1px solid #394550!important}
html[data-theme="dark"] .v26-app-icon{background:#202a33!important;border-color:#3a4652!important;box-shadow:none!important}
html[data-theme="dark"] .v26-primary-action{background:#315e50!important;color:#effbf6!important;border-color:#477c69!important}
html[data-theme="dark"] .v26-secondary-action{background:#171f27!important;color:#b9c4cc!important;border-color:#3b4652!important}

html[data-theme="dark"] .summary-card .summary-total-count,
html[data-theme="dark"] #totalAccountCount{
  background:#202933!important;border:1px solid #3c4854!important;color:#c2ccd6!important;box-shadow:none!important
}
html[data-theme="dark"] .interaction-guide{background:#151d25!important;border-color:#34404b!important;color:#dfe5eb!important}
html[data-theme="dark"] .interaction-guide-title{color:#e8edf3!important}
html[data-theme="dark"] .interaction-guide-body,html[data-theme="dark"] .interaction-guide-label{color:#a8b2bd!important}
html[data-theme="dark"] .interaction-guide-options{background:transparent!important}
html[data-theme="dark"] .interaction-guide-option{
  background:#1b242d!important;border-color:#35414d!important;color:#e2e8ee!important;box-shadow:none!important
}
html[data-theme="dark"] .interaction-guide-option:hover,html[data-theme="dark"] .interaction-guide-option:focus-visible{background:#222d37!important;border-color:#536170!important}
html[data-theme="dark"] .interaction-guide-option-copy strong{color:#e8edf2!important}
html[data-theme="dark"] .interaction-guide-option-copy small{color:#9ca7b2!important}
html[data-theme="dark"] .interaction-guide-option-action{background:#193020!important;color:#b7e4c2!important;border:1px solid #345a3e!important}
html[data-theme="dark"] .interaction-guide.cross-platform-guide .interaction-guide-option{border-color:#4b3941!important}
html[data-theme="dark"] .interaction-guide.cross-platform-guide .interaction-guide-option-action{background:#2d2027!important;color:#efb0c3!important;border-color:#624153!important}

/* Utility/help controls should stay visible but never become white islands in dark mode. */
html[data-theme="dark"] .chat-roaming-enable,
html[data-theme="dark"] .account-detail-action.account-detail-button,
html[data-theme="dark"] .account-detail-button,
html[data-theme="dark"] .chat-identity-logout{
  background:#182129!important;border-color:#37434f!important;color:#cbd4dc!important;box-shadow:none!important
}
html[data-theme="dark"] .chat-roaming-enable:hover,html[data-theme="dark"] .chat-roaming-enable:focus-visible,
html[data-theme="dark"] .account-detail-button:hover,html[data-theme="dark"] .account-detail-button:focus-visible{
  background:#222c35!important;border-color:#53606c!important;color:#eef2f6!important
}
html[data-theme="dark"] .chat-safety-note,
html[data-theme="dark"] .chat-footer-note{
  background:#111820!important;border-color:#2e3944!important;color:#98a4b0!important
}
html[data-theme="dark"] .feedback-privacy-note{
  background:#161f27!important;border:1px solid #303c47!important;color:#a8b3bd!important
}
html[data-theme="dark"] .feedback-privacy-note>span:first-child{background:#1e3526!important;color:#9ed4ac!important;box-shadow:none!important}
html[data-theme="dark"] .account-actions-row{border-color:#303b46!important}
html[data-theme="dark"] .account-status-body + .account-contact-prompt{border-color:#35513f!important}
html[data-theme="dark"] .account-description{color:#cbd4dd!important}

/* Additional small surfaces caught by the visual audit. */
html[data-theme="dark"] .app-download-card,html[data-theme="dark"] #appDownload{background:#171f27!important;border-color:#35414c!important;color:#dfe5ec!important}
html[data-theme="dark"] .app-download-card h3,html[data-theme="dark"] #appDownload h3{color:#e9eef3!important}
html[data-theme="dark"] .app-download-card p,html[data-theme="dark"] #appDownload p{color:#a5b0bb!important}
html[data-theme="dark"] .legend-card{background:#151d25!important;border-color:#34404b!important;color:#dfe5eb!important}
html[data-theme="dark"] .legend-title{color:#e7ecf2!important}html[data-theme="dark"] .legend-items{color:#aab4bf!important}
html[data-theme="dark"] .account-contact-prompt-icon{background:#203c2a!important;color:#a7dbb4!important}
html[data-theme="dark"] .account-current-id,html[data-theme="dark"] .platform-description,html[data-theme="dark"] .platform-count{color:#9da8b3!important}
html[data-theme="dark"] .platform-foot{border-color:#303b46!important;color:#929ea9!important}
html[data-theme="dark"] .platform-official{color:#d0b4bf!important}
html[data-theme="dark"] .status-summary-title{box-shadow:none!important}
html[data-theme="dark"] .account-card.status-normal .status-summary-title{background:#183221!important;color:#b9e7c5!important}
html[data-theme="dark"] .account-card.status-partial .status-summary-title{background:#342d17!important;color:#f0d986!important}
html[data-theme="dark"] .account-card.status-core .status-summary-title{background:#3a1f25!important;color:#ffb6c1!important}
html[data-theme="dark"] .account-time-row strong{color:#bcc5ce!important}
html[data-theme="dark"] .modal-backdrop{background:rgba(5,9,13,.68)!important}
html[data-theme="dark"] .notice-detail-modal,html[data-theme="dark"] .announcement-modal,html[data-theme="dark"] .account-modal,html[data-theme="dark"] .feedback-modal{background:#151d25!important;color:#e7ecf2!important;border:1px solid #35414d!important}
html[data-theme="dark"] .notice-detail-modal p,html[data-theme="dark"] .announcement-modal p{color:#b1bbc5!important}

@media(prefers-reduced-motion:reduce){
  .qr-ready.account-qr-button.v40-qr-auto-pulse,.v38-platform-flash,.v40-notices-flash{animation:none!important}
}
/* v40 final dark-mode micro-surfaces */
.hero-notices h3{background:linear-gradient(180deg,rgba(231,235,229,.72) 58%,rgba(231,235,229,0))!important;box-shadow:none!important}
html[data-theme="dark"] .hero-notices h3{background:linear-gradient(180deg,rgba(18,25,33,.92) 60%,rgba(18,25,33,0))!important}
html[data-theme="dark"] .v26-install-steps{background:#111920!important;border:1px solid #2e3b45!important;color:#a8b8b1!important}
html[data-theme="dark"] .v26-install-steps b{color:#9ed7c3!important}
html[data-theme="dark"] .interaction-guide-option img{background:#202a33!important;border-color:#3d4955!important;box-shadow:none!important}
html[data-theme="dark"] .qr-ready.account-qr-button{background:#173020!important;color:#b9e8c5!important;border-color:#315c3d!important}


/* === v41 attention, summaries and top banner === */
.manual-source .manual-source-dot.platform-foot-dot.normal{
  width:12px!important;height:12px!important;flex:0 0 12px!important;margin:0 1px!important;
  animation:v41ManualSourcePulse 1.55s ease-in-out infinite!important;
}
.manual-source .manual-source-dot.platform-foot-dot.normal::before{animation:v41ManualSourceInner 1.55s ease-in-out infinite!important}
@keyframes v41ManualSourcePulse{0%,100%{box-shadow:0 0 0 0 rgba(72,213,121,.08)!important;filter:brightness(.95)}50%{box-shadow:0 0 0 5px rgba(72,213,121,.20)!important;filter:brightness(1.24)}}
@keyframes v41ManualSourceInner{0%,100%{opacity:.55!important}50%{opacity:1!important;filter:drop-shadow(0 0 3px rgba(72,213,121,.95))!important}}
.summary-card.partial.v41-status-alert,.summary-card.core.v41-status-alert{animation:v41SummaryAlert 4.8s ease-in-out infinite!important;transform-origin:center}
@keyframes v41SummaryAlert{0%,100%{filter:brightness(1);box-shadow:0 12px 28px rgba(42,54,45,.08)}50%{filter:brightness(1.055);box-shadow:0 0 0 5px rgba(222,116,151,.12),0 18px 38px rgba(42,54,45,.12)}}
.top-announcement-text strong{flex:0 0 auto!important;max-width:100%!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.top-announcement-text>span{flex:1 1 0!important;min-width:0!important}
.account-contact-prompt[role="button"]{cursor:pointer;outline:none}.account-contact-prompt[role="button"]:focus-visible{box-shadow:0 0 0 4px rgba(76,167,105,.20)!important}
.chat-identity-skip-confirm-actions #chatIdentitySkipConfirmNo{border:0!important;background:#c75879!important;color:#fff!important}
.chat-identity-skip-confirm-actions #chatIdentitySkipConfirmYes{border:1px solid #dfa85b!important;background:#fffaf0!important;color:#925807!important}

/* === v41 dark-mode readability safety net === */
html[data-theme="dark"] .chat-identity-skip-confirm{background:linear-gradient(145deg,#2a251a,#211d17)!important;border-color:#765d2c!important;color:#f2e4bd!important;box-shadow:0 12px 30px rgba(0,0,0,.32)!important}
html[data-theme="dark"] .chat-identity-skip-confirm strong{color:#ffd783!important}
html[data-theme="dark"] .chat-identity-skip-confirm p{color:#dbcda9!important}
html[data-theme="dark"] .chat-identity-skip-confirm-actions #chatIdentitySkipConfirmNo{background:#7d3d56!important;border-color:#9d5870!important;color:#fff4f7!important}
html[data-theme="dark"] .chat-identity-skip-confirm-actions #chatIdentitySkipConfirmYes{background:#29231a!important;border-color:#795f31!important;color:#f0d89f!important}
html[data-theme="dark"] .chat-email-delivery-hint,html[data-theme="dark"] .prefs-spam-hint{background:#2b2417!important;border:1px solid #65522e!important;color:#e2d4aa!important}
html[data-theme="dark"] .chat-email-delivery-hint strong,html[data-theme="dark"] .prefs-spam-hint strong,html[data-theme="dark"] .spam-warning-emphasis{color:#ff7d87!important;font-weight:900!important}
html[data-theme="dark"] #notificationPermissionBtn,html[data-theme="dark"] .notification-modal .primary-btn{background:#8c4660!important;border:1px solid #ae647d!important;color:#fff7fa!important;box-shadow:none!important}
html[data-theme="dark"] .notification-modal .secondary,html[data-theme="dark"] #notificationModalClose{background:#1d2630!important;border-color:#3b4855!important;color:#d7dfe7!important}
html[data-theme="dark"] input,html[data-theme="dark"] textarea,html[data-theme="dark"] select{background:#111820!important;border-color:#394550!important;color:#e5eaf0!important;caret-color:#f0a6bc!important}
html[data-theme="dark"] input::placeholder,html[data-theme="dark"] textarea::placeholder{color:#7f8a96!important;opacity:1!important}
html[data-theme="dark"] .chat-contact-benefits,html[data-theme="dark"] .chat-identity-details,html[data-theme="dark"] .chat-recovery-flow,html[data-theme="dark"] .chat-history-search-flow{background:#141c24!important;border-color:#313d48!important;color:#dbe2e9!important}
html[data-theme="dark"] .chat-contact-benefits span,html[data-theme="dark"] .chat-identity-card p,html[data-theme="dark"] .chat-identity-card label,html[data-theme="dark"] .chat-roaming-card p{color:#aab5bf!important}
html[data-theme="dark"] .chat-contact-save,html[data-theme="dark"] .chat-now-button,html[data-theme="dark"] .feedback-submit-btn,html[data-theme="dark"] #subscriptionSubmit{color:#fff7fa!important}
html[data-theme="dark"] .chat-skip-primary,html[data-theme="dark"] .chat-history-search-toggle,html[data-theme="dark"] .chat-tool-btn,html[data-theme="dark"] .chat-send-mode{background:#1a232c!important;border-color:#394651!important;color:#cbd4dc!important}
html[data-theme="dark"] .chat-pinned-bar,html[data-theme="dark"] .chat-reply-preview,html[data-theme="dark"] .chat-pending-files{background:#151e26!important;border-color:#34414c!important;color:#d7dfe7!important}
html[data-theme="dark"] .chat-attachment-footer{background:#151d25!important;border-color:#34414d!important}.chat-attachment-footer .chat-attachment-label{color:inherit}
html[data-theme="dark"] .account-contact-prompt[role="button"]:focus-visible{box-shadow:0 0 0 4px rgba(91,190,119,.24)!important}
html[data-theme="dark"] .summary-card.partial.v41-status-alert,html[data-theme="dark"] .summary-card.core.v41-status-alert{animation-name:v41SummaryAlertDark!important}
@keyframes v41SummaryAlertDark{0%,100%{filter:brightness(1);box-shadow:0 14px 28px rgba(0,0,0,.22)}50%{filter:brightness(1.11);box-shadow:0 0 0 5px rgba(227,124,157,.18),0 18px 38px rgba(0,0,0,.34)}}
@media(prefers-reduced-motion:reduce){.summary-card.partial.v41-status-alert,.summary-card.core.v41-status-alert{animation-duration:8s!important}.manual-source .manual-source-dot.platform-foot-dot.normal{animation-duration:3s!important}.manual-source .manual-source-dot.platform-foot-dot.normal::before{animation-duration:3s!important}}
/* v41 final dark text/button audit */
html[data-theme="dark"] .notification-modal h2,html[data-theme="dark"] .notification-modal h3,html[data-theme="dark"] .notification-modal b,
html[data-theme="dark"] .chat-identity-card h3,html[data-theme="dark"] .chat-identity-card strong,html[data-theme="dark"] .chat-roaming-card strong,
html[data-theme="dark"] .feedback-modal h2,html[data-theme="dark"] .feedback-modal h3,html[data-theme="dark"] .feedback-modal label>span,
html[data-theme="dark"] .account-modal h2,html[data-theme="dark"] .account-modal h3,html[data-theme="dark"] .account-modal h4{color:#edf2f6!important}
html[data-theme="dark"] .notification-modal p,html[data-theme="dark"] .notification-modal span,html[data-theme="dark"] .feedback-modal p,
html[data-theme="dark"] .feedback-modal small,html[data-theme="dark"] .account-modal p,html[data-theme="dark"] .account-modal small{color:#aab5bf!important}
html[data-theme="dark"] .primary,html[data-theme="dark"] .primary-btn,html[data-theme="dark"] .chat-send-btn{border-color:#a25b74!important}
html[data-theme="dark"] .secondary,html[data-theme="dark"] .outline-danger-btn{background:#1a232c!important;color:#cbd5df!important;border-color:#3a4753!important}
html[data-theme="dark"] .modal-close{background:#202a34!important;color:#d9e1e8!important;border-color:#3b4855!important}
html[data-theme="dark"] a{color:#d98ca4}html[data-theme="dark"] a:hover{color:#f0b0c3}


/* === v42 refinements === */
/* Independent maintenance lamp: same size as the normal platform lamp, same blink cadence as core. */
.manual-source .v42-maintenance-dot.platform-foot-dot.normal{
  animation:v19SignalHalo .92s cubic-bezier(.4,0,.6,1) infinite!important;
}
.manual-source .v42-maintenance-dot.platform-foot-dot.normal::before{
  animation:v19SignalBlink .92s cubic-bezier(.4,0,.6,1) infinite!important;
}

/* Partial/core summaries breathe whenever their count is non-zero. Timing mirrors chatFab. */
.summary-card.partial.v41-status-alert,
.summary-card.core.v41-status-alert{
  --v42-summary-rgb:217,156,31;
  animation:v42SummaryBorderPulse 5.8s ease-in-out infinite!important;
  transform-origin:center;
  will-change:filter,box-shadow,transform;
}
.summary-card.core.v41-status-alert{--v42-summary-rgb:205,57,76}
@keyframes v42SummaryBorderPulse{
  0%,100%{filter:brightness(.94) saturate(.99);transform:scale(1);box-shadow:0 12px 28px rgba(42,54,45,.08),0 0 0 0 rgba(var(--v42-summary-rgb),0)}
  50%{filter:brightness(1.13) saturate(1.12);transform:scale(1.012);box-shadow:0 18px 38px rgba(42,54,45,.13),0 0 0 7px rgba(var(--v42-summary-rgb),.15),0 0 23px rgba(var(--v42-summary-rgb),.22)}
}
/* Core should read as clearly more serious than the previous pale pink. */
.summary-card.core{
  background:linear-gradient(145deg,#fff6f8 0%,#ffdbe2 58%,#ffcbd5 100%)!important;
  border-color:#e5a0ae!important;
}
.summary-card.core .summary-icon{
  background:#f8d4da!important;color:#b92f45!important;box-shadow:0 8px 22px rgba(190,45,68,.22)!important;
}
.summary-card.core.v41-status-alert.tap-light,
.summary-card.core.v41-status-alert.summary-click-glow{
  background:linear-gradient(145deg,#fff2f5 0%,#ffd2dc 55%,#ffbfcc 100%)!important;
  border-color:#dd8296!important;
}
html[data-theme="dark"] .summary-card.partial.v41-status-alert,
html[data-theme="dark"] .summary-card.core.v41-status-alert{animation-name:v42SummaryBorderPulseDark!important}
@keyframes v42SummaryBorderPulseDark{
  0%,100%{filter:brightness(.98) saturate(1);transform:scale(1);box-shadow:0 14px 28px rgba(0,0,0,.24),0 0 0 0 rgba(var(--v42-summary-rgb),0)}
  50%{filter:brightness(1.14) saturate(1.14);transform:scale(1.012);box-shadow:0 18px 38px rgba(0,0,0,.38),0 0 0 7px rgba(var(--v42-summary-rgb),.20),0 0 24px rgba(var(--v42-summary-rgb),.28)}
}
html[data-theme="dark"] .summary-card.core,
html[data-theme="dark"] .summary-card.core.v41-status-alert.tap-light,
html[data-theme="dark"] .summary-card.core.v41-status-alert.summary-click-glow{
  background:linear-gradient(145deg,#23191e,#4b202a)!important;border-color:#7b3949!important;
}

/* Five-border-flash cue for the persistent app download panel. */
.v42-app-download-flash{animation:v42AppDownloadFlash .72s ease-in-out 5!important;position:relative;z-index:8}
@keyframes v42AppDownloadFlash{
  0%,100%{filter:brightness(1);box-shadow:0 14px 34px rgba(126,66,88,.10),0 0 0 0 rgba(222,116,151,0)}
  50%{filter:brightness(1.08);box-shadow:0 16px 38px rgba(126,66,88,.14),0 0 0 8px rgba(222,116,151,.30)}
}

/* Logout now lives in the chat header, immediately beside minimize. */
.chat-header{grid-template-columns:44px minmax(0,1fr) auto!important}
.chat-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;min-width:0}
.chat-header-actions .chat-identity-logout{
  min-height:34px;padding:0 11px;white-space:nowrap;font-size:9px;font-weight:900;border-radius:11px;
  border:1px solid #d58da5;background:#fff0f5;color:#9d3f5e;box-shadow:0 5px 15px rgba(181,75,109,.12)
}
.chat-header-actions .chat-identity-logout:hover,.chat-header-actions .chat-identity-logout:focus-visible{background:#ffe3ec;border-color:#c96f8b;color:#7f2947;outline:none;box-shadow:0 0 0 3px rgba(215,111,145,.15)}
html[data-theme="dark"] .chat-header-actions .chat-identity-logout{
  background:linear-gradient(135deg,#8e3d5b,#b64f70)!important;border-color:#d87999!important;color:#fff8fb!important;
  box-shadow:0 0 0 1px rgba(255,255,255,.06) inset,0 7px 20px rgba(141,49,82,.34)!important
}
html[data-theme="dark"] .chat-header-actions .chat-identity-logout:hover,
html[data-theme="dark"] .chat-header-actions .chat-identity-logout:focus-visible{background:linear-gradient(135deg,#a34566,#cf6385)!important;border-color:#ef9ab4!important;color:#fff!important;box-shadow:0 0 0 3px rgba(226,107,145,.22),0 8px 22px rgba(0,0,0,.34)!important}
@media(max-width:760px){
  .chat-header{grid-template-columns:40px minmax(0,1fr) auto!important;gap:8px!important;padding:12px 11px!important}
  .chat-header-actions{gap:4px}
  .chat-header-actions .chat-identity-logout{min-height:32px;max-width:90px;padding:0 8px;font-size:8.5px;overflow:hidden;text-overflow:ellipsis}
  .chat-header-actions .chat-close{width:32px;height:32px;flex:0 0 32px}
}
@media(max-width:390px){.chat-header-actions .chat-identity-logout{max-width:68px;padding:0 7px;font-size:8px}}

/* v27 notification prompt dark-mode parity. */
html[data-theme="dark"] .v27-chat-notification-prompt{
  background:linear-gradient(145deg,#1e252e,#171e26)!important;border-color:#3c4855!important;color:#e8edf3!important;
  box-shadow:0 10px 28px rgba(0,0,0,.30)!important
}
html[data-theme="dark"] .v27-chat-notify-icon{background:#30222a!important;color:#f2b1c5!important}
html[data-theme="dark"] .v27-chat-notify-copy strong{color:#f2f5f8!important}
html[data-theme="dark"] .v27-chat-notify-copy p{color:#abb5c0!important}
html[data-theme="dark"] .v27-chat-notify-later{background:#202933!important;border-color:#414e5a!important;color:#d6dde5!important}
html[data-theme="dark"] .v27-chat-notify-enable{color:#fff8fb!important;border:1px solid #b9617d!important}

@media(prefers-reduced-motion:reduce){
  .manual-source .v42-maintenance-dot.platform-foot-dot.normal,
  .manual-source .v42-maintenance-dot.platform-foot-dot.normal::before{animation:none!important}
  .summary-card.partial.v41-status-alert,.summary-card.core.v41-status-alert{animation-duration:7.6s!important}
  .v40-notices-flash,.v42-app-download-flash{animation:none!important}
}

/* === v42.0.1 targeted patch === */
/* Announcement popup: keep both the active primary button and its countdown/disabled state legible in dark mode. */
html[data-theme="dark"] #announcementModal .announcement-modal .primary-btn{
  background:linear-gradient(135deg,#9f4968,#c45e80)!important;
  border:1px solid #e088a4!important;
  color:#fffafd!important;
  text-shadow:0 1px 1px rgba(61,18,36,.34);
  box-shadow:0 8px 22px rgba(133,48,79,.32)!important;
}
html[data-theme="dark"] #announcementModal #announcementConfirm:disabled{
  opacity:1!important;
  background:linear-gradient(135deg,#563644,#6c4051)!important;
  border-color:#976276!important;
  color:#f8e8ef!important;
  filter:none!important;
  text-shadow:0 1px 1px rgba(0,0,0,.34);
  box-shadow:0 0 0 1px rgba(255,255,255,.035) inset!important;
}

/* Maintenance lamp: use the exact whole-lens cadence that a core platform lamp uses. */
.manual-source .v42-maintenance-dot.platform-foot-dot.normal{
  animation:v19WholeSignalBlink .92s cubic-bezier(.42,0,.58,1) infinite!important;
  transform-origin:center;
}
.manual-source .v42-maintenance-dot.platform-foot-dot.normal::before{
  animation:v19SignalBlink .92s cubic-bezier(.4,0,.6,1) infinite!important;
}

/* Status names in the three summary cards should read as labels, not secondary copy. */
.summary-grid .summary-card > div > span[data-i18n]{font-weight:800!important;}

/* Mobile QR action wording; desktop keeps the shorter label. */
.qr-save-label-mobile{display:none;}
@media(max-width:760px){
  #accountModalQrDownload .qr-save-label-desktop{display:none!important;}
  #accountModalQrDownload .qr-save-label-mobile{display:inline!important;}
}


/* === v42.0.2 targeted patch === */
/* Maintenance lamp: slower, softer breathing instead of on/off blinking. */
.manual-source .v42-maintenance-dot.platform-foot-dot.normal{
  animation:v4202MaintenanceBreathe 2.6s ease-in-out infinite!important;
  transform-origin:center;
  will-change:transform,filter,box-shadow,opacity;
}
.manual-source .v42-maintenance-dot.platform-foot-dot.normal::before{
  animation:v4202MaintenanceInnerBreathe 2.6s ease-in-out infinite!important;
}
@keyframes v4202MaintenanceBreathe{
  0%,100%{
    opacity:.78;
    transform:scale(.96);
    filter:brightness(.90) saturate(.96);
    box-shadow:0 0 0 1px rgba(255,255,255,.72) inset,0 0 3px rgba(72,213,121,.14)!important;
  }
  50%{
    opacity:1;
    transform:scale(1.045);
    filter:brightness(1.18) saturate(1.08);
    box-shadow:0 0 0 1px rgba(255,255,255,.78) inset,0 0 9px rgba(72,213,121,.42),0 0 0 3px rgba(72,213,121,.10)!important;
  }
}
@keyframes v4202MaintenanceInnerBreathe{
  0%,100%{opacity:.62!important;filter:drop-shadow(0 0 .8px rgba(72,213,121,.40)) brightness(.90)!important}
  50%{opacity:1!important;filter:drop-shadow(0 0 2.8px rgba(72,213,121,.92)) brightness(1.16)!important}
}
@media(prefers-reduced-motion:reduce){
  .manual-source .v42-maintenance-dot.platform-foot-dot.normal,
  .manual-source .v42-maintenance-dot.platform-foot-dot.normal::before{animation-duration:4.8s!important}
}

/* Keep the top Feedback Center brand color unchanged in dark mode. */
html[data-theme="dark"] .topnav.v26-topnav a[data-v26-action="feedback"],
html[data-theme="dark"] .topnav.v26-topnav a[data-v26-action="feedback"]:visited{
  color:#a64d6e!important;
}
html[data-theme="dark"] .topnav.v26-topnav a[data-v26-action="feedback"]:hover,
html[data-theme="dark"] .topnav.v26-topnav a[data-v26-action="feedback"]:focus-visible{
  color:#a64d6e!important;
}

/* More business-like overview clock: precise line icon and restrained card treatment. */
.overview-clock-icon{
  border-radius:10px!important;
  background:linear-gradient(145deg,#f7fbff,#e5f0fa)!important;
  color:#326f9e!important;
  border:1px solid rgba(50,111,158,.18)!important;
  box-shadow:0 7px 18px rgba(40,91,130,.10),inset 0 1px 0 rgba(255,255,255,.92)!important;
}
.overview-clock-icon svg{width:21px;height:21px;display:block;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.overview-clock-icon .overview-clock-tick{stroke-width:1.35;opacity:.72}
html[data-theme="dark"] .overview-clock-icon{
  background:linear-gradient(145deg,#1b2a36,#15212b)!important;
  color:#8fc4e8!important;
  border-color:#334b5e!important;
  box-shadow:0 7px 18px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.035)!important;
}

/* === v42.0.4 QR cue, banner tap target and announcement attention === */
/* Opening-page QR cue: exactly ten slow breathing cycles. The explicit top-nav
   "Add friend" action continues to use v38-qr-flash and is intentionally separate. */
.qr-ready.account-qr-button.v40-qr-auto-pulse{
  animation:v4204InitialQrBreath 1.08s ease-in-out 10!important;
  transform-origin:center;
}
@keyframes v4204InitialQrBreath{
  0%,100%{filter:brightness(1);box-shadow:0 0 0 0 rgba(83,167,105,0);transform:scale(1)}
  50%{filter:brightness(1.085);box-shadow:0 0 0 5px rgba(83,167,105,.16),0 9px 22px rgba(59,125,78,.12);transform:scale(1.012)}
}

/* The contact prompt uses the requested #cb5363 border cue; QR buttons keep their
   existing green cue so the two controls remain visually distinguishable. */
@keyframes v4204ContactPromptFlash{
  0%,100%{filter:brightness(1);box-shadow:0 0 0 0 rgba(203,83,99,0);transform:scale(1)}
  50%{filter:brightness(1.07);border-color:#cb5363;box-shadow:0 0 0 5px rgba(203,83,99,.30),0 10px 24px rgba(203,83,99,.14);transform:scale(1.012)}
}
.account-contact-prompt.v38-qr-flash{
  animation:v4204ContactPromptFlash .8s ease-in-out var(--v38-flash-count,5)!important;
}

/* Larger, layered close target prevents taps near the edge from falling through
   to the banner body, especially on narrow touch screens. */
.top-announcement-row{padding-right:66px!important}
.top-announcement-content{position:relative;z-index:1}
.top-announcement-close{
  z-index:6!important;right:8px!important;width:44px!important;height:44px!important;
  min-width:44px;min-height:44px;display:grid!important;place-items:center!important;
  padding:0!important;line-height:1!important;touch-action:manipulation;-webkit-tap-highlight-color:transparent;
}
.top-announcement-close:focus-visible{outline:2px solid currentColor;outline-offset:-5px}
@media(max-width:760px){
  .top-announcement-row{padding-right:56px!important}
  .top-announcement-close{right:3px!important;width:42px!important;height:42px!important;min-width:42px;min-height:42px;font-size:20px!important}
}
