:root{--gold:#fbd788;--gold-deep:#9b5424;--cream:#fff0c0;--wine:#3c1018;--dark:#12070b;--green:#0b4536}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#130806;color:#fff1dc;font-family:"Microsoft Yahei","PingFang SC",system-ui,sans-serif}button,input{font:inherit}button{cursor:pointer;touch-action:manipulation}button:disabled{opacity:.48;cursor:not-allowed}.hidden{display:none!important}.game-screen{position:fixed;inset:0;overflow:hidden;background:radial-gradient(ellipse at center,#5b2517,#150705 68%)}.arena{position:absolute;left:0;top:0;width:1600px;height:900px;transform-origin:0 0;overflow:hidden;isolation:isolate;background:#1c090b}.royal-background{position:absolute;inset:-25px;background:url('/assets/atmosphere.webp') center/cover no-repeat;filter:contrast(1.17) saturate(1.3)}.royal-shade{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 42%,transparent 4%,#19060766 60%,#100506e8 100%),linear-gradient(180deg,#09020244 0%,transparent 20%,#09020220 80%,#090202aa 100%)}.wall-lamp{position:absolute;z-index:3;top:100px;width:73px;height:120px;border:5px solid #c18445;box-shadow:0 0 12px 7px #ffc76b55,inset 0 0 22px #ffc777;font-size:56px;color:#ffca78;text-align:center;line-height:103px;background:#7a2615b8}.lamp-left{left:6px;transform:rotate(-5deg)}.lamp-right{right:6px;transform:rotate(5deg)}.dealer-art{position:absolute;left:542px;top:0;width:516px;height:298px;background:url('/assets/dealer.webp') center top/contain no-repeat;z-index:4;filter:drop-shadow(0 10px 12px #100306a9);pointer-events:none}.room-box{position:absolute;z-index:20;left:24px;top:12px;display:flex;align-items:center;gap:14px;height:100px}.top-back,.menu-buttons button,.circle-tool{border:2px solid #c9904d;box-shadow:inset 0 0 0 1px #ffda8c55,0 4px 10px #0007;background:linear-gradient(145deg,#3c1914,#15090c);color:#ffe7ae}.top-back{width:74px;height:74px;border-radius:50%;font-size:38px}.room-metadata{border:1px solid #c68f50b8;border-radius:19px;background:#130908d9;padding:9px 21px;min-width:330px;box-shadow:0 5px 20px #0008}.room-meta-top{font-size:26px;color:#ffe7b1;white-space:nowrap;display:flex;align-items:center;gap:10px}.room-meta-top b{font-size:29px;letter-spacing:3px}.room-meta-top button{border:0;background:none;color:var(--gold);font-size:26px}.room-meta-bottom{display:flex;gap:19px;align-items:center;color:#dfbd8a;font-size:16px;margin-top:4px}.green-dot{display:inline-block;width:12px;height:12px;border-radius:50%;background:#23d8a2;box-shadow:0 0 12px #50f8ba}.menu-buttons{z-index:20;position:absolute;right:25px;top:11px;display:flex;gap:15px}.menu-buttons button{display:flex;flex-direction:column;align-items:center;justify-content:center;width:86px;height:87px;border-radius:50%;font-size:17px;gap:2px;font-weight:bold}.menu-buttons button span{font-size:34px;line-height:33px}.menu-buttons button:active,.top-back:active,.circle-tool:active{transform:scale(.96)}
.felt-table{z-index:3;position:absolute;left:92px;top:217px;width:1416px;height:545px;border-radius:50% / 48%;background:radial-gradient(ellipse at 55% 45%,#9e2b39,#5e1721 70%,#2f0c13 96%);border:11px solid #c28a43;box-shadow:0 0 0 5px #6c341b,0 0 0 12px #f3bf72,0 0 0 17px #4f2017,0 12px 8px #2a0c06,0 25px 44px #000c,inset 0 0 0 6px #ffdda077,inset 0 0 80px 25px #4b121b}.felt-table:before{content:"";position:absolute;inset:14px;border-radius:50% / 48%;border:2px dashed #ffe0a742;pointer-events:none}.inner-felt{position:absolute;inset:27px;border-radius:50%/48%;background:linear-gradient(#8d24324d,#54141b55),url('/assets/red-felt.webp') center/cover;box-shadow:inset 0 5px 65px #360d18b8;overflow:hidden}.inner-felt:before,.inner-felt:after{content:"";position:absolute;inset:10% 19%;border:3px solid #d6797250;border-radius:50%;filter:blur(1px);transform:rotate(-8deg)}.inner-felt:after{inset:24% 33%;transform:rotate(13deg);border-color:#d9918b3b}.felt-rune{position:absolute;left:45%;top:31%;font-size:180px;color:#efb4a515;transform:rotate(-20deg)}.table-corner{position:absolute;color:#f3c879;text-shadow:0 0 8px #f1bf56;font-size:22px}.tcl{left:78px;top:75px}.tcr{right:78px;top:75px}.bcl{left:130px;bottom:59px}.bcr{right:130px;bottom:59px}.table-center{position:absolute;left:34%;top:22%;width:32%;z-index:5;text-align:center;filter:drop-shadow(0 2px 5px #22090b)}#stage-tip{font-size:17px;color:#e7aa74;letter-spacing:3px}#center-title{font-size:37px;font-weight:900;color:#fff0c4;text-shadow:0 3px 1px #6d301b,0 0 17px #f4a65d;white-space:nowrap;margin:9px -140px}#center-sub{color:#f6d0bb;font-size:17px}.mid-status{display:inline-block;border:1px solid #d0a05d;padding:7px 35px;border-radius:25px;background:#400e18ad;color:#ffdb9a;font-size:18px;margin-top:13px}.poker-deck{position:absolute;left:47%;top:55%;width:76px;height:105px;border:5px solid #fff4ca;border-radius:10px;background:repeating-linear-gradient(45deg,#9c2940 0 7px,#d08a65 7px 9px,#7b1831 9px 15px);box-shadow:8px 7px 0 #cfad86,11px 9px 0 #fee1aa,0 8px 16px #24020d8a;color:#f7d294;font-size:54px;text-align:center;line-height:90px;opacity:.63}.center-chips{position:absolute;left:41%;top:69%;display:flex;gap:3px;opacity:.6}.center-chips span{display:grid;place-items:center;border-radius:50%;width:46px;height:46px;background:radial-gradient(circle,#d63852 40%,#ffdbb1 42% 50%,#9e1832 51%);font-size:11px;color:#fff;font-weight:bold;box-shadow:0 4px 8px #12040a}.center-chips span:nth-child(2){background:radial-gradient(circle,#183ba8 40%,#ffdeab 42% 50%,#2043a1 51%)}.center-chips span:nth-child(3){background:radial-gradient(circle,#2e8648 40%,#ffdeab 42% 50%,#185b30 51%)}
.seat{z-index:9;position:absolute;width:320px;min-height:147px;display:flex;flex-direction:column;align-items:center}.seat-top-left{left:153px;top:-91px}.seat-top-right{right:153px;top:-91px}.seat-middle-left{left:-84px;top:175px}.seat-middle-right{right:-84px;top:175px}.seat-row{display:flex;align-items:center;gap:10px;justify-content:center;max-width:310px}.seat-portrait{width:91px;height:91px;flex:none;border-radius:50%;background:#42292b center/cover;border:5px solid #f3be6e;box-shadow:0 0 0 3px #522219,0 3px 15px #000b}.seat-meta{background:#270b12c9;border-radius:15px;padding:8px 18px;min-width:120px;box-shadow:0 6px 15px #0007}.seat-name{font-size:19px;max-width:160px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.seat-score{font-size:23px;color:#ffcb58;font-weight:900}.seat-banker{background:linear-gradient(120deg,#ffebaa,#d88e37);color:#712a10;border-radius:18px;padding:3px 11px;margin-left:5px;font-size:14px;font-weight:900}.seat-hold{margin-top:-3px;display:flex;gap:1px;filter:drop-shadow(0 8px 6px #1b0815)}.seat-small-card{height:78px;width:55px;flex:none;border-radius:4px;border:2px solid #ffe4ce;background:repeating-linear-gradient(45deg,#7e1e33 0 4px,#c47b70 4px 6px,#a0233d 6px 10px);display:grid;place-items:center;color:#ffe6d0;font-size:20px;box-shadow:1px 2px 3px #140208}.seat-small-card.face{color:#1e1715;background:#fff8eb;display:flex;flex-direction:column;align-items:center;font-size:21px;font-weight:bold;line-height:29px}.seat-small-card.face.red{color:#cb3143}.seat-line{margin-top:4px;display:flex;align-items:center;gap:12px;font-size:14px;color:#fae5b5;text-shadow:0 1px 3px #110206}.seat-rank{font-size:29px;font-weight:1000;color:#ffdd83;text-shadow:-2px -2px #86291d,2px 3px #351018,0 0 11px #ffbe7b}.seat-placeholder{display:grid;place-items:center;color:#f5d5b17e;border:1px dashed #dcb06c70;background:#28081440;padding:13px 24px;border-radius:21px;font-size:17px;margin:45px auto 0}.seat-offline{filter:grayscale(.7);opacity:.6}
.me-info{position:absolute;z-index:16;left:63px;bottom:67px;width:340px;height:119px;display:flex;align-items:center;gap:16px;background:linear-gradient(90deg,#210912e8,#34121dcc 81%,transparent);border-radius:80px 14px 14px 80px}.me-avatar{width:110px;height:110px;border-radius:50%;background:#57252b url('/assets/avatar-5.webp') center/cover;border:5px solid #ffe3a6;box-shadow:0 0 0 4px #5c2c14,0 6px 12px #0008}.me-details{display:flex;flex-direction:column;gap:4px;min-width:165px}.me-details>div:first-child{display:flex;align-items:center;gap:7px}.me-details strong{font-size:26px}.me-details span{background:#ecc67c;border-radius:15px;color:#512006;font-size:14px;padding:3px 9px}.my-gold{font-size:23px;color:#ffe090}.hand-zone{position:absolute;z-index:13;left:453px;bottom:182px;width:700px;display:flex;flex-direction:column;align-items:center;pointer-events:none}.my-hand{min-height:147px;display:flex;gap:11px;align-items:end;justify-content:center;pointer-events:auto}.playing-card{height:152px;width:105px;background:#fffdf7;border:3px solid #e8d5b3;border-radius:9px;box-shadow:0 9px 3px #1c07147a,0 0 0 2px #16091080;position:relative;display:flex;flex-direction:column;align-items:flex-start;color:#1b2322;padding:9px 13px;font-weight:900;transition:transform .2s;user-select:none;touch-action:manipulation}.playing-card .card-rank{font-family:Georgia,serif;font-size:40px;line-height:1}.playing-card .card-suit{font-size:66px;align-self:center;line-height:1.3}.playing-card.red{color:#d72737}.playing-card.card-back{border:5px solid #fff0c8;background:repeating-linear-gradient(45deg,#8a1d38 0 7px,#d98670 7px 9px,#a42a49 9px 17px);color:#e4b57c;display:flex;align-items:center;justify-content:center;padding:0}.playing-card.card-back:after{content:"";position:absolute;inset:7px;border:2px solid #e2ae746b;border-radius:4px}.playing-card .back-mark{font-size:60px;color:#f0cb86;text-shadow:0 0 8px #fff4ca55}.playing-card.card-peek:hover,.playing-card.card-peek:focus-visible{transform:translateY(-9px)}.playing-card .peek-number{position:absolute;bottom:5px;right:8px;color:#fff0d2;font-size:12px}.hand-placeholder{font-size:21px;color:#ffebc0a9;border:1px dashed #fac46d6b;padding:35px 110px;border-radius:16px;background:#340b15b0}.hand-caption{min-height:40px;margin-top:7px;color:#ffe6af;font-size:23px;font-weight:900;text-shadow:0 2px 6px #1c0607}.game-action{position:absolute;z-index:18;left:490px;bottom:37px;width:680px;min-height:128px;display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;background:linear-gradient(90deg,transparent,#1908069c 10% 90%,transparent);text-align:center;color:#ffe6b6;font-size:20px}.game-action .action-title{font-size:21px;font-weight:bold;white-space:nowrap}.game-action .action-hint{font-size:17px;color:#f5cca3;flex-basis:100%;line-height:1.3;margin-top:-11px}.gold-button,.dark-button,.action-button{border:2px solid #ffe4a0;border-radius:38px;padding:13px 31px;color:#5b1c08;background:linear-gradient(180deg,#fff7c2,#f8ca5e 43%,#bf772c);box-shadow:inset 0 3px 3px #fff9c7,0 5px 0 #693719,0 9px 18px #0009;font-size:22px;font-weight:900;white-space:nowrap;text-shadow:0 1px 0 #fff8bc80}.dark-button,.action-button.secondary{color:#fff4cc;background:linear-gradient(180deg,#765bce,#3d2c94 54%,#272277);border-color:#bfc2f9;text-shadow:none;box-shadow:inset 0 2px 4px #d1c4ff70,0 4px 0 #24104c,0 8px 18px #0007}.action-button:active,.gold-button:active{transform:translateY(4px);box-shadow:0 2px 6px #0008}.game-action .action-button{font-size:23px;padding:14px 33px}.game-action .quick-bets{display:flex;gap:9px;justify-content:center;width:100%}.quick-bets button{border-radius:50%;width:67px;height:57px;border:4px dashed #f9e6bb;color:#fff;font-weight:900;background:radial-gradient(circle,#b83d48 55%,#63232b 60%);box-shadow:0 3px 8px #0009}.quick-bets button:nth-child(even){background:radial-gradient(circle,#3e63be 55%,#172d76 60%)}.bet-confirm{display:flex;align-items:center;gap:13px}.bet-confirm input{height:43px;width:105px;border-radius:9px;border:1px solid var(--gold);background:#25080ddc;color:#ffe1ab;text-align:center;font-size:25px}.small-action{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap}.results-hud,.result-hud{position:absolute;z-index:16;left:615px;top:410px;min-width:370px;max-width:500px;max-height:285px;overflow:auto;background:#230810ee;border:2px solid #efc47e;border-radius:16px;padding:15px 20px;color:#f7dcb0;box-shadow:0 12px 22px #000b;font-size:18px}.result-hud h3{margin:0 0 8px;font-size:22px;color:#ffda85}.result-line{display:flex;justify-content:space-between;gap:15px;margin:7px 0;border-bottom:1px solid #ffe0a03a;padding-bottom:4px}.plus{color:#85f1a1}.minus{color:#ff9c90}
.toolbar-left{position:absolute;z-index:23;bottom:18px;left:19px;display:flex;align-items:center;gap:10px;padding:4px 19px 4px 6px;background:#180a0bd1;border:1px solid #c3984a;border-radius:50px;font-size:21px}.circle-tool{width:65px;height:65px;border-radius:50%;font-size:32px}.toolbar-right{position:absolute;z-index:23;bottom:19px;right:20px;display:flex;gap:12px}.toolbar-right .circle-tool{width:63px;height:63px;font-size:32px}.notify-chip{position:absolute;z-index:22;bottom:98px;left:27px;color:#ffd793;background:#290b14;border-radius:18px;padding:7px 20px}.floating-drawer{position:absolute;z-index:35;background:linear-gradient(150deg,#2b1216f7,#100609f7);border:2px solid #dca86a;border-radius:19px;box-shadow:0 20px 70px #000b;padding:18px;overflow:auto}.chat-drawer{left:20px;bottom:98px;width:390px;height:430px;display:flex;flex-direction:column}.settings-drawer{right:17px;top:128px;width:395px;max-height:650px}.drawer-head{display:flex;justify-content:space-between;align-items:center;color:#ffe1ab;font-size:24px;margin-bottom:12px}.drawer-head button,.modal-head button{background:none;border:0;color:#ffe9c3;font-size:32px}.chat-messages{flex:1;overflow-y:auto;min-height:100px;display:flex;flex-direction:column;gap:7px}.chat-entry{background:#fff2d40d;border-radius:11px;padding:7px 10px;line-height:1.3;overflow-wrap:anywhere}.chat-entry.mine{background:#c48a4633}.chat-entry strong{color:#ffe0a5;font-size:16px}.chat-entry time{font-size:12px;color:#a59b99;margin-left:9px}.chat-entry>div{font-size:18px;margin-top:4px}.chat-empty{text-align:center;color:#eacb9e96;margin:auto;font-size:16px}.chat-form{display:flex;gap:8px;margin-top:12px}.chat-form input,.welcome-card input{min-width:0;border:1px solid #d7ad74;background:#1c0c12;color:#fce6c3;border-radius:10px;padding:13px 14px;font-size:19px}.chat-form input{flex:1}.chat-form button,.sound-buttons button,.sound-slider button,.voice-box button,.admin-tools button{border:1px solid #caa36a;color:#ffe6c3;background:#523524;border-radius:10px;padding:7px 12px;font-size:16px}.chat-form button{color:#38220d;background:#f7d181;font-weight:bold}.sound-buttons{display:flex;gap:5px;flex-wrap:wrap}.sound-buttons button{flex:1;font-size:14px}.sound-buttons button.active{background:#0d503f}.sound-slider{display:flex;align-items:center;gap:8px;margin:16px 0;color:#ffdcac}.sound-slider input{flex:1;min-width:0;accent-color:#ffd58e}.sound-slider label{font-size:14px}.sound-status,#voice-status{font-size:14px;color:#cfc5b1;line-height:1.5}.voice-box{border-top:1px solid #bb9a6750;margin-top:18px;padding-top:16px}.voice-button{background:#165343!important}.voice-button.active{background:#7e2e33!important}.voice-box button:disabled{opacity:.4}.voice-box p{font-size:12px;line-height:1.6;color:#bfae97}.admin-tools{display:flex;gap:8px;margin-top:14px}.admin-tools button{font-size:14px;flex:1}.modal-overlay{position:fixed;inset:0;z-index:90;display:grid;place-items:center;background:#040204c7;backdrop-filter:blur(6px)}.modal-card{width:min(840px,90vw);max-height:80vh;display:flex;flex-direction:column;border:3px solid #e8bd78;border-radius:20px;background:linear-gradient(160deg,#502126,#17080d);box-shadow:0 18px 60px #000e;color:#ffe8ba;padding:23px}.modal-head{display:flex;align-items:center;justify-content:space-between}.modal-head h2{margin:0;font-size:26px}.modal-body{overflow:auto;line-height:1.7;font-size:17px;margin-top:7px}.modal-body p{margin:9px 0}.modal-body details{border-bottom:1px solid #efc4803b;padding:5px}.history-line,.stats-player{display:flex;gap:12px;justify-content:space-between;align-items:center;padding:7px;border-bottom:1px solid #ffe5b731}.history-next{text-align:right;color:#ffdc97;font-size:14px}.history-round summary{cursor:pointer}.toast{position:fixed;z-index:100;bottom:34px;left:50%;transform:translateX(-50%) translateY(100px);padding:13px 25px;border-radius:23px;background:#fff1cc;color:#4b2018;font-size:19px;box-shadow:0 6px 20px #000b;opacity:0;transition:.25s;pointer-events:none}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}#deal-flight-layer{position:absolute;inset:0;z-index:30;pointer-events:none}.flying-card{position:absolute;width:73px;height:107px;border:4px solid #ffe5b2;border-radius:8px;background:repeating-linear-gradient(45deg,#8d1f36 0 6px,#d48769 6px 8px,#94263f 8px 14px);box-shadow:0 6px 10px #0009;display:grid;place-items:center;color:#e9bd7e;font-size:46px}.playing-card.flip-open{animation:flipcard .65s cubic-bezier(.15,.6,.15,1)}@keyframes flipcard{0%{transform:rotateY(87deg) scale(.88);filter:brightness(.8)}50%{transform:rotateY(60deg)}100%{transform:rotateY(0deg);filter:brightness(1)}}
.welcome-screen{position:fixed;inset:0;display:grid;place-items:center;overflow:auto;padding:15px;background:#18070d}.welcome-background{position:fixed;inset:0;background:url('/assets/atmosphere.webp') center/cover;filter:blur(4px) saturate(1.2)}.welcome-shade{position:fixed;inset:0;background:radial-gradient(ellipse at center,#29070a7d,#120506ed 80%)}.welcome-card{position:relative;width:min(510px,90vw);max-height:95vh;overflow:auto;padding:26px 38px 20px;border:3px solid #e4b56e;border-radius:24px;background:linear-gradient(160deg,#4a1922e8,#17070be8);text-align:center;box-shadow:0 18px 70px #000d,inset 0 0 60px #bc643329}.welcome-logo{font-size:56px;color:#ffe39c;line-height:1}.welcome-overline{font-size:12px;letter-spacing:3px;color:#e6bb84}.welcome-card h1{font-size:62px;letter-spacing:4px;color:#fce5a6;text-shadow:0 4px #69371a,0 0 18px #ecb750;margin:8px 0}.welcome-card h1 span{color:#f4b66f}.welcome-tagline{color:#f8d3ac;font-size:18px}.welcome-stats{display:flex;gap:9px;margin:22px 0;justify-content:space-between;font-size:14px;color:#eecb8d}.welcome-card label{display:block;text-align:left;margin:6px 0 8px;font-size:16px}.welcome-card input{display:block;width:100%;margin:8px 0}.welcome-card .major{width:100%;margin:17px 0 11px}.welcome-card .gold-button{font-size:21px}.room-enter{display:flex;gap:8px}.room-enter input{flex:1}.room-enter .dark-button{padding:10px 15px;font-size:17px;border-radius:10px}.welcome-footer{color:#b9a18b;font-size:12px;margin-top:16px}.invited{margin:15px 0;background:#67432955;border-radius:12px;padding:12px}.invited button{margin:8px auto 0}.rotate-overlay{position:fixed;inset:0;z-index:70;background:radial-gradient(circle at center,#541624,#130507 78%);display:flex;flex-direction:column;justify-content:center;align-items:center;color:#ffe6ae;text-align:center;padding:30px}.rotate-icon{font-size:90px;color:#f5c375;position:relative}.rotate-icon span{font-size:40px;position:absolute;right:-20px;bottom:2px}.rotate-overlay h2{font-size:28px;margin:13px 0 0}.rotate-overlay p{font-size:17px;line-height:1.8}.rotate-overlay button{font-size:17px}
@media(max-width:650px) and (orientation:portrait){.welcome-card{padding:18px 22px}.welcome-card h1{font-size:43px}.welcome-stats{font-size:11px;gap:4px}.welcome-card .gold-button{font-size:17px}.room-enter .dark-button{font-size:14px}.welcome-card{max-height:95dvh}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001s!important;transition-duration:.001s!important}}
