/* Tiger Light Heritage
   Keep the original Tiger gold, shield, rings, card depth and touch motion,
   but move every player-facing surface onto a warm light foundation. */
:root{
  --app-blue:#c88722;
  --app-blue-pressed:#a96614;
  --app-blue-soft:#fff3da;
  --app-ink:#26322b;
  --app-muted:#7d827c;
  --app-line:#e8dfcf;
  --app-canvas:#f6f3ec;
  --app-card:#fffdfa;
  --app-success:#3e8068;
  --app-danger:#dc554f;
  --tiger-light-gold:#c88722;
  --tiger-light-gold-strong:#a96614;
  --tiger-light-gold-soft:#fff3da;
  --tiger-light-jade:#3e8068;
  --tiger-light-jade-soft:#e7f3ed;
  --tiger-light-ink:#26322b;
  --tiger-light-card:#fffdfa;
  --tiger-light-canvas:#f6f3ec;
  --tiger-light-line:#e6dbc7;
  --tiger-light-shadow:0 10px 28px #6f552014;
  color-scheme:light;
  background:var(--tiger-light-canvas);
}

/* Frozen shared chat composer. Private chat, ordinary groups, support and
   permanent game/system groups all use the same WeChat-style order and size:
   voice -> flexible input -> emoji -> more/send. Only copy and available
   actions may differ by conversation. */
body:not(.admin-site) .wx-chat-composer.wx-chat-composer--unified,
body:not(.admin-site) #game.has-active-room .chat-composer.wx-chat-composer.wx-chat-composer--unified{
  position:relative!important;
  display:grid!important;
  grid-template-columns:30px minmax(0,1fr) 30px 30px!important;
  grid-template-rows:40px!important;
  align-items:center!important;
  gap:11px!important;
  box-sizing:border-box!important;
  width:100%!important;
  min-width:0!important;
  min-height:60px!important;
  height:auto!important;
  margin:0!important;
  padding:9px 12px calc(10px + env(safe-area-inset-bottom))!important;
  overflow:visible!important;
  border:0!important;
  border-top:1px solid var(--tiger-light-line)!important;
  border-radius:0!important;
  background:#f7f7f7!important;
  box-shadow:none!important;
}
body:not(.admin-site) .wx-chat-composer.wx-chat-composer--unified.has-sendable-content,
body:not(.admin-site) #game.has-active-room .chat-composer.wx-chat-composer.wx-chat-composer--unified.has-sendable-content{
  grid-template-columns:30px minmax(0,1fr) 30px 52px!important;
}
body:not(.admin-site) .wx-chat-composer.wx-chat-composer--unified:not(.has-plus-actions):not(.has-sendable-content),
body:not(.admin-site) #game.has-active-room .chat-composer.wx-chat-composer.wx-chat-composer--unified:not(.has-plus-actions):not(.has-sendable-content){
  grid-template-columns:30px minmax(0,1fr) 30px!important;
}
body:not(.admin-site) .wx-chat-composer--unified>.chat-voice-control,
body:not(.admin-site) #game.has-active-room .chat-composer.wx-chat-composer--unified>.chat-voice-control{
  grid-column:1!important;
  grid-row:1!important;
}
body:not(.admin-site) .wx-chat-composer--unified>.chat-input-wrap,
body:not(.admin-site) #game.has-active-room .chat-composer.wx-chat-composer--unified>.chat-input-wrap{
  position:relative!important;
  grid-column:2!important;
  grid-row:1!important;
  box-sizing:border-box!important;
  width:100%!important;
  min-width:0!important;
  height:40px!important;
  border:0!important;
  border-radius:4px!important;
  background:transparent!important;
}
body:not(.admin-site) .wx-chat-composer--unified .wx-chat-input,
body:not(.admin-site) #game.has-active-room .chat-composer.wx-chat-composer--unified .wx-chat-input{
  box-sizing:border-box!important;
  width:100%!important;
  min-width:0!important;
  height:40px!important;
  min-height:40px!important;
  margin:0!important;
  padding:0 38px 0 10px!important;
  border:0!important;
  border-radius:4px!important;
  background:#fff!important;
  color:var(--tiger-light-ink)!important;
  box-shadow:none!important;
  font-size:16px!important;
  line-height:40px!important;
}
body:not(.admin-site) .wx-chat-composer--unified .wx-chat-input::placeholder,
body:not(.admin-site) #game.has-active-room .chat-composer.wx-chat-composer--unified .wx-chat-input::placeholder{
  color:#929892!important;
  opacity:1!important;
}
body:not(.admin-site) .wx-chat-composer--unified>.chat-emoji-control,
body:not(.admin-site) #game.has-active-room .chat-composer.wx-chat-composer--unified>.chat-emoji-control{
  position:static!important;
  inset:auto!important;
  grid-column:3!important;
  grid-row:1!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
}
body:not(.admin-site) .wx-chat-composer--unified>.chat-plus-control,
body:not(.admin-site) .wx-chat-composer--unified>.chat-send-control,
body:not(.admin-site) #game.has-active-room .chat-composer.wx-chat-composer--unified>.chat-plus-control,
body:not(.admin-site) #game.has-active-room .chat-composer.wx-chat-composer--unified>.chat-send-control{
  grid-column:4!important;
  grid-row:1!important;
}
body:not(.admin-site) .wx-chat-composer--unified :is(.chat-voice-control,.chat-emoji-control,.chat-plus-control),
body:not(.admin-site) #game.has-active-room .chat-composer.wx-chat-composer--unified :is(.chat-voice-control,.chat-emoji-control,.chat-plus-control){
  display:grid!important;
  place-items:center!important;
  width:30px!important;
  min-width:30px!important;
  height:30px!important;
  min-height:30px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:50%!important;
  background:transparent!important;
  color:#191919!important;
  box-shadow:none!important;
}
body:not(.admin-site) .wx-chat-composer--unified .chat-control-icon,
body:not(.admin-site) #game.has-active-room .chat-composer.wx-chat-composer--unified .chat-control-icon{
  width:30px!important;
  height:30px!important;
}
body:not(.admin-site) .wx-chat-composer--unified>.chat-send-control,
body:not(.admin-site) #game.has-active-room .chat-composer.wx-chat-composer--unified>.chat-send-control{
  display:grid!important;
  place-items:center!important;
  width:52px!important;
  min-width:52px!important;
  height:32px!important;
  min-height:32px!important;
  margin:0!important;
  padding:0 8px!important;
  border:0!important;
  border-radius:4px!important;
  background:var(--tiger-light-jade)!important;
  color:#fff!important;
  box-shadow:none!important;
  font-size:14px!important;
  font-weight:700!important;
}
body:not(.admin-site) .wx-chat-composer--unified :is(.chat-voice-control,.chat-plus-control,.chat-send-control)[hidden],
body:not(.admin-site) #game.has-active-room .chat-composer.wx-chat-composer--unified :is(.chat-voice-control,.chat-plus-control,.chat-send-control)[hidden]{
  display:none!important;
}

body:not(.admin-site) .inline-detail-page[hidden]{display:none!important}
body:not(.admin-site) .wx-chat-composer--unified :is(.chat-voice-control,.chat-emoji-control,.chat-plus-control):active,
body:not(.admin-site) #game.has-active-room .chat-composer.wx-chat-composer--unified :is(.chat-voice-control,.chat-emoji-control,.chat-plus-control):active{
  border-color:#dfc289!important;
  background:var(--tiger-light-gold-soft)!important;
  color:var(--tiger-light-gold-strong)!important;
}

/* The expression tray is also shared so the system-group exception cannot
   reintroduce a different bottom-control geometry. */
body:not(.admin-site) .wx-chat-composer--unified>.chat-emoji-panel,
body:not(.admin-site) #game.has-active-room .chat-composer.wx-chat-composer--unified>.chat-emoji-panel{
  position:absolute!important;
  z-index:12!important;
  right:0!important;
  bottom:calc(100% - 1px)!important;
  left:0!important;
  box-sizing:border-box!important;
  display:flex!important;
  flex-direction:column!important;
  width:auto!important;
  height:min(42dvh,360px)!important;
  max-height:calc(var(--player-visual-viewport-height,100dvh) - 112px)!important;
  padding:10px 10px calc(8px + env(safe-area-inset-bottom))!important;
  overflow:hidden!important;
  border:0!important;
  border-top:1px solid var(--tiger-light-line)!important;
  border-bottom:1px solid var(--tiger-light-line)!important;
  border-radius:16px 16px 0 0!important;
  background:var(--tiger-light-canvas)!important;
  box-shadow:0 -12px 30px #6f552014!important;
}
body:not(.admin-site) .wx-chat-composer--unified>.chat-emoji-panel[hidden],
body:not(.admin-site) #game.has-active-room .chat-composer.wx-chat-composer--unified>.chat-emoji-panel[hidden]{display:none!important}
body:not(.admin-site) .wx-chat-composer--unified .chat-sticker-grid,
body:not(.admin-site) #game.has-active-room .chat-composer.wx-chat-composer--unified .chat-sticker-grid{
  order:1!important;
  display:grid!important;
  grid-template-columns:repeat(7,minmax(0,1fr))!important;
  gap:6px 3px!important;
  min-height:0!important;
  max-height:none!important;
  padding:8px 1px!important;
  overflow-y:auto!important;
}
body:not(.admin-site) .wx-chat-composer--unified .chat-sticker-grid .chat-emoji-option,
body:not(.admin-site) #game.has-active-room .chat-composer.wx-chat-composer--unified .chat-sticker-grid .chat-emoji-option,
body:not(.admin-site) #game .chat-composer .chat-sticker-grid .chat-emoji-option{
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
body:not(.admin-site) .wx-chat-composer--unified .chat-sticker-grid .chat-emoji-option:active,
body:not(.admin-site) #game.has-active-room .chat-composer.wx-chat-composer--unified .chat-sticker-grid .chat-emoji-option:active,
body:not(.admin-site) #game .chat-composer .chat-sticker-grid .chat-emoji-option:active{
  background:var(--tiger-light-gold-soft)!important;
}
body:not(.admin-site) .wx-chat-composer--unified .chat-sticker-tabs,
body:not(.admin-site) #game.has-active-room .chat-composer.wx-chat-composer--unified .chat-sticker-tabs{
  order:2!important;
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:4px!important;
  padding:8px 0 0!important;
  overflow:visible!important;
  border-top:1px solid var(--tiger-light-line)!important;
  border-bottom:0!important;
}
body:not(.admin-site) .wx-chat-composer--unified .chat-sticker-tabs button,
body:not(.admin-site) #game.has-active-room .chat-composer.wx-chat-composer--unified .chat-sticker-tabs button{
  min-width:0!important;
  min-height:32px!important;
  padding:4px 2px!important;
  border:0!important;
  border-radius:8px!important;
  background:transparent!important;
  color:#747b76!important;
  box-shadow:none!important;
  font-size:11px!important;
}
body:not(.admin-site) .wx-chat-composer--unified .chat-sticker-tabs button.is-active,
body:not(.admin-site) #game.has-active-room .chat-composer.wx-chat-composer--unified .chat-sticker-tabs button.is-active{
  background:var(--tiger-light-gold-soft)!important;
  color:var(--tiger-light-gold-strong)!important;
}
body:not(.admin-site) .wx-chat-composer--unified .chat-emoji-root-tabs,
body:not(.admin-site) #game.has-active-room .chat-composer.wx-chat-composer--unified .chat-emoji-root-tabs{
  grid-template-columns:repeat(2,52px)!important;
  justify-content:start!important;
}
body:not(.admin-site) .wx-chat-composer--unified .chat-emoji-root-tabs button,
body:not(.admin-site) #game.has-active-room .chat-composer.wx-chat-composer--unified .chat-emoji-root-tabs button{
  display:grid!important;
  place-items:center!important;
  min-height:40px!important;
}
body:not(.admin-site) .wx-chat-composer--unified .chat-emoji-root-tabs img,
body:not(.admin-site) #game.has-active-room .chat-composer.wx-chat-composer--unified .chat-emoji-root-tabs img{
  width:28px!important;
  height:28px!important;
  object-fit:contain!important;
}
body:not(.admin-site) .wx-chat-composer--unified .chat-unicode-category-tabs,
body:not(.admin-site) #game.has-active-room .chat-composer.wx-chat-composer--unified .chat-unicode-category-tabs{
  order:0!important;
  display:grid!important;
  grid-template-columns:repeat(8,minmax(0,1fr))!important;
  gap:2px!important;
  padding:0 0 7px!important;
  border-bottom:1px solid var(--tiger-light-line)!important;
}
body:not(.admin-site) .wx-chat-composer--unified .chat-unicode-category-tabs[hidden],
body:not(.admin-site) #game.has-active-room .chat-composer.wx-chat-composer--unified .chat-unicode-category-tabs[hidden]{display:none!important}
body:not(.admin-site) .wx-chat-composer--unified .chat-unicode-category-tabs button,
body:not(.admin-site) #game.has-active-room .chat-composer.wx-chat-composer--unified .chat-unicode-category-tabs button{
  display:grid!important;
  place-items:center!important;
  min-width:0!important;
  min-height:34px!important;
  padding:2px!important;
  border:0!important;
  border-radius:7px!important;
  background:transparent!important;
}
body:not(.admin-site) .wx-chat-composer--unified .chat-unicode-category-tabs button.is-active,
body:not(.admin-site) #game.has-active-room .chat-composer.wx-chat-composer--unified .chat-unicode-category-tabs button.is-active{
  background:var(--tiger-light-gold-soft)!important;
}
body:not(.admin-site) .wx-chat-composer--unified .chat-unicode-emoji-option,
body:not(.admin-site) #game.has-active-room .chat-composer.wx-chat-composer--unified .chat-unicode-emoji-option{
  display:grid!important;
  place-items:center!important;
  width:auto!important;
  min-width:0!important;
  height:42px!important;
  min-height:42px!important;
  padding:4px!important;
  border:0!important;
  border-radius:9px!important;
  background:transparent!important;
}
body:not(.admin-site) .wx-chat-composer--unified .chat-unicode-emoji-option:active,
body:not(.admin-site) #game.has-active-room .chat-composer.wx-chat-composer--unified .chat-unicode-emoji-option:active{
  background:var(--tiger-light-gold-soft)!important;
  transform:scale(.94)!important;
}
body:not(.admin-site) .wx-chat-composer--unified .chat-unicode-emoji-art,
body:not(.admin-site) #game.has-active-room .chat-composer.wx-chat-composer--unified .chat-unicode-emoji-art{
  display:block!important;
  width:28px!important;
  height:28px!important;
  background-repeat:no-repeat!important;
}
body:not(.admin-site) .wx-chat-composer--unified .chat-emoji-variant-strip,
body:not(.admin-site) #game.has-active-room .chat-composer.wx-chat-composer--unified .chat-emoji-variant-strip{
  position:absolute!important;
  z-index:3!important;
  right:10px!important;
  bottom:58px!important;
  left:10px!important;
  display:flex!important;
  justify-content:center!important;
  gap:2px!important;
  padding:5px!important;
  overflow-x:auto!important;
  border:1px solid var(--tiger-light-line)!important;
  border-radius:10px!important;
  background:#fff!important;
  box-shadow:0 5px 18px #4d39182b!important;
}
body:not(.admin-site) .wx-chat-composer--unified .chat-sticker--option,
body:not(.admin-site) #game.has-active-room .chat-composer.wx-chat-composer--unified .chat-sticker--option{
  width:28px!important;
  height:28px!important;
}
body:not(.admin-site) .wx-chat-composer--unified .chat-sticker-credit{display:none!important}

/* Source-app emoji panel: one fixed pack, bottom-sheet layout. The retired
   Unicode/category set is intentionally not rendered; recent items sit above
   the scrollable "全部" grid just like the supplied reference app. */
