/*
 * Tiger player experience layer — vertical-first edition.
 * The underlying feature stylesheet remains the functional baseline. This
 * layer establishes the product hierarchy shared by download, lobby and play.
 */

:root {
  --tiger-bg: #040806;
  --tiger-surface: #0a120f;
  --tiger-surface-2: #101b16;
  --tiger-line: #263c33;
  --tiger-line-gold: #7d5d2b;
  --tiger-text: #f5f1e7;
  --tiger-muted: #8fa097;
  --tiger-gold: #f0c660;
  --tiger-gold-bright: #ffe09a;
  --tiger-green: #56d7a5;
  --tiger-red: #df6c62;
  --tiger-radius-xl: 26px;
  --tiger-radius-lg: 20px;
  --tiger-radius-md: 15px;
  --tiger-shadow: 0 24px 70px #000b;
}

html { background: var(--tiger-bg); -webkit-tap-highlight-color: transparent; }

body:not(.admin-site) {
  min-height: 100dvh;
  background:
    radial-gradient(circle at 12% -6%, #d6ad4c12, transparent 29%),
    radial-gradient(circle at 90% 20%, #2f9c750f, transparent 30%),
    var(--tiger-bg);
  color: var(--tiger-text);
}

body:not(.admin-site) button,
body:not(.admin-site) a { touch-action: manipulation; }
body:not(.admin-site) :is(button, a, input, select, textarea):focus-visible { outline: 2px solid var(--tiger-gold); outline-offset: 3px; }

/* Compact identity and utilities. */
#lobby .topbar { min-height: 52px; padding: 5px 2px; }
#lobby .brand { min-width: 0; gap: 9px; }
#lobby .brand-mark { flex: 0 0 auto; width: 36px; height: 36px; border: 1px solid #d1a84955; border-radius: 12px; box-shadow: 0 8px 22px #0008; }
.brand-copy { display: grid; gap: 2px; min-width: 0; }
.brand-copy strong { overflow: hidden; font-size: 17px; font-weight: 780; line-height: 1.05; text-overflow: ellipsis; white-space: nowrap; }
.brand-copy small { color: #b99a54; font-size: 8px; font-weight: 800; letter-spacing: .16em; line-height: 1; }
#lobby .top-tools { flex: 0 0 auto; gap: 2px; padding: 3px; border-color: #594426; background: #090e0cde; }
#lobby .top-tools button:not(.avatar), .header-download { display: grid; min-width: 32px; min-height: 32px; place-items: center; padding: 0 7px; border-radius: 999px; color: #c7d0cc; font-size: 10px; }
#lobby .top-tools .header-download { min-width: 36px; min-height: 36px; }
#lobby .top-tools :is(#localeToggle,#messageNoticeButton) { min-width: 36px!important; min-height: 36px!important; }
.header-download { border: 1px solid #8c6a31; color: var(--tiger-gold); text-decoration: none; }
body.native-app .header-download { display: none; }
#lobby .avatar { width: 36px; height: 36px; border-color: #765b2d!important; background: #251d0d!important; color: var(--tiger-gold)!important; }

/* Hero establishes one dominant action instead of competing cards. */
.lobby-hero {
  position: relative;
  isolation: isolate;
  order: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(118px, .75fr);
  min-height: 178px;
  overflow: hidden;
  border: 1px solid #6a512a;
  border-radius: var(--tiger-radius-xl);
  background:
    linear-gradient(112deg, #171107f2 0%, #0a110dfa 54%, #06110df5 100%),
    url("assets/tiger-ink-gold-banner-app.webp") center / cover;
  box-shadow: var(--tiger-shadow), inset 0 1px #ffe7a61f;
}
.lobby-hero::before { position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, transparent, #d5af4924 54%, transparent 55%); content: ""; transform: skewX(-18deg) translateX(-34%); }
.lobby-hero-copy { z-index: 2; display: grid; align-content: center; justify-items: start; padding: 15px 0 15px 18px; }
.lobby-hero-kicker { color: var(--tiger-gold); font-size: 8px; font-weight: 850; letter-spacing: .18em; }
.lobby-hero h1 { margin: 6px 0 0; font-size: clamp(25px, 7.2vw, 34px); font-weight: 820; line-height: 1.04; letter-spacing: -.06em; }
.lobby-hero h1>span,.lobby-hero h1>em { display: inline-block; white-space: nowrap; }
.lobby-hero h1 em { color: var(--tiger-gold-bright); font-style: normal; }
.lobby-hero p { margin: 7px 0 0; color: #b4b0a1; font-size: 9px; line-height: 1.35; white-space: nowrap; }
.lobby-hero-actions { display: flex; gap: 7px; margin-top: 11px; }
.lobby-hero-actions button { min-height: 40px; border-radius: 12px; }
.hero-primary { display: grid; grid-template-columns: auto; align-content: center; min-width: 122px; padding: 5px 15px; background: linear-gradient(135deg, #f0ca68, #a67627); color: #161006; text-align: left; box-shadow: 0 10px 26px #bd8a2e42, inset 0 1px #fff4c3; }
.hero-primary span { font-size: 13px; font-weight: 850; line-height: 15px; }
.hero-primary small { font-size: 8px; font-weight: 700; opacity: .7; }
.hero-secondary { flex: 0 0 auto; min-width: 76px; padding: 0 13px; border: 1px solid #725b36; background: #0a120ed9; color: #d6c9aa; font-size: 11px; white-space: nowrap; word-break: keep-all; }
.lobby-hero-actions button:active { transform: scale(.97); }
.lobby-hero-art { position: relative; z-index: 1; min-width: 0; }
.lobby-hero-art img { position: absolute; z-index: 2; right: -7%; top: 50%; width: min(158px, 112%); filter: drop-shadow(0 14px 20px #000c); transform: translateY(-48%); }
.hero-halo { position: absolute; right: -31px; top: 10px; width: 145px; height: 145px; border: 1px solid #d6af4e55; border-radius: 50%; box-shadow: 0 0 0 16px #d6af4e0b, 0 0 0 32px #d6af4e07; }
.lobby-hero-art>img.hero-tiger { transform-origin: 50% 58%; animation: tiger-guardian-breathe 4.8s ease-in-out infinite; will-change: transform,filter; }
.hero-energy-ring { position: absolute; z-index: 1; right: 1px; top: 50%; width: 132px; height: 132px; overflow: hidden; border: 1px solid #d9b2554c; border-radius: 50%; box-shadow: inset 0 0 34px #d9af4420,0 0 22px #bc8d2c18; transform: translateY(-50%); animation: tiger-ring-pulse 3.2s ease-in-out infinite; }
.hero-energy-ring::after { position: absolute; inset: -40%; background: conic-gradient(from 0deg,transparent 0 65%,#ffe29a8a 76%,transparent 86%); content: ""; animation: tiger-ring-sweep 5.8s linear infinite; }

.lobby-ticker { order: 2; display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 8px; min-height: 42px; padding: 5px 7px 5px 9px; border: 1px solid #263b33; border-radius: 13px; background: #09120f; }
.lobby-ticker>span { padding: 4px 6px; border-radius: 6px; background: #32240c; color: var(--tiger-gold); font-size: 8px; font-weight: 900; letter-spacing: .09em; }
.lobby-ticker>div { display: grid; min-width: 0; }
.lobby-ticker strong { color: #dedfd8; font-size: 11px; }
.lobby-ticker small { overflow: hidden; color: #7f9189; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
#soundPreferenceButton { display: grid; width: 36px; height: 36px; place-items: center; border: 1px solid #6a542e; border-radius: 11px; background: #1c160a; color: var(--tiger-gold); font-size: 14px; }
#soundPreferenceButton.is-muted { border-color: #36423d; background: #101715; color: #71827b; }

/* Balance is supporting information, not the main marketing card. */
#lobby .balance { order: 4; display: grid; grid-template-columns: auto minmax(0,1fr); grid-template-rows: auto auto; align-items: center; gap: 0 14px; min-height: 68px; padding: 10px 56px 10px 14px; border-color: #5d4a2d; border-radius: 16px; background: linear-gradient(110deg, #21190d, #0a110e 70%); box-shadow: 0 10px 24px #0006, inset 0 1px #ffe5a318; }
#lobby .balance::after { right: -128px; bottom: -193px; border-color: #d9b75a42; }
#lobby .balance>span { grid-column: 1; grid-row: 1; color: #baa77f; font-size: 8px; font-weight: 700; letter-spacing: .11em; }
#lobby .balance strong { grid-column: 1; grid-row: 2; margin: 1px 0 0; color: #f3d47f; font-size: 23px; line-height: 1; }
#lobby .balance>small { grid-column: 2; grid-row: 1/-1; align-self: center; margin: 0; overflow: hidden; color: #807a69; font-size: 9px; line-height: 1.4; text-overflow: ellipsis; white-space: nowrap; }
#lobby .balance-art { display: none; }
#lobby .balance .balance-visibility { top: 50%!important; right: 11px!important; bottom: auto!important; width: 38px!important; height: 38px!important; border-color: #8a6b35!important; border-radius: 11px!important; background: #171107d9!important; color: var(--tiger-gold)!important; transform: translateY(-50%); }

/* Discovery resembles a curated game shelf: large poker, compact secondary games. */
.lobby-featured-games { order: 3; margin: 1px 0 0; }
.lobby-featured-heading { align-items: flex-start; margin: 0 3px 7px; text-align: left; }
.lobby-featured-heading h2 { color: var(--tiger-text); font-size: 18px; letter-spacing: -.04em; }
.lobby-featured-heading small { max-width: none; color: var(--tiger-muted); font-size: 9px; text-align: left; }
.lobby-featured-list { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 7px; }
.lobby-featured-card { position: relative; isolation: isolate; grid-template-columns: 38px minmax(0,1fr); gap: 8px; min-height: 66px; padding: 8px; overflow: hidden; border-color: #2c4239; border-radius: 13px; background: linear-gradient(135deg, #0e1b17, #07100d); box-shadow: inset 0 1px #ffffff08, 0 7px 17px #0005; }
.lobby-featured-card::after { position: absolute; z-index: -1; right: -27px; bottom: -48px; width: 108px; height: 108px; border: 1px solid #d2ad5433; border-radius: 50%; content: ""; }
.lobby-featured-card.is-coral { border-color: #5e3c36; background: linear-gradient(135deg, #201411, #0c0f0e); }
.lobby-featured-card.is-gold { grid-column: 1/-1; grid-template-columns: 42px minmax(0,1fr) auto; min-height: 62px; border-color: #80602e; background: linear-gradient(105deg, #271d0b, #0a110e); }
.lobby-featured-badge { width: 38px; height: 38px; border-radius: 11px; }
.lobby-featured-card.is-gold .lobby-featured-badge { width: 42px; height: 42px; }
.lobby-featured-copy { align-self: center; gap: 2px; }
.lobby-featured-copy strong { color: #f1efe8; font-size: 12px; line-height: 16px; }
.lobby-featured-copy small, .lobby-featured-copy em { color: #99aaa3; font-size: 8px; line-height: 11px; }
.lobby-featured-copy em { display: none; }
.lobby-featured-card.is-gold .lobby-featured-copy em { display: block; color: #b19c6a; }
.lobby-featured-state { display: none; }
.lobby-featured-arrow { position: absolute; right: 9px; top: 8px; color: #b79b5e; font-size: 19px; }
.lobby-featured-card.is-gold .lobby-featured-arrow { position: static; align-self: center; }
.lobby-featured-card:active { transform: scale(.975); }

.promotion-carousel { order: 5; margin-top: 4px; border-color: #654c28; border-radius: 18px; box-shadow: 0 12px 28px #0007; }
.promotion-slide { min-height: 118px; }
.quick-zone { order: 6; }
#lobby .quick-zone .zone-heading { display: flex; }
#lobby .quick-zone .zone-heading h2 { font-size: 16px; }
.quick-actions { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 7px; }
.quick-actions>button { display: grid!important; grid-template-columns: 27px minmax(0,1fr); gap: 6px; min-height: 49px; padding: 7px!important; border-color: #34443c!important; border-radius: 13px!important; background: #09120f!important; color: #bdc7c2!important; font-size: 9px!important; text-align: left; }
.quick-actions>button::before { display: grid; width: 27px; height: 27px; place-items: center; border: 1px solid #66512e; border-radius: 8px; background: #1c160a; color: var(--tiger-gold); content: attr(data-icon); font-size: 10px; font-weight: 800; }

/* The four main destinations use one editorial black-gold system. */
.game-catalog-page,.wx-hub { padding-inline: 1px; }
.game-catalog-head,.hub-page-head { position: relative; min-height: 78px; padding: 10px 5px 12px; border: 0; background: transparent; }
.game-catalog-head::after,.hub-page-head::after { position: absolute; right: 5px; bottom: 0; left: 5px; height: 1px; background: linear-gradient(90deg,#8e6a31,transparent 70%); content: ""; opacity: .55; }
.game-catalog-head span,.hub-page-head>span { display: block; color: var(--tiger-gold); font-size: 9px; font-weight: 850; letter-spacing: .18em; }
.game-catalog-head h1,.hub-page-head h1 { margin: 4px 0 0; color: var(--tiger-text); font-size: 27px; font-weight: 780; line-height: 1.05; letter-spacing: -.05em; text-align: left; }
.game-catalog-head p,.hub-page-head p { max-width: 145px; margin: 0; color: var(--tiger-muted); font-size: 10px; line-height: 1.5; text-align: right; }
.hub-page-head { display: grid!important; grid-template-columns: minmax(0,1fr) auto!important; grid-template-rows: auto auto!important; column-gap: 14px; align-content: center; align-items: end; }
.hub-page-head>span { grid-column: 1!important; grid-row: 1!important; }
.hub-page-head h1 { grid-column: 1!important; grid-row: 2!important; }
.hub-page-head p { grid-column: 2!important; grid-row: 1 / span 2!important; align-self: end; }
.wx-chat-hub .hub-page-head { min-height: 78px!important; border-bottom: 0!important; background: transparent!important; }
.wx-chat-hub .hub-page-head h1 { color: var(--tiger-text)!important; font-size: 27px!important; font-weight: 780!important; letter-spacing: -.05em!important; text-align: left!important; }
.wx-hub { gap: 11px; padding-bottom: 90px; background: transparent!important; }

/* The game shelf prioritizes the two live rooms, then offers compact genre cards. */
.game-catalog-page { gap: 9px; }
.game-catalog-head { min-height: 78px; padding-inline: 5px; }
.game-catalog { gap: 8px; }
.game-catalog-card { min-height: 112px; border-radius: 17px; transition: transform .16s ease,filter .16s ease,border-color .16s ease; }
.game-catalog-card.is-featured { min-height: 96px; padding: 12px 15px; }
.game-catalog-card.is-dragon,.game-catalog-card.is-mines { grid-column: auto!important; min-height: 118px; padding: 13px!important; }
.game-catalog-card.is-poker { grid-column: 1 / -1!important; min-height: 103px; padding: 13px 15px!important; }
.game-catalog-card.is-dragon .game-catalog-copy strong,.game-catalog-card.is-mines .game-catalog-copy strong { max-width: 132px; font-size: 16px; letter-spacing: 0; }
.game-catalog-card.is-dragon .game-catalog-copy em,.game-catalog-card.is-mines .game-catalog-copy em { max-width: 86px; }
.game-catalog-card.is-dragon .game-catalog-badge,.game-catalog-card.is-mines .game-catalog-badge { right: 11px; bottom: 10px; font-size: 34px; opacity: .86; }
.game-catalog-card .game-catalog-arrow { transition: transform .16s ease,background .16s ease; }
.game-catalog-card:active { transform: scale(.975); }

/* Chat gets a useful first-screen focal point instead of a mostly empty list. */
.chat-spotlight { position: relative; isolation: isolate; display: grid; grid-template-columns: minmax(0,1fr) 102px; align-items: center; min-height: 126px; padding: 18px; overflow: hidden; border: 1px solid #654e2b; border-radius: 21px; background: radial-gradient(circle at 90% 14%,#dfb64f26,transparent 31%),linear-gradient(118deg,#21190c,#09120f 62%); box-shadow: 0 17px 34px #0008,inset 0 1px #ffe4a51d; }
.chat-spotlight::before { position: absolute; z-index: -1; right: 40px; top: -75px; width: 150px; height: 150px; border: 1px solid #e2bb5b38; border-radius: 50%; box-shadow: 0 0 0 20px #d5aa4008,0 0 0 42px #d5aa4006; content: ""; }
.chat-spotlight>div:first-child { display: grid; align-content: center; justify-items: start; }
.chat-spotlight span { color: var(--tiger-gold); font-size: 8px; font-weight: 850; letter-spacing: .16em; }
.chat-spotlight strong { max-width: 185px; margin-top: 7px; color: #fff3d2; font-size: 17px; line-height: 1.18; letter-spacing: -.03em; }
.chat-spotlight small { margin-top: 7px; color: #a9a18e; font-size: 10px; line-height: 1.5; }
.chat-spotlight-art { position: relative; height: 88px; }
.chat-spotlight-art i { position: absolute; display: block; border: 1px solid #dcb75d; background: linear-gradient(145deg,#493411,#1a160d); box-shadow: 0 12px 22px #0009; }
.chat-spotlight-art i:first-child { right: 3px; top: 6px; width: 68px; height: 51px; border-radius: 17px 17px 5px 17px; transform: rotate(6deg); }
.chat-spotlight-art i:nth-child(2) { left: 1px; bottom: 4px; width: 58px; height: 43px; border-color: #496c5d; border-radius: 15px 15px 15px 4px; background: linear-gradient(145deg,#143c30,#0d1c18); transform: rotate(-8deg); }
.chat-spotlight-art b { position: absolute; right: 22px; top: 19px; color: #ffe3a0; font: 800 18px/1 Georgia,serif; letter-spacing: .08em; }
.hub-section-title { display: flex; align-items: center; justify-content: space-between; padding: 1px 5px 0; }
.hub-section-title span { color: #e8e5dc; font-size: 13px; font-weight: 750; }
.hub-section-title small { color: #788981; font-size: 9px; }
.wx-hub .hub-list,.wx-conversation-list { gap: 8px; border: 0; background: transparent!important; }
.wx-hub .hub-list button,.wx-chat-hub #supportPage { grid-template-columns: 46px minmax(0,1fr) 18px!important; min-height: 72px!important; padding: 12px!important; border: 1px solid var(--tiger-line)!important; border-radius: var(--tiger-radius-md)!important; background: linear-gradient(115deg,#0d1b17,#08110e)!important; box-shadow: inset 0 1px #ffffff08,0 8px 20px #0004; transition: transform .15s ease,border-color .15s ease,filter .15s ease; }
.wx-hub .hub-list button>span,.wx-chat-hub #supportPage>span { width: 46px!important; height: 46px!important; border: 1px solid #65502f!important; border-radius: 13px!important; background: #20190e!important; color: var(--tiger-gold)!important; }
.wx-chat-hub #supportPage { border-color: #70552e!important; background: linear-gradient(115deg,#21190d,#0a120f)!important; }
.wx-chat-hub #supportPage>span { background: linear-gradient(145deg,#4a3512,#22180b)!important; }
.wx-hub .hub-list button:active { transform: scale(.982)!important; filter: brightness(1.14)!important; }
.chat-privacy-note { display: flex; align-items: center; gap: 6px; margin: 1px 4px 0; color: #71847b; font-size: 9px; }
.chat-privacy-note span { display: grid; width: 16px; height: 16px; place-items: center; border: 1px solid #385848; border-radius: 50%; color: #77b99e; font-size: 9px; }

/* Profile combines identity and balance into one premium account surface. */
.profile-overview { position: relative; overflow: hidden; border: 1px solid #71562d; border-radius: 22px; background: radial-gradient(circle at 92% 8%,#d9ae452e,transparent 28%),linear-gradient(125deg,#21190c,#0b1511 62%); box-shadow: 0 18px 36px #0008,inset 0 1px #ffe6a520; }
.profile-overview::after { position: absolute; right: -49px; top: -65px; width: 145px; height: 145px; border: 1px solid #d9b55640; border-radius: 50%; box-shadow: 0 0 0 18px #e3b94e08,0 0 0 38px #e3b94e06; content: ""; pointer-events: none; }
.wx-profile-hub .profile-hero { position: relative; z-index: 1; grid-template-columns: 54px minmax(0,1fr) auto; gap: 12px; min-height: 82px; margin: 0; padding: 14px 15px 10px; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.wx-profile-hub .profile-avatar { width: 54px!important; height: 54px!important; border: 1px solid #9b773b!important; border-radius: 17px!important; background: linear-gradient(145deg,#463312,#18150d)!important; color: var(--tiger-gold-bright)!important; box-shadow: inset 0 1px #ffeba82b,0 8px 16px #0007; }
.wx-profile-hub .profile-hero strong { color: #fff5dc; font-size: 16px; }
.wx-profile-hub .profile-hero>button:last-child { position: relative; z-index: 2; min-width: 58px; min-height: 40px; border: 1px solid #a17b3b; border-radius: 12px; background: #21190d; color: var(--tiger-gold-bright); font-weight: 750; }
.wx-profile-hub .wallet-hero { position: relative; z-index: 1; grid-template-columns: auto minmax(0,1fr) auto; grid-template-rows: auto auto; gap: 2px 12px; min-height: 74px; margin: 0 14px 14px; padding: 12px 4px 0; border: 0; border-top: 1px solid #6d542e; border-radius: 0; background: transparent; box-shadow: none; }
.wx-profile-hub .wallet-hero span { grid-column: 1; grid-row: 1; color: #baa77e; font-size: 10px; }
.wx-profile-hub .wallet-hero strong { grid-column: 1; grid-row: 2; color: #f6d77e; font-size: 27px; }
.wx-profile-hub .wallet-hero small { grid-column: 2; grid-row: 1 / span 2; align-self: center; color: #8d9185; font-size: 9px; }
.wx-profile-hub .wallet-hero::after { grid-column: 3; grid-row: 1 / span 2; align-self: center; color: #b69758; content: "›"; font-size: 23px; }
.wx-profile-hub .wx-group-label { margin: 0; padding: 3px 5px 0; color: #928b79; font-size: 10px; font-weight: 700; letter-spacing: .06em; }
.wx-profile-hub>.hub-list { gap: 0; overflow: hidden; padding: 3px 10px; border: 1px solid var(--tiger-line)!important; border-radius: 17px; background: linear-gradient(115deg,#0d1b17,#08110e)!important; box-shadow: inset 0 1px #ffffff08,0 10px 23px #0004; }
.wx-profile-hub>.hub-list button { min-height: 65px!important; padding: 9px 2px!important; border: 0!important; border-bottom: 1px solid #263a32!important; border-radius: 0!important; background: transparent!important; box-shadow: none; }
.wx-profile-hub>.hub-list button:last-child { border-bottom: 0!important; }
.wx-profile-hub>.hub-list button>span { width: 42px!important; height: 42px!important; border-radius: 12px!important; }
.wx-profile-hub>.hub-list strong { color: #ecece5; font-size: 14px; }
.wx-profile-hub>.hub-list small { color: #81938b; font-size: 10px; }
body.native-app .wx-profile-hub .release-card { display: none!important; }

/* Floating bottom navigation; 50px minimum targets keep one-hand use reliable. */
.bottom-nav { left: 50%; right: auto; bottom: max(8px,env(safe-area-inset-bottom)); width: min(calc(100% - 16px),634px); padding: 5px 7px; border: 1px solid #654d2c; border-radius: 21px; background: #090e0cee; box-shadow: 0 15px 36px #000c; transform: translateX(-50%); backdrop-filter: blur(18px); }
.bottom-nav button { position: relative; min-height: 50px; gap: 3px; border-radius: 15px; color: #82938b; transition: color .16s,background .16s,transform .16s; }
.bottom-nav .nav-icon { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.bottom-nav button.active { background: linear-gradient(180deg,#2a210f,#19130a); color: var(--tiger-gold); }
.bottom-nav button.active::after { position: absolute; left: 50%; bottom: 2px; width: 14px; height: 2px; border-radius: 99px; background: var(--tiger-gold); content: ""; transform: translateX(-50%); }
.bottom-nav button:active { transform: scale(.95); }
.bottom-nav span { font-size: 9px; font-weight: 700; }

/* Hold'em becomes a full-height play surface with a clear decision zone. */
body:not(.admin-site) .poker-dialog { width: min(440px,100vw)!important; height: 100dvh; max-height: 100dvh!important; border: 0!important; border-radius: 0!important; background: #030705!important; }
body:not(.admin-site) .poker-dialog::backdrop { background: #010302; }
body:not(.admin-site) .poker-dialog .poker-shell { grid-template-rows: auto auto minmax(0,1fr) auto; gap: 8px; height: 100%; max-height: none!important; padding: max(8px,env(safe-area-inset-top)) 9px max(8px,env(safe-area-inset-bottom))!important; overflow: hidden!important; background: radial-gradient(circle at 50% 2%,#17483a88,transparent 31%),#030705!important; }
.poker-heading { min-height: 44px; padding: 0 2px!important; }
.poker-heading-copy small { color: var(--tiger-gold)!important; font-size: 9px!important; }
.poker-heading-copy h2 { margin: 2px 0 0!important; font-size: 17px!important; }
.poker-close { min-width: 44px; min-height: 38px!important; border-color: #4c5a53!important; border-radius: 11px!important; }
.poker-tabs { padding: 3px!important; border-color: #283a33!important; border-radius: 12px!important; background: #07100d!important; }
.poker-tab { height: 38px!important; min-height: 38px!important; border-radius: 9px!important; }
.poker-content { min-height: 0!important; overflow-y: auto; overscroll-behavior: contain; }
.poker-table-shell { display: grid; grid-template-rows: auto minmax(430px,1fr) auto; gap: 8px; min-height: 100%; }
.poker-table-meta { padding: 8px 10px!important; border-color: #31463d!important; border-radius: 13px!important; background: linear-gradient(115deg,#101d18,#07100d)!important; }
.poker-table-meta strong { font-size: 13px!important; }
.poker-table-meta span { font-size: 9px!important; }
.poker-felt { min-height: 448px!important; border-color: #836d3c!important; border-radius: 49% / 17%!important; background: radial-gradient(ellipse at 50% 43%,#237255 0%,#164a37 42%,#0a281e 72%,#030c09 100%)!important; box-shadow: inset 0 0 0 8px #040907e6,inset 0 0 0 10px #b7923c45,inset 0 0 54px #000a,0 18px 34px #000a!important; }
.poker-felt::before { inset: 11px!important; border-color: #f0d7813d!important; }
.poker-felt.is-your-turn { animation: tiger-table-turn .8s ease-out 1; }
.poker-table-center { top: 45%!important; width: 250px!important; }
.poker-pot { padding: 5px 10px!important; color: #ffe092!important; font-size: 11px!important; }
.poker-board { gap: 5px!important; min-height: 61px!important; }
.poker-card { position: relative; display: grid!important; width: 39px!important; height: 56px!important; place-content: center!important; border-radius: 8px!important; font-size: 14px!important; line-height: 1!important; box-shadow: 0 7px 14px #0009!important; }
.poker-card b { position: absolute; left: 5px; top: 5px; font: 900 15px/.85 Georgia,"Times New Roman",serif; letter-spacing: -.06em; }
.poker-card i { position: absolute; left: 6px; top: 21px; font: normal 800 14px/1 Georgia,"Times New Roman",serif; }
.poker-card.is-dealt { animation: tiger-card-deal .34s cubic-bezier(.2,.8,.2,1) both; }
.poker-card.is-compact { width: 24px!important; height: 34px!important; font-size: 9px!important; }
.poker-card.is-compact b { left: 3px; top: 3px; font-size: 9px; }
.poker-card.is-compact i { left: 4px; top: 13px; font-size: 8px; }
.poker-seat { width: 98px; min-height: 65px; border-radius: 12px!important; }
.poker-seat-avatar { width: 28px; height: 28px; border-radius: 9px; }
.poker-seat.is-self { border-color: #efcb67!important; }
.poker-seat.is-self .poker-seat-cards { z-index: 4; right: 50%; top: -59px; gap: 4px; transform: translateX(50%); }
.poker-seat.is-self .poker-seat-cards .poker-card { width: 40px!important; height: 58px!important; font-size: 14px!important; }
.poker-seat.is-turn { animation: tiger-seat-turn 1.2s ease-in-out infinite alternate; }
.poker-felt[data-capacity="6"] .poker-seat[data-slot="0"] { top: 75%; }
.poker-felt[data-capacity="6"] .poker-seat[data-slot="1"],.poker-felt[data-capacity="6"] .poker-seat[data-slot="5"] { top: 72%; }
.poker-felt[data-capacity="4"] .poker-seat[data-slot="0"],.poker-felt[data-capacity="2"] .poker-seat[data-slot="0"] { top: 75%; }
.poker-actions { grid-template-columns: repeat(3,minmax(0,1fr))!important; gap: 7px!important; padding: 8px!important; border-color: #526047!important; border-radius: 15px!important; background: #050a08f5!important; box-shadow: 0 -14px 30px #000c!important; }
.poker-actions button,.poker-actions input { height: 48px!important; min-height: 48px!important; border-radius: 13px!important; font-size: 13px!important; }
.poker-actions button.is-accent { border-color: #f0cf72!important; background: linear-gradient(135deg,#e2b952,#8a5f20)!important; color: #120d04!important; box-shadow: 0 7px 18px #a9792938; }
.poker-actions button:active { transform: scale(.96); }
.poker-raise-controls,.poker-join-controls { grid-column: 1/-1; }
.poker-private-join input,.poker-private-join button { min-height: 44px!important; }
.poker-room-row { min-height: 68px; }

@keyframes tiger-guardian-breathe { 0%,100% { filter: drop-shadow(0 14px 20px #000c) drop-shadow(0 0 0 transparent); transform: translateY(-48%) scale(1); } 50% { filter: drop-shadow(0 18px 24px #000e) drop-shadow(0 0 14px #d4aa425e); transform: translateY(-52%) scale(1.035); } }
@keyframes tiger-ring-pulse { 0%,100% { opacity: .55; transform: translateY(-50%) scale(.95); } 50% { opacity: 1; transform: translateY(-50%) scale(1.045); } }
@keyframes tiger-ring-sweep { to { transform: rotate(1turn); } }
@keyframes tiger-card-deal { from { opacity: 0; transform: translateY(-42px) scale(.68) rotate(-8deg); } to { opacity: 1; transform: none; } }
@keyframes tiger-table-turn { 0% { filter: brightness(1); } 45% { filter: brightness(1.3); } 100% { filter: brightness(1); } }
@keyframes tiger-seat-turn { from { box-shadow: 0 0 0 1px #56e8b533,0 0 9px #56e8b534,0 5px 13px #0009!important; } to { box-shadow: 0 0 0 2px #56e8b56e,0 0 20px #56e8b560,0 5px 13px #0009!important; } }
@keyframes tiger-page-enter { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
@keyframes tiger-item-enter { from { opacity: 0; transform: translateY(10px) scale(.985); } to { opacity: 1; transform: none; } }
@keyframes tiger-dialog-enter { from { opacity: 0; transform: translateY(18px) scale(.965); } to { opacity: 1; transform: none; } }
@keyframes tiger-shimmer { from { transform: translateX(-145%) skewX(-18deg); } to { transform: translateX(315%) skewX(-18deg); } }
@keyframes tiger-live-pulse { 0%,100% { box-shadow: 0 0 0 0 #e6bd5a00; } 50% { box-shadow: 0 0 0 5px #e6bd5a18; } }

@media (max-width:719px) {
  body:not(.admin-site) .app { padding: max(8px,env(safe-area-inset-top)) 10px 88px; }
  #lobby #supportButton,#lobby #friendsButton { display: none; }
  .lobby-hero { min-height: 178px; }
}

@media (max-width:360px) {
  .header-download { display: none; }
  .lobby-hero { grid-template-columns: minmax(0,1.3fr) minmax(100px,.7fr); min-height: 174px; }
  .lobby-hero-copy { padding-left: 15px; }
  .lobby-hero h1 { font-size: 22px; }
  .lobby-hero p { max-width: 165px; font-size: 8px; }
  .hero-primary { min-width: 112px; padding-inline: 13px; }
  .hero-secondary { min-width: 72px; padding-inline: 10px; }
  .lobby-hero-art img { width: min(142px,108%); }
  .lobby-featured-card { grid-template-columns: 39px minmax(0,1fr); gap: 7px; padding: 10px 8px; }
  .lobby-featured-badge { width: 39px; height: 39px; }
  .quick-actions>button { grid-template-columns: 1fr; place-items: center; text-align: center; }
  .poker-seat { width: 88px; }
  .poker-card { width: 34px!important; height: 50px!important; }
  .poker-table-center { width: 216px!important; }
}

@media (max-width:719px) {
  .tiger-native-app #games.is-detail-page { top: max(26px,env(safe-area-inset-top))!important; }
}

@media (min-width:720px) {
  body:not(.admin-site) .app { max-width: 1120px; margin-right: auto; }
  .bottom-nav { display: none; }
}

@media (min-width:960px) {
  #lobby { grid-template-columns: minmax(0,1.1fr) minmax(340px,.9fr); gap: 15px; align-items: start; }
  #lobby .topbar { grid-column: 1/-1; }
  #lobby .lobby-hero { grid-column: 1; grid-row: 2/span 3; min-height: 346px; }
  #lobby .lobby-hero-copy { padding-left: 34px; }
  #lobby .lobby-hero h1 { font-size: 46px; }
  #lobby .lobby-hero-art img { width: 250px; }
  #lobby .lobby-ticker { grid-column: 2; grid-row: 2; }
  #lobby .balance { grid-column: 2; grid-row: 3; }
  #lobby .lobby-featured-games { grid-column: 1; grid-row: 5; }
  #lobby .promotion-carousel { grid-column: 2; grid-row: 4; margin-top: 0; }
  #lobby .quick-zone { grid-column: 2; grid-row: 5; }
}

/* The built-in QA phone frame can live inside a wide desktop viewport. Keep
   its contents on the same single-column rules as a physical phone. */
body.mobile-preview #lobby { grid-template-columns: minmax(0,1fr)!important; gap: 12px!important; }
body.mobile-preview #lobby>* { grid-column: 1!important; grid-row: auto!important; min-width: 0; }
body.mobile-preview .app { width: min(var(--mobile-preview-width,390px),100%)!important; }
body.mobile-preview .bottom-nav { width: min(var(--mobile-preview-width,390px),100vw)!important; }
body.mobile-preview .lobby-hero { min-height: 178px!important; }
body.mobile-preview .lobby-hero-copy { padding-left: 18px!important; }
body.mobile-preview .lobby-hero h1 { font-size: 27px!important; }
body.mobile-preview .lobby-hero-art img { width: min(158px,112%)!important; }
body.mobile-preview .hero-halo { right: -38px; }
body.mobile-preview .top-tools { max-width: calc(100% - 154px); }
body.mobile-preview #supportButton,body.mobile-preview #friendsButton { display: none; }
body.mobile-preview .app { overflow-x: hidden; }
html[style*="--mobile-preview-width: 320px"] .top-tools { max-width: calc(100% - 150px); }
html[style*="--mobile-preview-width: 320px"] .avatar { display: none; }
html[style*="--mobile-preview-width: 320px"] .header-download { display: none; }
html[style*="--mobile-preview-width: 320px"] .lobby-hero { grid-template-columns: minmax(0,1.3fr) minmax(96px,.7fr); }
html[style*="--mobile-preview-width: 320px"] .lobby-hero-copy { padding-left: 16px!important; }
html[style*="--mobile-preview-width: 320px"] .lobby-hero h1 { font-size: 24px!important; }
html[style*="--mobile-preview-width: 320px"] .hero-primary { min-width: 106px; padding-inline: 11px; }

/* Motion language: short entrance cues, deliberate touch feedback and subtle
   ambient light. It is shared by all four hubs and every secondary page. */
.view.active.page-initial-enter { animation: tiger-page-enter .34s cubic-bezier(.2,.78,.28,1) both; }
.view.active.page-initial-enter :is(.lobby-hero,.lobby-ticker,.lobby-featured-games,.balance,.promotion-carousel,.quick-zone,.game-catalog-head,.hub-page-head,.chat-spotlight,.profile-overview) { animation: tiger-item-enter .4s cubic-bezier(.2,.75,.25,1) both; }
.view.active.page-initial-enter :is(.lobby-ticker,.game-catalog-head,.hub-page-head) { animation-delay: .035s; }
.view.active.page-initial-enter :is(.lobby-featured-games,.chat-spotlight,.profile-overview) { animation-delay: .07s; }
.view.active.page-initial-enter :is(.balance,.promotion-carousel) { animation-delay: .1s; }
.view.active.page-initial-enter :is(.quick-zone) { animation-delay: .13s; }
.view.active.page-initial-enter :is(.lobby-featured-card,.game-catalog-card,.hub-list>button,.profile-menu-list>button,.room,.friend-conversation-row,.wallet-records-list>div) { animation: tiger-item-enter .36s cubic-bezier(.2,.76,.25,1) both; }
.view.active.page-initial-enter :is(.lobby-featured-card,.game-catalog-card,.hub-list>button,.profile-menu-list>button,.room):nth-child(2) { animation-delay: .045s; }
.view.active.page-initial-enter :is(.lobby-featured-card,.game-catalog-card,.hub-list>button,.profile-menu-list>button,.room):nth-child(3) { animation-delay: .08s; }
.view.active.page-initial-enter :is(.lobby-featured-card,.game-catalog-card,.hub-list>button,.profile-menu-list>button,.room):nth-child(4) { animation-delay: .115s; }
.view.active.page-initial-enter :is(.lobby-featured-card,.game-catalog-card,.hub-list>button,.profile-menu-list>button,.room):nth-child(n+5) { animation-delay: .145s; }
:is(.hero-primary,.primary-download,.confirm,.join,.chat-send-control,.poker-actions .is-accent) { position: relative; overflow: hidden; }
:is(.hero-primary,.primary-download,.confirm,.join,.chat-send-control,.poker-actions .is-accent)::after { position: absolute; top: -45%; bottom: -45%; left: 0; width: 32%; background: linear-gradient(90deg,transparent,#fff8c84d,transparent); content: ""; pointer-events: none; animation: tiger-shimmer 4.8s ease-in-out infinite; }
:is(.lobby-featured-card,.game-catalog-card,.hub-list>button,.profile-menu-list>button,.quick-actions>button,.room,.friend-conversation-row) { transition: transform .16s ease,filter .16s ease,border-color .16s ease,box-shadow .16s ease!important; }
:is(.lobby-featured-card,.game-catalog-card,.hub-list>button,.profile-menu-list>button,.quick-actions>button,.room,.friend-conversation-row):active { filter: brightness(1.15); transform: translateY(1px) scale(.975)!important; }
#soundPreferenceButton[aria-pressed="true"],.lobby-ticker>span { animation: tiger-live-pulse 2.6s ease-in-out infinite; }
.promotion-track { will-change: transform; }
.promotion-slide[aria-hidden="false"] .promotion-copy { animation: tiger-item-enter .42s ease both; }
.promotion-enter { min-height: 36px!important; padding: 7px 11px!important; }
.promotion-dots { right: 7px!important; bottom: 2px!important; gap: 0!important; }
.promotion-dots button { position: relative; width: 36px!important; height: 36px!important; background: transparent!important; }
.promotion-dots button::after { position: absolute; left: 10px; top: 16px; width: 16px; height: 4px; border-radius: 99px; background: #dffff348; content: ""; transition: width .2s ease,background .2s ease,transform .2s ease; }
.promotion-dots button.active { width: 38px!important; }
.promotion-dots button.active::after { width: 26px; background: #e6fff6; }
.detail-theme-tiger,.inline-detail-page { animation: tiger-page-enter .3s cubic-bezier(.2,.78,.28,1) both; }
.detail-theme-tiger>.inline-detail-surface { animation: tiger-item-enter .36s .04s cubic-bezier(.2,.76,.25,1) both; }
body:not(.admin-site) dialog[open] { animation: tiger-dialog-enter .28s cubic-bezier(.2,.78,.28,1) both; }
body:not(.admin-site) dialog[open]::backdrop { animation: tiger-backdrop-enter .24s ease both; }
.wechat-message-row,.message,.receipt { animation: tiger-item-enter .24s ease both; }
@keyframes tiger-backdrop-enter { from { opacity: 0; } to { opacity: 1; } }

/* --------------------------------------------------------------------------
   Secondary-page design system. Every route opened below the four main hubs
   inherits the same black, deep-jade and champagne-gold product language.
   -------------------------------------------------------------------------- */
.detail-theme-tiger {
  position: relative;
  isolation: isolate;
  color: var(--tiger-text);
  background:
    radial-gradient(circle at 88% -3%,#d7ad431b,transparent 27%),
    radial-gradient(circle at 4% 44%,#3084660c,transparent 31%),
    var(--tiger-bg)!important;
}
.detail-theme-tiger::before { position: fixed; z-index: -1; right: -78px; top: 96px; width: 210px; height: 210px; border: 1px solid #c99e3c16; border-radius: 50%; box-shadow: 0 0 0 28px #c99e3c08,0 0 0 57px #c99e3c05; content: ""; pointer-events: none; }
.detail-theme-tiger .detail-native-head { position: sticky; z-index: 9; top: 0; min-height: 60px; border-bottom: 1px solid #775a2c!important; background: #07100eeb!important; box-shadow: 0 12px 28px #0008; backdrop-filter: blur(18px); }
.detail-theme-tiger .detail-native-head::after { position: absolute; right: 0; bottom: -1px; left: 0; height: 1px; background: linear-gradient(90deg,transparent,#e7bf61,transparent); content: ""; opacity: .55; }
.detail-theme-tiger .detail-native-head h1 { color: #fbf4e4!important; font-size: 18px!important; font-weight: 780!important; letter-spacing: -.025em; }
.detail-theme-tiger .inline-detail-back { display: grid!important; place-items: center!important; min-width: 48px!important; min-height: 48px!important; color: var(--tiger-gold)!important; transition: transform .15s ease,background .15s ease; }
.detail-theme-tiger .inline-detail-back:active { transform: scale(.9); background: #e6b84d12!important; }
.detail-theme-tiger :is(input,select,textarea) { min-height: 48px!important; border: 1px solid #33483f!important; border-radius: 13px!important; background: linear-gradient(135deg,#0e1a17,#09120f)!important; color: #f2f0e9!important; box-shadow: inset 0 1px #ffffff08!important; transition: border-color .16s ease,box-shadow .16s ease,background .16s ease; }
.detail-theme-tiger :is(input,select,textarea):focus { border-color: #b88b3e!important; background: #101a16!important; box-shadow: 0 0 0 3px #d3a54a18,inset 0 1px #ffffff0a!important; outline: 0; }
.detail-theme-tiger :is(input,textarea)::placeholder { color: #6f8179; }
.detail-theme-tiger button { transition: transform .15s ease,filter .15s ease,border-color .15s ease,background .15s ease; }
.detail-theme-tiger button:active { transform: scale(.97); }
.detail-theme-tiger button.confirm,.detail-theme-tiger button[type="submit"] { min-height: 46px!important; border: 1px solid #f2cf7899!important; border-radius: 13px!important; background: linear-gradient(135deg,#f0c966,#9b6b26)!important; color: #171006!important; font-weight: 850!important; box-shadow: 0 9px 22px #c28a2d32,inset 0 1px #fff2ba!important; }
.detail-theme-tiger button:disabled { filter: grayscale(.4); opacity: .55; }

/* Account, wallet and profile pages. */
.inline-detail-page--profile { min-height: calc(100dvh - 82px)!important; }
.inline-detail-page--profile>.inline-detail-surface { position: relative; gap: 13px!important; padding: 17px 14px 104px!important; background: transparent!important; }
.inline-detail-page--profile>.tiger-account-form,.inline-detail-page--profile>.tiger-detail-sheet { display: grid!important; gap: 12px!important; align-content: start; }
.tiger-account-form>h2,.tiger-detail-sheet>h2,.wallet-records-detail>h2 { color: #fbf3df!important; font-size: 22px!important; font-weight: 800!important; letter-spacing: -.035em; }
.tiger-account-form>h2::before,.tiger-detail-sheet>h2::before,.wallet-records-detail>h2::before { display: block; margin-bottom: 5px; color: var(--tiger-gold); content: "TIGER ACCOUNT"; font-size: 8px; font-weight: 900; letter-spacing: .19em; }
body:not(.admin-site) dialog:not([open]) :is(.tiger-account-form>h2,.tiger-detail-sheet>h2,.wallet-records-detail>h2)::before,body:not(.admin-site) dialog:not([open]) .tiger-auth-form>h2::before,body:not(.admin-site) dialog:not([open]) .tiger-auth-form::before { content: none!important; display: none!important; }
.inline-detail-page--profile .tiger-account-form>h2 { display: block!important; padding: 5px 2px 9px; border-bottom: 1px solid #6e552d; }
.inline-detail-page--profile .tiger-account-form>p:not(:empty) { margin: 0!important; padding: 11px 12px!important; border: 1px solid #31483e; border-radius: 13px; background: #0c1814; color: #91a097!important; line-height: 1.55!important; }
.inline-detail-page--profile .tiger-account-form>label { min-height: 48px; padding: 9px 11px; border: 1px solid #31463d; border-radius: 13px; background: #0c1814; }
.inline-detail-page--profile .tiger-account-form>div[style*="justify-content:flex-end"] { display: grid!important; grid-template-columns: minmax(0,1fr) auto auto!important; gap: 8px!important; margin-top: 2px; }
.inline-detail-page--profile .tiger-account-form>div[style*="justify-content:flex-end"] button { min-height: 44px!important; border: 1px solid #3b4b44!important; border-radius: 12px!important; background: #0e1916!important; }
.inline-detail-page--profile .tiger-account-form>div[style*="justify-content:flex-end"] button[type="submit"] { border-color: #e7c46f99!important; background: linear-gradient(135deg,#e4bb58,#946521)!important; color: #140e04!important; }
.wallet-records-intro { margin: 0!important; padding: 12px 14px!important; border: 1px solid #71562e!important; border-radius: 14px!important; background: linear-gradient(120deg,#20180b,#0b1511)!important; color: #b6aa91!important; text-align: left!important; }
.wallet-records-filters { padding: 0!important; border: 0!important; background: transparent!important; }
.wallet-records-list { gap: 9px!important; padding: 2px 0!important; }
.wallet-records-list>div { position: relative; padding: 13px 14px 13px 18px!important; border: 1px solid #30463d!important; border-radius: 15px!important; background: linear-gradient(120deg,#0f1d18,#09120f)!important; box-shadow: inset 0 1px #ffffff08,0 8px 19px #0004!important; }
.wallet-records-list>div::before { position: absolute; top: 13px; bottom: 13px; left: 7px; width: 3px; border-radius: 99px; background: currentColor; content: ""; opacity: .65; }
.wallet-records-list:empty::after { display: grid; min-height: 168px; place-items: center; border: 1px dashed #3b4b44; border-radius: 17px; color: #71827a; content: "暂无记录"; font-size: 12px; }

/* Authentication is a premium, focused account card rather than a generic form. */
body:not(.admin-site) dialog.tiger-auth-dialog { width: min(414px,calc(100vw - 26px))!important; max-height: min(720px,calc(100dvh - 24px))!important; padding: 0!important; overflow: hidden; border: 1px solid #8d6a32!important; border-radius: 25px!important; background: radial-gradient(circle at 90% 2%,#dab0482e,transparent 31%),linear-gradient(145deg,#171208,#09120f 52%,#06100d)!important; color: var(--tiger-text)!important; box-shadow: 0 32px 90px #000d,inset 0 1px #ffe7a924!important; }
body:not(.admin-site) dialog.tiger-auth-dialog::backdrop { background: #010403d9; backdrop-filter: blur(8px); }
body:not(.admin-site) .tiger-auth-form { position: relative; gap: 13px!important; max-height: min(720px,calc(100dvh - 24px)); padding: 28px 22px 22px!important; overflow-y: auto; }
body:not(.admin-site) .tiger-auth-form::before { display: grid; width: 54px; height: 54px; place-items: center; margin-bottom: 2px; border: 1px solid #997437; border-radius: 17px; background: url("assets/tiger-brand-app.webp") center/cover no-repeat,#21190c; box-shadow: 0 10px 25px #0008,inset 0 1px #ffe9a833; content: ""; }
body:not(.admin-site) .tiger-auth-form>h2 { margin-top: 1px!important; color: #fff4da!important; font-size: 24px!important; font-weight: 830!important; letter-spacing: -.045em; }
body:not(.admin-site) .tiger-auth-form>h2::before { display: block; margin-bottom: 5px; color: var(--tiger-gold); content: "TIGER PLAYER"; font-size: 8px; font-weight: 900; letter-spacing: .2em; }
body:not(.admin-site) .tiger-auth-form>p { color: #9a9d90!important; line-height: 1.55!important; }
body:not(.admin-site) .tiger-auth-form :is(input,select) { min-height: 50px!important; padding: 12px 13px!important; border: 1px solid #394b43!important; border-radius: 13px!important; background: #091310d9!important; color: #f4f1e9!important; font-size: 16px!important; }
body:not(.admin-site) .tiger-auth-form :is(input,select):focus { border-color: #c09443!important; box-shadow: 0 0 0 3px #d5a6421c!important; outline: 0; }
body:not(.admin-site) .tiger-auth-form>div[style*="grid-template-columns"] { margin-top: 2px; }
body:not(.admin-site) .tiger-auth-form>div[style*="grid-template-columns"] button { min-height: 48px!important; border: 1px solid #394942!important; border-radius: 13px!important; }
body:not(.admin-site) .tiger-auth-form>div[style*="grid-template-columns"] button[type="submit"] { border-color: #f0cd7499!important; background: linear-gradient(135deg,#efc965,#976620)!important; color: #171005!important; font-weight: 850!important; box-shadow: 0 9px 22px #c28a2d30; }
body:not(.admin-site) .tiger-auth-form>div[style*="justify-content:space-between"] { padding-top: 3px; border-top: 1px solid #263831; }
body:not(.admin-site) .tiger-auth-form>div[style*="justify-content:space-between"] button { min-height: 40px; padding-inline: 3px; color: #d2b86f!important; }

/* Game-room selection and the PC28 conversation/betting surface. */
#game.room-view { position: relative; background: radial-gradient(circle at 86% 4%,#d2a73c13,transparent 29%); }
#game .room-head { position: sticky; z-index: 8; top: 0; min-height: 66px; padding: 8px 1px 13px; border-bottom-color: #6e542d; background: #040806e8; backdrop-filter: blur(16px); }
#game .room-head button { width: 42px; height: 42px; border-color: #70562f; border-radius: 13px; background: #151109; color: var(--tiger-gold); }
#game .room-head span { color: var(--tiger-gold); font-size: 9px; font-weight: 850; letter-spacing: .13em; }
#game .room-head h1 { color: #f8f2e4; font-size: 20px; font-weight: 800; }
#game .room-head>strong { border-radius: 12px; background: linear-gradient(145deg,#31230f,#161209); box-shadow: inset 0 1px #ffe4a324,0 7px 17px #0006; }
#game:not(.has-active-room) .game-chat { background: radial-gradient(circle at 50% 52%,#bd943619,transparent 24%),linear-gradient(180deg,#050b08,transparent)!important; }
#game:not(.has-active-room) .game-chat::before { position: absolute; left: 50%; top: 39%; color: #d8b2540c; content: "28"; font: 900 150px/.8 "DIN Alternate",sans-serif; transform: translate(-50%,-50%); }
#game:not(.has-active-room) .room-preview-heading { color: #a79264!important; font-size: 9px!important; font-weight: 800; letter-spacing: .14em!important; }
#game .game-room-picker { overflow: hidden; padding: 17px!important; border: 1px solid #65502c!important; border-radius: 21px!important; background: radial-gradient(circle at 98% 0,#c59a3920,transparent 28%),linear-gradient(145deg,#14231d,#09120f)!important; box-shadow: 0 18px 35px #0008,inset 0 1px #ffe3a21a; }
#game .game-room-picker .section-title h1 { color: #fff1ce; font-size: 18px!important; }
#game .game-room-picker .section-title h1::before { background: var(--tiger-gold); }
#game .game-room-picker #gameRulesButton { display: inline-grid!important; min-width: 84px; min-height: 40px; place-items: center; padding: 0 12px!important; border: 1px solid #826532!important; border-radius: 12px; background: linear-gradient(135deg,#271d0c,#11150f)!important; color: #f0cc72!important; font-size: 11px!important; font-weight: 780; box-shadow: inset 0 1px #ffe5a31d,0 7px 17px #0004; }
#game .room { min-height: 84px; border-color: #344b41; border-radius: 16px; background: linear-gradient(120deg,#101f1a,#08110e); box-shadow: inset 0 1px #ffffff08,0 8px 18px #0004; }
#game .room:hover,#game .room:focus-within { border-color: #8d6a35; }
#game .room .rate { border-color: #8f6b344f; background: linear-gradient(145deg,#30230f,#15130c); color: var(--tiger-gold-bright); }
#game .room .join { border: 1px solid #e5c16e; background: linear-gradient(135deg,#e7bd59,#94631f); color: #130d03; box-shadow: 0 7px 17px #b8792536; }
#game.has-active-room .game-chat { border: 1px solid #2d433a; background: radial-gradient(circle at 50% 0,#17433432,transparent 32%),#07100e; box-shadow: inset 0 1px #ffffff08; }
#game.has-active-room .bet-panel { border-color: #6e552f; background: linear-gradient(120deg,#21190d,#0a120f); box-shadow: 0 16px 34px #000b,inset 0 1px #ffe4a31c; }
#game.has-active-room .bet-panel .confirm { border: 1px solid #efcb74; background: linear-gradient(135deg,#edc561,#97651f); color: #150e03; }

/* Games opened from the catalogue: live-room header, tools, notice and chat. */
.inline-detail-page--games { background: radial-gradient(circle at 90% 0,#d1a44015,transparent 28%),var(--tiger-bg)!important; }
.inline-detail-page--games>.inline-detail-back { top: 2px!important; left: 2px!important; width: 50px!important; height: 52px; border-radius: 14px!important; color: var(--tiger-gold)!important; }
.inline-detail-page--games>.inline-detail-surface { background: transparent!important; }
.inline-detail-page--games>.inline-detail-surface>h2,.inline-detail-page--games .redpacket-room-title { min-height: 62px!important; border-bottom: 1px solid #73582f!important; background: #050a08e8!important; box-shadow: 0 12px 28px #0007; backdrop-filter: blur(16px); }
.inline-detail-page--games .redpacket-room-title strong { color: #fff1d0!important; font-size: 17px!important; }
.inline-detail-page--games .redpacket-room-title small { color: #a9966a!important; }
.inline-detail-page--games .redpacket-room-announcement-button { right: 8px!important; min-height: 38px!important; padding: 0 12px!important; border: 1px solid #796039!important; border-radius: 12px!important; background: #191207!important; color: var(--tiger-gold)!important; }
.inline-detail-page--games .redpacket-room-announcement,.inline-detail-page--games .redpacket-room-tools { border: 1px solid #654e2c!important; border-radius: 17px!important; background: radial-gradient(circle at 95% 0,#d8a73b1f,transparent 28%),linear-gradient(145deg,#171207,#0a1511)!important; box-shadow: 0 14px 30px #0009,inset 0 1px #ffe5a21b!important; }
.inline-detail-page--games .redpacket-room-picker { color: #bba97e!important; }
.inline-detail-page--games .redpacket-room-tools form { border-color: #514328!important; border-radius: 15px!important; background: #0b1511!important; }
.inline-detail-page--games .redpacket-room-chat-stream { background: radial-gradient(circle at 50% 0,#17403125,transparent 28%),#060d0a!important; }
.inline-detail-page--games .redpacket-room-chat-stream:empty::after { display: grid; min-height: 180px; place-items: center; color: #65766e; content: "房间消息将在这里显示"; font-size: 11px; }

/* Chat, contacts and conversation management. */
.inline-detail-page--chat { background: radial-gradient(circle at 90% 0,#d4aa4211,transparent 27%),#040806!important; }
#chat.is-detail-page .inline-detail-page--chat>.inline-detail-back { z-index: 12; top: 2px!important; left: 2px!important; color: var(--tiger-gold)!important; }
#chat.is-detail-page .inline-detail-page--chat>.player-conversation-surface>h2,#chat.is-detail-page .inline-detail-page--chat>.wx-friends-detail>h2 { min-height: 60px!important; border-bottom: 1px solid #6e542c!important; background: #060b09eb!important; color: #f8f2e5!important; box-shadow: 0 11px 26px #0007; backdrop-filter: blur(16px); }
#chat.is-detail-page .player-conversation-surface>.wechat-message-list { background: radial-gradient(circle at 50% 0,#1c4b3930,transparent 29%),#07100d!important; }
#chat.is-detail-page .player-conversation-surface>.wechat-message-list:empty::after { align-self: center; margin: auto; color: #687970; content: "暂无消息，发送第一条问候吧"; font-size: 11px; }
#chat.is-detail-page .wx-chat-composer { border-top: 1px solid #6a512d!important; background: #090e0ced!important; box-shadow: 0 -10px 26px #0008; backdrop-filter: blur(18px); }
#chat.is-detail-page .wx-chat-composer .wx-chat-input { border-color: #394b43!important; border-radius: 13px!important; background: #101815!important; }
#chat.is-detail-page .wx-chat-composer .chat-send-control { border-radius: 11px!important; background: linear-gradient(135deg,#e6bd5b,#94621e)!important; color: #160f04!important; }
#chat.is-detail-page .wx-friends-detail { padding: 0 13px 100px!important; background: transparent!important; }
#chat.is-detail-page .wx-friends-detail>.friend-manage-actions { margin: 13px 0 2px; }
.friend-manage-actions button { min-height: 50px!important; border-color: #6a522f!important; border-radius: 14px!important; background: linear-gradient(140deg,#21190d,#0b1511)!important; color: #f0cc72!important; box-shadow: inset 0 1px #ffe5a318,0 7px 16px #0004; }
#chat.is-detail-page .wx-friends-detail>form { padding: 10px!important; border: 1px solid #32483f!important; border-radius: 15px!important; background: #0b1713!important; }
#chat.is-detail-page .wx-friends-detail>[style*="max-height"] { gap: 8px!important; border: 0!important; border-radius: 0!important; background: transparent!important; }
#chat.is-detail-page .wx-friends-detail .friend-conversation-row { padding: 13px!important; border: 1px solid #30463d!important; border-radius: 15px!important; background: linear-gradient(120deg,#0f1d18,#09120f)!important; box-shadow: inset 0 1px #ffffff08,0 8px 18px #0004!important; }
#chat.is-detail-page .wx-friends-detail .friend-conversation-row button { min-height: 36px!important; border: 1px solid #4c4939!important; border-radius: 10px!important; background: #16170f!important; color: #dcc277!important; }

/* Modal sub-pages reachable from contacts and conversations. */
body:not(.admin-site) :is(.friend-scanner-dialog,.receive-code-dialog,.private-chat-info-dialog,.avatar-action-dialog,.tiger-sheet-dialog) { border: 1px solid #775a2f!important; border-radius: 22px!important; background: radial-gradient(circle at 90% 0,#d3a43b20,transparent 28%),linear-gradient(145deg,#151108,#09120f)!important; color: var(--tiger-text)!important; box-shadow: 0 26px 72px #000d,inset 0 1px #ffe7a71e!important; }
body:not(.admin-site) :is(.friend-scanner-dialog,.receive-code-dialog,.private-chat-info-dialog,.avatar-action-dialog,.tiger-sheet-dialog)::backdrop { background: #010302d4; backdrop-filter: blur(7px); }
body:not(.admin-site) :is(.friend-scanner-dialog,.receive-code-dialog)>section { padding: 21px!important; }
body:not(.admin-site) :is(.friend-scanner-dialog,.receive-code-dialog) h2 { color: #fff2d1; font-size: 21px!important; font-weight: 800; }
body:not(.admin-site) .friend-scanner-dialog video { border-color: #755a31; border-radius: 16px; background: #030705; box-shadow: inset 0 0 0 1px #000; }
body:not(.admin-site) .receive-code-dialog strong { min-height: 104px; border-color: #735830; border-radius: 17px; background: radial-gradient(circle,#2c210d,#09120f 70%); color: #f3cd70; box-shadow: inset 0 1px #ffe7a520; }
body:not(.admin-site) .private-chat-info-sheet { gap: 11px; padding: 17px; }
body:not(.admin-site) .private-chat-info-sheet>header { border-bottom-color: #6b522d; }
body:not(.admin-site) .private-chat-info-sheet>header button { border: 1px solid #e5c06b; border-radius: 10px; background: linear-gradient(135deg,#e2b954,#91601e); color: #140d03; }
body:not(.admin-site) .private-chat-info-avatar { border: 1px solid #896936; border-radius: 14px; background: linear-gradient(145deg,#33250f,#15130c); color: #f1cd70; }
body:not(.admin-site) .private-chat-info-group { border-color: #35483f; border-radius: 14px; background: #0c1714; }
body:not(.admin-site) .private-chat-info-switch { border-bottom-color: #304139; }
body:not(.admin-site) .private-chat-info-switch input:checked+.private-chat-switch-track { background: #b78534; }
body:not(.admin-site) .private-chat-info-danger { border: 1px solid #743c37; border-radius: 12px; background: #241110; color: #ed8278; }

/* Full-screen private conversation, avatar actions and media preview. */
body:not(.admin-site) dialog.private-chat-dialog { background: radial-gradient(circle at 82% 0,#d0a23c18,transparent 24%),#050a08!important; color: var(--tiger-text)!important; }
body:not(.admin-site) dialog.private-chat-dialog::backdrop { background: #010302; }
body:not(.admin-site) .private-chat-dialog>.private-conversation-surface { background: transparent!important; }
body:not(.admin-site) .private-chat-dialog>.private-conversation-surface>h2 { min-height: 60px!important; border-bottom: 1px solid #76592e!important; background: #070c0aef!important; color: #fbf4e5!important; box-shadow: 0 11px 27px #0008; font-weight: 790!important; backdrop-filter: blur(18px); }
body:not(.admin-site) .private-chat-dialog .private-chat-manage { height: 60px!important; color: var(--tiger-gold)!important; }
body:not(.admin-site) .private-chat-dialog>.private-conversation-surface>button:not(.private-chat-manage) { height: 60px!important; }
body:not(.admin-site) .private-chat-dialog>.private-conversation-surface>button:not(.private-chat-manage)::before { color: var(--tiger-gold)!important; }
body:not(.admin-site) .private-chat-dialog .wechat-message-list { background: radial-gradient(circle at 50% 0,#1d513b32,transparent 30%),#07100d!important; }
body:not(.admin-site) .private-chat-dialog .wechat-message-bubble { border: 1px solid #35473f!important; background: #111c18!important; color: #eef2ec!important; box-shadow: 0 7px 17px #0004; }
body:not(.admin-site) .private-chat-dialog .wechat-message-row.is-mine .wechat-message-bubble { border-color: #a37b3d!important; background: linear-gradient(135deg,#d6ad50,#8b5d20)!important; color: #160f05!important; }
body:not(.admin-site) .private-chat-dialog form.wx-chat-composer { border-top: 1px solid #70552d!important; background: #080e0ced!important; box-shadow: 0 -10px 27px #0009; backdrop-filter: blur(18px); }
body:not(.admin-site) .private-chat-dialog form.wx-chat-composer .wx-chat-input { border-color: #394b43!important; border-radius: 13px!important; background: #101815!important; color: #f2f2ec!important; }
body:not(.admin-site) .private-chat-dialog form.wx-chat-composer .chat-send-control { border: 1px solid #ecc970!important; border-radius: 11px!important; background: linear-gradient(135deg,#e8c05d,#96631f)!important; color: #160f04!important; box-shadow: 0 7px 18px #bd812b32; }

/* Only the visible marketing slide may animate. Off-screen particle systems
   otherwise keep their compositor layers alive and consume input-frame time. */
.promotion-slide:not(.is-active) .promotion-packet-shower i,
.promotion-slide:not(.is-active) .promotion-coin-shower i,
.promotion-slide:not(.is-active) .tiger-walk-frame {
  animation-play-state: paused!important;
}
body:not(.admin-site) .avatar-action-sheet { gap: 10px!important; padding: 21px!important; }
body:not(.admin-site) .avatar-action-sheet h2 { color: #fff1d0!important; font-size: 21px!important; font-weight: 800!important; }
body:not(.admin-site) .avatar-action-sheet>p { color: #9aa197!important; line-height: 1.55; }
body:not(.admin-site) .avatar-action-option { min-height: 50px!important; border-color: #5e4c2f!important; border-radius: 13px!important; background: linear-gradient(135deg,#17190f,#0a1511)!important; color: #edd083!important; box-shadow: inset 0 1px #ffe5a314; }
body:not(.admin-site) .avatar-action-cancel { min-height: 42px!important; color: #a3aaa1!important; }
body:not(.admin-site) dialog.chat-image-preview[open] { background: radial-gradient(circle at 50% 50%,#1a2b24,#010201 72%)!important; }
body:not(.admin-site) .chat-image-preview img { animation: tiger-media-reveal .3s cubic-bezier(.2,.78,.28,1) both; }
body:not(.admin-site) .chat-image-preview>button { border: 1px solid #92723f!important; background: #151109dd!important; color: #f1ce76!important; box-shadow: 0 8px 24px #0008; }
@keyframes tiger-media-reveal { from { opacity: 0; transform: scale(.96); } to { opacity: 1; transform: none; } }

/* Standalone rules and generic Tiger sheets. */
body:not(.admin-site) .tiger-detail-sheet { gap: 12px!important; padding: 21px!important; }
body:not(.admin-site) .tiger-detail-sheet>h2 { color: #fff1ce!important; }
body:not(.admin-site) .tiger-detail-sheet>p,body:not(.admin-site) .tiger-detail-sheet>small { color: #9ca398!important; }
body:not(.admin-site) .tiger-rules-dialog .tiger-detail-sheet>section { border-color: #34473f!important; border-radius: 15px!important; background: linear-gradient(120deg,#0e1b17,#09120f)!important; box-shadow: inset 0 1px #ffffff08; }
body:not(.admin-site) .tiger-rules-dialog .tiger-detail-sheet>section h3 { color: #f0cb6d!important; }
body:not(.admin-site) .tiger-rules-dialog .tiger-detail-sheet>button:last-child { min-height: 46px; border: 1px solid #edca72; border-radius: 13px; background: linear-gradient(135deg,#eac15d,#95641f); color: #150e03; }

/* --------------------------------------------------------------------------
   Player experience v11. The last-mile layer covers every hub, mounted
   secondary page, game surface and transient state with one touch language.
   -------------------------------------------------------------------------- */
body:not(.admin-site) {
  --tiger-success: #62d8ac;
  --tiger-warning: #f0c86e;
  --tiger-danger: #ef8177;
  overscroll-behavior-y: none;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body:not(.admin-site) :is(button,a,[role="button"]) { user-select: none; }
body:not(.admin-site) :is(button,a,[role="button"]):not(:disabled) { cursor: pointer; }
body:not(.admin-site) :is(button,input,select,textarea) { font: inherit; }
body:not(.admin-site) :is(button,input,select,textarea):disabled { cursor: not-allowed; }
body:not(.admin-site) :is(input,textarea,select):user-invalid { border-color: #b65a52!important; box-shadow: 0 0 0 3px #e0716815!important; }
body:not(.admin-site) :is(input,textarea,select):user-valid:not(:placeholder-shown) { border-color: #397a63!important; }

/* Main destinations: richer depth without adding image or particle layers. */
.game-catalog-card,.chat-spotlight,.profile-overview,.wx-hub .hub-list>button {
  isolation: isolate;
  overflow: hidden;
}
.game-catalog-card::before,.chat-spotlight::after,.profile-overview::before,.wx-hub .hub-list>button::after {
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(118deg,#fff0 52%,#f1c9660d 76%,#fff0 92%);
  content: "";
  pointer-events: none;
}
.game-catalog-card:focus-visible,.wx-hub .hub-list>button:focus-visible,.profile-hero>button:focus-visible {
  border-color: #d5aa50!important;
  box-shadow: 0 0 0 3px #dfb54e1f,0 12px 28px #0008!important;
}
.game-catalog-card:active .game-catalog-arrow,.wx-hub .hub-list>button:active>b { transform: translateX(3px); }
.game-catalog-arrow,.wx-hub .hub-list>button>b { transition: transform .16s ease,color .16s ease; }
.game-catalog-card:is(:hover,:focus-visible) .game-catalog-arrow,.wx-hub .hub-list>button:is(:hover,:focus-visible)>b { color: #ffe09a!important; transform: translateX(2px); }
.profile-overview :is(.profile-avatar,.profile-hero>button:last-child):active { filter: brightness(1.14); transform: scale(.96); }
.chat-spotlight-art i { transition: transform .24s ease,border-color .24s ease; }
.chat-spotlight:is(:hover,:focus-within) .chat-spotlight-art i:first-child { transform: translateY(-2px) rotate(8deg); }
.chat-spotlight:is(:hover,:focus-within) .chat-spotlight-art i:nth-child(2) { transform: translateY(2px) rotate(-10deg); }

/* Bottom navigation moves only its content, avoiding a second full-page flash. */
.bottom-nav button { position: relative; overflow: hidden; touch-action: manipulation; }
.bottom-nav button::after { position: absolute; left: 50%; bottom: 4px; width: 4px; height: 4px; border-radius: 50%; background: var(--tiger-gold); content: ""; opacity: 0; transform: translate(-50%,4px) scale(.5); transition: opacity .18s ease,transform .18s ease; }
.bottom-nav button.active::after { opacity: .9; transform: translate(-50%,0) scale(1); }
.bottom-nav .nav-icon,.bottom-nav button>span { transition: color .16s ease,transform .16s ease,opacity .16s ease; }
.bottom-nav button:active .nav-icon { transform: scale(.88); }
.bottom-nav button:active>span { opacity: .72; transform: translateY(1px); }

/* Mounted secondary pages preserve context, hierarchy and native-like touch. */
.inline-detail-page {
  min-height: calc(100dvh - 78px);
  overscroll-behavior: contain;
  scroll-behavior: smooth;
}
.detail-theme-tiger>.inline-detail-surface { position: relative; }
.detail-theme-tiger>.inline-detail-surface::after {
  position: absolute;
  z-index: -1;
  right: -70px;
  top: 82px;
  width: 150px;
  height: 150px;
  border: 1px solid #d7ad4514;
  border-radius: 50%;
  content: "";
  pointer-events: none;
}
.detail-theme-tiger .detail-native-head { padding-top: env(safe-area-inset-top); }
.detail-theme-tiger .detail-native-head h1 { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.detail-theme-tiger .detail-native-head>span:last-child { width: 48px; }
.detail-theme-tiger .inline-detail-back::before { transition: transform .16s ease; }
.detail-theme-tiger .inline-detail-back:active::before { transform: translateX(-2px); }
.detail-theme-tiger :is(form,section)>label { color: #b7c1bc; font-size: 12px; line-height: 1.45; }
.detail-theme-tiger :is(input,select,textarea) { caret-color: var(--tiger-gold); }
.detail-theme-tiger textarea { min-height: 96px!important; resize: vertical; }
.detail-theme-tiger button:not(:disabled):active { filter: brightness(1.1); }
.detail-theme-tiger button.confirm:not(:disabled):active,.detail-theme-tiger button[type="submit"]:not(:disabled):active { box-shadow: 0 4px 12px #9f6b2333,inset 0 1px #fff2ba!important; transform: translateY(1px) scale(.985); }
.detail-theme-tiger :is(button.confirm,button[type="submit"]):disabled { background: linear-gradient(135deg,#73653e,#4b4533)!important; color: #b9b29e!important; box-shadow: none!important; }

/* Profile, account, wallet, transfer and red-packet subpages. */
.inline-detail-page--profile>.inline-detail-surface:not(.tiger-account-form) { padding-inline: 14px!important; }
.inline-detail-page--profile :is(.tiger-account-form,.tiger-detail-sheet,.wallet-records-detail)>h2 { position: relative; padding-bottom: 11px; }
.inline-detail-page--profile :is(.tiger-account-form,.tiger-detail-sheet,.wallet-records-detail)>h2::after { position: absolute; right: 0; bottom: 0; left: 0; height: 1px; background: linear-gradient(90deg,#e8bf62a8,transparent 72%); content: ""; }
.inline-detail-page--profile .tiger-account-form>label { display: grid!important; gap: 7px!important; }
.inline-detail-page--profile .tiger-account-form>label:focus-within { border-color: #856735!important; background: #101b16!important; box-shadow: 0 8px 22px #0004; }
.inline-detail-page--profile .tiger-account-form>label :is(input,select) { width: 100%; }
.inline-detail-page--profile .tiger-detail-sheet>form,.inline-detail-page--profile .wallet-records-detail>form { display: grid!important; gap: 10px!important; }
.inline-detail-page--profile .tiger-detail-sheet>form>input { width: 100%; padding-inline: 13px!important; }
.wallet-records-filters button { min-height: 39px!important; padding: 0 13px!important; border: 1px solid #3c4c44!important; border-radius: 999px!important; background: #0b1713!important; color: #aebbb5!important; }
.wallet-records-filters button:is(:hover,:focus-visible) { border-color: #987438!important; color: #f2d27d!important; }
.wallet-records-list>div { transition: border-color .16s ease,background .16s ease,transform .16s ease; }
.wallet-records-list>div:is(:hover,:focus-within) { border-color: #5f573a!important; background: linear-gradient(120deg,#12241d,#0b1511)!important; }
.tiger-redpacket-sheet>small { padding: 11px 12px!important; border: 1px solid #5b4b2e; border-radius: 13px; background: #191408; line-height: 1.55!important; }
.tiger-redpacket-sheet>form { padding: 13px!important; border: 1px solid #33473e; border-radius: 16px; background: #0b1713; }
.tiger-redpacket-sheet>div[style*="overflow"]>article { border-color: #35483f!important; border-radius: 13px!important; background: #0d1a16!important; }
.tiger-redpacket-sheet>div[style*="overflow"] button { min-height: 36px; padding-inline: 12px; border: 1px solid #af843f; border-radius: 10px; background: #251b0b; color: #f1cb70; }

/* Game choice, room list, betting and all embedded game rooms. */
.game-variant-picker { gap: 9px!important; }
.game-variant-card { position: relative; min-height: 88px!important; overflow: hidden; border: 1px solid #4a4935!important; border-radius: 17px!important; background: radial-gradient(circle at 95% 12%,#d8a94322,transparent 28%),linear-gradient(125deg,#17261f,#09120f)!important; box-shadow: inset 0 1px #ffffff0a,0 10px 24px #0006!important; }
.game-variant-card::after { position: absolute; right: -24px; bottom: -42px; width: 102px; height: 102px; border: 1px solid #d4ac4d32; border-radius: 50%; content: ""; }
.game-variant-card strong { color: #fff1ce!important; font-size: 16px!important; }
.game-variant-card small { color: #92a29b!important; line-height: 1.45!important; }
.game-variant-card>span { color: #e3bf66!important; transition: transform .16s ease; }
.game-variant-card:active { filter: brightness(1.12); transform: scale(.982); }
.game-variant-card:active>span { transform: translateX(3px); }
#roomList[aria-busy="true"] { position: relative; min-height: 112px; pointer-events: none; }
#roomList[aria-busy="true"]::after { position: absolute; right: 5px; bottom: 12px; left: 5px; height: 4px; overflow: hidden; border-radius: 99px; background: linear-gradient(90deg,#d6ac4508,#e5c0669c,#d6ac4508); background-size: 42% 100%; content: ""; animation: tiger-loading-track 1.2s ease-in-out infinite; }
#game .room { position: relative; overflow: hidden; }
#game .room::after { position: absolute; top: -54px; right: -60px; width: 120px; height: 120px; border: 1px solid #cba64c1f; border-radius: 50%; content: ""; pointer-events: none; }
#game .room .join:not(:disabled):active { box-shadow: 0 3px 9px #8b5c1f33; transform: translateY(1px) scale(.97); }
#game .bet-panel :is(input,textarea) { min-height: 48px!important; border: 1px solid #405047!important; border-radius: 13px!important; background: #09120f!important; color: #f2f2eb!important; caret-color: var(--tiger-gold); }
#game .bet-panel #clearBet { min-height: 38px; padding-inline: 11px; border: 1px solid #6e4b38; border-radius: 10px; color: #e89d8e; }
#game .bet-panel .confirm { min-height: 48px; border-radius: 13px; }
.inline-detail-page--games .redpacket-room-tools :is(button,input,select),.inline-detail-page--games .redpacket-game-send-form :is(button,input,select) { min-height: 44px!important; }
.inline-detail-page--games .redpacket-room-chat-stream { overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: #70582e #08110e; }
.inline-detail-page--games .redpacket-room-announcement-button:active { transform: scale(.96); }
.inline-detail-page--games .redpacket-room-announcement { animation: tiger-expand-in .22s cubic-bezier(.2,.75,.25,1) both; transform-origin: top; }
.inline-detail-page--games .redpacket-room-tools button:not(:disabled):active { transform: scale(.97); }
.poker-actions button,.poker-actions input { height: 44px!important; min-height: 44px!important; }
.poker-tab { min-height: 40px!important; }
.poker-tab[aria-selected="true"],.poker-tab.active { box-shadow: inset 0 -2px #e3c463,0 5px 12px #0004; }
.poker-seat.is-turn::after { position: absolute; right: 5px; top: 5px; width: 6px; height: 6px; border-radius: 50%; background: #6ef0bb; box-shadow: 0 0 0 3px #6ef0bb1f; content: ""; }
.poker-actions button:not(:disabled):active { filter: brightness(1.16); transform: translateY(1px) scale(.98); }

/* Friends, support and private chat use a common conversation grammar. */
.conversation-swipe-row { border-radius: 14px; }
.conversation-swipe-actions { overflow: hidden; border-radius: 14px; }
.conversation-swipe-actions button { min-height: 44px; transition: filter .14s ease,transform .14s ease; }
.conversation-swipe-actions button:active { filter: brightness(1.14); transform: scale(.97); }
.conversation-unread-badge { box-shadow: 0 3px 9px #0007; }
.wechat-message-list { overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: #5d5032 transparent; }
.wechat-time-separator { padding: 4px 8px!important; border-radius: 999px; background: #060b09a8; color: #71817a!important; }
.wechat-system-message { border: 1px solid #34433d!important; border-radius: 999px!important; background: #0b1411d9!important; color: #8e9b95!important; }
.wechat-message-bubble { line-height: 1.55!important; word-break: break-word; }
.wechat-message-row.is-mine .wechat-message-bubble { box-shadow: 0 7px 17px #0005,inset 0 1px #fff0b329!important; }
.wechat-message-row.is-peer .wechat-message-bubble { box-shadow: 0 7px 17px #0004,inset 0 1px #ffffff09!important; }
.wx-chat-composer :is(.chat-voice-control,.chat-emoji-control,.chat-plus-control) { min-width: 44px!important; min-height: 44px!important; border-radius: 13px!important; transition: border-color .15s ease,background .15s ease,transform .15s ease; }
.wx-chat-composer :is(.chat-voice-control,.chat-emoji-control,.chat-plus-control)[aria-expanded="true"] { border-color: #a17c3d!important; background: #281e0c!important; color: #f2ce74!important; }
.wx-chat-composer :is(.chat-voice-control,.chat-emoji-control,.chat-plus-control):active { transform: scale(.92); }
.wx-chat-composer .wx-chat-input { min-height: 44px!important; caret-color: var(--tiger-gold); }
.wx-chat-composer .chat-send-control { min-width: 56px; min-height: 44px!important; }
.chat-emoji-panel,.chat-plus-panel { border-color: #705731!important; background: radial-gradient(circle at 95% 0,#d4aa4219,transparent 27%),#0b1612f5!important; box-shadow: 0 18px 42px #000c,inset 0 1px #ffe6a017!important; animation: tiger-expand-in .2s cubic-bezier(.2,.75,.25,1) both; transform-origin: bottom; }
.chat-emoji-option,.chat-plus-option { min-height: 48px!important; border-radius: 12px!important; }
.chat-emoji-option:active,.chat-plus-option:active { filter: brightness(1.14); transform: scale(.94)!important; }
.private-chat-info-switch { min-height: 52px; }
.private-chat-info-switch:active { background: #121f1a; }
.private-chat-switch-track { transition: background .18s ease; }
.private-chat-switch-track::after { transition: transform .18s cubic-bezier(.2,.8,.25,1); }
.friend-manage-actions button:active,.avatar-action-option:active { filter: brightness(1.13); transform: scale(.98); }

/* Transient sheets, authentication, toasts, loading and empty states. */
body:not(.admin-site) dialog[open] { overscroll-behavior: contain; }
body:not(.admin-site) dialog[open]:focus { outline: 0; }
body:not(.admin-site) dialog[open] :is(button,input,select,textarea) { scroll-margin-block: 16px; }
body:not(.admin-site) :is(.friend-scanner-dialog,.receive-code-dialog,.private-chat-info-dialog,.avatar-action-dialog,.tiger-sheet-dialog)>section { scrollbar-width: thin; scrollbar-color: #735a31 #0a120f; }
body:not(.admin-site) .tiger-rules-dialog .tiger-detail-sheet>section { position: relative; padding-left: 16px!important; }
body:not(.admin-site) .tiger-rules-dialog .tiger-detail-sheet>section::before { position: absolute; top: 14px; bottom: 14px; left: 7px; width: 2px; border-radius: 99px; background: linear-gradient(#e5bd5e,#3e6d5c); content: ""; }
#toast { max-width: min(330px,calc(100vw - 28px)); padding: 11px 16px 11px 39px!important; border: 1px solid #d5b25d!important; border-radius: 14px!important; background: #f3d17ff2!important; color: #171006!important; box-shadow: 0 14px 40px #000b!important; font-weight: 750; line-height: 1.35; backdrop-filter: blur(12px); }
#toast::before { position: absolute; left: 14px; top: 50%; display: grid; width: 17px; height: 17px; place-items: center; border: 1px solid #4c3919; border-radius: 50%; content: "✓"; font-size: 10px; transform: translateY(-50%); }
#toast.show { animation: tiger-toast-in .24s cubic-bezier(.2,.8,.25,1) both; }
[aria-busy="true"] { cursor: progress!important; }

@keyframes tiger-loading-track { from { background-position: -70% 0; } to { background-position: 170% 0; } }
@keyframes tiger-expand-in { from { opacity: 0; transform: translateY(7px) scale(.985); } to { opacity: 1; transform: none; } }
@keyframes tiger-toast-in { from { opacity: 0; transform: translate(-50%,10px) scale(.97); } to { opacity: 1; transform: translate(-50%,0) scale(1); } }

@media (hover:hover) {
  .detail-theme-tiger button:not(:disabled):hover { filter: brightness(1.09); }
  .game-variant-card:hover,#game .room:hover { transform: translateY(-2px); }
}

@media (max-width:360px) {
  body:not(.admin-site) .tiger-auth-form { padding: 22px 17px 18px!important; }
  .detail-theme-tiger :is(input,select,textarea) { min-height: 46px!important; }
  .friend-manage-actions { gap: 6px; }
  .friend-manage-actions button { min-height: 46px!important; font-size: 10px!important; }
  .inline-detail-page--profile>.inline-detail-surface { padding-inline: 10px!important; }
  #game .game-room-picker #gameRulesButton { min-width: 76px; padding-inline: 9px!important; }
  .wallet-records-filters button { padding-inline: 10px!important; }
  .poker-actions button,.poker-actions input { height: 42px!important; min-height: 42px!important; }
}

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

/* --------------------------------------------------------------------------
   Authenticated player pass v12. Clear states, compact forms and intentional
   motion for every account, social and game subpage discovered on real login.
   -------------------------------------------------------------------------- */
.player-empty-state {
  position: relative;
  display: grid;
  grid-template-columns: 48px minmax(0,1fr);
  gap: 13px;
  align-items: center;
  width: 100%;
  min-height: 112px;
  padding: 17px;
  overflow: hidden;
  border: 1px dashed #5c543a;
  border-radius: 17px;
  background: radial-gradient(circle at 95% 0,#d5aa4221,transparent 33%),linear-gradient(135deg,#101d18,#09120f);
  color: #f2ead5;
  text-align: left;
  animation: player-empty-enter .28s cubic-bezier(.2,.78,.25,1) both;
}
.player-empty-state::after { position: absolute; right: -26px; bottom: -52px; width: 108px; height: 108px; border: 1px solid #d7b04e24; border-radius: 50%; content: ""; }
.player-empty-state-mark { display: grid; width: 48px; height: 48px; place-items: center; border: 1px solid #9b793d; border-radius: 15px; background: linear-gradient(145deg,#30230e,#111914); color: #e9c467; box-shadow: inset 0 1px #ffe7a629,0 8px 20px #0006; font: 850 18px/1 Georgia,serif; }
.player-empty-state>div { display: grid; gap: 5px; min-width: 0; }
.player-empty-state strong { color: #f7e7bd!important; font-size: 14px; line-height: 1.35; }
.player-empty-state small { color: #93a098!important; font-size: 11px; line-height: 1.6; }
.wallet-records-list>.player-empty-state,.tiger-redpacket-sheet>div[style*="overflow"]>.player-empty-state,.wx-friends-detail>div[style*="overflow"]>.player-empty-state { min-height: 138px; }

.tiger-labeled-field { display: grid!important; gap: 6px!important; min-width: 0; padding: 0!important; border: 0!important; background: transparent!important; }
.tiger-labeled-field>span { color: #dfc476!important; font-size: 11px!important; font-weight: 750; letter-spacing: .045em; }
.tiger-labeled-field>small { margin-top: -2px; color: #708078!important; font-size: 10px!important; line-height: 1.45; }
.tiger-labeled-field:focus-within>span { color: #f4d47e!important; }
.inline-detail-page--profile .tiger-transfer-dialog .tiger-account-form,.inline-detail-page--profile .tiger-redpacket-sheet { gap: 13px!important; }
.inline-detail-page--profile .tiger-transfer-dialog .tiger-account-form>p { padding: 10px 12px!important; border: 1px solid #5a4c30; border-radius: 12px; background: #181408; color: #d5bd7c!important; }
.inline-detail-page--profile .tiger-transfer-dialog .profile-save-actions { position: sticky; bottom: 0; padding-block: 9px calc(9px + env(safe-area-inset-bottom)); background: linear-gradient(180deg,transparent,#06100de8 26%); }

.tiger-profile-form { padding-bottom: calc(92px + env(safe-area-inset-bottom))!important; }
.tiger-profile-form>.profile-settings-group,.profile-privacy-settings { border: 1px solid #34483f; border-radius: 17px; background: radial-gradient(circle at 100% 0,#cda24215,transparent 30%),#0b1713; box-shadow: inset 0 1px #ffffff09; }
.profile-settings-group { display: grid; gap: 11px; padding: 14px; }
.profile-privacy-settings { overflow: hidden; }
.profile-privacy-settings>summary { display: grid; grid-template-columns: 1fr auto; gap: 8px; align-items: center; min-height: 52px; padding: 0 14px; color: #ecd183; cursor: pointer; list-style: none; }
.profile-privacy-settings>summary::-webkit-details-marker { display: none; }
.profile-privacy-settings>summary::after { grid-column: 2; grid-row: 1/-1; color: #d1ad58; content: "›"; font-size: 24px; transition: transform .18s ease; }
.profile-privacy-settings[open]>summary::after { transform: rotate(90deg); }
.profile-privacy-settings>summary span { font-size: 13px; font-weight: 780; }
.profile-privacy-settings>summary small { color: #7f8d86; font-size: 10px; }
.profile-privacy-settings[open]>.profile-settings-group { border-width: 1px 0 0; border-radius: 0; animation: tiger-expand-in .2s cubic-bezier(.2,.75,.25,1) both; }
.tiger-profile-form>.profile-save-actions { position: sticky!important; z-index: 8; right: auto; bottom: calc(70px + env(safe-area-inset-bottom)); left: auto; display: grid!important; grid-template-columns: minmax(86px,auto) 72px minmax(88px,1fr); width: 100%; margin-top: 4px; padding: 9px!important; border: 1px solid #68532f; border-radius: 16px; background: #07100ff2; box-shadow: 0 -12px 32px #000b,inset 0 1px #ffe6a21a; backdrop-filter: blur(18px); }
.tiger-profile-form>.profile-save-actions button { min-height: 44px!important; }

body.player-authenticated .profile-overview::after { position: absolute; top: 10px; right: 12px; padding: 4px 8px; border: 1px solid #6b8a5e; border-radius: 999px; background: #102419cc; color: #74d9a6; content: "● 已登录"; font-size: 9px; font-weight: 750; letter-spacing: .05em; }
body.player-authenticated .profile-avatar { animation: authenticated-avatar-breathe 3.6s ease-in-out infinite; }
.balance-value-updated { animation: balance-value-refresh .42s cubic-bezier(.2,.78,.25,1) both; }

.redpacket-room-chat-stream.is-room-unavailable { display: grid!important; place-items: center; padding: 18px!important; }
.redpacket-room-chat-stream.is-room-unavailable::after { display: none!important; }
.redpacket-room-chat-stream.is-room-unavailable .player-empty-state { max-width: 320px; border-style: solid; }
.wx-chat-composer.is-room-unavailable,[hidden].is-room-unavailable,
#games.is-detail-page .inline-detail-page--games>.player-game-conversation-surface>form.wx-chat-composer.is-room-unavailable,
#chat.is-detail-page .inline-detail-page>section>form.wx-chat-composer.is-room-unavailable { display: none!important; }
#game:not(.has-active-room) .chat-composer.wx-chat-composer { display: none!important; }

.poker-content>.player-empty-state.poker-empty { min-height: 132px; margin-top: 10px!important; border: 1px dashed #665737!important; border-radius: 18px!important; }
.poker-tabs { padding: 4px!important; border: 1px solid #32453d; border-radius: 14px; background: #08120f; }
.poker-tab { border-radius: 10px!important; transition: color .16s ease,background .16s ease,box-shadow .16s ease,transform .12s ease; }
.poker-tab.active { background: linear-gradient(135deg,#1a4b3d,#113026)!important; color: #6ee2b8!important; box-shadow: inset 0 1px #98f4d026,0 6px 16px #0006!important; }
.poker-tab:active { transform: scale(.97); }
.poker-private-join { padding: 10px!important; border: 1px solid #354a40; border-radius: 15px; background: #0b1713; }

@keyframes player-empty-enter { from { opacity: 0; transform: translateY(8px) scale(.985); } to { opacity: 1; transform: none; } }
@keyframes authenticated-avatar-breathe { 0%,100% { box-shadow: inset 0 1px #ffe8ae45,0 7px 18px #0007; } 50% { box-shadow: inset 0 1px #ffe8ae68,0 0 0 4px #d7ad4521,0 10px 24px #0008; } }
@keyframes balance-value-refresh { from { opacity: .35; transform: translateY(4px) scale(.97); } to { opacity: 1; transform: none; } }

@media (max-width:360px) {
  .player-empty-state { grid-template-columns: 42px minmax(0,1fr); min-height: 104px; padding: 14px; }
  .player-empty-state-mark { width: 42px; height: 42px; border-radius: 13px; }
  .tiger-profile-form>.profile-save-actions { grid-template-columns: auto 62px minmax(78px,1fr); }
}

/* --------------------------------------------------------------------------
   Player typography pass v13. Campaign and page display headlines retain the
   established advertising face; everyday UI copy uses a lighter native stack.
   -------------------------------------------------------------------------- */
:root {
  --tiger-ui-font: system-ui,-apple-system,"Segoe UI Variable Text","Segoe UI","HarmonyOS Sans SC","Noto Sans SC","PingFang SC","Microsoft YaHei UI",sans-serif;
  --tiger-display-font: "MiSans","HarmonyOS Sans SC","PingFang SC","Noto Sans SC","Microsoft YaHei UI",system-ui,sans-serif;
  --tiger-copy-weight: 400;
  --tiger-label-weight: 500;
  --tiger-card-weight: 500;
  --tiger-action-weight: 600;
}

body:not(.admin-site) {
  font-family: var(--tiger-ui-font);
  font-weight: var(--tiger-copy-weight);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* Preserve the deliberately heavy advertising/page-title treatment. */
body:not(.admin-site) :is(
  .lobby-hero h1,
  #game .room-head h1,
  .section-title h1,
  .section-title h2,
  .tiger-account-form>h2,
  .tiger-detail-sheet>h2,
  .wallet-records-detail>h2,
  .tiger-auth-form>h2,
  dialog h2
) { font-family: var(--tiger-display-font); }

/* Long-form copy and supporting text should read quietly, never as a headline. */
body:not(.admin-site) :is(
  .lobby-hero p,
  .lobby-ticker small,
  #lobby .balance small,
  .lobby-featured-copy small,
  .lobby-featured-copy em,
  .game-catalog-head p,
  .game-catalog-copy em,
  .hub-page-head p,
  .chat-spotlight small,
  .hub-section-title small,
  .hub-card small,
  .hub-list small,
  .profile-hero small,
  .wallet-hero span,
  .wallet-hero small,
  .player-empty-state small,
  .tiger-labeled-field>small,
  .profile-privacy-settings>summary small,
  .message p,
  .message b,
  .system,
  .receipt
) { font-weight: var(--tiger-copy-weight)!important; }

/* Navigation, metadata and form labels form a restrained middle layer. */
body:not(.admin-site) :is(
  .brand-copy small,
  .lobby-hero-kicker,
  .lobby-ticker>span,
  #lobby .balance>span,
  .game-catalog-head span,
  .hub-page-head>span,
  .game-catalog-copy small,
  .chat-spotlight span,
  .hub-section-title span,
  .wx-group-label,
  .bottom-nav span,
  .side-nav button span,
  .subpage-eyebrow,
  .tiger-labeled-field>span,
  #game .room-head span,
  #game .room-preview-heading,
  body.player-authenticated .profile-overview::after
) { font-weight: var(--tiger-label-weight)!important; }

/* Card and list names remain clear without competing with display headlines. */
body:not(.admin-site) :is(
  .lobby-featured-copy strong,
  .lobby-ticker strong,
  .hub-card strong,
  .hub-list strong,
  .profile-hero strong,
  .chat-spotlight strong,
  .player-empty-state strong,
  .friend-chat-entry strong,
  .friend-conversation-row strong,
  .poker-table-meta strong,
  .room strong,
  .profile-privacy-settings>summary span
) { font-weight: var(--tiger-card-weight)!important; }

/* Controls use one calm action weight; primary actions keep only a small lift. */
body:not(.admin-site) button { font-weight: var(--tiger-label-weight)!important; }
body:not(.admin-site) :is(
  .hero-primary span,
  .primary-download strong,
  button.confirm,
  button.join,
  button[type="submit"],
  .poker-actions button,
  .profile-save-actions button
) { font-weight: var(--tiger-action-weight)!important; }

#toast { font-weight: var(--tiger-card-weight)!important; }
body:not(.admin-site) .wx-chat-hub #supportPage strong,
body:not(.admin-site) .wx-chat-hub .conversation-swipe-row>.friend-chat-entry strong { font-weight: var(--tiger-card-weight)!important; }
body:not(.admin-site) .tiger-auth-form>div[style*="grid-template-columns"] button[type="submit"] { font-weight: var(--tiger-action-weight)!important; }

/* One restrained light pass keeps the featured games discoverable without
   making every card compete with the hero campaign. */
.lobby-featured-games { position: relative; isolation: isolate; overflow: hidden; }
.lobby-featured-games::after {
  position: absolute;
  z-index: 4;
  top: -48%;
  bottom: -48%;
  left: 0;
  width: 30%;
  background: linear-gradient(112deg,transparent 5%,#f1c86108 30%,#ffe7a12e 49%,#fff8d33d 53%,#eab84d08 72%,transparent 96%);
  content: "";
  opacity: 0;
  pointer-events: none;
  transform: translate3d(-190%,0,0) skewX(-17deg);
  will-change: transform,opacity;
  animation: tiger-featured-sheen 9s cubic-bezier(.2,.62,.3,1) infinite;
}

@keyframes tiger-featured-sheen {
  0%,30% { opacity: 0; transform: translate3d(-190%,0,0) skewX(-17deg); }
  36% { opacity: .68; }
  61% { opacity: .48; transform: translate3d(455%,0,0) skewX(-17deg); }
  65%,100% { opacity: 0; transform: translate3d(455%,0,0) skewX(-17deg); }
}

@media (prefers-reduced-motion:reduce) {
  .lobby-featured-games::after { display: none; }
}

/* Keep both hero actions inside the copy column so the secondary action never
   expands into the animated tiger crest, including with larger system text. */
.lobby-hero-copy { min-width: 0; }
.lobby-hero-actions {
  display: grid;
  grid-template-columns: minmax(0,118px) 66px;
  width: max-content;
  max-width: 100%;
}
.lobby-hero-actions .hero-primary,
.lobby-hero-actions .hero-secondary {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
}
.lobby-hero-actions .hero-secondary {
  max-width: 66px;
  padding-inline: 5px;
  font-size: 10px;
  text-align: center;
}
@media (max-width:360px) {
  .lobby-hero-actions { grid-template-columns: minmax(0,108px) 62px; }
  .lobby-hero-actions .hero-primary { padding-inline: 11px; }
  .lobby-hero-actions .hero-secondary { max-width: 62px; padding-inline: 3px; font-size: 9px; }
}

/* Choice surfaces use the same visual language from odds selection through
   the concrete room list: recognisable tier badge, restrained depth and a
   directional touch cue. */
.game-variant-picker { gap: 10px!important; }
.game-variant-card {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: 48px minmax(0,1fr);
  grid-template-rows: auto auto;
  align-content: center;
  gap: 7px 10px;
  min-height: 132px!important;
  padding: 14px 13px!important;
  overflow: hidden;
  border-color: #625333!important;
  background: radial-gradient(circle at 96% 6%,#e1b54f2b,transparent 30%),linear-gradient(135deg,#17261f,#09120f 72%)!important;
  box-shadow: inset 0 1px #fff5cf12,0 12px 28px #0007!important;
}
.game-variant-card::before {
  position: absolute;
  z-index: -1;
  top: -62%;
  bottom: -62%;
  left: -52%;
  width: 42%;
  background: linear-gradient(100deg,transparent,#ffeab233,transparent);
  content: "";
  pointer-events: none;
  transform: skewX(-17deg);
  transition: transform .5s cubic-bezier(.2,.7,.25,1);
}
.game-variant-card::after { right: -27px; bottom: -39px; width: 106px; height: 106px; border-color: #d5ad4c3d; box-shadow: 0 0 0 17px #d5ad4c09; }
.game-variant-card.is-premium { border-color: #866333!important; background: radial-gradient(circle at 92% 8%,#efb83d30,transparent 31%),linear-gradient(137deg,#2a1c0c,#111a14 70%)!important; }
.game-variant-card.is-standard { border-color: #3d5a4d!important; background: radial-gradient(circle at 92% 8%,#67d9a51d,transparent 31%),linear-gradient(137deg,#14291f,#09120f 72%)!important; }
.game-variant-badge {
  position: relative;
  grid-column: 1;
  grid-row: 1 / span 2;
  display: grid;
  width: 48px;
  height: 62px;
  place-items: center;
  align-self: center;
  border: 1px solid #aa803b;
  border-radius: 13px;
  background: linear-gradient(155deg,#493416,#1a150c);
  color: #ffe39a;
  font: 850 17px/1 "DIN Alternate","Arial Narrow",sans-serif;
  letter-spacing: -.04em;
  box-shadow: inset 0 1px #fff1b13b,0 8px 18px #0007;
  transition: transform .16s ease,filter .16s ease;
}
.game-variant-badge::after { position: absolute; right: 5px; bottom: 5px; color: #cda852; content: "×"; font: 750 8px/1 system-ui,sans-serif; }
.game-variant-card.is-standard .game-variant-badge { border-color: #547765; background: linear-gradient(155deg,#1d4334,#111b17); color: #dcebdc; box-shadow: inset 0 1px #d7ffec24,0 8px 18px #0007; }
.game-variant-copy { position: static!important; display: grid; grid-column: 2; grid-row: 1; align-self: end; gap: 4px; min-width: 0; }
.game-variant-copy strong { display: -webkit-box; overflow: hidden; color: #fff3d2!important; font-size: 15px!important; line-height: 1.24; text-overflow: clip; white-space: normal; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.game-variant-copy small { display: -webkit-box; overflow: hidden; color: #91a29a!important; font-size: 10px!important; line-height: 1.35!important; text-overflow: clip; white-space: normal; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.game-variant-tier { grid-column: 2; grid-row: 2; justify-self: start; align-self: start; padding: 4px 7px; border: 1px solid #8c6a333d; border-radius: 999px; background: #2d210d99; color: #e9c56c; font-size: 8px; font-style: normal; font-weight: 780; letter-spacing: .06em; }
.game-variant-card.is-standard .game-variant-tier { border-color: #4c735e55; background: #173126aa; color: #9bd2b8; }
.game-variant-arrow { right: 11px!important; bottom: 10px!important; display: grid; width: 27px; height: 27px; place-items: center; border: 1px solid #a67b3e59; border-radius: 50%; background: #17130caa; color: #ecc76d!important; font-size: 19px!important; }
.game-variant-card:is(:hover,:focus-visible)::before { transform: translateX(390%) skewX(-17deg); }
.game-variant-card:focus-visible { border-color: #d1a54c!important; box-shadow: 0 0 0 3px #d8ad4d1c,0 13px 30px #0008!important; }
.game-variant-card:active .game-variant-badge { filter: brightness(1.14); transform: scale(.94); }

#game .room { isolation: isolate; border-left-width: 3px; }
#game .room::before { position: absolute; z-index: -1; inset: 0; background: linear-gradient(112deg,#fff0 48%,#e7bd540b 68%,#fff0 86%); content: ""; pointer-events: none; }
#game .room.is-premium { border-left-color: #d5a448; background: radial-gradient(circle at 91% 0,#e0ab3d24,transparent 29%),linear-gradient(120deg,#21190c,#0a130f 72%); }
#game .room.is-standard { border-left-color: #55a67f; background: radial-gradient(circle at 91% 0,#5fc89a18,transparent 29%),linear-gradient(120deg,#12251d,#08110e 72%); }
#game .room.is-dubai .rate::before,#game .room.is-canada .rate::before { display: block; margin-bottom: 3px; color: #b49a60; content: "ODDS"; font-size: 7px; font-weight: 800; letter-spacing: .11em; }
#game .room .rate { height: 64px; line-height: 1.05; }
#game .room.is-premium .rate { border-color: #c08c3c70; background: linear-gradient(155deg,#4a3313,#18130b); }
#game .room.is-standard .rate { border-color: #55756570; background: linear-gradient(155deg,#1d4133,#101914); color: #cbe8d8; }
#game .room .room-meta span::before { color: #5bd7a4; content: "●"; margin-right: 4px; font-size: 7px; }
#game .room .room-meta span { color: #a7b6af; }

@keyframes tiger-choice-badge-pulse { 0%,100% { box-shadow: inset 0 1px #fff1b13b,0 8px 18px #0007; } 50% { box-shadow: inset 0 1px #fff1b13b,0 8px 18px #0007,0 0 16px #d8a64024; } }
.game-variant-card.is-premium .game-variant-badge { animation: tiger-choice-badge-pulse 4.2s ease-in-out infinite; }
@media (prefers-reduced-motion:reduce) { .game-variant-card.is-premium .game-variant-badge { animation: none; } }
@media (max-width:360px) {
  .game-variant-picker { gap: 7px!important; }
  .game-variant-card { grid-template-columns: 42px minmax(0,1fr); gap: 6px 8px; min-height: 128px!important; padding: 12px 10px!important; }
  .game-variant-badge { width: 42px; height: 58px; border-radius: 12px; font-size: 15px; }
  .game-variant-copy strong { font-size: 13px!important; }
  .game-variant-copy small { font-size: 9px!important; }
  .game-variant-arrow { right: 8px!important; bottom: 8px!important; width: 24px; height: 24px; }
}
@media (max-width:340px) {
  .game-variant-picker { grid-template-columns: minmax(0,1fr)!important; }
  .game-variant-card { min-height: 104px!important; }
  .game-variant-copy strong { font-size: 14px!important; }
}
/* The desktop review canvas narrows the app shell instead of the viewport, so
   mirror the compact-phone rule when the explicit 320px preview is active. */
html[style*="--mobile-preview-width: 320px"] .game-variant-picker { grid-template-columns: minmax(0,1fr)!important; }
html[style*="--mobile-preview-width: 320px"] .game-variant-card { min-height: 104px!important; }
html[style*="--mobile-preview-width: 320px"] .game-variant-copy strong { font-size: 14px!important; }

/* Compact live-room header: the title identifies the room without competing
   with play content, while the clock communicates state at a glance. */
#game .room-head>div { min-width: 0; flex: 1; }
#game .room-head h1 {
  max-width: 100%;
  margin-top: 4px;
  color: #f4eddd;
  font-family: var(--tiger-ui-font)!important;
  font-size: 14px!important;
  font-weight: 550!important;
  line-height: 1.25;
  letter-spacing: -.025em;
}
#game .room-head>span,#game .room-head>div>span { font-size: 9px!important; font-weight: 600!important; letter-spacing: .1em; }
#game .room-head>.round-countdown {
  position: relative;
  display: grid;
  flex: 0 0 88px;
  min-width: 88px;
  min-height: 54px;
  align-content: center;
  gap: 4px;
  margin-left: auto;
  padding: 7px 10px 8px;
  overflow: hidden;
  border: 1px solid #705930;
  border-radius: 15px;
  background: radial-gradient(circle at 100% 0,#d6aa4021,transparent 38%),linear-gradient(145deg,#1c160b,#0a100d);
  color: #f3cd70;
  box-shadow: inset 0 1px #ffe9aa1c,0 8px 20px #0006;
}
#game .room-head>.round-countdown::before { display: none!important; content: none!important; }
#game .round-countdown::after { position: absolute; right: -17px; bottom: -23px; width: 56px; height: 56px; border: 1px solid #dfb24c22; border-radius: 50%; content: ""; }
#game .countdown-state { display: flex; align-items: center; gap: 5px; color: #a9966f!important; font-size: 7px!important; font-weight: 600!important; letter-spacing: .12em!important; white-space: nowrap; }
#game .countdown-state i { width: 5px; height: 5px; border-radius: 50%; background: #786b50; box-shadow: 0 0 0 3px #786b5018; }
#game .countdown-time { display: flex; align-items: baseline; justify-content: center; width: 100%; color: #f6d57e!important; font-size: 18px!important; font-weight: 650!important; letter-spacing: .01em!important; line-height: 1; white-space: nowrap; font-variant-numeric: tabular-nums; }
#game .countdown-time b { min-width: 24px; font: inherit; text-align: center; }
#game .countdown-time em { margin-inline: 1px; color: #a9843d; font-style: normal; }
#game .round-countdown.is-live .countdown-state i { background: #58bd90; box-shadow: 0 0 0 3px #58bd9020; animation: tiger-countdown-breathe 1.8s ease-in-out infinite; }
#game .round-countdown.is-live .countdown-time em { animation: tiger-countdown-colon 1s steps(1,end) infinite; }
#game .round-countdown.is-urgent { border-color: #bf6946; background: radial-gradient(circle at 100% 0,#ed79512c,transparent 42%),linear-gradient(145deg,#2b160e,#100d0a); }
#game .round-countdown.is-urgent .countdown-state i { background: #ff785d; box-shadow: 0 0 0 4px #ff785d1f; }
#game .round-countdown.is-urgent .countdown-time { color: #ffb18d!important; }
@keyframes tiger-countdown-breathe { 0%,100% { opacity: .55; transform: scale(.82); } 50% { opacity: 1; transform: scale(1.15); } }
@keyframes tiger-countdown-colon { 0%,48% { opacity: 1; } 49%,100% { opacity: .35; } }
@media (max-width:340px) {
  #game .room-head { gap: 7px; }
  #game .room-head button { width: 38px; height: 38px; }
  #game .room-head h1 { font-size: 13px!important; }
  #game .room-head>.round-countdown { flex-basis: 84px; min-width: 84px; padding-inline: 8px; }
  #game .countdown-time { font-size: 17px!important; }
}
@media (prefers-reduced-motion:reduce) {
  #game .round-countdown :is(.countdown-state i,.countdown-time em) { animation: none!important; }
}

/* Keep the fixed 28 badge clear on Canada 28: only its tiger photo moves. */
.game-catalog-card.is-canada { background-position: 66% 42%!important; }

/* The source artwork is square. Present it as a contained square so the club,
   spade, diamond and heart all remain inside the frame. */
.poker-suit-art { width: 96px!important; height: 96px!important; padding: 5px; overflow: hidden; }
.poker-suit-art img { width: 100%!important; height: 100%!important; object-fit: contain!important; object-position: center!important; transform: none!important; }
@media (max-width:480px) { .poker-suit-art { width: 86px!important; height: 86px!important; padding: 4px; } }

/* User-supplied Hold'em artwork is square and must remain fully visible on
   the catalogue card. Reserve a clear right-hand stage and remove the old
   overlaid spade badge. */
.game-catalog-card.is-poker {
  background: linear-gradient(90deg,#080907f5 0%,#080907df 46%,#08090748 64%,#08090700 76%),url("assets/poker-suits-reference-app.png") calc(100% - 40px) center/94px 94px no-repeat,#0a0a08!important;
}
.game-catalog-card.is-poker .game-catalog-badge { display: none!important; }

/* Functional page titles are navigation, not campaign artwork. Keep the
   advertising hero expressive while making every page header calm and light. */
body:not(.admin-site) :is(.game-catalog-head h1,.hub-page-head h1,.subpage-head h1) {
  font-family: var(--tiger-ui-font)!important;
  font-size: 18px!important;
  font-weight: 400!important;
  line-height: 1.22!important;
  letter-spacing: -.015em!important;
}
body:not(.admin-site) .detail-native-head h1 {
  font-family: var(--tiger-ui-font)!important;
  font-size: 14px!important;
  font-weight: 400!important;
  letter-spacing: -.01em!important;
}
