:root{color-scheme:dark;--bg:#07100f;--panel:#0d1816;--panel2:#101f1c;--line:#20312e;--text:#ecf4f1;--muted:#879894;--mint:#55e6b1;--amber:#f0bd63;--coral:#ff7668;font-family:"Noto Sans SC","Microsoft YaHei",system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 65% -10%,#285f4633,transparent 34%),var(--bg);color:var(--text)}button,input{font:inherit}button{border:0;background:transparent;color:inherit;cursor:pointer}.app{max-width:650px;min-height:100dvh;margin:auto;padding:22px 16px 105px}.view{display:none}.view.active{display:block}.topbar{display:flex;justify-content:space-between;align-items:center;margin:8px 0 22px}.brand{display:flex;gap:10px;align-items:center;font-size:23px}.brand-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:9px;background:var(--mint);color:#07100f;font:bold 17px Georgia}.top-tools{display:flex;gap:12px;align-items:center}.top-tools button{position:relative;font-size:24px}.top-tools i{position:absolute;width:7px;height:7px;right:0;top:1px;border-radius:50%;background:var(--coral)}.avatar{display:grid;place-items:center;width:39px;height:39px;border:1px solid #2a4940!important;border-radius:50%;background:#193029!important;color:var(--mint);font-size:14px!important}.balance,.section,.bet-panel,.stats div,.admin-card{border:1px solid var(--line);border-radius:15px;background:linear-gradient(145deg,#11201d,#0b1714)}.balance{position:relative;overflow:hidden;min-height:180px;padding:27px}.balance:after{content:"";position:absolute;inset:auto -30px -90px auto;width:230px;height:230px;border:1px solid #39745b;border-radius:50%;box-shadow:0 0 0 28px #39745b11,0 0 0 56px #39745b0b}.balance span,.room span,.section-title button{color:var(--muted);font-size:13px}.balance strong{display:block;margin-top:11px;color:var(--mint);font:600 clamp(42px,10vw,66px)/1.05 "Arial Narrow",system-ui;letter-spacing:-.05em}.balance em{font:600 20px inherit;font-style:normal}.balance-art{position:absolute;z-index:1;right:62px;bottom:48px;color:var(--mint);font-size:54px;opacity:.34}.section{margin-top:17px;padding:20px}.section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-title h1,.section-title h2{margin:0;font-size:20px}.section-title h1:before,.section-title h2:before{content:"";display:inline-block;width:4px;height:22px;margin-right:9px;border-radius:4px;background:var(--mint);vertical-align:-4px}.section-title h2:before{background:var(--coral)}.room{display:grid;grid-template-columns:86px 1fr 1fr 110px;gap:9px;align-items:center;margin:9px 0;padding:14px;border:1px solid var(--line);border-radius:12px;background:#0a1513}.rate{display:grid;place-items:center;width:70px;height:70px;border-radius:12px;background:#153e33;color:var(--mint);font-size:16px}.room>div{display:flex;min-height:62px;flex-direction:column;justify-content:center;gap:5px;border-left:1px solid #20312e;padding-left:8px}.room strong{font-size:16px}.room small,.cyan{color:var(--mint)}.timer{font-size:27px!important}.timer small{color:var(--muted)!important}.join,.confirm{padding:10px 8px;border-radius:9px;background:var(--mint);color:#07100f;font-weight:700}.poker{display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:10px;width:100%;padding:13px;border:1px solid var(--line);border-radius:10px;background:#0b1714;text-align:left}.poker span,.poker em{color:var(--mint);font-style:normal}.poker small,.red-card small{color:var(--muted)}.red-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.red-card{position:relative;min-height:138px;padding:17px;border:1px solid #3b3030;border-radius:12px;background:#161718;text-align:left}.red-card span{display:grid;place-items:center;width:48px;height:48px;border-radius:10px;background:#382522;color:#ff9386}.red-card b,.red-card small{display:block;margin-top:10px}.red-card em{position:absolute;right:15px;bottom:10px;color:var(--coral);font-size:24px;font-style:normal}.bottom-nav{position:fixed;z-index:5;bottom:0;left:0;right:0;display:flex;justify-content:center;gap:min(17vw,90px);padding:10px 15px calc(9px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#07100fee}.bottom-nav button{display:grid;place-items:center;gap:3px;color:var(--muted);font-size:22px}.bottom-nav button.active{color:var(--mint)}.bottom-nav span{font-size:11px}.room-head{display:flex;gap:12px;align-items:center;padding-bottom:16px;border-bottom:1px solid var(--line)}.room-head button{width:36px;height:36px;border:1px solid var(--line);border-radius:9px;background:var(--panel);font-size:25px}.room-head span,.room-head>strong{color:var(--mint);font-size:12px}.room-head h1{margin:3px 0;font-size:21px}.room-head>strong{margin-left:auto;font-size:19px}.game-chat{min-height:430px;padding:18px}.system,.receipt{margin:7px auto 19px;padding:8px;border-radius:8px;background:#172622;color:#a5b7b1;text-align:center;font-size:11px}.receipt{background:#123027;color:var(--mint)}.message{display:flex;gap:9px;margin:17px 0}.message.own{justify-content:flex-end;text-align:right}.message i{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:#233b35;color:var(--mint);font-style:normal}.message p{margin:0;padding:9px 12px;border-radius:4px 11px 11px;background:#172824;font-size:13px}.message.own p{border-radius:11px 4px 11px 11px;background:#1c513f}.message b{display:block;color:var(--muted);font-size:10px}.bet-panel{padding:16px}.bet-panel>div{display:flex;justify-content:space-between}.bet-panel>div button{color:var(--coral);font-size:11px}.bet-panel p{padding:11px 0;border-bottom:1px solid var(--line)}.bet-panel input{width:100%;padding:11px;border:1px solid var(--line);border-radius:8px;background:#091310;color:var(--text)}.confirm{width:100%;margin-top:10px}.admin-view header span{color:var(--mint);font-size:12px}.admin-view h1{margin:5px 0 18px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.stats div{padding:13px}.stats span{color:var(--muted);font-size:10px}.stats b{display:block;margin-top:8px;font-size:16px}.admin-card{margin-top:12px;padding:16px}.admin-card span{color:var(--mint)}.admin-card button{padding:9px;border:1px solid #315449;border-radius:8px;color:var(--mint)}#toast{position:fixed;z-index:9;left:50%;bottom:84px;transform:translate(-50%,12px);padding:10px 15px;border-radius:8px;background:#dffbef;color:#07100f;font-size:12px;opacity:0;transition:.2s;white-space:nowrap}#toast.show{opacity:1;transform:translate(-50%,0)}.side-nav{display:none}@media(max-width:480px){.room{grid-template-columns:72px 1fr 1fr}.room>div:last-child{display:none}.rate{width:62px;height:62px;font-size:14px}.app{padding:16px 11px 98px}.section{padding:16px}.balance{padding:23px}.balance strong{font-size:45px}}@media(min-width:720px){body{padding:26px}.side-nav{position:fixed;z-index:4;left:26px;top:26px;bottom:26px;width:82px;display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 10px;border:1px solid var(--line);border-radius:16px;background:#081411}.side-nav button{width:100%;padding:11px 2px;border-radius:9px;color:var(--muted);font-size:17px}.side-nav button span{display:block;margin-top:4px;font-size:10px}.side-nav .monogram{width:40px;height:40px;margin-bottom:22px;background:var(--mint);color:#07100f;font:bold 19px Georgia}.side-nav .side-active,.side-nav button:hover{background:#13221f;color:var(--text)}.app{max-width:none;margin-left:102px;padding:28px 38px 50px;border:1px solid var(--line);border-radius:16px;background:#091411;box-shadow:0 35px 100px #0008}.bottom-nav{display:none}.balance{min-height:215px}.twenty-eight{display:grid;grid-template-columns:1fr 1fr;gap:12px}.twenty-eight .section-title,.twenty-eight .poker{grid-column:1/-1}.room{grid-template-columns:88px 1fr 1fr 120px}.red-grid{max-width:620px}.topbar{border-bottom:1px solid var(--line);padding-bottom:17px}}
.admin-redpacket-console form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}.admin-redpacket-console label{display:grid;gap:6px;color:var(--muted);font-size:12px}.admin-redpacket-console input{width:100%;padding:10px;border:1px solid var(--line);border-radius:8px;background:#091310;color:var(--text)}.admin-redpacket-console .confirm{align-self:end;margin:0}.admin-redpacket-console [role="status"]{min-height:18px;color:var(--mint);font-size:12px}.admin-redpacket-list{display:grid;gap:0;max-height:280px;overflow:auto}@media(max-width:620px){.admin-redpacket-console form{grid-template-columns:1fr}}
.twenty-eight #roomList{display:contents}.twenty-eight #roomList[hidden]{display:none!important}.room-loading{margin:9px 0;color:var(--muted);font-size:13px}
@media(max-width:480px){.room>div:last-child{display:flex;grid-column:2/-1;min-height:auto;flex-direction:row;align-items:center;justify-content:space-between;border-left:0;padding-left:0}.room>div:last-child .join{margin-left:auto}}
@media(max-width:480px){.stats{grid-template-columns:repeat(2,1fr)}}
/* Local review mode: keep the production layout unchanged while making a
   390 × 844 portrait canvas visible inside a wide desktop browser. */
body.mobile-preview{display:grid;min-height:100dvh;place-items:start center;padding:18px;background:#020806}
body.mobile-preview .side-nav{display:none!important}
body.mobile-preview .app{width:min(390px,100%);min-height:844px;margin:0!important;padding:16px 11px 98px!important;border:1px solid #315449!important;border-radius:22px!important;background:#07100f!important;box-shadow:0 24px 70px #000b!important}
body.mobile-preview .bottom-nav{display:flex!important;left:50%!important;right:auto!important;width:min(390px,100vw)!important;transform:translateX(-50%);border-radius:0 0 22px 22px}
body.mobile-preview .twenty-eight{display:block!important}
body.mobile-preview .twenty-eight .section-title,body.mobile-preview .twenty-eight .poker{display:grid!important}
body.mobile-preview .room{grid-template-columns:72px 1fr 1fr!important}
body.mobile-preview .room>div:last-child{display:flex!important;grid-column:2/-1;min-height:auto;flex-direction:row;align-items:center;justify-content:space-between;border-left:0;padding-left:0}
body.mobile-preview .room>div:last-child .join{margin-left:auto}
body.mobile-preview .stats{grid-template-columns:repeat(2,1fr)!important}

/* Mobile typography and layout repair: the player surface must remain usable
   from 320px-wide phones upwards, not just a desktop browser preview. */
html{-webkit-text-size-adjust:100%}
:root{font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei UI","Microsoft YaHei",system-ui,sans-serif}
.topbar{gap:12px}.brand{flex:none;line-height:1.15;white-space:nowrap}.top-tools{min-width:0;gap:8px}.top-tools button{flex:none;font-size:13px;line-height:1.1;white-space:nowrap}
.balance{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;min-height:0;padding:22px}.balance>span,.balance>strong{grid-column:1/-1}.balance strong{margin:2px 0 8px;font:600 clamp(34px,9vw,58px)/1.04 "Arial Narrow",system-ui;white-space:nowrap}.balance em{font-size:.38em;letter-spacing:0}.balance>button{position:static!important;left:auto!important;right:auto!important;bottom:auto!important;z-index:2;min-width:0;padding:8px 5px;border:1px solid #315449;border-radius:8px;background:#0b1b17;color:#b9c9c4;font-size:11px;line-height:1.2;white-space:nowrap}.balance>button:active{transform:scale(.98);background:#153e33}
.bottom-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));justify-content:stretch;gap:0}.bottom-nav button{min-width:0;gap:4px;font-size:20px;line-height:1.1}.bottom-nav span{font-size:11px;line-height:1;white-space:nowrap}
body.mobile-preview{overflow-x:hidden}
@media(max-width:480px){.topbar{gap:8px;margin:4px 0 18px}.brand{gap:7px;font-size:18px}.brand-mark{width:30px;height:30px;border-radius:8px;font-size:15px}.top-tools{flex:none;gap:4px}.top-tools button,.top-tools #supportButton,.top-tools #friendsButton{padding:5px 3px;font-size:12px}.avatar{width:32px;height:32px;font-size:12px!important}.balance{padding:18px;gap:6px}.balance strong{font-size:clamp(30px,9.5vw,40px)}.balance-art{display:none}.balance>button{padding:8px 2px;font-size:10px}.bottom-nav{padding-inline:8px}.bottom-nav button{font-size:18px}.bottom-nav span{font-size:10px}}
@media(max-width:350px){.topbar{gap:5px}.brand{gap:5px;font-size:16px}.brand-mark{width:27px;height:27px;font-size:13px}.top-tools{gap:2px}.top-tools button,.top-tools #supportButton,.top-tools #friendsButton{padding:4px 2px;font-size:11px}.avatar{width:28px;height:28px;font-size:11px!important}}
@media(max-width:430px){body.mobile-preview{display:block;padding:0}body.mobile-preview .app{width:100%!important;min-width:0;min-height:100dvh;border-radius:0!important;border-inline:0!important;box-shadow:none!important}body.mobile-preview .bottom-nav{width:100%!important;border-radius:0!important}}

/* Player lobby - mobile-first visual hierarchy. */
#lobby{display:grid;gap:14px}#lobby .topbar{min-height:54px;margin:0;padding:8px 9px 8px 10px;border:1px solid #26483f;border-radius:16px;background:linear-gradient(135deg,#0e201c,#091411)}#lobby .brand{font-size:19px;letter-spacing:-.02em}#lobby .brand-mark{position:relative;border-radius:11px;box-shadow:inset 0 1px 0 #fff8,0 8px 18px #0a9b6b2c}#lobby .top-tools{gap:5px}#lobby .top-tools button:not(.avatar){padding:7px 5px;border-radius:8px;color:#c5d4d0;font-size:12px}#lobby .top-tools button:not(.avatar):active{background:#17362e;color:var(--mint)}
#lobby .balance{isolation:isolate;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;padding:23px 20px 18px;border-color:#315d51;border-radius:20px;background:linear-gradient(130deg,#12372d 0%,#0c1b18 52%,#07100f 100%);box-shadow:0 18px 40px #0007,inset 0 1px 0 #ecfff10e}#lobby .balance:before{content:"";position:absolute;z-index:-1;inset:0;background:repeating-linear-gradient(90deg,transparent 0 26px,#6fd9b00a 27px 28px),repeating-linear-gradient(0deg,transparent 0 26px,#6fd9b007 27px 28px);mask-image:linear-gradient(90deg,#0008,transparent 78%);pointer-events:none}#lobby .balance:after{z-index:-1;inset:auto -56px -94px auto;width:240px;height:240px;border-color:#64d8ad55;box-shadow:0 0 0 28px #59dfad12,0 0 0 56px #59dfad08}#lobby .balance>span{font-size:12px;letter-spacing:.06em}#lobby .balance strong{position:relative;margin:0 0 8px;font-family:"Arial Narrow","PingFang SC",sans-serif;font-size:clamp(36px,10vw,52px);text-shadow:0 8px 22px #0008}#lobby .balance em{color:#b8ded3;font-size:.34em;font-weight:600}#lobby .balance>button{min-height:34px;border-color:#66c9a640;background:#071310b8;color:#c6e6dc;backdrop-filter:blur(8px)}#lobby .balance>button:first-of-type{color:var(--mint);border-color:#55e6b170;background:#123d31cc}#lobby .balance-art{right:26px;bottom:72px;font-size:66px;opacity:.25}
#lobby .section{position:relative;margin:0;padding:18px;border-color:#244139;border-radius:18px;background:#0b1714;box-shadow:inset 0 1px 0 #ffffff08}#lobby .section-title{margin-bottom:14px}#lobby .section-title h1,#lobby .section-title h2{font-size:19px;letter-spacing:-.02em}#lobby .section-title h1:before,#lobby .section-title h2:before{width:3px;height:19px;margin-right:8px}#lobby .section-title button{padding:6px 0;color:#9bb6ae;font-size:12px}
#lobby .twenty-eight{overflow:hidden;background:linear-gradient(150deg,#0e1e1a,#0a1513)}#lobby .twenty-eight:after{content:"28";position:absolute;right:12px;top:38px;color:#5ce3b10d;font:700 105px/.8 "Arial Narrow",sans-serif;pointer-events:none}#lobby .room{position:relative;z-index:1;margin:8px 0;padding:12px;border-color:#2a4e43;border-radius:14px;background:#0a1714;box-shadow:none}.room:hover{border-color:#4f8f79}.room .rate{border:1px solid #55e6b12e;background:linear-gradient(145deg,#174b3d,#112a23)}.room .join{min-height:36px;border-radius:10px;box-shadow:0 7px 14px #0cbb8140}.room-loading{position:relative;z-index:1;padding:14px 0;margin:0;color:#a3b9b2;font-size:13px}
#lobby .poker{position:relative;z-index:1;min-height:64px;margin-top:12px;border-color:#31463f;border-radius:14px;background:linear-gradient(90deg,#111b19,#0a1211)}#lobby .poker>span{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:#1a312a;color:#82ebc4}#lobby .poker b{font-size:15px}#lobby .poker em{font-size:12px;color:#a9c7bd}
#lobby .red-grid{gap:12px}#lobby .red-card{min-height:158px;padding:16px;border-color:#593c3c;border-radius:16px;background:linear-gradient(150deg,#241716,#121514);box-shadow:inset 0 1px 0 #fff1}#lobby .red-card:nth-child(2){border-color:#3c5148;background:linear-gradient(150deg,#11231d,#111816)}#lobby .red-card span{width:44px;height:44px;border-radius:13px;background:#442625;color:#ffb0a6}#lobby .red-card:nth-child(2) span{background:#183c30;color:#86ebc4}#lobby .red-card b{font-size:16px}#lobby .red-card small{max-width:112px;font-size:12px;line-height:1.5}#lobby .red-card em{right:13px;bottom:13px;font-size:20px}
#lobby~.bottom-nav,.bottom-nav{box-shadow:0 -10px 26px #02080699}@media(max-width:480px){#lobby{gap:12px}#lobby .topbar{min-height:48px;border-radius:14px}#lobby .brand{font-size:17px}#lobby .top-tools{gap:2px}#lobby .top-tools button:not(.avatar){padding:5px 3px;font-size:11px}#lobby .balance{padding:20px 17px 16px;border-radius:18px}#lobby .balance strong{font-size:clamp(31px,10vw,42px)}#lobby .balance-art{display:block;right:18px;bottom:76px;font-size:50px}#lobby .section{padding:16px;border-radius:16px}#lobby .red-card{min-height:150px;padding:14px}#lobby .red-card small{max-width:96px;font-size:11px}}

/* Lobby zones: profile, wallet services, then game entry. */
#lobby .profile-zone{margin:0}#lobby .profile-zone button{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:11px;width:100%;padding:11px 13px;border:1px solid #29483f;border-radius:16px;background:#0b1815;text-align:left;box-shadow:inset 0 1px 0 #ffffff08}#lobby .profile-zone button:active{transform:scale(.99);background:#11231e}.profile-badge{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:linear-gradient(145deg,#205242,#122c24);color:var(--mint);font-weight:700}.profile-copy{display:grid;gap:3px;min-width:0}.profile-copy strong{font-size:15px}.profile-copy small{color:var(--muted);font-size:12px}.profile-arrow{color:var(--mint);font-size:25px;line-height:1}.quick-zone{display:grid;gap:10px;padding:2px 1px 0}.zone-heading{display:flex;align-items:baseline;justify-content:space-between;padding:0 4px}.zone-heading h2{margin:0;color:#d9e8e3;font-size:16px}.zone-heading small{color:var(--muted);font-size:12px}.quick-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.quick-actions>button{position:static!important;left:auto!important;right:auto!important;bottom:auto!important;display:grid;min-height:42px;place-items:center;width:100%;padding:7px 4px;border:1px solid #315449!important;border-radius:11px!important;background:#0b1714!important;color:#b7d3ca!important;font-size:11px!important;line-height:1.2;text-align:center;white-space:normal!important}.quick-actions>button:first-child{border-color:#55e6b177!important;background:#10251f!important;color:var(--mint)!important}.quick-actions>button:nth-child(4),.quick-actions>button:nth-child(5){border-color:#704442!important;color:#ffaba0!important}.quick-actions>button:active{transform:scale(.98);background:#17362e!important}#lobby .balance{grid-template-columns:1fr;min-height:156px}#lobby .balance>span,#lobby .balance>strong{grid-column:1}
@media(max-width:480px){#lobby .profile-zone button{grid-template-columns:38px 1fr auto;padding:10px 12px;border-radius:14px}.profile-badge{width:38px;height:38px;border-radius:12px}.quick-actions{gap:7px}.quick-actions>button{min-height:40px;font-size:10px!important}}

/* Mobile game lobby refresh.  The layout borrows the useful information
   hierarchy of a card-room lobby, while retaining Tiger's own colour and
   identity system. */
:root{font-family:"MiSans","HarmonyOS Sans SC","PingFang SC","Noto Sans SC","Microsoft YaHei UI",system-ui,sans-serif;font-synthesis:none}
#lobby{gap:12px;padding-bottom:6px}
#lobby .topbar{min-height:48px;padding:4px 4px 4px 8px;border:0;border-radius:0;background:transparent}
#lobby .brand{font-size:17px;font-weight:650;letter-spacing:-.035em}
#lobby .brand-mark{width:29px;height:29px;border-radius:9px;font-family:inherit;font-size:14px;font-weight:800;box-shadow:0 6px 14px #0a9b6b24}
#lobby .top-tools{gap:3px;padding:3px 4px;border:1px solid #315449;border-radius:999px;background:#0b1815}
#lobby .top-tools button:not(.avatar){min-width:25px;padding:5px 3px;font-size:10px}
#lobby .avatar{width:29px;height:29px;border:0!important;background:#1a3a30!important;font-size:11px!important}
#lobby .profile-zone{display:none}
#lobby .balance{min-height:112px;padding:17px 18px 15px;border-radius:18px;background:linear-gradient(112deg,#12392e,#0b1916 64%,#08100f);box-shadow:0 11px 26px #0006}
#lobby .balance>span{font-size:11px;letter-spacing:.08em;color:#a9c8be}
#lobby .balance strong{font-family:"DIN Alternate","Arial Narrow","MiSans",sans-serif;font-size:36px;font-weight:700;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
#lobby .balance:after{right:-80px;bottom:-148px;width:220px;height:220px;border-color:#5fe0b748;box-shadow:0 0 0 24px #5fe0b70c,0 0 0 48px #5fe0b707}
#lobby .balance-art{right:20px;bottom:24px;font-size:38px;opacity:.22}
.game-tabs{display:flex;gap:7px;overflow-x:auto;padding:1px 1px 2px;scrollbar-width:none}.game-tabs::-webkit-scrollbar{display:none}#lobby .game-tabs{order:2}.game-tabs button{flex:0 0 auto;min-height:34px;padding:0 14px;border:1px solid #29453d;border-radius:999px;background:#0b1815;color:#94afa7;font-size:12px;font-weight:600;white-space:nowrap}.game-tabs button.active{border-color:#55e6b1;background:#15382e;color:#74efc4;box-shadow:inset 0 1px #c9ffe61c}.game-tabs button:active{transform:scale(.97)}
#lobby .game-zone-heading{order:5;margin:5px 2px -3px}#lobby .quick-zone{order:7;padding-top:2px}#lobby .twenty-eight{order:6;overflow:visible;padding:0;border:0;background:transparent;box-shadow:none}#lobby .twenty-eight:after{display:none}
#lobby .game-zone-heading h2{font-size:17px;font-weight:700}#lobby .game-zone-heading small{display:none}
#lobby .twenty-eight .section-title{margin:0 2px 8px}#lobby .twenty-eight .section-title h1{font-size:14px;font-weight:600;color:#b8cec7}#lobby .twenty-eight .section-title h1:before{display:none}#lobby .twenty-eight .section-title button{font-size:11px}
#lobby .room{grid-template-columns:52px minmax(0,1fr) auto;gap:10px;margin:0 0 9px;padding:12px 12px 12px 10px;border-color:#203b34;border-radius:15px;background:linear-gradient(105deg,#0d1d19,#091411);box-shadow:inset 0 1px #ffffff08}
#lobby .room .rate{width:52px;height:52px;border-radius:14px;font-size:11px;font-weight:700;line-height:1.18;text-align:center}
#lobby .room>div{min-height:0;padding:0;border:0}.room-main{gap:4px!important;min-width:0}.room-main strong{overflow:hidden;font-size:15px;font-weight:650;letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap}.room-main small{color:#7ca399;font-size:11px}.room-meta{display:flex!important;grid-column:2;flex-direction:row!important;align-items:center;gap:7px!important;color:#8ba9a0;font-size:11px}.room-meta small{color:#65d9aa;font-size:10px}.room-entry{grid-column:3;grid-row:1/3;align-self:center}.room .join{min-height:32px;padding:7px 10px;border-radius:10px;font-size:11px;box-shadow:0 5px 11px #0cbb8130}.room .join:disabled{background:#1a2925;color:#758b84;box-shadow:none}
#lobby .poker{min-height:58px;margin:10px 0 0;padding:10px 12px;border-radius:14px;background:linear-gradient(100deg,#101c19,#0b1312)}#lobby .poker b{font-size:14px;font-weight:650}#lobby .poker em{font-size:11px}
#lobby .quick-zone .zone-heading{display:none}.quick-actions{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.quick-actions>button{min-height:44px;padding:6px 2px;border-radius:11px!important;font-size:10px!important}.quick-actions>button:nth-child(n+4){border-color:#473737!important;color:#d7aaa2!important}
#lobby .section:not(.twenty-eight){order:8;margin-top:2px;padding:14px;border-radius:17px}.section-title h2{font-size:16px!important}.red-grid{gap:9px}#lobby .red-card{min-height:126px;padding:13px;border-radius:14px}#lobby .red-card span{width:38px;height:38px;border-radius:11px;font-size:12px}#lobby .red-card b{margin-top:8px;font-size:14px}#lobby .red-card small{font-size:10px;line-height:1.4}
.bottom-nav{bottom:10px;left:12px;right:12px;padding:8px 8px calc(8px + env(safe-area-inset-bottom));border:1px solid #273a35;border-radius:999px;background:#0a1211f2;box-shadow:0 16px 32px #0009;backdrop-filter:blur(15px)}.bottom-nav button{min-height:42px;border-radius:999px;color:#91a69f;font-size:18px;font-weight:650}.bottom-nav button.active{background:#54e6b1;color:#07100f}.bottom-nav span{font-size:10px;font-weight:650}.bottom-nav button:active{transform:scale(.96)}
body.mobile-preview .bottom-nav{bottom:10px!important;width:calc(min(390px,100vw) - 24px)!important;border-radius:999px!important}
@media(max-width:480px){#lobby .balance{min-height:108px;padding:16px 16px 14px}#lobby .balance strong{font-size:34px}.game-tabs button{min-height:32px;padding:0 12px;font-size:11px}#lobby .room{grid-template-columns:48px minmax(0,1fr) auto!important;padding:11px 10px 11px 9px}#lobby .room .rate{width:48px;height:48px;border-radius:13px;font-size:10px}.room-main strong{font-size:14px}.room .join{padding:7px 8px;font-size:10px}.quick-actions>button{min-height:41px;font-size:9px!important}.bottom-nav{left:8px;right:8px}.bottom-nav button{font-size:16px}.bottom-nav span{font-size:9px}body.mobile-preview .bottom-nav{bottom:8px!important;width:calc(100% - 16px)!important}}

/* Texas Hold'em: a native-feeling vertical table layout.  It uses the
   product's emerald identity and deliberately avoids third-party table art. */
.poker-dialog{width:min(760px,calc(100vw - 20px));max-height:94dvh;margin:auto;padding:0;border:1px solid #315449;border-radius:22px;background:#07100f;color:#ecf4f1;box-shadow:0 30px 90px #000c;overflow:hidden}.poker-dialog::backdrop{background:#020806ba;backdrop-filter:blur(5px)}
.poker-shell{display:grid;gap:12px;max-height:94dvh;padding:14px;overflow:auto;background:radial-gradient(circle at 50% -20%,#154a3a8a,transparent 42%),#07100f}.poker-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:2px 2px 0}.poker-heading-copy small{color:#69dcb6;font-size:11px;font-weight:650;letter-spacing:.04em}.poker-heading-copy h2{margin:3px 0 0;font-size:20px;letter-spacing:-.04em}.poker-close{flex:none;min-width:46px;padding:8px;border:1px solid #345c50;border-radius:11px;background:#0b1815;color:#78e4be;font-size:12px}.poker-close:active{transform:scale(.96)}
.poker-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:4px;border:1px solid #1f3832;border-radius:13px;background:#081310}.poker-tab{min-height:34px;padding:0 6px;border-radius:9px;color:#96ada6;font-size:12px;font-weight:650;white-space:nowrap}.poker-tab:active{transform:scale(.98)}.poker-content{min-height:150px}.poker-status{min-height:16px;margin:0 3px;color:#8ca59e;font-size:11px}
.poker-private-join{display:flex;gap:7px;padding:9px;border:1px solid #26473d;border-radius:15px;background:#0a1613}.poker-private-join input{min-width:0;border-color:#315449!important;border-radius:10px!important;background:#07100f!important;font-size:12px}.poker-private-join button{border-radius:10px!important;background:#14382d;color:#74e9c0!important;font-size:11px}.poker-empty{margin:10px 0;padding:32px 20px;border:1px dashed #396456;border-radius:16px;color:#8ba59d;text-align:center;font-size:13px;line-height:1.65}
.poker-room-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;margin-top:8px;padding:12px;border:1px solid #203d35;border-radius:15px;background:linear-gradient(110deg,#0d1d19,#08120f)}.poker-room-row>div{min-width:0;overflow:hidden;color:#d6e5e0;font-size:13px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.poker-room-row .confirm{width:auto!important;margin:0!important;padding:8px 10px;border-radius:10px;font-size:11px}
.poker-table-meta{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;align-items:center;padding:12px 13px;border:1px solid #28483f;border-radius:16px;background:linear-gradient(120deg,#10261f,#0a1512)}.poker-table-meta strong{overflow:hidden;color:#e8f7f1;font-size:15px;text-overflow:ellipsis;white-space:nowrap}.poker-table-meta span{color:#9bb6ae;font-size:11px;text-align:right}.poker-table-meta span:last-child{grid-column:1/-1;justify-self:start;padding:3px 7px;border-radius:999px;background:#17362d;color:#70e5bc;font-size:10px}
.poker-felt{position:relative;display:grid;grid-template-rows:auto 1fr auto;gap:10px;min-height:330px;padding:16px 14px;border:1px solid #3c705e;border-radius:50% / 21%;background:radial-gradient(ellipse at center,#1e7358 0%,#114536 43%,#09221b 72%,#06100d 100%);box-shadow:inset 0 0 0 9px #06100d5e,inset 0 0 35px #0008,0 14px 30px #0005}.poker-felt::before{content:"";position:absolute;inset:8px;border:1px solid #8de8c229;border-radius:inherit;pointer-events:none}.poker-felt::after{content:"泰格";position:absolute;left:50%;top:50%;color:#b4ffe810;font-size:28px;font-weight:800;letter-spacing:.22em;transform:translate(-50%,-50%) rotate(-10deg);pointer-events:none}html[data-locale="en-US"] .poker-felt::after{content:"TIGER"}.poker-board{position:relative;z-index:1;display:flex;justify-content:center;gap:5px;min-height:60px}.poker-card{position:relative;z-index:1;width:40px!important;height:56px!important;border-radius:7px!important;box-shadow:0 4px 9px #0007}.poker-card.is-hidden{color:#64d9b2!important;text-shadow:0 1px #000}.poker-seats{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:20px}.poker-seat{min-width:0;padding:9px 10px;border:1px solid #73caae48;border-radius:13px;background:#081511df;box-shadow:0 5px 14px #0006}.poker-seat.is-self{border-color:#73e3bb}.poker-seat.is-turn{box-shadow:0 0 0 2px #55e6b148,0 5px 14px #0006}.poker-seat strong,.poker-seat div,.poker-seat small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.poker-seat strong{font-size:12px}.poker-seat div{margin-top:3px;color:#c8e3da;font-size:11px;font-variant-numeric:tabular-nums}.poker-seat small{margin-top:3px;color:#73e4bc;font-size:10px}.poker-hand{position:relative;z-index:1;display:flex;justify-content:center;align-items:end;gap:7px;min-height:58px}.poker-hand{position:relative;z-index:1;display:flex;justify-content:center;align-items:end;gap:7px;min-height:58px}.poker-hand small{padding:7px 10px;border-radius:999px;background:#06130f8c;color:#bdd3cb;font-size:11px}
.poker-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.poker-actions button{min-height:42px!important;padding:9px 8px!important;border-radius:12px!important;font-size:13px!important}.poker-actions button:active{transform:scale(.98)}
@media(max-width:480px){.poker-dialog{width:calc(100vw - 14px);max-height:96dvh;border-radius:19px}.poker-shell{max-height:96dvh;padding:12px}.poker-heading-copy h2{font-size:18px}.poker-felt{min-height:298px;padding:14px 10px}.poker-card{width:36px!important;height:51px!important;font-size:12px!important}.poker-seats{gap:12px}.poker-seat{padding:8px}.poker-seat strong{font-size:11px}.poker-table-meta{padding:10px 11px}.poker-table-meta strong{font-size:14px}.poker-actions{gap:7px}.poker-actions button{min-height:39px!important;font-size:12px!important}}

/* Player sub-pages and dialogs: one mobile baseline for every dynamically
   rendered player surface. Admin is deliberately excluded because it is
   specified as a desktop-only control panel. */
body:not(.admin-site) dialog{width:calc(100vw - 20px)!important;max-width:620px!important;max-height:94dvh!important;border-radius:18px!important;box-shadow:0 22px 65px #000c}
body:not(.admin-site) dialog::backdrop{background:#020806b8;backdrop-filter:blur(4px)}
body:not(.admin-site) dialog>section,body:not(.admin-site) dialog>form{max-height:94dvh!important;padding:16px!important;overflow:auto;font-size:14px;line-height:1.45}
body:not(.admin-site) dialog h2{margin:0!important;font-size:20px!important;line-height:1.25;letter-spacing:-.025em}
body:not(.admin-site) dialog h3{font-size:16px!important;line-height:1.35}
body:not(.admin-site) dialog small,body:not(.admin-site) dialog [style*="font-size:12px"]{font-size:12px!important;line-height:1.5}
body:not(.admin-site) dialog input,body:not(.admin-site) dialog select,body:not(.admin-site) dialog textarea{min-height:44px!important;padding:10px 11px!important;border-radius:10px!important;font-size:16px!important;line-height:1.3!important}
body:not(.admin-site) dialog textarea{min-height:96px!important;resize:vertical}
body:not(.admin-site) dialog button{min-height:40px;padding:8px 11px!important;border-radius:10px!important;font-size:13px!important;line-height:1.25}
body:not(.admin-site) dialog button.confirm,body:not(.admin-site) dialog button[type="submit"]{min-height:44px;font-weight:700}
body:not(.admin-site) dialog form[style*="display:flex"]{flex-wrap:wrap!important;align-items:stretch!important}
body:not(.admin-site) dialog form[style*="display:flex"]>input,body:not(.admin-site) dialog form[style*="display:flex"]>select{min-width:0!important;flex:1 1 180px!important}
body:not(.admin-site) dialog form[style*="display:flex"]>button{flex:0 0 auto}
body:not(.admin-site) dialog [style*="max-height:32dvh"],body:not(.admin-site) dialog [style*="max-height:36dvh"],body:not(.admin-site) dialog [style*="max-height:45dvh"],body:not(.admin-site) dialog [style*="max-height:50dvh"]{max-height:38dvh!important}
body:not(.admin-site) .room-view{padding-bottom:88px}.room-head{gap:10px;padding:10px 1px 14px}.room-head h1{font-size:19px;line-height:1.25}.room-head>strong{font-variant-numeric:tabular-nums}.game-chat{min-height:clamp(360px,55dvh,520px);padding:14px;border-radius:16px}.message{gap:8px;margin:14px 0}.message p{max-width:calc(100% - 44px);padding:10px 12px;font-size:14px;line-height:1.45}.system,.receipt{padding:9px 10px;font-size:12px;line-height:1.45}.bet-panel{position:sticky;bottom:76px;padding:13px;border-radius:16px;box-shadow:0 12px 28px #0008}.bet-panel input{min-height:44px;border-radius:10px;font-size:16px}.bet-panel .confirm{min-height:44px;font-size:14px}
@media(max-width:360px){body:not(.admin-site) dialog{width:calc(100vw - 12px)!important}body:not(.admin-site) dialog>section,body:not(.admin-site) dialog>form{padding:13px!important}body:not(.admin-site) dialog h2{font-size:18px!important}body:not(.admin-site) dialog button{font-size:12px!important}.game-chat{padding:12px}.bet-panel{padding:11px}}

/* The poker table has its own dense table-scale rules and is restored after
   the shared dialog baseline above. */
body:not(.admin-site) .poker-dialog{width:min(760px,calc(100vw - 20px))!important;max-width:none!important;max-height:94dvh!important;border-radius:22px!important}
body:not(.admin-site) .poker-dialog .poker-shell{max-height:94dvh!important;padding:14px!important;font-size:inherit;line-height:normal}
body:not(.admin-site) .poker-dialog h2{margin:3px 0 0!important;font-size:20px!important;line-height:normal}
body:not(.admin-site) .poker-dialog small{font-size:inherit!important;line-height:normal}
body:not(.admin-site) .poker-dialog input,body:not(.admin-site) .poker-dialog select,body:not(.admin-site) .poker-dialog textarea{min-height:0!important;padding:inherit!important;font-size:inherit!important;line-height:inherit!important}
body:not(.admin-site) .poker-dialog button{min-height:0;padding:inherit!important;font-size:inherit!important;line-height:inherit}
body:not(.admin-site) .poker-dialog .poker-tab{min-height:34px;padding:0 6px!important;font-size:12px!important}
body:not(.admin-site) .poker-dialog .poker-close{min-height:0;padding:8px!important;font-size:12px!important}
body:not(.admin-site) .poker-dialog .poker-actions button{min-height:42px!important;padding:9px 8px!important;font-size:13px!important}
@media(max-width:480px){body:not(.admin-site) .poker-dialog{width:calc(100vw - 14px)!important;max-height:96dvh!important;border-radius:19px!important}body:not(.admin-site) .poker-dialog .poker-shell{max-height:96dvh!important;padding:12px!important}body:not(.admin-site) .poker-dialog h2{font-size:18px!important}body:not(.admin-site) .poker-dialog .poker-actions button{min-height:39px!important;font-size:12px!important}}

/* Independent player pages and the persistent four-way mobile navigation. */
.hub-view{display:grid;gap:16px;padding:4px 1px 92px}.subpage-head{padding:7px 5px 2px}.subpage-eyebrow{display:block;color:#70dfb8;font-size:10px;font-weight:750;letter-spacing:.12em}.subpage-head h1{margin:4px 0 5px;font-size:25px;letter-spacing:-.05em}.subpage-head p{margin:0;color:#91aaa2;font-size:13px;line-height:1.5}.hub-grid{display:grid;gap:10px}.game-hub-grid{grid-template-columns:1fr 1fr}.hub-card{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:94px;padding:14px;border:1px solid #294a40;border-radius:17px;background:linear-gradient(135deg,#0e211c,#091310);text-align:left}.hub-card-primary{grid-column:1/-1;min-height:108px;border-color:#3d7562;background:linear-gradient(112deg,#164536,#0c1d18 64%,#07100f)}.hub-card-coral{border-color:#593c3c;background:linear-gradient(135deg,#251817,#111413)}.hub-card-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#163b30;color:#77eac1;font-size:17px;font-weight:800}.hub-card-coral .hub-card-mark{background:#442726;color:#ffb5ab}.hub-card strong{display:block;overflow:hidden;font-size:14px;letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap}.hub-card small{display:block;grid-column:2;color:#92aca4;font-size:11px;line-height:1.4}.hub-card b,.hub-list b{color:#74e9c0;font-size:23px;font-weight:400}.hub-card:active,.hub-list button:active{transform:scale(.985);filter:brightness(1.14)}.wallet-hero{display:grid;gap:6px;padding:21px 19px;border:1px solid #3a6d5c;border-radius:19px;background:linear-gradient(120deg,#143d31,#0b1714 70%);box-shadow:inset 0 1px #ffffff10}.wallet-hero span,.wallet-hero small{color:#a8c6bc;font-size:12px}.wallet-hero strong{color:#73ebc1;font-family:"DIN Alternate","MiSans",sans-serif;font-size:35px;line-height:1;font-variant-numeric:tabular-nums}.wallet-hero em{color:#bbded4;font-family:inherit;font-size:13px;font-style:normal;font-weight:600}.hub-list{display:grid;gap:9px}.hub-list button{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:11px;width:100%;min-height:68px;padding:12px 13px;border:1px solid #28473e;border-radius:15px;background:#0b1714;text-align:left}.hub-list button>span{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#15362d;color:#77e7bd;font-size:17px}.hub-list button>div{min-width:0}.hub-list strong,.hub-list small{display:block}.hub-list strong{font-size:14px}.hub-list small{overflow:hidden;margin-top:3px;color:#91aaa2;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.profile-hero{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:11px;padding:14px;border:1px solid #294a40;border-radius:18px;background:linear-gradient(120deg,#102b22,#0a1513)}.profile-avatar{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:#1a493a;color:#7aebc2;font-size:18px;font-weight:800}.profile-hero>div{min-width:0}.profile-hero strong,.profile-hero small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-hero strong{font-size:15px}.profile-hero small{margin-top:4px;color:#91aaa2;font-size:11px}.profile-hero button{min-height:34px;padding:7px 10px;border:1px solid #4f967d;border-radius:10px;background:#173c30;color:#79ecc2;font-size:12px}
.bottom-nav{left:0;right:0;bottom:0;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;padding:8px 12px calc(8px + env(safe-area-inset-bottom));border-inline:0;border-bottom:0;border-radius:18px 18px 0 0;background:#08110ff7;box-shadow:0 -11px 28px #0009}.bottom-nav button{width:100%;min-height:46px;font-size:17px}.bottom-nav button.active{background:#173d31;color:#76ebc1}.bottom-nav span{font-size:10px}.app{padding-bottom:94px}
body.mobile-preview .bottom-nav{bottom:0!important;width:min(390px,100vw)!important;border-radius:0 0 22px 22px!important}
@media(max-width:480px){.hub-view{gap:13px;padding-bottom:88px}.subpage-head h1{font-size:23px}.game-hub-grid{gap:8px}.hub-card{min-height:88px;padding:12px;border-radius:15px}.hub-card-primary{min-height:98px}.hub-card-mark{width:38px;height:38px;border-radius:12px;font-size:15px}.hub-card strong{font-size:13px}.hub-card small{font-size:10px}.wallet-hero{padding:18px 16px}.wallet-hero strong{font-size:32px}.hub-list{gap:8px}.hub-list button{min-height:64px;padding:11px}.hub-list button>span{width:37px;height:37px;border-radius:11px}.bottom-nav{padding-inline:8px}.bottom-nav button{min-height:43px;font-size:16px}.bottom-nav span{font-size:9px}}

/* Second-level pages reuse existing tested feature content without modal
   overlays. The parent hub is hidden until the user presses the page back key. */
.hub-view.is-detail-page> :not(.inline-detail-page){display:none}.inline-detail-page{display:grid;gap:13px;padding:3px 1px 88px}.inline-detail-page>section,.inline-detail-page>form{display:grid;gap:12px;width:100%;max-width:100%;padding:16px!important;border:1px solid #28483f!important;border-radius:18px!important;background:#0b1714!important;overflow:auto}.inline-detail-page>form{max-height:none!important}.inline-detail-page h2{margin:0!important;font-size:20px!important;line-height:1.25}.inline-detail-page h3{font-size:16px!important}.inline-detail-page small{font-size:12px!important;line-height:1.5}.inline-detail-page input,.inline-detail-page select,.inline-detail-page textarea{min-height:44px!important;padding:10px 11px!important;border-radius:10px!important;font-size:16px!important;line-height:1.3!important}.inline-detail-page textarea{min-height:96px!important}.inline-detail-page button{min-height:40px;padding:8px 11px!important;border-radius:10px!important;font-size:13px!important}.inline-detail-page button.confirm,.inline-detail-page button[type="submit"]{min-height:44px}.inline-detail-page form[style*="display:flex"]{flex-wrap:wrap!important;align-items:stretch!important}.inline-detail-page form[style*="display:flex"]>input,.inline-detail-page form[style*="display:flex"]>select{min-width:0!important;flex:1 1 180px!important}.inline-detail-back{justify-self:start;min-height:38px!important;padding:7px 11px!important;border:1px solid #3e7663!important;border-radius:10px!important;background:#10271f!important;color:#7cedc4!important;font-weight:700}.inline-detail-page [style*="max-height:32dvh"],.inline-detail-page [style*="max-height:36dvh"],.inline-detail-page [style*="max-height:45dvh"],.inline-detail-page [style*="max-height:50dvh"]{max-height:40dvh!important}
@media(max-width:360px){.inline-detail-page{gap:10px}.inline-detail-page>section,.inline-detail-page>form{padding:13px!important}.inline-detail-page h2{font-size:18px!important}.inline-detail-page button{font-size:12px!important}}

/* Tiger brand mark: the supplied square artwork is cropped around the tiger
   head for recognisability at navigation-icon scale. */
.brand-mark,.side-nav .monogram{overflow:hidden;background:#111!important}.brand-mark img,.side-nav .monogram img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 43%;transform:scale(1.75);transform-origin:center}.brand-mark{isolation:isolate}.brand strong{font-weight:760;letter-spacing:-.045em}

/* Balance privacy control: anchored to the card, never to the changing number width. */
#lobby .balance .balance-visibility{position:absolute!important;z-index:3;right:16px!important;bottom:14px!important;display:grid!important;place-items:center!important;width:32px!important;min-width:32px!important;height:32px!important;min-height:32px!important;margin:0!important;padding:0!important;border:1px solid #68d9b352!important;border-radius:10px!important;background:#071310b8!important;color:#9bf1cf!important;box-shadow:0 7px 18px #0005;backdrop-filter:blur(8px);transition:transform .16s ease,background .16s ease}.balance-visibility svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.balance-visibility .eye-closed{display:none}.balance-visibility.is-hidden .eye-open{display:none}.balance-visibility.is-hidden .eye-closed{display:block}.balance-visibility:active{transform:scale(.92);background:#174433!important}.balance-visibility:focus-visible{outline:2px solid #9df5d1;outline-offset:2px}@media(max-width:480px){#lobby .balance .balance-visibility{right:13px!important;bottom:12px!important;width:30px!important;min-width:30px!important;height:30px!important;min-height:30px!important}}

/* Original Tiger promotional carousel: mobile-scale, swipeable, and independent from the copied reference artwork. */
.promotion-carousel{position:relative;order:1;overflow:hidden;margin:0;border:1px solid #294a40;border-radius:19px;background:#0a1513;box-shadow:0 12px 28px #0006}.promotion-viewport{overflow:hidden;touch-action:pan-y;cursor:grab}.promotion-viewport:active{cursor:grabbing}.promotion-track{display:flex;transition:transform .42s cubic-bezier(.2,.75,.25,1)}.promotion-slide{position:relative;isolation:isolate;flex:0 0 100%;display:grid;grid-template-columns:minmax(0,1fr) 114px;align-items:center;min-height:144px;gap:7px;padding:17px 16px 25px;overflow:hidden;background:linear-gradient(118deg,#123b30,#0c1d19 60%,#07100f)}.promotion-slide:before,.promotion-slide:after{position:absolute;z-index:-1;content:"";border-radius:50%;pointer-events:none}.promotion-slide:before{right:-52px;top:-82px;width:220px;height:220px;border:1px solid #70ebc13b;box-shadow:0 0 0 24px #55e6b10b,0 0 0 48px #55e6b107}.promotion-slide:after{left:51%;bottom:-70px;width:180px;height:100px;background:linear-gradient(120deg,transparent,#62e4b223);filter:blur(4px);transform:rotate(-17deg)}.promotion-slide.is-gold{background:linear-gradient(118deg,#332410,#1b1710 60%,#0b100d)}.promotion-slide.is-gold:before{border-color:#ffd67053;box-shadow:0 0 0 24px #ffd36b0c,0 0 0 48px #ffd36b07}.promotion-slide.is-coral{background:linear-gradient(118deg,#371b1b,#211313 60%,#0e0c0d)}.promotion-slide.is-coral:before{border-color:#ff9b8d52;box-shadow:0 0 0 24px #ff76680c,0 0 0 48px #ff766807}.promotion-copy{position:relative;z-index:1;display:grid;gap:4px;min-width:0}.promotion-copy small{color:#81eec8;font-size:10px;font-weight:800;letter-spacing:.12em}.is-gold .promotion-copy small{color:#ffcf70}.is-coral .promotion-copy small{color:#ff9b8f}.promotion-copy strong{overflow:hidden;font-size:22px;letter-spacing:-.055em;text-overflow:ellipsis;white-space:nowrap}.promotion-copy span{overflow:hidden;color:#b2c9c1;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.promotion-art{position:relative;z-index:1;display:grid;place-items:center;width:104px;height:104px}.promotion-art i{position:absolute;width:86px;height:86px;border:1px solid #80ebc276;border-radius:24px 42px 24px 42px;background:linear-gradient(135deg,#3ce5ad35,#07130f10);transform:rotate(18deg)}.is-gold .promotion-art i{border-color:#ffcf7376;background:linear-gradient(135deg,#ffd46c3a,#1a130710)}.is-coral .promotion-art i{border-color:#ff928576;background:linear-gradient(135deg,#ff766838,#1a0c0b10)}.promotion-art b,.promotion-art em{position:absolute;margin:0;font-style:normal;font-weight:850;line-height:1}.promotion-art b{right:9px;bottom:10px;color:#91f4ce;font-size:52px;text-shadow:0 11px 18px #0009}.promotion-art em{left:10px;top:12px;color:#d8fff0;font-family:"DIN Alternate","Arial Narrow",sans-serif;font-size:33px;letter-spacing:-.1em}.is-gold .promotion-art b,.is-gold .promotion-art em{color:#ffe5a2}.is-coral .promotion-art b,.is-coral .promotion-art em{color:#ffc6bd}.promotion-enter{position:absolute;z-index:2;left:16px;bottom:13px;min-height:24px;padding:4px 8px;border:1px solid #72e6bd70;border-radius:999px;background:#0b1915a8;color:#9cf4d1;font-size:10px;font-weight:700}.is-gold .promotion-enter{border-color:#ffd87670;color:#ffe3a1}.is-coral .promotion-enter{border-color:#ff9a8c70;color:#ffbeb5}.promotion-enter:active{transform:scale(.95)}.promotion-dots{position:absolute;z-index:3;right:13px;bottom:12px;display:flex;gap:5px}.promotion-dots button{width:16px;height:4px;margin:0;padding:0;border-radius:99px;background:#dffff348;transition:width .2s ease,background .2s ease}.promotion-dots button.active{width:26px;background:#e6fff6}@media(max-width:480px){.promotion-carousel{border-radius:17px}.promotion-slide{grid-template-columns:minmax(0,1fr) 97px;min-height:132px;padding:15px 14px 24px}.promotion-copy strong{font-size:20px}.promotion-art{width:92px;height:92px}.promotion-art i{width:75px;height:75px}.promotion-art b{right:7px;bottom:9px;font-size:46px}.promotion-art em{left:8px;top:12px;font-size:30px}.promotion-enter{left:14px;bottom:11px}.promotion-dots{right:11px;bottom:10px}}
.promotion-carousel{position:relative;order:1;overflow:hidden;margin:0;border:1px solid #294a40;border-radius:19px;background:#0a1513;box-shadow:0 12px 28px #0006}.promotion-viewport{overflow:hidden;touch-action:pan-y;cursor:grab}.promotion-viewport:active{cursor:grabbing}.promotion-track{display:flex;transition:transform .42s cubic-bezier(.2,.75,.25,1)}.promotion-slide{position:relative;isolation:isolate;flex:0 0 100%;display:grid;grid-template-columns:minmax(0,1fr) 114px;align-items:center;min-height:144px;gap:7px;padding:17px 16px 25px;overflow:hidden;background:linear-gradient(118deg,#123b30,#0c1d19 60%,#07100f)}.promotion-slide:before,.promotion-slide:after{position:absolute;z-index:-1;content:"";border-radius:50%;pointer-events:none}.promotion-slide:before{right:-52px;top:-82px;width:220px;height:220px;border:1px solid #70ebc13b;box-shadow:0 0 0 24px #55e6b10b,0 0 0 48px #55e6b107}.promotion-slide:after{left:51%;bottom:-70px;width:180px;height:100px;background:linear-gradient(120deg,transparent,#62e4b223);filter:blur(4px);transform:rotate(-17deg)}.promotion-slide.is-ink{background:linear-gradient(90deg,#070806b8 0%,#07080666 58%,#07080610 100%),url("assets/tiger-ink-gold-banner.png") center/cover}.promotion-slide.is-ink:before{border-color:#e5bf6355;box-shadow:0 0 0 24px #e5bf630b,0 0 0 48px #e5bf6307}.promotion-slide.is-ink:after{background:linear-gradient(120deg,transparent,#e7bd5d18)}.promotion-slide.is-gold{background:linear-gradient(118deg,#332410,#1b1710 60%,#0b100d)}.promotion-slide.is-gold:before{border-color:#ffd67053;box-shadow:0 0 0 24px #ffd36b0c,0 0 0 48px #ffd36b07}.promotion-slide.is-coral{background:linear-gradient(118deg,#371b1b,#211313 60%,#0e0c0d)}.promotion-slide.is-coral:before{border-color:#ff9b8d52;box-shadow:0 0 0 24px #ff76680c,0 0 0 48px #ff766807}.promotion-copy{position:relative;z-index:1;display:grid;gap:4px;min-width:0}.promotion-copy small{color:#81eec8;font-size:10px;font-weight:800;letter-spacing:.12em}.is-ink .promotion-copy small{color:#eacb82;letter-spacing:.05em}.is-gold .promotion-copy small{color:#ffcf70}.is-coral .promotion-copy small{color:#ff9b8f}.promotion-copy strong{overflow:hidden;font-size:22px;letter-spacing:-.055em;text-overflow:ellipsis;white-space:nowrap}.is-ink .promotion-copy strong{color:#f6eee0;font-family:"STKaiti","KaiTi","FZKai-Z03",serif;font-size:28px;font-weight:700;letter-spacing:.04em;text-shadow:0 2px 14px #000}.promotion-copy span{overflow:hidden;color:#b2c9c1;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.is-ink .promotion-copy span{color:#decda9}.promotion-art{position:relative;z-index:1;display:grid;place-items:center;width:104px;height:104px}.promotion-art i{position:absolute;width:86px;height:86px;border:1px solid #80ebc276;border-radius:24px 42px 24px 42px;background:linear-gradient(135deg,#3ce5ad35,#07130f10);transform:rotate(18deg)}.is-ink .promotion-art i{border-color:#eac36c88;background:linear-gradient(135deg,#e8c56d2c,#08070320)}.is-gold .promotion-art i{border-color:#ffcf7376;background:linear-gradient(135deg,#ffd46c3a,#1a130710)}.is-coral .promotion-art i{border-color:#ff928576;background:linear-gradient(135deg,#ff766838,#1a0c0b10)}.promotion-art b,.promotion-art em{position:absolute;margin:0;font-style:normal;font-weight:850;line-height:1}.promotion-art b{right:9px;bottom:10px;color:#91f4ce;font-size:52px;text-shadow:0 11px 18px #0009}.is-ink .promotion-art b{right:12px;bottom:9px;color:#f5dfaa;font-family:"STKaiti","KaiTi",serif;font-size:48px}.is-ink .promotion-art em{color:#f3d68e}.is-gold .promotion-art b,.is-gold .promotion-art em{color:#ffe5a2}.is-coral .promotion-art b,.is-coral .promotion-art em{color:#ffc6bd}.promotion-enter{position:absolute;z-index:2;left:16px;bottom:13px;min-height:24px;padding:4px 8px;border:1px solid #72e6bd70;border-radius:999px;background:#0b1915a8;color:#9cf4d1;font-size:10px;font-weight:700}.is-ink .promotion-enter{border-color:#dfbd6e8a;background:#171108a8;color:#f3d996}.is-gold .promotion-enter{border-color:#ffd87670;color:#ffe3a1}.is-coral .promotion-enter{border-color:#ff9a8c70;color:#ffbeb5}.promotion-enter:active{transform:scale(.95)}.promotion-dots{position:absolute;z-index:3;right:13px;bottom:12px;display:flex;gap:5px}.promotion-dots button{width:16px;height:4px;margin:0;padding:0;border-radius:99px;background:#dffff348;transition:width .2s ease,background .2s ease}.promotion-dots button.active{width:26px;background:#e6fff6}@media(max-width:480px){.promotion-carousel{border-radius:17px}.promotion-slide{grid-template-columns:minmax(0,1fr) 97px;min-height:132px;padding:15px 14px 24px}.promotion-copy strong{font-size:20px}.is-ink .promotion-copy strong{font-size:25px}.promotion-art{width:92px;height:92px}.promotion-art i{width:75px;height:75px}.promotion-art b{right:7px;bottom:9px;font-size:46px}.promotion-art em{left:8px;top:12px;font-size:30px}.promotion-enter{left:14px;bottom:11px}.promotion-dots{right:11px;bottom:10px}}
.promotion-redpacket{position:relative;z-index:2;display:grid;place-items:center;width:58px;height:74px;border:2px solid #f0c86e;border-radius:8px 8px 13px 13px;background:linear-gradient(135deg,#c32324,#6e090e 72%);box-shadow:inset 0 1px #ffe0a26b,0 10px 20px #0008;transform:rotate(9deg)}.promotion-redpacket::before{position:absolute;top:-8px;left:-2px;width:58px;height:23px;content:"";border:2px solid #f0c86e;border-radius:10px 10px 4px 4px;background:linear-gradient(135deg,#f05138,#a4161a);clip-path:polygon(0 0,100% 0,86% 100%,14% 100%)}.promotion-redpacket::after{position:absolute;top:24px;width:25px;height:25px;content:"";border:2px solid #ffe2a1;border-radius:50%;background:#c99b36;box-shadow:inset 0 1px #fff0c37d}.promotion-redpacket span{position:relative;z-index:1;margin-top:4px;color:#6d1011;font-family:"STKaiti","KaiTi",serif;font-size:17px;font-weight:900}.promotion-redpacket span::after{content:"福"}@media(max-width:480px){.promotion-redpacket{width:52px;height:68px}.promotion-redpacket::before{width:52px}.promotion-redpacket::after{top:22px}}

/* The red-packet promotion gets a subtle celebratory rain without blocking its CTA. */
.promotion-packet-shower{position:absolute;z-index:0;inset:0;overflow:hidden;pointer-events:none}.promotion-packet-shower i{position:absolute;left:var(--packet-left);top:-28px;width:15px;height:20px;border:1px solid #f2cb75;border-radius:3px 3px 5px 5px;background:linear-gradient(135deg,#ef463b,#8d1014 76%);box-shadow:0 3px 8px #0007;opacity:0;transform:rotate(var(--packet-turn));animation:packet-shower var(--packet-duration) linear var(--packet-delay) infinite}.promotion-packet-shower i::before{position:absolute;top:-3px;left:-1px;width:15px;height:7px;content:"";border:1px solid #f2cb75;border-radius:3px 3px 1px 1px;background:#d72628}.promotion-packet-shower i::after{position:absolute;top:7px;left:5px;width:4px;height:4px;content:"";border-radius:50%;background:#ffd778}@keyframes packet-shower{0%{opacity:0;transform:translate3d(0,-8px,0) rotate(var(--packet-turn)) scale(.8)}12%{opacity:.9}88%{opacity:.85}100%{opacity:0;transform:translate3d(-28px,172px,0) rotate(calc(var(--packet-turn) + 145deg)) scale(1.05)}}@media(prefers-reduced-motion:reduce){.promotion-packet-shower i{animation:none;opacity:.45;transform:translateY(70px) rotate(var(--packet-turn))}}

/* The 28 promotion pauses with its head lowered, rises, then answers with a skyward roar. */
.tiger-roar-frame{position:relative;z-index:2;display:block;width:110px;height:110px;overflow:hidden;border:1px solid #e9c66b70;border-radius:50%;background:#0a0906;box-shadow:0 0 0 8px #e7bd5c0c,0 12px 22px #0009}.tiger-roar-frame::after{position:absolute;right:-6px;top:19px;width:36px;height:49px;content:"";border-top:1px solid #f4d98a9c;border-right:1px solid #f4d98a9c;border-radius:0 100% 0 0;opacity:0;transform:scale(.58);animation:tiger-roar-ripples 5.4s ease-out infinite}.tiger-roar-frame img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:68% 43%;will-change:opacity,transform}.tiger-head-low{object-position:67% 56%!important;animation:tiger-head-lowered 5.4s ease-in-out infinite}.tiger-head-rise{object-position:67% 48%!important;animation:tiger-head-rising 5.4s ease-in-out infinite}.tiger-head-roar{animation:tiger-head-roaring 5.4s ease-in-out infinite}@keyframes tiger-head-lowered{0%,18%{opacity:1;transform:translateY(5px) scale(1.02);filter:brightness(.86)}27%,100%{opacity:0;transform:translateY(9px) scale(.99);filter:brightness(.75)}}@keyframes tiger-head-rising{0%,16%{opacity:0;transform:translateY(13px) scale(.95);filter:brightness(.76)}29%,42%{opacity:1;transform:translateY(1px) scale(1.04);filter:brightness(1.06)}52%,100%{opacity:0;transform:translateY(-6px) scale(1.08);filter:brightness(1.12)}}@keyframes tiger-head-roaring{0%,39%{opacity:0;transform:translateY(8px) scale(.96);filter:brightness(.82)}51%,66%{opacity:1;transform:translateY(-4px) scale(1.08);filter:brightness(1.22)}80%{opacity:1;transform:translateY(-1px) scale(1.045);filter:brightness(1.08)}93%,100%{opacity:0;transform:translateY(5px) scale(.99);filter:brightness(.88)}}@keyframes tiger-roar-ripples{0%,48%{opacity:0;transform:scale(.58)}56%{opacity:.98;transform:scale(.77)}73%{opacity:0;transform:scale(1.9)}100%{opacity:0;transform:scale(1.9)}}@media(max-width:480px){.tiger-roar-frame{width:92px;height:92px}}@media(prefers-reduced-motion:reduce){.tiger-roar-frame::after,.tiger-roar-frame img{animation:none}.tiger-head-low{opacity:1;transform:translateY(5px) scale(1.02);filter:brightness(.86)}.tiger-head-rise,.tiger-head-roar,.tiger-roar-frame::after{opacity:0}}

/* Homepage theme: original black-and-gold Tiger stage art stays behind usable controls. */
#lobby{position:relative;isolation:isolate}#lobby::before{position:absolute;z-index:0;inset:64px -11px 0;content:"";background:linear-gradient(180deg,#07100fed 0%,#07100fd9 42%,#07100ff2 75%),url("assets/tiger-guardian-home.png") right top/auto min(1040px,130%) no-repeat;opacity:.5;pointer-events:none}#lobby>*{position:relative;z-index:1}#lobby .balance{border-color:#76572b;background:linear-gradient(112deg,#241a0fdf,#0c0d0adf 64%,#080908df);box-shadow:0 11px 26px #0008,inset 0 1px #f1d38e19}#lobby .balance>span{color:#d7c49c}#lobby .balance strong{color:#f0cf78;text-shadow:0 8px 22px #000}.balance-visibility{color:#f5d98d!important;border-color:#d9b85a66!important;background:#141006c9!important}.game-tabs button{border-color:#625034;background:#100f0cce;color:#c6b99b}.game-tabs button.active{border-color:#d6ad51;background:#281e0e;color:#f2d079;box-shadow:inset 0 1px #ffe9af33}.promotion-carousel{border-color:#6e552d;box-shadow:0 12px 28px #0009}.quick-actions>button{border-color:#5e4a2f!important;background:#100f0cde!important;color:#d5c39d!important}.quick-actions>button:first-child{border-color:#d5ad51!important;background:#2a1e0d!important;color:#f3d27e!important}.bottom-nav{border-color:#5f4a2f;background:#0d0c0bea}.bottom-nav button.active{background:#32240f;color:#f2d17b}@media(max-width:480px){#lobby::before{inset:52px -11px 0;background-position:right top;background-size:auto 930px;opacity:.42}}

/* One tactile response system for every player-facing action. The inset layer
   adds a visible background response without replacing each button's design. */
body:not(.admin-site) button:not(:disabled){-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:transform .14s ease,filter .14s ease,box-shadow .14s ease,background-color .14s ease}body:not(.admin-site) button:not(:disabled):active{transform:scale(.975);filter:brightness(1.1);box-shadow:inset 0 0 0 999px #e8bd5c2e!important}body:not(.admin-site) button:not(:disabled):focus-visible{outline:2px solid #f0cc79;outline-offset:2px}@media(prefers-reduced-motion:reduce){body:not(.admin-site) button:not(:disabled){transition:none}body:not(.admin-site) button:not(:disabled):active{transform:none}}

/* Compact 1.5-second tiger motion timeline. */
.tiger-roar-frame::after{animation-duration:1.5s}.tiger-head-low{animation-duration:1.5s}.tiger-head-rise{animation-duration:1.5s}.tiger-head-roar{animation-duration:1.5s}

/* The promotion now plays a compact 30fps sequence; the image remains as a safe fallback. */
.tiger-roar-frame::after{pointer-events:none}.tiger-roar-video{position:absolute;inset:0;z-index:1;display:block;width:100%;height:100%;object-fit:cover;object-position:68% 43%;border-radius:inherit}.tiger-roar-fallback{display:none!important;animation:none!important}@media(prefers-reduced-motion:reduce){.tiger-roar-video{display:none}.tiger-roar-fallback{display:block!important}}

/* The first carousel slide uses the supplied walking treatment with real horizontal movement. */
.promotion-slide.is-ink .promotion-copy{z-index:2}.tiger-walk-frame{position:absolute;z-index:1;right:-74px;top:-18px;display:block;width:244px;height:132px;pointer-events:none;transform:translateX(132px)}.tiger-walk-frame img,.tiger-walk-frame video{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 0 11px #d4af3770)}.tiger-walk-video-frame{overflow:hidden;border-radius:12px;background:#000}.tiger-walk-video-frame video{object-fit:cover;filter:none}.tiger-walk-frame.is-walking{animation:tiger-carousel-walk 4s linear forwards}@keyframes tiger-carousel-walk{0%{transform:translateX(132px)}100%{transform:translateX(-154px)}}@media(max-width:480px){.tiger-walk-frame{right:-65px;top:-13px;width:218px;height:121px}}@media(prefers-reduced-motion:reduce){.tiger-walk-frame,.tiger-walk-frame.is-walking{animation:none;transform:translateX(-26px)}.tiger-walk-video-frame video{display:none}}

/* Keep the video fixed in the carousel; only the tiger inside the video walks. */
.tiger-walk-frame,.tiger-walk-frame.is-walking{animation:none;transform:none}

/* Feather the video's left boundary into the carousel background. */
.tiger-walk-video-frame::before{position:absolute;z-index:2;top:-10px;bottom:-10px;left:-12px;width:43%;content:"";pointer-events:none;background:linear-gradient(90deg,#050504 0%,#050504ed 32%,#080704a6 62%,transparent 100%);filter:blur(7px)}.tiger-walk-video-frame video{-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 26%,#000 100%);mask-image:linear-gradient(90deg,transparent 0%,#000 26%,#000 100%)}

/* Conceal the former lower-right source mark with a native dark vignette. */
.tiger-walk-video-frame::after{position:absolute;z-index:2;right:0;bottom:0;width:48%;height:28%;content:"";pointer-events:none;background:radial-gradient(ellipse at 100% 100%,#020202 0%,#020202e8 32%,#02020280 56%,transparent 79%)}

/* Poker carousel art: four suits on the right with a restrained flying-card field. */
.poker-suit-stack{position:relative;z-index:2;display:block;width:89px;height:89px}.poker-suit-stack i{position:absolute;display:grid;place-items:center;width:43px;height:54px;border:1px solid #f3d995a8;border-radius:7px;background:linear-gradient(145deg,#fff8e9,#d9c28a);box-shadow:0 8px 18px #0008;color:#17120b;font-family:Georgia,"Times New Roman",serif;font-size:29px;font-style:normal;font-weight:900;line-height:1}.poker-suit-stack .suit-heart{left:3px;top:25px;z-index:4;color:#b51f2a;transform:rotate(-13deg)}.poker-suit-stack .suit-spade{left:31px;top:2px;z-index:3;transform:rotate(9deg)}.poker-suit-stack .suit-club{left:43px;top:33px;z-index:2;transform:rotate(17deg)}.poker-suit-stack .suit-diamond{left:14px;top:48px;z-index:1;color:#b51f2a;transform:rotate(-4deg)}.poker-card-shower{position:absolute;z-index:0;inset:0;overflow:hidden;pointer-events:none}.poker-card-shower i{position:absolute;left:var(--card-left);top:-24px;display:block;width:23px;height:32px;overflow:hidden;border:1px solid #f2d992b8;border-radius:4px;background:#0b0a07;box-shadow:0 4px 9px #0009;opacity:0;transform:rotate(var(--card-turn));animation:poker-card-fall var(--card-duration) linear var(--card-delay) infinite}.poker-card-shower i img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 36%;transform:scale(1.22) translateY(4%)}@keyframes poker-card-fall{0%{opacity:0;transform:translate3d(0,-18px,0) rotate(var(--card-turn)) scale(.72)}8%{opacity:.8}76%{opacity:.7}100%{opacity:0;transform:translate3d(-23px,165px,0) rotate(calc(var(--card-turn) + 126deg)) scale(1.04)}}@media(max-width:480px){.poker-suit-stack{width:79px;height:79px;transform:scale(.92);transform-origin:center}.poker-card-shower i{width:19px;height:27px}}@media(prefers-reduced-motion:reduce){.poker-card-shower{display:none}}

/* Cleaned four-suit art for the poker carousel's main right-hand visual. */
.poker-suit-art{position:relative;z-index:2;display:block;width:94px;height:106px;overflow:hidden;border:1px solid #e8c57075;border-radius:13px;background:#070705;box-shadow:0 9px 20px #0009}.poker-suit-art img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.08)}@media(max-width:480px){.poker-suit-art{width:84px;height:96px;border-radius:11px}}

/* Make the tiger video flush with the promotion's top, bottom, and right edges. */
.promotion-slide.is-ink .tiger-walk-frame{top:-1px;right:0;bottom:-1px;width:45%;height:auto;border-radius:0;transform:none}.promotion-slide.is-ink .tiger-walk-video-frame{border-radius:0}.promotion-slide.is-ink .tiger-walk-video-frame video{object-position:center}

/* Align the carousel arc to the balance-card arc for a continuous upper/lower rhythm. */
.promotion-slide:before{right:-52px;top:-82px;width:220px;height:220px}

/* Restore the supplied tiger-video footprint while retaining its vertical edge alignment. */
.promotion-slide.is-ink .tiger-walk-frame{top:-1px;right:-74px;bottom:-1px;width:244px;height:auto}@media(max-width:480px){.promotion-slide.is-ink .tiger-walk-frame{right:-65px;width:218px}}

/* Match the balance and carousel semicircles: identical 220px diameter and shared horizontal center. */
#lobby .balance:after{inset:auto -52px -86px auto;width:220px;height:220px}.promotion-slide:before{right:-52px;top:-82px;width:220px;height:220px}

/* Preserve the current video width and horizontal placement; force only full vertical fill. */
.promotion-slide.is-ink .tiger-walk-frame{top:-15px;bottom:auto;height:160px}.promotion-slide.is-ink .tiger-walk-video-frame video{position:absolute;inset:0;width:100%;height:100%}@media(max-width:480px){.promotion-slide.is-ink .tiger-walk-frame{height:148px}}

/* A promotion is a direct entry surface, not merely a static banner. */
.promotion-slide{cursor:pointer}.promotion-slide:focus-visible{outline:2px solid #f0cc79;outline-offset:-3px}

/* Home is a presentation surface; game selection and game play live on the
   dedicated 28 page.  A selected room replaces its picker instead of stacking
   the room list, chat and betting controls in one long page. */
#game .game-room-picker{margin-top:14px;border-color:#315d51;background:linear-gradient(145deg,#10261f,#091411)}#game .game-room-picker .section-title h1{font-size:19px}#game .game-room-picker .section-title h1:before{background:var(--mint)}#game:not(.has-active-room) .game-chat,#game:not(.has-active-room) .bet-panel{display:none}#game.has-active-room .game-room-picker{display:none}@media(max-width:480px){#game .game-room-picker{margin-top:12px;padding:15px;border-radius:16px}#game .game-room-picker .section-title{margin-bottom:12px}}

/* Before a room is selected, keep the entry card and its input bar together
   at the bottom of the phone canvas instead of leaving an empty lower panel. */
#game:not(.has-active-room){display:flex;min-height:calc(100dvh - 92px);padding-bottom:0;flex-direction:column}
#game:not(.has-active-room) .game-room-picker{margin-top:auto}
#game .game-room-picker #gameRulesButton{display:none!important}
#game:not(.has-active-room) .game-chat>.system{display:none!important}
#game .room-head>strong{display:flex;align-items:center;gap:4px;padding:6px 8px;border:1px solid #b68b46;border-radius:9px;background:linear-gradient(145deg,#3a2b19,#241d14);color:#ffd98a;font-size:16px;line-height:1;box-shadow:0 0 0 1px #f0bd6333,0 5px 14px #0008}#game .room-head>strong:before{content:"\5c01\76d8";padding:3px 4px;border-radius:5px;background:#6f5129;color:#fff0c6;font-size:10px;letter-spacing:.04em}
#game:not(.has-active-room){position:relative}#game:not(.has-active-room) .game-chat{position:absolute;z-index:0;top:92px;right:0;bottom:48px;left:0;display:block;min-height:0;margin:0;padding:10px 14px;overflow:hidden;border:0;border-radius:0;background:linear-gradient(180deg,#07100f 0%,#0b191600 100%)}#game:not(.has-active-room) .game-chat>.system{display:none}#game:not(.has-active-room) .room-preview-heading{display:block;margin:0 0 10px;color:#85ad9f;font-size:11px;letter-spacing:.08em}#game:not(.has-active-room) .game-room-picker{position:relative;z-index:1;background:linear-gradient(180deg,#10261f88 0%,#0d1d19e8 22%,#091411 100%)}
#game:not(.has-active-room) .game-room-picker{margin-bottom:0}

/* Compact persistent navigation: 46px controls plus 16px padding became a
   visually dominant 62px bar.  This reduces the bar by roughly one quarter. */
.bottom-nav{padding:5px 10px calc(5px + env(safe-area-inset-bottom))}.bottom-nav button{min-height:35px;font-size:15px}.bottom-nav span{font-size:8px}.app{padding-bottom:76px}@media(max-width:480px){.bottom-nav{padding-inline:7px}.bottom-nav button{min-height:35px;font-size:14px}.bottom-nav span{font-size:8px}.hub-view{padding-bottom:72px}}

/* Keep the supplied static tiger artwork balanced inside the carousel. */
.tiger-walk-poster-frame img{transform:scale(.8);transform-origin:center}

/* Use a platform-neutral sans treatment for carousel text. The former
   STKaiti/KaiTi stack rendered as serif on Android and as a calligraphic font
   on desktop, making the same slide look different across devices. */
.promotion-copy strong,
.promotion-copy small,
.promotion-copy span,
.promotion-enter{font-family:Arial,"Helvetica Neue",sans-serif!important;font-synthesis:none}

/* Bundle one open Chinese brush font so desktop and Android render the same
   calligraphic treatment instead of relying on different system fallbacks. */
@font-face{font-family:"Tiger Calligraphy";src:url("assets/ma-shan-zheng.ttf") format("truetype");font-style:normal;font-weight:400 900;font-display:swap}
.promotion-copy strong,
.game-catalog-copy strong,
.promotion-art b,
.promotion-art em,
.promotion-redpacket span,
.game-catalog-badge{font-family:"Tiger Calligraphy",serif!important;font-synthesis:none}

/* PC28 contains narrow Latin glyphs. Match its visual title length to the
   six-character titles on the other slides without changing height or baseline. */
.promotion-title-pc28{justify-self:start;width:max-content;max-width:none;overflow:visible!important;text-overflow:clip!important;transform:scaleX(1.2952);transform-origin:left center}

/* First-slide gold coin shower. It stays behind the copy and tiger artwork. */
.promotion-coin-shower{position:absolute;z-index:0;inset:0;overflow:hidden;pointer-events:none}
.promotion-coin-shower i{position:absolute;left:var(--coin-left);top:-18px;display:block;width:15px;height:15px;border:2px solid #ffe59a;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff4b8 0 12%,#f5c34f 35%,#bd7b18 100%);box-shadow:0 0 10px #f9c957aa,0 4px 9px #0008;opacity:0;transform:rotate(var(--coin-turn));animation:promotion-coin-fall var(--coin-duration) linear var(--coin-delay) infinite}
.promotion-coin-shower i::after{position:absolute;inset:2px;content:"¥";color:#9a5b0c;font-family:Arial,sans-serif;font-size:8px;font-style:normal;font-weight:900;line-height:9px;text-align:center}
@keyframes promotion-coin-fall{0%{opacity:0;transform:translate3d(0,-12px,0) rotate(var(--coin-turn)) scale(.7)}10%{opacity:.95}78%{opacity:.8}100%{opacity:0;transform:translate3d(-28px,170px,0) rotate(calc(var(--coin-turn) + 360deg)) scale(1.05)}}
@media(max-width:480px){.promotion-coin-shower i{width:13px;height:13px}.promotion-coin-shower i::after{inset:1px;font-size:7px;line-height:9px}}
@media(prefers-reduced-motion:reduce){.promotion-coin-shower{display:none}}


/* The second tab is a dedicated, vertically ordered game library. */
#games .game-hub-grid{grid-template-columns:1fr;gap:9px}#games .game-hub-grid .hub-card,#games .game-hub-grid .hub-card-primary{grid-column:auto;min-height:74px;padding:12px 14px;border-radius:16px}#games .game-hub-grid .hub-card-primary{border-color:#3d7562;background:linear-gradient(110deg,#133c30,#0a1713)}#games .game-hub-grid .hub-card strong{font-size:15px}#games .game-hub-grid .hub-card small{font-size:11px}@media(max-width:480px){#games .game-hub-grid{gap:8px}#games .game-hub-grid .hub-card,#games .game-hub-grid .hub-card-primary{min-height:68px;padding:10px 12px}#games .game-hub-grid .hub-card strong{font-size:14px}#games .game-hub-grid .hub-card small{font-size:10px}}

/* Top-level navigation is a parallel page stack, not an appended home feed. */
.app{position:relative;overflow-x:clip}.view.active.page-enter-from-right{animation:player-page-in-right .28s cubic-bezier(.2,.75,.25,1) both}.view.active.page-enter-from-left{animation:player-page-in-left .28s cubic-bezier(.2,.75,.25,1) both}@keyframes player-page-in-right{from{opacity:.35;transform:translate3d(34px,0,0)}to{opacity:1;transform:translate3d(0,0,0)}}@keyframes player-page-in-left{from{opacity:.35;transform:translate3d(-34px,0,0)}to{opacity:1;transform:translate3d(0,0,0)}}@media(prefers-reduced-motion:reduce){.view.active.page-enter-from-right,.view.active.page-enter-from-left{animation:none}}

/* #lobby owns a grid declaration for its home layout.  Make the active-view
   state more specific so that it cannot remain visible below another page. */
#lobby.view:not(.active){display:none}#lobby.view.active{display:grid}

/* Hub pages define their own grid layout.  Keep every inactive top-level
   view out of the document flow, regardless of those later layout rules. */
.view:not(.active){display:none!important}

/* Dedicated game catalogue: an original Tiger treatment of the reference's
   independent game-gallery page, with no lobby content underneath. */
.game-catalog-page{gap:14px;padding-top:3px}.game-catalog-head{display:flex;align-items:end;justify-content:space-between;gap:16px;padding:9px 4px 3px}.game-catalog-head span{display:block;color:#e8c66f;font-size:10px;font-weight:800;letter-spacing:.16em}.game-catalog-head h1{margin:3px 0 0;color:#f6eee0;font-size:26px;letter-spacing:-.05em}.game-catalog-head p{max-width:142px;margin:0;color:#a89b7f;font-size:11px;line-height:1.5;text-align:right}.game-catalog{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.game-catalog-card{position:relative;isolation:isolate;display:grid;align-content:end;min-width:0;min-height:164px;padding:14px;overflow:hidden;border:1px solid #a9873f70;border-radius:18px;background:#10100d;text-align:left;box-shadow:inset 0 1px #ffe8ab15,0 12px 22px #0006;transition:transform .18s ease,filter .18s ease}.game-catalog-card::before{position:absolute;z-index:-1;inset:0;content:"";background:linear-gradient(20deg,#060705e8 6%,#0b0c0978 54%,#0b0b0804 100%)}.game-catalog-card::after{position:absolute;z-index:-1;right:-26px;top:-30px;width:125px;height:125px;content:"";border:1px solid #f0cb7654;border-radius:50%;box-shadow:0 0 0 17px #e8bd5e0a,0 0 0 34px #e8bd5e08}.game-catalog-card.is-featured{grid-column:1/-1;min-height:164px;padding:18px}.game-catalog-card.is-dubai{background:url("assets/tiger-gold-walking-wide.png") 83% center/auto 104% no-repeat,#0d0c09}.game-catalog-card.is-canada{background:url("assets/tiger-guardian-home.png") 88% 42%/auto 146% no-repeat,#0d0c09}.game-catalog-card.is-dragon{border-color:#b14c3d8c;background:radial-gradient(circle at 78% 21%,#e5432e80,transparent 27%),linear-gradient(135deg,#4a1110,#150c0c)}.game-catalog-card.is-mines{border-color:#b86b3f8c;background:radial-gradient(circle at 82% 15%,#e6a4496b,transparent 25%),linear-gradient(135deg,#3c2010,#160e0b)}.game-catalog-card.is-poker{background:linear-gradient(90deg,#080907ef 0%,#08090799 56%,#08090710 100%),url("assets/poker-suits-gold-clean.png") 90% center/150px auto no-repeat,#0a0a08}.game-catalog-copy{position:relative;z-index:1;display:grid;gap:4px;min-width:0}.game-catalog-copy small{color:#e8c66f;font-size:9px;font-weight:800;letter-spacing:.1em}.game-catalog-copy strong{overflow:hidden;color:#fff5dd;font-family:"STKaiti","KaiTi","FZKai-Z03",serif;font-size:23px;letter-spacing:.04em;text-overflow:ellipsis;white-space:nowrap}.game-catalog-copy em{overflow:hidden;color:#decda9;font-size:11px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.game-catalog-badge{position:absolute;right:15px;bottom:14px;color:#f6d77f;font-family:"STKaiti","KaiTi",serif;font-size:42px;font-weight:800;line-height:1;text-shadow:0 4px 15px #000a}.is-dragon .game-catalog-badge{color:#ffd07a}.is-mines .game-catalog-badge{color:#f6bb70}.is-poker .game-catalog-badge{font-family:Georgia,serif}.game-catalog-card:active{transform:scale(.982);filter:brightness(1.12)}.game-catalog-card:focus-visible{outline:2px solid #f4d179;outline-offset:2px}@media(max-width:480px){.game-catalog-page{gap:12px;padding-top:1px}.game-catalog-head{padding:6px 3px 2px}.game-catalog-head h1{font-size:24px}.game-catalog-head p{font-size:10px}.game-catalog{gap:8px}.game-catalog-card{min-height:142px;padding:12px;border-radius:16px}.game-catalog-card.is-featured{min-height:150px;padding:15px}.game-catalog-copy strong{font-size:20px}.game-catalog-copy em{font-size:10px}.game-catalog-badge{right:12px;bottom:11px;font-size:37px}.game-catalog-card.is-poker{background-size:132px auto}}

/* PC28 cards keep their full width while using a compact 75% vertical size. */
.game-catalog-card.is-featured{width:auto;min-height:108px;justify-self:stretch}@media(max-width:480px){.game-catalog-card.is-featured{min-height:99px;padding:12px}}

/* All games use the same full-width catalogue row, rather than a mixed grid. */
.game-catalog-card.is-dragon,.game-catalog-card.is-mines,.game-catalog-card.is-poker{grid-column:1/-1;min-height:108px;padding:15px 18px}@media(max-width:480px){.game-catalog-card.is-dragon,.game-catalog-card.is-mines,.game-catalog-card.is-poker{min-height:99px;padding:12px}}

/* Compact entry affordance for the game panel. The arrow stays separate from
   the large game mark so the card reads as a clear, tappable destination. */
.game-catalog-card{cursor:pointer}
.game-catalog-arrow{position:absolute;right:12px;top:12px;display:grid;place-items:center;width:23px;height:23px;border:1px solid #f0ce8060;border-radius:50%;background:#07080666;color:#f7d98a;font-family:Arial,sans-serif;font-size:20px;font-weight:300;line-height:1;opacity:.9;transition:transform .18s ease,background .18s ease}
.game-catalog-card.is-featured .game-catalog-arrow{right:14px;top:14px}
.game-catalog-card:active .game-catalog-arrow,.game-catalog-card:focus-visible .game-catalog-arrow{transform:translateX(2px);background:#8b68283d}
.game-catalog-card.is-dragon .game-catalog-arrow{border-color:#ffb08980;color:#ffd0a0}
.game-catalog-card.is-mines .game-catalog-arrow{border-color:#f1bd786e;color:#ffe0a5}
@media(max-width:480px){.game-catalog-arrow{right:10px;top:10px;width:21px;height:21px;font-size:18px}.game-catalog-card.is-featured .game-catalog-arrow{right:11px;top:11px}}

/* Keep the poker suit in a gold text glyph on Android instead of an emoji
   fallback that can render as a grey monochrome icon. */
.is-poker .game-catalog-badge{font-variant-emoji:text;color:#f6d77f!important;-webkit-text-fill-color:#f6d77f;text-shadow:0 2px 0 #8b6320,0 4px 15px #000a}
.is-poker .poker-suit-mark{display:block;width:50px;height:50px;fill:#f6d77f;filter:drop-shadow(0 2px 0 #8b6320) drop-shadow(0 4px 8px #000a);transform:translateY(-3px)}
@media(max-width:480px){.is-poker .poker-suit-mark{width:44px;height:44px}}

/* Wallet and profile use a single phone-scale rhythm at every depth.  The
   visible navigation stays compact, while every finger target is at least 42px. */
@media(max-width:480px){
  .hub-view{gap:14px;padding-bottom:84px}
  .subpage-head h1{font-size:24px}
  .subpage-head p{font-size:13px;line-height:1.55}
  .wallet-hero{padding:19px 17px}
  .wallet-hero span,.wallet-hero small{font-size:12px}
  .wallet-hero strong{font-size:34px}
  .hub-list{gap:9px}
  .hub-list button{min-height:68px;padding:12px 13px}
  .hub-list strong{font-size:15px}
  .hub-list small{font-size:12px;line-height:1.4}
  .profile-hero{grid-template-columns:48px minmax(0,1fr) auto;padding:14px}
  .profile-hero strong{font-size:16px}
  .profile-hero small{font-size:12px}
  .profile-hero button{min-height:44px;padding:8px 12px;font-size:14px}
  .inline-detail-page{gap:14px;padding-bottom:88px}
  .inline-detail-page>section,.inline-detail-page>form{gap:13px;padding:17px!important}
  .inline-detail-page h2{font-size:20px!important}
  .inline-detail-page h3{font-size:16px!important}
  .inline-detail-page p,.inline-detail-page label{font-size:14px;line-height:1.55}
  .inline-detail-page small{font-size:12px!important}
  .inline-detail-page button,.inline-detail-back{min-height:44px!important;font-size:14px!important}
  body:not(.admin-site) dialog button{min-height:44px!important;font-size:14px!important}
  .bottom-nav{padding:6px 7px calc(6px + env(safe-area-inset-bottom))}
  .bottom-nav button{min-height:42px;font-size:16px}
  .bottom-nav span{font-size:10px}
  .app{padding-bottom:84px}
}
@media(max-width:360px){
  .inline-detail-page button,.inline-detail-back,body:not(.admin-site) dialog button{min-height:42px!important;font-size:13px!important}
  .bottom-nav span{font-size:9px}
}

/* Every promotion shares the same black-and-gold national-style art direction. */
.promotion-slide.is-ink-gold,.promotion-slide.is-ink-ember{background:linear-gradient(90deg,#070806bd 0%,#07080672 58%,#07080618 100%),url("assets/tiger-ink-gold-banner.png") center/cover}.promotion-slide.is-ink-gold{background-position:center,58% center}.promotion-slide.is-ink-ember{background-position:center,82% center}.promotion-slide.is-ink-gold:before,.promotion-slide.is-ink-ember:before{border-color:#e5bf6355;box-shadow:0 0 0 24px #e5bf630b,0 0 0 48px #e5bf6307}.promotion-slide.is-ink-gold:after,.promotion-slide.is-ink-ember:after{background:linear-gradient(120deg,transparent,#e7bd5d18)}.is-ink-gold .promotion-copy small,.is-ink-ember .promotion-copy small{color:#eacb82;letter-spacing:.05em}.is-ink-gold .promotion-copy strong,.is-ink-ember .promotion-copy strong{color:#f6eee0;font-family:"STKaiti","KaiTi","FZKai-Z03",serif;font-size:28px;font-weight:700;letter-spacing:.04em;text-shadow:0 2px 14px #000}.is-ink-gold .promotion-copy span,.is-ink-ember .promotion-copy span{color:#decda9}.is-ink-gold .promotion-art i,.is-ink-ember .promotion-art i{border-color:#eac36c88;background:linear-gradient(135deg,#e8c56d2c,#08070320)}.is-ink-gold .promotion-art b,.is-ink-gold .promotion-art em,.is-ink-ember .promotion-art b,.is-ink-ember .promotion-art em{color:#f3d68e}.is-ink-gold .promotion-enter,.is-ink-ember .promotion-enter{border-color:#dfbd6e8a;background:#171108a8;color:#f3d996}@media(max-width:480px){.is-ink-gold .promotion-copy strong,.is-ink-ember .promotion-copy strong{font-size:25px}}

/* Chat conversations use the entire player surface, with the global tab bar
   intentionally left in place.  This mirrors a native messenger rather than
   presenting support as a small modal. */
#chat.is-detail-page{min-height:calc(100dvh - 84px);padding:0;background:#07100f}
#chat.is-detail-page .inline-detail-page{display:block;min-height:calc(100dvh - 84px);height:calc(100dvh - 84px);padding:0!important;overflow:hidden}
#chat.is-detail-page .inline-detail-back{position:absolute;z-index:4;top:8px;left:8px;min-height:46px!important;padding:8px 10px!important;border:0!important;border-radius:10px!important;background:transparent!important;color:#e8f1ed!important;box-shadow:none!important;font-size:14px!important}
#chat.is-detail-page .inline-detail-page>section{display:grid!important;grid-template-rows:62px auto auto minmax(0,1fr) auto;gap:0!important;width:100%!important;max-width:none!important;min-height:100%;height:100%;padding:0!important;border:0!important;border-radius:0!important;background:#07100f!important;overflow:hidden!important}
#chat.is-detail-page .inline-detail-page>section>h2{display:flex;align-items:center;justify-content:center;min-height:62px;margin:0!important;padding:0 64px!important;color:#f0f6f3;font-size:17px!important;font-weight:700;letter-spacing:0;text-align:center}
#chat.is-detail-page .inline-detail-page>section>small{margin:0!important;padding:8px 14px!important;border-top:1px solid #1b2b27;border-bottom:1px solid #1b2b27;background:#0b1714;color:#94a9a1!important;font-size:11px!important;line-height:1.45!important;text-align:center}
#chat.is-detail-page .inline-detail-page>section>p{min-height:26px;margin:0!important;padding:7px 14px!important;background:#081310;color:#80968e!important;font-size:11px!important;line-height:1.2!important;text-align:center}
#chat.is-detail-page .inline-detail-page>section>[style*="max-height:46dvh"]{display:flex!important;flex-direction:column;align-items:stretch;gap:10px!important;min-height:0!important;max-height:none!important;padding:12px 14px!important;overflow-y:auto!important;overscroll-behavior:contain;background:#07100f}
#chat.is-detail-page .inline-detail-page>section>[style*="max-height:46dvh"] article{align-self:flex-start;max-width:78%;margin:0!important;padding:9px 11px!important;border-radius:5px 14px 14px 14px!important;background:#16231f!important;color:#edf5f1!important;font-size:14px!important;line-height:1.45;box-shadow:0 1px 0 #ffffff0d}
#chat.is-detail-page .inline-detail-page>section>[style*="max-height:46dvh"] article[style*="margin-left"]{align-self:flex-end;border-radius:14px 5px 14px 14px!important;background:#216a4f!important}
#chat.is-detail-page .inline-detail-page>section>[style*="max-height:46dvh"] article small{display:block;margin-top:4px!important;padding:0!important;border:0!important;background:transparent!important;color:#bfd1ca!important;font-size:10px!important;text-align:inherit}
#chat.is-detail-page .inline-detail-page>section>form[style*="display:flex"]{display:flex!important;flex:0 0 auto;flex-wrap:nowrap!important;align-items:center!important;gap:8px!important;margin:0!important;padding:6px 12px calc(6px + env(safe-area-inset-bottom))!important;border-top:1px solid #20312e!important;border-radius:0!important;background:#0b1513!important;overflow:visible!important}
#chat.is-detail-page .inline-detail-page>section>form[style*="display:flex"] input{flex:1 1 auto!important;min-width:0!important;min-height:36px!important;padding:6px 12px!important;border:1px solid #49635a!important;border-radius:7px!important;background:#14211d!important;color:#eff8f4!important;font-size:15px!important;line-height:1.2!important}
#chat.is-detail-page .inline-detail-page>section>form[style*="display:flex"] button{flex:0 0 auto!important;min-width:52px!important;min-height:36px!important;padding:5px 8px!important;border:0!important;border-radius:7px!important;background:#6b5230!important;color:#fff0c6!important;font-size:14px!important;font-weight:750!important;line-height:1!important;white-space:nowrap!important}
#chat.is-detail-page .inline-detail-page>section>button:last-child{display:none!important}
@media(max-width:360px){#chat.is-detail-page .inline-detail-page>section>h2{font-size:16px!important}#chat.is-detail-page .inline-detail-page>section>[style*="max-height:46dvh"]{padding-inline:10px!important}#chat.is-detail-page .inline-detail-page>section>[style*="max-height:46dvh"] article{max-width:83%;font-size:13px!important}}

/* Shared player-chat composer: used by room group chat, private chat and
   support chat. The editable field stays at 36px and the whole editing bar
   stays close to WeChat's compact 48px rhythm. */
#game .chat-composer{display:grid!important;grid-template-columns:minmax(0,1fr) 52px!important;align-items:center!important;gap:8px!important;margin:0!important;padding:6px 12px!important;border-top:1px solid #20312e!important;background:#0b1513!important}#game .chat-composer input{width:100%!important;min-height:36px!important;padding:6px 12px!important;border:1px solid #49635a!important;border-radius:7px!important;background:#14211d!important;color:#eff8f4!important;font-size:15px!important;line-height:1.2!important}#game .chat-composer button{min-width:52px!important;min-height:36px!important;margin:0!important;padding:5px 8px!important;border:0!important;border-radius:7px!important;background:#6b5230!important;color:#fff0c6!important;font-size:14px!important;font-weight:750!important;line-height:1!important;white-space:nowrap!important}

/* Friends is a contact-management page, not a conversation. Keep the same
   compact title bar, then use a searchable form and an independently scrolling
   contact list so it behaves like the contact tools in WeChat. */
#chat.is-detail-page .inline-detail-page>section.wx-friends-detail{display:flex!important;flex-direction:column;gap:10px!important;padding:12px 14px 14px!important;background:#07100f!important}#chat.is-detail-page .inline-detail-page>section.wx-friends-detail>h2{flex:0 0 50px;justify-content:center;min-height:50px;padding:0 60px!important;border-bottom:1px solid #1d2c28;background:#0b1513;font-size:17px!important}#chat.is-detail-page .wx-friends-detail>form{display:flex!important;flex:0 0 auto;flex-wrap:nowrap!important;gap:8px!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important}#chat.is-detail-page .wx-friends-detail>form input{flex:1 1 0!important;min-width:0!important;min-height:36px!important;padding:6px 10px!important;border-radius:8px!important;background:#0d1a17!important;font-size:14px!important}#chat.is-detail-page .wx-friends-detail>form button{flex:0 0 auto!important;width:auto!important;min-width:68px!important;min-height:36px!important;margin:0!important;padding:5px 8px!important;border-radius:8px!important;background:#6b5230!important;color:#fff0c6!important;font-size:13px!important;line-height:1!important;white-space:nowrap!important}#chat.is-detail-page .wx-friends-detail>p{flex:0 0 auto;min-height:auto;margin:0!important;padding:2px 2px 5px!important;border:0!important;background:transparent!important;text-align:left}#chat.is-detail-page .wx-friends-detail>[style*="max-height:50dvh"]{flex:1 1 auto;display:grid!important;gap:0!important;max-height:none!important;padding:0!important;border-top:1px solid #1d2c28;border-bottom:1px solid #1d2c28;background:#0b1513!important}#chat.is-detail-page .wx-friends-detail>[style*="max-height:50dvh"] article{max-width:none!important;margin:0!important;padding:12px 2px!important;border-bottom:1px solid #1d2c28!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;font-size:14px!important}#chat.is-detail-page .wx-friends-detail>[style*="max-height:50dvh"] article:last-child{border-bottom:0!important}#chat.is-detail-page .wx-friends-detail>button:not(:last-child){flex:0 0 auto;align-self:flex-start;min-height:34px!important;padding:5px 8px!important;color:#d9b45d!important;font-size:12px!important}

/* The public player ID is actionable but kept visually secondary to the nickname. */
.profile-id-row{display:flex;align-items:center;gap:7px;min-width:0;margin-top:4px}.profile-hero .profile-id-row small{min-width:0;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-hero .profile-id-row button{flex:0 0 auto;min-height:26px;padding:4px 7px;border-color:#805f2c;background:#171109;color:#efd286;font-size:10px;line-height:1}.profile-hero .profile-id-row button:active{transform:scale(.96);filter:brightness(1.15)}

/* Chat and My follow WeChat's phone rhythm: a 56px title bar, 72px message
   rows, 15px primary text and 12px secondary text. Tiger keeps the dark-gold
   palette while the information architecture stays familiar to chat users. */
.wx-hub{gap:0;padding:0 0 84px;background:#07100f}.wx-page-head{display:grid;grid-template-columns:52px 1fr 52px;align-items:center;min-height:56px;padding:0 8px;border-bottom:1px solid #1d2c28;background:#0b1513}.wx-page-head h1{grid-column:2;margin:0;color:#f1f5f2;font-size:17px;font-weight:700;letter-spacing:0;text-align:center}.wx-page-head button{grid-column:3;justify-self:end;min-width:42px;min-height:42px;padding:0;color:#d9b45d;font-size:12px;font-weight:650}.wx-conversation-list,.wx-profile-hub>.hub-list{gap:0;background:#0b1513}.wx-conversation-list{margin-top:8px;border-top:1px solid #1d2c28;border-bottom:1px solid #1d2c28}.wx-hub .hub-list button{grid-template-columns:48px minmax(0,1fr) 20px;gap:12px;min-height:72px;padding:11px 16px;border:0;border-bottom:1px solid #1d2c28;border-radius:0;background:#0b1513;box-shadow:none}.wx-hub .hub-list button:last-child{border-bottom:0}.wx-hub .hub-list button>span{width:48px;height:48px;border-radius:11px;background:#18372d;color:#f0c968;font-size:19px}.wx-chat-hub .hub-list button:first-child>span{background:#6c4430;color:#ffe4a3}.wx-hub .hub-list strong{font-size:15px;font-weight:650;letter-spacing:0}.wx-hub .hub-list small{margin-top:4px;color:#829790;font-size:12px;line-height:1.35}.wx-hub .hub-list b{color:#71867f;font-size:21px}.wx-hub .hub-list button:active{transform:none;filter:none;background:#13231f}.wx-profile-hub .profile-hero{grid-template-columns:58px minmax(0,1fr) auto;gap:12px;min-height:82px;margin:0;padding:12px 16px;border:0;border-bottom:1px solid #1d2c28;border-radius:0;background:#0b1513;box-shadow:none}.wx-profile-hub .profile-avatar{width:58px;height:58px;border-radius:12px;background:#214b3b;color:#f5d276;font-size:22px}.wx-profile-hub .profile-hero strong{font-size:17px;font-weight:700}.wx-profile-hub .profile-hero small{font-size:12px}.wx-profile-hub .profile-hero button{min-height:42px;border-color:#8b6c35;border-radius:8px;background:#1b160d;color:#f3d78f;font-size:13px}.wx-profile-hub .wallet-hero{display:grid;grid-template-columns:1fr auto;gap:2px;margin:8px 0 0;padding:15px 16px;border:0;border-radius:0;background:#0b1513;box-shadow:none}.wx-profile-hub .wallet-hero span{font-size:15px;color:#eef4f1}.wx-profile-hub .wallet-hero strong{grid-column:1;font-size:28px;color:#e7c46f}.wx-profile-hub .wallet-hero small{grid-column:1;color:#829790;font-size:12px}.wx-profile-hub .wallet-hero::after{grid-column:2;grid-row:1 / span 3;align-self:center;content:'›';color:#71867f;font-size:24px}.wx-group-label{margin:0;padding:18px 16px 7px;color:#829790;font-size:12px;line-height:1}.wx-profile-hub>.hub-list{border-top:1px solid #1d2c28;border-bottom:1px solid #1d2c28}.wx-profile-hub>.hub-list+.wx-group-label{margin-top:0}

/* Profile, wallet and account settings are full second-level pages rather than
   floating panels. The header stays fixed in the page flow and all controls
   retain a 44px minimum target on compact devices. */
#profile.is-detail-page{min-height:calc(100dvh - 84px);padding:0;background:#07100f}.inline-detail-page--profile{min-height:calc(100dvh - 84px);padding:0;background:#07100f}.detail-native-head{display:grid;grid-template-columns:52px minmax(0,1fr) 52px;align-items:center;min-height:56px;border-bottom:1px solid #1d2c28;background:#0b1513}.detail-native-head h1{margin:0;overflow:hidden;color:#f1f5f2;font-size:17px;font-weight:700;text-align:center;text-overflow:ellipsis;white-space:nowrap}.detail-native-head>span{width:52px}.detail-native-head .inline-detail-back{width:52px;min-height:52px!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;color:#e8c66f!important;font-size:0!important}.detail-native-head .inline-detail-back::before{content:'‹';font-size:29px;font-weight:300;line-height:1}.inline-detail-page--profile>section,.inline-detail-page--profile>form{gap:14px;max-width:none;min-height:calc(100dvh - 140px);padding:16px 16px 92px!important;border:0!important;border-radius:0!important;background:#07100f!important}.inline-detail-page--profile>section>h2,.inline-detail-page--profile>form>h2{display:none!important}.inline-detail-page--profile input,.inline-detail-page--profile select,.inline-detail-page--profile textarea{border-color:#29433a!important;background:#0d1a17!important}.inline-detail-page--profile button.confirm,.inline-detail-page--profile button[type="submit"]{border:0!important;background:#6b5230!important;color:#fff0c6!important;font-weight:750}.inline-detail-page--profile [style*="max-height"]{max-height:calc(100dvh - 210px)!important}.inline-detail-page--profile [style*="border:1px"]{border-color:#284139!important;background:#0b1714!important}

@media(min-width:481px){.wx-hub{max-width:640px;margin:auto}.wx-page-head{border-radius:14px 14px 0 0}.wx-profile-hub .profile-hero,.wx-conversation-list,.wx-profile-hub>.hub-list{border-inline:1px solid #1d2c28}.inline-detail-page--profile{max-width:640px;margin:auto}}

/* WeChat-style composer anatomy, shared by every player text conversation.
   Media controls are real entry points but remain visibly unavailable until
   their server APIs are delivered; emoji choices insert ordinary text. */
.wx-chat-composer{position:relative!important;display:grid!important;grid-template-columns:36px minmax(0,1fr) 36px 52px!important;align-items:center!important;gap:7px!important;margin:0!important;padding:6px 10px!important;border-top:1px solid #20312e!important;border-radius:0!important;background:#0b1513!important;overflow:visible!important}.chat-input-wrap{position:relative;min-width:0}.wx-chat-composer .wx-chat-input{width:100%!important;min-height:36px!important;margin:0!important;padding:6px 38px!important;border:1px solid #49635a!important;border-radius:7px!important;background:#14211d!important;color:#eff8f4!important;font-size:15px!important;line-height:1.2!important}.chat-voice-control,.chat-plus-control,.chat-emoji-control{display:grid!important;place-items:center!important;width:36px!important;min-width:36px!important;height:36px!important;min-height:36px!important;margin:0!important;padding:0!important;border:0!important;border-radius:7px!important;background:transparent!important;color:#b8c8c2!important;font-size:11px!important;line-height:1!important}.chat-emoji-control{position:absolute;z-index:1;top:0;left:0;color:#d9b45d!important;font-size:17px!important;transition:opacity .12s ease,visibility .12s ease}.chat-input-wrap.is-input-focused .chat-emoji-control{opacity:0!important;visibility:hidden!important;pointer-events:none!important}.chat-plus-control{font-size:27px!important;font-weight:300!important}.chat-voice-control:active,.chat-plus-control:active,.chat-emoji-control:active{background:#1a2925!important;color:#f0c968!important}.wx-chat-composer .chat-send-control{display:grid!important;place-items:center!important;width:52px!important;min-width:52px!important;height:36px!important;min-height:36px!important;margin:0!important;padding:5px 6px!important;border:0!important;border-radius:7px!important;background:#6b5230!important;color:#fff0c6!important;font-size:14px!important;font-weight:750!important;line-height:1!important;white-space:nowrap!important}.chat-emoji-panel,.chat-plus-panel{position:absolute;z-index:8;right:8px;bottom:48px;width:min(260px,calc(100vw - 32px));padding:10px;border:1px solid #355148;border-radius:12px;background:#10201c;box-shadow:0 12px 32px #0009}.chat-emoji-panel{display:grid;grid-template-columns:repeat(6,1fr);gap:4px}.chat-plus-panel{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.chat-emoji-panel[hidden],.chat-plus-panel[hidden]{display:none!important}.chat-emoji-option{min-height:34px!important;padding:0!important;border-radius:7px!important;background:transparent!important;font-size:20px!important}.chat-plus-option{min-height:58px!important;padding:7px 3px!important;border:1px solid #2c463e!important;border-radius:8px!important;background:#152822!important;color:#d9e7e2!important;font-size:11px!important;line-height:1.25!important;white-space:normal!important}.chat-emoji-option:active,.chat-plus-option:active{transform:scale(.96);background:#203830!important}
#chat.is-detail-page .inline-detail-page>section>form.wx-chat-composer{display:grid!important;grid-template-columns:36px minmax(0,1fr) 36px 52px!important;gap:7px!important;padding:6px 10px calc(6px + env(safe-area-inset-bottom))!important}#chat.is-detail-page .inline-detail-page>section>form.wx-chat-composer .chat-voice-control,#chat.is-detail-page .inline-detail-page>section>form.wx-chat-composer .chat-plus-control,#chat.is-detail-page .inline-detail-page>section>form.wx-chat-composer .chat-emoji-control{width:36px!important;min-width:36px!important;min-height:36px!important;padding:0!important;border:0!important;background:transparent!important;color:#b8c8c2!important}#chat.is-detail-page .inline-detail-page>section>form.wx-chat-composer .chat-emoji-control{color:#d9b45d!important;font-size:17px!important}#chat.is-detail-page .inline-detail-page>section>form.wx-chat-composer .wx-chat-input{min-width:0!important;min-height:36px!important;padding:6px 38px!important;border-radius:7px!important}#chat.is-detail-page .inline-detail-page>section>form.wx-chat-composer .chat-send-control{min-width:52px!important;min-height:36px!important;padding:5px 6px!important;border-radius:7px!important}#game .chat-composer.wx-chat-composer{grid-template-columns:36px minmax(0,1fr) 36px 52px!important;padding:6px 10px!important}#game .chat-composer.wx-chat-composer .chat-voice-control,#game .chat-composer.wx-chat-composer .chat-plus-control,#game .chat-composer.wx-chat-composer .chat-emoji-control{width:36px!important;min-width:36px!important;min-height:36px!important;padding:0!important;border:0!important;background:transparent!important;color:#b8c8c2!important}#game .chat-composer.wx-chat-composer .chat-emoji-control{color:#d9b45d!important;font-size:17px!important}#game .chat-composer.wx-chat-composer .wx-chat-input{min-height:36px!important;padding:6px 38px!important}#game .chat-composer.wx-chat-composer .chat-send-control{min-width:52px!important;min-height:36px!important;padding:5px 6px!important}

/* Tight mobile rhythm: the previous 36px controls sat inside an overly tall
   editing strip. Keep the entire bar at 44px, close to WeChat's compact row. */
.wx-chat-composer{grid-template-columns:32px minmax(0,1fr) 32px 46px!important;gap:5px!important;height:44px!important;min-height:44px!important;padding:6px 8px!important}.wx-chat-composer .wx-chat-input{min-height:32px!important;padding:5px 34px!important}.chat-voice-control,.chat-plus-control,.chat-emoji-control{width:32px!important;min-width:32px!important;height:32px!important;min-height:32px!important}.wx-chat-composer .chat-send-control{width:46px!important;min-width:46px!important;height:32px!important;min-height:32px!important;padding:4px!important;font-size:13px!important}.chat-emoji-panel,.chat-plus-panel{bottom:44px}.chat-emoji-control{font-size:16px!important}
#chat.is-detail-page .inline-detail-page>section>form.wx-chat-composer{grid-template-columns:32px minmax(0,1fr) 32px 46px!important;gap:5px!important;height:44px!important;min-height:44px!important;padding:6px 8px!important}#chat.is-detail-page .inline-detail-page>section>form.wx-chat-composer .chat-voice-control,#chat.is-detail-page .inline-detail-page>section>form.wx-chat-composer .chat-plus-control,#chat.is-detail-page .inline-detail-page>section>form.wx-chat-composer .chat-emoji-control{width:32px!important;min-width:32px!important;height:32px!important;min-height:32px!important}#chat.is-detail-page .inline-detail-page>section>form.wx-chat-composer .wx-chat-input{min-height:32px!important;padding:5px 34px!important}#chat.is-detail-page .inline-detail-page>section>form.wx-chat-composer .chat-send-control{width:46px!important;min-width:46px!important;min-height:32px!important;padding:4px!important;font-size:13px!important}#game .chat-composer.wx-chat-composer{grid-template-columns:32px minmax(0,1fr) 32px 46px!important;gap:5px!important;height:44px!important;min-height:44px!important;padding:6px 8px!important}#game .chat-composer.wx-chat-composer .chat-voice-control,#game .chat-composer.wx-chat-composer .chat-plus-control,#game .chat-composer.wx-chat-composer .chat-emoji-control{width:32px!important;min-width:32px!important;height:32px!important;min-height:32px!important}#game .chat-composer.wx-chat-composer .wx-chat-input{min-height:32px!important;padding:5px 34px!important}#game .chat-composer.wx-chat-composer .chat-send-control{width:46px!important;min-width:46px!important;min-height:32px!important;padding:4px!important;font-size:13px!important}

/* A single 36px rhythm for every field that accepts typed input.  Textareas
   start at that height but retain natural growth for real multi-line content. */
input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="range"]):not([type="file"]),select{height:36px!important;min-height:36px!important;padding:6px 10px!important;font-size:14px!important;line-height:1.2!important}
textarea,[contenteditable="true"]{min-height:36px!important;padding:7px 10px!important;font-size:14px!important;line-height:1.35!important}
.wx-chat-composer{height:44px!important;min-height:44px!important;padding:4px 8px!important}
.wx-chat-composer .wx-chat-input,#game .chat-composer input{height:36px!important;min-height:36px!important;padding:6px 34px!important}
.chat-voice-control,.chat-plus-control,.chat-emoji-control,.wx-chat-composer .chat-send-control,#game .chat-composer .chat-send-control{height:36px!important;min-height:36px!important}

/* Voice, emoji and more use the same SVG canvas, stroke and visual center. */
.wx-chat-composer,#chat.is-detail-page .inline-detail-page>section>form.wx-chat-composer,#game .chat-composer.wx-chat-composer{grid-template-columns:34px 34px minmax(0,1fr) 34px 46px!important;gap:6px!important}
.wx-chat-composer.is-input-focused,#chat.is-detail-page .inline-detail-page>section>form.wx-chat-composer.is-input-focused,#game .chat-composer.wx-chat-composer.is-input-focused{grid-template-columns:34px minmax(0,1fr) 34px 46px!important}
.wx-chat-composer .chat-voice-control,.wx-chat-composer .chat-emoji-control,.wx-chat-composer .chat-plus-control,#chat.is-detail-page .inline-detail-page>section>form.wx-chat-composer .chat-voice-control,#chat.is-detail-page .inline-detail-page>section>form.wx-chat-composer .chat-emoji-control,#chat.is-detail-page .inline-detail-page>section>form.wx-chat-composer .chat-plus-control,#game .chat-composer.wx-chat-composer .chat-voice-control,#game .chat-composer.wx-chat-composer .chat-emoji-control,#game .chat-composer.wx-chat-composer .chat-plus-control{width:34px!important;min-width:34px!important;height:36px!important;min-height:36px!important}
.wx-chat-composer .chat-emoji-control,#chat.is-detail-page .inline-detail-page>section>form.wx-chat-composer .chat-emoji-control,#game .chat-composer.wx-chat-composer .chat-emoji-control{position:static!important;inset:auto!important;transform:none!important}
.wx-chat-composer .chat-control-icon{display:block;width:22px;height:22px;overflow:visible;pointer-events:none}
.wx-chat-composer .chat-voice-control,.wx-chat-composer .chat-plus-control,.wx-chat-composer .chat-emoji-control{border:1px solid transparent!important;transition:color .14s ease,background-color .14s ease,border-color .14s ease,transform .12s ease,opacity .14s ease!important}
.wx-chat-composer .chat-voice-control:hover,.wx-chat-composer .chat-plus-control:hover,.wx-chat-composer .chat-emoji-control:hover{color:#d7e5df!important}
.wx-chat-composer .chat-voice-control:active,.wx-chat-composer .chat-plus-control:active,.wx-chat-composer .chat-emoji-control:active{border-color:#315449!important;background:#172a24!important;color:#55e6b1!important;transform:scale(.95)}
.wx-chat-composer .chat-plus-control[aria-expanded="true"],.wx-chat-composer .chat-emoji-control[aria-expanded="true"]{border-color:#55e6b1!important;background:#132820!important;color:#55e6b1!important}
.wx-chat-composer .chat-plus-control[aria-expanded="true"] .chat-control-icon{transform:rotate(45deg)}
.wx-chat-composer .chat-control-icon{transition:transform .16s ease}
.wx-chat-composer .chat-voice-control:disabled,.wx-chat-composer .chat-plus-control:disabled,.wx-chat-composer .chat-emoji-control:disabled{opacity:.35!important;filter:grayscale(1);pointer-events:none}
.wx-chat-composer.is-input-focused .chat-emoji-control{display:none!important}
.wx-chat-composer .wx-chat-input,#chat.is-detail-page .inline-detail-page>section>form.wx-chat-composer .wx-chat-input,#game .chat-composer.wx-chat-composer .wx-chat-input{padding:6px 10px!important}
.wx-chat-composer,#chat.is-detail-page .inline-detail-page>section>form.wx-chat-composer,#game .chat-composer.wx-chat-composer{grid-template-columns:40px 40px minmax(0,1fr) 40px 52px!important;min-height:52px!important;height:auto!important;padding:6px 8px!important}
.wx-chat-composer.is-input-focused,#chat.is-detail-page .inline-detail-page>section>form.wx-chat-composer.is-input-focused,#game .chat-composer.wx-chat-composer.is-input-focused{grid-template-columns:40px minmax(0,1fr) 40px 52px!important}
.wx-chat-composer .chat-voice-control,.wx-chat-composer .chat-emoji-control,.wx-chat-composer .chat-plus-control,#chat.is-detail-page .inline-detail-page>section>form.wx-chat-composer .chat-voice-control,#chat.is-detail-page .inline-detail-page>section>form.wx-chat-composer .chat-emoji-control,#chat.is-detail-page .inline-detail-page>section>form.wx-chat-composer .chat-plus-control,#game .chat-composer.wx-chat-composer .chat-voice-control,#game .chat-composer.wx-chat-composer .chat-emoji-control,#game .chat-composer.wx-chat-composer .chat-plus-control{width:40px!important;min-width:40px!important;height:40px!important;min-height:40px!important;border-radius:8px!important}
.wx-chat-composer .wx-chat-input,#chat.is-detail-page .inline-detail-page>section>form.wx-chat-composer .wx-chat-input,#game .chat-composer.wx-chat-composer .wx-chat-input,.wx-chat-composer .chat-send-control{min-height:40px!important;height:40px!important}
.chat-emoji-panel,.chat-plus-panel{bottom:52px!important}

/* Free Noto Emoji sticker picker: only one 20-item category is mounted at a
   time, while IntersectionObserver pauses animation outside the viewport. */
.chat-emoji-panel{display:block!important;right:8px!important;bottom:48px!important;width:min(326px,calc(100vw - 16px))!important;padding:8px!important;overflow:hidden!important}
.chat-emoji-panel[hidden]{display:none!important}
.chat-sticker-tabs{display:flex;gap:4px;overflow-x:auto;padding:0 0 7px;border-bottom:1px solid #29433a;scrollbar-width:none}.chat-sticker-tabs::-webkit-scrollbar{display:none}.chat-sticker-tabs button{flex:0 0 auto;min-width:48px;min-height:29px!important;padding:5px 9px!important;border-radius:7px!important;color:#91a69e!important;font-size:11px!important}.chat-sticker-tabs button.is-active{background:#5b4729!important;color:#ffe8aa!important}
.chat-sticker-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;max-height:216px;padding:7px 1px 2px;overflow-y:auto;overscroll-behavior:contain}.chat-sticker-grid .chat-emoji-option{display:grid!important;place-items:center!important;width:auto!important;min-width:0!important;height:49px!important;min-height:49px!important;padding:2px!important;border-radius:9px!important}.chat-sticker-grid .chat-emoji-option:active{background:#21342e!important}
.chat-sticker-credit{display:block;padding:5px 3px 0;color:#647871;font-size:9px;line-height:1;text-align:right}
.chat-sticker{display:inline-grid;place-items:center;contain:layout paint;vertical-align:middle}.chat-sticker-art{display:block;width:100%;height:100%;object-fit:contain;transform-origin:50% 58%;will-change:transform}.chat-sticker--option{width:42px;height:42px}.chat-sticker--message{width:82px;height:82px;margin:4px 2px}
.chat-sticker.is-visible.sticker-motion-bounce .chat-sticker-art{animation:sticker-bounce 1.35s ease-in-out infinite}.chat-sticker.is-visible.sticker-motion-pulse .chat-sticker-art{animation:sticker-pulse 1.45s ease-in-out infinite}.chat-sticker.is-visible.sticker-motion-wiggle .chat-sticker-art{animation:sticker-wiggle 1.25s ease-in-out infinite}.chat-sticker.is-visible.sticker-motion-float .chat-sticker-art{animation:sticker-float 1.7s ease-in-out infinite}.chat-sticker.is-visible.sticker-motion-pop .chat-sticker-art{animation:sticker-pop 1.55s ease-in-out infinite}
@keyframes sticker-bounce{0%,100%{transform:translateY(0) scale(1)}45%{transform:translateY(-5px) scale(1.03)}65%{transform:translateY(1px) scale(.98)}}@keyframes sticker-pulse{0%,100%{transform:scale(.94)}50%{transform:scale(1.08)}}@keyframes sticker-wiggle{0%,100%{transform:rotate(0)}25%{transform:rotate(-6deg)}70%{transform:rotate(6deg)}}@keyframes sticker-float{0%,100%{transform:translateY(2px) rotate(-1deg)}50%{transform:translateY(-4px) rotate(2deg)}}@keyframes sticker-pop{0%,100%{transform:scale(.9)}25%{transform:scale(1.08)}45%{transform:scale(.98)}65%{transform:scale(1.03)}}
@media(prefers-reduced-motion:reduce){.chat-sticker-art{animation:none!important;transform:none!important}}

/* Detail pages have a native back header, so their content should begin right
   below it instead of stretching old dialog rows across the whole viewport. */
.inline-detail-page--profile>section,.inline-detail-page--profile>form{align-content:start!important}

/* Wallet history uses the same full-page rhythm as customer support: a calm
   information strip, compact filters and one dedicated scrolling content area. */
.inline-detail-page--profile>section.wallet-records-detail{display:grid!important;grid-template-rows:auto auto minmax(0,1fr);gap:0!important;min-height:calc(100dvh - 140px);padding:0 0 92px!important;background:#07100f!important;overflow:hidden!important}
.wallet-records-intro{margin:0!important;padding:9px 16px!important;border-top:1px solid #1b2b27!important;border-bottom:1px solid #1b2b27!important;background:#0b1513!important;color:#94a9a1!important;font-size:11px!important;line-height:1.45!important;text-align:center!important}
.wallet-records-filters{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px!important;margin:0!important;padding:12px 16px!important;border-bottom:1px solid #1b2b27!important;background:#081310!important}
.wallet-records-filters input,.wallet-records-filters select{width:100%!important;min-width:0!important;border-color:#29443b!important;border-radius:8px!important;background:#0d1a17!important;color:#e9f3ee!important}
.wallet-records-list{display:grid!important;align-content:start!important;gap:8px!important;min-height:0!important;max-height:none!important;margin:0!important;padding:12px 16px!important;overflow-y:auto!important;color:#b9c9c4!important;font-size:13px!important;line-height:1.55!important;overscroll-behavior:contain}
.wallet-records-list>div{margin:0!important;padding:11px 12px!important;border-color:#284139!important;border-radius:10px!important;background:#0b1714!important;box-shadow:inset 0 1px #ffffff08}

/* Mobile detail-page system.  Every feature that still originates as a dialog
   is mounted into the same full-height surface, so Wallet, account, games and
   conversations use one deliberate information rhythm instead of inheriting
   their old popup spacing. */
.inline-detail-page{isolation:isolate;width:100%;min-height:calc(100dvh - 84px);background:#07100f;color:#eaf2ee}
.inline-detail-surface{box-sizing:border-box;min-width:0;color:#eaf2ee}
.inline-detail-surface :is(input,select,textarea){box-sizing:border-box;border-color:#29443b!important;background:#0d1a17!important;color:#eaf2ee!important}
.inline-detail-surface :is(input,select,textarea)::placeholder{color:#71857e!important;opacity:1}
.inline-detail-surface button:not(.inline-detail-back){border-radius:8px!important}
.inline-detail-surface button.confirm,.inline-detail-surface button[type="submit"]{min-height:40px!important;border:0!important;background:#6b5230!important;color:#fff0c6!important;font-size:14px!important;font-weight:750!important}
.inline-detail-surface>small{display:block;margin:0!important;padding:10px 16px!important;border-top:1px solid #1d2c28;border-bottom:1px solid #1d2c28;background:#0b1513!important;color:#9aaba5!important;font-size:12px!important;line-height:1.55!important}
.inline-detail-surface>p{margin:0!important;color:#9aaba5!important;font-size:12px!important;line-height:1.55!important}
.inline-detail-surface>div[style*="max-height"]{scrollbar-color:#6b5230 #0b1513}
.inline-detail-surface article{border-color:#29443b!important;background:#0b1714!important}
.inline-detail-surface article>strong{color:#f0d481}

/* Account and wallet forms read like WeChat's settings sheets: one calm
   full-page column, predictable 12px grouping, then a clear primary action. */
.inline-detail-page--profile>.inline-detail-surface{display:grid!important;align-content:start!important;gap:12px!important;min-height:calc(100dvh - 140px);padding:16px 16px calc(92px + env(safe-area-inset-bottom))!important;background:#07100f!important}
.inline-detail-page--profile>form.inline-detail-surface{gap:10px!important}
.inline-detail-page--profile>.inline-detail-surface>h2{display:none!important}
.inline-detail-page--profile>.inline-detail-surface>form{display:grid!important;gap:9px!important;margin:0!important;padding:12px!important;border:1px solid #1d302a!important;border-radius:12px!important;background:#0b1513!important}
.inline-detail-page--profile>.inline-detail-surface>[style*="max-height"]{max-height:calc(100dvh - 254px)!important;margin:0!important;padding:0!important;border-top:1px solid #1d302a!important;border-bottom:1px solid #1d302a!important;background:#0b1513!important;overflow-y:auto!important}
.inline-detail-page--profile>.inline-detail-surface>[style*="max-height"]>article{margin:0!important;padding:12px!important;border-width:0 0 1px!important;border-radius:0!important;background:#0b1513!important;box-shadow:none!important}
.inline-detail-page--profile>.inline-detail-surface>[style*="max-height"]>article:last-child{border-bottom:0!important}
.inline-detail-page--profile>.inline-detail-surface>div[style*="border:1px"]{margin:0!important;padding:12px!important;border-color:#29443b!important;border-radius:10px!important;background:#0b1714!important}
.inline-detail-page--profile>.inline-detail-surface>div[style*="justify-content:flex-end"]{display:grid!important;grid-template-columns:1fr repeat(2,auto);gap:8px!important;align-items:center!important}
.inline-detail-page--profile>.inline-detail-surface>div[style*="justify-content:flex-end"] button{min-height:36px!important;margin:0!important;padding:6px 11px!important}

/* Game details deliberately stay vertical on phones.  The rule and latest
   results become separate dark groups rather than compressed desktop panels. */
#games.is-detail-page{min-height:calc(100dvh - 84px);padding:0;background:#07100f}
.inline-detail-page--games{padding:0 0 84px!important;background:#07100f!important}
.inline-detail-page--games>.inline-detail-back{position:absolute!important;z-index:4;top:0;left:0;width:54px!important;min-height:56px!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;color:#e8c66f!important;font-size:0!important}
.inline-detail-page--games>.inline-detail-back::before{content:'‹';font-size:30px;font-weight:300;line-height:1}
.inline-detail-page--games>.inline-detail-surface{display:flex!important;flex-direction:column!important;gap:10px!important;min-height:calc(100dvh - 84px);padding:0 16px calc(20px + env(safe-area-inset-bottom))!important;background:#07100f!important;overflow-y:auto!important;overscroll-behavior:contain}
.inline-detail-page--games>.inline-detail-surface>h2{display:grid!important;place-items:center!important;flex:0 0 56px!important;min-height:56px!important;margin:0 -16px!important;padding:0 60px!important;border-bottom:1px solid #1d2c28!important;background:#0b1513!important;color:#f1f5f2!important;font-size:17px!important;font-weight:700!important;text-align:center!important}
.inline-detail-page--games>.inline-detail-surface>form{display:grid!important;gap:8px!important;margin:0!important;padding:12px!important;border:1px solid #1d302a!important;border-radius:12px!important;background:#0b1513!important}
.inline-detail-page--games>.inline-detail-surface>div[style*="border:1px"]{margin:0!important;padding:12px!important;border-color:#29443b!important;border-radius:10px!important;background:#0b1714!important}
.inline-detail-page--games>.inline-detail-surface>div[style*="max-height"]{display:grid!important;align-content:start!important;gap:0!important;max-height:34dvh!important;margin:0!important;padding:0!important;border:1px solid #1d302a!important;border-radius:12px!important;background:#0b1513!important;overflow-y:auto!important}
.inline-detail-page--games>.inline-detail-surface>div[style*="max-height"]>strong{padding:11px 12px!important;border-bottom:1px solid #1d2c28!important;color:#f0d481!important;font-size:13px!important}
.inline-detail-page--games>.inline-detail-surface>div[style*="max-height"]>article{margin:0!important;padding:11px 12px!important;border-width:0 0 1px!important;border-radius:0!important;background:#0b1513!important;box-shadow:none!important}
.inline-detail-page--games>.inline-detail-surface>div[style*="max-height"]>article:last-child{border-bottom:0!important}
.inline-detail-page--games>.player-game-conversation-surface{padding-bottom:0!important}
.inline-detail-page--games>.inline-detail-surface>form.wx-chat-composer{position:sticky!important;z-index:6!important;bottom:0!important;flex:0 0 44px!important;align-self:stretch!important;margin:auto -16px 0!important;padding:4px 8px!important;border-right:0!important;border-bottom:0!important;border-left:0!important;border-radius:0!important}

/* Keep chat detail pages as an actual conversation canvas: title, advisory,
   status, scrolling transcript and the shared 36px composer are all distinct. */
#chat.is-detail-page{min-height:calc(100dvh - 84px);padding:0;background:#07100f}
.inline-detail-page--chat{position:relative;min-height:calc(100dvh - 84px);padding:0 0 84px!important;background:#07100f!important}
.inline-detail-page--chat>.inline-detail-back{position:absolute!important;z-index:5;top:0;left:0;width:54px!important;min-height:56px!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;color:#e8c66f!important;font-size:0!important}
.inline-detail-page--chat>.inline-detail-back::before{content:'‹';font-size:30px;font-weight:300;line-height:1}
#chat.is-detail-page .inline-detail-page--chat>.inline-detail-surface:not(.wx-friends-detail){display:grid!important;grid-template-rows:auto auto auto minmax(0,1fr) auto!important;gap:0!important;min-height:calc(100dvh - 84px);padding:0!important;background:#07100f!important;overflow:hidden!important}
#chat.is-detail-page .inline-detail-page--chat>.inline-detail-surface:not(.wx-friends-detail)>h2{display:grid!important;place-items:center!important;min-height:56px!important;margin:0!important;padding:0 60px!important;border-bottom:1px solid #1d2c28!important;background:#0b1513!important;color:#f1f5f2!important;font-size:17px!important;font-weight:700!important;text-align:center!important}
#chat.is-detail-page .inline-detail-page--chat>.inline-detail-surface:not(.wx-friends-detail)>p{display:none!important}
#chat.is-detail-page .inline-detail-page--chat>.inline-detail-surface:not(.wx-friends-detail)>p{padding:7px 16px!important;border-bottom:1px solid #1d2c28!important;background:#081310!important;text-align:center!important}
#chat.is-detail-page .inline-detail-page--chat>.inline-detail-surface:not(.wx-friends-detail)>div[style*="max-height"]{display:grid!important;align-content:start!important;gap:8px!important;min-height:0!important;max-height:none!important;margin:0!important;padding:12px 16px!important;border:0!important;border-radius:0!important;background:#07100f!important;overflow-y:auto!important}
#chat.is-detail-page .inline-detail-page--chat>.inline-detail-surface:not(.wx-friends-detail)>div[style*="max-height"]>article{max-width:78%;padding:9px 11px!important;border:0!important;border-radius:9px!important;background:#0b1714!important;font-size:13px!important;line-height:1.5!important}
#chat.is-detail-page .inline-detail-page--chat>.inline-detail-surface:not(.wx-friends-detail)>div[style*="max-height"]>article[style*="margin-left"]{justify-self:end;background:#254337!important}

/* Detail-page selectors earlier in the cascade used a 44px minimum for
   selects. Keep compact form controls visually aligned with the 36px IME
   fields introduced for the mobile layout. */
.inline-detail-page select{height:36px!important;min-height:36px!important;padding:6px 10px!important;font-size:14px!important;line-height:1.2!important}
.friend-conversation-row{position:relative;display:grid!important;gap:8px!important;padding:13px 14px!important;border:0!important;border-bottom:1px solid #1d2c28!important;border-radius:0!important;background:#0b1513!important;cursor:pointer}.friend-conversation-row:active{background:#13231f!important}.friend-conversation-row>div:first-child{font-size:14px;font-weight:650;color:#edf4f0}.friend-conversation-row>div:last-child{gap:6px!important}.friend-conversation-row>div:last-child button{min-height:32px!important;padding:5px 8px!important;border-radius:7px!important;font-size:11px!important}
.wx-chat-hub .friend-chat-entry>span{background:#18372d;color:#f0c968;font-size:18px;font-weight:700}.wx-chat-hub .friend-chat-entry{min-height:72px}.wx-chat-hub .friend-chat-entry:active{background:#13231f}
.conversation-swipe-row{position:relative;overflow:hidden;min-height:72px;background:#07100f}.conversation-swipe-row>.friend-chat-entry{position:relative;z-index:2;width:100%;touch-action:pan-y;transition:transform .2s ease}.conversation-swipe-row.is-revealed>.friend-chat-entry{transform:translateX(-216px)}.conversation-swipe-actions{position:absolute;inset:0 0 0 auto;display:grid;grid-template-columns:72px 72px 72px;width:216px}.conversation-swipe-actions button{min-width:0;border:0;border-radius:0;color:#eef6f2;font-size:12px;font-weight:700}.conversation-action-unread{background:#203a50}.conversation-action-hide{background:#314333}.conversation-action-delete{background:#4a252a}.wx-chat-hub .friend-chat-entry>i{width:8px;height:8px;border-radius:999px;background:#e5bb57;box-shadow:0 0 0 2px #0b1513}
.wx-chat-hub .conversation-swipe-row>.friend-chat-entry{display:grid;grid-template-columns:42px minmax(0,1fr) auto;grid-template-rows:1fr;column-gap:10px;min-height:64px;padding:8px 14px;background:#0b1513;text-align:left}.wx-chat-hub .conversation-swipe-row>.friend-chat-entry>span{width:42px;height:42px;border-radius:8px;font-size:16px}.wx-chat-hub .conversation-swipe-row>.friend-chat-entry>div{display:grid;min-width:0;align-content:center;gap:3px}.wx-chat-hub .conversation-swipe-row>.friend-chat-entry strong{overflow:hidden;font-size:15px;font-weight:600;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.wx-chat-hub .conversation-swipe-row>.friend-chat-entry small{overflow:hidden;margin:0;color:#829790;font-size:12px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.wx-chat-hub .conversation-swipe-row>.friend-chat-entry time{align-self:start;padding-top:3px;color:#83918c;font-size:11px;font-variant-numeric:tabular-nums;white-space:nowrap}.wx-chat-hub .conversation-swipe-row>.friend-chat-entry>b{display:none}
.friend-manage-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.friend-manage-actions button{min-height:38px;border:1px solid #315449;border-radius:8px;background:#10201c;color:#e7c46f;font-size:12px;font-weight:700}.friend-manage-actions button:active{background:#1b332b}.friend-scanner-dialog,.receive-code-dialog{width:min(390px,calc(100vw - 24px));margin:auto;padding:0;border:1px solid #315449;border-radius:14px;background:#0d1816;color:#ecf4f1}.friend-scanner-dialog>section,.receive-code-dialog>section{display:grid;gap:12px;padding:20px}.friend-scanner-dialog h2,.receive-code-dialog h2{margin:0;text-align:center;font-size:17px}.friend-scanner-dialog p,.receive-code-dialog p{margin:0;color:#879894;font-size:12px;line-height:1.5}.friend-scanner-dialog video{width:100%;min-height:210px;border:1px solid #29463b;border-radius:10px;background:#07100f;object-fit:cover}.friend-scanner-dialog input{height:36px;padding:0 10px;border:1px solid #315449;border-radius:8px;background:#091310;color:#ecf4f1}.friend-scanner-dialog>section>div{display:flex;justify-content:flex-end;gap:8px}.friend-scanner-dialog button,.receive-code-dialog button{min-height:36px;padding:0 12px;border:1px solid #315449;border-radius:8px;background:#13231f;color:#e7c46f}.friend-scanner-dialog button.confirm{border:0;background:#6b5230;color:#fff0c6}.receive-code-dialog strong{display:grid;place-items:center;min-height:88px;border:1px solid #315449;border-radius:12px;background:linear-gradient(135deg,#10251f,#091310);color:#f0c968;font-size:22px;letter-spacing:3px}
.private-chat-dialog{width:100%!important;max-width:390px!important;height:100dvh!important;max-height:none!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:#07100f!important;color:#edf4f0!important}.private-chat-dialog>section{position:relative!important;display:grid!important;grid-template-rows:auto 0 minmax(0,1fr) auto 0!important;gap:0!important;height:100%!important;padding:0!important;background:#07100f!important}.private-chat-dialog>section>h2{display:grid!important;place-items:center!important;min-height:56px!important;margin:0!important;padding:0 58px!important;border-bottom:1px solid #1d2c28!important;background:#0b1513!important;font-size:17px!important}.private-chat-dialog>section>p{display:none!important}.private-chat-dialog>section>div[style*="max-height"]{min-height:0!important;max-height:none!important;margin:0!important;padding:12px 14px!important;overflow-y:auto!important;background:#07100f!important}.private-chat-dialog>section>div[style*="max-height"]>article{max-width:76%;padding:9px 11px!important;border:0!important;border-radius:9px!important;background:#0b1714!important;font-size:13px!important;line-height:1.5!important}.private-chat-dialog>section>div[style*="max-height"]>article[style*="margin-left"]{justify-self:end;background:#254337!important}.private-chat-manage{position:absolute!important;z-index:6!important;top:0!important;right:8px!important;min-width:48px!important;height:56px!important;padding:0 6px!important;border:0!important;background:transparent!important;color:#e7c46f!important;font-size:13px!important;font-weight:700!important}.private-chat-dialog>section>button:not(.private-chat-manage){position:absolute!important;z-index:6!important;top:0!important;left:0!important;width:56px!important;height:56px!important;padding:0!important;border:0!important;background:transparent!important;color:transparent!important;font-size:0!important}.private-chat-dialog>section>button:not(.private-chat-manage)::before{content:'‹';color:#e8c66f;font-size:30px;font-weight:300;line-height:1}.private-chat-dialog>section>form.wx-chat-composer{position:sticky!important;bottom:0!important;z-index:3!important}
#game .chat-composer.wx-chat-composer{position:sticky!important;bottom:0!important;z-index:6!important}

/* Private conversations use a flex height chain because the optional status
   row is hidden after loading. A positional grid shifted the transcript and
   composer into the same flexible row whenever that status row disappeared. */
.private-chat-dialog>section{display:flex!important;flex-direction:column!important;padding:0!important}
body:not(.admin-site) dialog.private-chat-dialog>section{padding:0!important}
.private-chat-dialog>section>h2{flex:0 0 56px!important}
.private-chat-dialog>section>div[style*="max-height"]{flex:1 1 auto!important;display:grid!important;align-content:start!important}
.private-chat-dialog>section>form.wx-chat-composer{position:relative!important;bottom:auto!important;flex:0 0 44px!important;z-index:3!important}

/* A conversation is a fixed-height column: header and notices stay above an
   independently scrolling history, while the composer owns the last row.
   This avoids sticky positioning against an empty grid track, which used to
   leave the support composer directly below the notice on short viewports. */
#chat.is-detail-page .inline-detail-page--chat>.player-conversation-surface{display:flex!important;flex-direction:column!important;min-height:100%!important;height:100%!important;overflow:hidden!important}
#chat.is-detail-page .inline-detail-page--chat>.player-conversation-surface>h2,#chat.is-detail-page .inline-detail-page--chat>.player-conversation-surface>small,#chat.is-detail-page .inline-detail-page--chat>.player-conversation-surface>p,#chat.is-detail-page .inline-detail-page--chat>.player-conversation-surface>form{flex:0 0 auto!important}
#chat.is-detail-page .inline-detail-page--chat>.player-conversation-surface>[style*="max-height:46dvh"]{flex:1 1 auto!important;min-height:0!important;max-height:none!important}
#chat.is-detail-page .inline-detail-page--chat>.player-conversation-surface>form.wx-chat-composer{margin-top:auto!important}
#chat.is-detail-page .inline-detail-page--chat>.inline-detail-back{width:56px!important;min-width:56px!important;max-width:56px!important;overflow:hidden!important;white-space:nowrap!important;font-size:0!important;line-height:1!important}#chat.is-detail-page .inline-detail-page--chat>.inline-detail-back::before{content:"\2039"!important;display:block!important;font-size:28px!important;line-height:56px!important;text-align:center!important}

/* The profile ID copy action is secondary to the profile card.  Keep it
   compact so the ID row reads as one line rather than a second large CTA. */
.wx-profile-hub .profile-hero .profile-id-row button{height:28px!important;min-height:28px!important;padding:4px 7px!important;border-radius:7px!important;font-size:10px!important;line-height:1!important}

/* Avatar entry point and media-action placeholder.  Photo capture and local
   upload stay visibly pending until the server-side media pipeline is ready. */
.avatar.has-avatar-image,.profile-avatar.has-avatar-image{overflow:hidden;padding:0!important}.avatar.has-avatar-image img,.profile-avatar.has-avatar-image img{display:block;width:100%;height:100%;object-fit:cover}.wx-profile-hub .profile-avatar{padding:0!important;border:0!important;cursor:pointer}.wx-profile-hub .profile-avatar:active{transform:scale(.96);filter:brightness(1.1)}.wx-profile-hub .profile-avatar:focus-visible{outline:2px solid #e8c66f;outline-offset:2px}.avatar-action-dialog{width:min(360px,calc(100vw - 32px));margin:auto;padding:0;border:1px solid #31473f;border-radius:14px;background:#0b1513;color:#edf5f1;box-shadow:0 18px 50px #000b}.avatar-action-dialog::backdrop{background:#000a}.avatar-action-sheet{display:grid;gap:9px;padding:18px}.avatar-action-sheet h2{margin:0;color:#f1f5f2;font-size:17px;text-align:center}.avatar-action-sheet>p{margin:0;color:#91a59d;font-size:12px;line-height:1.5;text-align:center}.avatar-action-option{min-height:44px!important;padding:9px 12px!important;border:1px solid #29443b!important;border-radius:9px!important;background:#0d1a17!important;color:#eaf2ee!important;font-size:14px!important;text-align:left}.avatar-action-option:active{transform:scale(.985);background:#162720!important}.avatar-action-option:disabled{opacity:.5;cursor:wait}.avatar-action-status{min-height:18px!important;color:#d7b868!important}.avatar-action-cancel{min-height:36px!important;padding:7px 10px!important;border:0!important;border-radius:8px!important;background:transparent!important;color:#9fb2aa!important;font-size:13px!important}

/* A video belongs only to its active carousel page.  Hiding it before the
   track moves prevents its wide media frame from bleeding into the next page. */
.promotion-slide:not(.is-active) .tiger-walk-frame{visibility:hidden}
.wx-chat-hub .friend-chat-entry>div{position:relative}.wx-chat-hub .friend-chat-entry>div>i{position:absolute;top:2px;right:-12px;width:8px;height:8px;border-radius:999px;background:#e5bb57;box-shadow:0 0 0 2px #0b1513}
#game .game-variant-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:2px}#game .game-variant-picker[hidden]{display:none}#game .game-variant-card{position:relative;display:grid;min-height:108px;align-content:center;gap:7px;padding:15px;border:1px solid #315d51;border-radius:14px;background:linear-gradient(145deg,#12352b,#0b1a16);text-align:left;box-shadow:inset 0 1px 0 #ffffff0a;transition:transform .15s,border-color .15s}#game .game-variant-card:active{transform:scale(.98);border-color:#55e6b1}#game .game-variant-card strong{font-size:16px;color:#ecf4f1}#game .game-variant-card small{color:#8fb5a8;font-size:11px;line-height:1.35}#game .game-variant-card span{position:absolute;right:13px;bottom:11px;color:#55e6b1;font-size:23px}@media(max-width:480px){#game .game-variant-card{min-height:104px;padding:13px 12px}#game .game-variant-card strong{font-size:14px}}

/* Multiplayer Hold'em room. The state machine is server-authoritative; these
   styles only project its seats, pots, presence and available actions. */
.poker-dialog{width:min(430px,100vw)!important;height:min(900px,100dvh);max-height:100dvh!important;border-color:#2d5046!important;border-radius:18px!important;background:#06100d!important}
.poker-shell{grid-template-rows:auto auto minmax(0,1fr) auto;gap:9px;height:100%;max-height:none!important;padding:11px 11px calc(9px + env(safe-area-inset-bottom))!important;overflow:hidden!important;background:radial-gradient(circle at 50% -4%,#174d3e88,transparent 32%),#06100d!important}
.poker-heading{min-height:44px;padding:0 2px!important}.poker-heading-copy small{color:#d6b45e!important;font-size:10px!important;letter-spacing:.07em!important}.poker-heading-copy h2{margin:2px 0 0!important;color:#f4f7f5;font-size:18px!important}.poker-close{min-width:44px;min-height:34px;padding:0 10px!important;border-radius:9px!important}
.poker-tabs{padding:3px!important;border-radius:11px!important}.poker-tab{height:34px!important;min-height:34px!important;border-radius:8px!important}
.poker-content{min-height:0!important;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#2f5b4d #08130f}.poker-status{min-height:15px;margin:0 2px!important;line-height:15px}
.poker-table-shell{display:grid;gap:9px;min-height:100%}.poker-table-meta{grid-template-columns:minmax(0,1fr) auto!important;padding:9px 10px!important;border-radius:12px!important}.poker-table-meta strong{font-size:14px!important}.poker-table-meta span{font-size:10px!important}.poker-table-meta span:last-child{grid-column:1/-1!important;margin-top:-1px;padding:2px 7px!important}
.poker-felt{position:relative!important;display:block!important;min-height:430px!important;padding:0!important;overflow:hidden;border:2px solid #5f7a56!important;border-radius:48% / 19%!important;background:radial-gradient(ellipse at 50% 43%,#246b51 0%,#164936 40%,#0b2a20 70%,#06140f 100%)!important;box-shadow:inset 0 0 0 7px #07120edb,inset 0 0 0 9px #b5944233,inset 0 0 48px #0009,0 13px 24px #0007!important}
.poker-felt::before{inset:10px!important;border-color:#e6cc7442!important}.poker-felt::after{top:46%!important;color:#f0d47a10!important;font-family:Georgia,"Times New Roman",serif!important;font-size:25px!important;letter-spacing:.28em!important;transform:translate(-50%,-50%)!important}
.poker-table-center{position:absolute;z-index:1;left:50%;top:46%;display:grid;justify-items:center;gap:6px;width:224px;transform:translate(-50%,-50%)}.poker-pot-line{display:flex;justify-content:center;align-items:center;gap:4px;min-height:24px;max-width:100%;overflow:hidden}.poker-pot{padding:4px 9px;border:1px solid #e3c56a66;border-radius:999px;background:#071a14d9;color:#f3d681;font-size:11px;white-space:nowrap}.poker-pot-line small{padding:3px 5px;border-radius:999px;background:#0b211a;color:#c7ae69;font-size:8px;white-space:nowrap}.poker-stage{padding:3px 8px;border-radius:999px;background:#06140fbf;color:#9ec2b6;font-size:9px;letter-spacing:.05em}
.poker-board{display:flex!important;justify-content:center;gap:4px!important;min-height:50px!important}.poker-card{display:grid!important;place-items:center;width:34px!important;height:48px!important;border:1px solid #f1e8d2!important;border-radius:6px!important;background:linear-gradient(145deg,#fffdf7,#e5ddca)!important;color:#17231f!important;font-family:Georgia,"Times New Roman",serif!important;font-size:12px!important;font-weight:800!important;box-shadow:0 4px 8px #0008!important}.poker-card.is-red{color:#b72d34!important}.poker-card.is-hidden{border-color:#bb9a4e!important;background:repeating-linear-gradient(45deg,#132d25 0 3px,#1f4d3e 3px 6px)!important;color:#d9bd65!important;font-size:10px!important;text-shadow:none!important}.poker-card.is-compact{width:21px!important;height:30px!important;border-radius:4px!important;font-size:8px!important;box-shadow:0 2px 5px #0009!important}
.poker-seats{position:absolute!important;z-index:2!important;inset:0!important;display:block!important}.poker-seat{position:absolute;display:grid;grid-template-columns:25px minmax(0,1fr);grid-template-rows:auto auto auto;column-gap:6px;width:94px;min-height:61px;padding:6px 7px!important;border:1px solid #5f8d7d77!important;border-radius:10px!important;background:linear-gradient(145deg,#0a1915ee,#06100eed)!important;box-shadow:0 5px 13px #0009!important;transform:translate(-50%,-50%);transition:border-color .16s,filter .16s,box-shadow .16s}.poker-seat-avatar{grid-row:1/4;display:grid!important;place-items:center;width:25px;height:25px;margin:auto 0;border:1px solid #957b3f;border-radius:7px;background:linear-gradient(145deg,#3a3120,#171710);color:#f0cf77;font-size:12px;font-weight:800}.poker-seat strong,.poker-seat>div:not(.poker-seat-badges):not(.poker-seat-cards),.poker-seat>small{grid-column:2;display:block;min-width:0;margin:0!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.poker-seat strong{color:#eef5f1;font-size:10px!important;line-height:14px}.poker-seat>div:not(.poker-seat-badges):not(.poker-seat-cards){color:#e5ca79!important;font-size:9px!important;line-height:13px}.poker-seat>small{color:#6fd6b1!important;font-size:8px!important;line-height:12px}.poker-seat-badges{position:absolute;z-index:3;left:-4px;top:-8px;display:flex!important;gap:2px}.poker-seat-badges i{display:grid;place-items:center;min-width:17px;height:17px;padding:0 3px;border:1px solid #715f30;border-radius:999px;background:#f0cf72;color:#102019;font-size:7px;font-style:normal;font-weight:900;box-shadow:0 2px 4px #0008}.poker-seat-cards{position:absolute;z-index:-1;right:6px;top:-23px;display:flex!important;gap:2px;transform:rotate(-2deg)}
.poker-seat.is-self{border-color:#e4c769!important;background:linear-gradient(145deg,#193429f2,#0b1814f2)!important}.poker-seat.is-turn{border-color:#6ef0bb!important;box-shadow:0 0 0 2px #59eab044,0 0 16px #5ae8b855,0 5px 13px #0009!important}.poker-seat.is-folded{filter:saturate(.25) brightness(.65)}.poker-seat.is-offline{border-style:dashed!important;opacity:.72}.poker-seat.is-empty{display:grid;place-items:center;align-content:center;gap:0;width:70px;min-height:48px;border-style:dashed!important;background:#07130f99!important;color:#689286}.poker-seat.is-empty>span{font-size:18px;line-height:16px}.poker-seat.is-empty>small{grid-column:1!important;color:#779b90!important;font-size:8px!important}
.poker-felt[data-capacity="6"] .poker-seat[data-slot="0"]{left:50%;top:91%}.poker-felt[data-capacity="6"] .poker-seat[data-slot="1"]{left:16%;top:78%}.poker-felt[data-capacity="6"] .poker-seat[data-slot="2"]{left:16%;top:25%}.poker-felt[data-capacity="6"] .poker-seat[data-slot="3"]{left:50%;top:10%}.poker-felt[data-capacity="6"] .poker-seat[data-slot="4"]{left:84%;top:25%}.poker-felt[data-capacity="6"] .poker-seat[data-slot="5"]{left:84%;top:78%}
.poker-felt[data-capacity="4"] .poker-seat[data-slot="0"]{left:50%;top:91%}.poker-felt[data-capacity="4"] .poker-seat[data-slot="1"]{left:16%;top:50%}.poker-felt[data-capacity="4"] .poker-seat[data-slot="2"]{left:50%;top:10%}.poker-felt[data-capacity="4"] .poker-seat[data-slot="3"]{left:84%;top:50%}.poker-felt[data-capacity="2"] .poker-seat[data-slot="0"]{left:50%;top:90%}.poker-felt[data-capacity="2"] .poker-seat[data-slot="1"]{left:50%;top:11%}
.poker-actions{position:sticky;z-index:5;bottom:0;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important;padding:7px;border:1px solid #24443a;border-radius:12px;background:#07120ff2;box-shadow:0 -8px 20px #06100ddd;backdrop-filter:blur(8px)}.poker-actions button,.poker-actions input{box-sizing:border-box;height:38px!important;min-height:38px!important;border:1px solid #315449!important;border-radius:9px!important;font-size:12px!important}.poker-actions button{padding:0 8px!important;background:#0e211b!important;color:#dce9e4!important;font-weight:750}.poker-actions button.is-accent{border-color:#d7b75d!important;background:linear-gradient(135deg,#b18a38,#75581f)!important;color:#fff7dd!important}.poker-actions button.is-danger{border-color:#65423d!important;color:#d99b91!important}.poker-actions button.is-allin{border-color:#725688!important;color:#caa8df!important}.poker-actions button.is-leave{color:#8ba098!important}.poker-actions button:disabled{opacity:.55}.poker-raise-controls,.poker-join-controls{display:grid;grid-column:1/-1;grid-template-columns:minmax(0,1fr) auto;gap:6px}.poker-join-controls:has(input+input){grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}.poker-actions input{min-width:0;padding:0 9px!important;background:#06100e!important;color:#eef5f1!important}.poker-raise-controls button,.poker-join-controls button{min-width:74px}
.poker-private-join{display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:7px!important;padding:9px!important}.poker-private-join input,.poker-private-join button{height:36px!important;min-height:36px!important;padding:0 9px!important}.poker-room-row{margin-top:7px!important;padding:10px 11px!important;border-radius:12px!important}.poker-room-row>div{position:relative;display:grid;gap:2px;padding-right:38px}.poker-room-row>div strong{overflow:hidden;color:#eaf3ef;font-size:13px;text-overflow:ellipsis}.poker-room-row>div small{color:#8ea59d;font-size:10px}.poker-room-row>div span{position:absolute;right:0;top:50%;display:grid;place-items:center;min-width:31px;height:25px;border-radius:999px;background:#17382e;color:#d9bb67;font-size:10px;transform:translateY(-50%)}.poker-room-row .confirm{min-height:34px!important;padding:0 11px!important}
.poker-create-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:11px;border:1px solid #203a32;border-radius:12px;background:#091511}.poker-create-form label{display:grid;gap:5px;min-width:0}.poker-create-form label:first-child,.poker-create-form label:nth-last-of-type(-n+2){grid-column:1/-1}.poker-create-form label>span{color:#91a79f;font-size:10px}.poker-create-form input,.poker-create-form select{box-sizing:border-box;width:100%;height:36px!important;min-height:36px!important;padding:0 9px!important;border:1px solid #2b4a40!important;border-radius:8px!important;background:#06100e!important;color:#e9f2ee!important;font-size:12px!important}.poker-create-form input:disabled{opacity:.42}.poker-create-form>.confirm{grid-column:1/-1;height:40px!important;min-height:40px!important;margin-top:2px!important;border:1px solid #b99746!important;border-radius:9px!important;background:linear-gradient(135deg,#a78032,#70531c)!important;color:#fff4d4!important;font-weight:800}
@media(max-width:360px){.poker-shell{padding-inline:8px!important}.poker-felt{min-height:412px!important}.poker-seat{width:86px;padding-inline:5px!important}.poker-felt[data-capacity="6"] .poker-seat[data-slot="1"],.poker-felt[data-capacity="6"] .poker-seat[data-slot="2"],.poker-felt[data-capacity="4"] .poker-seat[data-slot="1"]{left:15%}.poker-felt[data-capacity="6"] .poker-seat[data-slot="4"],.poker-felt[data-capacity="6"] .poker-seat[data-slot="5"],.poker-felt[data-capacity="4"] .poker-seat[data-slot="3"]{left:85%}.poker-table-center{width:205px}.poker-card{width:31px!important;height:44px!important}}

/* Final WeChat-style conversation system. The familiar hierarchy and
   gestures are preserved while Tiger keeps its dark product theme. */
.wx-chat-hub,.private-chat-dialog,.player-conversation-surface,.private-chat-info-dialog{--wechat-bg:#111715;--wechat-bar:#191f1d;--wechat-panel:#242b29;--wechat-peer:#2c3431;--wechat-mine:#95ec69;--wechat-green:#07c160;--wechat-red:#fa5151;--wechat-muted:#8b9692}
.wx-chat-hub{background:var(--wechat-bg)!important}.wx-chat-hub .wx-page-head{min-height:56px!important;border-bottom:1px solid #2a302e!important;background:var(--wechat-bar)!important}.wx-chat-hub .wx-page-head h1{font-size:17px!important;font-weight:650!important}.wx-chat-hub .wx-conversation-list{background:var(--wechat-bg)!important}
.wx-chat-hub #supportPage{display:grid!important;grid-template-columns:48px minmax(0,1fr) auto!important;column-gap:12px!important;min-height:72px!important;padding:10px 14px!important;border-bottom:1px solid #262d2a!important;border-radius:0!important;background:#171d1b!important;text-align:left!important}.wx-chat-hub #supportPage>span{display:grid!important;place-items:center!important;width:48px!important;height:48px!important;border-radius:6px!important;background:#576b95!important;color:#fff!important;font-size:22px!important}.wx-chat-hub #supportPage>div{display:grid!important;align-content:center!important;gap:4px!important;min-width:0!important}.wx-chat-hub #supportPage strong{color:#f1f3f2!important;font-size:16px!important;font-weight:600!important}.wx-chat-hub #supportPage small{overflow:hidden!important;color:#8b9692!important;font-size:13px!important;text-overflow:ellipsis!important;white-space:nowrap!important}.wx-chat-hub #supportPage>b{align-self:center!important;color:#68736f!important;font-size:21px!important}
.conversation-swipe-row{min-height:72px!important;background:#202624!important}.conversation-swipe-row>.friend-chat-entry{min-height:72px!important}.wx-chat-hub .conversation-swipe-row>.friend-chat-entry{grid-template-columns:48px minmax(0,1fr) auto!important;column-gap:12px!important;min-height:72px!important;padding:10px 14px!important;border-bottom:1px solid #262d2a!important;background:var(--wechat-bg)!important}.wx-chat-hub .conversation-swipe-row>.friend-chat-entry.is-pinned{background:#1c2320!important}.wx-chat-hub .conversation-swipe-row>.friend-chat-entry>span:first-child{display:grid!important;place-items:center!important;width:48px!important;height:48px!important;border-radius:6px!important;background:#294a3f!important;color:#f0d17d!important;font-size:18px!important}.wx-chat-hub .conversation-swipe-row>.friend-chat-entry strong{font-size:16px!important;font-weight:600!important}.wx-chat-hub .conversation-swipe-row>.friend-chat-entry small{color:#8b9692!important;font-size:13px!important}.conversation-meta{display:grid!important;align-content:start!important;justify-items:end!important;gap:8px!important;min-width:38px!important}.conversation-meta time{padding-top:1px!important;color:#77827e!important;font-size:11px!important;white-space:nowrap!important}.conversation-unread-badge{display:grid!important;place-items:center!important;min-width:18px!important;height:18px!important;padding:0 5px!important;border-radius:999px!important;background:var(--wechat-red)!important;color:#fff!important;font-size:10px!important;font-style:normal!important;line-height:1!important}.friend-chat-entry.is-muted .conversation-unread-badge{min-width:8px!important;width:8px!important;height:8px!important;padding:0!important;background:#6b7571!important}.conversation-action-unread{background:#c68b32!important}.conversation-action-hide{background:#4d5963!important}.conversation-action-delete{background:var(--wechat-red)!important}

.wx-chat-hub .conversation-swipe-row>.friend-chat-entry>.conversation-meta{display:grid!important;align-content:start!important;justify-items:end!important;gap:8px!important;width:auto!important;min-width:38px!important;height:auto!important;border:0!important;border-radius:0!important;background:transparent!important;color:inherit!important;font-size:inherit!important}
.wechat-message-list{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:10px!important;min-height:0!important;padding:14px 12px!important;background:var(--wechat-bg)!important;overscroll-behavior:contain}.wechat-time-separator{align-self:center!important;margin:2px 0!important;padding:3px 7px!important;border-radius:4px!important;background:#ffffff10!important;color:#858f8b!important;font-size:10px!important;line-height:1.3!important}.wechat-system-message{align-self:center!important;max-width:88%!important;margin:2px auto!important;padding:4px 8px!important;border:0!important;border-radius:5px!important;background:#ffffff10!important;color:#8b9692!important;font-size:11px!important;line-height:1.45!important;text-align:center!important}.wechat-message-row{position:relative!important;display:grid!important;align-items:start!important;gap:8px!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}.wechat-message-row.is-peer{grid-template-columns:38px minmax(0,1fr)!important}.wechat-message-row.is-mine{grid-template-columns:minmax(0,1fr) 38px!important}.wechat-message-avatar{display:grid!important;place-items:center!important;width:38px!important;height:38px!important;border-radius:5px!important;background:#385b50!important;color:#f2d27c!important;font-size:14px!important;font-weight:700!important}.wechat-message-row.is-mine .wechat-message-avatar{background:#6e5630!important;color:#fff0bf!important}.wechat-message-body{display:grid!important;gap:3px!important;max-width:min(78vw,290px)!important;min-width:0!important}.wechat-message-row.is-peer .wechat-message-body{justify-self:start!important}.wechat-message-row.is-mine .wechat-message-body{justify-self:end!important}.wechat-message-sender{padding:0 3px!important;color:#7f8a86!important;font-size:10px!important;line-height:1.2!important}.wechat-message-row.is-mine .wechat-message-sender{text-align:right!important}.wechat-message-bubble{position:relative!important;width:fit-content!important;max-width:100%!important;padding:9px 11px!important;border:0!important;border-radius:5px!important;background:var(--wechat-peer)!important;color:#eef2f0!important;font-size:14px!important;line-height:1.5!important;overflow-wrap:anywhere!important;box-shadow:0 1px 1px #0004!important}.wechat-message-row.is-mine .wechat-message-bubble{justify-self:end!important;background:var(--wechat-mine)!important;color:#111713!important}.wechat-message-row:not(.is-sticker).is-peer .wechat-message-bubble::before,.wechat-message-row:not(.is-sticker).is-mine .wechat-message-bubble::after{position:absolute!important;top:12px!important;width:0!important;height:0!important;content:""!important;border-top:6px solid transparent!important;border-bottom:6px solid transparent!important}.wechat-message-row:not(.is-sticker).is-peer .wechat-message-bubble::before{left:-6px!important;border-right:7px solid var(--wechat-peer)!important}.wechat-message-row:not(.is-sticker).is-mine .wechat-message-bubble::after{right:-6px!important;border-left:7px solid var(--wechat-mine)!important}.wechat-message-row.is-sticker .wechat-message-bubble{padding:0!important;background:transparent!important;box-shadow:none!important}.wechat-message-row.is-sticker .chat-sticker--message{width:96px!important;height:96px!important}.wechat-read-receipt{justify-self:end!important;margin:0 2px!important;color:#69736f!important;font-size:9px!important}.wechat-message-recall{align-self:center!important;justify-self:center!important;min-height:28px!important;padding:4px 9px!important;border:1px solid #4a5551!important;border-radius:6px!important;background:#1e2623!important;color:#bbc4c1!important;font-size:11px!important}
#chat.is-detail-page .inline-detail-page--chat>.inline-detail-surface:not(.wx-friends-detail)>.wechat-message-list,.private-chat-dialog .wechat-message-list{flex:1 1 auto!important;display:flex!important;max-height:none!important;padding:14px 12px!important;background:var(--wechat-bg)!important}.private-chat-dialog .wechat-message-row,#chat.is-detail-page .wechat-message-row{max-width:none!important;padding:0!important;background:transparent!important}.private-chat-dialog .wechat-message-bubble,#chat.is-detail-page .wechat-message-bubble{padding:9px 11px!important}.private-chat-dialog>section>h2,#chat.is-detail-page .player-conversation-surface>h2{background:var(--wechat-bar)!important;border-bottom-color:#2a302e!important}.private-chat-manage{right:10px!important;color:#d7dedb!important;font-size:20px!important;font-weight:700!important;letter-spacing:1px!important}.private-chat-dialog>section>form.wx-chat-composer,#chat.is-detail-page .player-conversation-surface>form.wx-chat-composer{flex:0 0 auto!important;margin-top:auto!important}
dialog.private-chat-dialog>section>.wechat-message-list{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:10px!important;max-height:none!important;padding:14px 12px!important;background:var(--wechat-bg)!important}dialog.private-chat-dialog>section>.wechat-message-list>.wechat-message-row{display:grid!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}dialog.private-chat-dialog>section>.wechat-message-list>.wechat-time-separator{align-self:center!important;justify-self:center!important;width:max-content!important;max-width:80%!important}#chat.is-detail-page .inline-detail-page--chat>.player-conversation-surface>.wechat-message-list>.wechat-message-row{width:100%!important;max-width:none!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}#chat.is-detail-page .inline-detail-page--chat>.player-conversation-surface>.wechat-message-list>.wechat-time-separator{align-self:center!important;justify-self:center!important;width:max-content!important;max-width:80%!important}
body:not(.admin-site) #chat.is-detail-page .inline-detail-page--chat>section.player-conversation-surface>div.wechat-message-list[style*="max-height"]>article.wechat-message-row{display:grid!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
#chat.is-detail-page .inline-detail-page--chat{box-sizing:border-box!important;height:calc(100dvh - 84px)!important;min-height:calc(100dvh - 84px)!important;padding-bottom:0!important;overflow:hidden!important}#chat.is-detail-page .inline-detail-page--chat>section.player-conversation-surface{height:100%!important;min-height:0!important}
body:not(.admin-site) #chat.is-detail-page .inline-detail-page--chat>section.player-conversation-surface.inline-detail-surface{display:flex!important;flex-direction:column!important;align-items:stretch!important;height:100%!important;min-height:0!important;overflow:hidden!important}
.wx-chat-composer{border-top-color:#303735!important;background:#1b211f!important}.wx-chat-composer .wx-chat-input{border-color:#3a4340!important;background:#272e2b!important;color:#f1f3f2!important}.wx-chat-composer .chat-voice-control,.wx-chat-composer .chat-emoji-control,.wx-chat-composer .chat-plus-control{color:#c8cfcc!important}.wx-chat-composer .chat-send-control{background:var(--wechat-green)!important;color:#fff!important}.chat-emoji-panel,.chat-plus-panel{border-color:#3b4742!important;background:#222927!important}.chat-sticker-tabs{border-bottom-color:#3b4742!important}.chat-sticker-tabs button.is-active{background:#3c453f!important;color:#fff!important}
.game-chat .wechat-message-row{margin:10px 12px!important;width:calc(100% - 24px)!important}.game-chat .wechat-time-separator{display:block!important;width:max-content!important;margin:8px auto!important}.game-chat .wechat-system-message{display:block!important}.player-game-conversation-surface .wechat-message-row{padding:0 2px!important}.player-game-conversation-surface .wechat-time-separator{display:block!important;width:max-content!important;margin-inline:auto!important}

.private-chat-info-dialog{width:min(390px,calc(100vw - 24px));margin:auto;padding:0;border:1px solid #3a4440;border-radius:12px;background:#111715;color:#eef2f0;box-shadow:0 22px 60px #000b}.private-chat-info-dialog::backdrop{background:#000b}.private-chat-info-sheet{display:grid;gap:10px;padding:14px}.private-chat-info-sheet>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 2px 14px;border-bottom:1px solid #2a322f}.private-chat-info-sheet>header>div{display:flex;align-items:center;gap:10px}.private-chat-info-sheet>header>div>div{display:grid;gap:3px}.private-chat-info-sheet>header strong{font-size:16px}.private-chat-info-sheet>header small{color:#83908b;font-size:11px}.private-chat-info-sheet>header button{min-height:34px;padding:0 10px;border:0;border-radius:6px;background:var(--wechat-green);color:#fff;font-weight:700}.private-chat-info-avatar{display:grid;place-items:center;width:48px;height:48px;border-radius:6px;background:#35594d;color:#f0cf75;font-size:18px;font-weight:800}.private-chat-info-group{overflow:hidden;border:1px solid #303936;border-radius:9px;background:#1b211f}.private-chat-info-switch{position:relative;display:grid;grid-template-columns:1fr auto;align-items:center;min-height:48px;padding:0 13px;border-bottom:1px solid #303936}.private-chat-info-switch:last-child{border-bottom:0}.private-chat-info-switch>span:first-child{font-size:14px}.private-chat-info-switch input{position:absolute;opacity:0;pointer-events:none}.private-chat-switch-track{position:relative;width:42px;height:24px;border-radius:999px;background:#4b5551;transition:background .16s}.private-chat-switch-track::after{position:absolute;top:2px;left:2px;width:20px;height:20px;content:"";border-radius:50%;background:#fff;transition:transform .16s}.private-chat-info-switch input:checked+.private-chat-switch-track{background:var(--wechat-green)}.private-chat-info-switch input:checked+.private-chat-switch-track::after{transform:translateX(18px)}.private-chat-note-group{display:grid;grid-template-columns:1fr auto;gap:8px;padding:12px}.private-chat-note-group label,.private-chat-info-status{grid-column:1/-1}.private-chat-note-group label{color:#9aa49f;font-size:12px}.private-chat-note-group input{min-width:0;height:38px;padding:0 10px;border:1px solid #3a4440;border-radius:7px;background:#282f2c;color:#f0f3f2}.private-chat-note-group button{padding:0 11px;border-radius:7px;background:#303936;color:#e9eeec}.private-chat-info-status{min-height:16px;margin:0;color:#8fcfac;font-size:11px}.private-chat-info-danger{min-height:44px;border:0;border-radius:8px;background:#2b1f1f;color:#fa7777;font-size:14px;font-weight:700}

@media(max-width:420px){.wechat-message-body{max-width:calc(100vw - 100px)!important}.wechat-message-row.is-sticker .chat-sticker--message{width:88px!important;height:88px!important}.private-chat-info-dialog{width:calc(100vw - 20px)}}

/* Keep stickers secondary to conversation text. The artwork is compact while
   the surrounding buttons retain comfortable touch targets. */
.chat-sticker-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:2px!important;max-height:205px!important}
.chat-sticker-grid .chat-emoji-option{height:42px!important;min-height:42px!important;padding:4px!important}
.chat-sticker--option{width:17px!important;height:17px!important}
.chat-sticker--message,.wechat-message-row.is-sticker .chat-sticker--message{width:34px!important;height:34px!important;margin:2px 1px!important}
@media(max-width:420px){.wechat-message-row.is-sticker .chat-sticker--message{width:32px!important;height:32px!important}}

/* Stitch-approved player lobby: compact, high-density game entry list. */
.lobby-featured-games{margin-top:16px;padding:16px;border:1px solid var(--line);border-radius:15px;background:#0b1714}
.lobby-featured-heading{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:10px}
.lobby-featured-heading h2{margin:0;color:var(--text);font-size:20px;line-height:28px}
.lobby-featured-heading small{max-width:160px;color:var(--muted);font-size:11px;line-height:16px;text-align:right}
.lobby-featured-list{display:grid;gap:7px}
.lobby-featured-card{display:grid;grid-template-columns:44px minmax(0,1fr) auto 18px;align-items:center;gap:10px;min-height:64px;width:100%;padding:9px 10px;border:1px solid #20312e;border-radius:12px;background:#091310;text-align:left;transition:border-color .16s ease,background .16s ease,transform .16s ease}
.lobby-featured-card:hover{border-color:#315449;background:#0d1b17}
.lobby-featured-card:active{transform:scale(.985)}
.lobby-featured-card:focus-visible{outline:2px solid var(--mint);outline-offset:2px}
.lobby-featured-badge{display:grid;place-items:center;width:48px;height:48px;border-radius:12px;background:#101f1c;color:var(--mint);font-size:15px;font-weight:800}
.lobby-featured-card.is-coral .lobby-featured-badge{background:#382522;color:#ff9386}
.lobby-featured-card.is-gold .lobby-featured-badge{border:1px solid #705a2d;background:#2b2415;color:#f0bd63}
.game-entry-icon{position:relative;isolation:isolate;overflow:hidden;border:1px solid #315449;background:#101f1c!important;font-family:"Cascadia Mono","SFMono-Regular",Consolas,monospace}
.game-entry-icon>*{position:absolute;display:grid;place-items:center;margin:0;font-style:normal;line-height:1}
.game-entry-icon-number{z-index:2;left:7px;top:13px;font-size:16px;font-weight:800;letter-spacing:-1px}
.game-entry-icon-motif{z-index:1}
.game-entry-icon.is-dubai{color:#55e6b1}
.game-entry-icon.is-dubai .game-entry-icon-motif{left:7px;right:7px;bottom:8px;height:11px;border-bottom:1.5px solid currentColor;border-radius:0 0 55% 45%;transform:rotate(-7deg)}
.game-entry-icon.is-canada{color:#55e6b1}
.game-entry-icon.is-canada .game-entry-icon-motif{right:6px;top:13px;width:13px;height:15px;background:#ff7668;clip-path:polygon(50% 0,61% 27%,82% 17%,76% 42%,100% 43%,77% 61%,84% 84%,57% 72%,50% 100%,43% 72%,16% 84%,23% 61%,0 43%,24% 42%,18% 17%,39% 27%)}
.game-entry-icon.is-dragon-tiger{color:#f0bd63}
.game-entry-icon.is-dragon-tiger::after{position:absolute;left:23px;top:9px;width:1.5px;height:30px;border-radius:2px;background:#f0bd63;content:"";opacity:.8;transform:rotate(18deg)}
.game-entry-icon-duel{top:14px;width:14px;height:20px;border:1.5px solid currentColor;background:transparent;clip-path:polygon(0 0,100% 50%,0 100%,28% 50%)}
.game-entry-icon-duel.is-left{left:7px;color:#ff7668}
.game-entry-icon-duel.is-right{right:7px;color:#f0bd63;transform:scaleX(-1)}
.game-entry-icon.is-mines{color:#ff8a7d}
.game-entry-icon-packet{left:8px;top:10px;width:31px;height:27px;border:1.5px solid currentColor;border-radius:6px;background:transparent}
.game-entry-icon-packet::before{position:absolute;left:4px;right:4px;top:8px;height:1.5px;background:currentColor;content:"";opacity:.7}
.game-entry-icon-mine{z-index:3;left:20px;top:16px;width:8px;height:8px;border:1.5px solid #f0bd63;border-radius:50%;background:#101f1c}
.game-entry-icon-mine::before,.game-entry-icon-mine::after{position:absolute;left:3px;top:-5px;width:1.5px;height:16px;background:#f0bd63;content:""}.game-entry-icon-mine::after{transform:rotate(90deg)}
.game-entry-icon.is-poker{color:#f0bd63}
.game-entry-icon-card{left:9px;top:10px;width:25px;height:29px;border:1.5px solid #8b7138;border-radius:5px;background:#101f1c;transform:translate(-2px,1px)}
.game-entry-icon-suit{z-index:2;right:8px;top:8px;width:25px;height:30px;border:1.5px solid currentColor;border-radius:5px;background:#101f1c;color:#f0bd63;font-size:17px}
.game-entry-icon{border-color:#806229;background-image:url('./assets/game-emblems-v2.png')!important;background-repeat:no-repeat!important;background-size:200% 300%!important;box-shadow:inset 0 0 0 1px #f0bd6326,0 3px 8px #0007}
.game-entry-icon>*{display:none!important}
.game-entry-icon::before{position:absolute;z-index:3;top:-16px;bottom:-16px;left:-12px;width:24px;background:linear-gradient(90deg,transparent,#ffd77852 46%,#fff2bd82 54%,transparent);content:"";filter:blur(1.5px);opacity:.78;pointer-events:none;transform:rotate(-28deg);transform-origin:center}
.game-entry-icon::after{position:absolute;z-index:4;inset:0;background:radial-gradient(circle at 5% 35%,#ffe6a54d 0,transparent 35%);content:"";pointer-events:none}
.game-entry-icon.is-dubai{background-position:0 0!important}
.game-entry-icon.is-canada{background-position:100% 0!important}
.game-entry-icon.is-dragon-tiger{background-position:0 50%!important}
.game-entry-icon.is-mines{background-position:100% 50%!important}
.game-entry-icon.is-poker{background-position:0 100%!important}
.lobby-featured-card:active .game-entry-icon{filter:brightness(.84);transform:scale(.95)}
.lobby-featured-card:disabled .game-entry-icon{filter:grayscale(1);opacity:.3}
.lobby-featured-copy{display:grid;gap:2px;min-width:0}
.lobby-featured-copy strong{overflow:hidden;color:var(--text);font-size:15px;line-height:20px;text-overflow:ellipsis;white-space:nowrap}
.lobby-featured-copy small{overflow:hidden;color:#a5b7b1;font-size:12px;line-height:17px;text-overflow:ellipsis;white-space:nowrap}
.lobby-featured-copy em{overflow:hidden;color:var(--muted);font-size:10px;font-style:normal;line-height:15px;text-overflow:ellipsis;white-space:nowrap}
.lobby-featured-state{padding:4px 7px;border:1px solid #315449;border-radius:999px;color:var(--mint);font-size:10px;font-weight:700;white-space:nowrap}
.lobby-featured-arrow{color:#8da098;font-size:22px;line-height:1}
#lobby .quick-zone{margin-top:12px}
@media(max-width:420px){
  .lobby-featured-games{padding:12px}
  .lobby-featured-heading{align-items:start;flex-direction:column;gap:2px}
  .lobby-featured-heading small{max-width:none;text-align:left}
  .lobby-featured-card{grid-template-columns:42px minmax(0,1fr) 16px;gap:9px;min-height:62px;padding:9px}
  .lobby-featured-badge{width:42px;height:42px}
  .lobby-featured-state{display:none}
}
@media(prefers-reduced-motion:reduce){.lobby-featured-card{transition:none}.lobby-featured-card:active{transform:none}}

/* The more-actions sheet has exactly three actions. Size the frame to that
   content so a phantom fourth grid column never leaves an empty slot. */
.chat-plus-panel{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  width:min(214px,calc(100vw - 24px))!important;
  gap:6px!important;
  padding:7px!important;
  border-color:#3d514a!important;
  border-radius:12px!important;
  background:#202825!important;
  box-shadow:inset 0 1px 0 #ffffff0a,0 12px 28px #0008!important;
}
.chat-plus-panel.has-four-actions{grid-template-columns:repeat(4,minmax(0,1fr))!important;width:min(280px,calc(100vw - 24px))!important}
.chat-plus-panel.has-many-actions{grid-template-columns:repeat(3,minmax(0,1fr))!important;width:min(214px,calc(100vw - 24px))!important}
.chat-plus-option{
  min-width:0!important;
  min-height:54px!important;
  padding:7px 5px!important;
  border-color:#315047!important;
  border-radius:8px!important;
  background:#162722!important;
  color:#e3eee9!important;
  font-size:12px!important;
  font-weight:600!important;
  line-height:1.3!important;
  transition:transform .12s ease,background-color .12s ease,border-color .12s ease!important;
}
.chat-plus-option:focus-visible{outline:2px solid #29a879!important;outline-offset:2px!important}
.chat-plus-option:active{transform:scale(.97)!important;border-color:#3d705f!important;background:#1d342d!important}
@media(max-width:300px){.chat-plus-panel.has-four-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important;width:min(146px,calc(100vw - 16px))!important}}

/* Red-packet games enter a live room first. Room choice stays visible near the
   header, while the send controls open only from the bottom composer plus. */
.redpacket-room-picker{display:grid!important;gap:6px!important;margin:0!important;padding:10px 12px!important;border:1px solid #29443b!important;border-radius:10px!important;background:#0b1714!important}
.redpacket-room-picker>span{color:#8fa29b!important;font-size:11px!important;font-weight:650!important}
.redpacket-room-picker>select{width:100%!important;border-color:#355249!important;background:#101f1b!important;color:#eef6f2!important}
.inline-detail-page--games>.inline-detail-surface>form.redpacket-game-send-form{gap:8px!important;margin:0 -4px!important;padding:10px!important;border-color:#355249!important;background:#101d19!important;box-shadow:inset 0 1px 0 #ffffff08,0 8px 24px #0005!important}
.inline-detail-page--games>.inline-detail-surface>form.redpacket-game-send-form[hidden]{display:none!important}
.redpacket-game-send-form>strong{color:#d9c17d;font-size:12px;font-weight:750}
.redpacket-game-send-form .confirm{min-height:40px!important}

/* Dragon Tiger and Mines are conversations first.  The transcript owns the
   room surface; room selection, rules, results and packet controls become one
   scrollable tool sheet controlled by the composer's plus button. */
.inline-detail-page--games>.player-game-conversation-surface{
  position:relative!important;
  height:calc(100dvh - 84px)!important;
  min-height:calc(100dvh - 84px)!important;
  max-height:none!important;
  padding-bottom:0!important;
  overflow:hidden!important;
}
.inline-detail-page--games>.player-game-conversation-surface>.redpacket-room-chat-stream{
  flex:1 1 auto!important;
  align-content:start!important;
  min-height:0!important;
  max-height:none!important;
  margin:0 -16px!important;
  padding:14px 12px!important;
  border:0!important;
  border-radius:0!important;
  background:var(--wechat-bg,#111715)!important;
  overflow-y:auto!important;
}
.redpacket-room-tools[hidden]{display:none!important}
.inline-detail-page--games>.player-game-conversation-surface>.redpacket-room-tools{
  position:absolute!important;
  z-index:5!important;
  inset:56px 0 44px!important;
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
  padding:12px 16px 18px!important;
  overflow-y:auto!important;
  overscroll-behavior:contain;
  border:0!important;
  background:#07100ff2!important;
  box-shadow:inset 0 1px 0 #ffffff08!important;
  backdrop-filter:blur(8px);
}
.inline-detail-page--games>.player-game-conversation-surface>.redpacket-room-tools[hidden]{display:none!important}
.redpacket-room-announcement-button{
  position:absolute!important;
  z-index:7!important;
  top:0!important;
  right:8px!important;
  width:auto!important;
  min-width:58px!important;
  height:56px!important;
  min-height:56px!important;
  padding:0 8px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#d9c17d!important;
  font-size:12px!important;
  font-weight:700!important;
}
.redpacket-room-announcement-button[aria-expanded="true"]{color:#f3d57d!important}
.inline-detail-page--games>.player-game-conversation-surface>h2.redpacket-room-title{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:1px!important;
  padding-inline:62px!important;
}
.redpacket-room-title>strong{display:block;max-width:100%;overflow:hidden;color:#f1f5f2;font-size:16px;font-weight:750;line-height:21px;text-overflow:ellipsis;white-space:nowrap}
.redpacket-room-title>small{display:block;color:#879894;font-size:10px;font-weight:500;line-height:14px;white-space:nowrap}
.inline-detail-page--games>.player-game-conversation-surface>.redpacket-room-announcement{
  position:absolute!important;
  z-index:6!important;
  inset:56px 0 44px!important;
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
  padding:12px 16px 18px!important;
  overflow-y:auto!important;
  overscroll-behavior:contain;
  border:0!important;
  background:#07100ff7!important;
}
.inline-detail-page--games>.player-game-conversation-surface>.redpacket-room-announcement[hidden]{display:none!important}
.redpacket-room-announcement>small{
  padding:11px 12px!important;
  border:1px solid #233a33!important;
  border-radius:10px!important;
  background:#0b1714!important;
  color:#a7b6b0!important;
  font-size:12px!important;
  line-height:1.55!important;
}
.redpacket-room-announcement>div[style*="border:1px"],
.redpacket-room-announcement>div[style*="max-height"]{
  margin:0!important;
  padding:11px 12px!important;
  border:1px solid #29443b!important;
  border-radius:10px!important;
  background:#0b1714!important;
}
.redpacket-room-announcement>div[style*="max-height"]{display:grid!important;gap:7px!important;max-height:none!important;overflow:visible!important}
.redpacket-room-send-tools{justify-content:flex-start!important}
.redpacket-room-send-tools>p{margin:0!important;min-height:18px!important;color:#a8b8b2!important;font-size:12px!important}
.redpacket-room-tools>p:first-child{
  margin:0!important;
  padding:11px 12px!important;
  border:1px solid #233a33!important;
  border-radius:10px!important;
  background:#0b1714!important;
  color:#a7b6b0!important;
  font-size:12px!important;
  line-height:1.55!important;
}
.redpacket-room-tools>div[style*="max-height"]{
  display:grid!important;
  align-content:start!important;
  gap:0!important;
  max-height:none!important;
  min-height:72px!important;
  padding:0!important;
  overflow:visible!important;
  border:1px solid #233a33!important;
  border-radius:10px!important;
  background:#0b1513!important;
}
.redpacket-room-tools>form.redpacket-game-send-form{
  display:grid!important;
  gap:8px!important;
  margin:0!important;
  padding:11px!important;
  border:1px solid #355249!important;
  border-radius:11px!important;
  background:#101d19!important;
  box-shadow:inset 0 1px 0 #ffffff08,0 8px 24px #0005!important;
}

/* Red-packet rooms use the same spatial language as a WeChat group chat.
   These deliberately outrank the older generic game-result card selectors. */
body:not(.admin-site) .inline-detail-page--games>section.player-game-conversation-surface.inline-detail-surface>div.redpacket-room-chat-stream.wechat-message-list{
  display:flex!important;
  flex:1 1 auto!important;
  flex-direction:column!important;
  align-content:initial!important;
  align-items:stretch!important;
  gap:14px!important;
  width:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin:0 -16px!important;
  padding:16px 12px 24px!important;
  border:0!important;
  border-radius:0!important;
  background:#111715!important;
  overflow-y:auto!important;
  scrollbar-width:thin;
  scrollbar-color:#555d59 transparent;
}
body:not(.admin-site) .redpacket-room-chat-stream.wechat-message-list>article.wechat-message-row{
  display:grid!important;
  flex:0 0 auto!important;
  align-items:start!important;
  gap:9px!important;
  width:100%!important;
  max-width:none!important;
  min-height:0!important;
  margin:0!important;
  padding:0 2px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
body:not(.admin-site) .redpacket-room-chat-stream>.wechat-message-row.is-peer{grid-template-columns:40px minmax(0,1fr)!important}
body:not(.admin-site) .redpacket-room-chat-stream>.wechat-message-row.is-mine{grid-template-columns:minmax(0,1fr) 40px!important}
body:not(.admin-site) .redpacket-room-chat-stream .wechat-message-avatar{
  width:40px!important;
  height:40px!important;
  border-radius:4px!important;
  background:#517d70!important;
  color:#f6e2a7!important;
  font-size:14px!important;
  box-shadow:none!important;
}
body:not(.admin-site) .redpacket-room-chat-stream .wechat-message-row.is-mine .wechat-message-avatar{background:#75623d!important;color:#fff3c9!important}
body:not(.admin-site) .redpacket-room-chat-stream .wechat-message-body{gap:4px!important;max-width:min(72vw,278px)!important}
body:not(.admin-site) .redpacket-room-chat-stream .wechat-message-sender{
  padding:0 2px!important;
  color:#8b9692!important;
  font-size:11px!important;
  line-height:1.2!important;
}
body:not(.admin-site) .redpacket-room-chat-stream .wechat-message-bubble{
  min-height:40px!important;
  padding:9px 12px!important;
  border-radius:4px!important;
  background:#262c2a!important;
  color:#f0f3f2!important;
  font-size:14px!important;
  line-height:1.55!important;
  box-shadow:0 1px 1px #0005!important;
}
body:not(.admin-site) .redpacket-room-chat-stream .wechat-message-row.is-mine .wechat-message-bubble{background:#95ec69!important;color:#111!important}
body:not(.admin-site) .redpacket-room-chat-stream>time.wechat-time-separator{
  flex:0 0 auto!important;
  align-self:center!important;
  width:max-content!important;
  max-width:80%!important;
  margin:2px auto!important;
  padding:3px 7px!important;
  border:0!important;
  border-radius:4px!important;
  background:#262c2a!important;
  color:#8d9692!important;
  font-size:10px!important;
  line-height:1.35!important;
}
body:not(.admin-site) .redpacket-room-chat-stream>p.wechat-system-message{
  flex:0 0 auto!important;
  align-self:center!important;
  max-width:86%!important;
  margin:2px auto!important;
  padding:4px 8px!important;
  border:0!important;
  border-radius:4px!important;
  background:#262c2a!important;
  color:#949d99!important;
  font-size:11px!important;
  line-height:1.45!important;
  text-align:center!important;
}
body:not(.admin-site) .redpacket-room-chat-stream .wechat-message-row.is-sticker .wechat-message-bubble{
  min-height:0!important;
  padding:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
body:not(.admin-site) .redpacket-room-chat-stream .wechat-message-row.is-sticker .chat-sticker--message{
  width:26.6667px!important;
  height:26.6667px!important;
  margin:0!important;
}

/* Hard mobile invariant for red-packet rooms: the page is pinned between the
   viewport top and the persistent player navigation. Only the transcript or
   the plus tool sheet may scroll; the composer always owns the last row. */
@media(max-width:719px){
  body:has(#games.is-detail-page){overflow:hidden!important}
  #games.is-detail-page{
    position:fixed!important;
    z-index:4!important;
    top:0!important;
    right:auto!important;
    bottom:calc(55px + env(safe-area-inset-bottom))!important;
    left:50%!important;
    width:min(650px,100vw)!important;
    height:auto!important;
    min-height:0!important;
    padding:0!important;
    overflow:hidden!important;
    transform:translateX(-50%)!important;
  }
  #games.is-detail-page>.inline-detail-page--games{
    height:100%!important;
    min-height:0!important;
    padding:0!important;
    overflow:hidden!important;
  }
  #games.is-detail-page>.inline-detail-page--games>.player-game-conversation-surface{
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
  }
  #games.is-detail-page>.inline-detail-page--games>.player-game-conversation-surface>form.wx-chat-composer{
    position:relative!important;
    bottom:auto!important;
    flex:0 0 44px!important;
    margin:0 -16px!important;
  }
}

/* Narrow poker lobbies need separate breathing room for copy and controls.
   Stack the private-table action before either label can collide or truncate. */
.poker-heading{min-height:54px!important;padding:4px 4px 8px!important}
.poker-heading-copy{display:grid!important;gap:3px!important;min-width:0!important}
.poker-heading-copy small,.poker-heading-copy h2{display:block!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
.poker-heading-copy h2{margin:0!important;line-height:1.25!important}
.poker-tabs{margin-top:2px!important}
.inline-detail-page--games>.inline-detail-back{
  z-index:10!important;
  width:48px!important;
  min-width:48px!important;
  height:54px!important;
  min-height:54px!important;
  overflow:hidden!important;
  color:transparent!important;
  font-size:0!important;
}
.inline-detail-page--games>.inline-detail-back::before{
  display:block!important;
  content:"\2039"!important;
  color:#e8c66f!important;
  font-size:30px!important;
  font-weight:300!important;
  line-height:54px!important;
  text-align:center!important;
}
.inline-detail-page--games>.poker-shell>.poker-heading{padding-left:46px!important}
@media(max-width:360px){
  .poker-shell{gap:11px!important}
  .poker-private-join{grid-template-columns:minmax(0,1fr)!important}
  .poker-private-join input,.poker-private-join button{width:100%!important}
  .poker-private-join button{min-height:38px!important}
}

/* Complete WeChat-style media messages. */
.wechat-message-row.is-image .wechat-message-bubble{padding:0!important;background:transparent!important;box-shadow:none!important}
.wechat-message-row.is-image .wechat-message-bubble::before,
.wechat-message-row.is-image .wechat-message-bubble::after{display:none!important}
.chat-image-message{display:grid!important;place-items:center!important;width:min(190px,52vw)!important;min-height:108px!important;max-height:240px!important;margin:0!important;padding:0!important;overflow:hidden!important;border:1px solid #39433f!important;border-radius:7px!important;background:#202725!important;color:#8f9a96!important;font-size:11px!important;box-shadow:0 3px 12px #0005!important}
.chat-image-message img{display:block;width:100%;height:auto;max-height:240px;object-fit:cover}.chat-image-message.is-loading{animation:chat-media-pulse 1.1s ease-in-out infinite}.chat-image-message.is-error{border-color:#6b3c39!important;color:#e99991!important;animation:none}
.chat-voice-message{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;width:clamp(92px,28vw,156px)!important;min-height:34px!important;margin:0!important;padding:4px 1px!important;border:0!important;background:transparent!important;color:inherit!important;font-size:12px!important}.chat-voice-wave{display:flex;align-items:center;gap:2px;height:20px}.chat-voice-wave i{display:block;width:2px;height:var(--voice-height,8px);border-radius:99px;background:currentColor;opacity:.78}.chat-voice-wave i:nth-child(1),.chat-voice-wave i:nth-child(5){--voice-height:6px}.chat-voice-wave i:nth-child(2),.chat-voice-wave i:nth-child(4){--voice-height:12px}.chat-voice-wave i:nth-child(3){--voice-height:18px}.chat-voice-message.is-playing .chat-voice-wave i{animation:chat-voice-wave .72s ease-in-out infinite}.chat-voice-message.is-playing .chat-voice-wave i:nth-child(2){animation-delay:.12s}.chat-voice-message.is-playing .chat-voice-wave i:nth-child(3){animation-delay:.24s}.chat-voice-message.is-playing .chat-voice-wave i:nth-child(4){animation-delay:.36s}.chat-voice-message.is-loading{opacity:.55}
.chat-voice-control{position:relative}.chat-voice-control.is-recording{border-radius:50%!important;background:#743e39!important;color:#ffd9d4!important;animation:chat-recording-pulse 1.05s ease-in-out infinite}.chat-voice-control.is-recording::after{position:absolute;left:50%;bottom:calc(100% + 8px);min-width:38px;padding:4px 7px;border:1px solid #7e514a;border-radius:999px;background:#2b1816;color:#ffd7d1;content:attr(data-seconds);font-size:10px;transform:translateX(-50%);box-shadow:0 5px 14px #0008}.chat-voice-control.is-uploading,.wx-chat-composer.is-media-uploading .chat-plus-control{opacity:.5;pointer-events:none}.wx-chat-composer.is-media-busy .chat-send-control{opacity:.6;pointer-events:none}
.chat-image-preview{width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#000e}.chat-image-preview::backdrop{background:#000}.chat-image-preview img{display:block;width:100%;height:100%;object-fit:contain}.chat-image-preview>button{position:fixed;z-index:2;right:calc(14px + env(safe-area-inset-right));top:calc(14px + env(safe-area-inset-top));display:grid;place-items:center;width:42px;height:42px;padding:0;border-radius:50%;background:#15201dcc;color:#fff;font-size:30px;line-height:1}
@keyframes chat-media-pulse{50%{filter:brightness(1.18)}}@keyframes chat-recording-pulse{50%{box-shadow:0 0 0 6px #a9564b22}}@keyframes chat-voice-wave{50%{height:5px;opacity:.42}}

/* Keep native select menus inside the emerald-and-ink visual system. Chromium
   on Windows otherwise paints the active option with the operating-system
   blue, even though the closed control already uses the app theme. */
body select{color-scheme:dark;accent-color:#16845f}
body select option{background-color:#0b1714;color:#eaf2ee}
body select option:checked{background-color:#16845f;background-image:linear-gradient(#16845f,#16845f);color:#f4fff9}
body select option:hover,
body select option:focus{background-color:#1b7258;background-image:linear-gradient(#1b7258,#1b7258);color:#f4fff9}
