*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--primary: #FF6B6B;--secondary: #4ECDC4;--accent: #FFE66D;--purple: #A855F7;--pink: #EC4899;--green: #22C55E;--blue: #3B82F6;--orange: #FB923C;--bg-start: #FFF5F5;--bg-mid: #F0F9FF;--bg-end: #FFF7ED;--text: #2D3748;--text-light: #718096;--shadow: 0 4px 15px rgba(0,0,0,.1);--shadow-lg: 0 8px 30px rgba(0,0,0,.15);--radius: 20px;--radius-sm: 12px;--radius-lg: 28px;font-family:Nunito,Segoe UI,system-ui,-apple-system,sans-serif}html,body,#root{min-height:100vh;min-height:100dvh;overflow-x:hidden;-webkit-tap-highlight-color:transparent;touch-action:manipulation;user-select:none;-webkit-user-select:none}body{background:linear-gradient(135deg,var(--bg-start) 0%,var(--bg-mid) 50%,var(--bg-end) 100%);color:var(--text)}.app{min-height:100vh;min-height:100dvh;width:100%;max-width:480px;margin:0 auto;position:relative;overflow:hidden}.screen{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;padding:16px;animation:fadeIn .3s ease}.screen-header{display:flex;align-items:center;justify-content:space-between;padding:8px 0 16px;gap:8px}.screen-header h2{font-size:1.25rem;font-weight:800;text-align:center;flex:1}.header-stars{font-weight:700;font-size:1rem;white-space:nowrap}.welcome-screen{justify-content:center;align-items:center;text-align:center;background:linear-gradient(180deg,#ffe5f0,#e8f4fd,#fff9e5);position:relative;overflow:hidden}.welcome-bg{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.floating-shape{position:absolute;width:40px;height:40px;border-radius:50%;opacity:.3;animation:float 6s ease-in-out infinite}.shape-0{top:10%;left:10%;background:var(--primary);animation-delay:0s}.shape-1{top:15%;right:15%;background:var(--secondary);animation-delay:.5s;width:30px;height:30px}.shape-2{top:30%;left:5%;background:var(--accent);animation-delay:1s}.shape-3{bottom:30%;right:10%;background:var(--purple);animation-delay:1.5s;width:50px;height:50px}.shape-4{bottom:20%;left:15%;background:var(--pink);animation-delay:2s}.shape-5{top:50%;right:20%;background:var(--green);animation-delay:.3s;width:25px;height:25px}.shape-6{top:70%;left:30%;background:var(--blue);animation-delay:.8s;width:35px;height:35px}.shape-7{top:5%;left:50%;background:var(--orange);animation-delay:1.2s}.shape-8{bottom:10%;right:30%;background:var(--primary);animation-delay:1.8s;width:45px;height:45px}.shape-9{top:40%;left:70%;background:var(--secondary);animation-delay:2.2s;width:28px;height:28px}.shape-10{bottom:40%;left:60%;background:var(--accent);animation-delay:.6s}.shape-11{top:60%;right:5%;background:var(--purple);animation-delay:1.4s;width:32px;height:32px}.welcome-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:20px}.mascot-container{position:relative;margin-bottom:10px}.mascot{font-size:80px;animation:bounce 2s ease-in-out infinite;display:inline-block;position:relative}.mascot-wave{position:absolute;right:-20px;top:-5px;font-size:30px;animation:wave 1.5s ease-in-out infinite;transform-origin:bottom center}.welcome-title{font-size:2.5rem;font-weight:900;display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.title-word{animation:titlePop .6s ease backwards;text-shadow:2px 2px 0 rgba(0,0,0,.1)}.title-word:nth-child(1){animation-delay:.2s}.title-word:nth-child(2){animation-delay:.4s}.title-word:nth-child(3){animation-delay:.6s}.welcome-subtitle{font-size:1.1rem;color:var(--text-light);font-weight:600}.btn-start{margin-top:10px;animation:pulse 2s ease-in-out infinite}.welcome-stars{display:flex;gap:20px;margin-top:10px}.welcome-star{font-size:2rem;animation:sparkle 2s ease-in-out infinite}.star-0{animation-delay:0s}.star-1{animation-delay:.5s}.star-2{animation-delay:1s}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 28px;border:none;border-radius:var(--radius);font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .2s ease;font-family:inherit;position:relative;overflow:hidden}.btn:active{transform:scale(.95)}.btn-primary{background:linear-gradient(135deg,var(--primary),#FF8E8E);color:#fff;box-shadow:0 4px 15px #ff6b6b66}.btn-primary:hover{box-shadow:0 6px 20px #ff6b6b80;transform:translateY(-2px)}.btn-secondary{background:linear-gradient(135deg,var(--secondary),#6EE7DF);color:#fff;box-shadow:0 4px 15px #4ecdc466}.btn-huge{padding:20px 48px;font-size:1.5rem;border-radius:var(--radius-lg)}.btn-large{padding:16px 36px;font-size:1.2rem}.btn-small{padding:8px 16px;font-size:.9rem;border-radius:var(--radius-sm)}.btn-text{background:none;color:var(--text-light);padding:8px 16px;font-size:.95rem;font-weight:600}.btn-text:hover{color:var(--text)}.btn-danger{background:linear-gradient(135deg,#ef4444,#f87171);color:#fff;padding:12px 24px;border:none;border-radius:var(--radius);font-size:1rem;font-weight:700;cursor:pointer;font-family:inherit;margin-top:16px}.btn-icon{font-size:1.3em}.btn-back{background:#fffc;border:2px solid #E2E8F0;border-radius:var(--radius-sm);padding:8px 14px;font-size:.95rem;font-weight:700;cursor:pointer;font-family:inherit;color:var(--text);transition:all .2s;white-space:nowrap}.btn-back:active{transform:scale(.95)}.btn-icon-circle{width:52px;height:52px;border-radius:50%;border:2px solid #E2E8F0;background:#ffffffe6;font-size:1.4rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;font-family:inherit}.btn-icon-circle:active{transform:scale(.9)}.btn-skip{background:none;border:2px dashed #CBD5E0;border-radius:var(--radius);padding:10px 24px;font-size:1rem;font-weight:600;color:var(--text-light);cursor:pointer;font-family:inherit;margin-top:12px}.profile-screen{background:linear-gradient(180deg,#f0f9ff,#fff5f5)}.profile-section{flex:1;display:flex;flex-direction:column;gap:16px}.profile-section h3{font-size:1.3rem;font-weight:800;text-align:center}.profile-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.profile-card{background:#fff;border:3px solid #E2E8F0;border-radius:var(--radius);padding:20px 16px;display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer;transition:all .2s;position:relative;font-family:inherit}.profile-card:active{transform:scale(.95);border-color:var(--secondary)}.profile-delete{position:absolute;top:6px;right:6px;width:24px;height:24px;border-radius:50%;border:none;background:#fee2e2;color:#ef4444;font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;font-family:inherit}.profile-avatar{font-size:3rem}.profile-name{font-weight:700;font-size:1.05rem}.avatar-picker{text-align:center}.avatar-picker p{font-weight:600;margin-bottom:10px;color:var(--text-light)}.avatar-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px}.avatar-option{width:60px;height:60px;border-radius:50%;border:3px solid #E2E8F0;background:#fff;font-size:2rem;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;margin:0 auto}.avatar-option.selected{border-color:var(--secondary);background:#e6fffa;box-shadow:0 0 0 3px #4ecdc44d}.avatar-option:active{transform:scale(.9)}.name-input-group{margin-bottom:12px}.name-input{width:100%;padding:16px 20px;border:3px solid #E2E8F0;border-radius:var(--radius);font-size:1.2rem;font-weight:600;text-align:center;font-family:inherit;color:var(--text);background:#fff;transition:border-color .2s}.name-input:focus{outline:none;border-color:var(--secondary)}.name-input::placeholder{color:#cbd5e0}.new-profile{gap:20px}.menu-screen{background:linear-gradient(180deg,#fff5f5,#f0f9ff,#fff9e5);gap:16px}.menu-header{display:flex;align-items:center;justify-content:space-between;padding:8px 0}.menu-profile{display:flex;align-items:center;gap:8px}.menu-avatar{font-size:2rem}.menu-name{font-weight:700;font-size:1.05rem}.menu-stars-display{display:flex;align-items:center;gap:4px;background:#ffe66d4d;padding:6px 14px;border-radius:20px;font-weight:800}.star-icon{font-size:1.2rem}.star-count{font-size:1.1rem}.menu-title{font-size:1.3rem;font-weight:800;text-align:center}.category-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;flex:1;align-content:start}.category-card{background:#fff;border:3px solid #E2E8F0;border-radius:var(--radius);padding:20px 14px;display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer;transition:all .25s ease;font-family:inherit;position:relative;overflow:hidden}.category-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--cat-color)}.category-card:active{transform:scale(.95)}.category-icon{font-size:2.8rem}.category-label{font-size:1.15rem;font-weight:800}.category-desc{font-size:.8rem;color:var(--text-light);font-weight:500}.category-progress-bar{width:100%;height:6px;background:#e2e8f0;border-radius:3px;overflow:hidden}.category-progress-fill{height:100%;background:var(--cat-color);border-radius:3px;transition:width .5s ease}.category-stars-small{font-size:.8rem;font-weight:700;color:var(--text-light)}.menu-bottom{display:flex;justify-content:center;gap:14px;padding:12px 0}.level-map-screen{background:linear-gradient(180deg,#f0f9ff,#fff5f5)}.difficulty-tabs{display:flex;gap:8px;margin-bottom:16px}.diff-tab{flex:1;padding:10px 8px;border:2px solid #E2E8F0;border-radius:var(--radius-sm);background:#fff;font-size:.9rem;font-weight:700;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px;transition:all .2s;font-family:inherit;color:var(--text-light)}.diff-tab.active{border-color:var(--diff-color);background:color-mix(in srgb,var(--diff-color) 10%,white);color:var(--text);box-shadow:0 2px 10px color-mix(in srgb,var(--diff-color) 25%,transparent)}.diff-tab:active{transform:scale(.95)}.level-path{flex:1;display:flex;flex-direction:column;gap:4px;overflow-y:auto;padding-bottom:20px}.level-node-wrapper{display:flex;flex-direction:column;align-items:center;animation:slideUp .4s ease backwards}.level-path-line{width:4px;height:24px;background:#e2e8f0;border-radius:2px}.level-path-line.unlocked{background:var(--secondary)}.level-node{width:100%;max-width:300px;padding:16px 20px;border:3px solid #E2E8F0;border-radius:var(--radius);background:#fff;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:14px;font-family:inherit;text-align:left}.level-node.unlocked:active{transform:scale(.97)}.level-node.completed{border-color:var(--green);background:linear-gradient(135deg,#f0fff4,#fff)}.level-node.locked{opacity:.6;cursor:not-allowed;background:#f7fafc}.level-number{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--secondary),var(--blue));color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.2rem;font-weight:800;flex-shrink:0}.level-node.locked .level-number{background:#cbd5e0;font-size:1.3rem}.level-node.completed .level-number{background:linear-gradient(135deg,var(--green),#4ADE80)}.level-title{flex:1;font-weight:700;font-size:1rem}.level-stars{display:flex;gap:2px;font-size:.9rem}.star-filled{opacity:1}.star-empty{opacity:.25}.level-req{font-size:.8rem;color:var(--text-light);font-weight:600}.game-screen{background:linear-gradient(180deg,#fff,#f0f9ff)}.game-header{display:flex;align-items:center;justify-content:space-between;padding:8px 0 12px;gap:8px}.game-progress{font-weight:700;font-size:.95rem;color:var(--text-light)}.game-score{font-weight:800;font-size:1.05rem}.feedback-banner{text-align:center;padding:10px;border-radius:var(--radius-sm);font-weight:800;font-size:1.1rem;animation:slideDown .3s ease}.feedback-banner.correct{background:#f0fff4;color:#16a34a;border:2px solid #BBF7D0}.feedback-banner.wrong{background:#fff5f5;color:#dc2626;border:2px solid #FECACA}.game-activity{flex:1;display:flex;flex-direction:column;gap:16px}.game-prompt{text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px}.game-prompt h3{font-size:1.2rem;font-weight:800}.game-title{text-align:center;font-size:1.2rem;font-weight:800;margin-bottom:8px}.big-letter,.big-number{font-size:5rem;font-weight:900;line-height:1;animation:popIn .4s ease}.big-emoji{font-size:4rem;animation:popIn .4s ease}.letter-word,.tracing-target{display:flex;align-items:center;gap:8px;font-size:1.3rem;font-weight:700}.tracing-target{flex-direction:column;gap:4px}.tracing-target-lowercase{font-size:2rem;color:var(--text-light)}.game-options{display:grid;gap:12px;flex:1;align-content:start}.grid-2x2{grid-template-columns:1fr 1fr}.game-option-btn{padding:20px 12px;border:3px solid #E2E8F0;border-radius:var(--radius);background:#fff;font-size:1.8rem;font-weight:800;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;align-items:center;gap:8px;font-family:inherit;color:var(--text);min-height:80px;justify-content:center}.game-option-btn:active{transform:scale(.95)}.game-option-btn.correct{border-color:var(--green);background:#f0fff4;animation:correctPulse .5s ease}.game-option-btn.shake{animation:shake .5s ease}.letter-option{font-size:2.5rem}.lowercase-option{font-size:2.2rem}.number-option{font-size:2rem}.phonics-btn{background:linear-gradient(135deg,var(--accent),#FFF0B3);border:3px solid #FDE68A;border-radius:var(--radius);padding:12px 24px;font-size:1.2rem;font-weight:700;cursor:pointer;font-family:inherit;transition:all .2s}.phonics-btn:active{transform:scale(.95)}.speak-btn{background:linear-gradient(135deg,#e8f4fd,#dbeafe);border:2px solid #BFDBFE;border-radius:var(--radius-sm);padding:10px 20px;font-size:1rem;font-weight:700;cursor:pointer;font-family:inherit;transition:all .2s}.speak-btn:active{transform:scale(.95)}.counting-display{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;padding:16px}.counting-object{font-size:2.5rem;cursor:pointer;transition:all .3s ease;animation:popIn .3s ease backwards;filter:grayscale(.8);opacity:.5}.counting-object.counted{filter:grayscale(0);opacity:1;transform:scale(1.2)}.counting-object:active{transform:scale(.9)}.count-status{font-weight:700;font-size:1.1rem;color:var(--secondary)}.math-problem{display:flex;align-items:center;gap:12px;font-size:2.5rem;font-weight:900}.math-num{background:linear-gradient(135deg,#e8f4fd,#dbeafe);padding:8px 20px;border-radius:var(--radius-sm)}.math-op{color:var(--primary)}.math-eq{color:var(--text-light)}.math-q{color:var(--accent);font-size:3rem;animation:bounce 1s ease-in-out infinite}.color-preview{width:120px;height:120px;border-radius:50%;border:4px solid rgba(0,0,0,.1);box-shadow:var(--shadow);animation:popIn .4s ease}.shape-preview{animation:popIn .4s ease}.shape-color-option{font-size:1rem}.option-color-swatch{width:50px;height:50px;border-radius:50%;border:3px solid rgba(0,0,0,.1)}.option-shape svg{display:block}.option-label{font-size:.9rem;font-weight:700}.tracing-container{display:flex;flex-direction:column;align-items:center;gap:12px}.tracing-canvas{width:100%;max-width:280px;aspect-ratio:1;border:3px solid #E2E8F0;border-radius:var(--radius);background:#fff;touch-action:none;cursor:crosshair}.btn-clear{background:#fee2e2;color:#ef4444;border:2px solid #FECACA}.tracing-hint{font-weight:600;color:var(--text-light)}.balloon-screen{background:linear-gradient(180deg,#87ceeb,#b4e4ff,#fff)}.balloon-target{text-align:center;font-size:1.3rem;font-weight:800;padding:10px}.target-value{font-size:1.8rem;color:var(--primary)}.balloon-field{flex:1;position:relative;overflow:hidden;min-height:300px}.balloon{position:absolute;bottom:-80px;width:60px;height:75px;border-radius:50%/60% 60% 40% 40%;background:var(--balloon-color);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;animation:floatUp 4s ease-in forwards;box-shadow:inset -10px -5px 15px #0000001a;font-family:inherit}.balloon:after{content:"";position:absolute;bottom:-15px;left:50%;transform:translate(-50%);width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:10px solid var(--balloon-color)}.balloon-value{font-size:1.4rem;font-weight:900;color:#fff;text-shadow:1px 1px 2px rgba(0,0,0,.2)}.balloon-string{position:absolute;bottom:-40px;left:50%;width:2px;height:30px;background:#999}.balloon:active{transform:scale(1.3);opacity:0;transition:all .2s}.memory-grid{display:grid;gap:10px;padding:8px;flex:1;align-content:start}.memory-card{aspect-ratio:1;border:3px solid #E2E8F0;border-radius:var(--radius-sm);background:#fff;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;font-size:1.8rem;position:relative;font-family:inherit;overflow:hidden}.card-front,.card-back{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:all .3s ease;backface-visibility:hidden}.card-front{background:linear-gradient(135deg,var(--primary),var(--pink));font-size:1.5rem;color:#fff}.card-back{background:#fff;transform:rotateY(180deg)}.memory-card.flipped .card-front{transform:rotateY(180deg)}.memory-card.flipped .card-back{transform:rotateY(0)}.memory-card.matched{border-color:var(--green);background:#f0fff4}.card-emoji{font-size:2rem}.card-value{font-size:1.2rem;font-weight:800}.celebration-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:100;animation:fadeIn .3s ease}.celebration-content{background:#fff;border-radius:var(--radius-lg);padding:40px 32px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:16px;animation:popIn .5s ease;max-width:340px;width:90%;box-shadow:var(--shadow-lg)}.celebration-emoji{font-size:4rem;animation:bounce 1s ease-in-out infinite}.celebration-title{font-size:1.8rem;font-weight:900;color:var(--text)}.celebration-stars{display:flex;gap:16px}.celebration-star{font-size:3rem;animation:starReveal .5s ease backwards}.celebration-star.earned{animation:starReveal .5s ease backwards,pulse 1.5s ease-in-out infinite .5s}.celebration-star.empty{opacity:.2;font-size:3rem}.celebration-score{font-size:1.3rem;font-weight:700;color:var(--text-light)}.celebration-btn{margin-top:8px;width:100%}.confetti-container{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:101}.confetti{position:absolute;top:-20px;width:10px;height:10px;border-radius:2px;animation:confettiFall linear forwards}.confetti-0{background:var(--primary)}.confetti-1{background:var(--secondary)}.confetti-2{background:var(--accent)}.confetti-3{background:var(--purple)}.confetti-4{background:var(--pink)}.confetti-5{background:var(--green)}.dashboard-screen{background:linear-gradient(180deg,#f7fafc,#edf2f7)}.dashboard-content{flex:1;display:flex;flex-direction:column;gap:16px;overflow-y:auto;padding-bottom:20px}.dashboard-profile{display:flex;align-items:center;gap:12px;padding:12px;background:#fff;border-radius:var(--radius);box-shadow:var(--shadow)}.dashboard-avatar{font-size:2.5rem}.dashboard-name{font-size:1.2rem;font-weight:800}.dashboard-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px}.summary-card{background:#fff;border-radius:var(--radius);padding:16px;text-align:center;box-shadow:var(--shadow)}.summary-value{font-size:1.5rem;font-weight:900}.summary-label{font-size:.85rem;color:var(--text-light);font-weight:600;margin-top:4px}.dashboard-progress{background:#fff;border-radius:var(--radius);padding:16px;box-shadow:var(--shadow)}.dashboard-progress h3{font-size:1rem;font-weight:800;margin-bottom:10px}.progress-bar-large{height:16px;background:#e2e8f0;border-radius:8px;overflow:hidden}.progress-fill-large{height:100%;background:linear-gradient(90deg,var(--secondary),var(--green));border-radius:8px;transition:width 1s ease}.progress-text{text-align:center;margin-top:8px;font-weight:600;color:var(--text-light);font-size:.9rem}.dashboard-categories{background:#fff;border-radius:var(--radius);padding:16px;box-shadow:var(--shadow)}.dashboard-categories h3{font-size:1rem;font-weight:800;margin-bottom:14px}.skill-row{margin-bottom:14px}.skill-row:last-child{margin-bottom:0}.skill-header{display:flex;justify-content:space-between;font-weight:700;font-size:.95rem;margin-bottom:6px}.skill-bar{height:10px;background:#e2e8f0;border-radius:5px;overflow:hidden}.skill-fill{height:100%;border-radius:5px;transition:width .8s ease}.skill-detail{font-size:.8rem;color:var(--text-light);margin-top:4px}.dashboard-trophies,.dashboard-stickers{background:#fff;border-radius:var(--radius);padding:16px;box-shadow:var(--shadow)}.dashboard-trophies h3,.dashboard-stickers h3{font-size:1rem;font-weight:800;margin-bottom:10px}.trophy-grid,.sticker-grid{display:flex;flex-wrap:wrap;gap:8px}.trophy-item,.sticker-item{background:#fff9e5;padding:8px 14px;border-radius:var(--radius-sm);font-weight:700;font-size:.9rem}.dashboard-settings{background:#fff;border-radius:var(--radius);padding:16px;box-shadow:var(--shadow)}.dashboard-settings h3{font-size:1rem;font-weight:800;margin-bottom:12px}.settings-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid #F1F5F9;font-weight:600}.settings-row:last-of-type{border-bottom:none}.toggle-btn{padding:6px 16px;border:2px solid #E2E8F0;border-radius:20px;background:#fff;font-weight:700;font-size:.85rem;cursor:pointer;font-family:inherit;transition:all .2s;color:var(--text-light)}.toggle-btn.on{background:var(--green);color:#fff;border-color:var(--green)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes popIn{0%{opacity:0;transform:scale(.5)}70%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-15px)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes wave{0%,to{transform:rotate(0)}25%{transform:rotate(20deg)}75%{transform:rotate(-10deg)}}@keyframes float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-20px) rotate(10deg)}}@keyframes sparkle{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.3)}}@keyframes titlePop{0%{opacity:0;transform:scale(0) rotate(-10deg)}70%{transform:scale(1.1) rotate(3deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes correctPulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-8px)}75%{transform:translate(8px)}}@keyframes floatUp{0%{bottom:-80px;opacity:1}80%{opacity:1}to{bottom:100%;opacity:0}}@keyframes confettiFall{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:0}}@keyframes starReveal{0%{opacity:0;transform:scale(0) rotate(-180deg)}70%{transform:scale(1.3) rotate(10deg)}to{opacity:1;transform:scale(1) rotate(0)}}@media(min-width:480px){.app{border-left:1px solid #E2E8F0;border-right:1px solid #E2E8F0}}@media(min-width:768px){.app{max-width:480px;box-shadow:0 0 40px #0000001a}}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#cbd5e0;border-radius:2px}