body:not(.admin-site) .wx-chat-composer--unified>.chat-emoji-panel,
body:not(.admin-site) #game.has-active-room .chat-composer.wx-chat-composer.wx-chat-composer--unified>.chat-emoji-panel{
  height:360px!important;
  padding:8px 12px calc(8px + env(safe-area-inset-bottom))!important;
  gap:0!important;
}
body:not(.admin-site) .wx-chat-composer--unified .chat-emoji-section,
body:not(.admin-site) #game.has-active-room .chat-composer.wx-chat-composer.wx-chat-composer--unified .chat-emoji-section{
  display:block!important;
  min-width:0!important;
}
body:not(.admin-site) .wx-chat-composer--unified .chat-emoji-section-title,
body:not(.admin-site) #game.has-active-room .chat-composer.wx-chat-composer.wx-chat-composer--unified .chat-emoji-section-title{
  box-sizing:border-box!important;
  height:22px!important;
  padding:0!important;
  color:#8a928d!important;
  font-size:12px!important;
  font-weight:400!important;
  line-height:22px!important;
  text-align:left!important;
}
body:not(.admin-site) .wx-chat-composer--unified .chat-emoji-recent-grid,
body:not(.admin-site) #game.has-active-room .chat-composer.wx-chat-composer.wx-chat-composer--unified .chat-emoji-recent-grid{
  display:grid!important;
  grid-template-columns:repeat(7,minmax(0,1fr))!important;
  gap:3px!important;
  min-height:42px!important;
  padding:0 0 4px!important;
  overflow:hidden!important;
}
body:not(.admin-site) .wx-chat-composer--unified .chat-emoji-all-section,
body:not(.admin-site) #game.has-active-room .chat-composer.wx-chat-composer.wx-chat-composer--unified .chat-emoji-all-section{
  display:flex!important;
  flex:1 1 auto!important;
  flex-direction:column!important;
  min-height:0!important;
}
body:not(.admin-site) .wx-chat-composer--unified .chat-emoji-all-section .chat-sticker-grid,
body:not(.admin-site) #game.has-active-room .chat-composer.wx-chat-composer.wx-chat-composer--unified .chat-emoji-all-section .chat-sticker-grid{
  flex:1 1 auto!important;
  order:initial!important;
  min-height:0!important;
  padding:0 0 4px!important;
  overflow-y:auto!important;
}
body:not(.admin-site) .wx-chat-composer--unified :is(.chat-emoji-recent-grid,.chat-emoji-all-section) .chat-emoji-option,
body:not(.admin-site) #game.has-active-room .chat-composer.wx-chat-composer.wx-chat-composer--unified :is(.chat-emoji-recent-grid,.chat-emoji-all-section) .chat-emoji-option{
  display:grid!important;
  place-items:center!important;
  width:auto!important;
  min-width:0!important;
  height:42px!important;
  min-height:42px!important;
  padding:2px!important;
  border:0!important;
  border-radius:8px!important;
  background:transparent!important;
  box-shadow:none!important;
}
body:not(.admin-site) .wx-chat-composer--unified :is(.chat-emoji-recent-grid,.chat-emoji-all-section) .chat-emoji-option:active,
body:not(.admin-site) #game.has-active-room .chat-composer.wx-chat-composer.wx-chat-composer--unified :is(.chat-emoji-recent-grid,.chat-emoji-all-section) .chat-emoji-option:active{
  background:var(--tiger-light-gold-soft)!important;
}

/* Specificity lock: legacy detail-page media queries use ID selectors. Keep
   the frozen shared geometry authoritative in every mounted conversation. */
