:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body,#root{width:100%;height:100%;margin:0;padding:0}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;min-height:100vh;width:100%;overflow-x:hidden}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:none;box-shadow:0 0 0 3px #667eea66}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.operation-selector{display:flex;gap:1.5rem}.operation-option{display:flex;align-items:center;gap:.5rem;cursor:pointer;color:#333;font-size:1.1rem;font-weight:500}.operation-option input[type=radio]{width:1.2rem;height:1.2rem;accent-color:#667eea}.app{min-height:100vh;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px;box-sizing:border-box}.game{background:#fff;border-radius:24px;padding:40px;box-shadow:0 20px 60px #0000004d;max-width:600px;width:100%;min-width:300px;text-align:center;box-sizing:border-box}.game h1{color:#667eea;font-size:2.5rem;margin:0 0 30px;font-weight:800}.loading{color:#fff;font-size:1.5rem;font-weight:600}.problem-display{margin:30px 0}.problem-counter{color:#888;font-size:1rem;margin-bottom:20px;font-weight:500}.problem-text{font-size:4rem;font-weight:800;color:#333;margin:20px 0;font-family:Courier New,monospace}.answer-input{display:flex;gap:12px;justify-content:center;margin:30px 0}.answer-field{font-size:2rem;padding:16px 24px;border:3px solid #667eea;border-radius:12px;width:200px;text-align:center;font-weight:600;outline:none;transition:all .2s}.answer-field:focus{border-color:#764ba2;box-shadow:0 0 0 4px #667eea33}.answer-field:disabled{background:#f5f5f5;border-color:#ddd}.submit-button{font-size:1.25rem;padding:16px 32px;background:#667eea;color:#fff;border:none;border-radius:12px;font-weight:700;cursor:pointer;transition:all .2s}.submit-button:hover:not(:disabled){background:#5568d3;transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.submit-button:active:not(:disabled){transform:translateY(0)}.submit-button:disabled{background:#ccc;cursor:not-allowed}.feedback{padding:30px;border-radius:16px;margin:30px 0}.feedback.correct-fast{background:linear-gradient(135deg,#4a90e2,#5eb3ff);color:#fff}.feedback.correct-slow{background:linear-gradient(135deg,#059669,#10b981);color:#fff}.feedback.incorrect{background:linear-gradient(135deg,#ef4444,#f87171);color:#fff}.feedback-message{font-size:1.75rem;font-weight:700;margin-bottom:24px;display:flex;align-items:center;justify-content:center;gap:12px}.feedback-icon{font-size:2.5rem}.continue-button{font-size:1.25rem;padding:14px 32px;background:#fff;color:#333;border:none;border-radius:12px;font-weight:700;cursor:pointer;transition:all .2s}.continue-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003}.continue-button:active{transform:translateY(0)}.session-complete{text-align:center;width:100%;box-sizing:border-box}.session-complete h2{color:#667eea;font-size:2.5rem;margin:0 0 30px;font-weight:800}.session-actions{display:flex;flex-direction:column;gap:12px;margin-top:30px;width:100%}.new-session-button{font-size:1.5rem;padding:16px 40px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:12px;font-weight:700;cursor:pointer;transition:all .2s}.new-session-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.new-session-button:active{transform:translateY(0)}.all-caught-up{text-align:center;width:100%;max-width:600px;margin:40px auto;padding:40px 20px;box-sizing:border-box}.all-caught-up h2{color:#667eea;font-size:2.5rem;margin:0 0 20px;font-weight:800}.caught-up-message{font-size:1.3rem;color:#4a5568;margin:0 0 30px;line-height:1.6}.next-due{font-size:1.1rem;color:#718096;margin:20px 0 40px;padding:15px 20px;background:#f7fafc;border-radius:8px;font-weight:600}.caught-up-actions{display:flex;flex-direction:column;gap:15px;margin:30px 0}.bonus-button{font-size:1.3rem;padding:18px 40px;background:linear-gradient(135deg,#f6d365,#fda085);color:#744210;border:none;border-radius:12px;font-weight:700;cursor:pointer;transition:all .2s}.bonus-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #fda08566}.bonus-button:active{transform:translateY(0)}.bonus-hint{font-size:.95rem;color:#a0aec0;margin:20px 0 0;font-style:italic}.bonus-badge{display:inline-block;margin-left:15px;padding:6px 14px;background:linear-gradient(135deg,#f6d365,#fda085);color:#744210;border-radius:20px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;vertical-align:middle}.stats-display{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin:30px 0}.stat{background:linear-gradient(135deg,#667eea,#764ba2);padding:24px;border-radius:16px;color:#fff}.stat-value{font-size:2.5rem;font-weight:800;margin-bottom:8px}.stat-label{font-size:1rem;opacity:.9;font-weight:600}.game-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.game-header h1{margin:0}.settings-button{font-size:1.5rem;background:transparent;border:none;cursor:pointer;padding:8px;opacity:.6;transition:opacity .2s}.settings-button:hover{opacity:1}.settings-link-button{font-size:1.1rem;padding:12px 24px;background:transparent;color:#667eea;border:2px solid #667eea;border-radius:12px;font-weight:700;cursor:pointer;transition:all .2s}.settings-link-button:hover{background:#667eea;color:#fff;transform:translateY(-2px)}.settings-overlay{position:fixed;inset:0;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;padding:20px;z-index:1000}.settings-panel{background:#fff;border-radius:24px;padding:40px;box-shadow:0 20px 60px #0000004d;max-width:600px;width:100%;max-height:90vh;overflow-y:auto}.settings-panel h2{color:#667eea;font-size:2rem;margin:0 0 16px;font-weight:800}.settings-panel h3{color:#333;font-size:1.25rem;margin:0 0 8px;font-weight:700}.settings-description{color:#666;font-size:1rem;margin-bottom:24px;line-height:1.5}.settings-section{margin-bottom:24px}.settings-label{display:block;font-weight:600;margin-bottom:8px;color:#333}.max-number-select{width:auto;padding:12px;font-size:1rem;color:#333;border:2px solid #ddd;border-radius:8px;background:#fff;cursor:pointer;transition:border-color .2s}.max-number-select:hover{border-color:#667eea}.max-number-select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea33}.settings-hint{color:#888;font-size:.9rem;margin-bottom:12px}.slider-control{display:flex;align-items:center;gap:16px}.time-slider{flex:1;height:8px;-webkit-appearance:none;appearance:none;background:#ddd;border-radius:4px;outline:none}.time-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:24px;height:24px;background:#667eea;border-radius:50%;cursor:pointer;transition:all .2s}.time-slider::-webkit-slider-thumb:hover{background:#5568d3;transform:scale(1.1)}.time-slider::-moz-range-thumb{width:24px;height:24px;background:#667eea;border-radius:50%;cursor:pointer;border:none;transition:all .2s}.time-slider::-moz-range-thumb:hover{background:#5568d3;transform:scale(1.1)}.slider-value{min-width:90px;text-align:center;font-size:1.1rem;font-weight:700;color:#667eea;background:#f8f9ff;padding:8px 12px;border-radius:8px}.checkbox-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:12px;margin-bottom:24px}.checkbox-item{display:flex;align-items:center;gap:8px;padding:12px;border:2px solid #ddd;border-radius:8px;cursor:pointer;transition:all .2s}.checkbox-item:hover{border-color:#667eea;background:#f8f9ff}.checkbox-item input[type=checkbox]{width:20px;height:20px;cursor:pointer}.checkbox-item input[type=checkbox]:checked{accent-color:#667eea}.checkbox-label{font-size:1.25rem;font-weight:600;color:#333}.settings-actions{display:flex;gap:12px;margin-bottom:24px}.action-button{flex:1;font-size:1rem;padding:10px 16px;background:#f5f5f5;color:#666;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s}.action-button:hover{background:#e5e5e5}.settings-info{background:#f8f9ff;padding:16px;border-radius:12px;margin-bottom:24px}.facts-count{font-size:1.1rem;font-weight:700;color:#667eea;margin:0 0 8px}.selected-numbers{font-size:.95rem;color:#666;margin:0;word-wrap:break-word}.start-button{width:100%;font-size:1.5rem;padding:16px 40px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:12px;font-weight:700;cursor:pointer;transition:all .2s}.start-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.animal-display{display:flex;flex-direction:column;align-items:center;gap:12px;margin:24px 0}.animal-name{font-size:1.25rem;font-weight:700;color:#667eea}.animal-container{position:relative;line-height:0}.celebration-sparkles{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;width:100%;height:100%}.sparkle{position:absolute;font-size:2rem;animation:sparkleFloat 1s ease-out forwards}.sparkle-1{top:20%;left:50%;animation-delay:.3s}.sparkle-2{top:50%;left:80%;animation-delay:.4s}.sparkle-3{top:80%;left:50%;animation-delay:.5s}.sparkle-4{top:50%;left:20%;animation-delay:.3s}@keyframes sparkleFloat{0%{opacity:0;transform:translate(-50%,-50%) scale(.5)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.2)}to{opacity:0;transform:translate(-50%,-50%) translateY(-30px) scale(.8)}}.sunshine-container{display:flex;flex-direction:column;align-items:center;gap:16px;margin:24px 0}.sunshine-dialogue{background:#fff;padding:16px 24px;border-radius:16px;font-size:1.1rem;font-weight:600;color:#333;border:3px solid #667eea;max-width:350px;text-align:center;line-height:1.5;position:relative;grid-column-start:1;grid-column-end:3;justify-self:right;animation:fadeIn .3s ease;white-space:pre-line}.sunshine-dialogue:before{content:"";position:absolute;width:20px;height:20px;background:#fff;border:3px solid #667eea;border-radius:50%;bottom:-37px;right:30px}.sunshine-dialogue:after{content:"";position:absolute;width:12px;height:12px;background:#fff;border:3px solid #667eea;border-radius:50%;bottom:-60px;right:55px}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.dialogue-intro{border-color:#667eea;background:#f8f9ff}.dialogue-intro:before,.dialogue-intro:after{border-color:#667eea;background:#f8f9ff}.dialogue-fast-correct{border-color:#5eb3ff;background:#eff6ff}.dialogue-fast-correct:before,.dialogue-fast-correct:after{border-color:#5eb3ff;background:#eff6ff}.dialogue-slow-correct{border-color:#10b981;background:#ecfdf5}.dialogue-slow-correct:before,.dialogue-slow-correct:after{border-color:#10b981;background:#ecfdf5}.dialogue-incorrect{border-color:#f87171;background:#fff1f2}.dialogue-incorrect:before,.dialogue-incorrect:after{border-color:#f87171;background:#fff1f2}.dialogue-rescue-complete{border-color:#f093fb;background:#fff0fd}.dialogue-rescue-complete:before,.dialogue-rescue-complete:after{border-color:#f093fb;background:#fff0fd}.sparkles-counter{display:flex;align-items:center;gap:8px;background:#ffd70033;padding:8px 16px;border-radius:20px;font-size:1.5rem;font-weight:700;color:gold;transition:all .2s}.sparkles-counter.earned{animation:sparkle-pop .3s ease}@keyframes sparkle-pop{0%{transform:scale(1)}50%{transform:scale(1.3)}to{transform:scale(1)}}.sparkles-icon{font-size:1.75rem}.sparkles-count{min-width:30px;text-align:center}.feedback-animals-container{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:24px 0;align-items:start}.milestone-celebration{margin:20px 0;padding:16px;background:linear-gradient(135deg,#667eea1a,#764ba21a);border-radius:16px;text-align:center}.milestone-celebration h3{margin:0 0 12px;color:#667eea;font-size:1.2rem}.milestone-badges{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.milestone-badge{display:flex;flex-direction:column;align-items:center;padding:12px 16px;border-radius:12px;background:#fff;box-shadow:0 2px 8px #0000001a;min-width:80px}.milestone-emoji{font-size:1.5rem;margin-bottom:4px}.milestone-level{font-weight:600;color:#333;font-size:.9rem}.milestone-label{font-size:.75rem;color:#666;margin-top:2px}.milestone-badge.milestone-orange{border:2px solid #f97316}.milestone-badge.milestone-green{border:2px solid #22c55e}.milestone-badge.milestone-blue{border:2px solid #3b82f6}.milestone-badge.milestone-mastered{border:2px solid #eab308;background:linear-gradient(135deg,#fef9c3,#fef08a)}.sparkles-earned{font-size:1.5rem;font-weight:700;color:gold;background:#ffd7001a;padding:16px 24px;border-radius:12px;margin:20px 0}.retry-button{font-size:1.1rem;padding:12px 24px;background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff;border:none;border-radius:12px;font-weight:700;cursor:pointer;transition:all .2s}.retry-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #f093fb66}.retry-button:active{transform:translateY(0)}.mission-intro{text-align:center;padding:20px}.mission-intro h2{color:#667eea;font-size:2rem;margin:0 0 30px;font-weight:800}.mission-intro-characters{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:30px 0;align-items:start}.mission-intro-characters .sunshine-dialogue,.feedback-animals-container .sunshine-dialogue,.mission-complete-characters .sunshine-dialogue{grid-column:1 / -1}.help-button{font-size:1.75rem;padding:18px 48px;background:linear-gradient(135deg,#11998e,#38ef7d);color:#fff;border:none;border-radius:16px;font-weight:800;cursor:pointer;transition:all .3s;box-shadow:0 4px 15px #11998e4d}.help-button:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 8px 25px #11998e80}.help-button:active{transform:translateY(-1px) scale(1.02)}.mission-complete-characters{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:30px 0;align-items:start}.progress-overlay{position:fixed;inset:0;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;align-items:center;z-index:1000;padding:20px;box-sizing:border-box}.progress-panel{background:#fff;border-radius:24px;padding:40px;max-width:700px;width:100%;box-shadow:0 20px 60px #0000004d;text-align:center;box-sizing:border-box}.progress-panel h1{color:#667eea;font-size:2rem;margin:0 0 30px;font-weight:800}.progress-section{margin-bottom:30px}.progress-section h3{color:#333;font-size:1.1rem;margin:0 0 12px;font-weight:700}.progress-section p{color:#666;font-size:.95rem;margin:8px 0 0}.primary-progress-bar{display:flex;gap:6px;margin:0;flex:1}.primary-progress-segment{flex:1;height:40px;background:#e0e0e0;border-radius:6px;transition:background .3s,opacity .2s;display:flex;align-items:center;justify-content:center;font-size:.95rem;font-weight:600;cursor:pointer;color:#999}.primary-progress-segment.completed{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.primary-progress-segment.current{border:2px solid #667eea;background:#f0f4ff;color:#667eea}.primary-progress-segment:hover{opacity:.8}.primary-progress-segment.selected{box-shadow:0 0 0 2px #667eea}.primary-progress-segment.disabled{opacity:.4}.operation-progress{display:flex;align-items:center;gap:16px;margin-bottom:12px}.operation-label{width:90px;font-weight:600;color:#333;font-size:1rem;text-align:right;flex-shrink:0}.progress-markers{position:relative;height:20px;margin-bottom:4px}.progress-marker{position:absolute;transform:translate(-50%);font-size:14px;line-height:1}.progress-marker.red{color:#ef4444}.progress-marker.orange{color:#f97316}.progress-marker.green{color:#22c55e}.progress-marker.blue{color:#3b82f6}.secondary-progress-bar{position:relative;height:36px;background:#e0e0e0;border-radius:8px;overflow:hidden;margin-top:0;margin-bottom:16px}.progress-bar-marker-line{position:absolute;top:0;bottom:0;width:2px;border-left:2px dotted;z-index:1}.progress-bar-marker-line.orange{border-left-color:#f97316}.progress-bar-marker-line.green{border-left-color:#22c55e}.progress-bar-marker-line.blue{border-left-color:#3b82f6}.secondary-progress-fill{height:100%;transition:width .5s ease-out,background .3s;border-radius:8px;min-width:8px}.secondary-progress-fill.red{background:linear-gradient(135deg,#ef4444,#dc2626)}.secondary-progress-fill.orange{background:linear-gradient(135deg,#f97316,#ea580c)}.secondary-progress-fill.green{background:linear-gradient(135deg,#22c55e,#16a34a)}.secondary-progress-fill.blue{background:linear-gradient(135deg,#3b82f6,#2563eb)}.progress-button{background:none;border:none;font-size:1.5rem;cursor:pointer;padding:8px;border-radius:8px;transition:background .2s}.progress-button:hover{background:#667eea1a}.danger-section{border-top:1px solid #eee;margin-top:1rem;padding-top:1rem}.danger-button{background-color:#dc3545;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.9rem}.danger-button:hover:not(:disabled){background-color:#c82333}.danger-button:disabled{opacity:.6;cursor:not-allowed}.confirm-clear{animation:fadeSlideIn .2s ease-out}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.confirm-clear p{color:#dc3545;margin-bottom:.75rem;font-size:.9rem}.confirm-buttons{display:flex;gap:.5rem}.confirm-buttons .action-button{flex:0}@media(max-width:640px){.app{padding:12px}.game{padding:24px;min-width:280px}.game h1{font-size:2rem}.problem-text{font-size:3rem}.answer-field{font-size:1.5rem;width:150px}.submit-button{font-size:1rem;padding:12px 24px}.stats-display{grid-template-columns:1fr}.settings-panel{padding:24px}.checkbox-grid{grid-template-columns:repeat(auto-fill,minmax(60px,1fr))}.feedback-animals-container{grid-template-columns:1fr;gap:16px}.sunshine-dialogue{font-size:1rem;padding:12px 18px}.sparkles-counter{font-size:1.25rem;padding:6px 12px}.mission-intro-characters,.mission-complete-characters{grid-template-columns:1fr;gap:16px}.mission-intro h2{font-size:1.5rem}.help-button{font-size:1.5rem;padding:14px 36px}}@media(max-width:400px){.app{padding:8px}.game{padding:16px;border-radius:16px}.problem-text{font-size:2.5rem}}
