:root{--felt: #0f5132;--felt-dark: #0a3d24;--gold: #d4af37;--gold-light: #f3d66a;--ink: #f5f5f7;--ink-dim: #b8bec7;--bg: #0b0f17;--bg-soft: #141a26;--accent: #ef4444;--positive: #22c55e}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:radial-gradient(ellipse at top,#1a2234,#0b0f17 60%,#05070c);color:var(--ink);overflow:hidden}button{font:inherit;cursor:pointer;border:none}input{font:inherit}.btn{padding:10px 16px;border-radius:10px;font-weight:600;transition:transform .08s ease,box-shadow .15s ease,filter .15s ease}.btn:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.08)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:linear-gradient(180deg,#facc15,#d4af37);color:#1a1400;box-shadow:0 6px 20px #d4af3759}.btn-secondary{background:#ffffff1f;color:var(--ink);border:1px solid rgba(255,255,255,.18)}.btn-ghost{background:transparent;color:var(--ink-dim);border:1px solid rgba(255,255,255,.18)}.btn-mic{background:#ffffff1a;color:var(--ink);border:1px solid rgba(255,255,255,.2)}.btn-mic.on{background:linear-gradient(180deg,#22c55e,#15803d);color:#fff;box-shadow:0 0 12px #22c55e80}.lobby{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.lobby-card{width:100%;max-width:480px;background:linear-gradient(180deg,#1a2234f5,#0b0f17f5);border:1px solid rgba(255,255,255,.08);border-radius:24px;padding:36px 32px;box-shadow:0 30px 80px #0009,inset 0 1px #ffffff0d}.title{font-family:Playfair Display,serif;font-size:2.4rem;margin:0 0 4px;text-align:center;background:linear-gradient(180deg,var(--gold-light),var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent}.chip-logo{font-size:1.6rem;margin-right:6px}.subtitle{text-align:center;color:var(--ink-dim);margin:0 0 24px}.field{display:block;margin-bottom:16px}.field>span{display:block;font-size:.85rem;color:var(--ink-dim);margin-bottom:6px}.field input{width:100%;padding:12px 14px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:#ffffff0a;color:var(--ink);outline:none}.field input:focus{border-color:var(--gold);box-shadow:0 0 0 2px #d4af3740}.btn-row{display:flex;gap:10px;margin-top:8px}.btn-row .btn{flex:1}.error{color:#fecaca;background:#ef44441f;border:1px solid rgba(239,68,68,.4);padding:8px 12px;border-radius:8px;font-size:.9rem;margin-bottom:12px}.lobby-rules{margin-top:22px;padding-top:18px;border-top:1px dashed rgba(255,255,255,.1);color:var(--ink-dim);font-size:.9rem}.lobby-rules h3{font-size:.85rem;margin:0 0 6px;color:var(--ink);letter-spacing:.06em;text-transform:uppercase}.lobby-rules ul{list-style:none;padding:0;margin:0;display:flex;gap:16px}.table-loading{display:flex;align-items:center;justify-content:center;height:100vh;color:var(--ink-dim)}.table-page{display:flex;flex-direction:column;height:100vh}.topbar{display:flex;justify-content:space-between;align-items:center;padding:10px 18px;background:#080c14d9;border-bottom:1px solid rgba(255,255,255,.06);gap:12px}.room-info{display:flex;align-items:center;gap:8px}.room-info .label{color:var(--ink-dim);font-size:.8rem;letter-spacing:.1em;text-transform:uppercase}.room-info .code{font-family:Playfair Display,serif;font-size:1.4rem;color:var(--gold-light);letter-spacing:.2em}.copy-btn{background:#ffffff14;color:var(--ink);padding:4px 8px;border-radius:6px;font-size:.9rem}.hand-info{color:var(--ink-dim);font-size:.9rem}.top-actions{display:flex;gap:8px}.table-main{flex:1;display:flex;min-height:0;padding:12px;gap:12px}.poker-table{flex:1;position:relative;border-radius:50%/36%;overflow:visible}.table-felt{position:absolute;top:30px;right:30px;bottom:30px;left:30px;border-radius:50%/36%;background:radial-gradient(ellipse at center,#176a44 0%,var(--felt) 45%,var(--felt-dark) 100%);box-shadow:inset 0 0 0 6px #7a5a2a,inset 0 0 0 10px #0006,inset 0 0 80px #00000073,0 40px 80px #0000008c;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:28px}.pot{position:absolute;top:22%;left:50%;transform:translate(-50%);text-align:center}.pot-label{color:var(--gold-light);font-size:.75rem;letter-spacing:.25em}.pot-amount{font-family:Playfair Display,serif;font-size:1.6rem;color:var(--ink)}.community{display:flex;gap:12px}.community-slot{width:92px;height:132px;border-radius:12px;border:2px dashed rgba(255,255,255,.08);background:#0003;display:flex;align-items:center;justify-content:center;perspective:800px}.community-slot.filled{animation:dealIn .42s ease-out both;border:none;background:transparent}.community-slot.river-slam{animation:slamDown .6s cubic-bezier(.2,.8,.2,1) both}@keyframes dealIn{0%{transform:translate(-120px,-180px) rotate(-12deg) scale(.7);opacity:0}to{transform:translate(0) rotate(0) scale(1);opacity:1}}@keyframes slamDown{0%{transform:translateY(-260px) scale(1.2) rotate(-6deg);opacity:0;filter:drop-shadow(0 40px 30px rgba(0,0,0,.8))}60%{transform:translateY(14px) scale(1.05) rotate(0);opacity:1}80%{transform:translateY(-6px) scale(1)}to{transform:translateY(0) scale(1);opacity:1}}.card{width:92px;height:132px;border-radius:12px;background:linear-gradient(160deg,#fff,#f0f3f7 60%,#e2e6ec);position:relative;box-shadow:0 10px 22px #00000073,0 2px 4px #0000004d,inset 0 1px #fffffff2,inset 0 -1px #00000014,inset 0 0 0 1px #0000000d;transform:perspective(700px) rotateX(4deg);transform-origin:center bottom;-webkit-user-select:none;user-select:none}.card:before{content:"";position:absolute;top:1px;right:1px;bottom:50%;left:1px;border-radius:11px 11px 0 0;background:linear-gradient(180deg,#ffffff8c,#fff0);pointer-events:none}.card.placeholder{background:#ffffff0a;box-shadow:none;transform:none}.card.placeholder:before{display:none}.card.back{background:radial-gradient(ellipse at 30% 25%,rgba(255,200,200,.25) 0%,transparent 60%),repeating-linear-gradient(45deg,#7c1d2a 0,#7c1d2a 6px,#5b1320 6px,#5b1320 12px);border:2px solid #1a0409}.card.back:before{background:linear-gradient(180deg,#ffffff2e,#fff0)}.card.back .card-back-pattern{position:absolute;top:6px;right:6px;bottom:6px;left:6px;border-radius:6px;border:1px dashed rgba(255,255,255,.25)}.card.face{padding:6px 8px}.card.face.red .rank,.card.face.red .suit{color:#d4183d}.card.face.black .rank,.card.face.black .suit{color:#1a1a1a}.card-corner{position:absolute;display:flex;flex-direction:column;align-items:center;line-height:1;font-weight:700}.card-corner.top-left{top:4px;left:6px}.card-corner.bottom-right{bottom:4px;right:6px;transform:rotate(180deg)}.card-corner .rank{font-size:1.3rem}.card-corner .suit{font-size:1.15rem}.card-center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:2.7rem;text-shadow:0 1px 0 rgba(255,255,255,.6)}.card.face.red .card-center{color:#d4183d}.card.face.black .card-center{color:#1a1a1a}.seat{position:absolute;transform:translate(-50%,-50%);z-index:2;transition:filter .3s ease}.seat.folded{filter:grayscale(.6) opacity(.6)}.seat-card{min-width:160px;padding:10px 12px;border-radius:12px;background:linear-gradient(180deg,#182030f2,#0a0e16f2);border:1px solid rgba(255,255,255,.1);box-shadow:0 8px 20px #00000073;color:var(--ink);position:relative}.poker-table.seats-sm .seat-card{min-width:110px;padding:6px 8px;font-size:.78rem}.poker-table.seats-sm .seat-stack{font-size:.82rem}.poker-table.seats-xs .seat-card{min-width:86px;padding:4px 6px;font-size:.7rem;border-radius:9px}.poker-table.seats-xs .seat-stack{font-size:.74rem}.poker-table.seats-xs .seat-status,.poker-table.seats-xs .seat-hand,.poker-table.seats-xs .seat-bet{font-size:.66rem}.poker-table.seats-xs .seat-cards{transform:scale(.7);transform-origin:top center}.seat.acting .seat-card{border-color:var(--gold);box-shadow:0 0 0 3px #d4af3766,0 8px 20px #00000080;animation:pulse 1.3s ease-in-out infinite}.seat.winner .seat-card{border-color:var(--positive);box-shadow:0 0 0 3px #22c55e66,0 0 30px #22c55e99}.seat.speaking .seat-card{box-shadow:0 0 0 3px #38bdf880,0 0 20px #38bdf880}@keyframes pulse{0%,to{box-shadow:0 0 0 3px #d4af3740,0 8px 20px #00000080}50%{box-shadow:0 0 0 6px #d4af3773,0 8px 26px #0000008c}}.seat-header{display:flex;align-items:center;gap:6px;font-weight:600;font-size:.92rem}.seat-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mic-icon{font-size:.9rem}.mic-icon.off{opacity:.5}.dealer-btn{background:#fff;color:#1a1400;font-weight:700;font-size:.7rem;width:20px;height:20px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;margin-left:4px}.seat-stack{font-size:.95rem;color:var(--gold-light);margin-top:2px}.seat-status{font-size:.75rem;color:var(--ink-dim);text-transform:uppercase;letter-spacing:.08em}.seat-hand{font-size:.8rem;color:var(--positive);margin-top:2px;font-weight:600}.seat-bet{margin-top:4px;font-size:.82rem;background:#d4af3729;border-radius:6px;padding:2px 6px;display:inline-block;animation:betPop .35s ease-out}@keyframes betPop{0%{transform:scale(.6);opacity:0}60%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.action-timer{position:absolute;left:0;right:0;bottom:-14px;height:6px;background:#ffffff1a;border-radius:6px;overflow:hidden}.timer-bar{height:100%;background:linear-gradient(90deg,var(--gold),var(--accent));transition:width .1s linear}.timer-text{position:absolute;right:6px;top:-18px;font-size:.75rem;color:var(--ink-dim)}.seat-cards{display:flex;justify-content:center;gap:4px;margin-bottom:-14px;transform:scale(.65);transform-origin:bottom center}.seat-cards .hole{animation:dealInSmall .42s ease-out both}.seat-cards .hole.revealed{animation:flipReveal .5s ease-out both}@keyframes dealInSmall{0%{transform:translateY(-140px) rotate(-8deg);opacity:0}to{transform:translate(0) rotate(0);opacity:1}}@keyframes flipReveal{0%{transform:rotateY(180deg)}to{transform:rotateY(0)}}.river-intro{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000059;z-index:5;pointer-events:none;animation:introFade 4.6s ease both}@keyframes introFade{0%{opacity:0}10%,85%{opacity:1}to{opacity:0}}.shuffle-cards{position:relative;width:200px;height:130px}.shuffle-card{position:absolute;width:72px;height:104px;border-radius:10px;background:repeating-linear-gradient(45deg,#7c1d2a 0,#7c1d2a 6px,#5b1320 6px,#5b1320 12px);border:2px solid #1a0409;top:10px;left:60px;animation:shuffle 1.2s ease-in-out infinite;transform-origin:center bottom}@keyframes shuffle{0%{transform:translate(-40px) rotate(-15deg);opacity:.8}50%{transform:translate(40px) rotate(15deg) translateY(-20px)}to{transform:translate(-40px) rotate(-15deg);opacity:.8}}.intro-text{text-align:center;margin-top:20px}.intro-text .intro-line{color:var(--ink-dim);font-size:1rem;margin:4px 0}.intro-text .big{font-family:Playfair Display,serif;color:var(--gold-light);font-size:2.2rem;letter-spacing:.05em;animation:pulseText 1.4s ease-in-out infinite}@keyframes pulseText{0%,to{text-shadow:0 0 8px rgba(212,175,55,.4)}50%{text-shadow:0 0 24px rgba(212,175,55,.9)}}.winner-banner{position:absolute;bottom:14%;left:50%;transform:translate(-50%);z-index:6;animation:winIn .6s cubic-bezier(.2,1.4,.4,1)}.banner-inner{background:linear-gradient(135deg,#22c55ef2,#10b981f2);color:#fff;padding:14px 26px;border-radius:16px;display:flex;align-items:center;gap:12px;box-shadow:0 12px 40px #22c55e80;font-size:1.05rem}.trophy{font-size:1.6rem}@keyframes winIn{0%{transform:translate(-50%,40px) scale(.8);opacity:0}to{transform:translate(-50%) scale(1);opacity:1}}.side-panel{width:300px;display:flex;flex-direction:column}.chat-panel{flex:1;display:flex;flex-direction:column;background:#0a0e16cc;border:1px solid rgba(255,255,255,.06);border-radius:12px;overflow:hidden}.chat-header{padding:10px 14px;background:#ffffff0a;border-bottom:1px solid rgba(255,255,255,.06);font-weight:600;color:var(--ink-dim);letter-spacing:.08em;text-transform:uppercase;font-size:.78rem}.chat-log{flex:1;overflow-y:auto;padding:10px 14px;display:flex;flex-direction:column;gap:6px;font-size:.9rem}.chat-empty{color:var(--ink-dim);font-style:italic;font-size:.85rem}.chat-msg{display:flex;gap:6px}.chat-msg.me .chat-name{color:var(--gold-light)}.chat-name{font-weight:600;color:var(--ink)}.chat-text{color:var(--ink-dim);word-break:break-word}.chat-input{display:flex;gap:6px;padding:10px;border-top:1px solid rgba(255,255,255,.06)}.chat-input input{flex:1;padding:8px 10px;border-radius:8px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:var(--ink);outline:none}.chat-input input:focus{border-color:var(--gold)}.chat-input .btn{padding:8px 14px}.bottom-bar{padding:10px 14px 14px;background:linear-gradient(0deg,#05070ce6,#05070c80);border-top:1px solid rgba(255,255,255,.06)}.waiting-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--ink-dim)}.betbar{display:grid;grid-template-columns:1fr 1.2fr 1.2fr;gap:16px;align-items:center}.betbar.disabled{opacity:.55}.betbar-left{display:flex;gap:20px}.my-stack .label{font-size:.75rem;color:var(--ink-dim);text-transform:uppercase;letter-spacing:.1em}.my-stack .value{font-family:Playfair Display,serif;font-size:1.3rem;color:var(--gold-light)}.my-stack.timer .value{color:var(--accent)}.betbar-center{display:flex;flex-direction:column;gap:8px}.quick-chips{display:flex;gap:6px}.chip{padding:8px 10px;border-radius:24px;font-weight:700;color:#1a1400;font-size:.85rem;min-width:70px;transition:transform .08s}.chip:hover:not(:disabled){transform:translateY(-1px) scale(1.04)}.chip:disabled{opacity:.45;cursor:not-allowed}.chip-bung{background:linear-gradient(180deg,#fde68a,#eab308)}.chip-go{background:linear-gradient(180deg,#fca5a5,#ef4444);color:#fff}.chip-dam{background:linear-gradient(180deg,#a78bfa,#6d28d9);color:#fff}.chip-reset{background:#ffffff1f;color:var(--ink);min-width:40px}.amount-row{display:flex;align-items:center;gap:8px}.amount-row input{flex:1;padding:10px 12px;border-radius:10px;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);color:var(--ink);outline:none;font-size:1.1rem}.amount-row input:focus{border-color:var(--gold)}.amount-row .unit{color:var(--ink-dim);font-size:.9rem}.betbar-right{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.btn-action{min-width:92px;padding:10px 14px;border-radius:10px;font-weight:700;color:#fff}.btn-action.fold{background:linear-gradient(180deg,#6b7280,#374151)}.btn-action.check{background:linear-gradient(180deg,#22c55e,#15803d)}.btn-action.call{background:linear-gradient(180deg,#3b82f6,#1d4ed8)}.btn-action.bet,.btn-action.raise{background:linear-gradient(180deg,#f59e0b,#b45309)}.btn-action.allin{background:linear-gradient(180deg,#ef4444,#991b1b)}@media (max-width: 960px){.side-panel{width:240px}.card,.community-slot{width:70px;height:100px}.card-corner .rank{font-size:1.05rem}.card-corner .suit{font-size:.95rem}.card-center{font-size:2rem}}@media (max-width: 720px){.table-main{flex-direction:column}.side-panel{width:100%;max-height:180px}.poker-table{min-height:320px}.betbar{grid-template-columns:1fr;gap:10px}.betbar-right{justify-content:center}.btn-action{min-width:80px;padding:8px 10px;font-size:.88rem}.card,.community-slot{width:56px;height:80px}.card-corner .rank{font-size:.9rem}.card-corner .suit{font-size:.8rem}.card-center{font-size:1.6rem}.seat-card{min-width:120px;font-size:.78rem;padding:6px 8px}.seat-stack{font-size:.85rem}.pot-amount{font-size:1.2rem}}.btn-mixer{background:#ffffff1a;color:var(--ink);border:1px solid rgba(255,255,255,.2);padding:8px 12px;font-size:1.05rem}.mixer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:200}.mixer-panel{width:min(540px,92vw);max-height:86vh;overflow-y:auto;background:linear-gradient(180deg,#1a2030,#0f1320);color:var(--ink);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:18px 20px;box-shadow:0 30px 60px #0009}.mixer-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.mixer-header h3{margin:0;font-size:1.15rem;letter-spacing:.02em}.mixer-close{background:#ffffff14;color:var(--ink);border-radius:8px;width:32px;height:32px}.mixer-section{border-top:1px solid rgba(255,255,255,.08);padding:10px 0 6px}.mixer-section-title{font-size:.85rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-dim);margin-bottom:6px}.mixer-row{display:grid;grid-template-columns:130px 38px 1fr 48px auto;gap:8px;align-items:center;padding:6px 0}.mixer-row label{color:var(--ink);font-size:.92rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mixer-row input[type=range]{width:100%;accent-color:var(--gold)}.mixer-value{font-variant-numeric:tabular-nums;color:var(--ink-dim);font-size:.88rem;text-align:right}.mute-btn{background:#ffffff14;color:var(--ink);border-radius:8px;padding:4px 6px;font-size:.95rem}.mute-btn.muted{background:#ef444440;color:#ffd0d0}.btn.btn-sm{padding:4px 10px;font-size:.82rem;border-radius:8px;background:#ffffff14;color:var(--ink);border:1px solid rgba(255,255,255,.15)}.btn.btn-sm.on{background:linear-gradient(180deg,#facc15,#d4af37);color:#1a1400;border-color:transparent}.mixer-empty{color:var(--ink-dim);font-size:.88rem;padding:6px 0}.mixer-foot{margin-top:10px;font-size:.78rem;color:var(--ink-dim);text-align:center}.stack-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.stack-row input[type=number]{flex:1 1 140px;min-width:140px;padding:8px 10px;border-radius:8px;background:#ffffff0f;border:1px solid rgba(255,255,255,.15);color:var(--ink)}.stack-presets{display:flex;gap:6px;flex-wrap:wrap}@media (max-width: 600px){.mixer-row{grid-template-columns:110px 32px 1fr 40px}.mixer-row .btn.btn-sm{grid-column:1 / -1;justify-self:end}}:root{--gold: #f6d56b;--gold-2: #b87b20;--felt: #0f7448;--felt-dark: #06361f;--panel: rgba(8, 12, 24, .84);--line: rgba(255, 220, 128, .22)}html,body,#root{width:100%;min-height:100%;margin:0;overflow-x:hidden;background:#050915}body{background:#050915;overscroll-behavior-x:none}.table-page{width:100%;min-height:100dvh;background:radial-gradient(circle at 50% -8%,rgba(246,213,107,.18),transparent 32%),radial-gradient(circle at 14% 24%,rgba(36,84,165,.18),transparent 36%),linear-gradient(180deg,#050915,#071121 55%,#04070f)!important}.topbar,.bottom-bar,.side-panel,.mixer-panel,.lobby-card{border:1px solid var(--line)!important;background:linear-gradient(180deg,#0e1426eb,#050812e0)!important;box-shadow:0 18px 50px #00000073,inset 0 1px #ffffff14!important;-webkit-backdrop-filter:blur(16px) saturate(1.15);backdrop-filter:blur(16px) saturate(1.15)}.btn,.copy-btn,.mute-btn,.mixer-close,.btn-action{border-radius:16px!important;border:1px solid rgba(255,230,160,.18)!important;background:linear-gradient(180deg,#1f2740f5,#080c19f5)!important;color:#fff8d7!important;font-weight:850!important;letter-spacing:.01em;box-shadow:0 10px 22px #00000057,inset 0 1px #ffffff14!important}.btn-primary,.btn.on,.btn-mic.on,.btn-action.bet,.btn-action.raise{background:linear-gradient(180deg,#ffe58b,#d49b2c 52%,#a45d19)!important;color:#1e1200!important;border-color:#ffffff38!important}.btn-action.fold{background:linear-gradient(180deg,#2a3149,#111827)!important}.btn-action.call,.btn-action.check{background:linear-gradient(180deg,#1b5f88,#0c2c47)!important}.btn-action.allin{background:linear-gradient(180deg,#ff5d70,#9b1227)!important;color:#fff!important}.poker-table{filter:drop-shadow(0 22px 36px rgba(0,0,0,.42))}.table-felt{background:radial-gradient(circle at 50% 42%,rgba(79,255,169,.13),transparent 35%),linear-gradient(145deg,#0e7a4a,#0a4a2d 62%,#052313)!important;border:4px solid rgba(221,169,61,.78)!important;box-shadow:inset 0 0 74px #00000094,0 0 0 8px #552f0ca3,0 26px 80px #00000070!important}.pot{border-radius:18px!important;padding:10px 14px!important}.pot-label{color:var(--gold)!important;letter-spacing:.32em!important}.pot-amount,.room-info .code{color:var(--gold)!important;text-shadow:0 0 18px rgba(246,213,107,.24)}.card{border-radius:12px!important;box-shadow:0 12px 26px #00000057,0 0 0 1px #00000014!important}.card.face{background:linear-gradient(180deg,#fff,#f0f0ec)!important}.card-center{font-size:1.38em!important}.card-corner .rank{font-weight:950!important}.seat-card{border-radius:18px!important;border:1px solid rgba(255,230,160,.2)!important;background:linear-gradient(180deg,#131a30f5,#070b19f0)!important;box-shadow:0 14px 28px #00000061,inset 0 1px #ffffff12!important}.seat.acting .seat-card{border-color:#f6d56be6!important;box-shadow:0 0 28px #f6d56b61,0 16px 34px #0000006b!important}.fx-full{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;pointer-events:none;display:grid;place-items:center;overflow:hidden}.fx-audio{position:fixed;width:1px;height:1px;left:-9999px;opacity:0}.fx-allin-script{background:radial-gradient(circle at center,rgba(61,255,158,.25),transparent 26%),radial-gradient(circle at 50% 44%,#00000014,#000000f0 72%),linear-gradient(180deg,#00462638,#000000f5);animation:fxFade .18s ease both,fxScreenShake .16s linear 5 .22s}.fx-allin-script:before{content:"";position:absolute;top:-18%;right:-18%;bottom:-18%;left:-18%;background:conic-gradient(from 15deg,transparent,rgba(68,255,166,.18),transparent,rgba(255,255,255,.08),transparent),repeating-radial-gradient(circle at center,rgba(89,255,177,.16) 0 2px,transparent 2px 12px);opacity:.72;animation:fxVortexSpin 3.2s linear infinite}.fx-scanlines{position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(180deg,rgba(255,255,255,.05) 0 1px,transparent 1px 6px);mix-blend-mode:screen;opacity:.25}.fx-green-vortex{position:absolute;width:min(104vw,640px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(115,255,186,.28),transparent 38%),conic-gradient(from 90deg,#73ffba00,#73ffba54,#73ffba00,#ffffff2e,#73ffba00);filter:blur(1px) drop-shadow(0 0 42px rgba(90,255,171,.55));animation:fxVortexSpin 1.9s linear infinite reverse,fxVortexPulse .75s ease-in-out infinite alternate}.fx-skull-stage{position:relative;display:grid;place-items:center;width:min(78vw,430px);aspect-ratio:1;transform:translateY(-5dvh)}.fx-shockwave,.fx-shockwave.two,.fx-shockwave.three{position:absolute;top:9%;right:9%;bottom:9%;left:9%;border-radius:50%;border:3px solid rgba(120,255,190,.6);filter:drop-shadow(0 0 22px rgba(83,255,171,.55));animation:fxShock 1.05s ease-out infinite}.fx-shockwave.two{animation-delay:.28s;border-color:#ffffff61}.fx-shockwave.three{animation-delay:.58s;border-color:#68ffb152}.fx-skull-mask{position:relative;width:min(40vw,220px);height:min(45vw,248px);border-radius:45% 45% 36% 36%/44% 44% 34% 34%;background:radial-gradient(circle at 35% 39%,transparent 0 13%,rgba(24,29,34,1) 14% 23%,transparent 24%),radial-gradient(circle at 65% 39%,transparent 0 13%,rgba(24,29,34,1) 14% 23%,transparent 24%),linear-gradient(180deg,#fff,#e6fbf3 66%,#cbefe6);box-shadow:0 0 32px #73ffbacc,0 24px 50px #0000008f,inset 0 5px 10px #ffffffe6,inset 0 -16px 20px #62b7a652;animation:fxSkullPop .65s cubic-bezier(.18,1.35,.3,1) both,fxSkullFloat .42s ease-in-out .65s infinite alternate}.fx-skull-mask .eye{position:absolute;top:35%;width:25%;height:25%;border-radius:50%;background:#20252b;box-shadow:inset 0 6px 10px #0000007a}.fx-skull-mask .eye.left{left:20%}.fx-skull-mask .eye.right{right:20%}.fx-skull-mask .nose{position:absolute;left:50%;top:58%;width:17%;height:18%;transform:translate(-50%);background:#20252b;clip-path:polygon(50% 0,100% 100%,0 100%);border-radius:8px}.fx-skull-mask .jaw{position:absolute;left:17%;right:17%;bottom:-13%;height:34%;background:linear-gradient(180deg,#e7fbf5,#bfe8df);border-radius:16% 16% 42% 42%;box-shadow:inset 0 -9px 15px #39827740,0 0 22px #73ffba8c}.fx-skull-mask .teeth{position:absolute;left:24%;right:24%;bottom:-2%;height:12%;background:repeating-linear-gradient(90deg,#effffb 0,#effffb 9px,#8fc8bb 9px,#8fc8bb 11px);border-radius:0 0 14px 14px;opacity:.98}.fx-brain-cloud{position:absolute;width:min(38vw,214px);height:min(20vw,112px);transform:translateY(-31vw);z-index:3;animation:fxBrainExplode .72s cubic-bezier(.2,1.15,.3,1) both,fxBrainFloat .5s ease-in-out .72s infinite alternate}.fx-brain-cloud .brain{position:absolute;display:block;border-radius:999px;background:radial-gradient(circle at 34% 30%,#fff6ff,transparent 34%),linear-gradient(180deg,#f7d0e2,#cda4b7);box-shadow:inset 0 -8px 15px #724f5f47,0 0 22px #ffd2eb6b}.fx-brain-cloud .b1{width:40%;height:58%;left:2%;top:30%;transform:rotate(-16deg)}.fx-brain-cloud .b2{width:42%;height:66%;left:24%;top:8%}.fx-brain-cloud .b3{width:44%;height:60%;right:6%;top:27%;transform:rotate(14deg)}.fx-brain-cloud .b4{width:33%;height:42%;left:46%;top:48%}.fx-brain-cloud .b5{width:28%;height:36%;left:17%;top:6%}.fx-bone-shards{position:absolute;width:min(56vw,310px);height:min(56vw,310px);z-index:5}.fx-bone-shards i{position:absolute;left:50%;top:46%;width:4px;height:22px;border-radius:99px;background:#f6fff9;box-shadow:0 0 10px #73ffbacc;transform-origin:50% 115px;animation:fxShard 1.1s ease-out infinite}.fx-bone-shards i:nth-child(1){transform:rotate(0) translateY(-115px);animation-delay:0s}.fx-bone-shards i:nth-child(2){transform:rotate(35deg) translateY(-115px);animation-delay:.04s}.fx-bone-shards i:nth-child(3){transform:rotate(70deg) translateY(-115px);animation-delay:.09s}.fx-bone-shards i:nth-child(4){transform:rotate(104deg) translateY(-115px);animation-delay:.12s}.fx-bone-shards i:nth-child(5){transform:rotate(140deg) translateY(-115px);animation-delay:.17s}.fx-bone-shards i:nth-child(6){transform:rotate(176deg) translateY(-115px);animation-delay:.22s}.fx-bone-shards i:nth-child(7){transform:rotate(212deg) translateY(-115px);animation-delay:.26s}.fx-bone-shards i:nth-child(8){transform:rotate(246deg) translateY(-115px);animation-delay:.31s}.fx-bone-shards i:nth-child(9){transform:rotate(282deg) translateY(-115px);animation-delay:.35s}.fx-bone-shards i:nth-child(10){transform:rotate(316deg) translateY(-115px);animation-delay:.4s}.fx-bone-shards i:nth-child(11){transform:rotate(24deg) translateY(-88px);animation-delay:.44s}.fx-bone-shards i:nth-child(12){transform:rotate(198deg) translateY(-92px);animation-delay:.48s}.fx-allin-copy{position:absolute;bottom:8dvh;left:16px;right:16px;text-align:center;color:#fff}.fx-kicker{color:#71ffb2;font-size:clamp(34px,13vw,74px);font-weight:1000;letter-spacing:.18em;text-shadow:0 0 30px rgba(83,255,171,.8),0 8px 0 rgba(0,0,0,.22)}.fx-player{margin-top:3px;font-size:clamp(22px,7vw,38px);font-weight:950}.fx-amount{margin-top:8px;color:#fff3b8;font-size:clamp(18px,5vw,26px);font-weight:950}.fx-end-script{background:radial-gradient(circle at center,rgba(255,255,255,.08),transparent 30%),linear-gradient(180deg,#000,#050505 60%,#000);color:#fff;animation:fxFade .28s ease both}.fx-end-grain{position:absolute;top:-20%;right:-20%;bottom:-20%;left:-20%;opacity:.22;background:repeating-radial-gradient(circle at center,rgba(255,255,255,.18) 0 1px,transparent 1px 5px);animation:fxDrift 6s linear infinite}.fx-end-words{position:relative;z-index:2;width:min(92vw,820px);padding:18px;text-align:center}.fx-end-pre{font-family:Georgia,serif;font-size:clamp(22px,7vw,58px);letter-spacing:.05em;text-shadow:0 0 20px rgba(255,255,255,.44);animation:fxZoom .9s ease both}.fx-end-title{margin-top:12px;font-size:clamp(36px,13vw,96px);font-weight:1000;letter-spacing:.06em;line-height:.92;text-shadow:0 0 28px rgba(255,255,255,.35);animation:fxZoom 1.2s .14s ease both}.fx-end-winner{margin-top:18px;color:var(--gold);font-size:clamp(18px,5vw,34px);font-weight:950}.fx-end-amount{margin-top:6px;color:#f8f8f8;font-size:clamp(15px,4vw,24px);font-weight:850}@keyframes fxFade{0%{opacity:0}to{opacity:1}}@keyframes fxShock{0%{transform:scale(.48);opacity:.95}to{transform:scale(1.78);opacity:0}}@keyframes fxSkullPop{0%{transform:scale(.18) translateY(60px) rotate(-18deg);opacity:0;filter:blur(8px)}55%{transform:scale(1.18) translateY(-8px) rotate(8deg);opacity:1;filter:blur(0)}to{transform:scale(1) translateY(0) rotate(0);opacity:1;filter:blur(0)}}@keyframes fxSkullFloat{0%{transform:translateY(-3px) rotate(-1deg) scale(.99)}to{transform:translateY(4px) rotate(1deg) scale(1.03)}}@keyframes fxBrainExplode{0%{transform:translateY(-2vw) scale(.2);opacity:0}to{transform:translateY(-31vw) scale(1);opacity:1}}@keyframes fxBrainFloat{0%{filter:drop-shadow(0 0 8px rgba(255,210,235,.3))}to{filter:drop-shadow(0 0 22px rgba(255,210,235,.62));transform:translateY(-32vw) scale(1.02)}}@keyframes fxShard{0%{opacity:0;height:7px}25%{opacity:.95}to{opacity:0;height:28px}}@keyframes fxVortexSpin{to{transform:rotate(360deg)}}@keyframes fxVortexPulse{0%{transform:scale(.88);opacity:.65}to{transform:scale(1.06);opacity:.95}}@keyframes fxScreenShake{0%,to{transform:translate(0)}25%{transform:translate(-3px,2px)}50%{transform:translate(3px,-2px)}75%{transform:translate(-2px,-1px)}}@keyframes fxZoom{0%{opacity:0;transform:scale(1.55);filter:blur(10px)}to{opacity:1;transform:scale(1);filter:blur(0)}}@keyframes fxDrift{to{transform:translate3d(5%,6%,0)}}@media (max-width: 760px){html,body,#root{height:auto!important;min-height:100dvh!important;overflow-x:hidden!important}body{overflow-y:auto!important}.table-page{min-height:100dvh;width:100vw;overflow-x:hidden;display:flex!important;flex-direction:column!important}.topbar{position:relative!important;top:auto!important;z-index:40;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;grid-template-areas:"room actions" "hand actions"!important;gap:8px 9px;padding:max(10px,env(safe-area-inset-top)) 12px 10px!important;margin:0!important;border-radius:0 0 20px 20px!important;width:100vw!important;min-height:112px!important}.room-info{grid-area:room;min-width:0;display:flex!important;flex-wrap:wrap;align-items:center;gap:7px}.room-info .label{font-size:12px;letter-spacing:.18em}.room-info .code{font-size:clamp(30px,10vw,44px)!important;line-height:.98;letter-spacing:.16em!important}.copy-btn{width:46px!important;height:42px!important;padding:0!important}.hand-info{grid-area:hand;font-size:14px!important;line-height:1.25;opacity:.92}.top-actions{grid-area:actions;display:grid!important;grid-template-columns:repeat(3,56px);gap:7px;justify-content:end;align-items:center}.top-actions .btn{width:56px!important;min-width:56px!important;height:54px!important;padding:0!important;font-size:13px!important}.table-main{flex:0 0 auto!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:8px!important;padding:4px 0 0!important;overflow:visible!important;min-height:0!important;width:100vw!important}.poker-table{flex:0 0 auto!important;width:100vw!important;height:min(63dvh,560px)!important;min-height:430px!important;max-width:100vw!important;padding:0!important;margin:0 auto!important;overflow:visible!important;border-radius:0!important}.table-felt{position:absolute!important;inset:58px auto auto 50%!important;transform:translate(-50%)!important;width:min(82vw,390px)!important;height:min(50dvh,430px)!important;min-height:350px!important;margin:0!important;border-radius:48%/35%!important}.pot{transform:translate(-50%) scale(.95)!important;top:18%!important}.community{gap:5px!important;transform:translateY(14px)}.community-slot,.community-slot .card,.community .card{width:clamp(42px,11vw,56px)!important;height:clamp(60px,15.2vw,80px)!important}.seat-card{min-width:120px!important;max-width:148px!important;padding:7px 9px!important}.seat-name,.player-name{font-size:15px!important;font-weight:950!important}.seat-stack{font-size:14px!important;color:#ffe889!important}.seat-status{font-size:12px!important;letter-spacing:.12em!important}.hole-cards .card,.seat-hole .card,.seat-cards .card{width:43px!important;height:61px!important}.seat-cards{transform:scale(.82)!important;margin-bottom:-10px!important}.side-panel{flex:0 0 auto!important;width:calc(100vw - 18px)!important;margin:0 9px 10px!important;align-self:center!important;min-height:0!important}.chat-panel{max-height:164px!important;min-height:132px!important;border-radius:18px!important;overflow:hidden}.chat-log{max-height:72px!important;padding:8px 12px!important}.chat-input{padding:8px!important}.chat-input input,.chat-panel input{min-height:48px!important;font-size:16px!important}.chat-input button,.chat-panel button{min-height:48px!important;min-width:74px!important;font-size:17px!important}.bottom-bar{position:relative!important;bottom:auto!important;z-index:60;margin:0!important;padding:9px 10px max(10px,env(safe-area-inset-bottom))!important;border-radius:18px 18px 0 0!important}.waiting-bar{text-align:center;justify-content:center!important;gap:10px!important;min-height:54px}.betbar{display:grid!important;gap:8px!important}.betbar-left,.betbar-center,.betbar-right{width:100%!important}.betbar-left{display:grid!important;grid-template-columns:repeat(3,1fr);gap:7px!important}.my-stack{border-radius:14px!important;padding:7px!important;background:#ffffff0b}.my-stack .value{font-size:1.05rem!important}.quick-chips{display:grid!important;grid-template-columns:repeat(4,1fr);gap:7px!important}.chip{min-width:0!important;padding:10px 5px!important;font-size:13px!important}.amount-row input{min-height:46px!important;font-size:18px!important}.betbar-right{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px!important}.btn-action{min-height:50px!important;font-size:16px!important}.fx-skull-stage{width:min(88vw,440px);transform:translateY(-4dvh)}.fx-skull-mask{width:min(48vw,230px);height:min(54vw,258px)}.fx-brain-cloud{width:min(48vw,230px);height:min(24vw,116px);transform:translateY(-38vw)}.fx-allin-copy{bottom:max(7dvh,48px)}}@media (max-width: 390px){.topbar{min-height:104px!important}.top-actions{grid-template-columns:repeat(3,52px)}.top-actions .btn{width:52px!important;min-width:52px!important;height:50px!important}.poker-table{height:min(61dvh,520px)!important;min-height:400px!important}.table-felt{width:80vw!important;height:min(47dvh,396px)!important;min-height:330px!important}.room-info .code{font-size:clamp(28px,9vw,38px)!important}.side-panel{margin-bottom:8px!important}}html,body,#root{width:100%;min-height:100dvh;overflow-x:hidden!important;background:#050915}body{overflow-y:auto!important}.fx-key-source{position:fixed;width:1px;height:1px;left:-9999px;opacity:0}.fx-allin-clean{background:#000000db;animation:fxFade .18s ease both,fxScreenBump .12s linear 4 .22s}.fx-clean-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 50% 45%,rgba(81,255,169,.28),transparent 27%),radial-gradient(circle at 50% 50%,#00000014,#000000eb 72%),linear-gradient(180deg,#032116d1,#000000f5)}.fx-clean-vortex{position:absolute;width:min(105vw,620px);aspect-ratio:1;border-radius:50%;background:repeating-radial-gradient(circle,rgba(111,255,183,.22) 0 2px,transparent 2px 17px),conic-gradient(from 45deg,transparent,rgba(111,255,183,.2),transparent,rgba(255,255,255,.1),transparent);filter:drop-shadow(0 0 44px rgba(78,255,166,.45));opacity:.82;animation:fxVortexSpin 2.6s linear infinite,fxVortexBreath .7s ease-in-out infinite alternate}.fx-clean-ring{position:absolute;width:min(62vw,360px);aspect-ratio:1;border:2px solid rgba(160,255,210,.56);border-radius:50%;box-shadow:0 0 24px #5affb161,inset 0 0 24px #5affb124;animation:fxRingOut 1s ease-out infinite}.fx-clean-ring.r2{animation-delay:.34s;width:min(78vw,440px);opacity:.65}.fx-key-canvas{position:relative;z-index:3;width:min(76vw,420px);height:min(76vw,420px);object-fit:contain;filter:drop-shadow(0 0 30px rgba(112,255,188,.9)) drop-shadow(0 24px 36px rgba(0,0,0,.62)) saturate(1.14) contrast(1.1);animation:fxKeyPop .56s cubic-bezier(.18,1.38,.3,1) both,fxKeyFloat .5s ease-in-out .56s infinite alternate}.fx-clean-fallback{position:relative;z-index:3;font-size:min(52vw,290px);filter:drop-shadow(0 0 24px rgba(112,255,188,.75))}.fx-clean-copy{position:absolute;z-index:4;left:16px;right:16px;bottom:max(5dvh,34px);text-align:center}.fx-clean-kicker{font-size:clamp(36px,13vw,76px);font-weight:1000;letter-spacing:.2em;color:#75ffb5;text-shadow:0 0 28px rgba(81,255,169,.85),0 6px 0 rgba(0,0,0,.22)}.fx-clean-player{margin-top:4px;font-size:clamp(23px,6.6vw,38px);color:#fff;font-weight:950;text-shadow:0 4px 18px rgba(0,0,0,.72)}.fx-clean-amount{margin-top:8px;font-size:clamp(18px,4.8vw,27px);color:#fff0a8;font-weight:950;text-shadow:0 4px 18px rgba(0,0,0,.72)}@keyframes fxKeyPop{0%{transform:scale(.35) translateY(60px);opacity:0;filter:blur(8px) drop-shadow(0 0 0 transparent)}62%{transform:scale(1.1) translateY(-8px);opacity:1}to{transform:scale(1) translateY(0);opacity:1}}@keyframes fxKeyFloat{0%{transform:translateY(-4px) rotate(-1deg) scale(.99)}to{transform:translateY(4px) rotate(1deg) scale(1.025)}}@keyframes fxRingOut{0%{transform:scale(.65);opacity:.95}to{transform:scale(1.55);opacity:0}}@keyframes fxVortexBreath{0%{transform:scale(.92);opacity:.62}to{transform:scale(1.06);opacity:.88}}@keyframes fxScreenBump{0%,to{transform:translate(0)}50%{transform:translateY(-3px)}}@media (max-width: 760px){.table-page{height:auto!important;min-height:100dvh!important;overflow-x:hidden!important;overflow-y:visible!important}.topbar{position:relative!important;width:100vw!important;min-height:96px!important;padding:8px 10px!important;border-radius:0 0 18px 18px!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;grid-template-areas:"room actions" "hand actions"!important;gap:6px 8px!important}.room-info{grid-area:room!important}.hand-info{grid-area:hand!important;font-size:13px!important;line-height:1.22!important}.top-actions{grid-area:actions!important;display:grid!important;grid-template-columns:repeat(3,50px)!important;gap:6px!important;align-content:center!important}.top-actions .btn{width:50px!important;min-width:50px!important;height:48px!important;font-size:12px!important;padding:0!important}.room-info .code{font-size:clamp(27px,9vw,38px)!important;letter-spacing:.14em!important}.copy-btn{width:42px!important;height:40px!important}.table-main{width:100vw!important;flex:0 0 auto!important;min-height:0!important;overflow:visible!important;display:flex!important;flex-direction:column!important;gap:6px!important;padding:0!important}.poker-table{width:100vw!important;flex:0 0 auto!important;height:clamp(390px,56dvh,540px)!important;min-height:0!important;margin:0!important;padding:0!important;overflow:visible!important}.table-felt{position:absolute!important;left:50%!important;top:48px!important;right:auto!important;bottom:auto!important;transform:translate(-50%)!important;width:min(78vw,370px)!important;height:clamp(320px,44dvh,420px)!important;min-height:0!important;margin:0!important;border-radius:47%/34%!important}.pot{top:18%!important;transform:translate(-50%) scale(.9)!important}.community{gap:4px!important;transform:translateY(12px) scale(.94)}.community-slot,.community-slot .card,.community .card{width:clamp(39px,10.6vw,52px)!important;height:clamp(56px,14.8vw,76px)!important}.seat-card{min-width:112px!important;max-width:142px!important;padding:7px 9px!important}.seat-cards{transform:scale(.76)!important;margin-bottom:-12px!important}.seat-cards .card,.hole-cards .card,.seat-hole .card{width:40px!important;height:57px!important}.side-panel{width:calc(100vw - 16px)!important;min-height:0!important;flex:0 0 auto!important;margin:0 8px 6px!important;align-self:center!important}.chat-panel{min-height:118px!important;max-height:146px!important}.chat-log{max-height:56px!important;padding:7px 10px!important}.chat-header{padding:8px 12px!important}.chat-input{padding:7px!important}.chat-input input{min-height:44px!important}.chat-input button{min-height:44px!important;min-width:72px!important}.bottom-bar{position:relative!important;flex:0 0 auto!important;margin:0!important;padding:8px 9px max(9px,env(safe-area-inset-bottom))!important;border-radius:16px 16px 0 0!important}.betbar{gap:7px!important}.betbar-left{grid-template-columns:repeat(3,1fr)!important;gap:6px!important}.my-stack{padding:6px!important}.my-stack .label{font-size:11px!important}.my-stack .value{font-size:.98rem!important}.quick-chips{gap:6px!important}.chip{padding:9px 4px!important;font-size:12px!important}.amount-row input{min-height:44px!important}.btn-action{min-height:48px!important;font-size:15px!important}.fx-key-canvas{width:min(82vw,410px);height:min(82vw,410px)}.fx-clean-copy{bottom:max(4.5dvh,30px)}}@media (max-width: 390px){.topbar{min-height:92px!important}.top-actions{grid-template-columns:repeat(3,47px)!important}.top-actions .btn{width:47px!important;min-width:47px!important;height:46px!important}.poker-table{height:clamp(372px,54dvh,500px)!important}.table-felt{top:42px!important;width:76vw!important;height:clamp(304px,42dvh,390px)!important}.room-info .code{font-size:clamp(25px,8.5vw,35px)!important}.seat-card{min-width:106px!important;max-width:134px!important}.fx-key-canvas{width:min(86vw,390px);height:min(86vw,390px)}.fx-clean-kicker{font-size:clamp(34px,12vw,62px)}}