body:not(.admin-site) :is(#chat.is-detail-page .inline-detail-page,#game.has-active-room,#games.is-detail-page .inline-detail-page,.private-chat-dialog,.tiger-sheet-dialog) .wx-chat-composer.wx-chat-composer--unified{
  display:grid!important;
  grid-template-columns:30px minmax(0,1fr) 30px 30px!important;
  grid-template-rows:40px!important;
  align-items:center!important;
  gap:11px!important;
  box-sizing:border-box!important;
  width:100%!important;
  min-width:0!important;
  min-height:60px!important;
  height:auto!important;
  margin:0!important;
  padding:9px 12px calc(10px + env(safe-area-inset-bottom))!important;
  border:0!important;
  border-top:1px solid var(--tiger-light-line)!important;
  border-radius:0!important;
  background:#f7f7f7!important;
}
body:not(.admin-site) :is(#chat.is-detail-page .inline-detail-page,#game.has-active-room,#games.is-detail-page .inline-detail-page,.private-chat-dialog,.tiger-sheet-dialog) .wx-chat-composer.wx-chat-composer--unified.has-sendable-content{
  grid-template-columns:30px minmax(0,1fr) 30px 52px!important;
}
body:not(.admin-site) :is(#chat.is-detail-page .inline-detail-page,#game.has-active-room,#games.is-detail-page .inline-detail-page,.private-chat-dialog,.tiger-sheet-dialog) .wx-chat-composer.wx-chat-composer--unified:not(.has-plus-actions):not(.has-sendable-content){
  grid-template-columns:30px minmax(0,1fr) 30px!important;
}
body:not(.admin-site) :is(#chat.is-detail-page .inline-detail-page,#game.has-active-room,#games.is-detail-page .inline-detail-page,.private-chat-dialog,.tiger-sheet-dialog) .wx-chat-composer--unified>.chat-voice-control{grid-column:1!important;grid-row:1!important}
body:not(.admin-site) :is(#chat.is-detail-page .inline-detail-page,#game.has-active-room,#games.is-detail-page .inline-detail-page,.private-chat-dialog,.tiger-sheet-dialog) .wx-chat-composer--unified>.chat-input-wrap{
  position:relative!important;
  grid-column:2!important;
  grid-row:1!important;
  box-sizing:border-box!important;
  width:100%!important;
  min-width:0!important;
  height:40px!important;
  border:0!important;
  border-radius:4px!important;
  background:transparent!important;
}
body:not(.admin-site) :is(#chat.is-detail-page .inline-detail-page,#game.has-active-room,#games.is-detail-page .inline-detail-page,.private-chat-dialog,.tiger-sheet-dialog) .wx-chat-composer--unified .wx-chat-input{
  box-sizing:border-box!important;
  width:100%!important;
  min-width:0!important;
  height:40px!important;
  min-height:40px!important;
  margin:0!important;
  padding:0 38px 0 10px!important;
  border:0!important;
  border-radius:4px!important;
  background:#fff!important;
  color:var(--tiger-light-ink)!important;
  font-size:16px!important;
  line-height:40px!important;
}
body:not(.admin-site) :is(#chat.is-detail-page .inline-detail-page,#game.has-active-room,#games.is-detail-page .inline-detail-page,.private-chat-dialog,.tiger-sheet-dialog) .wx-chat-composer--unified>.chat-emoji-control{
  position:static!important;
  inset:auto!important;
  grid-column:3!important;
  grid-row:1!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
}
body:not(.admin-site) :is(#chat.is-detail-page .inline-detail-page,#game.has-active-room,#games.is-detail-page .inline-detail-page,.private-chat-dialog,.tiger-sheet-dialog) .wx-chat-composer--unified>:is(.chat-plus-control,.chat-send-control){grid-column:4!important;grid-row:1!important}
body:not(.admin-site) :is(#chat.is-detail-page .inline-detail-page,#game.has-active-room,#games.is-detail-page .inline-detail-page,.private-chat-dialog,.tiger-sheet-dialog) .wx-chat-composer--unified>:is(.chat-voice-control,.chat-emoji-control,.chat-plus-control){
  display:grid!important;
  place-items:center!important;
  width:30px!important;
  min-width:30px!important;
  height:30px!important;
  min-height:30px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:50%!important;
  background:transparent!important;
  color:#191919!important;
}
body:not(.admin-site) :is(#chat.is-detail-page .inline-detail-page,#game.has-active-room,#games.is-detail-page .inline-detail-page,.private-chat-dialog,.tiger-sheet-dialog) .wx-chat-composer--unified>.chat-send-control{
  display:grid!important;
  place-items:center!important;
  width:52px!important;
  min-width:52px!important;
  height:32px!important;
  min-height:32px!important;
  margin:0!important;
  padding:0 8px!important;
  border:0!important;
  border-radius:4px!important;
  background:var(--tiger-light-jade)!important;
  color:#fff!important;
  font-size:14px!important;
  font-weight:700!important;
}
body:not(.admin-site) :is(#chat.is-detail-page .inline-detail-page,#game.has-active-room,#games.is-detail-page .inline-detail-page,.private-chat-dialog,.tiger-sheet-dialog) .wx-chat-composer--unified>:is(.chat-voice-control,.chat-plus-control,.chat-send-control)[hidden]{display:none!important}

/* Final shared attachment tray: one component for private, ordinary-group,
   support and permanent-game conversations. Semantic icons come from the
   composer instead of position-based pseudo content. */
body:not(.admin-site) .wx-chat-composer>.chat-plus-panel,
body:not(.admin-site) #game.has-active-room .chat-composer.wx-chat-composer>.chat-plus-panel{
  position:absolute!important;
  z-index:12!important;
  right:0!important;
  bottom:calc(100% - 1px)!important;
  left:0!important;
  box-sizing:border-box!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  justify-content:start!important;
  gap:18px 8px!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  min-height:0!important;
  max-height:min(320px,calc(var(--player-visual-viewport-height,100dvh) - 112px))!important;
  padding:18px 12px 16px!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  border:0!important;
  border-top:1px solid var(--tiger-light-line)!important;
  border-bottom:1px solid var(--tiger-light-line)!important;
  border-radius:16px 16px 0 0!important;
  background:var(--tiger-light-canvas)!important;
  box-shadow:0 -12px 30px #6f552014!important;
}
body:not(.admin-site) .wx-chat-composer>.chat-plus-panel[hidden],
body:not(.admin-site) #game.has-active-room .chat-composer.wx-chat-composer>.chat-plus-panel[hidden]{display:none!important}
body:not(.admin-site) .wx-chat-composer>.chat-plus-panel:is(.has-four-actions,.has-many-actions),
body:not(.admin-site) #game.has-active-room .chat-composer.wx-chat-composer>.chat-plus-panel:is(.has-four-actions,.has-many-actions){
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  width:auto!important;
}
body:not(.admin-site) .wx-chat-composer .chat-plus-option,
body:not(.admin-site) #game.has-active-room .chat-composer.wx-chat-composer .chat-plus-option{
  display:grid!important;
  grid-template-rows:58px auto!important;
  place-items:start center!important;
  align-content:start!important;
  gap:7px!important;
  min-width:0!important;
  min-height:84px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#6f6a61!important;
  box-shadow:none!important;
  font-size:12px!important;
  font-weight:500!important;
  line-height:1.25!important;
  transition:none!important;
}
body:not(.admin-site) .wx-chat-composer .chat-plus-option::before,
body:not(.admin-site) #game.has-active-room .chat-composer.wx-chat-composer .chat-plus-option::before{
  display:none!important;
  content:none!important;
}
body:not(.admin-site) .wx-chat-composer .chat-plus-option-visual,
body:not(.admin-site) #game.has-active-room .chat-composer.wx-chat-composer .chat-plus-option-visual{
  display:grid!important;
  place-items:center!important;
  width:56px!important;
  height:56px!important;
  border:1px solid var(--tiger-light-line)!important;
  border-radius:14px!important;
  background:var(--tiger-light-card)!important;
  color:#59655f!important;
  box-shadow:0 3px 10px #6f552012,inset 0 1px #fff!important;
  transition:transform .12s ease,background-color .12s ease,border-color .12s ease,color .12s ease!important;
}
body:not(.admin-site) .wx-chat-composer .chat-plus-option-icon{
  display:block!important;
  width:27px!important;
  height:27px!important;
  overflow:visible!important;
  pointer-events:none!important;
}
body:not(.admin-site) .wx-chat-composer .chat-plus-option-label{
  display:block!important;
  max-width:100%!important;
  overflow:hidden!important;
  color:#6f6a61!important;
  line-height:1.25!important;
  text-align:center!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
body:not(.admin-site) .wx-chat-composer .chat-plus-option[data-action-kind="image"] .chat-plus-option-visual,
body:not(.admin-site) .wx-chat-composer .chat-plus-option[data-action-kind="original"] .chat-plus-option-visual{color:var(--tiger-light-gold-strong)!important}
body:not(.admin-site) .wx-chat-composer .chat-plus-option[data-action-kind="camera"] .chat-plus-option-visual,
body:not(.admin-site) .wx-chat-composer .chat-plus-option[data-action-kind="video"] .chat-plus-option-visual{color:var(--tiger-light-jade)!important}
body:not(.admin-site) .wx-chat-composer .chat-plus-option[data-action-kind="redpacket"] .chat-plus-option-visual{color:#b85d45!important}
body:not(.admin-site) .wx-chat-composer .chat-plus-option:focus-visible{outline:0!important}
body:not(.admin-site) .wx-chat-composer .chat-plus-option:focus-visible .chat-plus-option-visual{
  outline:2px solid var(--tiger-light-gold)!important;
  outline-offset:2px!important;
}
body:not(.admin-site) .wx-chat-composer .chat-plus-option:active{transform:none!important;background:transparent!important}
body:not(.admin-site) .wx-chat-composer .chat-plus-option:active .chat-plus-option-visual{
  border-color:#dfc083!important;
  background:var(--tiger-light-gold-soft)!important;
  color:var(--tiger-light-gold-strong)!important;
  transform:scale(.95)!important;
}
body:not(.admin-site) .wx-chat-composer .chat-plus-control[aria-expanded="true"],
body:not(.admin-site) .wx-chat-composer .chat-emoji-control[aria-expanded="true"]{
  border:1px solid #dfc289!important;
  border-radius:50%!important;
  background:var(--tiger-light-gold-soft)!important;
  color:var(--tiger-light-gold-strong)!important;
  box-shadow:none!important;
}
@media(max-width:320px){
  body:not(.admin-site) .wx-chat-composer>.chat-plus-panel,
  body:not(.admin-site) #game.has-active-room .chat-composer.wx-chat-composer>.chat-plus-panel{gap:14px 2px!important;padding-inline:6px!important}
  body:not(.admin-site) .wx-chat-composer .chat-plus-option{grid-template-rows:52px auto!important;min-height:78px!important}
  body:not(.admin-site) .wx-chat-composer .chat-plus-option-visual{width:50px!important;height:50px!important;border-radius:13px!important}
}

html,
body:not(.admin-site),
body:not(.admin-site)>.app,
body:not(.admin-site) :is(.new-app-primary-view,.wx-profile-hub){
  background:var(--tiger-light-canvas)!important;
  color:var(--tiger-light-ink)!important;
}
body.mobile-preview{background:#eee9df!important}
body:not(.admin-site)>.app,
body.mobile-preview .app{
  border-color:#dfd5c3!important;
  box-shadow:0 24px 64px #5e49221a!important;
}
body:not(.admin-site) :is(button,a,input,select,textarea):focus-visible{
  outline-color:#c8872280!important;
}

body:not(.admin-site) :is(.new-app-primary-view,.wx-profile-hub)>.new-app-page-head{
  border-bottom-color:var(--tiger-light-line)!important;
  background:linear-gradient(180deg,#fffefaee,#fbf6ebee)!important;
  box-shadow:0 5px 16px #75591c0a!important;
}
body:not(.admin-site) :is(.message-head-actions button,.new-app-head-button){
  color:#31453b!important;
}
body:not(.admin-site) :is(.message-head-actions button,.new-app-head-button):active{
  background:#f2e8d5!important;
  color:var(--tiger-light-gold-strong)!important;
}
body:not(.admin-site) .message-head-actions i{border-color:#fffdf8!important}

body:not(.admin-site) :is(.new-app-primary-view,.wx-profile-hub)>.hub-list{
  gap:8px!important;
  padding:0!important;
  overflow:visible!important;
  background:transparent!important;
}
body:not(.admin-site) :is(.new-app-primary-view,.wx-profile-hub)>.hub-list>button,
body:not(.admin-site) .new-app-primary-view .hub-list>button{
  padding:10px 12px!important;
  overflow:hidden!important;
  border:1px solid var(--tiger-light-line)!important;
  border-radius:14px!important;
  background:
    linear-gradient(118deg,#fff0 55%,#e8b54a0d 78%,#fff0 94%),
    var(--tiger-light-card)!important;
  box-shadow:var(--tiger-light-shadow)!important;
}
body:not(.admin-site) :is(.new-app-primary-view,.wx-profile-hub)>.hub-list>button:last-child,
body:not(.admin-site) .new-app-primary-view .hub-list>button:last-child{
  border-bottom:1px solid var(--tiger-light-line)!important;
}
body:not(.admin-site) :is(.new-app-primary-view,.wx-profile-hub)>.hub-list>button:active,
body:not(.admin-site) .new-app-primary-view .hub-list>button:active{
  border-color:#d6bd89!important;
  background:#faf1df!important;
  transform:scale(.985)!important;
}
body:not(.admin-site) :is(.new-app-primary-view,.wx-profile-hub)>.hub-list>button>span,
body:not(.admin-site) .new-app-primary-view .hub-list>button>span{
  border:1px solid #e0bc72!important;
  background:linear-gradient(145deg,#f4b443,#bd7418)!important;
  color:#fffdf7!important;
  box-shadow:inset 0 1px #fff4cf80,0 6px 14px #a4671b25!important;
}
body:not(.admin-site) #contacts .contacts-shortcuts>button:nth-child(2)>span{
  border-color:#93b9a8!important;
  background:linear-gradient(145deg,#5c9a81,#36725d)!important;
  box-shadow:inset 0 1px #effff680,0 6px 14px #285c4820!important;
}
body:not(.admin-site) :is(.new-app-primary-view,.wx-profile-hub)>.hub-list>button>b,
body:not(.admin-site) .new-app-primary-view .hub-list>button>b{
  color:#bba988!important;
}

body:not(.admin-site) .new-app-primary-view .hub-section-title,
body:not(.admin-site) .new-app-primary-view .wx-group-label,
body:not(.admin-site) .wx-profile-hub>.wx-group-label{
  color:#87765c!important;
}
body:not(.admin-site) .new-app-primary-view .hub-section-title span{
  color:#776548!important;
}
body:not(.admin-site) :is(.new-app-empty-card,.support-welcome-card){
  border:1px solid var(--tiger-light-line)!important;
  background:var(--tiger-light-card)!important;
  box-shadow:var(--tiger-light-shadow)!important;
}
body:not(.admin-site) .support-welcome-card>span{
  border:1px solid #e0bc72!important;
  background:linear-gradient(145deg,#f4b443,#bd7418)!important;
  box-shadow:inset 0 1px #fff4cf80,0 6px 14px #a4671b25!important;
}
body:not(.admin-site) .support-availability,
body.player-authenticated:not(.admin-site) .wx-profile-hub .profile-overview::after{
  background:var(--tiger-light-jade-soft)!important;
  color:var(--tiger-light-jade)!important;
}
body:not(.admin-site) .chat-privacy-note{color:#918978!important}
body:not(.admin-site) .chat-privacy-note span{
  border-color:#a9cbbd!important;
  color:var(--tiger-light-jade)!important;
}

body:not(.admin-site) .wx-profile-hub .profile-overview{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  border:1px solid #dfc184!important;
  background:
    radial-gradient(circle at 94% 8%,#dfad4230,transparent 28%),
    linear-gradient(135deg,#fffdf8,#f8ebd1)!important;
  box-shadow:0 15px 34px #7f5b171b,inset 0 1px #fff!important;
}
body:not(.admin-site) .wx-profile-hub .profile-overview::before{
  position:absolute!important;
  z-index:-1!important;
  right:-48px!important;
  top:-64px!important;
  display:block!important;
  width:145px!important;
  height:145px!important;
  border:1px solid #d3a44b42!important;
  border-radius:50%!important;
  background:transparent!important;
  box-shadow:0 0 0 18px #d9ab4d0b,0 0 0 38px #d9ab4d07!important;
  content:""!important;
}
body:not(.admin-site) .wx-profile-hub .profile-hero{
  border-bottom-color:#e3cfaa!important;
  background:transparent!important;
}
body:not(.admin-site) .wx-profile-hub .profile-avatar{
  border:1px solid #d6ad61!important;
  border-radius:15px!important;
  background:linear-gradient(145deg,#f7bd52,#b96f17)!important;
  color:#fffdf8!important;
  box-shadow:inset 0 1px #fff1c880,0 8px 18px #8b571c2a!important;
}
body:not(.admin-site) .wx-profile-hub .profile-avatar.has-avatar-image{background:#fff8e9!important}
body:not(.admin-site) .wx-profile-hub .profile-hero strong{color:var(--tiger-light-ink)!important}
body:not(.admin-site) .wx-profile-hub .profile-id-row button,
body:not(.admin-site) .wx-profile-hub .profile-hero>button:last-child{
  background:#fff1d4!important;
  color:var(--tiger-light-gold-strong)!important;
}
body:not(.admin-site) .wx-profile-hub .wallet-hero{
  border-top-color:#e4cfaa!important;
  background:transparent!important;
}
body:not(.admin-site) .wx-profile-hub .wallet-hero strong{color:#9d6417!important}
body:not(.admin-site) .wx-profile-hub .wallet-hero::after{color:#b28d50!important}

body:not(.admin-site) .bottom-nav{
  border-top-color:#dfd5c4!important;
  background:#fffdf8f2!important;
  box-shadow:0 -8px 24px #6a512014!important;
}
body:not(.admin-site) .bottom-nav button{color:#8d887f!important}
body:not(.admin-site) .bottom-nav button.active{color:var(--tiger-light-gold-strong)!important}
body:not(.admin-site) .bottom-nav button::after{
  bottom:2px!important;
  display:block!important;
  width:4px!important;
  height:4px!important;
  border-radius:50%!important;
  background:var(--tiger-light-gold)!important;
  content:""!important;
}
body:not(.admin-site) .bottom-nav button:not(.active)::after{opacity:0!important}
body:not(.admin-site) .bottom-nav button.active::after{opacity:1!important}

body:not(.admin-site) :is(
  dialog.tiger-auth-dialog,
  dialog.tiger-sheet-dialog,
  dialog.friend-scanner-dialog,
  dialog.receive-code-dialog,
  dialog.private-chat-info-dialog,
  dialog.avatar-action-dialog,
  dialog.tiger-scan-preview,
  dialog.message-overflow-menu
){
  border-color:#dfd1b8!important;
  background:var(--tiger-light-card)!important;
  box-shadow:0 22px 68px #60481d26!important;
}
body:not(.admin-site) :is(
  dialog.tiger-auth-dialog,
  dialog.tiger-sheet-dialog,
  dialog.friend-scanner-dialog,
  dialog.receive-code-dialog,
  dialog.private-chat-info-dialog,
  dialog.avatar-action-dialog,
  dialog.tiger-scan-preview,
  dialog.message-overflow-menu
)::backdrop{
  background:#4b3a2252!important;
}
body:not(.admin-site) :is(dialog.tiger-sheet-dialog,dialog.tiger-auth-dialog,dialog.friend-scanner-dialog,dialog.receive-code-dialog,dialog.private-chat-info-dialog,dialog.avatar-action-dialog,dialog.tiger-scan-preview) :is(input,select,textarea):focus{
  border-color:#d5ae63!important;
  outline-color:#f7e4bc!important;
}
body:not(.admin-site) dialog.tiger-auth-dialog .tiger-auth-form>h2::before{
  color:var(--tiger-light-gold-strong)!important;
}

/* Conversation media must stay within the light visual system while loading.
   The media itself remains untouched once it has rendered. */
body:not(.admin-site) .chat-image-message,
body:not(.admin-site) .chat-video-message{
  border:1px solid #dfcfb1!important;
  background:linear-gradient(145deg,#fffaf0,#f3e7cf)!important;
  color:#8d6a31!important;
  box-shadow:0 5px 15px #70501c14!important;
}
body:not(.admin-site) .chat-image-message.is-error,
body:not(.admin-site) .chat-video-message.is-error{
  border-color:#e1aaa5!important;
  background:#fff1ef!important;
  color:#b44b44!important;
}
body:not(.admin-site) dialog.chat-image-preview[open],
body:not(.admin-site) dialog.chat-video-preview[open]{
  background:var(--tiger-light-canvas)!important;
}
body:not(.admin-site) dialog.chat-image-preview::backdrop,
body:not(.admin-site) dialog.chat-video-preview::backdrop{
  background:#6b5a3e4d!important;
}

/* Chat bubble tails are intentionally absent. Legacy dark-theme triangles can
   otherwise remain black after the bubble surface itself becomes light. */
html body:not(.admin-site) :is(#game,#chat,#contacts,#support,dialog) .wechat-message-row:not(.is-sticker) .wechat-message-bubble::before,
html body:not(.admin-site) :is(#game,#chat,#contacts,#support,dialog) .wechat-message-row:not(.is-sticker) .wechat-message-bubble::after{
  display:none!important;
  content:none!important;
  border:0!important;
}
body:not(.admin-site) .chat-image-preview>button{
  border:1px solid #ddc99f!important;
  background:#fffdf8ee!important;
  color:#725427!important;
  box-shadow:0 7px 22px #70501c22!important;
}
body:not(.admin-site) .chat-video-preview>div{
  border-top:1px solid var(--tiger-light-line)!important;
  background:#fffdf8!important;
  color:var(--tiger-light-ink)!important;
}

/* The Messages shortcut mounts support inside #chat, whose legacy selector is
   intentionally very specific. Keep that route identical to the Support tab. */
body:not(.admin-site) #chat.is-detail-page .inline-detail-page--chat>.support-conversation-surface{
  background:#f4f2ed!important;
  color:var(--tiger-light-ink)!important;
}
body:not(.admin-site) #chat.is-detail-page .inline-detail-page--chat>.support-conversation-surface>.support-conversation-messages{
  background:#f4f2ed!important;
  color:var(--tiger-light-ink)!important;
}
body:not(.admin-site) #chat.is-detail-page .support-conversation-messages .wechat-message-row{
  background:transparent!important;
}
body:not(.admin-site) #chat.is-detail-page .support-conversation-messages .wechat-message-bubble{
  background:#fffdfa!important;
  color:var(--tiger-light-ink)!important;
  box-shadow:0 1px 3px #70501c12!important;
}
body:not(.admin-site) #chat.is-detail-page .support-conversation-messages .wechat-message-row.is-mine .wechat-message-bubble{
  background:#fff0cf!important;
  color:var(--tiger-light-ink)!important;
}
body:not(.admin-site) #chat.is-detail-page .support-conversation-messages .wechat-message-row.is-image .wechat-message-bubble{
  padding:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
body:not(.admin-site) #chat.is-detail-page .support-conversation-messages :is(.wechat-message-sender,.wechat-read-receipt){
  color:#7d827c!important;
}
body:not(.admin-site) #chat.is-detail-page .support-conversation-messages .wechat-time-separator{
  border:0!important;
  background:#e8e5de!important;
  color:#85857f!important;
}

body:not(.admin-site) .app-update-gate{
  background:linear-gradient(160deg,#fffdfaee,#efe0c1f5)!important;
  color:var(--tiger-light-ink)!important;
}
body:not(.admin-site) .app-update-gate>section{
  border-color:#dfc185!important;
  background:var(--tiger-light-card)!important;
  box-shadow:0 24px 70px #70501c24!important;
}
body:not(.admin-site) .app-update-gate h1{color:var(--tiger-light-gold-strong)!important}
body:not(.admin-site) .app-update-gate p{color:#746b5c!important}
body:not(.admin-site) .app-update-gate-actions :is(a,button){
  border-color:#dfcfb1!important;
  background:#fffaf0!important;
  color:var(--tiger-light-ink)!important;
}
body:not(.admin-site) #toast{
  background:#fffdf8f2!important;
  color:var(--tiger-light-ink)!important;
  box-shadow:0 12px 30px #70501c26!important;
}

@media (max-width:480px){
  body:not(.admin-site) #chat>.chat-spotlight{
    isolation:isolate!important;
    overflow:hidden!important;
    border-color:#dfc184!important;
    background:
      radial-gradient(circle at 92% 8%,#dfad4230,transparent 31%),
      linear-gradient(128deg,#fffdfa,#f8ead0)!important;
    box-shadow:0 12px 28px #815c171b,inset 0 1px #fff!important;
  }
  body:not(.admin-site) #chat>.chat-spotlight::before{
    position:absolute!important;
    z-index:-1!important;
    right:-36px!important;
    top:-52px!important;
    display:block!important;
    width:122px!important;
    height:122px!important;
    border:1px solid #d4a4493d!important;
    border-radius:50%!important;
    background:transparent!important;
    box-shadow:0 0 0 16px #d9ab4d0b,0 0 0 32px #d9ab4d07!important;
    content:""!important;
  }
  body:not(.admin-site) #chat>.chat-spotlight::after{display:none!important;content:none!important}
  body:not(.admin-site) #chat>.chat-spotlight strong{color:var(--tiger-light-ink)!important}
  body:not(.admin-site) #chat>.chat-spotlight .chat-spotlight-art{
    border:1px solid #deb768!important;
    background:url("assets/tiger-carousel-static-logo-app.webp") center/84% auto no-repeat,#fff5df!important;
    color:transparent!important;
    box-shadow:0 7px 16px #8e641c22,inset 0 1px #fff!important;
  }
  body:not(.admin-site) #chat>.chat-spotlight .chat-spotlight-art::before{content:""!important}

  body:not(.admin-site) #lobby>.topbar,
  body:not(.admin-site) #games>.game-catalog-head,
  body:not(.admin-site) #game:not(.has-active-room)>.room-head{
    border-bottom-color:var(--tiger-light-line)!important;
    background:linear-gradient(180deg,#fffefa,#fbf6eb)!important;
    box-shadow:0 5px 16px #75591c0a!important;
  }
  body:not(.admin-site) #lobby>.lobby-hero{
    isolation:isolate!important;
    overflow:hidden!important;
    border-color:#dfbd78!important;
    background:
      radial-gradient(circle at 82% 22%,#e6b34a2b,transparent 33%),
      linear-gradient(116deg,#fffdf8 0%,#faeccf 58%,#f6dfb2 100%)!important;
    box-shadow:0 16px 34px #76541a1e,inset 0 1px #fff!important;
  }
  body:not(.admin-site) #lobby>.lobby-hero::before{
    position:absolute!important;
    z-index:-1!important;
    inset:0!important;
    display:block!important;
    background:linear-gradient(100deg,transparent 40%,#fff8e28c 56%,transparent 57%)!important;
    content:""!important;
    transform:skewX(-18deg) translateX(-28%)!important;
  }
  body:not(.admin-site) #lobby .lobby-hero-kicker{color:var(--tiger-light-gold-strong)!important}
  body:not(.admin-site) #lobby .lobby-hero h1{color:var(--tiger-light-ink)!important}
  body:not(.admin-site) #lobby .lobby-hero h1 em{color:#a66113!important}
  body:not(.admin-site) #lobby .lobby-hero p{color:#766e60!important}
  body:not(.admin-site) #lobby .hero-primary{
    background:linear-gradient(135deg,#f1bc56,#bd7419)!important;
    color:#fffdf7!important;
    box-shadow:0 9px 20px #a5681b2b!important;
  }
  body:not(.admin-site) #lobby .hero-secondary{
    border-color:#d9bd86!important;
    background:#fffaf0!important;
    color:#9e671c!important;
  }
  body:not(.admin-site) #lobby .lobby-hero-art :is(.hero-halo,.hero-energy-ring){display:block!important}
  body:not(.admin-site) #lobby .hero-halo{
    border-color:#d7aa513f!important;
    box-shadow:0 0 0 14px #d7aa510b,0 0 0 28px #d7aa5107!important;
  }
  body:not(.admin-site) #lobby .hero-energy-ring{
    border-color:#d6aa5140!important;
    box-shadow:inset 0 0 28px #d9ad4a16,0 0 18px #b9872914!important;
  }
  body:not(.admin-site) #lobby .lobby-hero-art>img.hero-tiger{
    filter:drop-shadow(0 10px 13px #8b5d2130)!important;
    animation:tiger-guardian-breathe 4.8s ease-in-out infinite!important;
  }
  body:not(.admin-site) #lobby>.lobby-ticker,
  body:not(.admin-site) #lobby>.lobby-featured-games,
  body:not(.admin-site) #lobby>.balance,
  body:not(.admin-site) #games>.game-catalog,
  body:not(.admin-site) #game:not(.has-active-room)>.system-group-picker{
    border-color:var(--tiger-light-line)!important;
    background:var(--tiger-light-card)!important;
    box-shadow:var(--tiger-light-shadow)!important;
  }
  body:not(.admin-site) #lobby .lobby-ticker>span,
  body:not(.admin-site) #lobby #soundPreferenceButton,
  body:not(.admin-site) #lobby>.balance .balance-visibility,
  body:not(.admin-site) #game:not(.has-active-room) #gameRulesButton{
    background:var(--tiger-light-gold-soft)!important;
    color:var(--tiger-light-gold-strong)!important;
  }
  body:not(.admin-site) #lobby>.balance>strong{color:#9d6417!important}

  body:not(.admin-site) #games .game-catalog-card,
  body:not(.admin-site) #games .game-catalog-card:is(.is-featured,.is-dragon,.is-mines,.is-poker),
  body:not(.admin-site) #game:not(.has-active-room) .system-group-entry{
    border-bottom-color:var(--tiger-light-line)!important;
    background:
      linear-gradient(118deg,#fff0 55%,#e8b54a0d 78%,#fff0 94%),
      var(--tiger-light-card)!important;
  }
  body:not(.admin-site) #games .game-catalog-card::before{
    position:absolute!important;
    right:-28px!important;
    bottom:-52px!important;
    display:block!important;
    width:108px!important;
    height:108px!important;
    border:1px solid #d4a74b30!important;
    border-radius:50%!important;
    background:transparent!important;
    content:""!important;
  }
  body:not(.admin-site) #games .game-catalog-copy small{color:var(--tiger-light-gold-strong)!important}
  body:not(.admin-site) #games .game-catalog-badge,
  body:not(.admin-site) #lobby .lobby-featured-badge,
  body:not(.admin-site) #lobby .lobby-featured-card.is-gold .lobby-featured-badge{
    border:1px solid #e0bf7d!important;
    background:linear-gradient(145deg,#fff7e5,#f6dfaf)!important;
    color:#a96816!important;
    box-shadow:inset 0 1px #fff,0 5px 12px #80591b18!important;
  }
  body:not(.admin-site) #game:not(.has-active-room) .system-group-entry-badge{
    border:1px solid #e0b96d!important;
    background:linear-gradient(145deg,#f0b64c,#b96f17)!important;
    color:#fffdf7!important;
    box-shadow:inset 0 1px #fff0c780,0 6px 14px #965d1924!important;
  }
  body:not(.admin-site) #game.has-active-room .chat-plus-control[aria-expanded="true"]{
    border-color:#dfc289!important;
    background:var(--tiger-light-gold-soft)!important;
    color:var(--tiger-light-gold-strong)!important;
  }
}

/* Frozen Hold'em light treatment. Geometry may rotate on phones, but every
   lobby, form, history and action surface stays on the shared warm Tiger
   canvas. The green felt is game content, never a black page shell. */
body:not(.admin-site) .poker-dialog,
body:not(.admin-site) #games.is-detail-page.has-poker-detail,
body:not(.admin-site) .inline-detail-page--games.inline-detail-page--poker,
body:not(.admin-site) .inline-detail-page--games>.poker-shell,
body:not(.admin-site) .poker-dialog .poker-shell{
  border-color:var(--tiger-light-line)!important;
  background:var(--tiger-light-canvas)!important;
  color:var(--tiger-light-ink)!important;
  box-shadow:none!important;
}
body:not(.admin-site) .poker-dialog::backdrop{background:#6b5a3e4d!important}
body:not(.admin-site) .inline-detail-page--games.inline-detail-page--poker>.inline-detail-back{
  z-index:12!important;
  border:0!important;
  background:transparent!important;
  color:var(--tiger-light-ink)!important;
  box-shadow:none!important;
}
body:not(.admin-site) .inline-detail-page--games.inline-detail-page--poker>.inline-detail-back::before{
  color:var(--tiger-light-ink)!important;
  content:'‹'!important;
}
body:not(.admin-site) .poker-heading{
  border-bottom:1px solid var(--tiger-light-line)!important;
  background:var(--tiger-light-card)!important;
  color:var(--tiger-light-ink)!important;
}
body:not(.admin-site) .poker-heading-copy small{color:var(--tiger-light-gold-strong)!important}
body:not(.admin-site) .poker-heading-copy h2{color:var(--tiger-light-ink)!important}
body:not(.admin-site) .poker-close{
  border-color:#dfc99e!important;
  background:#fff9ed!important;
  color:var(--tiger-light-gold-strong)!important;
  box-shadow:none!important;
}
body:not(.admin-site) .poker-tabs{
  border:1px solid var(--tiger-light-line)!important;
  background:var(--tiger-light-card)!important;
  box-shadow:none!important;
}
body:not(.admin-site) .poker-tab{
  border:0!important;
  background:transparent!important;
  color:var(--tiger-light-muted,#7d827c)!important;
  box-shadow:none!important;
}
body:not(.admin-site) .poker-tab:is(.active,[aria-selected="true"]){
  background:var(--tiger-light-gold-soft)!important;
  color:var(--tiger-light-gold-strong)!important;
  box-shadow:none!important;
}
body:not(.admin-site) .poker-content{
  background:transparent!important;
  color:var(--tiger-light-ink)!important;
  scrollbar-color:#d8c7a6 transparent!important;
}
body:not(.admin-site) .poker-private-join,
body:not(.admin-site) .poker-content>.player-empty-state.poker-empty,
body:not(.admin-site) .poker-room-row,
body:not(.admin-site) .poker-create-form,
body:not(.admin-site) .poker-content>article,
body:not(.admin-site) .poker-content>p,
body:not(.admin-site) .poker-table-meta,
body:not(.admin-site) .poker-actions{
  border-color:var(--tiger-light-line)!important;
  background:var(--tiger-light-card)!important;
  color:var(--tiger-light-ink)!important;
  box-shadow:var(--tiger-light-shadow)!important;
}
body:not(.admin-site) .poker-private-join input,
body:not(.admin-site) .poker-create-form :is(input,select),
body:not(.admin-site) .poker-actions :is(input,select){
  border-color:#ded4c2!important;
  background:#fff!important;
  color:var(--tiger-light-ink)!important;
  box-shadow:none!important;
}
body:not(.admin-site) .poker-private-join button,
body:not(.admin-site) .poker-room-row .confirm,
body:not(.admin-site) .poker-actions button{
  border-color:#dfc99e!important;
  background:var(--tiger-light-gold-soft)!important;
  color:var(--tiger-light-gold-strong)!important;
  box-shadow:none!important;
}
body:not(.admin-site) .poker-create-form>.confirm,
body:not(.admin-site) .poker-actions button.is-accent{
  border-color:var(--tiger-light-gold)!important;
  background:linear-gradient(135deg,#e2b958,#b7741b)!important;
  color:#fffdf8!important;
  box-shadow:0 7px 18px #9d671f25!important;
}
body:not(.admin-site) .poker-create-form>label{
  border-bottom-color:var(--tiger-light-line)!important;
  color:var(--tiger-light-ink)!important;
}
body:not(.admin-site) .poker-create-form>label>span,
body:not(.admin-site) .poker-room-row :is(small,span),
body:not(.admin-site) .poker-content>.player-empty-state.poker-empty small,
body:not(.admin-site) .poker-status,
body:not(.admin-site) .poker-table-meta span{color:#747b75!important}
body:not(.admin-site) .poker-room-row>div,
body:not(.admin-site) .poker-room-row>div strong,
body:not(.admin-site) .poker-content>.player-empty-state.poker-empty strong,
body:not(.admin-site) .poker-table-meta strong{color:var(--tiger-light-ink)!important}
body:not(.admin-site) .poker-empty .player-empty-state-mark{
  border:0!important;
  background:var(--tiger-light-gold-soft)!important;
  color:var(--tiger-light-gold-strong)!important;
  box-shadow:none!important;
}
body:not(.admin-site) .poker-content>.player-empty-state.poker-empty::before,
body:not(.admin-site) .poker-content>.player-empty-state.poker-empty::after{display:none!important;content:none!important}
body:not(.admin-site) .poker-felt{
  border-color:#c29b4f!important;
  background:radial-gradient(ellipse at 50% 43%,#39866b 0%,#23634d 44%,#174936 74%,#123a2c 100%)!important;
  box-shadow:inset 0 0 0 7px #285f49,inset 0 0 0 9px #e6c87352,inset 0 0 46px #123a2c99,0 13px 24px #70501c25!important;
}
body:not(.admin-site) .poker-seat{
  border-color:#dbc28e!important;
  background:#fffaf0ed!important;
  color:var(--tiger-light-ink)!important;
  box-shadow:0 5px 13px #70501c26!important;
}
body:not(.admin-site) .poker-seat.is-self{border-color:var(--tiger-light-gold)!important;background:#fff2d8f2!important}
body:not(.admin-site) .poker-seat.is-turn{border-color:#6eb296!important;box-shadow:0 0 0 2px #6eb29642,0 5px 13px #70501c26!important}
body:not(.admin-site) .poker-seat.is-empty{background:#fffaf0c7!important;color:#527565!important}
body:not(.admin-site) .poker-seat strong{color:var(--tiger-light-ink)!important}
body:not(.admin-site) .poker-seat>div:not(.poker-seat-badges):not(.poker-seat-cards){color:#98631d!important}
body:not(.admin-site) .poker-seat>small{color:var(--tiger-light-jade)!important}
body:not(.admin-site) .poker-pot,
body:not(.admin-site) .poker-pot-line small,
body:not(.admin-site) .poker-stage,
body:not(.admin-site) .poker-hand small{
  border-color:#e0bd73!important;
  background:#fff3d9ed!important;
  color:#80551b!important;
  text-shadow:none!important;
}

@media (orientation:landscape) and (max-height:620px){
  body.native-app.poker-table-open:not(.admin-site) #games.is-detail-page.has-poker-detail{
    inset:30px 0 0 30px!important;
    width:auto!important;
    height:auto!important;
  }
  body.poker-table-open:not(.admin-site) .inline-detail-page--games>.poker-shell{
    border:0!important;
    background:var(--tiger-light-canvas)!important;
  }
  body.poker-table-open:not(.admin-site) .inline-detail-page--games>.poker-shell>.poker-heading{
    min-height:54px!important;
    padding:4px 8px 6px 44px!important;
    border:1px solid var(--tiger-light-line)!important;
    border-radius:12px!important;
  }
  body.poker-table-open:not(.admin-site) .inline-detail-page--games>.poker-shell>.poker-tabs{
    align-self:start!important;
  }
  body.poker-table-open:not(.admin-site) .inline-detail-page--games>.poker-shell>.poker-content{
    padding:10px!important;
    border:1px solid var(--tiger-light-line)!important;
    border-radius:14px!important;
    background:#fffdf9!important;
  }
  body.poker-table-open:not(.admin-site) .poker-create-form,
  body.poker-table-open:not(.admin-site) .poker-content>.player-empty-state.poker-empty{
    width:100%!important;
    box-sizing:border-box!important;
  }
  body.poker-table-open:not(.admin-site) .poker-actions{box-shadow:0 8px 22px #70501c18!important}
  body.poker-table-open.has-poker-input-focus:not(.admin-site) .inline-detail-page--games>.poker-shell>.poker-content{
    padding-bottom:310px!important;
    scroll-padding-block:4px 310px!important;
  }
}

/* Player header geometry contract.
   Every portrait back control keeps the same 48px touch target at x=12. Its
   vertical coordinate belongs to the header family: compact chat details use
   a 56px rail (y=4, center 28), while game details use their 62px inset rail
   (y=14, center 38). Native and system-group headers center the same control
   inside their own grid. Only a landscape poker table has a separate rail. */
@media (max-width:719px){
  body:not(.admin-site):not(.poker-table-open) .player-nav-back{
    box-sizing:border-box!important;
    display:grid!important;
    width:48px!important;
    min-width:48px!important;
    max-width:48px!important;
    height:48px!important;
    min-height:48px!important;
    max-height:48px!important;
    place-items:center!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    color:transparent!important;
    box-shadow:none!important;
    font-size:0!important;
    line-height:1!important;
  }
  body:not(.admin-site):not(.poker-table-open) .player-nav-back::before{
    display:block!important;
    box-sizing:border-box!important;
    width:12px!important;
    height:12px!important;
    border:0!important;
    border-bottom:2px solid var(--tiger-light-ink)!important;
    border-left:2px solid var(--tiger-light-ink)!important;
    content:''!important;
    transform:translateX(2px) rotate(45deg)!important;
  }
  /* Legacy page themes used to put a text chevron in the same pseudo-element.
     This higher-specificity invariant clears that glyph everywhere while the
     shared border chevron above remains the single visible back indicator. */
  html body:not(.admin-site):not(.poker-table-open) :is(
    #lobby,
    #game,
    #games,
    #chat,
    #contacts,
    #support,
    #profile,
    dialog
  ) .player-nav-back.player-nav-back::before{
    content:''!important;
    color:transparent!important;
    font-size:0!important;
    line-height:0!important;
  }
  body:not(.admin-site):not(.poker-table-open) .player-nav-back:focus-visible{
    outline:2px solid #c9973d!important;
    outline-offset:-5px!important;
  }
  /* Android/TalkBack supplies its own accessibility focus indication. The
     WebView also marks scripted entry focus as :focus-visible; suppress that
     false keyboard ring in the native app while retaining it on the web. */
  html body.native-app:not(.admin-site):not(.poker-table-open) .player-nav-back:focus-visible{
    outline:0!important;
  }

  body:not(.admin-site):not(.poker-table-open) .inline-detail-page--chat{
    --player-detail-header-height:56px;
    --player-detail-back-top:4px;
  }
  body:not(.admin-site):not(.poker-table-open) .inline-detail-page--games{
    --player-detail-header-height:62px;
    --player-detail-back-top:14px;
  }

  /* Full-page game/chat details mount outside the normal app padding. */
  body:not(.admin-site):not(.poker-table-open) :is(
    .inline-detail-page--games,
    .inline-detail-page--chat
  )>.player-nav-back{
    position:absolute!important;
    z-index:80!important;
    top:var(--player-detail-back-top)!important;
    left:12px!important;
  }
  /* Full-page detail navigation specificity lock. Older #chat/#games theme
     selectors used (2,2), (4,5) or 54/56px targets and otherwise outrank the
     shared geometry above. Every host now resolves through its header family. */
  html body:not(.admin-site):not(.poker-table-open) :is(
    #games,
    #chat,
    #contacts,
    #support,
    #profile
    ).is-detail-page>.inline-detail-page>.player-nav-back.player-nav-back{
    position:absolute!important;
    z-index:80!important;
    top:var(--player-detail-back-top)!important;
    left:12px!important;
    width:48px!important;
    min-width:48px!important;
    max-width:48px!important;
    height:48px!important;
    min-height:48px!important;
    max-height:48px!important;
  }
  body:not(.admin-site):not(.poker-table-open) .inline-detail-page--support>.player-nav-back{
    position:absolute!important;
    z-index:80!important;
    top:6px!important;
    left:12px!important;
  }

  /* Header-backed pages reserve the same top rail without moving their title. */
  html[data-interface-density="compact"] body:not(.admin-site):not(.poker-table-open) .detail-native-head{
    grid-template-columns:60px minmax(0,1fr) 60px!important;
    align-items:center!important;
    height:60px!important;
    min-height:60px!important;
    max-height:60px!important;
    padding-inline:12px!important;
  }
  html[data-interface-density="compact"] body:not(.admin-site):not(.poker-table-open) .detail-native-head>.inline-detail-back.player-nav-back{
    position:relative!important;
    grid-column:1!important;
    top:0!important;
    width:48px!important;
    min-width:48px!important;
  }
  body:not(.admin-site):not(.poker-table-open) .detail-native-head>h1{
    grid-column:2!important;
    justify-self:stretch!important;
    text-align:center!important;
  }
  body:not(.admin-site):not(.poker-table-open) .detail-native-head>span{grid-column:3!important}

  body:not(.admin-site):not(.poker-table-open) #game:not(.has-active-room)>.system-group-head>.player-nav-back{
    align-self:start!important;
  }

  body:not(.admin-site):not(.poker-table-open) dialog.system-group-info-dialog :is(
    .system-group-info-main,
    .system-group-members-page,
    .system-group-search-page,
    .system-group-draw-history-page
  )>header{
    box-sizing:border-box!important;
    grid-template-columns:48px minmax(0,1fr) 48px!important;
    min-height:68px!important;
    padding:8px 12px 0!important;
  }
  body:not(.admin-site):not(.poker-table-open) dialog.system-group-info-dialog{
    width:100vw!important;
    max-width:none!important;
    inset:0 auto auto 0!important;
    margin:0!important;
    border-radius:0!important;
  }
  body:not(.admin-site):not(.poker-table-open) dialog.system-group-info-dialog :is(
    .system-group-info-main,
    .system-group-members-page,
    .system-group-search-page,
    .system-group-draw-history-page
  )>header>.player-nav-back{
    position:relative!important;
    top:.5px!important;
  }

  body:not(.admin-site):not(.poker-table-open) #game.has-active-room{
    --system-group-head-height:68px!important;
  }
  body:not(.admin-site):not(.poker-table-open) #game.has-active-room>.system-group-head{
    box-sizing:border-box!important;
    grid-template-columns:48px minmax(0,1fr) auto 38px!important;
    height:68px!important;
    padding:8px 12px 0!important;
  }
  body:not(.admin-site):not(.poker-table-open) #game.has-active-room>.system-group-head>.player-nav-back{
    position:relative!important;
    top:.5px!important;
    width:48px!important;
    height:48px!important;
  }

  body:not(.admin-site):not(.poker-table-open) .inline-detail-page--support{
    grid-template-rows:60px minmax(0,1fr)!important;
  }
  body:not(.admin-site):not(.poker-table-open) .inline-detail-page--support>.support-agent-directory{
    min-height:calc(var(--player-visual-viewport-height,100vh) - 60px)!important;
  }
  body:not(.admin-site):not(.poker-table-open) .inline-detail-page--games>.poker-shell>.poker-heading{
    min-height:62px!important;
  }
}

/* User-confirmed game icon set, 2026-08-23.
   The supplied artwork is extracted onto true alpha and is mapped in the
   fixed lobby order: Dubai 28, Canada 28, Dragon Tiger, Mines, Hold'em. */
body:not(.admin-site) #lobby .game-entry-icon,
body:not(.admin-site) #lobby .lobby-featured-card.is-gold .game-entry-icon,
body:not(.admin-site) #games .game-catalog-card .game-catalog-badge{
  display:grid!important;
  place-items:center!important;
  border:0!important;
  background-color:transparent!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
  background-size:contain!important;
  color:transparent!important;
  -webkit-text-fill-color:transparent!important;
  box-shadow:none!important;
  font-size:0!important;
  text-shadow:none!important;
}
body:not(.admin-site) #lobby .game-entry-icon::before,
body:not(.admin-site) #lobby .game-entry-icon::after,
body:not(.admin-site) #games .game-catalog-card .game-catalog-badge::before,
body:not(.admin-site) #games .game-catalog-card .game-catalog-badge::after{
  display:none!important;
  content:none!important;
}
body:not(.admin-site) #lobby .game-entry-icon>*,
body:not(.admin-site) #games .game-catalog-card .game-catalog-badge>*{display:none!important}

body:not(.admin-site) #lobby .game-entry-icon.is-dubai,
body:not(.admin-site) #games .game-catalog-card.is-dubai .game-catalog-badge{
  background-image:url("assets/game-icon-dubai28-app.png")!important;
}
body:not(.admin-site) #lobby .game-entry-icon.is-canada,
body:not(.admin-site) #games .game-catalog-card.is-canada .game-catalog-badge{
  background-image:url("assets/game-icon-canada28-app.png")!important;
}
body:not(.admin-site) #lobby .game-entry-icon.is-dragon-tiger,
body:not(.admin-site) #games .game-catalog-card.is-dragon .game-catalog-badge{
  background-image:url("assets/game-icon-dragon-tiger-app.png")!important;
}
body:not(.admin-site) #lobby .game-entry-icon.is-mines,
body:not(.admin-site) #games .game-catalog-card.is-mines .game-catalog-badge{
  background-image:url("assets/game-icon-mines-app.png")!important;
}
body:not(.admin-site) #lobby .game-entry-icon.is-poker,
body:not(.admin-site) #games .game-catalog-card.is-poker .game-catalog-badge{
  background-image:url("assets/game-icon-holdem-app.png")!important;
}
body:not(.admin-site) #lobby .lobby-featured-card.is-gold .game-entry-icon.is-poker{
  background:transparent url("assets/game-icon-holdem-app.png") center/contain no-repeat!important;
}

/* Player compact control-row geometry contract.
   A text/search field and its peer action share one 44 px touch rail. Exact
   height is intentional: legacy styles set some inputs to 36 px while newer
   actions used 40/44 px, leaving controls in the same row off-center. Chat
   composers keep their separate anatomy and are not part of this contract. */
html body:not(.admin-site) :is(#chat,#contacts,#games,dialog) .player-control-row.player-control-row{
  align-items:center!important;
}
html body:not(.admin-site) :is(#chat,#contacts,#games,dialog) .player-control-row.player-control-row>
  :is(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),select,button){
  box-sizing:border-box!important;
  height:44px!important;
  min-height:44px!important;
  max-height:44px!important;
  margin-block:0!important;
}

/* Messages-home information architecture, 2026-08-23.
   Official publishing owns the first fixed row; the five game journeys are
   exposed immediately below it and preserve the former lobby order. */
html body:not(.admin-site) #chat>.official-subscription-entry{
  position:relative!important;
}
html body:not(.admin-site) #chat>.official-subscription-entry>.official-subscription-copy{
  display:grid!important;
  gap:3px!important;
  min-width:0!important;
}
html body:not(.admin-site) #chat>.official-subscription-entry .chat-spotlight-art::before{
  content:'官'!important;
}
html body:not(.admin-site) #chat>.official-subscription-entry .official-subscription-unread-badge{
  position:absolute!important;
  z-index:2!important;
  top:4px!important;
  right:5px!important;
  display:grid!important;
  box-sizing:border-box!important;
  min-width:18px!important;
  height:18px!important;
  padding:0 5px!important;
  place-items:center!important;
  border:2px solid #fff!important;
  border-radius:999px!important;
  background:#fa5151!important;
  color:#fff!important;
  font-size:9px!important;
  font-style:normal!important;
  font-weight:700!important;
  line-height:1!important;
}
html body:not(.admin-site) #chat>.official-subscription-entry .official-subscription-unread-badge[hidden]{
  display:none!important;
}
html body:not(.admin-site) #chat>.home-game-catalog{
  display:block!important;
  margin:10px 12px 0!important;
}
html body:not(.admin-site) #chat>.home-game-catalog>.hub-section-title{
  display:none!important;
}
html body:not(.admin-site) #chat>.home-game-catalog>.game-catalog{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:0!important;
  padding:0 12px!important;
  overflow:hidden!important;
  border:1px solid var(--app-line,#e6e8ed)!important;
  border-radius:12px!important;
  background:#fff!important;
}
html body:not(.admin-site) #chat>.home-game-catalog .game-catalog-card,
html body:not(.admin-site) #chat>.home-game-catalog .game-catalog-card:is(.is-featured,.is-dragon,.is-mines,.is-poker){
  position:relative!important;
  grid-column:auto!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 44px 22px!important;
  align-items:center!important;
  box-sizing:border-box!important;
  width:100%!important;
  min-width:0!important;
  min-height:64px!important;
  padding:8px 0!important;
  overflow:visible!important;
  border:0!important;
  border-bottom:1px solid var(--app-line,#e6e8ed)!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:none!important;
  text-align:left!important;
}
html body:not(.admin-site) #chat>.home-game-catalog .game-catalog-card:last-child{
  border-bottom:0!important;
}
html body:not(.admin-site) #chat>.home-game-catalog .game-catalog-card::before,
html body:not(.admin-site) #chat>.home-game-catalog .game-catalog-card::after{
  display:none!important;
  content:none!important;
}
html body:not(.admin-site) #chat>.home-game-catalog .game-catalog-copy{
  position:static!important;
  display:grid!important;
  gap:2px!important;
  min-width:0!important;
}
html body:not(.admin-site) #chat>.home-game-catalog .game-catalog-copy small{
  color:var(--tiger-light-gold-strong,#ba7b12)!important;
  font-size:8px!important;
  font-weight:750!important;
  letter-spacing:.08em!important;
}
html body:not(.admin-site) #chat>.home-game-catalog .game-catalog-copy strong{
  overflow:hidden!important;
  color:var(--tiger-light-ink,#27312d)!important;
  font-family:inherit!important;
  font-size:15px!important;
  font-weight:650!important;
  line-height:1.25!important;
  letter-spacing:0!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
html body:not(.admin-site) #chat>.home-game-catalog .game-catalog-copy em{
  overflow:hidden!important;
  color:var(--tiger-light-muted,#7d8984)!important;
  font-size:9px!important;
  font-style:normal!important;
  line-height:1.2!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
html body:not(.admin-site) #chat>.home-game-catalog .game-catalog-badge{
  position:static!important;
  display:grid!important;
  width:42px!important;
  height:42px!important;
  place-items:center!important;
  border:0!important;
  border-radius:9px!important;
  background-color:transparent!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
  background-size:contain!important;
  color:transparent!important;
  -webkit-text-fill-color:transparent!important;
  box-shadow:none!important;
  font-size:0!important;
  text-shadow:none!important;
}
html body:not(.admin-site) #chat>.home-game-catalog .game-catalog-badge::before,
html body:not(.admin-site) #chat>.home-game-catalog .game-catalog-badge::after,
html body:not(.admin-site) #chat>.home-game-catalog .game-catalog-badge>*{
  display:none!important;
  content:none!important;
}
html body:not(.admin-site) #chat>.home-game-catalog .game-catalog-card.is-dubai .game-catalog-badge{background-image:url("assets/game-icon-dubai28-app.png")!important}
html body:not(.admin-site) #chat>.home-game-catalog .game-catalog-card.is-canada .game-catalog-badge{background-image:url("assets/game-icon-canada28-app.png")!important}
html body:not(.admin-site) #chat>.home-game-catalog .game-catalog-card.is-dragon .game-catalog-badge{background-image:url("assets/game-icon-dragon-tiger-app.png")!important}
html body:not(.admin-site) #chat>.home-game-catalog .game-catalog-card.is-mines .game-catalog-badge{background-image:url("assets/game-icon-mines-app.png")!important}
html body:not(.admin-site) #chat>.home-game-catalog .game-catalog-card.is-poker .game-catalog-badge{background-image:url("assets/game-icon-holdem-app.png")!important}
html body:not(.admin-site) #chat>.home-game-catalog .game-catalog-arrow,
html body:not(.admin-site) #chat>.home-game-catalog .game-catalog-card.is-featured .game-catalog-arrow{
  position:static!important;
  display:grid!important;
  width:22px!important;
  height:38px!important;
  place-items:center!important;
  border:0!important;
  background:transparent!important;
  color:#b2b9b6!important;
  font-size:22px!important;
}
html body:not(.admin-site) #chat>.home-game-catalog+.hub-section-title{
  display:none!important;
}
html[data-interface-density="compact"] body:not(.admin-site) #chat>.home-game-catalog+.hub-section-title+.wx-conversation-list{
  margin-top:10px!important;
}
html body:not(.admin-site) #chat>.home-game-conversations:not([hidden]){
  display:block!important;
  margin:10px 12px 0!important;
}
html body:not(.admin-site) #chat>.home-game-conversations .home-game-conversations-title{
  display:flex!important;
  align-items:baseline!important;
  justify-content:space-between!important;
  gap:8px!important;
  padding:0 5px 6px!important;
}
html body:not(.admin-site) #chat>.home-game-conversations .home-game-conversations-title span,
html body:not(.admin-site) #chat>.home-conversations-title span{
  color:var(--tiger-light-muted,#7d8984)!important;
  font-size:13px!important;
  font-weight:650!important;
}
html body:not(.admin-site) #chat>.home-game-conversations .home-game-conversations-title small{
  color:var(--tiger-light-muted,#7d8984)!important;
  font-size:10px!important;
}
html body:not(.admin-site) #chat>.home-game-conversations .home-game-conversation-list{
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
html body:not(.admin-site) #chat>.home-game-conversations+.home-conversations-title{
  display:flex!important;
  margin:12px 17px 0!important;
  padding:0 5px 6px!important;
}
html[data-interface-density="compact"] body:not(.admin-site) #chat>.home-game-conversations+.home-conversations-title+.wx-conversation-list{
  margin-top:0!important;
}

