*{margin:0;padding:0;box-sizing:border-box}:root{--card-w: 42px;--card-h: 59px;--gold: #ffcc00;--modal-shell: linear-gradient(#171c21, #0d1114);--funnel-shell: linear-gradient(#123f5f, #0c2a40)}body{font-family:Roboto,sans-serif;background-color:#072d47;color:#fff;min-height:100vh;padding-top:env(safe-area-inset-top)}html[data-zone=room] body{background-color:#0d1114}.floor-layer{position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 50% 30%,#14638f,#0d4a70 55%,#072d47)}html[data-zone=lobby] .floor-layer{background:var(--lobby-floor) center / cover,radial-gradient(ellipse at 50% 30%,#14638f,#0d4a70 55%,#072d47)}html[data-zone=room] .floor-layer{background:radial-gradient(ellipse at 50% 30%,#171c21,#0d1114 70%)}html[data-zone=room][data-floor]:not([data-floor=plain]) .floor-layer{background:var(--floor-image) center / cover,radial-gradient(ellipse at 50% 30%,#171c21,#0d1114 70%)}button{font:inherit;cursor:pointer}.app{max-width:960px;margin:0 auto;padding:12px 16px 40px}.app-header{display:flex;align-items:baseline;gap:14px;padding:6px 2px 10px}.app-header h1{font-family:Oswald,sans-serif;font-size:1.3rem;font-weight:600;letter-spacing:1.5px;text-transform:uppercase}.stakes{color:#ffffff8c;font-size:.85rem}.link-btn{background:none;border:none;color:#ffffffb3;font-size:.9rem}.link-btn:hover{color:#fff}.setup{max-width:800px;margin:0 auto;padding:40px 16px 60px;text-align:center}.lockup{--lockup-w: 45px;display:flex;align-items:center;justify-content:center;gap:calc(var(--lockup-w) * .3)}.lockup-card{display:block;width:var(--lockup-w)}.lockup-type{display:flex;flex-direction:column;gap:calc(var(--lockup-w) * .113);text-align:left;color:#fff}.lockup-name{font-family:Oswald,sans-serif;font-weight:700;font-size:calc(var(--lockup-w) * .707);line-height:1;letter-spacing:.04em;margin-right:-.04em;text-transform:uppercase;white-space:nowrap}.lockup-poker{display:flex;justify-content:space-between;font-family:Oswald,sans-serif;font-weight:400;font-size:calc(var(--lockup-w) * .58);line-height:1}@media(max-width:767px){.lockup{--lockup-w: 37px}}.setup-subtitle{color:#ffffffa6;margin:6px 0 28px}.career-line{font-family:Oswald,sans-serif;font-size:.85rem;letter-spacing:1px;color:#ffffffb3;margin:8px 0 0}.net-up{color:#7fffb0}.net-down{color:#f99}.session-net{opacity:.85}.picker-panel{background:#0a16208c;backdrop-filter:blur(14px) saturate(1.05);-webkit-backdrop-filter:blur(14px) saturate(1.05);border:1px solid rgba(255,255,255,.1);border-radius:24px;box-shadow:0 24px 64px #00000061,inset 0 1px #ffffff0f;padding:clamp(20px,3vw,36px);margin:clamp(16px,4vh,48px) auto 0}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.picker-panel{background:#0a1620d9}}@media(prefers-reduced-transparency:reduce){.picker-panel{background:#0a1620e6;backdrop-filter:none;-webkit-backdrop-filter:none}}.picker-header{margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.1)}.panel-links{margin:0;display:flex;gap:20px}.game-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-bottom:26px}.game-cell{position:relative;display:flex}.game-card{flex:1;display:flex;flex-direction:column;gap:4px;text-align:left;color:#fff;background:#ffffff12;border:1px solid rgba(255,255,255,.14);border-radius:14px;padding:14px 16px;transition:background .2s,border-color .2s,transform .12s}@media(hover:hover){.game-card:hover{transform:translateY(-2px);background:#ffffff21}}.game-card.selected{background:#ffcc0024;border-color:var(--gold);box-shadow:0 0 0 1px var(--gold),0 6px 20px #ffcc0029}.game-name{font-family:Oswald,sans-serif;font-weight:600;font-size:1.05rem;letter-spacing:.5px;padding-right:22px}.game-blurb{color:#ffffffbd;font-size:.78rem}.fav-star{position:absolute;top:8px;right:8px;z-index:2;background:none;border:none;padding:2px 4px;line-height:1;font-size:1.15rem;cursor:pointer;color:#fff6;transition:color .15s,transform .12s}@media(hover:hover){.fav-star:hover{color:#ffffffd9;transform:scale(1.15)}.fav-star.favored:hover{color:var(--gold)}}.fav-star.favored{color:var(--gold)}.game-card.locked{opacity:.82}.lock-badge{font-size:.82em;margin-right:5px;opacity:.85}.unlock-panel{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}.unlock-accent{width:56px;height:3px;border-radius:2px;background:var(--gold);margin-bottom:4px}.unlock-lockup{--lockup-w: 58px;margin:0}.unlock-hero{filter:drop-shadow(0 8px 22px rgba(0,0,0,.45))}@media(max-width:767px){.unlock-lockup{--lockup-w: 50px}}.unlock-copy{font-size:.85rem;color:#ffffffb3;line-height:1.45;margin:0}.unlock-value{font-family:Oswald,sans-serif;text-transform:uppercase;letter-spacing:.04em;font-size:1.02rem;color:#fff;margin:2px 0 0}.unlock-reassure{font-size:.78rem;color:#ffffff8c;margin:0}.unlock-offline{font-size:.78rem;color:#ffcf8a;margin:0}.unlock-howto,.unlock-secondary{margin:4px 0 0}.unlock-buy{width:100%}.unlock-key-area{width:100%;margin-top:6px;text-align:left}.unlock-key-row{display:flex;gap:8px}.unlock-paste{flex:0 0 auto;background:#ffffff1f;border:1px solid rgba(255,255,255,.28);color:#fff}.unlock-key-input{flex:1;min-width:0;padding:10px 12px;border-radius:8px;border:1px solid rgba(255,255,255,.25);background:#00000040;color:#fff;font-size:.9rem}.unlock-key-input::placeholder{color:#fff6}.unlock-activate{flex:0 0 auto;background:#ffffff1f;border:1px solid rgba(255,255,255,.28);color:#fff}.unlock-activate:disabled{opacity:.5;cursor:default}.unlock-error{color:#ff8a80;font-size:.82rem;margin:6px 2px 0}.license-section{display:flex;flex-direction:column;gap:8px;align-items:flex-start;margin-bottom:8px}.structure-toggle{display:flex;justify-content:center;gap:0;margin:-8px auto 26px;width:fit-content;border:1px solid rgba(255,255,255,.25);border-radius:8px;overflow:hidden}.struct-btn{font-family:Oswald,sans-serif;font-size:.85rem;letter-spacing:1px;color:#ffffffbf;background:#00000040;border:none;border-left:1px solid rgba(255,255,255,.18);padding:8px 20px;cursor:pointer;transition:background .15s,color .15s}.struct-btn:first-child{border-left:none}.struct-btn:hover{background:#ffffff1a}.struct-btn.selected{background:#ffcc002e;color:var(--gold)}.stakes-picker{display:flex;flex-direction:column;align-items:center;gap:6px;margin:0 auto 8px;font-family:Oswald,sans-serif;font-size:.85rem;letter-spacing:1px;text-transform:uppercase;color:#ffffffbf}.stakes-picker select{font:inherit;text-transform:none;color:#fff;background:#00000059;border:1px solid rgba(255,255,255,.3);border-radius:6px;padding:8px 14px}.stakes-hint{max-width:460px;margin:0 auto 24px;text-align:center;font-size:.76rem;line-height:1.4;color:#ffffff8c}.setup-row{display:flex;justify-content:center;gap:28px;margin-bottom:30px}.setup-row label{display:flex;flex-direction:column;gap:6px;font-family:Oswald,sans-serif;font-size:.85rem;letter-spacing:1px;text-transform:uppercase;color:#ffffffbf}.setup-row select{font:inherit;color:#fff;background:#00000059;border:1px solid rgba(255,255,255,.3);border-radius:6px;padding:8px 12px}.btn-start{font-size:1.1rem;padding:12px 36px}.mc-toggle{display:flex;align-items:flex-start;gap:10px;text-align:left;color:#ffffffbf;font-size:.88rem;line-height:1.45;margin-bottom:22px;cursor:pointer}.mc-toggle input{accent-color:var(--gold);width:16px;height:16px;flex:0 0 auto;margin-top:1px}.table-wrap{position:relative;width:100%;max-width:860px;margin:8px auto 0}.felt-table{background:radial-gradient(ellipse at 50% 38%,var(--felt-c1, #1a7a4a) 0%,var(--felt-c2, #0f5530) 100%);border:16px solid #17140f;border-radius:50%;width:100%;aspect-ratio:16 / 10;position:relative;box-shadow:0 10px 30px #0000008c,inset 0 0 0 2px #c9a53a8c,inset 0 3px 8px #ffffff0f,inset 0 -22px 44px #0000006b,inset 0 0 70px #00000052}.felt-table:after{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(ellipse at 50% 36%,#ffffff24,#fff0 55%);pointer-events:none;z-index:0}.opps{display:contents}.seat{position:absolute;display:flex;flex-direction:column;align-items:center;gap:6px;z-index:1}.seat-hero{bottom:3.5%;left:50%;transform:translate(-50%)}.seat-info-anchor{width:0;align-self:center;display:flex;justify-content:center}.seat-info{flex-shrink:0;display:flex;align-items:center;gap:8px;font-family:Oswald,sans-serif;font-size:.78rem;letter-spacing:1px;background:#0000008c;border-radius:20px;padding:3px 12px;white-space:nowrap;text-shadow:1px 1px 3px rgba(0,0,0,.8)}.seat-identity,.seat-status{display:contents}.seat-name{display:flex;align-items:center;gap:6px;color:#ffffffe6}.seat-stack{color:var(--gold);font-weight:600}.seat-badge{background:#ffffffeb;color:#000;border-radius:12px;padding:1px 8px;font-size:.68rem}.seat-won{background:var(--gold);color:#000;border-radius:12px;padding:1px 8px;font-size:.72rem;font-weight:700;white-space:nowrap}.seat-thinking{display:inline-flex;align-items:center;gap:3px;padding:0 3px}.tk-dot{width:4px;height:4px;border-radius:50%;background:#ffffffe6;opacity:.3;animation:tk-blink 1.2s infinite ease-in-out}.tk-dot:nth-child(2){animation-delay:.2s}.tk-dot:nth-child(3){animation-delay:.4s}@keyframes tk-blink{0%,80%,to{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-1px)}}.seat-won-low{background:#7fffb0}.seat-declaration{background:#14141ec7;color:var(--gold);border:1px solid var(--gold);border-radius:12px;padding:1px 8px;font-size:.68rem;font-weight:700;white-space:nowrap}.seat-declaration-spade{color:#7fffb0;border-color:#7fffb0}.seat-declaration-both{color:#ff6b6f;border-color:#ff6b6f}.action-bar>.btn-declare{min-width:96px}.seat-hand-name{background:#0000008c;color:#ffffffd9;border-radius:12px;padding:1px 8px;font-size:.68rem;white-space:nowrap}.seat-cards{position:relative}.lammers{position:absolute;display:flex;gap:3px;z-index:3}.seat-opp .lammers{bottom:-10px;left:-10px}.seat-hero .lammers{top:30%;left:100%;margin-left:8px}.lammer{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;font-family:Oswald,sans-serif;font-size:.58rem;font-weight:700;letter-spacing:.5px;box-shadow:0 2px 5px #0000008c,inset 0 -2px #0003;border:1.5px solid rgba(0,0,0,.25)}.lammer-d{background:radial-gradient(circle at 35% 30%,#fff,#ddd 75%);color:#111}.lammer-sb{background:radial-gradient(circle at 35% 30%,#7cb9ff,#2f7fd6 75%);color:#fff}.lammer-bb{background:radial-gradient(circle at 35% 30%,#ffd75e,#d9a410 75%);color:#4a3400}.seat.folded .seat-cards{opacity:.3}.seat.folded .seat-info{opacity:.55}.seat.acting .seat-info{box-shadow:0 0 0 2px var(--gold),0 0 14px #ffcc00b3}.card-slot.best .card-front{outline:2.5px solid var(--gold);outline-offset:-2px;box-shadow:2px 3px 8px #00000080,0 0 12px 2px #ffcc00bf}.card-slot.best-low .card-front{outline:2.5px solid #7fffb0;outline-offset:-2px;box-shadow:2px 3px 8px #00000080,0 0 12px 2px #7fffb0bf}.card-slot.best-both .card-front{outline:2.5px solid #bfea7f;outline-offset:-2px;box-shadow:2px 3px 8px #00000080,0 0 12px 2px #bfea7fcc}.seat.winner .seat-info{box-shadow:0 0 0 2px var(--gold)}.chip-stack{position:absolute;display:flex;align-items:center;gap:5px}.chip-stack-svg{width:calc(var(--card-w) * .62);height:auto;overflow:visible;filter:drop-shadow(0 2px 3px rgba(0,0,0,.45))}.chip-total{font-family:Oswald,sans-serif;font-size:.66rem;font-weight:600;color:#f2ead6;background:#141210;border-radius:7px;padding:1px 6px;line-height:1.45;white-space:nowrap;box-shadow:0 1px 3px #00000080}.seat-opp .chip-stack{bottom:-34px;left:50%;transform:translate(-50%)}.seat-hero .chip-stack{right:100%;bottom:12%;margin-right:10px}.seat-cards{display:flex;gap:4px}.felt-table{--card-base: 50px;--card-min: 28px;--card-scale: 1;--card-w: max(var(--card-min), calc(var(--card-base) * var(--card-scale)));--card-h: calc(var(--card-w) * 7 / 5)}.felt-table[data-cards=md]{--card-scale: .88}.felt-table[data-cards=sm]{--card-scale: .76}.felt-table[data-hole="4"] .seat-opp .seat-cards,.felt-table[data-cards=md] .seat-opp .seat-cards,.felt-table[data-cards=sm] .seat-opp .seat-cards{gap:0}.felt-table[data-hole="4"] .seat-opp .seat-cards{padding-left:calc(var(--card-w) * .24)}.felt-table[data-hole="4"] .seat-opp .card-slot{margin-left:calc(var(--card-w) * -.24)}.felt-table[data-cards=md] .seat-opp .seat-cards{padding-left:calc(var(--card-w) * .34)}.felt-table[data-cards=md] .seat-opp .card-slot{margin-left:calc(var(--card-w) * -.34)}.felt-table[data-cards=sm] .seat-opp .seat-cards{padding-left:calc(var(--card-w) * .42)}.felt-table[data-cards=sm] .seat-opp .card-slot{margin-left:calc(var(--card-w) * -.42)}.card-slot{width:var(--card-w);height:var(--card-h);border-radius:4px;position:relative;perspective:600px;flex-shrink:0}.card-slot img{width:100%;height:100%;border-radius:4px;position:absolute;top:0;left:0;box-shadow:2px 3px 8px #00000080;backface-visibility:hidden;-webkit-user-select:none;user-select:none}.card-slot .card-back{transform:rotateY(0);transition:transform calc(.45s / var(--speed, 1)) ease}.card-slot .card-front{transform:rotateY(180deg);transition:transform calc(.45s / var(--speed, 1)) ease}.card-slot.flipped .card-back{transform:rotateY(-180deg)}.card-slot.flipped .card-front{transform:rotateY(0)}.card-slot.tappable{cursor:pointer}@media(hover:hover){.card-slot.tappable:hover{transform:translateY(-3px)}}.card-slot.selected{transform:translateY(-10px);outline:3px solid #ff6b6b;outline-offset:-1px}.card-slot.selected:after{content:"✕";position:absolute;top:-20px;left:50%;transform:translate(-50%);color:#ff6b6b;font-weight:700;text-shadow:0 1px 3px rgba(0,0,0,.7)}.hole-pip{position:absolute;top:-6px;left:-5px;width:15px;height:15px;border-radius:50%;background:#f4c430;border:1px solid rgba(0,0,0,.5);box-shadow:0 1px 3px #0009;display:grid;place-items:center;z-index:3}.hole-pip:after{content:"";width:0;height:0;border-left:3.5px solid transparent;border-right:3.5px solid transparent;border-top:5px solid #2e2200;margin-top:1px}.seat-hero .hole-pip{top:-16px;left:50%;transform:translate(-50%)}.seat-opp .hole-pip{display:none}.wild-chip{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#000c;color:#ffd60a;font-family:Oswald,sans-serif;font-weight:700;font-size:.58rem;letter-spacing:1px;padding:1px 4px;border-radius:3px;pointer-events:none;z-index:2}@keyframes dealIn{0%{opacity:0;transform:translate(var(--dx),var(--dy)) rotate(9deg) scale(.82)}18%{opacity:1}to{opacity:1;transform:translate(0) rotate(0) scale(1)}}.card-slot.dealing{animation:dealIn calc(.35s / var(--speed, 1)) cubic-bezier(.22,.61,.36,1) both}.deck-spot{position:absolute;left:calc(67% + var(--card-w));top:76%;transform:translate(-50%,-50%);width:var(--card-w);height:var(--card-h);border-radius:4px;z-index:1}.deck-spot img{width:100%;height:100%;border-radius:4px;box-shadow:2px 3px 8px #00000080}.board-area{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:10px;z-index:1}.no-board .board-area{top:34%}.felt-table[data-family=draw] .board-area{top:50%}.board-row{display:flex;justify-content:center;gap:5px;position:relative}.board-label{font-family:Oswald,sans-serif;font-size:.6rem;letter-spacing:1px;background:#00000080;padding:2px 5px;border-radius:4px;position:absolute;right:100%;top:50%;transform:translateY(-50%);margin-right:8px}.board-label-0{color:#ffe566}.board-label-1{color:#f99}.pot-label{font-family:Oswald,sans-serif;font-size:.85rem;letter-spacing:1.5px;background:#000000b3;padding:3px 14px;border-radius:20px;color:var(--gold);white-space:nowrap;opacity:0;transition:opacity .4s}.pot-label.visible{opacity:1}.table-message{font-family:Oswald,sans-serif;font-size:.95rem;letter-spacing:.5px;background:#000c;border:1px solid var(--gold);color:#fff;padding:8px 18px;border-radius:10px;max-width:340px;text-align:center;z-index:5}.board-area:has(.table-message){z-index:4}.table-status{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;color:#ffffff80;font-family:Oswald,sans-serif;font-size:.8rem;letter-spacing:1px;padding:10px 8px 0;text-transform:uppercase}.table-status>:last-child{text-align:right}.table-status-street{display:flex;align-items:center;justify-content:flex-end;gap:12px}.table-image{display:block;font-size:.85em;opacity:.75;letter-spacing:.5px}.action-bar{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:12px;margin-top:14px;min-height:58px}.action-column{display:flex;flex-direction:column;align-items:center}.odds-slot{display:flex;align-items:center;justify-content:center;min-height:44px;margin-top:12px}.odds-strip{display:flex;align-items:center;gap:8px;font-family:Oswald,sans-serif;font-size:.82rem;letter-spacing:.5px;color:#ffffffd9;background:#00000073;border-radius:20px;padding:4px 16px;border:1px solid transparent}.odds-strip b{color:#fff}.odds-good{border-color:#7fffb080}.odds-good .odds-verdict b{color:#7fffb0}.odds-bad{border-color:#ff999980}.odds-bad .odds-verdict b{color:#f99}.odds-idle{opacity:.65}.odds-sep{color:#ffffff59}.table-status-actions{display:flex;gap:16px;justify-content:center}.pair-rule-hint{color:var(--gold);font-weight:600;white-space:nowrap}.sized-bet{display:flex;align-items:center;gap:12px;background:#00000059;border-radius:12px;padding:8px 12px}.sized-quick{display:flex;gap:6px}.sized-quick button{font-family:Oswald,sans-serif;font-size:.72rem;letter-spacing:.5px;color:#ffffffd9;background:#ffffff1f;border:1px solid rgba(255,255,255,.25);border-radius:6px;padding:4px 9px}.sized-quick button:hover{background:#ffcc0040;border-color:var(--gold)}.sized-bet input[type=range]{width:140px;accent-color:var(--gold)}@media(max-width:767px){.sized-bet{display:contents}.action-bar>.btn{order:2}.sized-bet input[type=range]{order:0;flex:1 1 80px;width:auto;margin:0 2px}.sized-quick{order:1;flex:0 0 auto;gap:6px}.sized-quick button{padding:6px 10px;font-size:.75rem}.sized-bet-disabled>*{opacity:.4;pointer-events:none}}.replay-panel{background:var(--modal-shell);border:2px solid rgba(255,255,255,.25);border-radius:14px;width:min(860px,96vw);max-height:92vh;overflow-y:auto;padding:12px 16px 18px;box-shadow:0 12px 50px #0009}.replay-empty{width:min(440px,92vw);display:flex;align-items:center;gap:14px;color:#ffffffe6}.replay-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;position:relative}.replay-header select{font:inherit;font-size:.85rem;color:#fff;background:#00000059;border:1px solid rgba(255,255,255,.3);border-radius:6px;padding:4px 8px;max-width:45%}.replay-title{font-family:Oswald,sans-serif;letter-spacing:2px;color:var(--gold);font-size:.9rem;position:absolute;left:50%;transform:translate(-50%)}.replay-controls{position:relative;display:flex;align-items:center;justify-content:center;margin-top:12px}.replay-transport{display:flex;align-items:center;gap:8px}.replay-transport button{font-size:1rem;line-height:1;color:#fff;background:#ffffff14;border:1px solid rgba(255,255,255,.25);border-radius:8px;padding:8px 12px;cursor:pointer;min-width:44px}.replay-transport button:hover:not(:disabled){background:#ffffff29}.replay-transport button:disabled{opacity:.35;cursor:default}.replay-transport .replay-play{background:#ffcc002e;border-color:var(--gold);color:var(--gold);font-size:1.1rem}.replay-readout{position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:10px;display:inline-flex;align-items:baseline;gap:10px;white-space:nowrap;font-size:.85rem;color:#ffffffe6;background:#0a1014b8;border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:4px 14px;pointer-events:none}.replay-readout .replay-counter{font-variant-numeric:tabular-nums;color:#fff9}.btn{font-family:Oswald,sans-serif;font-size:1rem;letter-spacing:1px;padding:10px 26px;border-radius:8px;border:2px solid rgba(255,255,255,.5);transition:transform .15s,background .2s}@media(hover:hover){.btn:hover{transform:translateY(-2px)}.btn-passive:hover{background:#fff}.btn-aggressive:hover{background:#ffe566}.btn-declare-spade:hover{background:#a3ffc7}.btn-declare-both:hover{background:#f26066}.btn-fold:hover{background:#ff505040;border-color:#ff6b6b}}.btn:disabled{opacity:.4;cursor:default;pointer-events:none}.btn.btn-ghost:disabled{opacity:.18}.btn.btn-working:disabled{opacity:.72;cursor:default;pointer-events:none;display:inline-flex;align-items:center;gap:3px}.btn.btn-working .tk-dot{background:currentColor}.btn.btn-working .tk-dot:first-of-type{margin-left:4px}.sized-bet-disabled{opacity:.4;pointer-events:none}.btn-passive{background:#ffffffe6;color:#000}.btn-aggressive{background:var(--gold);border-color:var(--gold);color:#000}.btn-fold{background:transparent;color:#fff}.btn-declare-spade{background:#7fffb0;border-color:#7fffb0;color:#000}.btn-declare-both{background:#e5484d;border-color:#e5484d;color:#fff}@media(min-width:768px){.action-bar{--btn-fold-w: 88px;--btn-passive-w: 128px;--btn-aggressive-w: 156px;--action-row-w: calc( var(--btn-fold-w) + var(--btn-passive-w) + var(--btn-aggressive-w) + 24px )}.action-bar>.sized-bet{order:-1;width:100%;max-width:var(--action-row-w);margin:0 auto;box-sizing:border-box}.action-bar:has(>.sized-bet):after{content:"";order:-1;flex:0 0 100%;height:0;margin-top:-12px}.action-bar>.sized-bet input[type=range]{order:0;flex:1 1 auto;width:auto}.action-bar>.sized-bet .sized-quick{order:1;flex:0 0 auto}.action-bar>.btn-fold{min-width:var(--btn-fold-w)}.action-bar>.btn-passive{min-width:var(--btn-passive-w)}.action-bar>.btn-aggressive{min-width:var(--btn-aggressive-w)}.action-bar>.btn.btn-split{min-width:116px}}.header-right{margin-left:auto;display:flex;gap:16px}.update-banner{position:fixed;top:12px;left:50%;transform:translate(-50%);z-index:200;display:flex;align-items:center;gap:10px;max-width:calc(100vw - 24px);background:var(--modal-shell);border:1px solid var(--gold);border-radius:999px;padding:7px 8px 7px 18px;box-shadow:0 8px 30px #0000008c;font-size:.85rem;color:#fff;animation:bannerDrop .25s ease}@keyframes bannerDrop{0%{opacity:0;transform:translate(-50%,-14px)}to{opacity:1;transform:translate(-50%)}}@media(prefers-reduced-motion:reduce){.update-banner{animation:none}}.update-banner-text{white-space:nowrap}.update-reload-btn{background:var(--gold);color:#000;border:none;border-radius:999px;padding:6px 16px;font-weight:600;cursor:pointer}.update-reload-btn:hover{background:#ffe566}.update-dismiss{background:none;border:none;color:#fff9;font-size:1rem;padding:2px 6px;cursor:pointer}.update-dismiss:hover{color:#fff}.install-row{margin-top:16px}.ios-install-hint{display:inline-flex;align-items:center;gap:8px;color:#ffffffb3;font-size:.9rem}.ios-share-glyph{vertical-align:-2px;margin:0 1px}.ios-hint-dismiss{padding:0 4px;opacity:.55}.ios-hint-dismiss:hover{opacity:1}.guide-backdrop{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;padding:16px;z-index:100}.guide-panel{background:var(--modal-shell);border:2px solid rgba(255,255,255,.25);border-radius:14px;max-width:420px;width:100%;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 12px 50px #0009}.guide-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px 10px;border-bottom:1px solid rgba(255,255,255,.15)}.guide-header h2{font-family:Oswald,sans-serif;font-size:1.15rem;letter-spacing:1.5px;text-transform:uppercase}.guide-close{background:none;border:none;color:#fff9;font-size:1.1rem;padding:4px 8px}.guide-close:hover{color:#fff}.guide-body{overflow-y:auto;padding:14px 18px 18px}.config-sheet{background:var(--funnel-shell);border:2px solid rgba(255,255,255,.25);border-radius:14px;max-width:460px;width:100%;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 12px 50px #0009;animation:panelIn .18s ease}.sheet-handle{display:none}.config-sheet-body{overflow-y:auto;padding:18px 18px 6px}.config-sheet-body .structure-toggle{margin:0 auto 18px}.config-sheet-body .stakes-picker{margin:0 auto 8px}.config-sheet-body .stakes-hint{margin:0 auto 18px;max-width:none}.config-sheet-body .setup-row{gap:20px;margin-bottom:18px}.config-sheet-body .mc-toggle{margin-bottom:4px}.sheet-rules-link{text-align:center;margin:10px 0 0}.config-sheet-footer{padding:12px 18px 16px;border-top:1px solid rgba(255,255,255,.15)}.config-sheet-footer .btn-start{width:100%}@keyframes panelIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes sheetUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.config-sheet{animation:none}}.guide-section{margin-bottom:20px}.guide-section:last-child{margin-bottom:0}.guide-section-title{font-family:Oswald,sans-serif;font-size:1rem;letter-spacing:.5px;text-transform:uppercase;color:#fff;margin-bottom:12px;padding-bottom:6px;border-bottom:1px solid rgba(255,255,255,.15)}.guide-row{margin-bottom:14px}.guide-title{font-family:Oswald,sans-serif;font-size:.9rem;letter-spacing:1px;margin-bottom:6px;color:var(--gold)}.guide-row-desc{font-size:.8rem;line-height:1.4;color:#ffffffad;margin-bottom:6px}.guide-cards{display:flex;gap:5px}.guide-cards img{width:45px;height:63px;border-radius:4px;box-shadow:1px 2px 5px #00000080}.guide-note{color:#ffffffa6;font-size:.82rem;line-height:1.5;margin-top:6px}.build-line{margin:18px 0 0;padding-top:12px;border-top:1px solid rgba(255,255,255,.1);color:#ffffff6b;font-size:.72rem;line-height:1.5;overflow-wrap:anywhere;cursor:pointer;-webkit-user-select:text;user-select:text}@media(hover:hover){.build-line:hover{color:#ffffff9e}}.rules-para{color:#ffffffe6;font-size:.92rem;line-height:1.55;margin:0 0 12px}.rules-para+.guide-note{border-top:1px solid rgba(255,255,255,.12);padding-top:12px}.rules-link{margin-top:10px;font-size:.85rem}.rules-link a{color:var(--gold);text-decoration:none}.rules-link a:hover{text-decoration:underline}.recap-winner{border:1px solid rgba(127,255,176,.45);border-radius:12px;padding:10px 14px;margin-bottom:12px;text-align:center}.recap-winner-line{font-family:Oswald,sans-serif;font-size:1.05rem;letter-spacing:.5px;color:#7fffb0}.recap-trophy{margin-right:8px}.recap-bucket{font-size:.68rem;letter-spacing:1px;background:var(--gold);color:#1c1c1c;border-radius:8px;padding:1px 7px;margin-left:8px;vertical-align:2px}.recap-hand-name{font-family:Oswald,sans-serif;font-size:1.25rem;color:#fff;margin:4px 0 8px}.recap-cards{display:flex;justify-content:center;gap:5px}.recap-cards img{width:45px;height:63px;border-radius:4px;box-shadow:0 0 8px 2px #ffd54f8c}.recap-winner-low .recap-cards img{box-shadow:0 0 8px 2px #7fffb08c}.recap-all-title{font-family:Oswald,sans-serif;font-size:.9rem;letter-spacing:1px;color:#ffffffa6;text-transform:uppercase;margin:14px 0 8px}.recap-row{display:flex;align-items:center;gap:10px;border:1px solid rgba(255,255,255,.14);border-radius:10px;padding:6px 10px;margin-bottom:6px}.recap-row-won{border-color:#7fffb080}.recap-row-won .recap-row-name{color:#7fffb0}.recap-row-label{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:1px}.recap-row-name{font-family:Oswald,sans-serif;letter-spacing:.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recap-row-hand{color:#ffffffbf;font-size:.78rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recap-row-declaration{color:var(--gold);font-size:.72rem;font-weight:600}.recap-row-cards{display:flex;gap:2px;flex-shrink:0}.recap-row-cards img{width:26px;height:36.4px;border-radius:3px;box-shadow:1px 1px 3px #00000080}.recap-dim{opacity:.35}.recap-footer{padding:12px 20px calc(14px + env(safe-area-inset-bottom));border-top:1px solid rgba(255,255,255,.15);display:flex;justify-content:center}.recap-footer .btn{min-width:220px}@media(max-width:767px){.app{padding:8px 8px 0;display:flex;flex-direction:column;min-height:calc(100vh - env(safe-area-inset-top));min-height:calc(100dvh - env(safe-area-inset-top))}.table-status{font-size:.72rem}.table-status>span{white-space:nowrap;min-width:0;overflow:hidden;text-overflow:ellipsis}.table-image{display:none}.app-header{flex-wrap:wrap;justify-content:center;row-gap:2px}.header-right{flex-basis:100%;justify-content:center;flex-wrap:wrap;gap:12px;margin:0}.review-btn{display:none}html.in-game,html.in-game body{overscroll-behavior:none}html.in-game body{position:fixed;inset:0;overflow:hidden}html.in-game .app{height:calc(100vh - env(safe-area-inset-top));height:calc(100dvh - env(safe-area-inset-top));min-height:0;overflow-y:auto;overscroll-behavior:contain}.link-btn{font-size:.8rem}.config-sheet-backdrop{align-items:flex-end;padding:0}.config-sheet{max-width:none;border-radius:16px 16px 0 0;border-bottom:none;max-height:90vh;animation:sheetUp .24s ease}.sheet-handle{display:block;width:40px;height:4px;background:#ffffff4d;border-radius:2px;margin:8px auto 0}.felt-table{flex:1 1 auto;min-height:280px;max-height:115vw;border-radius:48px;border-width:8px}.opps .seat{width:calc(var(--card-w) * 3.15)}.felt-table[data-hole="4"] .opps .seat{width:calc(var(--card-w) * 2.75)}.felt-table[data-cards=md] .opps .seat{width:calc(var(--card-w) * 3.25)}.felt-table[data-cards=sm] .opps .seat{width:calc(var(--card-w) * 3.85)}.opps .seat-info-anchor{width:auto;max-width:100%;min-width:0}.opps .seat-info{max-width:100%;min-width:0}.opps .seat-name{display:block;overflow:hidden;text-overflow:ellipsis;min-width:0}.opps .seat-stack{flex-shrink:0}.seat-info{padding:3px 8px}.bet-row{position:absolute;bottom:-30px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:5px;white-space:nowrap}.seat-opp[data-side=left] .bet-row:has(.chip-stack){left:0;transform:none}.seat-opp[data-side=right] .bet-row:has(.chip-stack){left:auto;right:0;transform:none}.seat-opp[data-ring=top][data-side=left] .bet-row:has(.chip-stack){left:auto;right:0;transform:none}.seat-opp[data-ring=top][data-side=right] .bet-row:has(.chip-stack){right:auto;left:0;transform:none}.seat-hero{bottom:34px}.seat-hero .bet-row{bottom:auto;top:calc(100% + 5px)}.bet-row .chip-stack{position:static;transform:none;margin:0}.felt-table:not(.no-board) .seat-opp[data-ring=side] .bet-row:has(.chip-stack){bottom:auto;top:calc(100% + 8px);flex-direction:column;align-items:center;row-gap:3px;left:50%;right:auto;transform:translate(-50%)}.felt-table:not(.no-board) .seat-opp[data-ring=side] .seat-info{max-width:calc(var(--card-w) * 2.6)}.board-area{top:52%}.felt-table:not(.no-board) .pot-label{position:absolute;bottom:100%;margin-bottom:6px;left:50%;transform:translate(-50%);z-index:2}.no-board .board-area{top:38%}.felt-table[data-family=draw] .board-area{top:52%}.table-message{max-width:300px;font-size:.85rem}.deck-spot{display:none}.felt-table{--card-base: clamp(34px, 10.5vw, 40px)}.felt-table[data-cards=lg]{--card-scale: .9}.felt-table[data-boards="2"]{--card-scale: .76}.board-row{padding-left:calc(var(--card-w) * .44)}.board-row .card-slot{margin-left:calc(var(--card-w) * -.44)}.felt-table[data-boards="2"] .board-label{display:none;right:auto;left:50%;top:0;transform:translate(-50%);margin:0;z-index:2}.felt-table[data-hole="2"] .seat-opp .seat-cards,.felt-table[data-hole="3"] .seat-opp .seat-cards{gap:0;padding-left:calc(var(--card-w) * .35)}.felt-table[data-hole="2"] .seat-opp .card-slot,.felt-table[data-hole="3"] .seat-opp .card-slot{margin-left:calc(var(--card-w) * -.35)}.felt-table[data-hole="4"] .seat-opp .seat-cards{padding-left:calc(var(--card-w) * .44)}.felt-table[data-hole="4"] .seat-opp .card-slot{margin-left:calc(var(--card-w) * -.44)}.felt-table[data-cards=md] .seat-opp .seat-cards{padding-left:calc(var(--card-w) * .46)}.felt-table[data-cards=md] .seat-opp .card-slot{margin-left:calc(var(--card-w) * -.46)}.felt-table[data-cards=sm] .seat-opp .seat-cards{padding-left:calc(var(--card-w) * .54)}.felt-table[data-cards=sm] .seat-opp .card-slot{margin-left:calc(var(--card-w) * -.54)}.lammer{width:19px;height:19px;font-size:.5rem}.seat-opp .lammers{bottom:-8px;left:-6px}.seat-hero .lammers{top:30%;left:100%;margin-left:6px}.btn{padding:0 8px;flex:1 1 0;max-width:180px;height:52px;display:inline-flex;align-items:center;justify-content:center;line-height:1.15}.btn.btn-compact{font-size:.8rem;letter-spacing:.5px}.table-wrap{flex:1 1 auto;display:flex;flex-direction:column;margin:8px 0 0;max-width:none}.table-wrap>.action-column{margin-top:auto}.action-column{align-items:center}.odds-slot{align-self:stretch;min-height:36px;margin:0 0 8px}.odds-strip{flex:1 1 auto;display:grid;grid-template-columns:1fr 1fr 1fr 1.3fr;column-gap:10px;border-radius:12px;padding:6px 12px}.odds-strip>span{display:flex;flex-direction:column}.odds-strip .odds-sep{display:none}.action-bar{align-self:stretch;margin:0 -8px;background:#0d1114f0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:16px 16px 0 0;padding:14px 16px calc(14px + env(safe-area-inset-bottom));min-height:0;z-index:10}}.setting-row{display:flex;align-items:center;gap:10px;margin-bottom:14px;font-size:.92rem;color:#ffffffd9;cursor:pointer}.setting-row input{accent-color:var(--gold);width:16px;height:16px}.setting-choices span{font-family:Oswald,sans-serif;font-size:.8rem;letter-spacing:1px;text-transform:uppercase;color:#fff9;min-width:72px}.choice{font-family:Oswald,sans-serif;font-size:.8rem;letter-spacing:.5px;text-transform:capitalize;color:#ffffffd9;background:#ffffff1a;border:1px solid rgba(255,255,255,.25);border-radius:6px;padding:4px 12px}.choice.selected{background:#fc03;border-color:var(--gold);color:#fff}@media(max-width:767px){.speed-row{gap:6px}.speed-row .choice{flex:1 1 0;min-width:0;padding:5px 4px;text-align:center}}.cardback-row{align-items:flex-start}.cardback-row>span{margin-top:6px}.cardback-swatches{display:flex;flex-wrap:wrap;gap:7px;flex:1}.cardback-swatch{width:34px;height:48px;padding:0;border-radius:5px;border:1px solid rgba(255,255,255,.25);background-size:cover;background-position:center;background-repeat:no-repeat}.cardback-swatch.selected{box-shadow:0 0 0 2px var(--gold);border-color:var(--gold)}@media(hover:hover){.cardback-swatch:hover{border-color:#fff9}}.floor-swatch{width:30px;height:30px;padding:0;border-radius:50%;border:1px solid rgba(255,255,255,.35);background-size:cover;background-position:center}.floor-swatch.selected{box-shadow:0 0 0 2px var(--gold);border-color:var(--gold)}.floor-swatch-plain{background:radial-gradient(ellipse at 50% 35%,#171c21,#0d1114 75%)}.felt-swatch{width:30px;height:30px;padding:0;border-radius:50%;border:1px solid rgba(255,255,255,.35)}.felt-swatch.selected{box-shadow:0 0 0 2px var(--gold);border-color:var(--gold)}.felt-swatch-green{background:radial-gradient(ellipse at 50% 35%,#1a7a4a,#0f5530)}.felt-swatch-blue{background:radial-gradient(ellipse at 50% 35%,#1f5f8f,#123f5f)}.felt-swatch-red{background:radial-gradient(ellipse at 50% 35%,#c62828,#7a1414)}.felt-swatch-burgundy{background:radial-gradient(ellipse at 50% 35%,#6e2438,#431523)}.felt-swatch-charcoal{background:radial-gradient(ellipse at 50% 35%,#3a3f42,#23272a)}.felt-swatch-navy{background:radial-gradient(ellipse at 50% 35%,#22314f,#141d30)}.stats-heading{font-family:Oswald,sans-serif;font-size:.95rem;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold);margin:20px 0 10px;border-top:1px solid rgba(255,255,255,.15);padding-top:16px}.stats-table{width:100%;border-collapse:collapse;font-size:.85rem}.stats-table th{font-family:Oswald,sans-serif;font-size:.72rem;letter-spacing:1px;text-transform:uppercase;color:#ffffff8c;text-align:left;padding:4px 8px 6px 0}.stats-table td{padding:4px 8px 4px 0;color:#ffffffd9}.stats-table .stats-total td{border-top:1px solid rgba(255,255,255,.2);font-weight:700}.stats-reset{margin-top:10px;font-size:.8rem}.guide-body>.stats-heading:first-child{border-top:none;margin-top:0;padding-top:0}.session-image-read{margin:0 0 4px}.session-image-numbers{margin:0 0 8px;font-size:.92em;color:#ffffffbf}
