:root{--bg:#07110d;--surface:#0d1b15;--surface-2:#12261d;--felt:#0b3a2a;--felt-deep:#06241b;--line:#e1e8d624;--line-strong:#e1e8d647;--text:#f4f0e6;--muted:#aeb8aa;--soft:#d8dfca;--accent:#e9b44c;--accent-strong:#f5ca6a;--green:#58c78f;--red:#d84c4c;--black-card:#151510;--card:#fff9ed;--shadow:0 22px 80px #00000059;--radius:8px;--font:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;color:var(--text);font-family:var(--font);letter-spacing:0;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(circle at 50% 0,#24734c57,#0000 38rem),linear-gradient(145deg,#050b08 0%,#0a1812 48%,#050806 100%);font-size:16px;line-height:1.45}*{box-sizing:border-box}body{min-width:320px;min-height:100svh;margin:0}button,input{font:inherit}button{-webkit-tap-highlight-color:transparent}#root{min-height:100svh}.app-shell,.practice-shell,.entry-shell,.result-shell,.stats-shell{width:min(100%,980px);min-height:100svh;padding:max(18px, env(safe-area-inset-top)) 16px max(22px, env(safe-area-inset-bottom));margin:0 auto;animation:.18s both screenIn}.home-shell,.result-shell,.stats-shell{flex-direction:column;gap:18px;display:flex}.practice-shell,.entry-shell{grid-template-rows:auto auto minmax(0,1fr) auto;gap:14px;display:grid}.practice-shell{grid-template-rows:auto minmax(0,1fr) auto;width:min(100%,520px);height:100svh;overflow:hidden}.entry-shell{grid-template-rows:minmax(310px,44svh) auto}.home-hero,.practice-topbar,.stats-header{justify-content:space-between;align-items:center;gap:14px;display:flex}.home-hero{align-items:flex-end;min-height:208px;padding-top:28px}.eyebrow{color:var(--accent-strong);text-transform:uppercase;margin:0 0 8px;font-size:.76rem;font-weight:800}h1,h2,p{margin:0}h1{color:var(--text);letter-spacing:0;font-size:clamp(2.2rem,12vw,4.9rem);line-height:.95}h2{color:var(--text);letter-spacing:0;font-size:1rem;line-height:1.1}.home-subtitle,.result-hero p,.helper-copy,.stats-hero p{max-width:42rem;color:var(--muted);margin-top:12px}.primary-action,.secondary-action,.danger-action,.control-button,.icon-button{border-radius:var(--radius);min-height:48px;color:var(--text);cursor:pointer;border:0;justify-content:center;align-items:center;gap:9px;font-weight:800;transition:transform .16s,border-color .16s,background .16s,opacity .16s;display:inline-flex}.primary-action{color:#201504;background:linear-gradient(180deg, var(--accent-strong), var(--accent));min-width:168px;padding:0 18px;box-shadow:0 12px 26px #e9b44c38}.secondary-action,.danger-action,.icon-button{border:1px solid var(--line);background:#ffffff0d;padding:0 14px}.danger-action{color:#ffd7d7;border-color:#d84c4c66}.wide{width:100%}button:hover:not(:disabled){transform:translateY(-1px)}button:active:not(:disabled){transform:translateY(0)}button:disabled{cursor:not-allowed;opacity:.48}.stat-strip{border:1px solid var(--line);border-radius:var(--radius);background:#ffffff0b;grid-template-columns:repeat(2,1fr);display:grid;overflow:hidden}.stat-strip div,.result-grid div{border-right:1px solid var(--line);border-bottom:1px solid var(--line);gap:4px;min-width:0;padding:14px;display:grid}.stat-strip div:nth-child(2n),.result-grid div:nth-child(2n){border-right:0}.stat-strip div:nth-last-child(-n+2){border-bottom:0}.stat-strip span,.result-grid span,.progress-row span{color:var(--muted);text-transform:uppercase;font-size:.74rem;font-weight:800}.stat-strip strong,.result-grid strong,.progress-row strong{min-width:0;color:var(--text);overflow-wrap:anywhere;font-size:1.35rem;line-height:1}.stat-strip small{color:var(--muted);font-size:.78rem}.settings-panel{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg, #ffffff12, #ffffff09), var(--surface);box-shadow:var(--shadow);gap:18px;padding:18px;display:grid}.compact-settings{box-shadow:none;gap:12px;padding:12px}.section-title-row{align-items:center;gap:10px;display:flex}.section-title-row .icon-button{min-height:38px;margin-left:auto}.setting-group{gap:8px;display:grid}.setting-group>label{color:var(--muted);text-transform:uppercase;font-size:.78rem;font-weight:800}.segmented-control,.speed-row{grid-template-columns:repeat(auto-fit,minmax(64px,1fr));gap:6px;display:grid}.segmented-control.two-up,.difficulty-control{grid-template-columns:repeat(2,1fr)}.segmented-control button,.preset-pill{border:1px solid var(--line);min-height:42px;color:var(--soft);cursor:pointer;background:#ffffff0b;border-radius:7px;padding:0 10px;font-weight:800}.segmented-control button.active,.preset-pill.active{color:#07110d;background:var(--green);border-color:#0000}.slider-row{grid-template-columns:1fr 58px;align-items:center;gap:12px;display:grid}.slider-row input{width:100%;accent-color:var(--accent)}.slider-row strong{color:var(--accent-strong);text-align:right}.toggle-grid{gap:8px;display:grid}.toggle-row{border:1px solid var(--line);min-height:44px;color:var(--soft);background:#ffffff09;border-radius:7px;align-items:center;gap:10px;padding:0 10px;display:flex}.toggle-row input{width:18px;height:18px;accent-color:var(--green)}.toggle-row span{align-items:center;gap:8px;font-weight:800;display:inline-flex}.practice-statusbar{grid-template-columns:repeat(4,minmax(0,1fr)) auto;align-items:center;gap:8px;min-height:52px;padding:6px 0;display:grid}.practice-statusbar div{min-width:0}.practice-statusbar span{color:#d8dfca9e;text-transform:uppercase;font-size:.66rem;font-weight:900;line-height:1;display:block}.practice-statusbar strong{color:var(--text);overflow-wrap:anywhere;margin-top:5px;font-size:clamp(1rem,4.5vw,1.35rem);line-height:1;display:block}.round-icon-button{border:1px solid var(--line);width:40px;height:40px;color:var(--soft);cursor:pointer;background:#ffffff0f;border-radius:50%;place-items:center;display:inline-grid}.table-surface{background:radial-gradient(circle at center, #1e754fbf, transparent 62%), linear-gradient(145deg, var(--felt), var(--felt-deep));border:1px solid #ffffff17;border-radius:18px;place-items:center;min-height:0;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 0 70px #0000003d}.table-surface:before{content:"";pointer-events:none;z-index:0;border:1px solid #ffffff17;border-radius:999px;position:absolute;inset:clamp(14px,5vw,28px)}.paused-surface{filter:saturate(.72)}.pause-label{color:var(--soft);text-transform:uppercase;font-weight:900;position:absolute;bottom:24px}.card-stage{aspect-ratio:5/7;perspective:950px;z-index:1;place-items:center;width:clamp(238px,70vw,330px);display:grid;position:relative}.multi-card-stage{aspect-ratio:1;width:min(92vw,390px)}.card-spread{width:100%;height:100%;position:relative}.playing-card{border-radius:14px;width:100%;height:100%;position:relative;box-shadow:0 28px 48px #0000006b,0 6px 18px #0000003d,inset 0 0 0 1px #00000014}.dealt-card{color:var(--black-card);background:linear-gradient(135deg, #fffc, transparent 26%), var(--card);grid-template-rows:auto 1fr auto;padding:16px;animation:.22s both dealIn;display:grid}.scattered-card{aspect-ratio:5/7;width:clamp(108px,29vw,142px);height:auto;transform:translate(-50%, -50%) translate(var(--card-x), var(--card-y)) rotate(var(--card-rotation));z-index:calc(10 + var(--card-order));animation-name:scatterDealIn;animation-duration:.18s;position:absolute;top:50%;left:50%}.fast-deal{animation-duration:.12s}.red-suit{color:#b82025}.black-suit{color:#171711}.card-corner{justify-items:start;width:38px;font-size:1.1rem;line-height:1;display:grid}.card-corner span{font-size:1.35rem}.card-corner.bottom{justify-self:end;transform:rotate(180deg)}.card-center{align-self:center;place-items:center;gap:8px;display:grid}.card-rank-main{font-size:clamp(3.2rem,18vw,5.6rem);font-weight:900;line-height:.9}.card-suit-main{font-size:clamp(4rem,20vw,6.5rem);line-height:.8}.card-back{border:8px solid var(--card);background:linear-gradient(135deg,#ffffff14,#0000),repeating-linear-gradient(45deg,#823021 0 8px,#68241d 8px 16px);overflow:hidden}.card-back-grid{background:radial-gradient(circle,#fff9ed3d 0 2px,#0000 3px) 0 0/18px 18px;border:2px solid #fff9ed8c;border-radius:9px;position:absolute;inset:12px}.count-hint{width:auto;min-width:48px;height:32px;color:var(--accent-strong);background:#08140ec7;border:1px solid #f5ca6a6b;border-radius:999px;place-items:center;font-size:1.05rem;font-weight:900;animation:.52s both hintFade;display:grid;position:absolute;bottom:-38px;left:50%;transform:translate(-50%)}.distraction-flash{--tilt:-5deg;aspect-ratio:4/5;pointer-events:none;z-index:4;background:#fff9edeb;border:1px solid #f5ca6a59;border-radius:16px;width:clamp(92px,27vw,136px);padding:5px;animation:.76s both distractionFlash;position:absolute;top:clamp(28px,9svh,76px);box-shadow:0 24px 48px #0000005c,0 0 36px #f5ca6a1f}.distraction-flash.left{--tilt:-7deg;left:clamp(10px,5vw,32px)}.distraction-flash.right{--tilt:7deg;right:clamp(10px,5vw,32px)}.distraction-flash img{object-fit:cover;border-radius:12px;width:100%;height:100%;display:block}.practice-controls,.result-actions{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.practice-actions{gap:9px;display:grid}.result-actions{grid-template-columns:1fr}.control-button{min-height:56px;padding:0 14px}.control-button.pause{color:var(--soft);border:1px solid var(--line);background:#ffffff0e}.control-button.resume{color:#07110d;background:var(--green)}.control-button.stop{background:var(--red)}.dominant-stop{color:#fff8ef;background:linear-gradient(#df5b55,#bf393a);width:100%;min-height:64px;font-size:1.08rem;box-shadow:0 16px 34px #d84c4c47}.ghost-pause{color:#f4f0e6cc;width:100%;min-height:42px;box-shadow:none}.practice-bottom{gap:10px;display:grid}.live-speed-panel{border:1px solid var(--line);border-radius:var(--radius);background:#ffffff0e;gap:8px;padding:11px;display:grid;box-shadow:0 12px 28px #00000029}.live-speed-heading{color:var(--muted);text-transform:uppercase;justify-content:space-between;align-items:center;gap:10px;font-size:.76rem;font-weight:900;display:flex}.live-speed-heading span{align-items:center;gap:6px;display:inline-flex}.live-speed-heading strong{color:var(--accent-strong)}.compact-speed-row{grid-template-columns:repeat(4,minmax(0,1fr))}.compact-speed-row .preset-pill{min-height:38px;padding:0 8px}.compact-slider-row{grid-template-columns:1fr}.settings-sheet-backdrop{z-index:10;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#02070594;align-items:end;padding:12px;display:grid;position:fixed;inset:0}.settings-sheet{border:1px solid var(--line-strong);background:#0c1a14;border-radius:14px 14px 8px 8px;width:min(100%,620px);max-height:calc(100svh - 24px);margin:0 auto;overflow:auto;box-shadow:0 28px 90px #0000008c}.settings-sheet-header{z-index:1;border-bottom:1px solid var(--line);background:#0c1a14f5;justify-content:space-between;align-items:center;gap:12px;padding:14px 14px 10px;display:flex;position:sticky;top:0}.settings-sheet .settings-panel{box-shadow:none;background:0 0;border:0;border-radius:0;gap:14px;padding:14px}.settings-sheet .section-title-row{display:none}.settings-sheet .deck-setting .segmented-control{grid-template-columns:repeat(5,minmax(0,1fr))}.settings-sheet .setting-group{gap:7px}.settings-sheet .segmented-control button,.settings-sheet .preset-pill,.settings-sheet .toggle-row{min-height:40px}.entry-table{min-height:280px}.guess-shell{grid-template-rows:minmax(0,1fr);align-items:center;width:min(100%,560px);display:grid}.guess-panel{border:1px solid var(--line);width:100%;box-shadow:var(--shadow);background:radial-gradient(circle at 50% 0,#58c78f24,#0000 20rem),#0d1b15f0;border-radius:18px;gap:18px;padding:clamp(22px,6vw,34px);display:grid}.guess-panel h1{font-size:clamp(2.4rem,12vw,4.2rem);line-height:.95}.guess-copy{color:var(--muted)}.guess-fields{gap:14px;display:grid}.count-slider-field{border-radius:var(--radius);background:#ffffff0d;border:1px solid #f5ca6a38;gap:12px;padding:14px;display:grid}.slider-heading{justify-content:space-between;align-items:center;gap:14px;display:flex}.slider-heading span{color:var(--muted);text-transform:uppercase;font-size:.78rem;font-weight:900}.slider-heading strong{min-width:74px;color:var(--text);text-align:right;font-size:2rem;line-height:1}.count-slider{appearance:none;cursor:pointer;direction:rtl;background:0 0;width:100%;height:38px}.count-slider:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.count-slider::-webkit-slider-runnable-track{background:linear-gradient(90deg,#58c78fe6,#f5ca6a9e,#d84c4cb8),#ffffff14;border:1px solid #f5ca6a40;border-radius:999px;height:10px}.count-slider::-webkit-slider-thumb{appearance:none;background:var(--accent-strong);border:3px solid #1a1305;border-radius:999px;width:30px;height:30px;margin-top:-11px;box-shadow:0 8px 20px #0000005c}.count-slider::-moz-range-track{background:linear-gradient(90deg,#58c78fe6,#f5ca6a9e,#d84c4cb8),#ffffff14;border:1px solid #f5ca6a40;border-radius:999px;height:10px}.count-slider::-moz-range-thumb{background:var(--accent-strong);border:3px solid #1a1305;border-radius:999px;width:28px;height:28px;box-shadow:0 8px 20px #0000005c}.favor-scale-labels{color:var(--muted);text-transform:uppercase;grid-template-columns:1fr auto 1fr;gap:8px;font-size:.7rem;font-weight:900;display:grid}.favor-scale-labels span:nth-child(2){color:var(--soft)}.favor-scale-labels span:last-child{text-align:right}.favor-readout{color:var(--muted);font-weight:900}.favor-readout.player{color:var(--accent-strong)}.favor-readout.casino{color:#ffb1a8}.quick-count-row{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.quick-count-row button{border:1px solid var(--line);border-radius:var(--radius);min-height:48px;color:var(--soft);cursor:pointer;background:#ffffff0e;font-weight:900}.count-entry{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);gap:16px;padding:18px;display:grid}.count-entry h1,.result-hero h1,.stats-hero h1{font-size:clamp(2rem,11vw,4.2rem)}.number-field{gap:8px;display:grid}.number-field span{color:var(--muted);text-transform:uppercase;font-size:.78rem;font-weight:800}.number-field input{border:1px solid var(--line-strong);border-radius:var(--radius);width:100%;min-height:68px;color:var(--text);text-align:center;background:#ffffff0f;padding:0 14px;font-size:2.35rem;font-weight:900}.number-field input:focus{outline:2px solid var(--accent);outline-offset:2px}.number-field input::-webkit-outer-spin-button{appearance:none;margin:0}.number-field input::-webkit-inner-spin-button{appearance:none;margin:0}.number-field input[type=number]{appearance:textfield}.result-hero{border:1px solid var(--line);border-radius:var(--radius);background:radial-gradient(circle at 100% 0%, #e9b44c33, transparent 22rem), var(--surface);padding:24px}.result-hero.correct{border-color:#58c78f73}.result-hero.miss{border-color:#d84c4c73}.count-advice{border:1px solid var(--line);border-radius:var(--radius);background:#ffffff0b;gap:1px;display:grid;overflow:hidden}.count-advice div{background:#ffffff09;gap:5px;padding:16px;display:grid}.count-advice span{color:var(--muted);text-transform:uppercase;font-size:.72rem;font-weight:900}.count-advice strong{color:var(--text);font-size:1.18rem}.bet-spread-card strong{align-items:baseline;gap:12px;font-size:1.55rem;display:flex}.bet-spread-card b{color:var(--accent-strong);letter-spacing:0;font-size:1.04rem}.count-advice p{color:var(--muted)}.count-advice.high{border-color:#f5ca6a61}.count-advice.high strong{color:var(--accent-strong)}.count-advice.low{border-color:#d84c4c40}.result-grid{border:1px solid var(--line);border-radius:var(--radius);background:#ffffff0b;grid-template-columns:repeat(2,1fr);display:grid;overflow:hidden}.compact-stat-strip{display:none}.stats-header{min-height:48px}.stats-table-section{gap:10px;display:grid}.stats-dashboard div{background:radial-gradient(circle at 100% 0,#f5ca6a14,#0000 12rem),#ffffff09}.stats-table{border:1px solid var(--line);border-radius:var(--radius);background:#ffffff0b;overflow:hidden}.stats-row{border-bottom:1px solid var(--line);min-height:42px;color:var(--soft);grid-template-columns:1.2fr .8fr .8fr .7fr;align-items:center;gap:8px;padding:0 12px;display:grid}.stats-row:last-child{border-bottom:0}.stats-row.header{color:var(--muted);text-transform:uppercase;font-size:.74rem;font-weight:900}@keyframes dealIn{0%{opacity:0;transform:translate(18px,-20px)rotateY(-16deg)rotate(2deg)}to{opacity:1;transform:translate(0,0)rotateY(0)rotate(0)}}@keyframes scatterDealIn{0%{opacity:0;transform:translate(-50%, -50%) translate(var(--card-x), var(--card-y)) rotate(var(--card-rotation)) scale(.96)}to{opacity:1;transform:translate(-50%, -50%) translate(var(--card-x), var(--card-y)) rotate(var(--card-rotation)) scale(1)}}@keyframes hintPop{0%{opacity:0;transform:scale(.82)}to{opacity:1;transform:scale(1)}}@keyframes hintFade{0%{opacity:0;transform:translate(-50%,8px)scale(.96)}18%,68%{opacity:1;transform:translate(-50%)scale(1)}to{opacity:0;transform:translate(-50%,-6px)scale(.98)}}@keyframes distractionFlash{0%{opacity:0;transform:translateY(12px) rotate(var(--tilt)) scale(.94)}16%,72%{opacity:1;transform:translateY(0) rotate(var(--tilt)) scale(1)}to{opacity:0;transform:translateY(-8px) rotate(var(--tilt)) scale(.98)}}@keyframes screenIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (width>=760px){.app-shell,.practice-shell,.entry-shell,.result-shell,.stats-shell{padding-inline:28px}.home-shell{gap:22px}.stat-strip{grid-template-columns:repeat(4,1fr)}.stat-strip div,.result-grid div{border-bottom:0}.stat-strip div:nth-child(2n),.result-grid div:nth-child(2n){border-right:1px solid var(--line)}.stat-strip div:last-child,.result-grid div:nth-child(4n),.result-grid div:last-child{border-right:0}.settings-panel:not(.compact-settings){grid-template-columns:repeat(2,minmax(0,1fr))}.settings-panel:not(.compact-settings) .section-title-row,.settings-panel:not(.compact-settings) .toggle-grid,.settings-panel:not(.compact-settings) .helper-copy{grid-column:1/-1}.toggle-grid{grid-template-columns:repeat(3,1fr)}.practice-shell{grid-template-rows:auto minmax(0,1fr) auto}.result-grid{grid-template-columns:repeat(4,1fr)}.result-actions{grid-template-columns:1.2fr .8fr .8fr}.entry-shell{grid-template-rows:minmax(560px,calc(100svh - 64px));grid-template-columns:minmax(330px,1fr) minmax(310px,430px);align-items:stretch}.guess-shell{grid-template-rows:minmax(0,1fr);grid-template-columns:none;align-items:center}.entry-table,.count-entry{min-height:100%}.count-entry{align-content:center}.settings-sheet-backdrop{align-items:center}.settings-sheet{border-radius:var(--radius)}}@media (width<=430px){.app-shell,.entry-shell,.result-shell,.stats-shell{padding:max(12px, env(safe-area-inset-top)) 16px max(14px, env(safe-area-inset-bottom))}.home-hero{min-height:188px;display:grid}.home-hero .primary-action{width:100%}.practice-statusbar{gap:6px}.round-icon-button{width:36px;height:36px}.card-stage{width:clamp(242px,73vw,300px)}.playing-card{border-radius:12px}.dealt-card{padding:13px}.card-corner{font-size:.9rem}.card-corner span{font-size:1.1rem}.card-rank-main{font-size:clamp(3rem,16vw,4.7rem)}.card-suit-main{font-size:clamp(3.65rem,18vw,5.4rem)}.control-button{min-height:48px}.guess-panel{gap:14px;padding:22px}.guess-panel h1{font-size:clamp(2.25rem,11vw,3.35rem)}.count-slider-field{gap:10px;padding:12px 14px}.slider-heading strong{min-width:54px;font-size:1.72rem}.count-slider{height:32px}.count-slider::-webkit-slider-thumb{width:26px;height:26px;margin-top:-9px}.count-slider::-moz-range-thumb{width:24px;height:24px}.favor-scale-labels{gap:5px;font-size:.63rem}.favor-readout{font-size:.96rem}.result-shell{gap:12px}.result-hero{padding:18px}.result-hero h1{font-size:clamp(2rem,10vw,3rem)}.result-hero p,.count-advice p{line-height:1.35}.count-advice div{gap:4px;padding:13px 14px}.bet-spread-card strong{font-size:1.38rem}.result-actions{order:3}.result-grid{order:4}.compact-stat-strip{order:5}.result-grid div{padding:12px 14px}.result-grid span{font-size:.68rem}.result-grid strong{font-size:1.2rem}.settings-panel{padding:14px}.compact-settings .section-title-row,.compact-settings .setting-group:not(.speed-setting),.compact-settings .toggle-grid,.compact-settings .helper-copy{display:none}.stats-row{grid-template-columns:1fr .72fr .74fr .62fr;font-size:.88rem}}@media (width<=430px) and (height<=780px){.guess-shell{align-items:start}.guess-panel{gap:10px;padding:18px 22px}.guess-panel h1{font-size:clamp(2rem,10vw,2.8rem)}.guess-copy{font-size:.98rem;line-height:1.34}.count-slider-field{gap:8px;padding:10px 14px}.slider-heading span{font-size:.72rem}.favor-scale-labels{font-size:.6rem}.result-shell{gap:10px}.result-hero{padding:15px 16px}.result-hero h1{font-size:clamp(1.9rem,9.5vw,2.6rem)}.count-advice div{padding:11px 14px}.result-grid div{padding:10px 13px}}