/* Icon-before-copy contract, 2026-08-23.
   The DOM and the visual flow both stay icon -> copy -> arrow. Flex sizing
   keeps the icon track fixed and gives the copy all remaining width, avoiding
   implicit-grid placement differences between desktop Chromium and WebView. */
html body:not(.admin-site) #chat>.official-subscription-entry{
  display:flex!important;
  direction:ltr!important;
  align-items:center!important;
  gap:12px!important;
}
html body:not(.admin-site) #chat>.official-subscription-entry>.official-subscription-copy{
  order:2!important;
  flex:1 1 0!important;
  width:0!important;
  min-width:0!important;
}
html body:not(.admin-site) #chat>.official-subscription-entry>.chat-spotlight-art{
  order:1!important;
  flex:0 0 68px!important;
  width:68px!important;
  height:68px!important;
}
html body:not(.admin-site) #chat>.official-subscription-entry>.official-subscription-copy>strong,
html body:not(.admin-site) #chat>.official-subscription-entry>.official-subscription-copy>small{
  overflow:hidden!important;
  max-width:none!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
html body:not(.admin-site) #chat>.official-subscription-entry .chat-spotlight-art>img#officialSubscriptionAvatar{
  right:0!important;
  top:0!important;
  width:68px!important;
  height:68px!important;
}

