.home-screen{flex-direction:column;gap:20px;padding:8px 0 24px;animation:.4s slide-up;display:flex}.home-header{text-align:center;padding:8px 0}.mascot{margin-bottom:8px;font-size:64px;line-height:1;animation:.5s bounce-in}.home-title{background:linear-gradient(135deg, var(--purple), var(--orange));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:6px;font-size:2.4rem;font-weight:900}.home-subtitle{color:var(--text-muted);font-size:1rem;font-weight:600}.xp-badge{background:linear-gradient(135deg, var(--yellow), var(--orange));color:#fff;border-radius:999px;margin-top:10px;padding:6px 18px;font-size:.95rem;font-weight:800;display:inline-block;box-shadow:0 4px 12px #f59e0b4d}.table-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.table-card{border-radius:var(--radius);background:#fff;border:3px solid #0000;flex-direction:column;align-items:center;gap:4px;padding:16px 8px 14px;transition:all .15s;display:flex;box-shadow:0 4px 16px #7c3aed1f}.table-card:hover{border-color:var(--purple-light);transform:translateY(-3px);box-shadow:0 8px 24px #7c3aed38}.table-card:active{transform:scale(.97)}.table-card.mastered{border-color:var(--yellow);background:linear-gradient(135deg,#fef3c7,#fde68a)}.table-number{color:var(--text);font-size:1.6rem;font-weight:900}.table-phase-emoji{font-size:1.4rem;line-height:1}.table-phase-name{color:var(--purple);text-align:center;font-size:.78rem;font-weight:800}.table-phase-desc{color:var(--text-muted);text-align:center;font-size:.68rem;font-weight:700;line-height:1.2}.phase-dots{gap:5px;margin-top:4px;display:flex}.phase-dot{background:#e5e7eb;border-radius:50%;width:8px;height:8px;transition:background .2s}.phase-dot.done{background:var(--purple-light)}.phase-dot.current{background:var(--purple);box-shadow:0 0 0 2px #7c3aed40}.phase-legend{border-radius:var(--radius-sm);background:#fff;grid-template-columns:1fr 1fr;gap:6px;padding:12px;display:grid;box-shadow:0 2px 8px #0000000f}.legend-item{color:var(--text-muted);align-items:center;gap:6px;font-size:.85rem;font-weight:700;display:flex}.stats-btn{border-radius:var(--radius);color:var(--purple);border:2px solid var(--purple-light);background:#fff;padding:14px;font-size:1.05rem;font-weight:800;box-shadow:0 4px 12px #00000014}.game-screen{flex-direction:column;gap:14px;padding:8px 0 24px;animation:.3s slide-up;display:flex}.game-header{flex-direction:column;gap:8px;display:flex}.phase-badge{text-align:center;color:var(--purple-dark);background:#ede9fe;border-radius:999px;padding:7px 20px;font-size:1rem;font-weight:800}.table-label{color:var(--purple);font-weight:900}.header-stats{justify-content:center;align-items:center;gap:10px;display:flex}.stat-chip{color:var(--text);background:#fff;border-radius:999px;padding:7px 14px;font-size:.95rem;font-weight:800;box-shadow:0 2px 8px #00000012}.streak-chip{background:linear-gradient(135deg, var(--orange), #b45309);color:#fff;border-radius:999px;padding:7px 14px;font-size:.95rem;font-weight:900;animation:.3s pop-in;box-shadow:0 4px 12px #ea580c66}.progress-bar-wrap{background:#e5e7eb;border-radius:999px;height:10px;overflow:hidden}.progress-bar{background:linear-gradient(90deg, var(--purple-light), var(--purple));border-radius:999px;height:100%;transition:width .4s}.question-card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);justify-content:center;align-items:center;min-height:270px;padding:32px 24px;transition:background .2s;display:flex}.question-card.correct-flash{background:#f0fdf4;animation:.6s pulse-green}.question-card.wrong-flash{background:#fff8f0;animation:.4s shake,.6s pulse-red}.question-content{flex-direction:column;align-items:center;gap:24px;width:100%;display:flex}.question-text{color:var(--text);letter-spacing:-.02em;font-size:2.8rem;font-weight:900}.answer-row{align-items:center;gap:12px;display:flex}.answer-input{border-radius:var(--radius-sm);border:3px solid var(--purple-light);text-align:center;width:120px;color:var(--text);background:#fafaff;outline:none;padding:14px 16px;font-size:2rem;font-weight:900;transition:border-color .15s,box-shadow .15s}.answer-input:focus{border-color:var(--purple);box-shadow:0 0 0 4px #7c3aed26}.submit-btn{background:linear-gradient(135deg, var(--purple), var(--purple-dark));color:#fff;border-radius:50%;width:56px;height:56px;font-size:1.4rem;box-shadow:0 4px 12px #7c3aed66}.submit-btn:hover:not(:disabled){transform:scale(1.06);box-shadow:0 6px 16px #7c3aed80}.hint-text{color:var(--text-muted);font-size:.85rem;font-weight:600}.feedback-content{flex-direction:column;align-items:center;gap:14px;animation:.35s pop-in;display:flex}.feedback-emoji{font-size:3.8rem;line-height:1}.feedback-msg{color:var(--text);text-align:center;font-size:1.3rem;font-weight:900}.correct-answer{color:var(--red);border-radius:var(--radius-sm);background:#fff1f2;padding:8px 20px;font-size:1.05rem;font-weight:700}.best-streak{text-align:center;color:var(--orange);font-size:.95rem;font-weight:700}.results-screen{flex-direction:column;gap:20px;padding:8px 0 24px;animation:.4s slide-up;display:flex}.results-card{border-radius:var(--radius);box-shadow:var(--shadow);text-align:center;background:#fff;border:3px solid #0000;flex-direction:column;align-items:center;gap:12px;padding:28px 24px;display:flex}.results-card.result-mastered{border-color:var(--yellow);background:linear-gradient(#fefce8,#fff)}.results-card.result-advanced{border-color:var(--purple-light);background:linear-gradient(#f5f3ff,#fff)}.results-card.result-regressed{background:linear-gradient(#eff6ff,#fff);border-color:#bfdbfe}.stars-row{gap:8px;display:flex}.star{font-size:2.6rem;line-height:1}.star.lit{filter:drop-shadow(0 2px 6px #f59e0b80);animation:.4s both pop-in}.star.lit:first-child{animation-delay:.1s}.star.lit:nth-child(2){animation-delay:.25s}.star.lit:nth-child(3){animation-delay:.4s}.star.dim{filter:grayscale()opacity(.3)}.result-headline{color:var(--text);font-size:1.3rem;font-weight:900}.result-sub{color:var(--text-muted);font-size:.95rem;font-weight:700}.score-big{color:var(--text);letter-spacing:-.03em;font-size:3.2rem;font-weight:900}.score-denom{color:var(--text-muted);font-size:1.8rem}.next-phase-badge{color:var(--purple-dark);border-radius:var(--radius-sm);background:linear-gradient(135deg,#ede9fe,#ddd6fe);padding:10px 18px;font-size:.9rem;font-weight:800;animation:.4s .3s both pop-in}.result-chips{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.result-chip{color:var(--text);background:#f3f4f6;border-radius:999px;padding:7px 14px;font-size:.9rem;font-weight:800}.confetti-row{letter-spacing:4px;font-size:1.5rem;animation:.5s .5s both pop-in}.results-actions{flex-direction:column;gap:12px;display:flex}.replay-btn{border-radius:var(--radius);background:linear-gradient(135deg, var(--green), #15803d);color:#fff;padding:18px;font-size:1.3rem;font-weight:900;box-shadow:0 6px 20px #16a34a59}.replay-btn:hover{transform:translateY(-2px);box-shadow:0 8px 28px #16a34a73}.stats-btn-outline{border-radius:var(--radius);color:var(--purple);border:2px solid var(--purple-light);background:#fff;padding:14px;font-size:1.05rem;font-weight:800;box-shadow:0 4px 12px #00000014}.home-btn{border-radius:var(--radius);color:var(--text-muted);background:#f3f4f6;padding:14px;font-size:1.05rem;font-weight:800}.stats-screen{flex-direction:column;gap:16px;padding:8px 0 24px;animation:.3s slide-up;display:flex}.stats-header{align-items:center;gap:16px;display:flex}.stats-header h2{font-size:1.3rem;font-weight:900}.back-btn{border-radius:var(--radius-sm);color:var(--purple);border:2px solid var(--purple-light);background:#fff;padding:10px 16px;font-size:.95rem;font-weight:800;box-shadow:0 2px 8px #00000014}.no-stats{text-align:center;color:var(--text-muted);padding:40px 0;font-size:1.1rem;font-weight:700}.summary-chips{grid-template-columns:1fr 1fr;gap:10px;display:grid}.summary-chip{border-radius:var(--radius-sm);background:#fff;flex-direction:column;align-items:center;gap:4px;padding:14px;display:flex;box-shadow:0 2px 8px #0000000f}.chip-val{color:var(--text);font-size:1.4rem;font-weight:900}.chip-label{color:var(--text-muted);text-transform:uppercase;font-size:.75rem;font-weight:700}.session-list{flex-direction:column;gap:7px;max-height:340px;display:flex;overflow-y:auto}.session-row{border-radius:var(--radius-sm);background:#fff;align-items:center;gap:8px;padding:10px 14px;font-size:.85rem;font-weight:700;display:flex;box-shadow:0 2px 6px #0000000d}.session-date{color:var(--text-muted);flex:1;font-size:.8rem}.session-phase{color:var(--purple);font-weight:800}.session-score{color:var(--text);font-weight:900}.session-result{color:var(--text-muted);font-size:.75rem}.session-stars{gap:1px;display:flex}.star-lit{font-size:.85rem}.star-dim{filter:grayscale()opacity(.3);font-size:.85rem}.clear-btn{border-radius:var(--radius-sm);color:var(--red);background:#fff1f2;align-self:center;padding:12px 24px;font-size:.9rem;font-weight:800}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--purple:#7c3aed;--purple-light:#a78bfa;--purple-dark:#5b21b6;--green:#16a34a;--green-light:#4ade80;--red:#dc2626;--red-light:#fca5a5;--yellow:#f59e0b;--orange:#ea580c;--bg:#f0f4ff;--card:#fff;--text:#1e1b4b;--text-muted:#6b7280;--radius:20px;--radius-sm:12px;--shadow:0 8px 32px #7c3aed26}html,body,#root{width:100%;height:100%}body{color:var(--text);background:linear-gradient(135deg,#e0e7ff 0%,#f0fdf4 100%);justify-content:center;align-items:center;min-height:100vh;padding:16px;font-family:Nunito,Segoe UI,system-ui,sans-serif;display:flex}#root{flex-direction:column;width:100%;max-width:480px;min-height:100%;display:flex}button{cursor:pointer;border:none;font-family:inherit;font-weight:700;transition:transform .1s,box-shadow .1s,opacity .1s}button:active{transform:scale(.96)}button:disabled{opacity:.4;cursor:not-allowed}input[type=number]{font-family:inherit}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none}@keyframes pop-in{0%{opacity:0;transform:scale(.6)}70%{transform:scale(1.08)}to{opacity:1;transform:scale(1)}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-5px)}80%{transform:translate(5px)}}@keyframes pulse-green{0%{box-shadow:0 0 #4ade8080}70%{box-shadow:0 0 0 16px #4ade8000}to{box-shadow:0 0 #4ade8000}}@keyframes pulse-red{0%{box-shadow:0 0 #fca5a599}70%{box-shadow:0 0 0 16px #fca5a500}to{box-shadow:0 0 #fca5a500}}@keyframes bounce-in{0%{transform:scale(0)}50%{transform:scale(1.3)}75%{transform:scale(.9)}to{transform:scale(1)}}@keyframes slide-up{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
