:root{
  --ink:#f8f0dc;--muted:#a9c0b9;--gold:#f3c86b;--red:#d8484d;
  --deep:#041c18;--panel:#082922;--felt:#07543f;--felt2:#063f32;
  font-family:Inter,"PingFang SC","Microsoft YaHei",system-ui,sans-serif;
}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#031612;color:var(--ink)}
body{background:radial-gradient(circle at 50% -20%,#164e42 0,transparent 42%),#031612}
button{font:inherit}.app-shell{min-height:100vh;max-width:1180px;margin:auto;padding:18px 22px 28px}
.topbar{height:68px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand{display:flex;align-items:center;gap:12px;background:none;border:0;color:inherit;padding:0;cursor:pointer;text-align:left}
.brand-mark{display:grid;place-items:center;width:42px;height:48px;border-radius:9px;background:#f6edd8;color:#b52831;font:800 25px serif;box-shadow:0 7px 18px #0005;transform:rotate(-4deg)}
.brand b{display:block;font-size:22px;letter-spacing:.18em}.brand small{color:var(--muted);font-size:11px;letter-spacing:.08em}
.room-meta{display:flex;align-items:center;gap:18px;color:var(--muted);font-size:13px}.room-meta b{color:var(--ink);letter-spacing:.08em}
.live-dot:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:#46d89a;box-shadow:0 0 12px #46d89a;margin-right:7px}
.icon-btn{border:1px solid #ffffff25;background:#ffffff0a;color:var(--ink);border-radius:999px;padding:9px 15px;cursor:pointer}
.game-stage{display:grid;grid-template-columns:minmax(0,1fr) 280px;grid-template-rows:auto auto;gap:18px}
.table{position:relative;grid-row:span 2;min-height:720px;overflow:hidden;border:1px solid #ffffff1c;border-radius:46% / 11%;background:radial-gradient(ellipse at center,#0a7354 0,#07513f 52%,#043a2e 100%);box-shadow:inset 0 0 0 9px #052b25,inset 0 0 0 11px #ad8b4f55,0 22px 60px #0009}
.table:before{content:"";position:absolute;inset:20px;border:1px solid #ffffff10;border-radius:inherit;pointer-events:none}
.felt-mark{position:absolute;left:50%;top:47%;transform:translate(-50%,-50%) rotate(-6deg);font:800 42px/1 serif;color:#ffffff0d;letter-spacing:.25em;text-align:center}.felt-mark small{font:600 9px sans-serif;letter-spacing:.5em}
.round-pill{position:absolute;top:45%;left:50%;transform:translate(-50%,-50%);display:flex;gap:11px;align-items:center;padding:8px 12px;border-radius:999px;background:#001a14b8;border:1px solid #ffffff16;font-size:12px;color:var(--muted)}.round-pill b{color:var(--gold)}
.pot{position:absolute;left:50%;top:56%;transform:translate(-50%,-50%);text-align:center}.pot small{display:block;color:var(--muted);font-size:11px;letter-spacing:.08em}.pot strong{font:800 24px Georgia;color:var(--gold)}
.seat{position:absolute;width:220px;text-align:center;transition:.35s ease}.seat-0{left:50%;bottom:23px;transform:translateX(-50%)}.seat-1{left:28px;bottom:137px}.seat-2{left:35px;top:92px}.seat-3{left:50%;top:29px;transform:translateX(-50%)}.seat-4{right:35px;top:92px}.seat-5{right:28px;bottom:137px}
.player{display:flex;align-items:center;justify-content:center;gap:9px;margin-bottom:8px}.avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font-weight:800;color:#09231d;border:2px solid #e9d9b5;box-shadow:0 5px 15px #0007}.player-info{text-align:left;max-width:112px}.player-info b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.player-info small{color:var(--gold);font:700 12px Georgia}.banker{font-size:10px;padding:2px 5px;border-radius:4px;background:var(--red);margin-left:4px}
.cards{height:82px;display:flex;justify-content:center;gap:5px;perspective:500px}.card{position:relative;width:48px;height:68px;border-radius:7px;background:#f9f3e5;color:#1c2621;box-shadow:0 5px 12px #001b1499;border:1px solid #fff;display:flex;flex-direction:column;align-items:flex-start;padding:5px;font:bold 14px Georgia;transition:.45s cubic-bezier(.2,.8,.2,1);animation:deal .35s both}.card.red{color:#bd2934}.card i{align-self:center;font-style:normal;font-size:24px;margin-top:3px}.card.back{background:repeating-linear-gradient(45deg,#17476a 0 4px,#24628c 4px 8px);border:3px solid #dce9ee;box-shadow:inset 0 0 0 2px #12384f,0 5px 12px #001b1499;color:transparent}.result-tag{display:inline-block;min-width:94px;margin-top:-1px;padding:5px 10px;border-radius:5px;background:linear-gradient(#df5960,#ad2732);border:1px solid #ffafb0;color:#fff4d7;font-weight:800;font-size:13px;box-shadow:0 5px 12px #0006}.result-tag.winner{background:linear-gradient(#f0c960,#b9812e);color:#2d1a05;border-color:#ffe39b;animation:winnerPulse 1s infinite alternate}.bet-chip{display:inline-block;margin-bottom:5px;color:var(--gold);font:800 12px Georgia}.bet-chip:before{content:"●";color:#f6c54f;margin-right:4px}
.control-panel,.history-panel{background:#08251fbb;border:1px solid #ffffff15;border-radius:20px;padding:18px;box-shadow:0 18px 35px #0005;backdrop-filter:blur(16px)}
.balance{display:flex;justify-content:space-between;align-items:end;padding-bottom:14px;border-bottom:1px solid #ffffff12}.balance small,.bet-control small{color:var(--muted);font-size:12px}.balance strong{font:800 25px Georgia;color:var(--gold)}
.bet-control{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;gap:8px;margin:14px 0;text-align:center}.bet-control button{height:42px;border-radius:12px;border:1px solid #ffffff1b;background:#ffffff0a;color:var(--ink);font-size:22px;cursor:pointer}.bet-control button:hover{background:#ffffff16}.bet-control strong{display:block;font:800 20px Georgia;color:var(--gold)}
.deal-btn{width:100%;padding:13px;border:0;border-radius:14px;background:linear-gradient(135deg,#e9bd57,#c98b2d);color:#281904;font-weight:900;cursor:pointer;box-shadow:0 10px 25px #ca922f38}.deal-btn span,.deal-btn small{display:block}.deal-btn small{font-size:10px;font-weight:600;opacity:.68;margin-top:2px}.deal-btn:disabled{filter:grayscale(1);opacity:.45;cursor:not-allowed}
.section-title{display:flex;justify-content:space-between;margin-bottom:12px}.section-title span{font-size:12px;color:var(--muted)}.history{display:flex;flex-direction:column;gap:8px}.history-row{display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:8px;padding:9px;border-radius:10px;background:#ffffff08;font-size:12px}.history-row i{display:grid;place-items:center;width:26px;height:26px;border-radius:7px;font-style:normal;background:#ffffff0c}.history-row.win i{background:#bd8731;color:#211300}.history-row b{font-size:12px}.history-row small{display:block;color:var(--muted)}.history-row strong{color:#ec6870}.history-row.win strong{color:#f0ca6b}.empty{padding:28px 4px;text-align:center;color:#77938a;font-size:12px}
.toast{position:absolute;left:50%;top:67%;transform:translate(-50%,12px);opacity:0;background:#001a15e8;border:1px solid #ffffff1d;border-radius:999px;padding:10px 18px;color:#fff;font-size:13px;transition:.25s;pointer-events:none}.toast.show{opacity:1;transform:translate(-50%,0)}
dialog{width:min(620px,calc(100% - 28px));padding:0;border:1px solid #ffffff20;border-radius:24px;background:#08251f;color:var(--ink);box-shadow:0 25px 90px #000c}dialog::backdrop{background:#00110cbb;backdrop-filter:blur(5px)}.dialog-head{display:flex;justify-content:space-between;align-items:start;padding:24px 24px 15px}.dialog-head small{color:var(--gold);letter-spacing:.2em}.dialog-head h2{margin:5px 0 0;font-size:26px}.dialog-head button{border:0;background:#ffffff0c;color:#fff;width:35px;height:35px;border-radius:50%;font-size:23px;cursor:pointer}.rules-grid{padding:0 24px;display:grid;grid-template-columns:1fr 1fr;gap:10px}.rules-grid article{display:flex;gap:12px;background:#ffffff08;border-radius:14px;padding:14px}.rules-grid article>span{color:var(--gold);font:800 16px Georgia}.rules-grid h3{font-size:14px;margin:0 0 6px}.rules-grid p{font-size:12px;line-height:1.65;color:var(--muted);margin:0}.safe-note{margin:20px 24px 24px;padding:12px;border-left:3px solid var(--gold);background:#ffffff06;color:#aec4bc;font-size:12px}
@keyframes deal{from{opacity:0;transform:translateY(-35px) rotateY(90deg)}to{opacity:1;transform:none}}@keyframes winnerPulse{to{box-shadow:0 0 18px #ffd76c99}}
@media(max-width:820px){.app-shell{padding:10px 10px 22px}.topbar{height:58px}.room-meta{display:none}.game-stage{display:block}.table{min-height:610px;border-radius:35% / 8%}.control-panel{position:sticky;bottom:8px;z-index:5;margin-top:10px;display:grid;grid-template-columns:1fr 1.25fr;gap:10px;padding:12px}.balance{padding:0;border:0}.balance{display:block}.balance strong{display:block;font-size:20px}.bet-control{margin:0}.deal-btn{grid-column:span 2}.history-panel{margin-top:10px}.seat{width:156px}.seat-0{bottom:17px}.seat-1{left:3px;bottom:120px}.seat-2{left:4px;top:84px}.seat-3{top:22px}.seat-4{right:4px;top:84px}.seat-5{right:3px;bottom:120px}.avatar{width:34px;height:34px}.cards{height:69px;gap:3px}.card{width:39px;height:57px;padding:4px;font-size:12px}.card i{font-size:19px}.result-tag{min-width:78px;font-size:11px;padding:4px 7px}.player-info b{font-size:11px}.round-pill{top:45%}.pot{top:56%}.toast{top:67%;white-space:nowrap}.rules-grid{grid-template-columns:1fr}}
@media(max-width:430px){.table{min-height:570px}.seat{width:140px}.player{gap:5px}.player-info{max-width:80px}.seat-1{bottom:111px}.seat-5{bottom:111px}.seat-2{top:82px}.seat-4{top:82px}.felt-mark{font-size:34px}.rules-grid{padding:0 16px}.dialog-head{padding:20px 16px 12px}.safe-note{margin:16px}}

/* 牛牛三公 · 中国红长桌版 */
:root{--deep:#210307;--panel:#35070b;--felt:#9e101b;--felt2:#710b12;--gold:#ffd164;--red:#e64b50}
html,body{background:#160104}body{background:radial-gradient(circle at 50% -20%,#6f1018 0,transparent 48%),#160104}
.hidden{display:none!important}.top-actions{display:flex;gap:8px}.app-shell{max-width:1240px}.table{min-height:680px;border-radius:28px;background:radial-gradient(ellipse at center,#bd1d29 0,#98131e 53%,#650911 100%);box-shadow:inset 0 0 0 9px #43070c,inset 0 0 0 11px #f3be575e,0 22px 60px #0009}.table:before{border-radius:19px}.felt-mark{font-family:"STKaiti","KaiTi",serif;color:#ffdd7820;font-size:48px;letter-spacing:.35em;line-height:.9}.felt-mark strong{font-size:68px}.felt-mark small{display:block;margin-top:16px;color:#ffd56d24}.round-pill{background:#3c050ad9}.pot small{color:#f3c9bc}.seat-0{bottom:26px}.seat-1{left:34px;bottom:143px}.seat-2{left:38px;top:96px}.seat-3{top:32px}.seat-4{right:38px;top:96px}.seat-5{right:34px;bottom:143px}.control-panel,.history-panel{background:#30070bdd}.brand-mark{background:#9b111b;color:#ffd66b;border:1px solid #eebc54}.brand b{letter-spacing:.08em}.banker{background:#d89c2c}.empty-seat{border:1px dashed #ffd36c88;background:#4b070c66;color:#ffd989;border-radius:999px;padding:10px 15px;margin-top:20px;cursor:default}.empty-seat span{font-size:18px;margin-right:6px}
.auth-screen,.lobby-screen{min-height:100vh;display:grid;place-items:center;padding:22px;background:radial-gradient(circle at 50% 20%,#8d1019 0,#31050a 43%,#160104 78%)}.auth-card,.lobby-card{width:min(430px,100%);border:1px solid #f1c05843;border-radius:26px;padding:34px;background:#2b060ae8;box-shadow:0 30px 100px #000b;backdrop-filter:blur(18px)}.fortune-seal{width:70px;height:70px;display:grid;place-items:center;margin:auto;border-radius:18px;background:#a8111d;border:2px solid #f6cc69;color:#ffd66b;font:800 38px serif;box-shadow:0 12px 35px #0007;transform:rotate(-4deg)}.eyebrow{text-align:center;color:var(--gold);font-size:10px;letter-spacing:.34em;margin:20px 0 4px}.auth-card h1{text-align:center;font-size:34px;margin:0}.auth-copy{text-align:center;color:#d2aaa3;font-size:13px;margin:8px 0 28px}.auth-card label,.lobby-card label,.admin-body label{display:block;color:#d8b4ad;font-size:12px;margin:12px 0}.auth-card input,.lobby-card input,.admin-body input,.admin-body select{width:100%;margin-top:7px;padding:12px 13px;border-radius:11px;border:1px solid #ffffff1c;background:#160306;color:#fff;outline:none}.auth-card input:focus,.lobby-card input:focus,.admin-body input:focus,.admin-body select:focus{border-color:#f1c158}.auth-actions,.admin-actions{display:flex;gap:10px;margin-top:20px}.auth-actions button,.lobby-card button,.admin-body button{flex:1;padding:11px;border-radius:11px;border:1px solid #ffffff1c;background:#ffffff0b;color:#fff;font-weight:800;cursor:pointer}.primary{background:linear-gradient(135deg,#f2cb68,#c88d2b)!important;color:#2a1003!important;border:0!important}.danger{background:#75121a!important;color:#ffd1d1!important}.form-error{min-height:18px;margin:12px 0 0;text-align:center;color:#ff8589;font-size:12px}.lobby-card{width:min(760px,100%)}.lobby-head{display:flex;justify-content:space-between;align-items:center}.lobby-head small{color:#d2aaa3}.lobby-head h2{margin:3px 0}.lobby-head button{flex:0}.lobby-card>h1{margin:28px 0 16px}.room-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.room-grid form{padding:18px;border-radius:16px;background:#ffffff08}.safe-note{color:#d2aaa3;border-left-color:#f1c158}.admin-body{padding:0 24px 24px;display:grid;gap:12px}.admin-body section{padding:16px;border-radius:15px;background:#ffffff08}.admin-body h3{margin:0 0 10px}.admin-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.admin-status{font-size:12px;color:var(--gold);margin:12px 0 0}
dialog{background:#34070b;border-color:#e9b84f45}.admin-body section{background:#5b0b126b}
@media(max-width:820px){.top-actions{gap:4px}.icon-btn{padding:8px 10px}.room-meta{display:flex!important;position:absolute;z-index:4;top:63px;left:50%;transform:translateX(-50%);white-space:nowrap;padding:5px 10px;border-radius:999px;background:#3a050ae8;font-size:11px}.room-meta>span:first-child{display:none}.table{border-radius:20px;min-height:610px}.table:before{border-radius:12px}.felt-mark strong{font-size:50px}.room-grid{grid-template-columns:1fr}.seat-1{left:4px}.seat-2{left:5px}.seat-4{right:5px}.seat-5{right:4px}}
@media(max-width:520px){.auth-card,.lobby-card{padding:24px 18px}.brand small{display:none}.brand b{font-size:17px}.brand-mark{width:36px;height:40px}.topbar{gap:6px}.table{min-height:580px}.admin-row{grid-template-columns:1fr}.seat-2,.seat-4{top:88px}.seat-1,.seat-5{bottom:115px}}

/* 仿真人发牌与独立后台 */
.seat-0{--deal-x:0;--deal-y:-245px}.seat-1{--deal-x:280px;--deal-y:-85px}.seat-2{--deal-x:280px;--deal-y:180px}.seat-3{--deal-x:0;--deal-y:250px}.seat-4{--deal-x:-280px;--deal-y:180px}.seat-5{--deal-x:-280px;--deal-y:-85px}
.card-shoe{position:absolute;z-index:2;left:50%;top:51%;width:54px;height:72px;transform:translate(-50%,-50%) rotate(-8deg);opacity:0;transition:.25s;pointer-events:none}.card-shoe.active{opacity:1}.card-shoe span{position:absolute;inset:0;border:3px solid #e8f2f4;border-radius:7px;background:repeating-linear-gradient(45deg,#143e61 0 4px,#286c98 4px 8px);box-shadow:0 9px 20px #0008}.card-shoe span:nth-child(2){transform:translate(3px,-3px)}.card-shoe span:nth-child(3){transform:translate(6px,-6px)}
.card{animation:none}.card.human-deal{animation:humanDeal .42s cubic-bezier(.16,.78,.28,1) both;transform-origin:center}.card.human-flip{animation:humanFlip .55s cubic-bezier(.2,.75,.25,1) both;transform-origin:center;backface-visibility:hidden}
@keyframes humanDeal{0%{opacity:.25;transform:translate(var(--deal-x),var(--deal-y)) scale(.76) rotate(-18deg)}65%{opacity:1;transform:translate(-5px,3px) scale(1.04) rotate(2deg)}100%{transform:none}}
@keyframes humanFlip{0%{transform:rotateY(180deg) scale(.92);filter:brightness(.65)}52%{transform:rotateY(88deg) scale(1.04);filter:brightness(1.2)}100%{transform:rotateY(0) scale(1);filter:none}}
.admin-page{min-height:100vh;background:radial-gradient(circle at 50% 0,#661019 0,#240307 54%,#120103 100%)}.admin-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.admin-login{width:min(430px,100%);padding:34px;border:1px solid #efbd5540;border-radius:26px;background:#2d060ae8;box-shadow:0 25px 90px #000b}.admin-login h1{text-align:center;margin:5px 0 26px}.admin-login label,.admin-dashboard label{display:block;margin:12px 0;color:#d6b1aa;font-size:13px}.admin-login input,.admin-dashboard input,.admin-dashboard select{width:100%;margin-top:7px;padding:12px;border:1px solid #ffffff1c;border-radius:11px;background:#170306;color:#fff}.admin-login button{width:100%;padding:13px;border-radius:11px;margin-top:12px}.admin-dashboard{width:min(900px,100%);padding:28px;border:1px solid #efbd5540;border-radius:26px;background:#2d060aef;box-shadow:0 25px 90px #000b}.admin-dashboard header{display:flex;align-items:start;justify-content:space-between;border-bottom:1px solid #ffffff14;padding-bottom:20px}.admin-dashboard header small{color:var(--gold);letter-spacing:.2em}.admin-dashboard header h1{margin:6px 0}.admin-dashboard header p{margin:0;color:#d6b1aa}.admin-dashboard header button{padding:9px 14px;border:1px solid #ffffff1c;border-radius:999px;background:#ffffff0b;color:#fff}.admin-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:20px}.admin-columns>section{padding:20px;border-radius:16px;background:#5b0b1260}.admin-columns h2{margin:0 0 14px}.admin-columns button{width:100%;padding:12px;border-radius:11px;border:0;font-weight:800}.admin-columns .admin-actions button{width:auto}.admin-status{min-height:18px;color:var(--gold)}
@media(max-width:650px){.admin-columns{grid-template-columns:1fr}.admin-dashboard{padding:20px}.seat-0{--deal-y:-210px}.seat-3{--deal-y:210px}.seat-1,.seat-2{--deal-x:185px}.seat-4,.seat-5{--deal-x:-185px}}

.only-deal{padding:14px}.only-deal .deal-btn{min-height:54px;font-size:17px}.stake-picker{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-bottom:10px}.stake-picker button{height:38px;border:1px solid #ffffff1c;border-radius:10px;background:#ffffff09;color:#d9b4ad;font-weight:800;cursor:pointer}.stake-picker button.active{border-color:#ffd164;background:#ffd164;color:#351005;box-shadow:0 5px 16px #e4ad3f32}.stake-picker button:disabled{opacity:.45}.player-info small{white-space:nowrap}.round-record{padding:11px;border-radius:12px;background:#ffffff08;border:1px solid #ffffff08}.round-record header{display:flex;justify-content:space-between;padding-bottom:8px;margin-bottom:6px;border-bottom:1px solid #ffffff12;font-size:12px}.round-record header span{color:var(--gold)}.round-player{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 8px;align-items:center;padding:5px 0;font-size:12px}.round-player>span{display:flex;align-items:center;gap:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.round-player em{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#f0bd52;color:#2c1003;font-style:normal;font-weight:900}.round-player strong{text-align:right}.round-player small{grid-column:1/-1;color:#b98e8b;padding-left:26px}.plus{color:#ffd166}.minus{color:#ff777d}.ledger-section{margin-top:18px;padding:20px;border-radius:16px;background:#5b0b1260}.ledger-section .section-title{align-items:center}.ledger-section .section-title h2{margin:0}.ledger-section .section-title button{padding:8px 13px;border:1px solid #ffffff1c;border-radius:999px;background:#ffffff0b;color:#fff}.ledger-list{display:flex;flex-direction:column;gap:6px;max-height:300px;overflow:auto}.ledger-row{display:grid;grid-template-columns:150px 1fr 1.2fr 70px 100px;gap:10px;align-items:center;padding:9px 10px;border-radius:9px;background:#230407;font-size:12px}.ledger-row time,.ledger-row span,.ledger-row em{color:#c9a6a1;font-style:normal}.ledger-row strong,.ledger-row em{text-align:right}
@media(max-width:650px){.ledger-row{grid-template-columns:1fr auto auto}.ledger-row time{grid-column:1/-1}.ledger-row span{grid-column:1/2}.ledger-row em{grid-column:2/4}.only-deal{position:sticky;bottom:8px;z-index:5}}
.empty-seat{font:inherit}.empty-seat:hover{background:#6a0c14aa;border-color:#ffd164;transform:translateY(-1px)}.player.is-me .avatar{box-shadow:0 0 0 3px #ffd16455,0 5px 15px #0007}.player.is-me .player-info b:after{content:" · 我";color:var(--gold);font-size:10px}
.credential-section{margin-top:18px;padding:20px;border-radius:16px;background:#5b0b1260}.credential-section h2{margin:0 0 8px}.credential-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.credential-section>button{padding:12px 18px;border:0;border-radius:11px;font-weight:800}.credential-section .admin-status{margin-bottom:0}
.room-switcher{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-top:18px;padding:15px 18px;border-radius:15px;background:#5b0b1260}.room-switcher label{flex:1;max-width:460px;margin:0}.room-switcher select{width:100%;margin-top:7px;padding:11px;border:1px solid #ffffff1c;border-radius:10px;background:#170306;color:#fff}.room-switcher p{margin:0 0 7px;color:#d6b1aa;font-size:12px;text-align:right}
.join-tip{margin:12px 4px 0;color:#d7ad76;font-size:12px;text-align:center}.room-meta span b{color:var(--gold)}
@media(max-width:650px){.credential-grid{grid-template-columns:1fr}}
@media(max-width:650px){.room-switcher{align-items:stretch;flex-direction:column}.room-switcher p{text-align:left;margin:0}}
.grab-btn{width:100%;margin-top:10px;padding:13px;border:1px solid #ffd164;border-radius:14px;background:#8e101a;color:#ffe39a;font-size:17px;font-weight:900;cursor:pointer;box-shadow:0 8px 22px #0005}.grab-btn:hover{background:#ae1723}.grab-btn:disabled{opacity:.45;cursor:not-allowed}.mode-tip{min-height:18px;margin:9px 2px 0;color:#ddb68a;font-size:12px;line-height:1.45;text-align:center}.banker-badge{display:inline-grid;place-items:center;margin-left:5px;padding:1px 5px;border-radius:5px;background:#f2b941;color:#461005;font-size:10px;font-style:normal;vertical-align:1px}.room-switcher{flex-wrap:wrap}.room-mode-settings{flex:1 0 100%;display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end;padding-top:12px;border-top:1px solid #ffffff12}.room-mode-settings label{max-width:none}.room-mode-settings button{min-height:42px}.room-switcher .admin-status{flex-basis:100%;text-align:left}@media(max-width:650px){.room-mode-settings{grid-template-columns:1fr}.grab-btn{margin-top:0}.mode-tip{grid-column:span 2}}
.history-title-actions{display:flex;align-items:center;gap:8px}.history-title-actions button{padding:4px 10px;border:1px solid #ffffff20;border-radius:999px;background:#ffffff0b;color:#f3cf84;font-size:11px;cursor:pointer}.history-panel.collapsed{align-self:start}.history-panel.collapsed .section-title{margin-bottom:12px}.history-panel.collapsed .history{display:flex}.history-panel.collapsed .round-record:nth-child(n+3){display:none}.bet-chip.no-bet{color:#b58b86;font-family:inherit;font-weight:600}.bet-chip.no-bet:before{display:none}
@keyframes mobileCardReveal{0%{opacity:.2;transform:scale(.72);filter:brightness(.65)}55%{opacity:1;transform:scale(1.1);filter:brightness(1.18)}100%{opacity:1;transform:scale(1);filter:none}}
@media(max-width:820px){.cards{min-height:69px;overflow:visible}.card{flex:0 0 39px;min-width:39px;min-height:57px;transform:none;-webkit-transform:none;-webkit-backface-visibility:visible;backface-visibility:visible}.card.human-flip{animation:mobileCardReveal .46s cubic-bezier(.2,.75,.25,1) both;-webkit-backface-visibility:visible;backface-visibility:visible}.card.human-deal{animation-duration:.36s}}
@keyframes safeCardDeal{0%{opacity:0;transform:translateY(-18px) scale(.78)}70%{opacity:1;transform:translateY(2px) scale(1.04)}100%{opacity:1;transform:none}}
@keyframes safeCardReveal{0%{opacity:.25;transform:scale(.82)}60%{opacity:1;transform:scale(1.08)}100%{opacity:1;transform:none}}
.cards{position:relative;z-index:3}.card,.card.back{visibility:visible!important;opacity:1}.card.human-deal{animation:safeCardDeal .38s ease-out both!important;transform-origin:center!important}.card.human-flip{animation:safeCardReveal .42s ease-out both!important;transform-origin:center!important;-webkit-backface-visibility:visible!important;backface-visibility:visible!important}
.session-summary{position:absolute;z-index:8;left:50%;top:68%;transform:translate(-50%,-50%);min-width:210px;padding:16px 22px;border:1px solid #f3c45c;border-radius:18px;background:#3a050af2;text-align:center;box-shadow:0 16px 40px #0009}.session-summary small,.session-summary b,.session-summary strong{display:block}.session-summary small{color:#d9aaa2;font-size:11px}.session-summary b{margin:5px 0;color:#fff2cf}.session-summary strong{color:#ffd260;font:800 28px Georgia}.rake-stats-section{margin-top:18px;padding:20px;border-radius:16px;background:#5b0b1260}.rake-stats-section .section-title{align-items:center}.rake-stats-section .section-title h2{margin:0}.rake-stats-section .section-title>strong{color:#ffd166;font-size:20px}.room-rake-stats{display:grid;gap:7px}.room-rake-row{display:flex;align-items:center;justify-content:space-between;padding:11px 13px;border-radius:10px;background:#230407}.room-rake-row span b,.room-rake-row span small{display:block}.room-rake-row span small{margin-top:3px;color:#b98e8b;font-size:11px}.room-rake-row>strong{color:#ffd166;font:800 18px Georgia}

/* 大厅：左侧在玩房间，右侧创建房间 */
.lobby-card{width:min(980px,100%)}.account-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:22px 0 6px}.account-summary>div{min-width:0;padding:13px 15px;border:1px solid #ffffff12;border-radius:13px;background:#ffffff07}.account-summary small,.account-summary b,.account-summary strong{display:block}.account-summary small{color:#c99f98;font-size:11px}.account-summary b,.account-summary strong{margin-top:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-summary strong{color:var(--gold);font:800 20px Georgia}.lobby-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.75fr);gap:16px}.room-browser,.create-room-panel{padding:18px;border:1px solid #ffffff0d;border-radius:17px;background:#ffffff07}.lobby-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.lobby-section-head span{color:#c99f98;font-size:11px}.public-room-list{display:flex;flex-direction:column;gap:8px;max-height:350px;overflow:auto}.lobby-card .public-room-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;align-items:center;width:100%;padding:13px 14px;text-align:left;background:#210407;border-color:#ffffff13}.lobby-card .public-room-item:hover{border-color:#efbc53;background:#41090f;transform:translateY(-1px)}.public-room-item span{min-width:0}.public-room-item b,.public-room-item small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.public-room-item small{margin-top:4px;color:#c79e96;font-weight:500}.public-room-item em{color:#ffd36e;font-style:normal}.public-room-item i{grid-column:1/-1;color:#bd928c;font-size:10px;font-style:normal}.create-room-panel form>b{display:block;margin-bottom:14px;font-size:16px}.create-room-panel .primary{width:100%;margin-top:8px}.join-room-dialog{width:min(430px,calc(100% - 28px))}.join-room-dialog form{padding:0 24px 24px}.join-room-dialog label{display:block;margin:12px 0;color:#d8b4ad;font-size:12px}.join-room-dialog input{width:100%;margin-top:7px;padding:12px 13px;border:1px solid #ffffff1c;border-radius:11px;background:#160306;color:#fff;outline:none}.join-room-dialog input:focus{border-color:#f1c158}.join-room-dialog .primary{width:100%;padding:12px;margin-top:8px;border-radius:11px;font-weight:800}.join-room-dialog input[readonly]{color:#ffd36e}
@media(max-width:760px){.lobby-layout{grid-template-columns:1fr}.account-summary{grid-template-columns:1fr 1fr}.account-summary>div:last-child{grid-column:1/-1}.public-room-list{max-height:300px}}