html body:not(.admin-site) #chat>.home-game-catalog .game-catalog-card,
html body:not(.admin-site) #chat>.home-game-catalog .game-catalog-card:is(.is-featured,.is-dragon,.is-mines,.is-poker),
html body:not(.admin-site) #games .game-catalog-card,
html body:not(.admin-site) #games .game-catalog-card:is(.is-featured,.is-dragon,.is-mines,.is-poker){
  display:flex!important;
  direction:ltr!important;
  align-items:center!important;
  gap:10px!important;
}
html body:not(.admin-site) #chat>.home-game-catalog .game-catalog-copy,
html body:not(.admin-site) #games .game-catalog-copy{
  order:2!important;
  flex:1 1 0!important;
  width:0!important;
  min-width:0!important;
}
html body:not(.admin-site) #chat>.home-game-catalog .game-catalog-badge,
html body:not(.admin-site) #games .game-catalog-badge{
  order:1!important;
  flex:0 0 46px!important;
  position:static!important;
}
html body:not(.admin-site) #chat>.home-game-catalog .game-catalog-arrow,
html body:not(.admin-site) #games .game-catalog-arrow{
  order:3!important;
  flex:0 0 24px!important;
}

@media(max-width:480px){
  html body:not(.admin-site) #chat>.official-subscription-entry>.chat-spotlight-art{
    flex-basis:46px!important;
    width:46px!important;
    height:46px!important;
  }
  html body:not(.admin-site) #chat>.official-subscription-entry .chat-spotlight-art>img#officialSubscriptionAvatar{
    width:46px!important;
    height:46px!important;
    border-radius:11px!important;
  }
  html body:not(.admin-site) #chat>.home-game-catalog .game-catalog-badge,
  html body:not(.admin-site) #games .game-catalog-badge{
    width:46px!important;
    height:46px!important;
  }
}

/* WeChat-style message header overflow menu, 2026-08-23.
   The menu is anchored to the header plus button and keeps every existing
   operation while replacing the centered action sheet presentation. */
