:root{--bg:#061510;--panel:#0c211b;--panel-2:#102a22;--felt:#0b4a38;--felt-2:#07392c;--text:#f5f3ea;--muted:#9bb0a8;--gold:#d8ad62;--gold-2:#f0cf8e;--danger:#e2716a;--line:rgba(255,255,255,.1);--shadow:0 24px 70px rgba(0,0,0,.35)}
*{box-sizing:border-box}html{min-height:100%;background:var(--bg)}body{margin:0;min-height:100vh;color:var(--text);font-family:Tahoma,"Segoe UI",sans-serif;background:radial-gradient(circle at 20% 10%,#123c30 0,transparent 30%),var(--bg)}button,input{font:inherit}button,a{ -webkit-tap-highlight-color:transparent}.brand{display:flex;align-items:center;gap:12px;font-weight:800;font-size:19px;color:var(--text);text-decoration:none}.brand-mark{display:grid;place-items:center;width:40px;height:40px;border-radius:13px;color:#092118;background:linear-gradient(145deg,var(--gold-2),var(--gold));font-size:24px}.landing{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.65fr);gap:6vw;align-items:center;max-width:1180px;margin:auto;padding:64px 42px}.hero{align-self:stretch;display:flex;flex-direction:column;justify-content:space-between;min-height:640px;padding:10px 0}.hero-copy{margin:auto 0}.eyebrow{display:inline-block;color:var(--gold-2);font-size:13px;font-weight:700;letter-spacing:.04em;margin-bottom:20px}.hero h1{font-size:clamp(48px,6vw,84px);line-height:1.15;margin:0;letter-spacing:-.055em}.hero h1 em{font-style:normal;color:var(--gold)}.hero p{max-width:570px;color:var(--muted);font-size:18px;line-height:2;margin:28px 0}.feature-row{display:flex;gap:26px;color:#c3d0ca;font-size:13px}.feature-row span::first-letter{color:var(--gold)}.entry-card{background:linear-gradient(160deg,rgba(20,51,42,.96),rgba(9,29,23,.98));border:1px solid var(--line);border-radius:28px;padding:28px;box-shadow:var(--shadow)}.tabs{display:grid;grid-template-columns:1fr 1fr;background:rgba(0,0,0,.24);padding:5px;border-radius:14px;margin-bottom:30px}.tab{border:0;background:transparent;color:var(--muted);padding:11px;border-radius:10px;cursor:pointer}.tab.active{background:#183b31;color:var(--text);box-shadow:0 3px 12px rgba(0,0,0,.2)}label{display:block;color:#c8d3cf;font-size:13px;margin:18px 3px 8px}input[type=text],input:not([type]){width:100%}.entry-card input{width:100%;height:54px;border-radius:13px;border:1px solid var(--line);background:#081b16;color:var(--text);padding:0 16px;outline:none;font-size:16px}.entry-card input:focus{border-color:var(--gold)}.primary,.secondary,.danger,.ghost{border:0;border-radius:13px;min-height:48px;padding:0 20px;color:var(--text);font-weight:700;cursor:pointer}.primary{background:linear-gradient(135deg,var(--gold-2),var(--gold));color:#152016;display:flex;align-items:center;justify-content:space-between}.entry-card .primary{width:100%;height:56px;margin-top:25px}.primary:disabled{opacity:.5}.privacy{font-size:11px;text-align:center;color:#71877e;margin:18px 0 0}.error{color:#ff9f98;min-height:22px;font-size:13px;margin:10px 0}.game-shell{height:100vh;min-height:650px;display:grid;grid-template-rows:70px 1fr auto;overflow:hidden;background:radial-gradient(circle at 50% 42%,#154c3e 0,transparent 34%),#061510}.game-header{display:flex;align-items:center;justify-content:space-between;padding:0 30px;border-bottom:1px solid var(--line);background:rgba(5,20,15,.72);z-index:5}.brand.small{font-size:16px}.brand.small .brand-mark{width:34px;height:34px;font-size:20px}.room-code{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.06);border:1px solid var(--line);border-radius:20px;color:var(--muted);padding:7px 13px;cursor:pointer}.room-code b{color:var(--text);letter-spacing:.13em}.room-code i{font-style:normal;color:var(--gold)}.connection{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:7px}.connection>span,.presence{width:7px;height:7px;border-radius:50%;background:#7b827f}.connection .online,.presence.online{background:#54d39b;box-shadow:0 0 0 4px rgba(84,211,155,.1)}.poker-table{position:relative;width:min(86vw,1000px);height:min(67vh,590px);margin:auto;border:18px solid #102a22;border-radius:48%;background:radial-gradient(ellipse,#11624b,#0b4435 62%,#073327);box-shadow:inset 0 0 0 2px rgba(216,173,98,.3),inset 0 0 60px rgba(0,0,0,.26),0 30px 80px rgba(0,0,0,.35)}.poker-table::after{content:"";position:absolute;inset:15px;border:1px solid rgba(255,255,255,.08);border-radius:48%;pointer-events:none}.table-center{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:18px;width:70%;z-index:1}.status{text-align:center}.status small{display:block;color:var(--gold-2);font-size:10px;text-transform:uppercase;margin-bottom:4px}.status strong{font-size:14px}.cards{display:flex;direction:ltr}.board{gap:7px}.playing-card{width:60px;height:84px;background:#f7f4e9;color:#141a17;border-radius:9px;padding:7px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;box-shadow:0 5px 14px rgba(0,0,0,.26);font-family:Arial,sans-serif;font-size:22px}.playing-card b{font-size:17px}.playing-card.red{color:#d64545}.playing-card.back{align-items:center;justify-content:center;color:var(--gold);background:repeating-linear-gradient(45deg,#102c24,#102c24 5px,#173b31 5px,#173b31 10px);border:2px solid #dfbd7c}.playing-card.placeholder{background:rgba(0,0,0,.13);border:1px dashed rgba(255,255,255,.18);box-shadow:none}.pot{background:rgba(3,24,18,.8);border:1px solid rgba(216,173,98,.25);border-radius:20px;padding:6px 15px;display:flex;align-items:center;gap:10px}.pot span{font-size:10px;color:var(--muted)}.pot strong{color:var(--gold-2);font-size:15px}.seats{position:absolute;inset:0;z-index:2}.seat{position:absolute;transform:translate(-50%,-50%);min-width:150px;transition:.2s}.seat-1{left:50%;top:102%}.seat-2{left:18%;top:89%}.seat-3{left:-1%;top:53%}.seat-4{left:18%;top:12%}.seat-5{left:50%;top:-2%}.seat-6{left:82%;top:12%}.seat-7{left:101%;top:53%}.seat-8{left:82%;top:89%}.player-chip{display:flex;align-items:center;gap:9px;background:rgba(7,25,20,.95);border:1px solid rgba(255,255,255,.12);border-radius:30px;padding:6px 10px 6px 7px;box-shadow:0 8px 24px rgba(0,0,0,.25)}.avatar{width:38px;height:38px;border-radius:50%;background:linear-gradient(145deg,#315f51,#183c31);display:grid;place-items:center;font-weight:800;position:relative}.presence{position:absolute;bottom:1px;right:1px;border:2px solid #0b211b;width:9px;height:9px}.player-info{display:flex;flex-direction:column;min-width:78px}.player-info strong{font-size:12px;white-space:nowrap;max-width:110px;overflow:hidden;text-overflow:ellipsis}.player-info span{font-size:10px;color:var(--gold-2)}.dealer{width:22px;height:22px;display:grid;place-items:center;background:#eee;color:#222;border-radius:50%;font:700 10px Arial}.seat.active .player-chip{border-color:var(--gold);box-shadow:0 0 0 4px rgba(216,173,98,.12)}.seat.me .avatar{background:linear-gradient(145deg,var(--gold-2),#9c7133);color:#162019}.seat.folded{opacity:.44;filter:grayscale(.5)}.hole-cards{position:absolute;left:50%;bottom:45px;transform:translateX(-50%);z-index:-1}.hole-cards .playing-card{width:41px;height:58px;margin-left:-9px;border-radius:6px;padding:4px;font-size:15px}.hole-cards .playing-card b{font-size:11px}.bet{position:absolute;left:50%;top:-39px;transform:translateX(-50%);background:#d8ad62;color:#122019;border-radius:14px;padding:3px 9px;font-size:10px;font-weight:800}.badge{position:absolute;right:-8px;top:-10px;background:#b54f49;border-radius:10px;padding:2px 7px;font-size:9px}.control-panel{width:min(760px,calc(100% - 24px));margin:6px auto 16px;min-height:78px;background:rgba(10,31,25,.96);border:1px solid var(--line);border-radius:20px;padding:12px;z-index:6}.waiting-actions{display:flex;align-items:center;justify-content:space-between;gap:20px}.waiting-actions div{display:flex;flex-direction:column}.waiting-actions strong{font-size:14px}.waiting-actions small{font-size:11px;color:var(--muted)}.primary.compact{min-width:145px}.actions{display:grid;grid-template-columns:100px 110px 110px 1fr;gap:9px}.secondary{background:#21463b}.danger{background:#4a2524;color:#ffaaa4}.ghost{background:transparent;border:1px solid var(--line);color:var(--gold-2)}.actions button small{display:block;color:var(--gold-2)}.raise-control{display:grid;grid-template-columns:1fr;gap:4px}.raise-control>div{display:grid;grid-template-columns:1fr 70px;gap:6px}.raise-control .primary{justify-content:center}.raise-control input{accent-color:var(--gold);height:8px}.toast{position:fixed;left:50%;bottom:110px;transform:translateX(-50%);background:#4a2524;border-radius:12px;padding:8px 15px;min-height:0}.toast:empty{display:none}.not-found{min-height:100vh;display:grid;place-content:center;justify-items:center;text-align:center;padding:24px}.brand-mark.big{width:70px;height:70px;font-size:40px}.not-found h1{font-size:38px;margin:25px 0 5px}.not-found p{color:var(--muted)}.link-button{text-decoration:none;padding:13px 25px;margin-top:15px}
@media(max-width:760px){.landing{display:block;padding:24px 18px}.hero{min-height:auto}.hero-copy{padding:70px 0 40px}.hero h1{font-size:46px}.hero p{font-size:15px}.feature-row{display:none}.entry-card{padding:20px;border-radius:22px}.game-shell{min-height:100svh;grid-template-rows:58px 1fr auto;overflow:hidden}.game-header{padding:0 12px}.brand.small span:last-child{display:none}.room-code{padding:6px 10px}.poker-table{width:92vw;height:58vh;min-height:390px;border-width:11px;border-radius:42%;margin-top:4vh}.poker-table::after{inset:8px}.table-center{width:72%;gap:11px}.status strong{font-size:11px}.board{gap:3px}.playing-card{width:41px;height:58px;border-radius:6px;padding:4px;font-size:16px}.playing-card b{font-size:12px}.seat{min-width:105px}.seat-1{top:101%}.seat-2{left:13%;top:86%}.seat-3{left:0;top:55%}.seat-4{left:14%;top:15%}.seat-5{top:-1%}.seat-6{left:86%;top:15%}.seat-7{left:100%;top:55%}.seat-8{left:87%;top:86%}.player-chip{padding:4px 7px 4px 4px;gap:5px}.avatar{width:28px;height:28px;font-size:11px}.player-info{min-width:55px}.player-info strong{font-size:9px;max-width:72px}.player-info span{font-size:8px}.dealer{width:17px;height:17px}.hole-cards{bottom:33px}.hole-cards .playing-card{width:29px;height:41px;margin-left:-7px;font-size:10px}.hole-cards .playing-card b{font-size:8px}.bet{top:-29px}.pot{padding:4px 10px}.control-panel{margin-bottom:max(8px,env(safe-area-inset-bottom));padding:8px;border-radius:16px}.waiting-actions small{display:none}.actions{grid-template-columns:62px 74px 74px 1fr;gap:5px}.actions button{padding:0 7px;min-height:43px;font-size:11px}.raise-control>div{grid-template-columns:1fr 52px}.raise-control input{width:100%}.toast{bottom:95px}}
@media(max-width:430px) and (max-height:740px){.poker-table{height:53vh;min-height:345px}.seat-4,.seat-6{top:18%}.seat-2,.seat-8{top:82%}.table-center{transform:translate(-50%,-45%)}.control-panel{min-height:65px}}

/* Premium visual layer */
@font-face{font-family:"Vazirmatn";src:url("/static/fonts/Vazirmatn.woff2") format("woff2");font-style:normal;font-weight:100 900;font-display:swap}
:root{--gold:#d8a950;--gold-2:#ffe0a0;--gold-glow:rgba(235,184,92,.33);--mint:#54d39b;--velvet:#071a14}
body{font-family:"Vazirmatn",Tahoma,"Segoe UI",sans-serif;font-feature-settings:"ss01";background:radial-gradient(circle at 12% 8%,rgba(28,92,70,.52),transparent 26%),radial-gradient(circle at 88% 88%,rgba(142,101,42,.13),transparent 28%),var(--bg)}
.game-shell{isolation:isolate;background:radial-gradient(ellipse at 50% 45%,rgba(25,102,78,.42),transparent 38%),radial-gradient(circle at 10% 10%,rgba(216,169,80,.08),transparent 24%),#05130f}
.game-shell::before,.game-shell::after{position:fixed;z-index:-1;color:rgba(216,169,80,.055);font-family:Georgia,serif;font-size:22vw;line-height:1;pointer-events:none;filter:blur(1px);animation:ambientSuit 12s ease-in-out infinite alternate}
.game-shell::before{content:"♠";top:4%;right:-4%;transform:rotate(-12deg)}
.game-shell::after{content:"♦";bottom:-8%;left:-3%;transform:rotate(16deg);animation-delay:-6s}
.game-header{backdrop-filter:blur(18px);box-shadow:0 8px 35px rgba(0,0,0,.18)}
.brand-mark{position:relative;overflow:hidden;box-shadow:0 8px 28px rgba(216,169,80,.22);transition:transform .25s ease,box-shadow .25s ease}
.brand-mark::after{content:"";position:absolute;inset:-100% 45%;background:rgba(255,255,255,.45);transform:rotate(28deg);animation:brandShine 6s ease-in-out infinite}
.brand:hover .brand-mark{transform:translateY(-2px) rotate(-4deg);box-shadow:0 11px 32px rgba(216,169,80,.32)}
.landing .hero-copy>*{animation:riseIn .7s both}.landing .hero-copy h1{animation-delay:.08s}.landing .hero-copy p{animation-delay:.16s}.entry-card{position:relative;overflow:hidden;animation:cardReveal .72s .12s both;backdrop-filter:blur(20px)}
.entry-card::before{content:"";position:absolute;width:220px;height:220px;border-radius:50%;top:-145px;left:-90px;background:radial-gradient(circle,rgba(216,169,80,.17),transparent 68%);pointer-events:none}
.entry-card input{transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.entry-card input:focus{transform:translateY(-1px);box-shadow:0 0 0 4px rgba(216,169,80,.1),0 12px 25px rgba(0,0,0,.18)}
.tab{transition:color .2s ease,background .2s ease,transform .2s ease}.tab:hover{color:var(--text)}.tab:active{transform:scale(.97)}
.primary,.secondary,.danger,.ghost,.room-code{position:relative;overflow:hidden;transition:transform .18s ease,filter .18s ease,box-shadow .18s ease,border-color .18s ease}
.primary{box-shadow:0 8px 24px rgba(216,169,80,.18),inset 0 1px 0 rgba(255,255,255,.55)}
.primary::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 28%,rgba(255,255,255,.42) 46%,transparent 64%);transform:translateX(120%);transition:transform .55s ease}
.primary:hover::after{transform:translateX(-120%)}
.primary:hover,.secondary:hover,.danger:hover,.ghost:hover,.room-code:hover{transform:translateY(-2px);filter:brightness(1.1)}
.primary:hover{box-shadow:0 12px 30px rgba(216,169,80,.27),inset 0 1px 0 rgba(255,255,255,.6)}
.primary:active,.secondary:active,.danger:active,.ghost:active,.room-code:active{transform:translateY(0) scale(.97)}
.primary i{font-style:normal;font-size:10px;margin-right:12px;animation:diamondPulse 1.8s ease-in-out infinite}
.secondary{background:linear-gradient(145deg,#295448,#183b31);border:1px solid rgba(255,255,255,.08);box-shadow:inset 0 1px rgba(255,255,255,.08)}
.danger{background:linear-gradient(145deg,#5c2c2a,#3c201f);border:1px solid rgba(255,136,128,.14)}
.ghost{background:rgba(216,169,80,.06);border-color:rgba(216,169,80,.28)}
.poker-table{overflow:visible;border-color:#102e25;background:radial-gradient(ellipse at 50% 42%,#15694f 0,#0b4b39 48%,#07382c 77%,#062a22 100%);box-shadow:inset 0 0 0 2px rgba(255,219,149,.28),inset 0 0 0 8px rgba(0,0,0,.11),inset 0 -45px 90px rgba(0,0,0,.19),0 36px 90px rgba(0,0,0,.43),0 0 70px rgba(22,106,80,.12);animation:tableBreathe 8s ease-in-out infinite}
.poker-table::before{content:"";position:absolute;inset:8%;border-radius:48%;background:linear-gradient(115deg,transparent 25%,rgba(255,255,255,.035) 46%,transparent 67%);background-size:220% 100%;animation:feltLight 9s linear infinite;pointer-events:none}
.status{padding:7px 14px;border-radius:14px;background:rgba(3,28,20,.28);backdrop-filter:blur(7px);text-shadow:0 2px 8px rgba(0,0,0,.3)}
.pot{box-shadow:0 8px 22px rgba(0,0,0,.18),inset 0 1px rgba(255,255,255,.07);animation:potFloat 3s ease-in-out infinite}
.pot strong{font-weight:850;text-shadow:0 0 14px rgba(255,224,160,.25)}
.playing-card{position:relative;overflow:hidden;justify-content:center;align-items:center;border:1px solid rgba(101,78,39,.2);background:linear-gradient(145deg,#fffef8 0,#f4eedf 72%,#e8dfca 100%);box-shadow:0 8px 18px rgba(0,0,0,.3),inset 0 0 0 1px rgba(255,255,255,.75);transform-style:preserve-3d;transition:transform .22s ease,box-shadow .22s ease}
.playing-card::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.65) 48%,transparent 62%);transform:translateX(120%);transition:transform .5s ease;pointer-events:none}
.playing-card:hover{transform:translateY(-4px) rotate(.8deg);box-shadow:0 13px 23px rgba(0,0,0,.35)}
.playing-card:hover::after{transform:translateX(-120%)}
.card-corner{position:absolute;display:flex;flex-direction:column;align-items:center;line-height:.82}.card-corner b{font-size:15px}.card-corner i{font-style:normal;font-size:11px}.card-corner.top{top:6px;left:7px}.card-corner.bottom{bottom:6px;right:7px;transform:rotate(180deg)}
.card-suit{font-family:Georgia,serif;font-size:31px;text-shadow:0 2px 1px rgba(0,0,0,.08)}
.playing-card.back{padding:5px;border:2px solid #f0cf8e;background:linear-gradient(145deg,#143d31,#08271f);box-shadow:0 8px 18px rgba(0,0,0,.35),inset 0 0 0 2px #0c211b}
.playing-card.back::before{content:"";position:absolute;inset:5px;border-radius:5px;background:repeating-linear-gradient(45deg,transparent 0 5px,rgba(255,224,160,.12) 5px 7px),repeating-linear-gradient(-45deg,#123d31 0 5px,#0b2e25 5px 7px);border:1px solid rgba(255,224,160,.5)}
.back-frame{position:relative;z-index:1;display:grid;place-items:center;width:54%;aspect-ratio:1;border-radius:50%;color:#ffdaa0;background:rgba(5,27,21,.72);border:1px solid rgba(255,224,160,.55);box-shadow:0 0 0 3px rgba(5,27,21,.5),0 0 14px rgba(216,169,80,.22)}
.back-frame i{font-style:normal;font-family:Georgia,serif;font-size:22px}
.playing-card.placeholder{display:grid;place-items:center;border:1px dashed rgba(255,224,160,.2);background:rgba(2,26,19,.16);box-shadow:inset 0 0 18px rgba(0,0,0,.08)}
.playing-card.placeholder span{font-family:Georgia,serif;color:rgba(255,224,160,.12);font-size:20px}
.card-enter{animation:dealCard .56s cubic-bezier(.16,.88,.24,1.18) both;animation-delay:var(--card-delay,0ms)}
.seat{transition:opacity .28s ease,filter .28s ease}.player-chip{border-color:rgba(255,255,255,.13);background:linear-gradient(145deg,rgba(13,43,34,.98),rgba(6,27,21,.98));backdrop-filter:blur(12px);transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease}
.seat.active .player-chip{transform:translateY(-2px);border-color:#ffd98d;box-shadow:0 0 0 4px rgba(216,169,80,.13),0 0 28px rgba(216,169,80,.31),0 12px 27px rgba(0,0,0,.32);animation:activePlayer 1.85s ease-in-out infinite}
.seat.active .avatar{box-shadow:0 0 0 2px var(--gold-2),0 0 15px var(--gold-glow)}
.seat.active .hole-cards{bottom:69px}
.turn-pill{position:absolute;z-index:5;left:50%;bottom:49px;transform:translateX(-50%);display:flex;align-items:center;gap:5px;width:max-content;padding:4px 9px;border-radius:999px;color:#193022;background:linear-gradient(135deg,#ffe7ac,#d8a950);font-size:9px;font-weight:850;box-shadow:0 6px 19px rgba(0,0,0,.28),0 0 18px rgba(216,169,80,.25);animation:turnPill 1.5s ease-in-out infinite}
.turn-pill span{width:6px;height:6px;border-radius:50%;background:#236a4d;box-shadow:0 0 0 3px rgba(35,106,77,.14);animation:turnDot .8s ease-in-out infinite alternate}
.turn-enter .turn-pill{animation:turnArrive .46s cubic-bezier(.2,.9,.25,1.25) both,turnPill 1.5s .46s ease-in-out infinite}
.avatar{transition:transform .25s ease,box-shadow .25s ease}.player-info strong{font-weight:750}.presence.online{animation:onlinePulse 2s ease-out infinite}.dealer{box-shadow:0 3px 9px rgba(0,0,0,.28)}
.bet{box-shadow:0 5px 15px rgba(0,0,0,.25),inset 0 1px rgba(255,255,255,.42);animation:chipDrop .38s cubic-bezier(.2,.9,.3,1.3) both}
.badge{box-shadow:0 4px 12px rgba(0,0,0,.23);animation:badgePulse 1.5s ease-in-out infinite}
.control-panel{backdrop-filter:blur(22px);box-shadow:0 16px 50px rgba(0,0,0,.3),inset 0 1px rgba(255,255,255,.06)}
.actions:not([hidden]){animation:actionReveal .35s cubic-bezier(.2,.8,.25,1) both}
.actions button span{display:block}.actions button small{font-size:8px;opacity:.76;font-weight:500}.raise-control input{cursor:pointer;filter:drop-shadow(0 2px 6px rgba(216,169,80,.2))}
.toast{box-shadow:0 12px 35px rgba(0,0,0,.38);animation:toastIn .3s ease both}

@keyframes riseIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes cardReveal{from{opacity:0;transform:translateY(24px) scale(.98)}to{opacity:1;transform:none}}
@keyframes dealCard{0%{opacity:0;transform:translate(45px,-55px) rotateY(90deg) rotate(9deg) scale(.78)}65%{opacity:1;transform:translate(-2px,2px) rotateY(0) rotate(-1deg) scale(1.03)}100%{transform:none}}
@keyframes activePlayer{0%,100%{box-shadow:0 0 0 4px rgba(216,169,80,.11),0 0 19px rgba(216,169,80,.22),0 12px 27px rgba(0,0,0,.32)}50%{box-shadow:0 0 0 6px rgba(216,169,80,.06),0 0 34px rgba(216,169,80,.4),0 12px 27px rgba(0,0,0,.32)}}
@keyframes turnPill{0%,100%{filter:brightness(1);transform:translateX(-50%) translateY(0)}50%{filter:brightness(1.08);transform:translateX(-50%) translateY(-2px)}}
@keyframes turnArrive{from{opacity:0;transform:translateX(-50%) translateY(9px) scale(.7)}to{opacity:1;transform:translateX(-50%) translateY(0) scale(1)}}
@keyframes turnDot{to{transform:scale(1.35);background:#0d4d34}}
@keyframes chipDrop{from{opacity:0;transform:translate(-50%,-10px) scale(.65)}to{opacity:1;transform:translate(-50%,0) scale(1)}}
@keyframes tableBreathe{0%,100%{filter:saturate(1)}50%{filter:saturate(1.08)}}
@keyframes feltLight{to{background-position:-220% 0}}
@keyframes potFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}
@keyframes onlinePulse{0%{box-shadow:0 0 0 0 rgba(84,211,155,.35)}70%{box-shadow:0 0 0 6px rgba(84,211,155,0)}100%{box-shadow:0 0 0 0 rgba(84,211,155,0)}}
@keyframes brandShine{0%,70%{transform:translateX(170%) rotate(28deg)}100%{transform:translateX(-170%) rotate(28deg)}}
@keyframes diamondPulse{50%{transform:rotate(45deg) scale(1.2)}}
@keyframes badgePulse{50%{filter:brightness(1.2)}}
@keyframes actionReveal{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}
@keyframes toastIn{from{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%,0)}}
@keyframes ambientSuit{to{transform:translateY(-12px) rotate(3deg)}}

@media(max-width:760px){.seat.active .hole-cards{bottom:52px}.turn-pill{bottom:32px;padding:3px 7px;font-size:7px}.card-corner.top{top:3px;left:4px}.card-corner.bottom{bottom:3px;right:4px}.card-corner b{font-size:10px}.card-corner i{font-size:8px}.card-suit{font-size:21px}.hole-cards .card-corner b{font-size:7px}.hole-cards .card-corner i{font-size:5px}.hole-cards .card-suit{font-size:14px}.back-frame i{font-size:14px}.game-shell::before,.game-shell::after{font-size:38vw}.actions button small{font-size:7px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}

/* Raise composer */
[hidden]{display:none!important}
.control-panel{width:min(940px,calc(100% - 24px));padding:10px}
.actions{grid-template-columns:88px 96px 104px minmax(360px,1fr);align-items:stretch;gap:8px}
.actions>button{height:100%;min-height:96px;border-radius:16px}
.raise-control{display:grid;grid-template-columns:minmax(145px,.78fr) minmax(195px,1.22fr);grid-template-rows:auto auto;gap:7px 12px;padding:10px 11px 10px 13px;border:1px solid rgba(255,224,160,.16);border-radius:18px;background:linear-gradient(145deg,rgba(30,67,56,.9),rgba(10,39,31,.94));box-shadow:inset 0 1px rgba(255,255,255,.07),0 8px 25px rgba(0,0,0,.14)}
.raise-control>.raise-head{grid-column:1;grid-row:1;display:flex;grid-template-columns:none;align-items:center;justify-content:space-between;gap:10px;min-height:35px}
.raise-head>span{display:flex;align-items:center;gap:6px;color:#cbd8d3;font-size:10px;font-weight:650;white-space:nowrap}
.raise-head>span i{display:grid;place-items:center;width:21px;height:21px;border-radius:7px;background:rgba(216,169,80,.12);color:var(--gold-2);font-style:normal;font-size:12px}
.raise-head output{display:flex;align-items:baseline;gap:4px;direction:rtl;white-space:nowrap}
.raise-head output b{color:#ffe0a0;font-size:20px;line-height:1;font-weight:850;text-shadow:0 0 14px rgba(255,224,160,.22)}
.raise-head output small{color:#829b91;font-size:8px;font-weight:500}
.raise-control>.raise-range{grid-column:1;grid-row:2;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:7px;direction:rtl}
.raise-range>span{color:#779086;font-size:7px;font-weight:600}
#raise-slider{--range-progress:0%;appearance:none;-webkit-appearance:none;width:100%;height:18px;margin:0;background:transparent;cursor:pointer;filter:none;direction:ltr}
#raise-slider::-webkit-slider-runnable-track{height:5px;border-radius:999px;background:linear-gradient(90deg,var(--gold) 0 var(--range-progress),rgba(255,255,255,.11) var(--range-progress) 100%);box-shadow:inset 0 1px 2px rgba(0,0,0,.35)}
#raise-slider::-webkit-slider-thumb{-webkit-appearance:none;width:19px;height:19px;margin-top:-7px;border:4px solid #fff1c9;border-radius:50%;background:#b98430;box-shadow:0 0 0 4px rgba(216,169,80,.13),0 4px 12px rgba(0,0,0,.34);transition:transform .18s ease,box-shadow .18s ease}
#raise-slider:hover::-webkit-slider-thumb{transform:scale(1.12);box-shadow:0 0 0 6px rgba(216,169,80,.16),0 5px 15px rgba(0,0,0,.38)}
#raise-slider::-moz-range-track{height:5px;border-radius:999px;background:rgba(255,255,255,.11);box-shadow:inset 0 1px 2px rgba(0,0,0,.35)}
#raise-slider::-moz-range-progress{height:5px;border-radius:999px;background:var(--gold)}
#raise-slider::-moz-range-thumb{width:13px;height:13px;border:4px solid #fff1c9;border-radius:50%;background:#b98430;box-shadow:0 0 0 4px rgba(216,169,80,.13),0 4px 12px rgba(0,0,0,.34)}
.raise-control>.raise-buttons{grid-column:2;grid-row:1 / span 2;display:grid;grid-template-columns:minmax(145px,1fr) 74px;gap:7px;min-width:0}
.raise-submit,.all-in-button{border:0;cursor:pointer;font-family:inherit;position:relative;overflow:hidden;transition:transform .18s ease,filter .18s ease,box-shadow .18s ease}
.raise-submit{min-width:0;display:grid;grid-template-columns:38px minmax(0,1fr) 19px;align-items:center;gap:8px;padding:8px 12px;border-radius:13px;color:#15251a;background:linear-gradient(135deg,#ffe4a7 0,#dfb35d 56%,#c9953d 100%);box-shadow:0 8px 18px rgba(201,149,61,.18),inset 0 1px rgba(255,255,255,.65)}
.raise-submit::before{content:"";position:absolute;inset:0;background:linear-gradient(108deg,transparent 28%,rgba(255,255,255,.46) 47%,transparent 66%);transform:translateX(130%);transition:transform .55s ease}
.raise-submit:hover::before{transform:translateX(-130%)}
.raise-button-icon{display:grid!important;place-items:center;width:35px;height:35px;border-radius:11px;color:#ffe8b4;background:linear-gradient(145deg,#315d46,#173d2e);box-shadow:0 5px 12px rgba(0,0,0,.22);font:700 17px Arial}
.raise-button-copy{display:flex!important;flex-direction:column;align-items:flex-start;min-width:0;text-align:right}
.raise-button-copy strong{font-size:12px;font-weight:850;white-space:nowrap}.raise-button-copy small{color:#5c522e!important;font-size:7px!important;line-height:1.7;white-space:nowrap;opacity:.78!important}
.raise-button-arrow{display:block!important;color:#35513c;font-size:16px;transition:transform .18s ease}
.raise-submit:hover{transform:translateY(-2px);filter:brightness(1.05);box-shadow:0 11px 24px rgba(201,149,61,.27),inset 0 1px rgba(255,255,255,.7)}
.raise-submit:hover .raise-button-arrow{transform:translateX(-3px)}
.raise-submit:active{transform:translateY(0) scale(.98)}
.all-in-button{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:6px;border:1px solid rgba(255,116,106,.22);border-radius:13px;color:#ffd0cc;background:linear-gradient(145deg,rgba(113,48,44,.78),rgba(64,31,29,.92));box-shadow:inset 0 1px rgba(255,255,255,.07)}
.all-in-button span{font-size:11px;font-weight:850}.all-in-button small{color:#d99b96!important;font-size:6px!important;margin-top:2px;opacity:.85!important;white-space:nowrap}
.all-in-button::after{content:"";position:absolute;inset:auto -10px -18px;width:46px;height:46px;border-radius:50%;background:rgba(229,100,91,.12);transition:transform .2s ease}
.all-in-button:hover{transform:translateY(-2px);filter:brightness(1.12);box-shadow:0 9px 20px rgba(73,27,24,.28)}
.all-in-button:hover::after{transform:scale(1.35)}
.all-in-button:active{transform:translateY(0) scale(.97)}

@media(max-width:760px){.control-panel{padding:8px}.actions{grid-template-columns:repeat(3,1fr);gap:6px}.actions>button{min-height:48px;height:48px;border-radius:13px}.raise-control{grid-column:1 / -1;grid-template-columns:minmax(115px,.7fr) minmax(190px,1.3fr);padding:8px 9px;gap:6px 9px;border-radius:15px}.raise-control>.raise-head{min-height:29px}.raise-head>span{font-size:8px}.raise-head>span i{width:18px;height:18px;font-size:10px}.raise-head output b{font-size:17px}.raise-control>.raise-range{gap:5px}.raise-control>.raise-buttons{grid-template-columns:minmax(137px,1fr) 66px;gap:5px}.raise-submit{grid-template-columns:31px minmax(0,1fr) 15px;padding:6px 8px;gap:6px}.raise-button-icon{width:29px;height:29px;border-radius:9px;font-size:14px}.raise-button-copy strong{font-size:10px}.raise-button-copy small{font-size:6px!important}.all-in-button span{font-size:9px}}
@media(max-width:410px){.raise-control{grid-template-columns:1fr;grid-template-rows:auto auto auto}.raise-control>.raise-head{grid-column:1;grid-row:1}.raise-control>.raise-range{grid-column:1;grid-row:2}.raise-control>.raise-buttons{grid-column:1;grid-row:3;min-height:44px}.raise-submit{grid-template-columns:32px 1fr 18px}.control-panel{margin-bottom:max(6px,env(safe-area-inset-bottom))}}
