:root{--bg-deep: #030d06;--bg-main: #071410;--table-felt: #0b3d20;--table-felt-light: #0e4f29;--table-border: #1a6b3c;--table-ring: #236b3d;--gold: #d4af37;--gold-light: #f0d060;--gold-dark: #a88b20;--gold-glow: rgba(212, 175, 55, .35);--green-accent: #22c55e;--green-dim: #16a34a;--red-accent: #ef4444;--red-dim: #dc2626;--blue-accent: #3b82f6;--purple-accent: #a855f7;--orange-accent: #f97316;--text-primary: #f0ede6;--text-secondary: #a0a898;--text-muted: #5a7060;--card-bg: #fefefe;--card-shadow: 0 6px 24px rgba(0,0,0,.6);--card-back: #1a1a2e;--glass-bg: rgba(10, 30, 18, .75);--glass-border: rgba(212, 175, 55, .2);--glass-blur: blur(16px);--chip-red: #e53e3e;--chip-blue: #3182ce;--chip-green: #38a169;--chip-black: #2d3748;--text-2xs: clamp(.5rem, .45rem + .25vw, .625rem);--text-xs: clamp(.5625rem, .5rem + .3vw, .75rem);--text-sm: clamp(.6875rem, .625rem + .3vw, .875rem);--text-base: clamp(.75rem, .7rem + .25vw, 1rem);--text-lg: clamp(.875rem, .8rem + .375vw, 1.125rem);--text-xl: clamp(1rem, .9rem + .5vw, 1.375rem);--text-2xl: clamp(1.125rem, .95rem + .875vw, 1.75rem);--text-3xl: clamp(1.25rem, 1rem + 1.25vw, 2rem);--text-4xl: clamp(1.5rem, 1.15rem + 1.75vw, 2.75rem);--space-2xs: clamp(.125rem, .1rem + .125vw, .25rem);--space-xs: clamp(.25rem, .2rem + .25vw, .375rem);--space-sm: clamp(.375rem, .3rem + .375vw, .625rem);--space-md: clamp(.5rem, .4rem + .5vw, .875rem);--space-lg: clamp(.75rem, .6rem + .75vw, 1.25rem);--space-xl: clamp(1rem, .8rem + 1vw, 1.75rem);--space-2xl: clamp(1.25rem, 1rem + 1.25vw, 2.25rem);--font-sans: "Inter", system-ui, sans-serif;--font-serif: "Playfair Display", Georgia, serif;--radius-sm: 6px;--radius-md: 12px;--radius-lg: 20px;--radius-xl: 28px;--radius-full: 9999px;--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .4s ease;--z-base: 1;--z-above: 10;--z-overlay: 20;--z-modal: 1000;--z-toast: 9999}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100dvh;width:100%;overflow:hidden}body{font-family:var(--font-sans);font-size:var(--text-base);background:var(--bg-deep);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}button{font-family:var(--font-sans);cursor:pointer;border:none}button:focus-visible,input:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:2px}button:focus:not(:focus-visible),input:focus:not(:focus-visible){outline:none}input{font-family:var(--font-sans)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-deep)}::-webkit-scrollbar-thumb{background:var(--table-border);border-radius:3px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.lobby-screen{height:100%;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background:radial-gradient(ellipse at 20% 50%,rgba(10,61,32,.4) 0%,transparent 60%),radial-gradient(ellipse at 80% 50%,rgba(22,60,30,.4) 0%,transparent 60%),var(--bg-deep)}.lobby-bg-cards{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.lobby-bg-card{position:absolute;width:clamp(40px,8vw,60px);height:clamp(56px,11vw,84px);background:linear-gradient(135deg,rgba(212,175,55,.06),rgba(212,175,55,.02));border:1px solid rgba(212,175,55,.12);border-radius:var(--radius-sm);animation:floatCard 8s ease-in-out infinite}@keyframes floatCard{0%,to{transform:translateY(0) rotate(var(--rot, 0deg))}50%{transform:translateY(-20px) rotate(var(--rot, 0deg))}}.lobby-card{position:relative;z-index:var(--z-above);background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-radius:var(--radius-xl);padding:var(--space-lg) var(--space-md);width:calc(100% - var(--space-lg) * 2);max-width:440px;box-shadow:0 0 0 1px #d4af3714,0 32px 64px #000000b3,inset 0 1px #ffffff0d}@media (min-width: 640px){.lobby-card{padding:var(--space-2xl) var(--space-xl)}}.lobby-logo{text-align:center;margin-bottom:var(--space-xl)}.lobby-logo-icon{font-size:var(--text-4xl);line-height:1;margin-bottom:var(--space-2xs);filter:drop-shadow(0 0 20px var(--gold-glow))}.lobby-logo h1{font-family:var(--font-serif);font-size:var(--text-3xl);font-weight:800;background:linear-gradient(135deg,var(--gold-light),var(--gold),var(--gold-dark));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:.02em}.lobby-logo p{font-size:var(--text-xs);color:var(--text-secondary);margin-top:4px;letter-spacing:.05em;text-transform:uppercase}.lobby-form{display:flex;flex-direction:column;gap:var(--space-md)}.form-field{display:flex;flex-direction:column;gap:var(--space-2xs)}.form-field label{font-size:var(--text-xs);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary)}.form-input{background:rgba(0,0,0,.3);border:1px solid rgba(212,175,55,.2);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md);font-size:var(--text-base);color:var(--text-primary);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);min-height:44px}.form-input:focus{border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-glow)}.form-input::placeholder{color:var(--text-muted)}.form-divider{display:flex;align-items:center;gap:var(--space-sm);color:var(--text-muted);font-size:var(--text-xs);letter-spacing:.05em;text-transform:uppercase}.form-divider:before,.form-divider:after{content:"";flex:1;height:1px;background:rgba(212,175,55,.15)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-md);font-size:var(--text-base);font-weight:600;letter-spacing:.02em;transition:all var(--transition-normal);position:relative;overflow:hidden;min-height:44px;min-width:44px}.btn:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:rgba(255,255,255,0);transition:background var(--transition-fast)}.btn:hover:after{background:rgba(255,255,255,.08)}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.btn-primary{background:linear-gradient(135deg,var(--gold-light),var(--gold),var(--gold-dark));color:#1a1200;box-shadow:0 4px 20px var(--gold-glow),0 1px #fff3 inset}.btn-primary:hover{box-shadow:0 6px 28px #d4af3780,0 1px #fff3 inset;transform:translateY(-1px)}.btn-secondary{background:rgba(255,255,255,.06);border:1px solid rgba(212,175,55,.25);color:var(--text-primary)}.btn-ghost{background:transparent;border:1px solid rgba(255,255,255,.1);color:var(--text-secondary)}.btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;box-shadow:0 4px 16px #ef444459}.btn-green{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;box-shadow:0 4px 16px #22c55e59}.btn-blue{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;box-shadow:0 4px 16px #3b82f659}.btn-purple{background:linear-gradient(135deg,#a855f7,#7c3aed);color:#fff;box-shadow:0 4px 16px #a855f759}.btn-gold-outline{background:transparent;border:1.5px solid var(--gold);color:var(--gold)}.btn-gold-outline:hover{background:var(--gold-glow)}.btn-full{width:100%}.btn-sm{padding:var(--space-xs) var(--space-md);font-size:var(--text-sm);min-height:36px}.btn-lg{padding:var(--space-md) var(--space-xl);font-size:var(--text-lg)}.error-toast{position:fixed;top:var(--space-lg);left:50%;transform:translate(-50%);z-index:var(--z-toast);background:rgba(239,68,68,.95);border:1px solid rgba(255,100,100,.4);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md);font-size:var(--text-sm);font-weight:500;color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 8px 24px #0006;max-width:min(380px,calc(100vw - 2rem));text-align:center;animation:slideDown .3s ease}@keyframes slideDown{0%{opacity:0;transform:translate(-50%,-16px)}to{opacity:1;transform:translate(-50%)}}.game-layout{height:100%;display:flex;flex-direction:column;background:var(--bg-main);overflow:hidden}.game-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-xs) var(--space-sm);background:rgba(0,0,0,.4);border-bottom:1px solid rgba(212,175,55,.12);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);flex-shrink:0;z-index:var(--z-above);gap:var(--space-xs);flex-wrap:wrap}@media (min-width: 640px){.game-header{padding:var(--space-sm) var(--space-lg);flex-wrap:nowrap}}.game-header-logo{font-family:var(--font-serif);font-size:var(--text-lg);font-weight:700;background:linear-gradient(135deg,var(--gold-light),var(--gold));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;white-space:nowrap}.game-header-info{display:flex;align-items:center;gap:var(--space-xs);flex-wrap:wrap}.room-badge{display:inline-flex;align-items:center;gap:4px;background:rgba(212,175,55,.1);border:1px solid rgba(212,175,55,.25);border-radius:var(--radius-full);padding:var(--space-2xs) var(--space-sm);font-size:var(--text-xs);color:var(--gold);font-weight:600;letter-spacing:.05em;min-height:32px}.round-badge{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-full);padding:var(--space-2xs) var(--space-sm);font-size:var(--text-xs);color:var(--text-secondary);font-weight:500;min-height:32px;display:inline-flex;align-items:center;white-space:nowrap}.bet-rules-strip{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-2xs) var(--space-sm);background:rgba(0,0,0,.3);border-bottom:1px solid rgba(255,255,255,.04);font-size:var(--text-xs);color:var(--text-muted);flex-shrink:0;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.bet-rules-strip::-webkit-scrollbar{display:none}@media (min-width: 640px){.bet-rules-strip{gap:var(--space-lg);padding:var(--space-xs) var(--space-md)}}.bet-rule-item{display:flex;align-items:center;gap:4px;white-space:nowrap;flex-shrink:0}.bet-rule-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.table-area{flex:1;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;min-height:0}.table-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at center,rgba(11,61,32,.6) 0%,rgba(3,13,6,.95) 70%),repeating-linear-gradient(45deg,transparent,transparent 20px,rgba(255,255,255,.005) 20px,rgba(255,255,255,.005) 40px)}.table-felt{position:relative;width:min(700px,92vw);height:min(420px,56vw);background:radial-gradient(ellipse at 50% 40%,var(--table-felt-light) 0%,var(--table-felt) 60%,rgba(5,25,12,.9) 100%);border-radius:50%;border:clamp(3px,.8vw,6px) solid var(--table-ring);box-shadow:0 0 0 clamp(5px,1.3vw,10px) #0006,0 0 0 clamp(6px,1.6vw,12px) var(--table-border),0 0 0 clamp(10px,2.6vw,20px) #0000004d,0 20px 60px #000c,inset 0 0 80px #0000004d;display:flex;align-items:center;justify-content:center}@media (max-width: 480px){.table-felt{width:96vw;height:62vw}}.table-center{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);z-index:2}.pot-display{display:flex;flex-direction:column;align-items:center;gap:var(--space-2xs)}.pot-label{font-size:var(--text-xs);font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--text-muted)}.pot-amount{display:flex;align-items:center;gap:var(--space-2xs);background:rgba(0,0,0,.5);border:1px solid var(--gold);border-radius:var(--radius-full);padding:var(--space-xs) var(--space-md);box-shadow:0 0 20px var(--gold-glow),inset 0 0 20px #0000004d}.pot-icon{font-size:var(--text-lg)}.pot-value{font-family:var(--font-serif);font-size:var(--text-2xl);font-weight:700;color:var(--gold-light);text-shadow:0 0 20px var(--gold-glow)}.game-message{font-size:var(--text-xs);color:var(--text-secondary);background:rgba(0,0,0,.45);border-radius:var(--radius-full);padding:var(--space-2xs) var(--space-md);max-width:min(240px,70vw);text-align:center;border:1px solid rgba(255,255,255,.06);word-break:break-word}.players-container{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.player-seat{position:absolute;pointer-events:all;display:flex;flex-direction:column;align-items:center;gap:var(--space-2xs);transform:translate(-50%,-50%);z-index:5;transition:z-index var(--transition-fast)}.player-seat.is-current-turn{z-index:var(--z-above)}.player-card{background:rgba(5,20,10,.85);border:1.5px solid rgba(255,255,255,.08);border-radius:var(--radius-lg);padding:var(--space-xs) var(--space-sm);min-width:clamp(90px,18vw,120px);display:flex;flex-direction:column;align-items:center;gap:3px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:border-color var(--transition-normal),box-shadow var(--transition-normal);position:relative}.player-card.is-current-turn{border-color:var(--gold);box-shadow:0 0 20px var(--gold-glow),0 0 0 2px #d4af3726;animation:turnPulse 1.5s ease-in-out infinite}.player-card.is-me{border-color:#3b82f680;box-shadow:0 0 16px #3b82f640}.player-card.packed{opacity:.45;filter:grayscale(.6)}@keyframes turnPulse{0%,to{box-shadow:0 0 20px var(--gold-glow),0 0 0 2px #d4af3726}50%{box-shadow:0 0 32px #d4af3799,0 0 0 3px #d4af3740}}.player-turn-indicator{position:absolute;top:-24px;left:50%;transform:translate(-50%);background:var(--gold);color:#1a1200;font-size:var(--text-xs);font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:2px 8px;border-radius:var(--radius-full);white-space:nowrap;box-shadow:0 2px 10px var(--gold-glow);animation:bounceDown 1s ease infinite alternate}@keyframes bounceDown{0%{transform:translate(-50%) translateY(0)}to{transform:translate(-50%) translateY(4px)}}.player-avatar{width:clamp(28px,5vw,36px);height:clamp(28px,5vw,36px);border-radius:50%;background:linear-gradient(135deg,var(--table-felt),var(--table-border));border:2px solid rgba(212,175,55,.3);display:flex;align-items:center;justify-content:center;font-size:var(--text-sm);font-weight:700;color:var(--gold-light);text-transform:uppercase;flex-shrink:0;margin-bottom:2px}.player-name{font-size:var(--text-xs);font-weight:600;color:var(--text-primary);max-width:clamp(70px,14vw,100px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-coins{display:flex;align-items:center;gap:3px;font-size:var(--text-xs);color:var(--gold);font-weight:600}.player-bet{font-size:var(--text-xs);color:var(--text-muted)}.player-status-badge{font-size:clamp(8px,1.5vw,10px);font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:2px 6px;border-radius:var(--radius-full)}.status-blind{background:rgba(168,85,247,.2);color:#c084fc;border:1px solid rgba(168,85,247,.4)}.status-seen{background:rgba(34,197,94,.15);color:#4ade80;border:1px solid rgba(34,197,94,.4)}.status-packed{background:rgba(239,68,68,.12);color:#f87171;border:1px solid rgba(239,68,68,.3)}.mini-cards{display:flex;gap:2px;margin-top:3px}.mini-card{width:clamp(16px,3vw,22px);height:clamp(22px,4.2vw,30px);border-radius:2px;border:1px solid rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;font-size:clamp(6px,1.1vw,8px);font-weight:800;transition:transform var(--transition-normal)}.mini-card.card-back{background:linear-gradient(135deg,#1a1a2e,#16213e);border-color:#d4af374d;color:#d4af3780;font-size:clamp(7px,1.4vw,10px)}.mini-card.card-front{background:#fff;border-color:#ccc}.mini-card.card-red{color:#dc2626}.mini-card.card-black{color:#1a1a1a}.my-hand{display:flex;gap:var(--space-xs);align-items:flex-end;justify-content:center}.playing-card{width:clamp(48px,9vw,68px);height:clamp(68px,12.5vw,96px);border-radius:var(--radius-sm);position:relative;cursor:default;perspective:600px}.playing-card-inner{width:100%;height:100%;position:relative;transform-style:preserve-3d;transition:transform .5s cubic-bezier(.4,0,.2,1)}.playing-card.flipped .playing-card-inner{transform:rotateY(180deg)}.playing-card-front,.playing-card-back{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--radius-sm);backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden}.playing-card-front{background:#fefefe;border:1px solid #e0e0e0;box-shadow:var(--card-shadow);display:flex;flex-direction:column;justify-content:space-between;padding:clamp(3px,.6vw,5px)}.card-corner{display:flex;flex-direction:column;align-items:center;line-height:1}.card-corner.top-left{align-self:flex-start}.card-corner.bottom-right{align-self:flex-end;transform:rotate(180deg)}.card-val{font-size:clamp(10px,1.8vw,14px);font-weight:800;line-height:1}.card-suit-sm{font-size:clamp(7px,1.3vw,10px);line-height:1}.card-center-suit{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:clamp(18px,3.6vw,28px);opacity:.85}.card-red{color:#dc2626}.card-black{color:#1a1a1a}.playing-card-back{background:linear-gradient(135deg,#1e0a2e,#0f0f3d);border:1px solid rgba(212,175,55,.4);box-shadow:var(--card-shadow);transform:rotateY(180deg);display:flex;align-items:center;justify-content:center;overflow:hidden}.card-back-pattern{position:absolute;inset:clamp(3px,.8vw,6px);border:1px solid rgba(212,175,55,.25);border-radius:3px;background:repeating-linear-gradient(45deg,rgba(212,175,55,.04) 0px,rgba(212,175,55,.04) 2px,transparent 2px,transparent 8px)}.card-back-center{font-size:clamp(16px,3vw,24px);z-index:1;filter:drop-shadow(0 0 4px var(--gold-glow))}.action-bar-wrapper{flex-shrink:0;padding:var(--space-sm) var(--space-sm) calc(var(--space-sm) + env(safe-area-inset-bottom,0px));background:rgba(0,0,0,.5);border-top:1px solid rgba(212,175,55,.12);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}@media (min-width: 640px){.action-bar-wrapper{padding:var(--space-md) var(--space-lg) var(--space-lg)}}.action-bar{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100px,100%),1fr));gap:var(--space-xs);max-width:800px;margin:0 auto}@media (min-width: 640px){.action-bar{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);flex-wrap:wrap}}.action-btn{display:flex;flex-direction:column;align-items:center;gap:2px;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:700;transition:all var(--transition-normal);min-width:0;min-height:56px;position:relative;overflow:hidden;letter-spacing:.02em}@media (min-width: 640px){.action-btn{min-width:110px;padding:var(--space-sm) var(--space-md);gap:3px}}.action-btn:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:rgba(255,255,255,.25)}.action-btn:hover{transform:translateY(-3px)}.action-btn:active{transform:translateY(0) scale(.97)}.action-btn-icon{font-size:var(--text-xl);line-height:1}.action-btn-label{font-size:clamp(9px,1.5vw,11px);font-weight:800;letter-spacing:.1em;text-transform:uppercase}.action-btn-cost{font-size:var(--text-xs);opacity:.85}.action-blind{background:linear-gradient(160deg,#5b21b6,#7c3aed);color:#fff;box-shadow:0 4px 16px #7c3aed66}.action-chaal{background:linear-gradient(160deg,#15803d,#16a34a);color:#fff;box-shadow:0 4px 16px #16a34a66}.action-see{background:linear-gradient(160deg,#1d4ed8,#2563eb);color:#fff;box-shadow:0 4px 16px #2563eb66}.action-pack{background:linear-gradient(160deg,#991b1b,#dc2626);color:#fff;box-shadow:0 4px 16px #dc262666}.action-sideshow{background:linear-gradient(160deg,#92400e,#d97706);color:#fff;box-shadow:0 4px 16px #d9770666}.action-show{background:linear-gradient(160deg,#a88b20,#d4af37);color:#1a1200;box-shadow:0 4px 20px var(--gold-glow)}.action-bar-waiting{text-align:center}.action-waiting-text{font-size:var(--text-sm);color:var(--text-muted);font-style:italic}.action-host-start{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm)}.action-host-start h3{font-size:var(--text-base);color:var(--text-secondary)}.waiting-lobby{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-lg);z-index:var(--z-overlay);background:rgba(3,13,6,.7);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.waiting-players-list{display:flex;flex-direction:column;gap:var(--space-sm);min-width:min(260px,80vw)}.waiting-player-item{display:flex;align-items:center;gap:var(--space-sm);background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md)}.host-crown{color:var(--gold);font-size:var(--text-sm)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.75);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);animation:fadeIn .2s ease;padding:var(--space-sm)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-card{background:linear-gradient(160deg,rgba(10,30,18,.97),rgba(5,15,10,.98));border:1px solid var(--glass-border);border-radius:var(--radius-xl);padding:var(--space-lg);max-width:460px;width:100%;text-align:center;box-shadow:0 0 0 1px #d4af3714,0 32px 64px #000c;animation:scaleIn .25s cubic-bezier(.34,1.56,.64,1);max-height:calc(100dvh - 2rem);overflow-y:auto}@media (min-width: 640px){.modal-card{padding:var(--space-xl)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.modal-icon{font-size:var(--text-4xl);line-height:1;margin-bottom:var(--space-sm);filter:drop-shadow(0 0 16px var(--gold-glow))}.modal-card h2{font-family:var(--font-serif);font-size:var(--text-2xl);font-weight:700;color:var(--gold-light);margin-bottom:var(--space-xs)}.modal-card p{color:var(--text-secondary);font-size:var(--text-sm);line-height:1.6;margin-bottom:var(--space-md)}.modal-actions{display:flex;gap:var(--space-sm);justify-content:center;flex-wrap:wrap}.game-over-confetti{font-size:var(--text-4xl);animation:celebrate .6s ease infinite alternate}@keyframes celebrate{0%{transform:rotate(-5deg) scale(1)}to{transform:rotate(5deg) scale(1.1)}}.winner-name{font-family:var(--font-serif);font-size:var(--text-3xl);font-weight:800;background:linear-gradient(135deg,var(--gold-light),var(--gold));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.winner-pot{font-size:var(--text-2xl);font-weight:900;color:var(--gold);text-shadow:0 0 20px var(--gold-glow);margin:var(--space-xs) 0}.hand-reveal{display:flex;gap:var(--space-2xs);justify-content:center;margin:var(--space-sm) 0;flex-wrap:wrap}.hand-label{font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--gold);font-weight:700;background:rgba(212,175,55,.1);border:1px solid rgba(212,175,55,.25);border-radius:var(--radius-full);padding:4px 14px}.sideshow-timer{height:4px;background:rgba(255,255,255,.1);border-radius:2px;overflow:hidden;margin:var(--space-md) 0}.sideshow-timer-bar{height:100%;background:linear-gradient(90deg,var(--gold),var(--orange-accent));border-radius:2px;animation:countdown 15s linear forwards}@keyframes countdown{0%{width:100%}to{width:0%}}.connection-screen{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-md);background:var(--bg-deep)}.connection-spinner{width:48px;height:48px;border:3px solid rgba(212,175,55,.2);border-top-color:var(--gold);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.chat-fab-container{position:fixed;bottom:calc(80px + env(safe-area-inset-bottom,0px));right:12px;z-index:50;display:flex;flex-direction:column;align-items:flex-end;gap:8px}.chat-fab{position:relative;width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--gold),var(--gold-dark));color:#1a1200;font-size:20px;display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;box-shadow:0 4px 16px var(--gold-glow);transition:all var(--transition-normal)}.chat-fab:hover{transform:scale(1.1);box-shadow:0 6px 24px #d4af3780}.chat-badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;border-radius:9px;background:var(--red-accent);color:#fff;font-size:10px;font-weight:800;display:flex;align-items:center;justify-content:center;padding:0 4px;line-height:1;box-shadow:0 2px 6px #ef444480;animation:badgePop .3s ease}@keyframes badgePop{0%{transform:scale(0)}60%{transform:scale(1.3)}to{transform:scale(1)}}.chat-preview{background:rgba(5,15,10,.95);border:1px solid rgba(212,175,55,.3);border-radius:var(--radius-md);padding:6px 10px;font-size:var(--text-xs);color:var(--text-primary);max-width:220px;cursor:pointer;box-shadow:0 4px 16px #00000080;animation:previewSlideIn .25s ease;word-break:break-word;line-height:1.3}.chat-preview strong{color:var(--gold)}@keyframes previewSlideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.chat-panel-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.4);z-index:100;display:flex;align-items:flex-end;justify-content:flex-end}.chat-panel{width:min(360px,100vw);height:min(400px,60vh);background:rgba(5,15,10,.97);border:1px solid var(--glass-border);border-radius:var(--radius-lg) var(--radius-lg) 0 0;display:flex;flex-direction:column;overflow:hidden;animation:slideUp .2s ease}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.chat-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) var(--space-md);background:rgba(0,0,0,.3);border-bottom:1px solid rgba(212,175,55,.12)}.chat-close-btn{background:none;border:none;color:var(--text-muted);font-size:var(--text-lg);cursor:pointer;padding:4px 8px;border-radius:var(--radius-sm)}.chat-close-btn:hover{color:var(--text-primary);background:rgba(255,255,255,.06)}.chat-messages{flex:1;overflow-y:auto;padding:var(--space-sm);display:flex;flex-direction:column;gap:var(--space-xs)}.chat-msg{display:flex;flex-direction:column;gap:1px;max-width:85%}.chat-msg-mine{align-self:flex-end}.chat-msg-name{font-size:var(--text-xs);color:var(--text-muted);font-weight:600}.chat-msg-mine .chat-msg-name{color:var(--gold);text-align:right}.chat-msg-text{font-size:var(--text-sm);color:var(--text-primary);background:rgba(255,255,255,.06);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-md);word-break:break-word;line-height:1.4}.chat-msg-mine .chat-msg-text{background:rgba(212,175,55,.12);border:1px solid rgba(212,175,55,.2)}.chat-input-row{display:flex;gap:var(--space-xs);padding:var(--space-sm);background:rgba(0,0,0,.3);border-top:1px solid rgba(255,255,255,.06)}.chat-input{flex:1;background:rgba(0,0,0,.3);border:1px solid rgba(212,175,55,.2);border-radius:var(--radius-md);padding:var(--space-xs) var(--space-sm);font-size:var(--text-sm);color:var(--text-primary);font-family:var(--font-sans);min-height:36px}.chat-input:focus{border-color:var(--gold);outline:none}.chat-send-btn{background:var(--gold);color:#1a1200;border:none;border-radius:var(--radius-md);padding:var(--space-xs) var(--space-md);font-size:var(--text-sm);font-weight:700;cursor:pointer;min-height:36px}.chat-send-btn:hover{background:var(--gold-light)}.spectator-badge{position:fixed;top:50px;left:50%;transform:translate(-50%);background:rgba(168,85,247,.9);color:#fff;font-size:var(--text-sm);font-weight:700;padding:var(--space-xs) var(--space-lg);border-radius:var(--radius-full);z-index:50;letter-spacing:.05em;box-shadow:0 4px 16px #a855f766}@media (max-width: 480px){.lobby-card{padding:12px 10px;border-radius:16px;width:calc(100% - 16px)}.lobby-logo{margin-bottom:12px}.lobby-logo-icon{font-size:32px}.lobby-logo h1{font-size:20px}.lobby-logo p{font-size:9px}.lobby-form{gap:8px}.form-field label{font-size:9px}.form-input{padding:8px 10px;font-size:13px;min-height:38px;border-radius:8px}.btn{padding:8px 14px;font-size:12px;min-height:36px;border-radius:8px;gap:4px}.btn-lg{padding:10px 18px;font-size:13px;min-height:40px}.btn-sm{padding:6px 10px;font-size:11px;min-height:30px}.game-header{padding:4px 8px;gap:4px}.game-header-logo{font-size:13px}.game-header-info{gap:3px}.room-badge,.round-badge{padding:2px 6px;font-size:9px;min-height:24px}.bet-rules-strip{padding:2px 6px;gap:8px;font-size:9px}.bet-rule-dot{width:4px;height:4px}.table-area{flex:1 1 0;min-height:0;max-height:50vh}.table-felt{width:88vw;height:48vw;border-width:2px;box-shadow:0 0 0 4px #0006,0 0 0 5px var(--table-border),0 0 0 8px #0000004d,0 8px 24px #000000b3,inset 0 0 40px #0000004d}.game-message{font-size:9px;padding:2px 8px;max-width:55vw}.player-card{padding:4px 6px;min-width:72px;border-radius:10px;gap:1px}.player-turn-indicator{font-size:8px;padding:1px 5px;top:-18px}.player-avatar{width:22px;height:22px;font-size:9px;border-width:1.5px}.player-name{font-size:10px;max-width:60px}.player-coins{font-size:9px;gap:2px}.player-status-badge{font-size:7px;padding:1px 4px}.mini-cards{gap:1px;margin-top:2px}.mini-card{width:14px;height:19px;font-size:5px;border-radius:1px}.mini-card.card-back{font-size:6px}.playing-card{width:40px;height:56px}.card-val{font-size:9px}.card-suit-sm{font-size:6px}.card-center-suit{font-size:16px}.card-back-center{font-size:14px}.action-bar-wrapper{padding:6px 6px calc(6px + env(safe-area-inset-bottom,0px))}.action-bar{grid-template-columns:repeat(auto-fit,minmax(70px,1fr));gap:4px}.action-btn{padding:6px 4px;min-height:44px;border-radius:8px;gap:1px}.action-btn-icon{font-size:16px}.action-btn-label{font-size:8px;letter-spacing:.05em}.action-btn-cost{font-size:9px}.action-host-start h3{font-size:12px}.action-waiting-text{font-size:11px}.modal-overlay{padding:8px}.modal-card{padding:14px;border-radius:16px;max-height:calc(100dvh - 16px)}.modal-icon{font-size:36px;margin-bottom:6px}.modal-card h2{font-size:16px;margin-bottom:4px}.modal-card p{font-size:11px;margin-bottom:10px;line-height:1.5}.modal-actions{gap:6px}.game-over-confetti{font-size:36px}.winner-name{font-size:18px}.winner-pot{font-size:16px}.hand-label{font-size:9px;padding:2px 10px}.error-toast{top:8px;padding:6px 10px;font-size:11px;max-width:calc(100vw - 16px);border-radius:8px}.pot-amount{padding:4px 10px}.pot-value{font-size:16px}.pot-icon{font-size:14px}.pot-label{font-size:8px}}@media (max-width: 360px){.lobby-card{padding:10px 8px}.lobby-logo h1{font-size:18px}.btn{padding:6px 10px;font-size:11px;min-height:32px}.player-card{min-width:64px;padding:3px 4px}.player-avatar{width:18px;height:18px;font-size:8px}.player-name{font-size:8px;max-width:50px}.action-bar{grid-template-columns:repeat(auto-fit,minmax(60px,1fr));gap:3px}.action-btn{min-height:38px;padding:4px 2px}.action-btn-icon{font-size:14px}.action-btn-label{font-size:7px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