html body:not(.admin-site) dialog.message-overflow-menu{
  position:fixed!important;
  inset:var(--message-menu-top,62px) var(--message-menu-right,12px) auto auto!important;
  box-sizing:border-box!important;
  width:var(--message-menu-width,188px)!important;
  max-width:calc(100vw - 24px)!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
  border:0!important;
  border-radius:4px!important;
  background:#4a4a4a!important;
  color:#fff!important;
  box-shadow:0 8px 24px #0000003d!important;
}
html body:not(.admin-site) dialog.message-overflow-menu::backdrop{
  background:transparent!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
}
html body:not(.admin-site) dialog.message-overflow-menu>section{
  position:relative!important;
  display:grid!important;
  box-sizing:border-box!important;
  width:100%!important;
  gap:0!important;
  padding:0!important;
  overflow:visible!important;
  border-radius:inherit!important;
  background:inherit!important;
}
html body:not(.admin-site) dialog.message-overflow-menu>section::before{
  position:absolute!important;
  z-index:0!important;
  top:-6px!important;
  right:var(--message-menu-arrow-right,20px)!important;
  width:13px!important;
  height:13px!important;
  border-radius:1px!important;
  background:#4a4a4a!important;
  content:""!important;
  transform:rotate(45deg)!important;
}
html body:not(.admin-site) dialog.message-overflow-menu button,
html body:not(.admin-site) dialog.message-overflow-menu button:last-child{
  position:relative!important;
  z-index:1!important;
  display:grid!important;
  grid-template-columns:28px minmax(0,1fr)!important;
  align-items:center!important;
  gap:12px!important;
  box-sizing:border-box!important;
  width:100%!important;
  min-height:52px!important;
  margin:0!important;
  padding:0 14px!important;
  border:0!important;
  border-bottom:1px solid #ffffff1a!important;
  border-radius:0!important;
  outline:0!important;
  background:transparent!important;
  color:#fff!important;
  font:inherit!important;
  font-size:15px!important;
  font-weight:400!important;
  line-height:1!important;
  text-align:left!important;
}
html body:not(.admin-site) dialog.message-overflow-menu button:last-child{
  border-bottom:0!important;
}
html body:not(.admin-site) dialog.message-overflow-menu button:active{
  background:#5a5a5a!important;
}
html body:not(.admin-site) dialog.message-overflow-menu .message-overflow-icon{
  display:block!important;
  width:24px!important;
  height:24px!important;
  overflow:visible!important;
  color:#fff!important;
}
html body:not(.admin-site) dialog.message-overflow-menu button>span{
  overflow:hidden!important;
  color:inherit!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}

