@keyframes confetti-fall{0%{opacity:1;transform:translateY(-20px)rotate(0)}to{opacity:0;transform:translateY(100vh)rotate(720deg)}}.confetti-container{pointer-events:none;z-index:1000;width:100%;height:100%;position:fixed;top:0;left:0;overflow:hidden}.confetti-piece{border-radius:2px;animation:linear forwards confetti-fall;position:absolute;top:-10px}.home-screen{flex-direction:column;align-items:center;gap:1.5rem;min-height:100vh;padding:2rem 1.5rem;display:flex}.hero{text-align:center;margin-bottom:1rem}.hero-icon{font-size:4rem;animation:2s ease-in-out infinite bounce}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.hero-title{background:linear-gradient(135deg, var(--color-primary), var(--color-secondary));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:.5rem 0;font-size:2.5rem;font-weight:800}.hero-subtitle{color:var(--color-text-light);font-size:1.1rem}.section{text-align:center;width:100%}.section-title{color:var(--color-text);margin-bottom:.75rem;font-size:1.2rem;font-weight:700}.option-grid{grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:.75rem;width:100%;display:grid}.option-card{border-radius:var(--radius);background:var(--color-card);box-shadow:var(--shadow);cursor:pointer;color:var(--color-text);border:3px solid #0000;flex-direction:column;align-items:center;gap:.4rem;padding:1rem .5rem;font-family:inherit;font-size:.95rem;font-weight:600;transition:all .2s;display:flex}.option-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.option-card.selected{border-color:var(--color-primary);background:linear-gradient(135deg,#6c5ce714,#fd79a814);transform:scale(1.05)}.option-icon{font-size:1.8rem}.difficulty-row{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}.difficulty-btn{border-radius:var(--radius);background:var(--color-card);box-shadow:var(--shadow);cursor:pointer;color:var(--color-text);border:3px solid #0000;flex-direction:column;align-items:center;gap:.3rem;min-width:100px;padding:.8rem 1.5rem;font-family:inherit;font-size:.95rem;font-weight:600;transition:all .2s;display:flex}.difficulty-btn:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.difficulty-btn.selected{border-color:var(--color-accent);background:linear-gradient(135deg,#00b89414,#55efc414);transform:scale(1.05)}.difficulty-icon{font-size:1.5rem}.count-row{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}.count-btn{background:var(--color-card);width:50px;height:50px;box-shadow:var(--shadow);cursor:pointer;color:var(--color-text);border:3px solid #0000;border-radius:50%;font-family:inherit;font-size:1rem;font-weight:700;transition:all .2s}.count-btn:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.count-btn.selected{border-color:var(--color-warning);background:linear-gradient(135deg,#fdcb6e26,#e1705526);transform:scale(1.1)}.start-btn{background:linear-gradient(135deg, var(--color-primary), var(--color-secondary));color:#fff;cursor:pointer;width:100%;max-width:300px;box-shadow:var(--shadow-lg);border:none;border-radius:50px;margin-top:auto;padding:1rem 2rem;font-family:inherit;font-size:1.3rem;font-weight:700;transition:all .3s}.start-btn:hover{transform:translateY(-3px)scale(1.02);box-shadow:0 12px 35px #6c5ce759}.start-btn:active{transform:scale(.98)}.results-screen{flex-direction:column;align-items:center;gap:1.5rem;min-height:100vh;padding:2rem 1.5rem;display:flex}.results-header{text-align:center;flex-direction:column;align-items:center;gap:1rem;display:flex}.grade-circle{background:linear-gradient(135deg, var(--color-primary), var(--color-secondary));color:#fff;width:120px;height:120px;box-shadow:var(--shadow-lg);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;animation:.5s ease-out pop-in;display:flex}@keyframes pop-in{0%{opacity:0;transform:scale(0)}80%{transform:scale(1.1)}to{transform:scale(1)}}.grade-emoji{font-size:2.5rem}.grade-text{font-size:1.2rem;font-weight:800}.score-circle{text-align:center}.score-fraction{color:var(--color-primary);font-size:2rem;font-weight:800}.score-percent{color:var(--color-text-light);font-size:1.1rem;font-weight:600;display:block}.star-row{gap:.3rem;display:flex}.star{opacity:.3;filter:grayscale();font-size:2rem;transition:all .3s}.star.lit{opacity:1;filter:grayscale(0%);animation:.3s ease-out star-pop}@keyframes star-pop{0%{transform:scale(.5)}80%{transform:scale(1.3)}to{transform:scale(1)}}.grade-message{color:var(--color-text);text-align:center;max-width:400px;font-size:1.2rem;font-weight:600}.stats-summary{flex-wrap:wrap;justify-content:center;gap:1.5rem;display:flex}.mini-stat{background:var(--color-card);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;align-items:center;gap:.3rem;padding:1rem 1.5rem;display:flex}.mini-stat-value{font-size:1.3rem;font-weight:800}.mini-stat-label{color:var(--color-text-light);font-size:.85rem;font-weight:600}.review-section{text-align:center;width:100%}.review-title{margin-bottom:.75rem;font-size:1.2rem;font-weight:700}.review-list{flex-direction:column;gap:.5rem;display:flex}.review-item{background:var(--color-card);box-shadow:var(--shadow);text-align:left;border-radius:12px;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.review-item.correct{border-left:4px solid var(--color-success)}.review-item.wrong{border-left:4px solid var(--color-wrong)}.review-icon{font-size:1.2rem}.review-problem{font-size:1.1rem;font-weight:700}.review-your-answer{color:var(--color-wrong);margin-left:auto;font-size:.9rem;font-weight:600}.play-again-btn{background:linear-gradient(135deg, var(--color-primary), var(--color-secondary));color:#fff;cursor:pointer;width:100%;max-width:300px;box-shadow:var(--shadow-lg);border:none;border-radius:50px;margin-top:auto;padding:1rem 2rem;font-family:inherit;font-size:1.2rem;font-weight:700;transition:all .3s}.play-again-btn:hover{transform:translateY(-3px)scale(1.02);box-shadow:0 12px 35px #6c5ce759}.play-again-btn:active{transform:scale(.98)}:root{--color-bg:#f0f4ff;--color-primary:#6c5ce7;--color-secondary:#fd79a8;--color-accent:#00b894;--color-warning:#fdcb6e;--color-danger:#e17055;--color-card:#fff;--color-text:#2d3436;--color-text-light:#636e72;--color-success:#00b894;--color-wrong:#e17055;--radius:16px;--shadow:0 4px 15px #6c5ce726;--shadow-lg:0 8px 30px #6c5ce733}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--color-bg);color:var(--color-text);min-height:100vh;font-family:Nunito,Segoe UI,system-ui,-apple-system,sans-serif;overflow-x:hidden}#root{justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex}.app{flex-direction:column;width:100%;max-width:600px;min-height:100vh;display:flex}.quiz-container{gap:1rem;padding:1.5rem}.progress-bar{background:#6c5ce726;border-radius:4px;width:100%;height:8px;overflow:hidden}.progress-fill{background:linear-gradient(90deg, var(--color-primary), var(--color-secondary));border-radius:4px;height:100%;transition:width .4s}.stats-row{justify-content:center;gap:.75rem;display:flex}.stat-badge{background:var(--color-card);box-shadow:var(--shadow);border-radius:12px;flex-direction:column;align-items:center;min-width:80px;padding:.5rem 1rem;transition:all .3s;display:flex}.stat-badge.streak-hot{border:2px solid var(--color-warning);animation:1s ease-in-out infinite pulse}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.stat-label{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-light);font-size:.7rem;font-weight:700}.stat-value{color:var(--color-primary);font-size:1.1rem;font-weight:800}.stat-value.glow{color:var(--color-warning);animation:1s ease-in-out infinite alternate glow}@keyframes glow{0%{text-shadow:0 0 5px #fdcb6e80}to{text-shadow:0 0 15px #fdcb6ecc}}.problem-area{background:var(--color-card);border-radius:var(--radius);box-shadow:var(--shadow-lg);flex-direction:column;align-items:center;gap:1rem;padding:2rem 1rem;display:flex}.problem-row{align-items:center;gap:1rem;font-size:3.5rem;font-weight:800;display:flex}.number{color:var(--color-text)}.operator{color:var(--color-primary);font-size:2.5rem}.answer-row{align-items:center;gap:.75rem;display:flex}.equals{color:var(--color-text-light);font-size:2.5rem;font-weight:800}.answer-input{text-align:center;width:120px;height:60px;color:var(--color-primary);background:#6c5ce70d;border:3px solid #6c5ce74d;border-radius:12px;outline:none;font-family:inherit;font-size:2.5rem;font-weight:800;transition:all .2s}.answer-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 4px #6c5ce726}.answer-input.correct{border-color:var(--color-success);background:#00b8941a;box-shadow:0 0 0 4px #00b89426}.answer-input.wrong{border-color:var(--color-wrong);background:#e170551a;box-shadow:0 0 0 4px #e1705526}.answer-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.answer-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.answer-input[type=number]{-moz-appearance:textfield}.feedback-area{flex-direction:column;align-items:center;gap:.75rem;display:flex}.feedback-emoji{border-radius:50px;padding:.5rem 1rem;font-size:1.3rem;font-weight:700;animation:.3s ease-out feedback-pop}.feedback-emoji.correct{color:var(--color-success);background:#00b89426}.feedback-emoji.wrong{color:var(--color-wrong);background:#e1705526}@keyframes feedback-pop{0%{opacity:0;transform:scale(.5)}80%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.mistake-reveal{color:var(--color-text-light);font-size:1rem;font-weight:600}.correct-answer{color:var(--color-wrong);font-size:1.1rem;font-weight:800}.next-btn,.submit-btn{cursor:pointer;border:none;border-radius:50px;padding:.8rem 2rem;font-family:inherit;font-size:1.1rem;font-weight:700;transition:all .2s}.next-btn{background:var(--color-primary);color:#fff;box-shadow:var(--shadow)}.next-btn:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.submit-btn{background:linear-gradient(135deg, var(--color-primary), var(--color-secondary));color:#fff;box-shadow:var(--shadow-lg);padding:1rem 3rem;font-size:1.2rem}.submit-btn:hover:not(:disabled){transform:translateY(-2px)scale(1.02);box-shadow:0 12px 35px #6c5ce759}.submit-btn:disabled{opacity:.5;cursor:not-allowed}.star-display{justify-content:center;gap:.3rem;margin-top:auto;padding:1rem 0;display:flex}.star-display .star{opacity:.3;filter:grayscale();font-size:1.5rem;transition:all .3s}.star-display .star.lit{opacity:1;filter:grayscale(0%);animation:.3s ease-out star-pop}
