.topic-selection{background:linear-gradient(135deg,#f8f9ff,#f0f4ff);min-height:100vh;padding:2rem 1rem}.topic-header{animation:fadeIn .6s ease-out;margin-bottom:3rem;text-align:center}.topic-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,#4361ee,#3f37c9);-webkit-background-clip:text;background-clip:text;font-size:2.75rem;font-weight:800;letter-spacing:-.5px;margin-bottom:.5rem}.subtitle{color:#6c757d;font-size:1.25rem;line-height:1.6;margin:0 auto;max-width:600px}.topics-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));margin:0 auto;max-width:1200px;padding:1rem 0}.topic-card{align-items:center;background:#fff;border:1px solid #0000000d;border-radius:16px;box-shadow:0 4px 12px #0000000d;cursor:pointer;display:flex;flex-direction:column;justify-content:center;min-height:180px;overflow:hidden;padding:2rem 1.5rem;position:relative;text-align:center;transition:all .3s ease}.topic-card:hover{border-color:#4361ee33;box-shadow:0 8px 24px #4361ee26;transform:translateY(-5px)}.topic-card.selected{background:linear-gradient(135deg,#f0f4ff,#e6edff);border:1px solid #4361ee4d}.topic-card.loading{cursor:not-allowed;opacity:.8}.topic-icon{font-size:2.5rem;margin-bottom:1rem;transition:transform .3s ease}.topic-card:hover .topic-icon{transform:scale(1.1)}.topic-name{color:#2d3748;font-size:1.25rem;font-weight:600;margin:.5rem 0}.topic-loading,.topic-selected{align-items:center;color:#4a5568;display:flex;font-size:.9rem;gap:.5rem;margin-top:1rem}.topic-selected{color:#38a169;font-weight:500}.error-message{align-items:center;animation:shake .5s ease-in-out;background:#fff5f5;border:1px solid #fed7d7;color:#e53e3e;display:flex;gap:.5rem;justify-content:center;margin:1.5rem auto;max-width:600px}.error-icon{font-size:1.25rem}.loading-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffffe6;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.loading-spinner{background:#fff;border-radius:16px;box-shadow:0 10px 30px #0000001a;max-width:300px;padding:2rem;text-align:center;width:90%}.loading-spinner .spin{animation:spin 1s linear infinite;color:#4361ee;font-size:2.5rem;margin-bottom:1rem}@keyframes shake{0%,to{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-5px)}20%,40%,60%,80%{transform:translateX(5px)}}@media (max-width:768px){.topics-grid{gap:1rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.topic-header h1{font-size:2rem}.subtitle{font-size:1.1rem}}@media (max-width:480px){.topics-grid{grid-template-columns:1fr}.topic-card{min-height:140px;padding:1.5rem 1rem}}.topic-button:disabled{cursor:not-allowed;opacity:.6}.error-message{background-color:#fee;border-left:4px solid #c33;border-radius:8px;color:#c33;margin-bottom:1rem;padding:1rem}.loading-spinner{border:4px solid #f3f3f3;border-top-color:#667eea}.loading-container p{color:#666;margin-top:1rem}.question-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:1.5rem;padding:1.5rem}.question-progress{color:#666;font-size:.9rem;margin-bottom:.5rem}.question-text{font-size:1.2rem;line-height:1.5;margin-bottom:1.5rem}.answers-container{gap:.75rem}.answer-button{padding:1rem 1.25rem;position:relative;transition:all .2s ease;width:100%}.answer-button:hover:not(:disabled){background-color:#f8f9fa;border-color:#a0a0a0}.answer-button.selected{background-color:#f0f4ff}.answer-button.correct-answer{background-color:#e8f5e9;border-color:#4caf50}.answer-button.incorrect-answer{background-color:#ffebee;border-color:#f44336;opacity:.8}.answer-button:disabled{cursor:not-allowed;opacity:.9}.answer-letter{align-items:center;background-color:#f0f0f0;border-radius:50%;color:#333;display:flex;flex-shrink:0;height:28px;justify-content:center;width:28px}.answer-button.selected .answer-letter{background-color:#667eea;color:#fff}.answer-button.correct-answer .answer-letter{background-color:#4caf50;color:#fff}.answer-button.incorrect-answer .answer-letter{background-color:#f44336;color:#fff}.answer-text{flex-grow:1}.answer-feedback{font-size:.9rem;font-weight:500;margin-left:1rem}.answer-button.correct-answer .answer-feedback{color:#2e7d32}.answer-button.incorrect-answer .answer-feedback{color:#c62828}.quiz-container{background:linear-gradient(135deg,#f8f9ff,#f0f4ff);margin:0 auto;max-width:800px;min-height:100vh;padding:2rem 1rem}.quiz-header{margin-bottom:2.5rem;text-align:center}.quiz-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,#4361ee,#3f37c9);-webkit-background-clip:text;background-clip:text;color:#333;font-size:2.2rem;font-weight:700;margin-bottom:1.5rem}.progress-container{background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000000d;margin-bottom:2rem;padding:1.5rem}.progress-bar{background-color:#e9ecef;box-shadow:inset 0 1px 3px #0000001a;height:10px;margin-bottom:1rem;width:100%}.progress-bar,.progress-fill{border-radius:10px;overflow:hidden}.progress-fill{background:linear-gradient(90deg,#4361ee,#3f37c9);height:100%;position:relative;transition:width .5s cubic-bezier(.4,0,.2,1)}.progress-text{color:#4a5568;font-size:1rem;font-weight:500;margin-top:.5rem;text-align:center}.question-container{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;margin:0 auto;max-width:800px;padding:2rem}.question-container h3{color:#333;font-size:1.5rem;line-height:1.4;margin-bottom:2rem}.answers-container{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.answer-button{align-items:center;background:#fff;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;display:flex;padding:1rem 1.5rem;text-align:left;transition:all .3s ease}.answer-button:hover:not(:disabled){background-color:#f8f9ff;border-color:#667eea}.answer-button.selected{background-color:#f0f2ff;border-color:#667eea}.answer-button.correct{background-color:#e8f5e8;border-color:#4caf50}.answer-button.incorrect{background-color:#ffebee;border-color:#f44336}.answer-letter{color:#667eea;font-weight:700;margin-right:1rem;min-width:2rem}.answer-text{color:#333;flex:1 1}.result-indicator{font-size:1.2rem;font-weight:700;margin-left:1rem}.answer-button.correct .result-indicator{color:#4caf50}.answer-button.incorrect .result-indicator{color:#ef4444}.navigation-buttons{display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-top:3rem}.nav-button{align-items:center;border:none;border-radius:12px;box-shadow:0 2px 8px #0000001a;cursor:pointer;display:inline-flex;font-size:1rem;font-weight:600;justify-content:center;min-width:140px;padding:1rem 2rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.prev-button{background-color:#fff;border:2px solid #e2e8f0;color:#4361ee;order:1}.prev-button:hover:not(:disabled){background-color:#f8f9ff;border-color:#4361ee;box-shadow:0 4px 12px #4361ee26;transform:translateY(-2px)}.next-button{background:linear-gradient(90deg,#4361ee,#3f37c9);color:#fff;margin-left:auto;order:2}.next-button:hover:not(:disabled){background:linear-gradient(90deg,#3a56d4,#3729a8);box-shadow:0 8px 16px #4361ee4d;transform:translateY(-2px)}.nav-button:disabled{box-shadow:none!important;cursor:not-allowed;opacity:.6;transform:none!important}.submit-button{background:linear-gradient(90deg,#10b981,#059669)}.submit-button:hover:not(:disabled){background:linear-gradient(90deg,#059669,#047857);box-shadow:0 8px 16px #10b9814d!important}@media (max-width:768px){.quiz-container{padding:1.5rem 1rem}.quiz-header h1{font-size:1.8rem}.navigation-buttons{flex-direction:column;gap:1rem}.nav-button{padding:.9rem 1.5rem;width:100%}.next-button{margin-left:0}}.loading-container{align-items:center;background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000000d;display:flex;flex-direction:column;justify-content:center;min-height:50vh;padding:2rem;text-align:center}.loading-container p{color:#4a5568;font-size:1.1rem;font-weight:500;margin-top:1.5rem}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #4361ee1a;border-radius:50%;border-top-color:#4361ee;height:50px;margin:0 auto 1.5rem;width:50px}.button-spinner{animation:spin .8s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;display:inline-block;height:16px;margin-right:8px;vertical-align:middle;width:16px}.nav-button.submitting{color:#0000!important;pointer-events:none;position:relative}.nav-button.submitting:after{animation:spin .8s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;content:"";height:20px;left:50%;margin:-10px 0 0 -10px;position:absolute;top:50%;width:20px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes pulse{0%{opacity:.6;transform:scale(.95)}50%{opacity:1;transform:scale(1.05)}to{opacity:.6;transform:scale(.95)}}.loading-pulse{animation:pulse 1.5s ease-in-out infinite;color:#4a5568;font-weight:500;text-align:center}.nav-button:focus-visible{box-shadow:0 0 0 4px #3b82f64d;outline:3px solid #3b82f6;outline-offset:2px}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.button-spinner,.loading-spinner{animation:none;animation-iteration-count:infinite;border:2px solid #4361ee;border-right-color:#0000}}.results-container{align-items:center;background-color:#f5f5f5;display:flex;justify-content:center;min-height:100vh;padding:20px}.results-content{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;max-width:800px;padding:3rem 2rem;text-align:center;width:100%}.results-content h1{color:#333;font-size:2.5rem;margin-bottom:1rem}.results-content h2{color:#666;font-size:1.5rem;margin-bottom:2rem}.score-section{margin-bottom:3rem}.score-circle{align-items:center;background:conic-gradient(#4361ee 0deg,#4361ee 0deg,#e9ecef 0deg,#e9ecef 1turn);background:conic-gradient(#4361ee 0deg,#4361ee var(--percentage,0deg),#e9ecef var(--percentage,0deg),#e9ecef 1turn);border-radius:50%;box-shadow:0 4px 20px #4361ee33;display:flex;flex-direction:column;height:180px;justify-content:center;margin:0 auto 2rem;position:relative;transition:all .6s cubic-bezier(.4,0,.2,1);width:180px}.score-circle:before{background:#fff;border-radius:50%;box-shadow:inset 0 2px 4px #0000001a;content:"";height:140px;position:absolute;width:140px}.score-number{color:#2d3748;font-size:2.2rem;font-weight:700;line-height:1.2;margin:0;position:relative;z-index:1}.score-percentage{background:#f8f9ff;border-radius:20px;color:#4a5568;color:#4361ee;display:inline-block;font-size:1.1rem;font-weight:600;margin:.25rem 0 0;padding:.25rem .75rem;position:relative;z-index:1}.score-message{margin-left:auto;margin-right:auto;margin-top:1.5rem;max-width:600px;text-align:center}.loading-feedback{color:#666;display:inline-block;font-style:italic;padding:1rem}.ai-feedback,.loading-feedback{background:#f8f9fa;border-radius:8px}.ai-feedback{box-shadow:0 2px 8px #0000001a;margin-top:1rem;padding:1.5rem;text-align:left}.score-summary{color:#4caf50;font-size:1.3rem;font-weight:600;margin-bottom:.75rem;text-align:center}.ai-insight{background:#fff;border-left:4px solid #667eea;border-radius:6px;color:#333;font-size:1rem;line-height:1.6;margin:0;padding:.75rem 1rem}.detailed-results{margin-bottom:3rem;text-align:left}.detailed-results h3{color:#333;font-size:1.3rem;margin-bottom:1.5rem;text-align:center}.question-result{border-left:4px solid;border-radius:8px;margin-bottom:1rem;padding:1.5rem}.question-result.correct{background-color:#e8f5e8;border-left-color:#4caf50}.question-result.incorrect{background-color:#ffebee;border-left-color:#f44336}.question-number{color:#333;font-weight:700;margin-bottom:.5rem}.question-text{color:#333;font-weight:500;margin-bottom:.5rem}.answer-result{color:#666;font-size:.9rem}.your-answer{display:block;margin-bottom:.25rem}.correct-answer{color:#4caf50;display:block;font-weight:500}.action-buttons{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.home-button,.restart-button{border:none;border-radius:6px;cursor:pointer;font-size:1rem;min-width:150px;padding:.75rem 1.5rem;transition:all .3s ease}.restart-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.restart-button:hover{box-shadow:0 4px 15px #667eea4d;transform:translateY(-1px)}.home-button{background-color:#f5f5f5;border:1px solid #ddd;color:#666}.home-button:hover{background-color:#e0e0e0}@media (max-width:768px){.results-content{padding:2rem 1rem}.results-content h1{font-size:2rem}.action-buttons{flex-direction:column}.home-button,.restart-button{width:100%}}:root{--primary-color:#4361ee;--primary-light:#4895ef;--secondary-color:#3f37c9;--success-color:#4cc9f0;--danger-color:#f72585;--light-color:#f8f9fa;--dark-color:#212529;--gray-color:#6c757d;--border-radius:12px;--box-shadow:0 4px 6px #0000001a;--transition:all 0.3s ease}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f8f9ff;color:#212529;color:var(--dark-color);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.6}.App{display:flex;flex-direction:column;min-height:100vh}.container{margin:0 auto;max-width:1200px;padding:0 20px;width:100%}h1,h2,h3,h4,h5,h6{color:#212529;color:var(--dark-color);font-weight:700;line-height:1.2;margin-bottom:1rem}h1{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,#4361ee,#3f37c9);background:linear-gradient(90deg,var(--primary-color),var(--secondary-color));-webkit-background-clip:text;font-size:2.5rem;margin-bottom:1.5rem}p{color:#6c757d;color:var(--gray-color);margin-bottom:1rem}.btn{border:1px solid #0000;border-radius:12px;border-radius:var(--border-radius);cursor:pointer;display:inline-block;font-size:1rem;font-weight:600;line-height:1.5;padding:.75rem 1.5rem;text-align:center;text-decoration:none;transition:all .3s ease;transition:var(--transition);-webkit-user-select:none;user-select:none;vertical-align:middle;white-space:nowrap}.btn-primary{background-color:#4361ee;background-color:var(--primary-color);color:#fff}.btn-primary:hover{background-color:#3f37c9;background-color:var(--secondary-color);box-shadow:0 4px 12px #4361ee33;transform:translateY(-2px)}.btn-outline{background-color:initial;border:2px solid #4361ee;border:2px solid var(--primary-color);color:#4361ee;color:var(--primary-color)}.btn-outline:hover{background-color:#4361ee;background-color:var(--primary-color);color:#fff}.card{background:#fff;border-radius:12px;border-radius:var(--border-radius);box-shadow:0 4px 6px #0000001a;box-shadow:var(--box-shadow);margin-bottom:2rem;padding:2rem;transition:all .3s ease;transition:var(--transition)}.card:hover{box-shadow:0 10px 20px #0000001a;transform:translateY(-5px)}input,select,textarea{border:1px solid #e1e1e1;border-radius:12px;border-radius:var(--border-radius);font-size:1rem;margin-bottom:1rem;padding:.75rem 1rem;transition:all .3s ease;transition:var(--transition);width:100%}input:focus,select:focus,textarea:focus{border-color:#4361ee;border-color:var(--primary-color);box-shadow:0 0 0 3px #4361ee33;outline:none}.text-center{text-align:center}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mt-4{margin-top:2rem}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.mb-4{margin-bottom:2rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .5s ease-out forwards}@media (max-width:768px){h1{font-size:2rem}.container{padding:0 15px}.card{padding:1.5rem}}
/*# sourceMappingURL=main.2e5836bc.css.map*/