:root{--felt: #0d4d47;--felt-dark: #073430;--felt-darker: #041e1b;--bg-navy: #12122b;--bg-navy-mid: #1b1b42;--bg-navy-deep: #08081a;--table-rail: #050505;--accent: #f1c40f;--accent-soft: #f9e28c;--card-bg: #fdfdfd;--card-border: #1c1c1c;--win: #2ecc71;--loss: #e74c3c;--push: #f1c40f;--text: #f2f3fa;--text-muted: #a9acc8}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}button:focus:not(:focus-visible),a:focus:not(:focus-visible),input:focus:not(:focus-visible),[role=button]:focus:not(:focus-visible){outline:none}html,body{margin:0;padding:0}body{font-family:Segoe UI,system-ui,-apple-system,sans-serif;background:repeating-linear-gradient(45deg,rgba(255,255,255,.035) 0px,rgba(255,255,255,.035) 1px,transparent 1px,transparent 28px),repeating-linear-gradient(-45deg,rgba(255,255,255,.035) 0px,rgba(255,255,255,.035) 1px,transparent 1px,transparent 28px),radial-gradient(circle at top,var(--bg-navy-mid) 0%,var(--bg-navy) 55%,var(--bg-navy-deep) 100%);color:var(--text);min-height:100vh;min-height:100dvh}#root{min-height:100vh;min-height:100dvh;display:flex;justify-content:center}.app{width:100%;max-width:1400px;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}:fullscreen .app{padding:0}.full-screen-state{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;text-align:center;padding:24px;color:var(--text)}.spinner{width:40px;height:40px;border-radius:50%;border:3px solid rgba(47,143,216,.25);border-top-color:var(--accent);animation:spin .9s linear infinite}.spinner.error{border-top-color:var(--loss)}@keyframes spin{to{transform:rotate(360deg)}}.demo-badge{text-align:center;background:var(--loss);color:#fff;font-size:11px;font-weight:700;letter-spacing:.05em;padding:4px}.app-footer{position:fixed;left:0;right:0;bottom:6px;z-index:5;text-align:center;font-size:.62rem;letter-spacing:.03em;color:#ffffff59;pointer-events:none}.matchup-ticker{position:fixed;top:64px;left:12px;right:12px;z-index:55;display:flex;justify-content:center;pointer-events:none}.matchup-ticker-pill{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:5px 14px;border-radius:999px;background:#0f0f24bf;border:1px solid var(--accent);color:var(--text);font-size:.72rem;font-weight:700;text-align:center;box-shadow:0 3px 10px #0006}.matchup-ticker-pill.win{border-color:var(--win);color:var(--win)}.matchup-ticker-pill.lose{border-color:var(--loss);color:var(--loss)}.matchup-ticker-pill.push{border-color:var(--push);color:var(--push)}.spectate-hint{position:fixed;bottom:28px;left:12px;right:12px;z-index:55;display:flex;justify-content:center;pointer-events:none}.spectate-hint-pill{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:5px 14px;border-radius:999px;background:#0f0f24bf;border:1px solid var(--accent);color:var(--text);font-size:.72rem;font-weight:700;text-align:center;box-shadow:0 3px 10px #0006}.icon-btn{background:none;border:1px solid rgba(47,143,216,.4);border-radius:8px;font-size:1rem;padding:4px 8px;cursor:pointer;color:var(--text)}.toggle-switch{display:flex;align-items:center;gap:6px;background:none;border:none;padding:0;cursor:pointer}.toggle-switch-track{position:relative;width:42px;height:24px;border-radius:999px;background:#00000059;border:1px solid rgba(47,143,216,.4);display:flex;align-items:center;padding:2px;transition:background-color .2s ease,border-color .2s ease}.toggle-switch.on .toggle-switch-track{background:var(--win);border-color:var(--win)}.toggle-switch-knob{width:18px;height:18px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;font-size:.62rem;transform:translate(0);transition:transform .2s ease}.toggle-switch.on .toggle-switch-knob{transform:translate(18px)}.toggle-switch-label{font-size:.68rem;font-weight:800;letter-spacing:.04em;min-width:20px;color:var(--text-muted)}.toggle-switch.on .toggle-switch-label{color:var(--win)}.table-wrap{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:10px;padding:2px 10px 28px}.rect-table-wrap{flex:1 1 auto;min-height:0;min-width:0;display:flex;align-items:center;justify-content:center;padding:4px;container-type:size;container-name:table-slot}.rect-table{position:relative;width:min(820px,100cqw,170cqh);aspect-ratio:2 / 1;container-type:inline-size;container-name:table}.felt-rect{position:absolute;top:12%;right:6%;bottom:12%;left:6%;background:radial-gradient(ellipse 65% 45% at 50% 12%,rgba(255,255,255,.22),transparent 68%),radial-gradient(ellipse at 50% 30%,#13615a,#0d4d47 55%,#073430);border:10px solid var(--table-rail);border-top-color:#2c2c2c;outline:2px solid rgba(255,255,255,.1);outline-offset:-12px;border-radius:28px;box-shadow:inset 0 0 40px #0000008c,inset 0 4px 10px #ffffff14,0 8px 22px #0000008c,0 0 50px #ffffff0f}.felt-rect:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;box-shadow:inset 0 0 40px #00000073,inset 0 4px 10px #ffffff14,0 0 24px #2f8fd899;opacity:0;transition:opacity .3s ease;pointer-events:none}.rect-table.is-dealing .felt-rect:after{opacity:1}.pot-stack{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:6px;z-index:2}.pot-chip-pile{position:relative;width:clamp(34px,10cqw,50px);height:clamp(38px,12cqw,56px)}.pot-chip{position:absolute;left:50%;width:clamp(34px,10cqw,50px);height:clamp(34px,10cqw,50px);border-radius:50%;object-fit:contain;filter:drop-shadow(0 2px 4px rgba(0,0,0,.5));pointer-events:none}.pot-chip--1{bottom:0;transform:translate(-50%) rotate(-4deg)}.pot-chip--2{bottom:6px;transform:translate(-50%) rotate(5deg)}.pot-chip--3{bottom:12px;transform:translate(-50%) rotate(-3deg)}.pot-stack-amount{background:#0006;border:1px solid var(--accent);border-radius:999px;padding:3px 12px;font-size:.75rem;font-weight:800;color:var(--accent-soft);white-space:nowrap}.seat-slot{position:absolute;display:flex;justify-content:center;z-index:3}.seat-slot--top-1{top:0;left:25%;transform:translate(-50%)}.seat-slot--top-2{top:0;left:75%;transform:translate(-50%)}.seat-slot--bottom-1{bottom:0;left:25%;transform:translate(-50%)}.seat-slot--bottom-2{bottom:0;left:75%;transform:translate(-50%)}.seat-slot--left-1{top:30%;left:0;transform:translateY(-50%)}.seat-slot--left-2{top:70%;left:0;transform:translateY(-50%)}.seat-slot--right-1{top:30%;right:0;transform:translateY(-50%)}.seat-slot--right-2{top:70%;right:0;transform:translateY(-50%)}.seat{position:relative;display:flex;flex-direction:column;align-items:center;gap:3px;width:clamp(52px,16cqw,78px)}.seat--empty{opacity:.45}.seat-photo-stack{position:relative;display:flex;align-items:center;justify-content:center}.seat-avatar{position:relative;width:clamp(38px,12cqw,52px);height:clamp(38px,12cqw,52px);border-radius:50%;background:radial-gradient(circle at 35% 30%,#2a2a44,#14141f 75%);border:2px solid rgba(255,255,255,.15);box-shadow:0 2px 5px #00000080;display:flex;align-items:center;justify-content:center;font-size:clamp(1rem,5cqw,1.4rem);transition:border-color .2s ease,box-shadow .2s ease}.seat--me .seat-avatar{border-color:#22d3ee;box-shadow:0 0 10px #22d3eea6}.seat--active .seat-avatar{border-color:var(--win);box-shadow:0 0 12px #2ecc71a6}.seat--winner .seat-avatar{border-color:var(--push)}.seat--winner .seat-avatar:after{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:50%;box-shadow:0 0 22px #f1c40fd9;opacity:0;animation:winner-glow-pulse 1.1s ease-in-out infinite;pointer-events:none}@keyframes winner-glow-pulse{0%,to{opacity:.4}50%{opacity:1}}.seat-empty-card{width:clamp(28px,9cqw,40px);height:clamp(40px,13cqw,56px);border-radius:5px;border:2px dashed rgba(47,143,216,.4);background:#ffffff08}.seat--clickable{opacity:1;cursor:pointer}.seat-empty-card--pulsing{border-color:var(--accent);background:#f1c40f14;animation:reveal-pulse 1.1s ease-in-out infinite}.seat-empty-card--dealer{border-style:solid;border-color:#f1c40f8c}.seat-dealer-badge{position:absolute;top:-4px;left:50%;transform:translate(-50%);z-index:4;width:18px;height:18px;display:flex;align-items:flex-start;justify-content:center;padding-top:2px;clip-path:polygon(50% 100%,100% 62%,82% 0%,18% 0%,0% 62%);background:#e53935;color:#fff;font-size:.6rem;font-weight:900;line-height:1;box-shadow:0 0 6px #e53935bf}.seat-take-arrow{position:absolute;top:2px;left:50%;display:flex;color:var(--accent);filter:drop-shadow(0 0 3px rgba(0,0,0,.85));pointer-events:none;z-index:2}.seat-take-arrow svg{width:14px;height:14px}.seat-cards-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;gap:2px;z-index:3}.seat-cards-overlay .card-slot{width:clamp(16px,5.5cqw,24px);height:clamp(23px,8cqw,34px);margin:0}.bandar-avatar-ring{position:absolute;top:50%;left:50%;width:138%;height:auto;transform:translate(-48.9%,-59%);pointer-events:none;z-index:2}.seat-name{font-size:.62rem;color:var(--text-muted);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.seat-name--empty{font-style:italic}.seat-meta{display:flex;align-items:center;gap:5px;flex-wrap:wrap;justify-content:center}.seat-balance{font-size:.65rem;color:var(--text-muted);text-align:center}.seat-settled-meta{display:flex;align-items:center;gap:5px;flex-wrap:wrap;justify-content:center}.seat-score{font-size:.65rem;color:var(--text-muted);text-align:center}.seat-bet-chip{background:linear-gradient(160deg,#13615a,#073430);border:1px solid var(--accent);border-radius:999px;padding:2px 8px;font-size:.62rem;font-weight:700}.seat-result{font-size:.66rem;font-weight:800;padding:2px 8px;border-radius:999px}.seat-result.win{background:#2ecc7133;color:var(--win)}.seat-result.lose{background:#e74c3c33;color:var(--loss)}.seat-result.push{background:#f1c40f33;color:var(--push)}.result-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;align-items:center;justify-content:center;pointer-events:none;background:#00000040;border-radius:28px}.result-overlay-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;padding:clamp(14px,5cqw,28px) clamp(20px,7cqw,42px);border-radius:18px;background:#0f0f24eb;box-shadow:0 10px 30px #00000080}.result-overlay.win .result-overlay-card{border:2px solid var(--win);box-shadow:0 0 30px #2ecc718c,0 10px 30px #00000080}.result-overlay.lose .result-overlay-card{border:2px solid var(--loss)}.result-overlay.push .result-overlay-card{border:2px solid var(--push)}.result-overlay-title{font-size:clamp(1.1rem,6cqw,2rem);font-weight:900;letter-spacing:.03em}.result-overlay.win .result-overlay-title{color:var(--win)}.result-overlay.lose .result-overlay-title{color:var(--loss)}.result-overlay.push .result-overlay-title{color:var(--push)}.result-overlay-amount{font-size:clamp(.85rem,3.4cqw,1.15rem);font-weight:700;color:var(--text)}.result-overlay-cards{display:flex;gap:6px;margin:4px 0}.result-overlay-cards .card-slot{width:clamp(34px,11cqw,52px);height:clamp(48px,15cqw,74px)}.result-overlay-score{font-size:clamp(.75rem,3cqw,.95rem);font-weight:700;color:var(--text-muted)}.confetti-particle{position:absolute;top:50%;left:50%;font-size:1.2rem;pointer-events:none}.chip-burst-anchor{position:absolute;left:50%;bottom:100%;transform:translate(-50%);width:100%;height:0;overflow:visible}.chip-burst{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;display:flex;align-items:center;justify-content:center;z-index:30;overflow:visible}.chip-burst-particle{position:absolute;width:clamp(18px,5.5cqw,28px);height:clamp(18px,5.5cqw,28px);border-radius:50%;object-fit:contain;filter:drop-shadow(0 4px 6px rgba(0,0,0,.55))}.chip-flight{position:absolute;top:0;left:0;width:clamp(20px,6cqw,30px);height:clamp(20px,6cqw,30px);margin-left:calc(-1*clamp(10px,3cqw,15px));margin-top:calc(-1*clamp(10px,3cqw,15px));border-radius:50%;object-fit:contain;pointer-events:none;z-index:25;filter:drop-shadow(0 4px 6px rgba(0,0,0,.5))}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:center;justify-content:center;background:#ffffff80;padding:16px}.modal-card{display:flex;flex-direction:column;align-items:center;gap:14px;width:100%;max-width:340px;padding:24px 22px;border-radius:20px;background:#0f0f24f7;border:2px solid var(--accent);box-shadow:0 12px 40px #0009}.modal-message{margin:0;text-align:center;font-size:1rem;font-weight:700;color:var(--text)}.rules-modal-text{margin:0;text-align:center;font-size:.85rem;line-height:1.6;color:var(--text-muted)}.history-list{width:100%;max-height:320px;overflow-y:auto;display:flex;flex-direction:column;gap:8px}.history-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border-radius:10px;background:#ffffff0a;border:1px solid rgba(241,196,15,.2)}.history-row-main{min-width:0;display:flex;flex-direction:column;gap:2px}.history-row-room{font-size:.8rem;font-weight:800;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-row-vs{font-size:.68rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-row-side{flex-shrink:0;display:flex;flex-direction:column;align-items:flex-end;gap:2px}.history-row-outcome{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.02em}.history-row-outcome--win{color:var(--win)}.history-row-outcome--loss{color:var(--loss)}.history-row-outcome--push{color:var(--push)}.history-row-bet{font-size:.65rem;color:var(--text-muted)}.orientation-picker{display:flex;gap:16px;margin:6px 0}.orientation-option{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px;border-radius:14px;border:2px solid rgba(47,143,216,.3);background:#00000040;color:var(--text-muted);font-size:.8rem;font-weight:700;cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease}.orientation-option.selected{border-color:var(--accent);background:#2f8fd829;color:var(--accent-soft)}.orientation-icon{display:block;border:2.5px solid currentColor;border-radius:6px;position:relative}.room-type-picker{gap:8px}.room-type-picker .orientation-option{padding:10px 8px;font-size:.75rem}.orientation-icon:after{content:"";position:absolute;background:currentColor;border-radius:2px}.orientation-icon--portrait{width:34px;height:54px}.orientation-icon--portrait:after{width:12px;height:3px;top:6px;left:50%;transform:translate(-50%)}.orientation-icon--landscape{width:54px;height:34px}.orientation-icon--landscape:after{width:3px;height:12px;right:6px;top:50%;transform:translateY(-50%)}.card-slot{width:clamp(22px,7cqw,34px);height:clamp(31px,10cqw,48px);perspective:480px;flex-shrink:0}.playing-card-flip{position:relative;width:100%;height:100%;transform-style:preserve-3d}.playing-card-face{position:absolute;top:0;right:0;bottom:0;left:0;backface-visibility:hidden;border-radius:5px;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 2px 4px #00000059}.playing-card-front{background:var(--card-bg);color:#111;border:1px solid var(--card-border);font-weight:700;font-size:.6rem}.playing-card-front.red{color:#c0392b}.playing-card-front .suit{font-size:.68rem;line-height:1}.playing-card-back{background:linear-gradient(135deg,#13615a,#073430);border:1px solid var(--accent);transform:rotateY(180deg)}.playing-card-back .card-back{color:var(--accent-soft);font-size:.48rem;font-weight:800;letter-spacing:.04em}.hidden-card-back{position:static;width:100%;height:100%;background:linear-gradient(135deg,#13615a,#073430);border:1px solid var(--accent)}.hidden-card-back .card-back{color:var(--accent-soft);font-size:.48rem;font-weight:800;letter-spacing:.04em}.card-slot--revealable{cursor:pointer;animation:reveal-pulse 1.1s ease-in-out infinite}@keyframes reveal-pulse{0%,to{filter:drop-shadow(0 0 2px var(--accent))}50%{filter:drop-shadow(0 0 8px var(--accent-soft))}}.action-error{color:var(--loss);font-size:.8rem;text-align:center}.auto-bet-hint{margin:0;text-align:center;font-size:.72rem;color:var(--win)}.reveal-floating{position:fixed;top:0;right:0;bottom:0;left:0;z-index:45;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:#ffffff80}.reveal-floating .primary-btn{position:relative}.reveal-floating .primary-btn:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:inherit;box-shadow:0 0 18px #2f8fd8d9;opacity:0;animation:reveal-floating-pulse 1.1s ease-in-out infinite;pointer-events:none}@keyframes reveal-floating-pulse{0%,to{opacity:0}50%{opacity:1}}.side-icon-controls{position:fixed;top:16px;right:12px;z-index:60;display:flex;flex-direction:row;gap:10px}.side-icon-btn{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.1rem;cursor:pointer;border:2px solid rgba(255,255,255,.65);color:#fff;box-shadow:0 4px 10px #0006;transition:transform .08s ease}.side-icon-btn:active{transform:scale(.92)}.side-icon-btn--sound,.side-icon-btn--fullscreen{background:radial-gradient(circle at 35% 30%,#7dd3fc,#0369a1 75%);box-shadow:0 4px 10px #0006,0 0 14px #38bdf88c}.side-icon-btn--info{background:radial-gradient(circle at 35% 30%,#fde68a,#b45309 75%);box-shadow:0 4px 10px #0006,0 0 14px #f59e0b8c}.side-icon-btn--leave{background:radial-gradient(circle at 35% 30%,#fca5a5,#dc2626 75%);box-shadow:0 4px 10px #0006,0 0 14px #ef44448c}.side-icon-btn--history{background:radial-gradient(circle at 35% 30%,#c4b5fd,#6d28d9 75%);box-shadow:0 4px 10px #0006,0 0 14px #7c3aed8c}.icon{display:inline-flex;width:20px;height:20px}.icon svg{width:100%;height:100%}.icon svg path{stroke:currentColor;stroke-width:.7px}.side-icon-btn .icon{filter:drop-shadow(0 1px 1px rgba(0,0,0,.35))}.chip-row{display:flex;flex-wrap:wrap;gap:clamp(6px,2vw,12px);justify-content:center}.chip{width:clamp(42px,8vw,60px);height:clamp(42px,8vw,60px);flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:50%;background:none;border:none;padding:0;cursor:pointer;filter:drop-shadow(0 4px 0 rgba(0,0,0,.4)) drop-shadow(0 5px 8px rgba(0,0,0,.35));transition:transform .08s ease,filter .08s ease}.chip-img{width:100%;height:100%;border-radius:50%;object-fit:contain;pointer-events:none}.chip-label{color:var(--text);font-size:clamp(.58rem,1.8vw,.72rem);font-weight:800}.chip-label--hidden{display:none}.chip:active:not(:disabled){transform:translateY(3px);filter:drop-shadow(0 1px 0 rgba(0,0,0,.4)) drop-shadow(0 2px 4px rgba(0,0,0,.3))}.chip.selected .chip-img{outline:3px solid var(--accent-soft);outline-offset:2px;border-radius:50%}.chip:disabled{opacity:.4;cursor:not-allowed}.action-row{display:flex;gap:12px}.action-row .primary-btn,.action-row .secondary-btn{flex:1}.primary-btn,.secondary-btn{position:relative;overflow:hidden;flex-shrink:0;padding:clamp(10px,2.4vw,17px) clamp(12px,3vw,20px);border-radius:16px;border:none;font-weight:800;font-size:clamp(.85rem,2.6vw,1.05rem);letter-spacing:.02em;white-space:nowrap;cursor:pointer;transition:transform .08s ease,box-shadow .08s ease}.primary-btn:before,.secondary-btn:before{content:"";position:absolute;top:3px;left:6%;right:6%;height:42%;background:linear-gradient(180deg,rgba(255,255,255,.4),transparent);border-radius:999px;pointer-events:none}.primary-btn{background:linear-gradient(180deg,var(--accent-soft) 0%,var(--accent) 55%,#8a6a00 100%);color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.6);border:2px solid #c0392b;box-shadow:0 5px #6b4e00,0 9px 18px #0006}.primary-btn:active:not(:disabled){transform:translateY(4px);box-shadow:0 1px #6b4e00,0 3px 8px #0000004d}.primary-btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.secondary-btn{background:linear-gradient(180deg,#e0685c,#c0392b 55%,#7b241c);color:#fff;border:2px solid var(--accent);box-shadow:0 5px #5c1811,0 9px 18px #00000059}.secondary-btn:active{transform:translateY(4px);box-shadow:0 1px #5c1811,0 3px 8px #00000040}.bandar-capacity-note{margin:0;text-align:center;font-size:.72rem;color:var(--push)}.lobby{width:100%;box-sizing:border-box;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:24px 16px}@media (max-width: 600px){.lobby{justify-content:flex-start;padding-top:32px}}.lobby-header{text-align:center}.lobby-title{margin:0 0 6px;font-size:clamp(1.6rem,6vw,2.2rem);font-weight:900;color:var(--accent-soft);letter-spacing:.02em}.lobby-subtitle{margin:0;color:var(--text-muted);font-size:.9rem}.lobby-private-actions{display:flex;gap:12px}.room-list-status{margin:0;text-align:center;color:var(--text-muted);font-size:.85rem}.room-table-wrap{width:100%;max-width:640px;max-height:360px;overflow:auto;border-radius:14px;border:1px solid rgba(241,196,15,.25)}.room-table{width:100%;border-collapse:collapse;font-size:.78rem;white-space:nowrap}.room-table thead th{position:sticky;top:0;background:#141414f2;color:var(--text-muted);font-size:.62rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase;text-align:left;padding:8px 10px;border-bottom:1px solid rgba(241,196,15,.25)}.room-table tbody td{padding:8px 10px;border-bottom:1px solid rgba(255,255,255,.06);color:var(--text)}.room-table tbody tr:last-child td{border-bottom:none}.room-table tbody tr:hover{background:#ffffff0a}.room-table-name{font-weight:800}.room-type-badge{padding:1px 8px;border-radius:999px;font-size:.6rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase}.room-type-badge--small{background:#2ecc712e;color:var(--win)}.room-type-badge--medium{background:#f1c40f2e;color:var(--accent)}.room-type-badge--large{background:#e74c3c2e;color:var(--loss)}.room-table-play{padding:6px 14px;font-size:.75rem}@media (max-width: 600px){.room-table-col--type{display:none}.room-table{font-size:.72rem}.room-table thead th,.room-table tbody td{padding:7px 8px}}.pin-input{width:100%;max-width:220px;padding:12px 14px;border-radius:12px;border:2px solid var(--accent);background:#ffffff0f;color:var(--text);font-size:1.1rem;font-weight:700;letter-spacing:.1em;text-align:center}.pin-input::placeholder{color:var(--text-muted);letter-spacing:normal;font-weight:400}.room-code-display{font-size:clamp(1.6rem,8vw,2.4rem);font-weight:900;letter-spacing:.15em;color:var(--accent-soft);background:#ffffff0f;border:2px dashed var(--accent);border-radius:12px;padding:10px 20px}@media (orientation: landscape) and (min-width: 520px){.table-wrap{flex-direction:row;align-items:stretch;gap:16px;padding:8px 16px}.rect-table-wrap{flex:1 1 auto;min-width:0}}@media (min-width: 700px){.app{border-left:1px solid rgba(47,143,216,.25);border-right:1px solid rgba(47,143,216,.25)}}@media (max-width: 600px){.app.orientation-vertical .rect-table{aspect-ratio:3 / 5;width:min(470px,100cqw,87cqh)}.app.orientation-vertical .seat-slot--top-1,.app.orientation-vertical .seat-slot--left-1,.app.orientation-vertical .seat-slot--left-2,.app.orientation-vertical .seat-slot--bottom-1{left:3%;right:auto}.app.orientation-vertical .seat-slot--top-2,.app.orientation-vertical .seat-slot--right-1,.app.orientation-vertical .seat-slot--right-2,.app.orientation-vertical .seat-slot--bottom-2{right:3%;left:auto}.app.orientation-vertical .seat-slot--top-1,.app.orientation-vertical .seat-slot--top-2,.app.orientation-vertical .seat-slot--left-1,.app.orientation-vertical .seat-slot--right-1,.app.orientation-vertical .seat-slot--left-2,.app.orientation-vertical .seat-slot--right-2,.app.orientation-vertical .seat-slot--bottom-1,.app.orientation-vertical .seat-slot--bottom-2{transform:none}.app.orientation-vertical .seat-slot--top-1,.app.orientation-vertical .seat-slot--top-2{top:8%;bottom:auto}.app.orientation-vertical .seat-slot--left-1,.app.orientation-vertical .seat-slot--right-1{top:35%;bottom:auto;transform:translateY(-50%)}.app.orientation-vertical .seat-slot--left-2,.app.orientation-vertical .seat-slot--right-2{top:65%;bottom:auto;transform:translateY(-50%)}.app.orientation-vertical .seat-slot--bottom-1,.app.orientation-vertical .seat-slot--bottom-2{bottom:8%;top:auto}}@media (max-width: 600px) and (orientation: portrait){.app.orientation-horizontal{position:fixed;top:0;left:0;width:100vh;height:100vw;min-height:100vw;max-width:none;transform:rotate(90deg) translateY(-100%);transform-origin:top left;overflow-y:auto}.app.orientation-horizontal{width:100dvh;height:100dvw;min-height:100dvw}.app.orientation-horizontal .table-wrap{flex-direction:row;align-items:stretch;gap:16px;padding:8px 16px}.app.orientation-horizontal .rect-table-wrap{flex:1 1 auto;min-width:0}}