/* The global scanner is a camera workspace, not a small settings modal. */
html body:not(.admin-site) dialog.universal-scanner-dialog{
  position:fixed!important;
  inset:0!important;
  box-sizing:border-box!important;
  width:100vw!important;
  max-width:none!important;
  height:var(--player-visual-viewport-height,100dvh)!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:#0b0d0d!important;
  color:#fff!important;
  box-shadow:none!important;
}
html body:not(.admin-site) dialog.universal-scanner-dialog::backdrop{
  background:#000!important;
  backdrop-filter:none!important;
}
html body:not(.admin-site) dialog.universal-scanner-dialog>section{
  box-sizing:border-box!important;
  display:grid!important;
  grid-template-rows:48px auto minmax(250px,1fr) auto auto!important;
  gap:10px!important;
  width:100%!important;
  height:100%!important;
  max-height:none!important;
  padding:max(8px,env(safe-area-inset-top)) 14px max(14px,env(safe-area-inset-bottom))!important;
  overflow:hidden!important;
  background:#0b0d0d!important;
  color:#fff!important;
}
html body:not(.admin-site) dialog.universal-scanner-dialog header{
  display:grid!important;
  grid-template-columns:64px minmax(0,1fr) 64px!important;
  align-items:center!important;
  min-height:48px!important;
}
html body:not(.admin-site) dialog.universal-scanner-dialog header>h2{
  margin:0!important;
  color:#fff!important;
  font-size:18px!important;
  font-weight:600!important;
  line-height:1!important;
  text-align:center!important;
}
html body:not(.admin-site) dialog.universal-scanner-dialog header>button{
  justify-self:start!important;
  min-width:48px!important;
  min-height:40px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:#fff!important;
  font-size:15px!important;
}
html body:not(.admin-site) dialog.universal-scanner-dialog .universal-scanner-note{
  margin:0!important;
  color:#b9c0c0!important;
  font-size:12px!important;
  line-height:1.5!important;
  text-align:center!important;
}
html body:not(.admin-site) dialog.universal-scanner-dialog .universal-scanner-viewport{
  position:relative!important;
  justify-self:center!important;
  width:min(100%,520px)!important;
  min-height:250px!important;
  overflow:hidden!important;
  border:1px solid #313737!important;
  border-radius:20px!important;
  background:#050606!important;
}
html body:not(.admin-site) dialog.universal-scanner-dialog .universal-scanner-viewport>video{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  border:0!important;
  border-radius:0!important;
  object-fit:cover!important;
  box-shadow:none!important;
}
html body:not(.admin-site) dialog.universal-scanner-dialog .universal-scanner-frame{
  position:absolute!important;
  top:50%!important;
  left:50%!important;
  box-sizing:border-box!important;
  width:min(66%,280px)!important;
  aspect-ratio:1!important;
  border:2px solid #fff!important;
  border-radius:14px!important;
  box-shadow:0 0 0 999px #0007!important;
  transform:translate(-50%,-50%)!important;
  pointer-events:none!important;
}
html body:not(.admin-site) dialog.universal-scanner-dialog .universal-scanner-status{
  min-height:20px!important;
  margin:0!important;
  color:#d8dddd!important;
  font-size:13px!important;
  line-height:1.45!important;
  text-align:center!important;
}
html body:not(.admin-site) dialog.universal-scanner-dialog .universal-scanner-status[data-state="error"]{color:#ffb9ae!important}
html body:not(.admin-site) dialog.universal-scanner-dialog .universal-scanner-fallback{
  box-sizing:border-box!important;
  width:min(100%,520px)!important;
  margin:0 auto!important;
  padding:0!important;
  border:1px solid #363b3b!important;
  border-radius:12px!important;
  background:#171a1a!important;
  color:#fff!important;
}
html body:not(.admin-site) dialog.universal-scanner-dialog .universal-scanner-fallback>summary{
  min-height:42px!important;
  padding:0 12px!important;
  color:#d8dddd!important;
  font-size:13px!important;
  line-height:42px!important;
  cursor:pointer!important;
}
html body:not(.admin-site) dialog.universal-scanner-dialog .universal-scanner-fallback>form{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:8px!important;
  padding:0 10px 10px!important;
}
html body:not(.admin-site) dialog.universal-scanner-dialog .universal-scanner-fallback input{
  box-sizing:border-box!important;
  min-width:0!important;
  height:42px!important;
  padding:0 10px!important;
  border:1px solid #4a5050!important;
  border-radius:9px!important;
  outline:0!important;
  background:#0b0d0d!important;
  color:#fff!important;
}
html body:not(.admin-site) dialog.universal-scanner-dialog .universal-scanner-fallback button{
  min-height:42px!important;
  padding:0 12px!important;
  border:0!important;
  border-radius:9px!important;
  background:#d9a136!important;
  color:#1a1205!important;
  font-weight:600!important;
}
/* QA 75: WeChat-style contacts hierarchy with Tiger colors. */
body:not(.admin-site) #contacts>.contacts-shortcuts{
  display:grid!important;
  gap:0!important;
  margin:12px 0 0!important;
  padding:0!important;
  overflow:hidden!important;
  border-block:1px solid var(--tiger-light-line)!important;
  border-radius:0!important;
  background:#fff!important;
}
body:not(.admin-site) #contacts>.contacts-shortcuts>button{
  display:grid!important;
  grid-template-columns:44px minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:12px!important;
  min-height:64px!important;
  padding:10px 16px!important;
  border:0!important;
  border-bottom:1px solid #eee8dd!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:none!important;
}
body:not(.admin-site) #contacts>.contacts-shortcuts>button:last-child{border-bottom:0!important}
body:not(.admin-site) #contacts>.contacts-shortcuts>button:active{background:#f5f2ec!important;transform:none!important}
body:not(.admin-site) #contacts>.contacts-shortcuts>button>.new-app-shortcut-icon{
  width:40px!important;
  height:40px!important;
  border:0!important;
  border-radius:7px!important;
  color:#fff!important;
  box-shadow:none!important;
}
body:not(.admin-site) #contacts>.contacts-shortcuts>button>.new-app-shortcut-icon.is-friend{background:#d99021!important}
body:not(.admin-site) #contacts>.contacts-shortcuts>button>.new-app-shortcut-icon.is-group{background:#438b70!important}
body:not(.admin-site) #contacts>.contacts-shortcuts .new-app-shortcut-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
body:not(.admin-site) #contacts>.contacts-shortcuts>button>div{min-width:0;text-align:left}
body:not(.admin-site) #contacts>.contacts-shortcuts>button>div>strong{font-size:16px!important;font-weight:550!important}
body:not(.admin-site) #contacts .contact-shortcut-badge{
  display:grid;
  place-items:center;
  min-width:20px;
  height:20px;
  padding:0 5px;
  border-radius:10px;
  background:#ef4d45;
  color:#fff;
  font-size:11px;
  font-style:normal;
  font-weight:700;
  line-height:20px;
}
body:not(.admin-site) #contacts .contact-shortcut-badge[hidden]{display:none!important}
body:not(.admin-site) #contacts>.contacts-directory-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:42px;
  padding:12px 16px 7px;
  color:#857762;
  font-size:13px;
}
body:not(.admin-site) #contacts>.contacts-directory-heading>button{
  min-height:30px;
  padding:0 2px;
  border:0;
  background:transparent;
  color:var(--tiger-light-gold-strong);
  font-size:13px;
}
body:not(.admin-site) #contacts>.contact-directory{
  display:block;
  margin:0;
  padding:0;
  border-block:1px solid var(--tiger-light-line);
  background:#fff;
}
body:not(.admin-site) #contacts>.contact-directory.is-empty{display:grid;place-items:center;min-height:58px;color:#8e887e}
body:not(.admin-site) #contacts>.contact-directory.is-empty>p{margin:0;font-size:14px}
body:not(.admin-site) #contacts .contact-directory-group{margin:0;padding:0}
body:not(.admin-site) #contacts .contact-directory-group-title{
  min-height:28px;
  margin:0;
  padding:6px 16px 4px;
  background:var(--tiger-light-canvas);
  color:#8b7d68;
  font-size:12px;
  font-weight:500;
}
body:not(.admin-site) #contacts .contact-directory-row{
  display:grid;
  grid-template-columns:44px minmax(0,1fr);
  align-items:center;
  gap:12px;
  width:100%;
  min-height:64px;
  padding:10px 16px;
  border:0;
  border-bottom:1px solid #eee8dd;
  border-radius:0;
  background:#fff;
  color:var(--tiger-light-ink);
  text-align:left;
}
body:not(.admin-site) #contacts .contact-directory-row:active{background:#f5f2ec}
body:not(.admin-site) #contacts .contact-directory-group:last-child .contact-directory-row:last-child{border-bottom:0}
body:not(.admin-site) #contacts .contact-directory-avatar{
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  overflow:hidden;
  border-radius:7px;
  background:#5b907a;
  color:#fff;
  font-size:16px;
  font-weight:700;
}
body:not(.admin-site) #contacts .contact-directory-avatar img{width:100%;height:100%;object-fit:cover}
body:not(.admin-site) #contacts .contact-directory-copy{display:grid;gap:2px;min-width:0}
body:not(.admin-site) #contacts .contact-directory-copy strong{overflow:hidden;color:var(--tiger-light-ink);font-size:16px;font-weight:550;text-overflow:ellipsis;white-space:nowrap}
body:not(.admin-site) #contacts .contact-directory-copy small{overflow:hidden;color:#918a7e;font-size:12px;text-overflow:ellipsis;white-space:nowrap}
body:not(.admin-site) .inline-detail-page--contacts>.new-friends-detail{
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr)!important;
  gap:0!important;
  min-height:0!important;
  padding:0!important;
  overflow:hidden!important;
  background:var(--tiger-light-canvas)!important;
}
html body:not(.admin-site) .inline-detail-page--new-friends{
  grid-template-rows:60px minmax(0,1fr)!important;
  gap:0!important;
  overflow:hidden!important;
}
html body:not(.admin-site) .inline-detail-page--new-friends>.new-friends-detail{
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr)!important;
  align-self:stretch!important;
  gap:0!important;
  height:auto!important;
  min-height:0!important;
  padding:0!important;
}
html[data-interface-density="compact"] body:not(.admin-site) .inline-detail-page--new-friends>.new-friends-detail{
  gap:0!important;
  min-height:0!important;
  padding:0!important;
}
body:not(.admin-site) .inline-detail-page--contacts>.new-friends-detail>h2{display:none!important}
body:not(.admin-site) .new-friends-status{min-height:34px!important;margin:0!important;padding:9px 16px 5px!important;color:#887c69!important;font-size:12px!important}
body:not(.admin-site) .new-friends-list{min-height:0;overflow-y:auto;border-block:1px solid var(--tiger-light-line);background:#fff}
body:not(.admin-site) .new-friends-list>.player-empty-state{margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important}
body:not(.admin-site) .friend-request-row{display:grid;gap:8px;padding:12px 16px;border-bottom:1px solid #eee8dd;background:#fff}
body:not(.admin-site) .friend-request-row:last-child{border-bottom:0}
body:not(.admin-site) .friend-request-identity{display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:12px}
body:not(.admin-site) .friend-request-avatar{display:grid;place-items:center;width:44px;height:44px;overflow:hidden;border-radius:7px;background:#d99021;color:#fff;font-weight:700}
body:not(.admin-site) .friend-request-avatar img{width:100%;height:100%;object-fit:cover}
body:not(.admin-site) .friend-request-identity>div{display:grid;gap:3px;min-width:0}
body:not(.admin-site) .friend-request-identity strong{overflow:hidden;color:var(--tiger-light-ink);font-size:16px;font-weight:550;text-overflow:ellipsis;white-space:nowrap}
body:not(.admin-site) .friend-request-identity small,body:not(.admin-site) .friend-request-row>time{color:#918a7e;font-size:12px}
body:not(.admin-site) .friend-request-row>p{margin:0;color:#655e53;font-size:13px;line-height:1.45}
body:not(.admin-site) .friend-request-actions{display:flex;justify-content:flex-end;gap:7px;flex-wrap:wrap}
body:not(.admin-site) .friend-request-actions>button{min-height:34px;padding:0 11px;border:1px solid #ddd3c2;border-radius:7px;background:#fff;color:#5c554a;font-size:12px}
body:not(.admin-site) .friend-request-actions>button.is-primary{border-color:var(--tiger-light-jade);background:var(--tiger-light-jade);color:#fff}
body:not(.admin-site) .friend-request-actions>button.is-danger{color:#b94c43}

/* QA 78: Contacts / Groups is only the server-authoritative joined-group list. */
html body:not(.admin-site) .inline-detail-page--joined-groups{
  grid-template-rows:60px minmax(0,1fr)!important;
  gap:0!important;
  overflow:hidden!important;
}
html body:not(.admin-site) .inline-detail-page--joined-groups>.joined-group-directory,
html[data-interface-density="compact"] body:not(.admin-site) .inline-detail-page--joined-groups>.joined-group-directory{
  display:grid!important;
  grid-template-rows:minmax(0,1fr)!important;
  align-self:stretch!important;
  gap:0!important;
  height:auto!important;
  min-height:0!important;
  padding:0!important;
  overflow:hidden!important;
  background:var(--tiger-light-canvas)!important;
}
body:not(.admin-site) .joined-group-directory>.ordinary-group-directory-head{display:none!important}
body:not(.admin-site) .joined-group-list{
  min-height:0!important;
  overflow-y:auto!important;
  border-block:1px solid var(--tiger-light-line)!important;
  background:#fff!important;
}
body:not(.admin-site) .joined-group-list>.player-empty-state{
  min-height:86px!important;
  margin:0!important;
  padding:16px!important;
  border:0!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:none!important;
}
body:not(.admin-site) .joined-group-list>.player-empty-state::before,
body:not(.admin-site) .joined-group-list>.player-empty-state::after{display:none!important;content:none!important}
body:not(.admin-site) .joined-group-list .player-empty-state-mark{border:0!important;background:#fff3d5!important;color:#c77c08!important;box-shadow:none!important}
body:not(.admin-site) .joined-group-list .player-empty-state strong{color:var(--tiger-light-ink)!important}
body:not(.admin-site) .joined-group-list .player-empty-state small{color:#918a7e!important}
body:not(.admin-site) .joined-group-row{
  display:grid!important;
  grid-template-columns:44px minmax(0,1fr)!important;
  align-items:center!important;
  gap:12px!important;
  width:100%!important;
  min-height:64px!important;
  padding:10px 16px!important;
  border:0!important;
  border-bottom:1px solid #eee8dd!important;
  border-radius:0!important;
  background:#fff!important;
  color:var(--tiger-light-ink)!important;
  text-align:left!important;
  box-shadow:none!important;
}
body:not(.admin-site) .joined-group-row:last-child{border-bottom:0!important}
body:not(.admin-site) .joined-group-row:active{background:#f5f2ec!important}
body:not(.admin-site) .joined-group-avatar{
  display:grid!important;
  place-items:center!important;
  width:44px!important;
  height:44px!important;
  border-radius:7px!important;
  background:var(--tiger-light-jade)!important;
  color:#fff!important;
  font-size:16px!important;
  font-weight:700!important;
}
body:not(.admin-site) .joined-group-copy{display:grid!important;gap:3px!important;min-width:0!important}
body:not(.admin-site) .joined-group-copy strong,
body:not(.admin-site) .joined-group-copy small{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
body:not(.admin-site) .joined-group-copy strong{color:var(--tiger-light-ink)!important;font-size:16px!important;font-weight:550!important}
body:not(.admin-site) .joined-group-copy small{color:#918a7e!important;font-size:12px!important}

/* WeChat-clean chat media and voice input. Keep the existing Tiger identity,
   while matching the compact message hierarchy and hold-to-talk interaction. */
html body:not(.admin-site) :is(#game,#chat,#contacts,#support,dialog) .wechat-message-row:not(.is-image):not(.is-sticker):not(.is-video):not(.is-file):not(.is-redpacket) .wechat-message-bubble{
  min-height:0!important;
  padding:8px 10px!important;
  border:0!important;
  border-radius:5px!important;
  box-shadow:none!important;
}
html body:not(.admin-site) :is(#game,#chat,#contacts,#support,dialog) .wechat-message-row:not(.is-image):not(.is-sticker):not(.is-video):not(.is-file):not(.is-redpacket).is-peer .wechat-message-bubble{
  background:#fff!important;
  color:#17191c!important;
}
html body:not(.admin-site) :is(#game,#chat,#contacts,#support,dialog) .wechat-message-row:not(.is-image):not(.is-sticker):not(.is-video):not(.is-file):not(.is-redpacket).is-mine .wechat-message-bubble{
  background:#95ec69!important;
  color:#111!important;
}
html body:not(.admin-site) :is(#game,#chat,#contacts,#support,dialog) .wechat-message-row.is-image .wechat-message-bubble{
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
html body:not(.admin-site) :is(#game,#chat,#contacts,#support,dialog) .chat-image-message.is-loaded{
  min-height:0!important;
  padding:0!important;
  border:0!important;
  border-radius:5px!important;
  background:transparent!important;
  box-shadow:none!important;
}
html body:not(.admin-site) :is(#game,#chat,#contacts,#support,dialog) .chat-image-message.is-loaded img{
  border:0!important;
  border-radius:5px!important;
  box-shadow:none!important;
}
html body:not(.admin-site) :is(#game,#chat,#contacts,#support,dialog) .is-optimistic .chat-image-message.is-loaded{
  position:relative!important;
  opacity:.86!important;
}
html body:not(.admin-site) :is(#game,#chat,#contacts,#support,dialog) .is-optimistic[data-send-state="failed"] .chat-image-message.is-loaded{opacity:.62!important}
body:not(.admin-site) .chat-image-send-status{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:7px!important;
  min-height:18px!important;
  margin:2px 0 0!important;
  padding:0!important;
  color:#8b8b8b!important;
  font-size:11px!important;
  font-weight:400!important;
  line-height:18px!important;
  white-space:nowrap!important;
}
body:not(.admin-site) .is-optimistic:not([data-send-state="failed"]):not([data-send-state="sent"]) .chat-image-send-status::before{
  box-sizing:border-box!important;
  width:12px!important;
  height:12px!important;
  border:1.5px solid #c7c7c7!important;
  border-top-color:#5f6c65!important;
  border-radius:50%!important;
  content:""!important;
  animation:tiger-image-send-spin .72s linear infinite!important;
}
body:not(.admin-site) .is-optimistic[data-send-state="failed"] .chat-image-send-status{color:#b64139!important}
body:not(.admin-site) .chat-image-send-retry{
  min-width:0!important;
  min-height:24px!important;
  margin:0!important;
  padding:0 8px!important;
  border:0!important;
  border-radius:4px!important;
  background:#95ec69!important;
  color:#172017!important;
  box-shadow:none!important;
  font-size:11px!important;
  line-height:24px!important;
}
body:not(.admin-site) .ordinary-group-message.is-optimistic>.chat-image-send-status{justify-self:end!important}
@keyframes tiger-image-send-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){body:not(.admin-site) .is-optimistic .chat-image-send-status::before{animation:none!important}}
body:not(.admin-site) .chat-voice-controls{display:block!important}
body:not(.admin-site) .chat-voice-message{
  justify-content:flex-start!important;
  gap:9px!important;
  width:clamp(84px,calc(84px + var(--voice-duration,1) * 1.25px),176px)!important;
  min-height:22px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:inherit!important;
  font-size:14px!important;
}
body:not(.admin-site) .chat-voice-controls.is-mine .chat-voice-message{flex-direction:row-reverse!important}
body:not(.admin-site) .chat-voice-wave{gap:1px!important;width:19px!important;height:20px!important}
body:not(.admin-site) .chat-voice-wave i{width:2px!important}
body:not(.admin-site) .chat-voice-unheard{position:absolute!important;right:-18px!important;top:7px!important;width:8px!important;height:8px!important;box-shadow:none!important}
body:not(.admin-site) .chat-voice-controls.is-mine .chat-voice-unheard{display:none!important}

/* WeChat text field microphone: a 30px tap target with a 20px glyph anchored
   inside the 40px white field. Native speech recognition is used when the
   WebView exposes it; otherwise the control opens hold-to-talk mode. */
body:not(.admin-site) .wx-chat-composer--unified .chat-input-dictation,
html body:not(.admin-site) #game.has-active-room .chat-composer.wx-chat-composer--unified .chat-input-dictation{
  position:absolute!important;
  z-index:2!important;
  top:5px!important;
  right:3px!important;
  display:grid!important;
  place-items:center!important;
  box-sizing:border-box!important;
  width:30px!important;
  min-width:30px!important;
  height:30px!important;
  min-height:30px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:50%!important;
  background:transparent!important;
  color:#666!important;
  box-shadow:none!important;
}
body:not(.admin-site) .wx-chat-composer--unified .chat-input-dictation .chat-control-icon{width:20px!important;height:20px!important}
body:not(.admin-site) .wx-chat-composer--unified .chat-input-dictation:is(:active,.is-active){background:#ededed!important;color:#191919!important}
body:not(.admin-site) .wx-chat-composer--unified.is-voice-mode .chat-input-dictation{display:none!important}

body:not(.admin-site) .wx-chat-composer--unified .chat-voice-hold{
  box-sizing:border-box!important;
  width:100%!important;
  height:40px!important;
  min-height:40px!important;
  margin:0!important;
  padding:0 10px!important;
  border:0!important;
  border-radius:4px!important;
  background:#fff!important;
  color:#191919!important;
  box-shadow:none!important;
  font-size:16px!important;
  font-weight:500!important;
  line-height:40px!important;
  text-align:center!important;
  touch-action:none!important;
  user-select:none!important;
  -webkit-user-select:none!important;
}
body:not(.admin-site) .wx-chat-composer--unified .chat-voice-hold[hidden],
body:not(.admin-site) .wx-chat-composer--unified .wx-chat-input[hidden]{display:none!important}
body:not(.admin-site) .wx-chat-composer--unified .chat-voice-hold.is-recording{background:#e7e7e7!important;color:#171717!important}
body:not(.admin-site) .wx-chat-composer--unified .chat-voice-hold.is-cancelling{background:#f2dedd!important;color:#bd3f39!important}
body:not(.admin-site) .wx-chat-composer--unified .chat-voice-hold.is-uploading{opacity:.58!important;pointer-events:none!important}
html body:not(.admin-site) #game.has-active-room .chat-composer.wx-chat-composer--unified .chat-input-wrap>.chat-voice-hold{
  min-width:0!important;
  height:40px!important;
  min-height:40px!important;
  padding:0 10px!important;
  border:0!important;
  border-radius:4px!important;
  background:#fff!important;
  color:#191919!important;
  box-shadow:none!important;
  font-size:16px!important;
  font-weight:500!important;
  line-height:40px!important;
}
html body:not(.admin-site) #game.has-active-room .chat-composer.wx-chat-composer--unified .chat-input-wrap>.chat-voice-hold.is-recording{background:#e7e7e7!important;color:#171717!important}
html body:not(.admin-site) #game.has-active-room .chat-composer.wx-chat-composer--unified .chat-input-wrap>.chat-voice-hold.is-cancelling{background:#f2dedd!important;color:#bd3f39!important}
body:not(.admin-site) .wx-chat-composer--unified>.chat-voice-control.is-recording,
html body:not(.admin-site) #game.has-active-room .chat-composer.wx-chat-composer--unified>.chat-voice-control.is-recording{
  border-color:transparent!important;
  background:transparent!important;
  color:#45534c!important;
  animation:none!important;
}
body:not(.admin-site) .wx-chat-composer--unified>.chat-voice-control.is-recording::after,
html body:not(.admin-site) #game.has-active-room .chat-composer.wx-chat-composer--unified>.chat-voice-control.is-recording::after{
  display:none!important;
  content:none!important;
}
body:not(.admin-site) .wx-chat-composer--unified.is-recording::before{
  position:fixed!important;
  z-index:120!important;
  left:50%!important;
  bottom:132px!important;
  display:grid!important;
  place-items:center!important;
  width:154px!important;
  min-height:92px!important;
  padding:14px!important;
  border-radius:10px!important;
  background:#252525d9!important;
  color:#fff!important;
  content:'松开手指，发送语音'!important;
  font-size:13px!important;
  text-align:center!important;
  transform:translateX(-50%)!important;
  pointer-events:none!important;
}
body:not(.admin-site) .wx-chat-composer--unified.is-recording.is-cancelling::before{
  background:#b34440e8!important;
  content:'松开手指，取消发送'!important;
}
body:not(.admin-site) dialog.chat-voice-tools-dialog[open]{
  position:fixed!important;
  inset:auto 0 0!important;
  width:100%!important;
  max-width:480px!important;
  margin:0 auto!important;
  padding:8px 12px calc(8px + env(safe-area-inset-bottom))!important;
  border:0!important;
  background:transparent!important;
}
body:not(.admin-site) dialog.chat-voice-tools-dialog::backdrop{background:#0005!important}
body:not(.admin-site) .chat-voice-tools-dialog>section{display:grid!important;gap:1px!important}
body:not(.admin-site) .chat-voice-tools-dialog strong,
body:not(.admin-site) .chat-voice-tools-dialog button{
  min-height:48px!important;
  padding:0 16px!important;
  border:0!important;
  border-radius:0!important;
  background:#fff!important;
  color:#171717!important;
  text-align:center!important;
}
body:not(.admin-site) .chat-voice-tools-dialog strong{display:grid!important;place-items:center!important;border-radius:12px 12px 0 0!important;color:#888!important;font-size:12px!important;font-weight:400!important}
body:not(.admin-site) .chat-voice-tools-dialog button.is-cancel{margin-top:7px!important;border-radius:12px!important}

/* Final WeChat composer specificity lock. Support and permanent-game pages
   still carry older ID/class rules, so the supplied 40/30/20px anatomy is
   frozen here for every mounted conversation. */
html body:not(.admin-site) :is(#support,#chat,#game,#games,.private-chat-dialog,.tiger-sheet-dialog) .wx-chat-composer.wx-chat-composer--unified .wx-chat-input,
html body:not(.admin-site) .support-conversation-surface>.support-conversation-composer.wx-chat-composer.wx-chat-composer--unified .wx-chat-input{
  box-sizing:border-box!important;
  width:100%!important;
  min-width:0!important;
  height:40px!important;
  min-height:40px!important;
  margin:0!important;
  padding:0 38px 0 10px!important;
  border:0!important;
  border-radius:4px!important;
  background:#fff!important;
  color:#191919!important;
  box-shadow:none!important;
  font-size:16px!important;
  line-height:40px!important;
}
html body:not(.admin-site) :is(#support,#chat,#game,#games,.private-chat-dialog,.tiger-sheet-dialog) .wx-chat-composer.wx-chat-composer--unified :is(.chat-voice-control,.chat-emoji-control,.chat-plus-control),
html body:not(.admin-site) .support-conversation-surface>.support-conversation-composer.wx-chat-composer.wx-chat-composer--unified :is(.chat-voice-control,.chat-emoji-control,.chat-plus-control){
  box-sizing:border-box!important;
  width:30px!important;
  min-width:30px!important;
  height:30px!important;
  min-height:30px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:#191919!important;
  box-shadow:none!important;
}
html body:not(.admin-site) :is(#support,#chat,#game,#games,.private-chat-dialog,.tiger-sheet-dialog) .wx-chat-composer.wx-chat-composer--unified .chat-input-dictation,
html body:not(.admin-site) .support-conversation-surface>.support-conversation-composer.wx-chat-composer.wx-chat-composer--unified .chat-input-dictation{
  top:5px!important;
  right:3px!important;
  display:grid!important;
  width:30px!important;
  min-width:30px!important;
  height:30px!important;
  min-height:30px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:#666!important;
}
html body:not(.admin-site) :is(#support,#chat,#game,#games,.private-chat-dialog,.tiger-sheet-dialog) .wx-chat-composer.wx-chat-composer--unified .chat-input-dictation .chat-control-icon,
html body:not(.admin-site) .support-conversation-surface>.support-conversation-composer.wx-chat-composer.wx-chat-composer--unified .chat-input-dictation .chat-control-icon{
  width:20px!important;
  height:20px!important;
}
html body:not(.admin-site) :is(#support,#chat,#game,#games,.private-chat-dialog,.tiger-sheet-dialog) .wx-chat-composer.wx-chat-composer--unified.is-voice-mode .chat-input-dictation,
html body:not(.admin-site) .support-conversation-surface>.support-conversation-composer.wx-chat-composer.wx-chat-composer--unified.is-voice-mode .chat-input-dictation{display:none!important}
html body:not(.admin-site) :is(#support,#chat,#game,#games,.private-chat-dialog,.tiger-sheet-dialog) .wx-chat-composer.wx-chat-composer--unified .chat-voice-hold,
html body:not(.admin-site) .support-conversation-surface>.support-conversation-composer.wx-chat-composer.wx-chat-composer--unified .chat-voice-hold{
  height:40px!important;
  min-height:40px!important;
  padding:0 10px!important;
  border:0!important;
  border-radius:4px!important;
  background:#fff!important;
  color:#191919!important;
  font-size:16px!important;
  font-weight:500!important;
  line-height:40px!important;
}

/* Unified WeChat conversation list, 2026-08-24.
   Game groups and friend chats share one flat 72px row system. The former
   five-card game catalogue and the separate game-group section are retired
   from the messages home; permanent game groups reuse their real game art. */
html body:not(.admin-site) #chat>.wx-conversation-list{
  display:block!important;
  box-sizing:border-box!important;
  width:100%!important;
  margin:8px 0 0!important;
  padding:0!important;
  overflow:hidden!important;
  border:0!important;
  border-top:1px solid var(--app-line,#e6e8ed)!important;
  border-bottom:1px solid var(--app-line,#e6e8ed)!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:none!important;
}
html body:not(.admin-site) #chat>.wx-conversation-list>[data-app-conversation],
html body:not(.admin-site) #chat>.wx-conversation-list>.conversation-swipe-row>.friend-chat-entry{
  box-sizing:border-box!important;
  grid-template-columns:48px minmax(0,1fr) auto!important;
  grid-template-rows:52px!important;
  column-gap:12px!important;
  align-items:center!important;
  width:100%!important;
  height:72px!important;
  min-height:72px!important;
  margin:0!important;
  padding:10px 14px!important;
  border:0!important;
  border-bottom:1px solid var(--app-line,#e6e8ed)!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:none!important;
  text-align:left!important;
}
html body:not(.admin-site) #chat>.wx-conversation-list>:last-child,
html body:not(.admin-site) #chat>.wx-conversation-list>:last-child>.friend-chat-entry{
  border-bottom:0!important;
}
html body:not(.admin-site) #chat>.wx-conversation-list>.conversation-swipe-row{
  box-sizing:border-box!important;
  width:100%!important;
  height:72px!important;
  min-height:72px!important;
  margin:0!important;
  background:#fff!important;
}
html body:not(.admin-site) #chat>.wx-conversation-list>[data-app-conversation]>.new-app-conversation-icon,
html body:not(.admin-site) #chat>.wx-conversation-list>.conversation-swipe-row>.friend-chat-entry>span:first-child{
  box-sizing:border-box!important;
  display:grid!important;
  width:48px!important;
  min-width:48px!important;
  height:48px!important;
  min-height:48px!important;
  place-items:center!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:6px!important;
  box-shadow:none!important;
  font-size:18px!important;
}
html body:not(.admin-site) #chat>.wx-conversation-list>[data-app-conversation]>.new-app-conversation-icon.is-game{
  background:#fff!important;
  color:transparent!important;
}
html body:not(.admin-site) #chat>.wx-conversation-list>[data-app-conversation]>.new-app-conversation-icon.is-game>img{
  display:block!important;
  width:48px!important;
  height:48px!important;
  object-fit:contain!important;
}
html body:not(.admin-site) #chat>.wx-conversation-list>[data-app-conversation]>div,
html body:not(.admin-site) #chat>.wx-conversation-list>.conversation-swipe-row>.friend-chat-entry>div{
  display:grid!important;
  min-width:0!important;
  align-content:center!important;
  gap:4px!important;
}
html body:not(.admin-site) #chat>.wx-conversation-list :is([data-app-conversation],.friend-chat-entry) strong{
  overflow:hidden!important;
  color:var(--app-ink,#27312d)!important;
  font-size:16px!important;
  font-weight:500!important;
  line-height:20px!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
html body:not(.admin-site) #chat>.wx-conversation-list :is([data-app-conversation],.friend-chat-entry) small{
  overflow:hidden!important;
  margin:0!important;
  color:var(--app-muted,#7d8984)!important;
  font-size:13px!important;
  line-height:18px!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
html body:not(.admin-site) #chat>.wx-conversation-list>[data-app-conversation]>.conversation-meta{
  align-self:stretch!important;
  display:grid!important;
  width:auto!important;
  min-width:38px!important;
  height:auto!important;
  min-height:0!important;
  align-content:start!important;
  justify-items:end!important;
  gap:8px!important;
  padding-top:2px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:var(--app-muted,#7d8984)!important;
}
html body:not(.admin-site) #chat>.wx-conversation-list>[data-app-conversation]>.conversation-meta time{
  padding-top:1px!important;
  color:var(--app-muted,#7d8984)!important;
  font-size:11px!important;
  line-height:16px!important;
  white-space:nowrap!important;
}
html body:not(.admin-site) #chat>.wx-conversation-list>[data-app-conversation]>b{
  display:none!important;
}

/* WeChat-style profile hub, 2026-08-24.
   This is a visual/layout pass only: every existing profile action keeps its
   original id and handler, while the shell becomes a flat grouped list with
   WeChat-sized rows instead of decorative cards. */
html body:not(.admin-site) #profile.wx-profile-hub{
  display:grid!important;
  align-content:start!important;
  grid-auto-rows:max-content!important;
  gap:0!important;
  min-height:100dvh!important;
  padding:0 0 calc(84px + env(safe-area-inset-bottom))!important;
  background:#f5f5f5!important;
  color:#191919!important;
}
/* The profile shell has a high-specificity layout rule above. Keep it from
   overriding the shared root-view visibility contract when Messages or
   Contacts is active. */
html body:not(.admin-site) #profile.wx-profile-hub:not(.active){
  display:none!important;
}
html body:not(.admin-site) #profile.wx-profile-hub>.new-app-page-head{
  display:flex!important;
  align-items:center!important;
  box-sizing:border-box!important;
  min-height:56px!important;
  margin:0!important;
  padding:0 16px!important;
  border:0!important;
  border-bottom:1px solid #e5e5e5!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:none!important;
}
html body:not(.admin-site) #profile.wx-profile-hub>.new-app-page-head>div{
  display:flex!important;
  align-items:center!important;
  min-width:0!important;
}
html body:not(.admin-site) #profile.wx-profile-hub>.new-app-page-head>div>span,
html body:not(.admin-site) #profile.wx-profile-hub>.new-app-page-head>div>p{
  display:none!important;
}
html body:not(.admin-site) #profile.wx-profile-hub #profileTitle{
  margin:0!important;
  color:#191919!important;
  font-size:20px!important;
  font-weight:500!important;
  letter-spacing:0!important;
  line-height:28px!important;
  text-align:left!important;
}
html body:not(.admin-site) #profile.wx-profile-hub .profile-overview{
  position:relative!important;
  isolation:auto!important;
  display:block!important;
  overflow:visible!important;
  margin:8px 0 0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
html body:not(.admin-site) #profile.wx-profile-hub .profile-overview::before,
html body:not(.admin-site) #profile.wx-profile-hub .profile-overview::after{
  display:none!important;
  content:none!important;
}
html body:not(.admin-site) #profile.wx-profile-hub .profile-hero{
  position:relative!important;
  z-index:auto!important;
  display:grid!important;
  grid-template-columns:64px minmax(0,1fr) 24px!important;
  align-items:center!important;
  gap:14px!important;
  box-sizing:border-box!important;
  min-height:88px!important;
  margin:0!important;
  padding:12px 16px!important;
  border:0!important;
  border-bottom:1px solid #e5e5e5!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:none!important;
}
html body:not(.admin-site) #profile.wx-profile-hub .profile-hero[role="button"],
html body:not(.admin-site) #profile.wx-profile-hub .wallet-hero[role="button"]{
  cursor:pointer!important;
  -webkit-tap-highlight-color:transparent;
}
html body:not(.admin-site) #profile.wx-profile-hub .profile-hero[role="button"]:focus-visible,
html body:not(.admin-site) #profile.wx-profile-hub .wallet-hero[role="button"]:focus-visible{
  outline:2px solid #d89420!important;
  outline-offset:-2px;
}
html body:not(.admin-site) #profile.wx-profile-hub .profile-hero::after{
  display:none!important;
  content:none!important;
}
html body.player-authenticated:not(.admin-site) #profile.wx-profile-hub .profile-hero::after{
  display:block!important;
  grid-column:3!important;
  grid-row:1!important;
  align-self:center!important;
  color:#999!important;
  content:'›'!important;
  font-size:24px!important;
  font-weight:300!important;
  line-height:1!important;
  text-align:right!important;
}
html body:not(.admin-site) #profile.wx-profile-hub .profile-avatar{
  display:grid!important;
  place-items:center!important;
  box-sizing:border-box!important;
  width:64px!important;
  min-width:64px!important;
  height:64px!important;
  min-height:64px!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:8px!important;
  background:#e8e8e8!important;
  color:#666!important;
  box-shadow:none!important;
  font-size:22px!important;
  font-weight:400!important;
}
html body:not(.admin-site) #profile.wx-profile-hub .profile-avatar img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
html body:not(.admin-site) #profile.wx-profile-hub .profile-hero>div{
  display:grid!important;
  min-width:0!important;
  align-content:center!important;
  gap:5px!important;
}
html body:not(.admin-site) #profile.wx-profile-hub .profile-hero strong{
  overflow:hidden!important;
  color:#191919!important;
  font-size:18px!important;
  font-weight:500!important;
  line-height:24px!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
html body:not(.admin-site) #profile.wx-profile-hub .profile-id-row{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  min-width:0!important;
}
html body:not(.admin-site) #profile.wx-profile-hub .profile-id-row small{
  overflow:hidden!important;
  margin:0!important;
  color:#888!important;
  font-size:13px!important;
  line-height:18px!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
html body:not(.admin-site) #profile.wx-profile-hub .profile-id-row button,
html body:not(.admin-site) #profile.wx-profile-hub #profileLoginPage{
  box-sizing:border-box!important;
  min-width:0!important;
  min-height:30px!important;
  padding:0 8px!important;
  border:0!important;
  border-radius:4px!important;
  background:#f2f2f2!important;
  color:#576b8a!important;
  font-size:12px!important;
  font-weight:400!important;
}
html body:not(.admin-site) #profile.wx-profile-hub #profileLoginPage{
  grid-column:3!important;
  grid-row:1!important;
  justify-self:end!important;
  min-height:32px!important;
  color:#576b8a!important;
}
html body:not(.admin-site) #profile.wx-profile-hub .wallet-hero{
  position:relative!important;
  z-index:auto!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  grid-template-rows:auto auto auto!important;
  gap:2px!important;
  box-sizing:border-box!important;
  min-height:92px!important;
  margin:8px 0 0!important;
  padding:12px 16px!important;
  border:0!important;
  border-top:1px solid #e5e5e5!important;
  border-bottom:1px solid #e5e5e5!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:none!important;
}
html body:not(.admin-site) #profile.wx-profile-hub .wallet-hero span{
  grid-column:1!important;
  grid-row:1!important;
  color:#888!important;
  font-size:13px!important;
  line-height:20px!important;
}
html body:not(.admin-site) #profile.wx-profile-hub .wallet-hero strong{
  grid-column:1!important;
  grid-row:2!important;
  color:#191919!important;
  font-size:26px!important;
  font-weight:400!important;
  line-height:34px!important;
}
html body:not(.admin-site) #profile.wx-profile-hub .wallet-hero small{
  grid-column:1!important;
  grid-row:3!important;
  color:#aaa!important;
  font-size:11px!important;
  line-height:16px!important;
}
html body:not(.admin-site) #profile.wx-profile-hub .wallet-hero::after{
  grid-column:2!important;
  grid-row:1 / span 3!important;
  align-self:center!important;
  color:#999!important;
  content:'›'!important;
  font-size:24px!important;
  line-height:1!important;
}
html body:not(.admin-site) #profile.wx-profile-hub>.wx-group-label{
  box-sizing:border-box!important;
  height:44px!important;
  min-height:44px!important;
  max-height:44px!important;
  margin:0!important;
  padding:13px 16px 7px!important;
  color:#888!important;
  font-size:13px!important;
  font-weight:400!important;
  letter-spacing:0!important;
  line-height:18px!important;
  background:#f5f5f5!important;
}
html body:not(.admin-site) #profile.wx-profile-hub>.hub-list{
  display:block!important;
  box-sizing:border-box!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  border:0!important;
  border-top:1px solid #e5e5e5!important;
  border-bottom:1px solid #e5e5e5!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:none!important;
}
html body:not(.admin-site) #profile.wx-profile-hub>.hub-list>button{
  display:grid!important;
  grid-template-columns:36px minmax(0,1fr) 18px!important;
  align-items:center!important;
  column-gap:12px!important;
  box-sizing:border-box!important;
  width:100%!important;
  height:64px!important;
  min-height:64px!important;
  max-height:64px!important;
  margin:0!important;
  padding:10px 16px!important;
  border:0!important;
  border-bottom:1px solid #e5e5e5!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:none!important;
  text-align:left!important;
}
html body:not(.admin-site) #profile.wx-profile-hub>.hub-list>button:last-child{
  border-bottom:0!important;
}
html body:not(.admin-site) #profile.wx-profile-hub>.hub-list>button>span{
  display:grid!important;
  place-items:center!important;
  box-sizing:border-box!important;
  width:32px!important;
  min-width:32px!important;
  height:32px!important;
  min-height:32px!important;
  border:0!important;
  border-radius:6px!important;
  background:#f0a52a!important;
  color:#fff!important;
  box-shadow:none!important;
  font-size:16px!important;
  font-weight:400!important;
}
html body:not(.admin-site) #profile.wx-profile-hub>.hub-list>button>div{
  display:grid!important;
  min-width:0!important;
  align-content:center!important;
  gap:2px!important;
}
html body:not(.admin-site) #profile.wx-profile-hub>.hub-list>button strong{
  overflow:hidden!important;
  color:#191919!important;
  font-size:16px!important;
  font-weight:400!important;
  line-height:22px!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
