:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b1220;--felt:#0f5132;--felt-dark:#0a3a24;--text:#f3f4f6;--text-dim:#9ca3af;--accent:#22c55e;--accent-dark:#16a34a;--danger:#ef4444;--danger-dark:#b91c1c;--card-bg:#fff;--card-text:#111827;--card-red:#dc2626;--border:#263241;--focus:#60a5fa;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px}@media (prefers-reduced-motion:reduce){*{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}*{box-sizing:border-box}html,body,#root{width:100%;min-height:100svh;margin:0}body{background:var(--bg)}button{font:inherit;cursor:pointer}button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid var(--focus);outline-offset:2px}[tabindex="0"]:focus-visible{outline:3px solid var(--focus);outline-offset:-3px}.screen{flex-direction:column;gap:16px;max-width:640px;min-height:100svh;margin:0 auto;padding:16px 16px 32px;display:flex}h1{margin:8px 0 0;font-size:1.5rem}h2{margin:0;font-size:1.1rem}.subtitle{color:var(--text-dim);margin:0}.mode-cards{flex-direction:column;gap:12px;display:flex}.mode-card{border:1px solid var(--border);text-align:left;color:var(--text);background:#111827;border-radius:12px;padding:16px}.mode-card-enabled{border-color:var(--accent)}.mode-card-enabled:hover{background:#16211c}.mode-card-disabled{opacity:.55}.mode-card p{color:var(--text-dim);margin:4px 0 0}.field{flex-direction:column;gap:6px;font-size:.95rem;display:flex}.field-toggle{flex-direction:row;justify-content:space-between;align-items:center}fieldset.field{border:none;margin:0;padding:0}fieldset.field legend{margin-bottom:6px;padding:0}input[type=range]{width:100%}.count-answer-input{border:1px solid var(--border);color:var(--text);background:#111827;border-radius:8px;flex:1;min-width:0;padding:10px;font-size:1.1rem}.count-answer-control{gap:8px;display:flex}.sign-toggle{flex:0 0 56px;font-size:1.1rem}input[type=checkbox]{width:20px;height:20px}.segmented{gap:8px;display:flex}.segment{border:1px solid var(--border);color:var(--text);background:#111827;border-radius:8px;flex:1;padding:10px}.segment:has(input[type=radio]){cursor:pointer;text-align:center;place-items:center;display:grid;position:relative}.segment input[type=radio]{opacity:0;width:1px;height:1px;position:absolute}.segment:has(input[type=radio]:focus-visible){outline:3px solid var(--focus);outline-offset:2px}.segment-active{background:var(--accent-dark);border-color:var(--accent)}.stepper{align-items:center;gap:12px;display:flex}.stepper button{border:1px solid var(--border);width:40px;height:40px;color:var(--text);background:#111827;border-radius:8px;font-size:1.2rem}.stepper span{text-align:center;min-width:24px;font-weight:600}.primary-button{background:var(--accent);color:#06210f;border:none;border-radius:10px;padding:14px;font-size:1rem;font-weight:600}.secondary-button{border:1px solid var(--border);color:var(--text);background:#111827;border-radius:10px;padding:12px}.danger-button{border:1px solid var(--danger);color:#fecaca;background:#2a1414;border-radius:10px;padding:12px}.link-button{color:var(--text-dim);background:0 0;border:none;align-self:flex-start;padding:4px 0}.session-progress{color:var(--text-dim);justify-content:space-between;align-items:center;gap:8px;font-size:.85rem;display:flex}.session-progress-details{flex-wrap:wrap;flex:1;justify-content:space-between;gap:8px;display:flex}.session-timer{font-variant-numeric:tabular-nums;white-space:nowrap}.table-icon-button{border:1px solid var(--border);width:36px;height:36px;color:var(--text);background:#111827;border-radius:999px;flex:0 0 36px;font-size:1.1rem;line-height:1}.table-top-actions{gap:8px;display:flex}.orientation-hint{display:none}.running-count-screen{width:100%;max-width:none;min-height:100dvh;padding:max(8px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));gap:10px}.running-count-screen .session-progress{z-index:16;padding:0 4px;position:relative}.table-felt{background:radial-gradient(ellipse at top, var(--felt) 0%, var(--felt-dark) 100%);border:4px solid #06331f;border-radius:16px;flex-direction:column;gap:16px;min-height:320px;padding:16px 8px;display:flex}.running-count-table{border:clamp(6px,1vw,14px) solid #4a2918;border-radius:32px 32px 12% 12%/32px 32px 8% 8%;flex:1;justify-content:space-between;width:100%;min-height:0;padding:clamp(12px,2vw,28px) clamp(10px,2vw,28px) clamp(24px,5vh,48px);position:relative;box-shadow:inset 0 0 0 3px #b88a43,inset 0 0 45px #00000073,0 8px 22px #00000080}.running-count-table:before{content:"";pointer-events:none;border:2px solid #ecd089a6;border-radius:24px 24px 12% 12%/24px 24px 8% 8%;position:absolute;inset:8px}.running-count-table>*{z-index:1;position:relative}.table-markings{color:#f2d89cb8;text-align:center;text-transform:uppercase;letter-spacing:.14em;flex-direction:column;align-self:center;align-items:center;gap:3px;display:flex;transform:translateY(10%)}.table-markings strong{font-family:Georgia,serif;font-size:clamp(.8rem,1.8vw,1.35rem)}.table-markings span{font-size:clamp(.58rem,1vw,.82rem)}.running-count-table .seats-row{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;align-items:stretch;width:100%;display:grid;overflow:visible}.running-count-table .seat{background:#0000001f;border:2px solid #ecd0894d;border-radius:12px;min-width:0;padding:8px}.running-count-table .seat-receiving{background:#fde68a1f;border-color:#fde68a}.running-count-table .seat-label{font-weight:700}.running-count-screen .paused-panel{flex:1;min-height:300px}.pause-menu-layer{z-index:15;pointer-events:auto;background:#030a0761;place-items:center;padding:72px 16px 16px;display:grid;position:fixed;inset:0}.pause-menu{border:1px solid var(--border);pointer-events:auto;background:#111827f7;border-radius:16px;gap:10px;width:min(100%,320px);max-height:calc(100dvh - 88px);padding:20px;display:grid;overflow-y:auto;box-shadow:0 12px 36px #00000080}.pause-menu h2{text-align:center;margin-bottom:4px}@media (width<=699px) and (orientation:portrait){.running-count-table .seats-row{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:row}.orientation-hint{color:var(--text-dim);text-align:center;background:#172033;border-radius:8px;margin:0;padding:6px 10px;font-size:.78rem;display:block}}@media (height<=520px) and (orientation:landscape){.running-count-screen{gap:6px}.running-count-table,.running-count-screen .paused-panel{min-height:0}.running-count-table{gap:8px;padding:10px 8px 20px}.running-count-table .seat{padding:4px}.running-count-table .seats-row{gap:4px}.running-count-table .hand{gap:2px;padding:2px}.running-count-table .hand-cards{min-height:52px}.running-count-table .playing-card,.running-count-table .hand-cards-placeholder{height:52px}.table-markings{display:none}}.dealer-row{display:flex;overflow-x:auto}.dealer-row .hand{margin-inline:auto}.seats-row{overscroll-behavior-inline:contain;align-items:flex-start;gap:8px;padding-bottom:4px;display:flex;overflow-x:auto}.seat{flex-direction:column;flex:1 0 84px;align-items:center;gap:4px;min-width:84px;display:flex}.seat-split{flex:none}.seat-label{color:#e5e7eb;font-size:.8rem}.seat-hands{gap:8px;width:100%;max-width:100%;display:flex}.seat-hands-scrollable{overscroll-behavior-inline:contain;padding:4px;overflow-x:auto}.seat-hands>.hand:only-child{margin-inline:auto}.hand{border:2px solid #0000;border-radius:8px;flex-direction:column;flex:none;align-items:center;gap:4px;min-width:84px;padding:4px;display:flex}.hand-receiving{background:#fde68a1a;border-color:#fde68a}.dealing-indicator{color:#fde68a;font-size:.7rem;font-weight:700;line-height:1}.hand-label{color:#e5e7eb;opacity:.85;font-size:.75rem}.hand-cards{min-height:70px;display:flex}.hand-cards-placeholder{border:1px dashed #ffffff4d;border-radius:6px;width:46px;height:66px}.playing-card{background:var(--card-bg);width:46px;height:66px;color:var(--card-text);border:1px solid #00000026;border-radius:6px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;font-size:.95rem;font-weight:700;display:flex;position:relative;box-shadow:0 1px 3px #0006}.card-rank{line-height:1;position:absolute;top:4px;left:5px}.running-count-table .card-suit{line-height:1;position:absolute;bottom:5px;left:5px}.playing-card.red{color:var(--card-red)}.playing-card.face-down{background:repeating-linear-gradient(45deg,#1d4ed8,#1d4ed8 6px,#1e3a8a 6px 12px)}.hand-total-row{align-items:center;gap:6px;display:flex}.hand-total{color:#fff;background:#0000008c;border-radius:999px;padding:2px 10px;font-size:.85rem;font-weight:700}.hand-status{color:#fde68a;font-size:.75rem;font-weight:600}.paused-panel{border:1px dashed var(--border);min-height:320px;color:var(--text-dim);border-radius:16px;justify-content:center;align-items:center;display:flex}.table-controls{gap:8px;display:flex}.table-controls button{flex:1}.missing-card-table{background:radial-gradient(ellipse at top, var(--felt) 0%, var(--felt-dark) 100%);border:4px solid #06331f;border-radius:16px;grid-template-columns:1fr 1fr;align-items:center;gap:24px;min-height:320px;padding:24px;display:grid}.missing-card-slot,.missing-card-reveal{text-align:center;flex-direction:column;align-items:center;gap:10px;min-width:0;display:flex}.current-card-slot{min-height:112px}.current-card-slot p{color:#e5e7eb;margin:15px 0}.missing-card-guess{flex-direction:column;gap:12px;display:flex}.guess-options{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.guess-options button{flex-direction:column;align-items:center;gap:4px;min-width:0;display:flex}.guess-options strong{font-size:1.25rem}.guess-options span{color:var(--text-dim);font-size:.75rem}.count-math-screen{max-width:720px}.count-math-header,.count-math-stats{justify-content:space-between;align-items:center;gap:12px;display:flex}.count-math-stats{border:1px solid var(--border);color:var(--text-dim);border-radius:10px;padding:10px 12px;font-size:.9rem}.count-math-question{background:radial-gradient(ellipse at top, var(--felt) 0%, var(--felt-dark) 100%);text-align:center;border:4px solid #06331f;border-radius:16px;flex-direction:column;align-items:center;gap:12px;padding:24px 16px;display:flex}.count-math-question p{margin:0}.starting-count{font-variant-numeric:tabular-nums;font-size:2.5rem}.count-math-cards,.count-math-values{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.count-math-values span{background:#00000047;border:1px solid #ffffff40;border-radius:10px;place-items:center;width:52px;height:52px;font-size:1.35rem;font-weight:700;display:grid}.count-math-answer,.count-math-feedback{gap:14px;display:grid}.count-math-answer p,.count-math-feedback p,.count-math-feedback h2{margin:0}.count-math-timer{color:#fde68a;text-align:center;font-variant-numeric:tabular-nums}.count-progression{flex-wrap:wrap;gap:24px;margin:8px 0 0;padding:0;list-style:none;display:flex}.count-progression li{min-width:24px;font-weight:700;position:relative}.count-progression li+li:before{content:"→";color:var(--text-dim);position:absolute;left:-18px}.modal-overlay{z-index:20;background:#0009;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}@media (width>=640px){.modal-overlay{align-items:center}}.modal{border:1px solid var(--border);background:#111827;border-radius:16px 16px 0 0;flex-direction:column;gap:16px;width:100%;max-width:480px;max-height:calc(100dvh - 16px);padding:24px 20px;display:flex;overflow-y:auto}.count-prompt form{gap:16px;min-width:0;display:grid}.count-prompt input{width:100%;min-width:0}@media (width>=640px){.modal{border-radius:16px}}.dialog-actions{justify-content:flex-end;gap:8px;display:flex}.feedback-correct{color:var(--accent);font-size:1.2rem;font-weight:700}.feedback-incorrect{color:var(--danger);font-size:1.2rem;font-weight:700}.summary-stats{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.summary-stats li{border-bottom:1px solid var(--border);justify-content:space-between;padding-bottom:6px;display:flex}.answer-history{border-collapse:collapse;width:100%;font-size:.9rem}.answer-history th,.answer-history td{border:1px solid var(--border);text-align:center;padding:6px 8px}.answer-row-incorrect{background:#ef444426}.answer-row-correct{background:#22c55e1a}.summary-actions{flex-direction:column;gap:8px;display:flex}.deck-estimation-screen{max-width:720px}.card-tray{--tray-w:150px;--tray-d:104px;--tray-h:140px;--stack-w:134px;--stack-d:92px;--tray-zoom:1.45;flex-direction:column;align-items:center;gap:8px;margin:0;display:flex}.card-tray-small{--tray-w:86px;--tray-d:60px;--tray-h:80px;--stack-w:76px;--stack-d:52px;--tray-zoom:1.3}.card-tray figcaption{color:var(--text-dim);font-size:.85rem}.card-tray-viewport{transition:transform .15s}.card-tray-scene{width:calc(var(--tray-w) + var(--tray-d));height:calc(var(--tray-h) * 1.35);perspective:900px;justify-content:center;align-items:center;display:flex}.card-tray-box{width:var(--tray-w);height:var(--tray-h);transform-style:preserve-3d;transition:transform .26s;position:relative}.tray-face,.stack-face{position:absolute;top:50%;left:50%}.tray-wall{background:linear-gradient(160deg,#def4ff3d 0%,#badef01f 45%,#def4ff33 100%);border:1px solid #e2f4ff8c;box-shadow:inset 0 0 12px #ffffff38}.tray-wall-front,.tray-wall-back{width:var(--tray-w);height:var(--tray-h)}.tray-wall-front{transform:translate(-50%, -50%) translateZ(calc(var(--tray-d) / 2))}.tray-wall-back{transform:translate(-50%, -50%) translateZ(calc(var(--tray-d) / -2))}.tray-wall-left,.tray-wall-right{width:var(--tray-d);height:var(--tray-h)}.tray-wall-left{transform:translate(-50%, -50%) rotateY(-90deg) translateZ(calc(var(--tray-w) / 2))}.tray-wall-right{transform:translate(-50%, -50%) rotateY(90deg) translateZ(calc(var(--tray-w) / 2))}.tray-bottom{width:var(--tray-w);height:var(--tray-d);transform:translate(-50%, -50%) rotateX(90deg) translateZ(calc(var(--tray-h) / -2));background:linear-gradient(#24262b 0%,#0b0c0f 100%);border-radius:3px;box-shadow:0 0 18px #0009}.card-tray-stack{--stack-height:1px;width:var(--stack-w);height:var(--stack-height);transform-style:preserve-3d;transform:translate(-50%, -50%) translateY(calc((var(--tray-h) - var(--stack-height)) / 2 - 3px));transition:height .2s;position:absolute;top:50%;left:50%}.stack-front,.stack-back{width:var(--stack-w);height:var(--stack-height)}.stack-left,.stack-right{width:var(--stack-d);height:var(--stack-height)}.stack-front,.stack-back,.stack-left,.stack-right{background-image:repeating-linear-gradient(to bottom, #fdfdfb 0, #fdfdfb calc(var(--card-thickness) * .65), #a8a29e calc(var(--card-thickness) * .65), #a8a29e var(--card-thickness));background-color:#f5f5f4;box-shadow:inset 0 0 6px #00000059}.stack-front{transform:translate(-50%, -50%) translateZ(calc(var(--stack-d) / 2))}.stack-back{transform:translate(-50%, -50%) translateZ(calc(var(--stack-d) / -2))}.stack-left{transform:translate(-50%, -50%) rotateY(-90deg) translateZ(calc(var(--stack-w) / 2))}.stack-right{transform:translate(-50%, -50%) rotateY(90deg) translateZ(calc(var(--stack-w) / 2))}.stack-top{width:var(--stack-w);height:var(--stack-d);transform:translate(-50%, -50%) rotateX(90deg) translateZ(calc(var(--stack-height) / 2));background-color:#eef2ff;background-image:repeating-linear-gradient(45deg,#3730a3 0 1px,#0000 1px 4px),repeating-linear-gradient(-45deg,#4f46e5 0 1px,#0000 1px 4px)}.card-tray-controls{gap:12px;display:flex}.card-tray-rotate{min-width:96px;font-size:1.2rem;line-height:1}.card-tray-zoomable .card-tray-viewport{cursor:zoom-in}.card-tray-zoomable .card-tray-viewport:hover,.card-tray-zoomable .card-tray-viewport:focus-visible,.card-tray-zoomable .card-tray-viewport:focus{transform:scale(var(--tray-zoom))}.deck-estimation-table{background:radial-gradient(ellipse at top, var(--felt) 0%, var(--felt-dark) 100%);border:4px solid #06331f;border-radius:16px;flex-direction:column;align-items:center;gap:24px;padding:32px 16px;display:flex}.deck-tray-hint{color:#f3f4f6bf;margin:0;font-size:.85rem}.deck-estimation-answer,.deck-estimation-feedback{gap:14px;display:grid}.deck-estimation-answer p,.deck-estimation-feedback p,.deck-estimation-feedback h2{margin:0}.deck-estimation-stepper{justify-content:center;align-items:center;gap:16px;font-size:1.1rem;display:flex}.deck-tutorial-details{border:1px solid var(--border);border-radius:12px;padding:12px}.deck-tutorial-details summary{cursor:pointer}.deck-tutorial{gap:12px;margin-top:12px;display:grid}.deck-tutorial-steps{color:var(--text-dim);gap:8px;margin:0;padding-left:20px;display:grid}.deck-tutorial-gallery{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;display:grid}
