:root{color-scheme:dark;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--ace-noir: #0B0D10;--ace-charcoal: #15181E;--ace-smoke: #21262E;--felt-top: #15683B;--felt-launch: #0F5F36;--felt-bottom: #06351F;--felt-rail: #0A2417;--stud-top: #4D2366;--stud-bottom: #1A0A26;--gold: #C8A24B;--gold-hi: #E8D08A;--gold-deep: #8A6A28;--gold-sheen: linear-gradient(135deg, #E8D08A, #C8A24B, #8A6A28);--ink-red: #B11E29;--ink-black: #1A1B22;--win: #34C759;--push: #8A8F98;--loss: #B33A3A;--surrender: #FF9500;--action-positive: #2A9464;--action-negative: #CA5A56;--action-raise: #3E83CF;--action-alt: #8E5DC4;--action-oxblood: #B33A3A;--chip-red: #BF292E;--chip-green: #21854D;--chip-black: #26293B;--chip-purple: #73409E;--chip-gold: #D4A838;--chip-white: #EDEDF2;--line: rgba(255, 255, 255, .08);--muted: #9CA3AF;--text: #F7F2E6;--serif: "New York", ui-serif, Georgia, serif;--rounded: ui-rounded, "SF Pro Rounded", system-ui, sans-serif;--range-cell-min: 28px}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;overflow-x:hidden;background:var(--felt-launch);color:var(--text)}button,input,select{font:inherit}button{color:inherit}button:active,.btn:active,.action-btn:active,.game-card-actions button:active,.hub-card:active{transform:scale(.97)}.app-shell{position:relative;min-height:100dvh;padding-bottom:calc(96px + env(safe-area-inset-bottom));background:var(--ace-noir)}.app-shell:before{content:"";position:fixed;z-index:31;top:0;left:0;right:0;height:env(safe-area-inset-top);background:var(--ace-noir);pointer-events:none}.app-shell.game-shell{padding-bottom:0}.view-stack{min-width:0}.view-stack>.screen{animation:screenIn .18s ease-out both}.sidebar{display:none}.screen{width:min(1160px,100%);margin:0 auto;padding:calc(16px + env(safe-area-inset-top)) 14px calc(132px + env(safe-area-inset-bottom))}.hub-screen{display:grid;gap:14px}.hub-header,.screen-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.hub-header p,.screen-header p,.eyebrow,.fine-print{margin:0;color:var(--muted);font-size:.78rem}.hub-header h1,.screen-header h1{margin:2px 0 0;font-family:var(--serif);font-size:clamp(1.55rem,7vw,2.45rem);letter-spacing:0}.brand{display:flex;align-items:center;gap:12px;min-height:50px}.brand img{width:42px;height:42px;border-radius:12px}.brand strong,.brand span{display:block}.brand strong{font-family:var(--serif);color:var(--gold)}.brand span{color:var(--muted);font-size:.78rem}.bottom-nav{position:fixed;z-index:35;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));min-height:calc(66px + env(safe-area-inset-bottom));padding:8px 10px calc(8px + env(safe-area-inset-bottom));border-top:1px solid rgba(255,255,255,.1);background:linear-gradient(180deg,rgba(11,13,16,.98),var(--ace-noir));box-shadow:0 -18px 34px #00000080;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.bottom-nav button{display:grid;place-items:center;gap:3px;min-width:0;border:0;border-radius:12px;background:transparent;color:var(--muted);padding:7px 3px;cursor:pointer;font-size:.72rem;font-weight:750}.bottom-nav button.active{background:#c8a24b24;color:var(--gold-hi)}.balance-bar,.level-bar,.daily-card,.analytics-panel,.hand-panel,.drill-card,.poker-panel,.coach-panel,.control-panel,.room-panel,.counting-controls,.counting-table,.welcome-back-card,.offline-panel,.settings-list label,.setting-row,.preset-card,.mistake-list article,.quiz-strip{border:1px solid var(--line);border-radius:12px;background:var(--ace-charcoal)}.balance-bar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;overflow:visible}.balance-bar>div{display:grid;gap:4px;padding:14px;background:#ffffff08}.balance-bar>div:first-child{border-radius:11px 0 0 11px}.balance-bar>div:last-child{border-radius:0 11px 11px 0}.balance-bar span,.level-bar span,.daily-card p{color:var(--muted);font-size:.78rem}.balance-bar strong{width:108px;font-family:var(--rounded);font-variant-numeric:tabular-nums;color:var(--gold);font-size:1.2rem;white-space:nowrap}.level-bar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:13px 14px}.level-bar>div:first-child{display:grid;gap:2px;min-width:0}.level-bar>div:first-child strong,.level-bar>div:first-child span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.level-bar strong,.stat strong,.copy-row strong,.seat-stats,.result-headline span{font-family:var(--rounded);font-variant-numeric:tabular-nums}.level-track{height:7px;overflow:hidden;border-radius:999px;background:#ffffff21}.level-track span{display:block;height:100%;border-radius:inherit;background:var(--gold-sheen)}.streak-pill{display:flex;align-items:center;gap:5px;color:#ff9500}.daily-card{display:grid;gap:10px;padding:14px;background:linear-gradient(180deg,var(--ace-charcoal),var(--ace-noir));border-color:#c8a24b40}.daily-card>div:first-child{display:flex;align-items:center;gap:8px;color:var(--gold);font-weight:800}.daily-card>div:first-child strong{margin-left:auto}.daily-card h2{margin:0;font-size:1rem}.game-launch-grid,.hub-card-grid,.analytics-grid,.drill-layout,.poker-grid{display:grid;gap:12px}.game-card{display:grid;gap:14px;border-radius:20px;padding:18px;overflow:hidden;border:1px solid rgba(255,255,255,.15);box-shadow:0 16px 32px #00000057}.game-card.bj{background:linear-gradient(135deg,#195f3e,#06351f)}.game-card.holdem{background:linear-gradient(135deg,#1b4e84,#071a3d)}.game-card.stud{background:linear-gradient(135deg,var(--stud-top),var(--stud-bottom))}.game-card-main{display:flex;align-items:center;gap:14px}.game-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:16px;background:#ffffff29}.game-card h2{margin:0 0 4px;font-size:1.35rem}.game-card p{margin:0;color:#ffffffc7;font-size:.84rem}.game-card-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.game-card-actions button,.gold-button{min-height:42px;border:0;border-radius:999px;background:#ffffff38;color:#fff;cursor:pointer;font-weight:850}.game-card-actions button:last-child{background:transparent;border:1px solid rgba(255,255,255,.55)}.game-card-actions button:disabled{opacity:.48;cursor:not-allowed}.hub-card{display:grid;gap:8px;min-height:128px;border:1px solid var(--line);border-radius:12px;background:var(--ace-charcoal);color:var(--text);padding:16px;text-align:left;cursor:pointer}.hub-card svg,.panel-title{color:var(--gold)}.hub-card strong{font-size:1.05rem}.hub-card span{color:var(--muted);font-size:.82rem}.stats-strip,.mini-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:10px}.stat{min-width:0;border:1px solid var(--line);border-radius:12px;background:#15181ee6;padding:10px}.stat span{display:block;color:var(--muted);font-size:.7rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat strong{display:block;width:100%;margin-top:4px;font-size:.95rem;white-space:nowrap;overflow:visible}.rolling-money{position:relative;display:inline-flex;align-items:center;justify-content:flex-start;width:100%;max-width:100%;min-width:0;min-height:1.25em;padding:0;border:0;border-radius:6px;background:transparent;color:inherit;font:inherit;font-variant-numeric:tabular-nums;text-align:inherit;white-space:nowrap;cursor:pointer;-webkit-tap-highlight-color:transparent}.rolling-money:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.rolling-money-value{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;transition:transform .12s ease}.rolling-money:active .rolling-money-value{transform:scale(.96)}.money-reveal{position:absolute;z-index:25;left:50%;top:calc(100% + 8px);width:max-content;max-width:min(78vw,340px);padding:6px 9px;border:1px solid rgba(232,208,138,.45);border-radius:999px;background:#0b0d10f5;box-shadow:0 12px 28px #0006;color:var(--gold-hi);font-size:.76rem;font-weight:850;line-height:1.15;overflow-wrap:anywhere;pointer-events:none;white-space:normal;transform:translate(-50%);animation:moneyRevealIn .16s ease both}.result-headline .rolling-money{justify-content:center}.balance-bar>div:first-child .money-reveal,.stats-strip .stat:first-child .money-reveal,.mini-grid .stat:first-child .money-reveal{left:0;transform:translate(0);animation-name:moneyRevealEdgeIn}.balance-bar>div:last-child .money-reveal,.stats-strip .stat:last-child .money-reveal,.mini-grid .stat:last-child .money-reveal{right:0;left:auto;transform:translate(0);animation-name:moneyRevealEdgeIn}.stat.good strong{color:var(--win)}.stat.bad strong{color:var(--loss)}.stat.gold strong{color:var(--gold)}.table-screen{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;gap:8px;height:calc(100dvh - 70px - env(safe-area-inset-bottom));min-height:0;overflow:hidden;padding:calc(8px + env(safe-area-inset-top)) 10px 8px}.table-screen .screen-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;margin:0}.table-screen .screen-header>div{min-width:0}.table-screen .screen-header p{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.66rem}.table-screen .screen-header h1{margin:0;font-size:1.34rem;line-height:1.05}.header-actions,.settings-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:flex-end}.mode-toggle{display:inline-grid;grid-template-columns:repeat(2,36px);gap:4px;min-height:34px;border:1px solid var(--line);border-radius:10px;background:#00000059;padding:3px}.mode-toggle button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:8px;background:transparent;color:var(--muted);padding:0;cursor:pointer}.mode-toggle button span{display:none}.mode-toggle button.active{background:#c8a24b2e;color:var(--gold-hi)}.felt{position:relative;display:grid;grid-template-rows:auto minmax(108px,1fr) auto auto;gap:8px;min-height:0;border-radius:16px;padding:12px;overflow:hidden;background:radial-gradient(circle at 50% 20%,rgba(21,104,59,.98),rgba(6,53,31,.98) 54%,var(--felt-rail) 100%);box-shadow:inset 0 0 0 10px #0a24176b,inset 0 -42px 84px #00000047,0 18px 36px #0000005c}.felt-legend{position:absolute;inset:50% 0 auto;transform:translateY(-50%);text-align:center;font-family:var(--serif);font-size:13px;font-weight:900;letter-spacing:3px;color:#ffffff24;pointer-events:none}.blackjack-legend{position:relative;inset:auto;z-index:1;transform:none;width:max-content;max-width:100%;color:#ffffff2e}.felt-row{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.dealer-label{min-width:42px}.felt-row h2{margin:1px 0 0;font-family:var(--serif);font-size:1.7rem}.felt-midline{position:relative;z-index:2;display:grid;align-content:center;justify-items:center;gap:7px;min-height:108px;padding:0 58px 0 4px}.felt-option-stack{position:absolute;top:50%;right:0;display:grid;gap:5px;transform:translateY(-50%)}.felt-option-stack button{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:28px;width:54px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:#00000047;color:#ffffff9e;font-size:.54rem;font-weight:850;line-height:1;padding:0 5px}.felt-option-stack button.active{border-color:#c8a24b85;background:#c8a24b29;color:var(--gold-hi)}.felt-option-stack button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.felt-assist-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(82px,1fr));gap:6px;width:min(100%,346px)}.felt-assist-card,.felt-auto-play-btn{display:grid;gap:2px;min-width:0;min-height:48px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:#0000003d;padding:7px 9px}.felt-auto-play-btn{align-content:center;justify-items:center;cursor:pointer;color:var(--gold-hi);font-weight:900;line-height:1.05}.felt-auto-play-btn svg{width:15px;height:15px}.felt-assist-card span,.felt-assist-card small,.felt-auto-play-btn span{min-width:0;overflow:hidden;color:#ffffffa3;text-overflow:ellipsis;white-space:nowrap;font-size:.6rem}.felt-auto-play-btn span{max-width:100%;color:var(--gold-hi);font-size:.62rem;font-weight:900}.felt-assist-card strong{min-width:0;overflow:hidden;color:#fff8dc;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;line-height:1.05}.felt-assist-card.count strong{color:var(--gold-hi);font-family:var(--rounded);font-variant-numeric:tabular-nums}.felt-auto-play-btn:disabled{opacity:.48;cursor:not-allowed}.card-row{--card-width: clamp(56px, 18vw, 84px);display:flex;flex-wrap:nowrap;gap:6px;align-items:center;max-width:100%;min-width:0}.card-row.compact{--card-width: clamp(38px, 13.4vw, 56px);gap:0}.card-row.compact.count-4{--card-width: clamp(38px, 12.8vw, 52px)}.card-row.compact.count-5{--card-width: clamp(32px, 10.8vw, 46px)}.card-row.compact.count-6,.card-row.compact.count-7{--card-width: clamp(29px, 9.2vw, 39px)}.card-row.compact .deal-slot+.deal-slot{margin-left:-14px}.card-row.compact.count-5 .deal-slot+.deal-slot{margin-left:-16px}.card-row.compact.count-6 .deal-slot+.deal-slot,.card-row.compact.count-7 .deal-slot+.deal-slot{margin-left:-17px}.deal-slot{display:inline-block;flex:0 0 auto;animation:dealIn var(--deal-duration, .35s) cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--deal-index, 0) * var(--deal-stagger, 60ms))}.card-flip{position:relative;width:var(--card-width);aspect-ratio:1 / 1.45;transform-style:preserve-3d;-webkit-transform-style:preserve-3d;transition:transform .45s ease-in-out;will-change:transform}.card-flip.small{width:var(--card-width)}.card-flip.face-up{transform:rotateY(180deg)}.card{position:absolute;inset:0;display:grid;place-items:center;border-radius:13%;-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden}.card-flip.face-up .card-back{visibility:hidden}.card-flip:not(.face-up) .card-front{visibility:hidden}.card-front{background:linear-gradient(135deg,#fff,#edefed);border:1px solid rgba(0,0,0,.1);box-shadow:0 4px 12px #00000059;color:var(--ink-black);transform:rotateY(180deg)}.card-front.red{color:var(--ink-red)}.card-back{background:linear-gradient(135deg,var(--felt-rail),var(--ace-noir));box-shadow:0 4px 12px #00000059}.card-back:before,.card-back:after{content:"";position:absolute;border-radius:10%;pointer-events:none}.card-back:before{inset:6%;border:max(1px,.028em) solid rgba(200,162,75,.65)}.card-back:after{inset:13%;border:1px solid rgba(200,162,75,.3)}.corner{position:absolute;display:grid;justify-items:center;gap:0;line-height:.9;font-family:var(--serif);font-weight:900}.corner b{font-size:clamp(.44rem,calc(var(--card-width) * .22),.78rem)}.corner i{font-style:normal;font-size:clamp(.4rem,calc(var(--card-width) * .2),.72rem)}.corner.top{top:7%;left:8%}.corner.bottom{right:8%;bottom:7%;transform:rotate(180deg)}.center-pip{font-family:var(--serif);font-size:clamp(.82rem,calc(var(--card-width) * .5),1.75rem);line-height:1;opacity:.92}.player-zone{position:relative;z-index:1;display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:8px;align-items:end;min-height:0;overflow:hidden}.player-zone.compact{grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:5px;align-content:end}.hand-panel{padding:10px;background:#ffffff14;min-width:0;overflow:hidden}.player-zone.compact .hand-panel{padding:7px}.player-zone.compact .card-row.compact.count-3{--card-width: 41px}.player-zone.compact .card-row.compact.count-4{--card-width: 35px}.player-zone.compact .card-row.compact.count-5{--card-width: 30px}.player-zone.compact .card-row.compact.count-6{--card-width: 28px}.player-zone.compact .card-row.compact.count-7{--card-width: 26px}.player-zone.compact .card-row.compact .deal-slot+.deal-slot{margin-left:-14px}.player-zone.compact .card-row.compact.count-3 .deal-slot+.deal-slot,.player-zone.compact .card-row.compact.count-4 .deal-slot+.deal-slot{margin-left:-15px}.player-zone.compact .card-row.compact.count-5 .deal-slot+.deal-slot,.player-zone.compact .card-row.compact.count-6 .deal-slot+.deal-slot{margin-left:-10px}.player-zone.compact .card-row.compact.count-7 .deal-slot+.deal-slot{margin-left:-12px}.hand-panel.active{box-shadow:0 0 0 2.5px var(--gold)}.hand-meta{display:flex;justify-content:space-between;gap:8px;margin-bottom:7px;color:var(--muted);font-size:.78rem}.player-zone.compact .hand-meta{margin-bottom:5px;font-size:.7rem}.hand-meta strong{color:var(--text)}.empty-table{display:grid;place-items:center;min-height:120px;opacity:.62}.empty-table img{width:82px;height:82px;border-radius:18px}.table-message{position:relative;z-index:2;min-height:22px;color:#fff8dc;font-size:.84rem;font-weight:750;text-align:center;overflow-wrap:anywhere}.result-flash{position:absolute;inset:0;pointer-events:none;animation:resultFlash .72s ease-out both}.result-flash.blackjack{background:radial-gradient(circle at center,rgba(232,208,138,.46),transparent 58%)}.result-flash.win{background:radial-gradient(circle at center,rgba(52,199,89,.38),transparent 58%)}.result-flash.lose{background:radial-gradient(circle at center,rgba(179,58,58,.42),transparent 58%)}.result-flash.push{background:radial-gradient(circle at center,rgba(138,143,152,.34),transparent 58%)}.result-headline{position:absolute;z-index:3;left:50%;top:50%;display:grid;justify-items:center;gap:2px;transform:translate(-50%,-50%);padding:10px 14px;border-radius:14px;background:#0000008f;animation:headlineIn .42s cubic-bezier(.2,.8,.2,1) both}.result-headline strong{font-family:var(--serif);font-size:clamp(1.7rem,9vw,2.55rem);font-weight:950}.result-headline.blackjack strong,.result-headline.win strong{color:transparent;background:var(--gold-sheen);-webkit-background-clip:text;background-clip:text;filter:drop-shadow(0 0 12px rgba(232,208,138,.65))}.result-headline.lose strong{color:#fdd}.result-headline.push strong{color:#e7e9ee}.result-pill{display:inline-flex;align-items:center;gap:5px;margin-top:8px;border-radius:999px;padding:4px 8px;background:#ffffff1a;font-size:.72rem}.result-pill .rolling-money{width:62px;justify-content:flex-end}.result-pill.win,.result-pill.blackjack{color:var(--win)}.result-pill.lose,.result-pill.surrender{color:var(--loss)}.control-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;margin-top:0;min-height:0}.control-panel{display:grid;grid-template-columns:minmax(0,1fr);gap:7px;align-items:stretch;padding:9px;min-height:0}.bet-controls{display:grid;grid-template-columns:minmax(86px,108px) minmax(0,1fr);align-items:center;gap:8px}.bet-readout{display:grid;gap:2px;min-height:48px;border:1px solid var(--line);border-radius:12px;background:#00000047;padding:7px 10px}.bet-readout span{color:var(--muted);font-size:.72rem}.bet-readout strong{width:62px;color:var(--gold);font-family:var(--rounded);font-variant-numeric:tabular-nums;font-size:1rem}.dealing-lock{display:grid;place-items:center;min-height:42px;border-radius:10px;background:#ffffff0f;color:var(--muted);font-weight:850}label{display:grid;gap:6px}label span{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:.82rem}input,select{width:100%;min-height:42px;border:1px solid var(--line);border-radius:10px;background:#00000057;color:var(--text);padding:0 12px}input[type=range]{accent-color:var(--gold)}.chip-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;align-self:stretch}.bet-chip{position:relative;display:grid;place-items:center;width:32px;height:32px;justify-self:center;align-self:center;border:0;border-radius:50%;background:var(--chip-red);color:#fff;box-shadow:0 5px 10px #00000052;cursor:pointer}.bet-chip:nth-child(2){background:var(--chip-green)}.bet-chip:nth-child(3){background:var(--chip-black)}.bet-chip:nth-child(4){background:var(--chip-purple)}.bet-chip:nth-child(5){background:var(--chip-gold);color:#241800}.bet-chip:before{content:"";position:absolute;inset:5px;border:1.5px dashed rgba(255,255,255,.85);border-radius:50%}.bet-chip span{position:relative;z-index:1;font-size:9px;font-weight:900}.bet-chip:disabled{opacity:.5}.btn,.file-btn,.icon-toggle{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;border:1px solid transparent;border-radius:10px;padding:0 14px;cursor:pointer;font-weight:850;white-space:nowrap}.table-screen .screen-header .btn span{display:none}.control-panel .btn{width:100%}.control-panel .btn span{display:inline}.btn.primary{background:var(--gold-sheen);color:var(--ace-noir)}.btn.secondary,.file-btn,.icon-toggle{background:#ffffff14;border-color:var(--line)}.btn.danger{background:#b33a3a2e;color:#ffd4d4;border-color:#b33a3a6b}.icon-toggle{width:36px;min-height:36px;padding:0;color:var(--muted)}.icon-toggle.active{color:var(--gold-hi);border-color:#c8a24b6b;background:#c8a24b26}.action-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;width:100%}.action-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.action-grid.side-actions{grid-template-columns:repeat(4,minmax(0,1fr))}.action-btn,.category-grid button{min-height:42px;border:0;border-radius:10px;background:var(--action-positive);color:#fff;cursor:pointer;font-size:clamp(.64rem,2.8vw,.82rem);font-weight:900;line-height:1;min-width:0;padding:0 5px;white-space:nowrap;overflow:hidden}.action-stand{background:var(--action-negative)}.action-double{background:var(--action-raise)}.action-hit{background:var(--action-positive)}.action-split{background:var(--action-alt)}.action-surrender{background:var(--action-oxblood)}.action-btn.recommended{box-shadow:0 0 0 2.5px var(--gold),0 0 16px #c8a24b61}.stand-main-btn{width:100%;min-height:46px;font-size:clamp(.95rem,4.4vw,1.16rem)}.btn:disabled,.action-btn:disabled{background:var(--ace-smoke);color:#ffffff80;opacity:1;cursor:not-allowed;box-shadow:none}.coach-panel{display:none;padding:12px}.panel-title{display:flex;align-items:center;gap:8px;font-weight:850}.coach-panel h3{margin:10px 0 5px;font-family:var(--serif);font-size:1.35rem}.coach-panel p,.poker-panel p,.drill-card p,.preset-card p{color:#d7dbe0}.coach-open-btn{grid-column:1 / -1;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;border:1px solid rgba(200,162,75,.7);border-radius:10px;background:var(--gold-sheen);color:var(--ace-noir);cursor:pointer;font-weight:850}.auto-play-btn{grid-column:1 / -1;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;border:1px solid rgba(62,131,207,.9);border-radius:10px;background:var(--action-raise);color:#fff;cursor:pointer;font-weight:850}.auto-play-btn:disabled{background:var(--ace-smoke);color:#ffffff80;cursor:not-allowed}.auto-play-overlay{position:fixed;z-index:34;left:50%;top:50%;display:grid;justify-items:center;gap:7px;width:min(280px,calc(100vw - 40px));transform:translate(-50%,-50%);border:1px solid rgba(200,162,75,.32);border-radius:18px;background:#000000b8;padding:18px;box-shadow:0 22px 52px #0000008c;text-align:center}.auto-play-overlay strong{color:var(--gold-hi);font-family:var(--serif);font-size:1.12rem}.auto-play-overlay span{font-family:var(--rounded);font-variant-numeric:tabular-nums;font-weight:900}.auto-play-overlay small{color:var(--muted);font-size:.75rem}.auto-spinner{width:32px;height:32px;border:3px solid rgba(255,255,255,.18);border-top-color:var(--gold);border-radius:50%;animation:spin .86s linear infinite}.coach-review{display:grid;gap:6px;margin-top:12px;border-radius:10px;background:#ffffff0f;padding:10px}.coach-review strong{color:var(--gold);font-size:.82rem}.coach-review span{color:var(--muted);font-size:.78rem}.sheet-backdrop{position:fixed;z-index:36;inset:0;display:grid;align-items:end;background:#0000007a}.coach-sheet{display:grid;gap:12px;width:100%;max-height:min(74dvh,620px);overflow-y:auto;border:1px solid rgba(255,255,255,.14);border-radius:20px 20px 0 0;background:var(--ace-charcoal);padding:10px 14px calc(18px + env(safe-area-inset-bottom));box-shadow:0 -22px 44px #00000073;animation:sheetIn .22s cubic-bezier(.2,.8,.2,1) both}.sheet-handle{justify-self:center;width:44px;height:5px;border-radius:999px;background:#ffffff38}.sheet-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.sheet-title button{min-height:34px;border:1px solid var(--line);border-radius:999px;background:#ffffff14;color:var(--muted);padding:0 12px;cursor:pointer;font-weight:850}.odds{display:grid;gap:7px;margin-top:10px}.odds>span{color:var(--muted);font-size:.78rem}.odds div{position:relative;isolation:isolate;overflow:hidden;border-radius:8px;background:#ffffff12;padding:7px 9px;font-size:.82rem}.odds div:before{content:"";position:absolute;z-index:-1;inset:0 auto 0 0;width:var(--w);background:#34c7592e}.online-start{display:grid;min-height:0;align-items:start}.online-start .room-panel,.room-panel{display:grid;gap:10px;padding:12px}.online-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end}.online-seats{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.online-seat{min-height:120px}.seat-empty{display:grid;place-items:center;min-height:58px;border:1px dashed rgba(255,255,255,.2);border-radius:10px;color:var(--muted);font-size:.78rem}.seat-stats{display:flex;justify-content:space-between;gap:8px;color:var(--muted);font-size:.78rem;margin-top:6px}.seat-stats span{display:inline-flex;width:62px}.seat-stats .rolling-money{justify-content:flex-end}.online-action-stack{display:flex;flex-wrap:wrap;gap:8px;align-items:end}.copy-row{display:grid;grid-template-columns:minmax(0,1fr) 42px;gap:8px;align-items:center}.copy-row strong,.copy-row .room-code-value{display:grid;place-items:center;min-height:42px;border:1px solid rgba(200,162,75,.34);border-radius:10px;background:#c8a24b1f;color:var(--gold);font-size:1.18rem;font-weight:850;letter-spacing:.08em;user-select:all;-webkit-user-select:all}.copy-row .room-code-value{width:100%;cursor:text}.copy-row .room-code-value:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.copy-row button{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--line);border-radius:10px;background:#ffffff14;cursor:pointer}.preset-grid,.category-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.preset-card{min-height:150px;color:var(--text);padding:16px;text-align:left;cursor:pointer}.preset-card.selected{border-color:var(--gold);box-shadow:0 0 0 2px #c8a24b40}.preset-card span{color:var(--gold);font-size:.78rem}.preset-card strong{display:block;margin:10px 0 8px}.chart-band{margin-top:14px}.chart-band h2{margin:0 0 10px;font-family:var(--serif)}.strategy-grid{display:grid;grid-template-columns:minmax(38px,.85fr) repeat(var(--dealer-count),minmax(22px,1fr));gap:4px;width:100%;min-width:0}.strategy-grid>*{display:grid;place-items:center;min-height:34px;border-radius:7px;background:var(--ace-charcoal);font-size:clamp(.66rem,2.5vw,.82rem)}.strategy-cell.h{background:#3e83cf47}.strategy-cell.s{background:#2a946447}.strategy-cell.d{background:#c8a24b4d}.strategy-cell.p{background:#8e5dc44d}.versus{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:16px 0}.counting-layout{display:grid;gap:12px}.counting-table{position:relative;display:grid;align-content:center;justify-items:center;gap:14px;min-height:330px;overflow:hidden;padding:18px;background:radial-gradient(circle at 50% 22%,var(--felt-top),var(--felt-bottom) 720px);box-shadow:inset 0 0 0 10px #0a241747}.count-card-stage{display:grid;place-items:center;min-height:132px}.count-card-stage .card-flip{width:clamp(72px,22vw,104px)}.count-card-empty{position:relative;display:grid;place-items:center;width:clamp(72px,22vw,104px);aspect-ratio:1 / 1.45;border:1px solid rgba(200,162,75,.36);border-radius:13%;background:linear-gradient(135deg,var(--felt-rail),var(--ace-noir));font-family:var(--serif);font-size:2.6rem;font-weight:950;color:transparent}.count-card-empty:after{content:"A";background:var(--gold-sheen);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-stroke:1px rgba(200,162,75,.68)}.count-strip{display:flex;justify-content:center;gap:4px;min-height:56px;width:100%}.counting-table p{max-width:420px;margin:0;color:#ffffffc2;text-align:center}.counting-controls{display:grid;gap:12px;padding:14px}.count-input-row{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;gap:6px;align-items:stretch}.count-stepper{display:grid;place-items:center;min-height:42px;border:1px solid rgba(200,162,75,.34);border-radius:10px;background:#c8a24b29;color:var(--gold-hi);cursor:pointer;font-family:var(--rounded);font-size:1.15rem;font-weight:950}.count-stepper:active{transform:scale(.97)}.count-result{display:flex;justify-content:space-between;gap:12px;border-radius:10px;padding:10px 12px;background:#ffffff12}.count-result.correct strong{color:var(--win)}.count-result.wrong strong{color:var(--loss)}.count-result span{color:var(--muted)}.count-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.drill-card,.poker-panel,.analytics-panel,.reference-panel{display:grid;gap:12px;padding:14px}.reference-grid,.rank-list,.outs-list{display:grid;gap:12px}.reference-panel{border:1px solid var(--line);border-radius:12px;background:#15181eeb}.reference-panel>p{margin:0;color:var(--muted);line-height:1.45}.reference-row{display:grid;gap:8px;min-width:0;padding:10px;border-radius:12px;background:#ffffff0e;overflow:hidden}.reference-row-meta{display:flex;align-items:baseline;justify-content:space-between;gap:10px;min-width:0}.reference-row-meta strong{min-width:0;overflow-wrap:anywhere}.reference-row-meta span{flex:0 0 auto;color:var(--gold-hi);font-size:.78rem;font-variant-numeric:tabular-nums;font-weight:850}.reference-row .card-row{justify-content:flex-start}.outs-rule .mini-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:0}.poker-table-grid{display:grid;gap:12px}.poker-table-grid.single{justify-content:center}.poker-felt{overflow:hidden;background:radial-gradient(circle at 50% 22%,var(--felt-top),var(--felt-bottom) 720px);box-shadow:inset 0 0 0 8px #0a24174d}.stud-felt{background:radial-gradient(circle at 50% 22%,var(--stud-top),var(--stud-bottom) 720px);box-shadow:inset 0 0 0 8px #1a0a2661}.holdem-table,.stud-table{display:grid;gap:12px;min-height:292px;align-content:space-between}.opponent-ring{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.opponent-seat,.community-zone,.hero-rail,.stud-hero,.stud-upcards,.stud-seat,.dead-card-rail{border-radius:12px;background:#00000052;padding:10px}.opponent-seat{min-height:54px;display:grid;place-items:center;gap:2px;text-align:center}.opponent-seat.folded{opacity:.52}.opponent-seat span,.opponent-seat strong,.opponent-seat small,.stack-pill,.pot-chip,.stud-street-pill{font-family:var(--rounded);font-variant-numeric:tabular-nums}.opponent-seat span{color:var(--muted);font-size:.62rem}.opponent-seat strong{font-size:.72rem}.opponent-seat small{max-width:100%;overflow:hidden;color:#ffffffa3;font-size:.6rem;text-overflow:ellipsis;white-space:nowrap}.seat-meta{display:inline-flex;align-items:center;justify-content:center;gap:4px;max-width:100%}.seat-meta b,.seat-meta i{display:inline-grid;place-items:center;min-width:22px;border-radius:999px;background:#ffffff1a;color:var(--text);padding:2px 5px;font-style:normal;line-height:1;white-space:nowrap}.seat-meta i{background:#c8a24b33;color:var(--gold-hi)}.hero-seat-line{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.hidden-card-row .card-flip.small{width:24px}.stud-opponent-ring{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.stud-seat{display:grid;gap:7px;min-width:0;opacity:1}.stud-seat.folded{opacity:.48}.stud-seat>span{overflow:hidden;color:var(--muted);font-size:.66rem;text-overflow:ellipsis;white-space:nowrap}.stud-seat .card-row{gap:4px}.stud-advice{background:#8e5dc42e}.community-zone{display:grid;justify-items:center;gap:8px}.pot-chip,.stack-pill,.stud-street-pill{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:30px;border-radius:999px;background:#c8a24b2e;color:var(--gold-hi);padding:0 10px;font-weight:850;font-size:.78rem}.pot-chip .rolling-money,.stack-pill .rolling-money{width:62px;justify-content:flex-end}.hero-rail{display:flex;align-items:center;justify-content:space-between;gap:12px}.hero-poker-pills{display:grid;gap:6px}.empty-card-slot{width:clamp(45px,15.4vw,72px);aspect-ratio:1 / 1.45;border:1px dashed rgba(255,255,255,.2);border-radius:13%;background:#ffffff0d}.empty-card-slot.small{width:38px}.poker-action-bar,.stud-table{display:grid;gap:10px}.bet-size-label{display:inline-grid;grid-template-columns:minmax(0,1fr) 62px;align-items:center;gap:8px}.bet-size-label .rolling-money{justify-content:flex-end}.stud-table .card-row,.dead-card-rail .card-row{flex-wrap:wrap}.stud-street-pill{justify-self:start}.coach-callout{display:grid;gap:4px;border-radius:12px;background:#2a946424;padding:12px}.coach-callout strong,.rank-line{color:var(--win);font-weight:850}.range-toolbar,.quiz-strip{display:grid;grid-template-columns:1fr;gap:10px;margin-bottom:14px}.range-grid{display:grid;gap:4px;margin-bottom:14px}.range-grid span{display:grid;place-items:center;min-width:0;min-height:28px;border-radius:6px;background:#ffffff12;color:var(--muted);font-size:.64rem;font-weight:800}.range-grid span.in-range{background:#2a94644d;color:#eafff5}.quiz-strip h2{min-width:0;overflow-wrap:anywhere}.mistake-list{display:grid;gap:10px}.mistake-list article{min-width:0;overflow:hidden;padding:14px}.mistake-list span,.mistake-list small{color:var(--muted)}.mistake-list strong,.mistake-list p,.mistake-list small{display:block;margin-top:4px;min-width:0;overflow-wrap:anywhere;word-break:break-word}.analytics-grid{grid-template-columns:1fr}.bar-chart{display:flex;align-items:end;gap:7px;height:116px}.bar-chart span{flex:1;border-radius:6px 6px 0 0;background:var(--gold-sheen)}.money-trend{display:grid;gap:8px;margin:10px 0 12px;padding:10px;border:1px solid rgba(200,162,75,.24);border-radius:10px;background:#0000003d}.money-trend-head{display:grid;grid-template-columns:minmax(0,1fr) 108px;align-items:center;gap:10px}.money-trend-head span{min-width:0;color:var(--muted);font-size:.72rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.money-trend-head strong{display:block;color:var(--gold-hi);font-family:var(--rounded);font-size:.86rem;font-variant-numeric:tabular-nums;text-align:right}.money-trend-head .rolling-money{justify-content:flex-end}.money-trend svg{width:100%;height:74px;overflow:visible}.money-trend polyline{fill:none;stroke:var(--gold-hi);stroke-linecap:round;stroke-linejoin:round;stroke-width:3;vector-effect:non-scaling-stroke}.money-trend circle{fill:var(--gold-hi);vector-effect:non-scaling-stroke}.money-trend .trend-zero{stroke:#ffffff2e;stroke-dasharray:4 4;stroke-width:1;vector-effect:non-scaling-stroke}.leader-list{display:grid;gap:10px;padding:0;margin:0;list-style:none}.leader-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;border-radius:10px;background:#ffffff0d;padding:9px 10px}.leader-list li.self{box-shadow:inset 0 0 0 1px #c8a24b61}.leader-list li span,.leader-list li strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.leader-list li small{grid-column:1 / -1;color:var(--muted);font-size:.72rem}.leaderboard-title{display:grid;grid-template-columns:auto minmax(0,1fr) auto}.leaderboard-title small,.analytics-copy span{color:var(--muted);font-size:.72rem}.analytics-copy{display:flex;align-items:center;justify-content:space-between;gap:12px}.analytics-copy strong{color:var(--gold);font-family:var(--rounded);font-variant-numeric:tabular-nums}.segment-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;border:1px solid var(--line);border-radius:10px;background:#0000004d;padding:4px}.segment-row button{min-height:32px;border:0;border-radius:7px;background:transparent;color:var(--muted);cursor:pointer;font-size:.75rem;font-weight:850}.segment-row button.active{background:#c8a24b2e;color:var(--gold-hi)}.mistake-heatmap,.accuracy-breakdown,.achievement-grid{display:grid;gap:8px}.mistake-heatmap div,.accuracy-breakdown div{display:grid;grid-template-columns:76px minmax(0,1fr) 44px 36px;align-items:center;gap:8px}.mistake-heatmap div{grid-template-columns:76px minmax(0,1fr) 32px}.mistake-heatmap span,.mistake-heatmap strong,.accuracy-breakdown span,.accuracy-breakdown strong,.accuracy-breakdown small,.achievement-grid span{font-size:.78rem}.accuracy-breakdown span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.accuracy-breakdown strong,.accuracy-breakdown small{font-family:var(--rounded);font-variant-numeric:tabular-nums;text-align:right}.accuracy-breakdown strong{width:44px;color:var(--gold)}.accuracy-breakdown small{width:36px;color:var(--muted)}.mistake-heatmap i{display:block;height:9px;border-radius:999px;background:linear-gradient(90deg,var(--loss) var(--heat),rgba(255,255,255,.09) var(--heat))}.accuracy-breakdown i{display:block;height:9px;border-radius:999px;background:linear-gradient(90deg,var(--win) var(--accuracy),rgba(255,255,255,.09) var(--accuracy))}.accuracy-breakdown .empty{opacity:.55}.achievement-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.achievement-grid div{display:grid;gap:3px;border:1px solid var(--line);border-radius:10px;background:#ffffff0d;padding:10px}.achievement-grid div.reached{border-color:#34c75966;background:#34c7591a}.achievement-grid strong{font-size:.82rem}.achievement-grid span{color:var(--muted)}.settings-list{display:grid;gap:12px;max-width:780px}.settings-screen.embedded{padding:0}.settings-list label,.setting-row{padding:14px}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.setting-row>span{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:.86rem}.setting-copy{display:grid;gap:4px;min-width:0;color:var(--muted);font-size:.86rem}.setting-copy>span{display:flex;align-items:center;gap:8px}.setting-copy small{color:var(--muted-2);font-size:.76rem;line-height:1.25}.switch-toggle{position:relative;display:inline-flex;align-items:center;justify-content:flex-start;width:58px;min-width:58px;min-height:34px;border:1px solid var(--line);border-radius:999px;background:var(--ace-smoke);color:var(--muted);padding:0;cursor:pointer;font-weight:850;transition:background .16s ease,border-color .16s ease}.switch-toggle:before{content:"";position:absolute;left:4px;width:26px;height:26px;border-radius:50%;background:#fff;transition:transform .16s ease,background .16s ease}.switch-toggle.on{color:var(--gold);border-color:#c8a24b75;background:#c8a24b6b}.switch-toggle.on:before{transform:translate(24px);background:var(--gold)}.switch-toggle:disabled{opacity:.58;cursor:not-allowed}.switch-toggle:disabled:before{background:var(--muted)}.file-btn{position:relative}.file-btn input{position:absolute;inset:0;opacity:0;cursor:pointer}.save-status{margin:-2px 2px 0;color:var(--win);font-size:.84rem;font-weight:800}.save-status.error{color:#fcc}.offline-panel{display:inline-flex;align-items:center;gap:8px;padding:12px 14px;color:var(--win)}.welcome-back-overlay{position:fixed;z-index:42;inset:0;display:grid;place-items:center;padding:18px;background:#00000094}.welcome-back-card{display:grid;justify-items:center;gap:14px;width:min(430px,100%);padding:22px;text-align:center;box-shadow:0 24px 54px #0000007a;animation:panelPop .36s cubic-bezier(.2,.8,.2,1) both}.welcome-back-card h2{margin:3px 0 5px;font-family:var(--serif);font-size:1.8rem}.welcome-back-card>div>span{color:var(--muted)}.welcome-back-card .mini-grid{width:100%}.install-panel{align-items:flex-start;color:var(--text)}.install-panel div{display:grid;gap:3px}.install-panel span{color:var(--muted);font-size:.82rem}.splash-screen,.onboarding-shell{min-height:100dvh;display:grid;place-items:center;padding:calc(24px + env(safe-area-inset-top)) 22px calc(24px + env(safe-area-inset-bottom));background:radial-gradient(circle at 50% 22%,var(--felt-top),rgba(21,104,59,.92) 44%,var(--felt-launch) 100%),var(--felt-launch)}.splash-screen h1,.onboarding-page h1{margin:18px 0 4px;font-family:var(--serif);font-size:clamp(2rem,11vw,3.4rem)}.splash-screen p,.onboarding-page p,.onboarding-page small{color:#ffffffbf;text-align:center}.splash-fan{position:relative;width:150px;height:130px}.splash-fan .card-flip{position:absolute;left:50%;top:4px;width:72px}.splash-fan .card-flip:nth-child(1){transform:translate(-72px) rotate(-14deg) rotateY(180deg)}.splash-fan .card-flip:nth-child(2){transform:translate(-36px) translateY(-8px) rotateY(180deg)}.splash-fan .card-flip:nth-child(3){transform:translate(0) rotate(14deg) rotateY(180deg)}.onboarding-shell{align-content:center;gap:18px}.onboarding-card{width:min(480px,100%);min-height:470px;display:grid;align-items:center}.onboarding-page{display:grid;justify-items:center;gap:14px;text-align:center;animation:screenIn .18s ease-out both}.gold-medallion{display:grid;place-items:center;width:96px;height:96px;border-radius:50%;background:var(--gold-sheen);color:var(--ace-noir);box-shadow:0 0 26px #e8d08a80}.disclaimer{display:grid;gap:4px;width:100%;border:1px solid rgba(200,162,75,.25);border-radius:12px;background:#ffffff0f;padding:14px;color:var(--gold)}.choice-list,.primer-list{display:grid;gap:10px;width:100%}.choice-list button,.primer-list div{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:56px;border:1px solid rgba(255,255,255,.14);border-radius:14px;background:#ffffff0f;color:var(--text);padding:0 14px}.choice-list button.selected{background:var(--gold-sheen);color:var(--ace-noir)}.onboarding-dots{display:flex;gap:6px}.onboarding-dots span{width:7px;height:7px;border-radius:999px;background:#ffffff47}.onboarding-dots span.active{width:22px;background:var(--gold)}.onboarding-actions{display:flex;justify-content:space-between;width:min(480px,100%)}.onboarding-actions button{min-height:46px;border:0;background:transparent;color:#ffffffb8;font-weight:850}.gold-button{padding:0 24px;background:var(--gold-sheen)!important;color:var(--ace-noir)!important}.done-check{color:var(--gold)}@keyframes screenIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes dealIn{0%{opacity:0;transform:translateY(-28px) scale(.92)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes resultFlash{0%{opacity:0}16%{opacity:1}55%{opacity:.85}to{opacity:0}}@keyframes headlineIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.6)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes panelPop{0%{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes sheetIn{0%{opacity:0;transform:translateY(32px)}to{opacity:1;transform:translateY(0)}}@keyframes moneyRevealIn{0%{opacity:0;transform:translate(-50%,4px) scale(.96)}to{opacity:1;transform:translate(-50%) scale(1)}}@keyframes moneyRevealEdgeIn{0%{opacity:0;transform:translateY(4px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:420px){.stats-strip{gap:5px}.stat{padding:8px 6px}.stat strong{font-size:.82rem}.welcome-back-card .mini-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.welcome-back-card .stat strong{font-size:.92rem}.action-btn{min-height:38px;font-size:.74rem}.table-screen .header-actions{gap:6px}.table-screen .screen-header p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.05}.table-screen .screen-header .btn{width:36px;min-height:36px;padding:0}.table-screen .mode-toggle{grid-template-columns:repeat(2,32px)}.online-table-screen .coach-panel.room-panel{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;padding:8px}.online-table-screen .coach-panel.room-panel .panel-title,.online-table-screen .coach-panel.room-panel>.fine-print:not(.copy-status),.online-table-screen .coach-panel.room-panel>.mini-grid{display:none}.online-table-screen .coach-panel.room-panel>.copy-status{display:block;grid-column:1 / -1;margin:-2px 0 0;font-size:.68rem;line-height:1.2;text-align:center}.online-table-screen .coach-panel.room-panel .copy-row{grid-template-columns:minmax(0,1fr) 36px;gap:6px}.online-table-screen .coach-panel.room-panel .copy-row strong,.online-table-screen .coach-panel.room-panel .copy-row .room-code-value{min-height:36px;font-size:.95rem}.online-table-screen .coach-panel.room-panel .copy-row button{width:36px;height:36px}.online-table-screen .coach-panel.room-panel .btn{width:auto;min-height:36px;padding:0 10px}.control-panel{padding:8px}.bet-controls{grid-template-columns:minmax(80px,96px) minmax(0,1fr)}.chip-row{gap:3px}.bet-chip{width:28px;height:28px}.count-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.counting-table{min-height:290px;gap:10px;padding:14px}.count-card-stage{min-height:112px}.counting-controls{gap:9px;padding:10px}.counting-controls label{gap:6px}.count-input-row{grid-template-columns:38px minmax(0,1fr) 38px}.count-stepper{min-height:38px}.count-actions{gap:6px}.count-actions .btn{min-height:38px;gap:4px;padding:0 6px;font-size:.72rem}.counting-controls .mini-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.achievement-grid{grid-template-columns:1fr}.opponent-ring{grid-template-columns:repeat(3,minmax(0,1fr))}.opponent-seat small{font-size:.55rem;line-height:1.05;white-space:normal;overflow-wrap:anywhere}.stud-opponent-ring{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-rail{align-items:flex-start;flex-direction:column}}@media(max-width:420px)and (max-height:720px){.table-screen{gap:6px}.local-table-screen .felt{grid-template-rows:auto minmax(76px,1fr) minmax(116px,auto) auto;gap:6px;padding:10px}.local-table-screen .felt-row .card-row,.local-table-screen .hand-panel .card-row{--card-width: clamp(48px, 15.2vw, 60px)}.local-table-screen .felt-midline{min-height:76px;gap:5px;padding-right:54px}.local-table-screen .blackjack-legend{font-size:11px;letter-spacing:2px}.local-table-screen .felt-assist-row{grid-template-columns:repeat(auto-fit,minmax(78px,1fr));gap:5px}.local-table-screen .felt-assist-card,.local-table-screen .felt-auto-play-btn{min-height:42px;padding:5px 7px}.local-table-screen .felt-assist-card strong{font-size:.78rem}.local-table-screen .felt-assist-card span,.local-table-screen .felt-assist-card small,.local-table-screen .felt-auto-play-btn span{font-size:.54rem}.local-table-screen .player-zone{min-height:116px}.local-table-screen .hand-panel{padding:8px}.local-table-screen .hand-meta{margin-bottom:5px;font-size:.7rem}.local-table-screen .table-message{min-height:20px;font-size:.78rem}.local-table-screen .control-panel{gap:6px;padding:7px}.local-table-screen .stand-main-btn{min-height:40px}.play-hub{gap:10px}.play-hub .hub-header{margin-bottom:0}.play-hub .hub-header .btn{width:38px;min-height:38px;padding:0}.play-hub .hub-header .btn span{display:none}.play-hub .balance-bar>div{gap:2px;padding:9px 10px}.play-hub .balance-bar strong{font-size:1rem}.play-hub .level-bar{gap:8px;padding:9px 10px}.play-hub .game-launch-grid{gap:8px}.play-hub .game-card{grid-template-columns:minmax(0,1fr) minmax(96px,112px);align-items:center;gap:10px;padding:10px 12px;border-radius:14px}.play-hub .game-card-main{min-width:0;gap:9px}.play-hub .game-icon{width:42px;height:42px;border-radius:12px}.play-hub .game-icon svg{width:24px;height:24px}.play-hub .game-card h2{margin-bottom:2px;font-size:1rem}.play-hub .game-card p{font-size:.72rem}.play-hub .game-card-actions{grid-template-columns:1fr;gap:5px}.play-hub .game-card-actions button{min-height:30px;font-size:.72rem}.play-hub .daily-card{padding:10px 12px}.onboarding-shell{gap:10px;padding:calc(14px + env(safe-area-inset-top)) 18px calc(14px + env(safe-area-inset-bottom))}.onboarding-card{min-height:min(410px,calc(100dvh - 118px - env(safe-area-inset-top) - env(safe-area-inset-bottom)))}.onboarding-page{gap:10px}.onboarding-page h1{margin:8px 0 2px;font-size:1.65rem}.gold-medallion{width:74px;height:74px}.gold-medallion svg{width:36px;height:36px}.disclaimer{padding:10px}.choice-list,.primer-list{gap:8px}.choice-list button,.primer-list div{min-height:44px;border-radius:12px}.done-check{width:50px;height:50px}.onboarding-actions button{min-height:40px}.counting-table{min-height:190px;gap:7px;padding:11px}.count-card-stage{min-height:72px}.count-card-stage .card-flip,.count-card-empty{width:56px}.count-strip{min-height:34px}.count-strip .card-flip.small{width:26px}.counting-table p{font-size:.72rem;line-height:1.25}.counting-controls{gap:5px;padding:8px}.counting-controls label{gap:3px}.counting-controls label span{font-size:.68rem}.counting-controls .mini-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin-bottom:2px}.counting-controls .stat{padding:5px}.counting-controls .stat span{font-size:.56rem}.counting-controls .stat strong{font-size:.82rem}.counting-controls input,.counting-controls select{min-height:32px}.count-input-row{grid-template-columns:32px minmax(0,1fr) 32px;gap:4px}.count-stepper{min-height:32px;font-size:1rem}.count-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.count-actions .btn{min-height:34px;padding:0}.count-actions .btn span{display:none}}@media(max-width:480px){.range-grid{--range-cell-min: 0px;gap:2px}.range-grid span{min-height:23px;border-radius:5px;font-size:clamp(.48rem,2.35vw,.58rem)}}@media(min-width:720px){.hub-card-grid,.analytics-grid,.drill-layout,.poker-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.game-launch-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.poker-table-grid{grid-template-columns:minmax(0,1.18fr) minmax(320px,.82fr)}.poker-table-grid.single{grid-template-columns:minmax(0,760px)}.reference-grid{grid-template-columns:minmax(0,1.08fr) minmax(300px,.92fr)}.range-toolbar,.quiz-strip{grid-template-columns:repeat(3,minmax(0,1fr));align-items:center}.counting-layout{grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr)}.strategy-grid{grid-template-columns:72px repeat(var(--dealer-count),minmax(34px,1fr))}}@media(min-width:1024px){.app-shell{display:grid;grid-template-columns:244px minmax(0,1fr);padding-bottom:0}.sidebar{position:sticky;top:0;display:grid;grid-template-rows:auto auto 1fr;gap:18px;height:100dvh;padding:18px 14px;border-right:1px solid var(--line);background:#0b0d10f0}.sidebar nav{display:grid;gap:6px}.sidebar button,.sidebar-shortcuts button{display:flex;align-items:center;gap:10px;width:100%;border:0;border-radius:12px;background:transparent;color:var(--muted);padding:11px 12px;cursor:pointer;text-align:left}.sidebar button.active,.sidebar button:hover,.sidebar-shortcuts button:hover{background:#c8a24b21;color:var(--gold-hi)}.sidebar-shortcuts{align-self:end;display:grid;gap:4px}.bottom-nav{display:none}.screen{padding:28px}.table-screen{height:100dvh;padding:16px;grid-template-rows:auto auto minmax(0,1fr) minmax(160px,auto)}.table-screen .btn span{display:inline}.mode-toggle{grid-template-columns:repeat(2,minmax(86px,1fr));width:auto}.mode-toggle button{gap:7px;padding:0 10px}.mode-toggle button span{display:inline}.control-grid{grid-template-columns:minmax(0,1fr) minmax(320px,.74fr)}.control-panel{grid-template-columns:minmax(0,1fr)}.coach-panel{display:block}.coach-open-btn{display:none}.card-flip{width:var(--card-width)}}