html body:not(.admin-site) #profile.wx-profile-hub>.hub-list>button small{
  overflow:hidden!important;
  margin:0!important;
  color:#999!important;
  font-size:11px!important;
  line-height:16px!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
html body:not(.admin-site) #profile.wx-profile-hub>.hub-list>button>b{
  display:block!important;
  color:#999!important;
  font-size:22px!important;
  font-weight:300!important;
  line-height:1!important;
  text-align:right!important;
}
html body:not(.admin-site) #profile.wx-profile-hub>.hub-list>button:active{
  background:#f2f2f2!important;
  border-color:#e5e5e5!important;
  transform:none!important;
}
html body:not(.admin-site) #profile.wx-profile-hub>.release-card{
  margin:8px 0 0!important;
  border:0!important;
  border-top:1px solid #e5e5e5!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:none!important;
}

/* Account/privacy actions live inside the avatar profile subpage, not the root hub. */
html body:not(.admin-site) .inline-detail-page--profile .profile-account-settings{
  display:grid!important;
  gap:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  border:1px solid var(--app-line)!important;
  border-radius:12px!important;
  background:#fff!important;
  color:var(--app-ink)!important;
  box-shadow:none!important;
}
html body:not(.admin-site) .inline-detail-page--profile .profile-account-settings>h3{
  min-height:42px!important;
  display:flex!important;
  align-items:center!important;
  margin:0!important;
  padding:0 14px!important;
  border-bottom:1px solid var(--app-line)!important;
  background:#f7f7f8!important;
  color:#77777d!important;
  font-size:13px!important;
  font-weight:500!important;
}
html body:not(.admin-site) .inline-detail-page--profile .profile-account-settings-list{
  display:grid!important;
  gap:0!important;
}
html body:not(.admin-site) .inline-detail-page--profile .profile-account-settings-row{
  display:grid!important;
  grid-template-columns:36px minmax(0,1fr) 18px!important;
  align-items:center!important;
  gap:12px!important;
  width:100%!important;
  min-height:60px!important;
  margin:0!important;
  padding:8px 14px!important;
  border:0!important;
  border-bottom:1px solid var(--app-line)!important;
  border-radius:0!important;
  background:#fff!important;
  color:var(--app-ink)!important;
  text-align:left!important;
}
html body:not(.admin-site) .inline-detail-page--profile .profile-account-settings-row:last-child{border-bottom:0!important}
html body:not(.admin-site) .inline-detail-page--profile .profile-account-settings-row>span:first-child{
  display:grid!important;
  place-items:center!important;
  width:32px!important;
  height:32px!important;
  border-radius:8px!important;
  background:#f5a623!important;
  color:#fff!important;
  font-size:16px!important;
}
html body:not(.admin-site) .inline-detail-page--profile .profile-account-settings-row>span:nth-child(2){
  display:grid!important;
  gap:2px!important;
  min-width:0!important;
}
html body:not(.admin-site) .inline-detail-page--profile .profile-account-settings-row strong{font-size:16px!important;font-weight:500!important;color:var(--app-ink)!important}
html body:not(.admin-site) .inline-detail-page--profile .profile-account-settings-row small{font-size:11px!important;line-height:1.35!important;color:var(--app-muted)!important}
html body:not(.admin-site) .inline-detail-page--profile .profile-account-settings-row>b{font-size:24px!important;font-weight:300!important;color:#a4a4a8!important;text-align:right!important}
html body:not(.admin-site) .inline-detail-page--profile .profile-account-settings-row:active{background:#f5f5f6!important}
html body:not(.admin-site) .inline-detail-page--profile .profile-account-settings .profile-account-settings-row.profile-account-settings-row{
  min-height:60px!important;
  border-color:var(--app-line)!important;
  background:#fff!important;
  color:var(--app-ink)!important;
  box-shadow:none!important;
}
html body:not(.admin-site) .inline-detail-page--profile .profile-account-settings .profile-account-settings-row>span:nth-child(2) small{display:none!important}

/* The profile hub has stronger legacy selectors; suppress the root rows when its child page is active. */
html body:not(.admin-site) #profile.wx-profile-hub.is-detail-page>:not(.inline-detail-page){display:none!important}
