*{box-sizing:border-box;margin:0;padding:0}:root{--primary:#a435f0;--primary-dark:#8710d8;--secondary:#5624d0;--success:#1e6055;--warning:#f59e0b;--error:#ef4444;--gray-50:#f7f9fa;--gray-100:#f1f5f9;--gray-200:#e2e8f0;--gray-300:#cbd5e1;--gray-400:#6a6f73;--gray-500:#3e4143;--gray-600:#2d2f31;--gray-700:#1c1d1f;--gray-800:#1c1d1f;--gray-900:#0f172a}body{background:#f7f9fa;color:#1c1d1f;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;line-height:1.5}#root,body{min-height:100vh}#root{display:flex;flex-direction:column}.header{background:#1c1d1f;box-shadow:0 2px 4px #00000014;color:#fff;padding:1rem 2rem}.header-content{flex-wrap:wrap;justify-content:space-between;margin:0 auto;max-width:1400px}.logo{align-items:center;cursor:pointer;display:flex;gap:.75rem;transition:transform .2s ease}.logo:hover{transform:scale(1.02)}.logo-icon{background:#fff3;border-radius:12px;padding:.5rem;position:relative}.logo-icon .sparkle{animation:sparkle 2s ease-in-out infinite;color:#fbbf24;position:absolute;right:-4px;top:-4px}.logo-text h1{font-size:1.5rem;font-weight:700;letter-spacing:-.5px;margin:0}.logo-text span{font-size:.75rem;font-weight:500;opacity:.9}.step-indicator{align-items:center;flex-direction:column}.step-indicator,.step-progress{display:flex;gap:.5rem}.step-dot{background:#ffffff4d;border-radius:50%;height:10px;transition:all .3s ease;width:10px}.step-dot.active{background:#ffffffb3}.step-dot.current{background:#fff;box-shadow:0 0 10px #ffffff80;transform:scale(1.3)}.step-text{font-size:.85rem;font-weight:500;opacity:.95}.header-tagline{align-items:center;display:flex;font-size:.9rem;gap:.5rem;opacity:.95}@media (max-width:768px){.header{padding:1rem}.header-content{justify-content:center;text-align:center}.header-tagline{display:none}.logo-text h1{font-size:1.25rem}}.content-uploader{margin:0 auto;max-width:800px;padding:2rem}.uploader-header{margin-bottom:2rem;text-align:center}.uploader-header h2{color:#1e293b;font-size:1.75rem;margin-bottom:.5rem}.uploader-header p{color:#64748b;font-size:1rem}.upload-mode-toggle{display:flex;gap:1rem;justify-content:center;margin-bottom:2rem}.mode-btn{align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:12px;color:#64748b;cursor:pointer;display:flex;font-size:1rem;font-weight:500;gap:.5rem;padding:.75rem 1.5rem;transition:all .2s ease}.mode-btn:hover{border-color:#a435f0;color:#a435f0}.mode-btn.active{background:#a435f0;border-color:#a435f0;color:#fff}.dropzone{align-items:center;background:#fafafa;border:3px dashed #d1d5db;border-radius:16px;cursor:pointer;display:flex;flex-direction:column;justify-content:center;min-height:300px;padding:3rem 2rem;text-align:center;transition:all .3s ease}.dropzone:hover{background:#f7f9fa;border-color:#a435f0}.dropzone.drag-active{background:#f3e8ff;border-color:#a435f0;transform:scale(1.02)}.dropzone.status-uploading{background:#f7f9fa;border-color:#a435f0}.dropzone.status-success{background:#ecfdf5;border-color:#8710d8}.dropzone.status-error{background:#fef2f2;border-color:#ef4444}.dropzone-icon{animation:bounce 2s ease-in-out infinite;color:#a435f0;margin-bottom:1rem}.dropzone-main{color:#1e293b;font-size:1.25rem;font-weight:600;margin-bottom:.25rem}.dropzone-sub{color:#64748b;font-size:.9rem}.supported-formats{display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:center;margin-top:1.5rem}.format-item{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#64748b;display:flex;font-size:.85rem;gap:.5rem;padding:.5rem 1rem}.size-limit{color:#94a3b8;font-size:.8rem;margin-top:1rem}.upload-error,.upload-progress,.upload-success{align-items:center;display:flex;flex-direction:column;gap:.75rem}.upload-error p,.upload-progress p,.upload-success p{font-size:1.1rem;font-weight:600;margin:0}.upload-error span,.upload-progress span,.upload-success span{color:#64748b;font-size:.9rem}.upload-success{color:#8710d8}.upload-error{color:#ef4444}.upload-error button{background:#ef4444;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:500;margin-top:.5rem;padding:.5rem 1rem}.spinner{animation:spin 1s linear infinite;border:4px solid #e2e8f0;border-radius:50%;border-top-color:#a435f0;height:48px;width:48px}.spinner.small{border-width:2px;height:18px;width:18px}@keyframes spin{to{transform:rotate(1turn)}}.text-input-container{display:flex;flex-direction:column;gap:1rem}.text-input{border:2px solid #e2e8f0;border-radius:16px;font-family:inherit;font-size:1rem;line-height:1.6;min-height:300px;padding:1.5rem;resize:vertical;transition:border-color .2s ease;width:100%}.text-input:focus{border-color:#a435f0;outline:none}.text-input::placeholder{color:#94a3b8}.text-input-footer{align-items:center;display:flex;justify-content:space-between}.char-count{color:#64748b;font-size:.9rem}.char-count .warning{color:#f59e0b}.submit-text-btn{align-items:center;background:#a435f0;border:none;border-radius:12px;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .2s ease}.submit-text-btn:hover:not(:disabled){background:#6d28d9;transform:translateY(-2px)}.submit-text-btn:disabled{background:#94a3b8;cursor:not-allowed}.error-message{background:#fef2f2;border-radius:8px;color:#ef4444;font-size:.9rem;margin:0;padding:.5rem}.tips-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin-top:2rem;padding:1.5rem}.tips-section h3{color:#1e293b;font-size:1rem;margin-bottom:.75rem}.tips-section ul{margin:0;padding-left:1.25rem}.tips-section li{color:#64748b;font-size:.9rem;margin-bottom:.5rem}.file-upload-container{min-height:350px;position:relative}.upload-overlay{align-items:center;background:#fffffff2;border:3px solid #a435f0;border-radius:16px;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:10}.upload-overlay.success{background:#ecfdf5;border-color:#8710d8}.upload-overlay.error{background:#fef2f2;border-color:#ef4444}.progress-bar-container{background:#e2e8f0;border-radius:4px;height:8px;margin-top:1rem;overflow:hidden;width:200px}.progress-bar-fill{background:#a435f0;border-radius:4px;height:100%;transition:width .3s ease}.selected-files{background:#fff;border:1px solid #e2e8f0;border-radius:12px;margin-top:1.5rem;padding:1.25rem}.selected-files-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.selected-files-header h4{color:#1e293b;font-size:1rem;margin:0}.clear-all-btn{background:none;border:none;color:#ef4444;cursor:pointer;font-size:.85rem;font-weight:500}.clear-all-btn:hover{text-decoration:underline}.files-list{display:flex;flex-direction:column;gap:.5rem;max-height:200px;overflow-y:auto}.file-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;justify-content:space-between;padding:.75rem 1rem}.file-info,.file-item{align-items:center;display:flex}.file-info{color:#a435f0;gap:.75rem}.file-name{color:#1e293b;font-size:.9rem;font-weight:500;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-size{color:#94a3b8;font-size:.8rem}.remove-file-btn{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#64748b;cursor:pointer;display:flex;height:28px;justify-content:center;transition:all .2s ease;width:28px}.remove-file-btn:hover{background:#fee2e2;border-color:#ef4444;color:#ef4444}.upload-btn{align-items:center;background:#a435f0;border:none;border-radius:10px;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:.5rem;justify-content:center;margin-top:1rem;padding:.875rem;transition:all .2s ease;width:100%}.upload-btn:hover{box-shadow:0 4px 15px #14b8a64d;transform:translateY(-2px)}@media (max-width:640px){.content-uploader{padding:1rem}.uploader-header h2{font-size:1.5rem}.dropzone{min-height:250px;padding:2rem 1rem}.supported-formats{flex-direction:column;gap:.5rem}.text-input-footer{align-items:stretch;flex-direction:column;gap:1rem}.submit-text-btn{justify-content:center}.file-name{max-width:150px}}.quiz-configurator{margin:0 auto;max-width:900px;padding:2rem}.config-header{margin-bottom:2rem}.back-btn{border:2px solid #e2e8f0;border-radius:8px;color:#64748b;font-weight:500;margin-bottom:1rem;padding:.5rem 1rem}.back-btn:hover{border-color:#a435f0;color:#a435f0}.header-content{align-items:center;display:flex;gap:1rem}.header-icon{color:#a435f0}.header-content h2{color:#1e293b;font-size:1.75rem;margin:0}.header-content p{color:#64748b;margin:.25rem 0 0}.content-preview{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:2rem;padding:1rem 1.25rem}.content-preview h4{color:#1e293b;font-size:.9rem;margin:0 0 .5rem}.content-preview p{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#64748b;display:-webkit-box;font-size:.85rem;line-height:1.5;margin:0;overflow:hidden;text-overflow:ellipsis}.config-sections{display:flex;flex-direction:column;gap:2rem}.config-section{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:1.5rem}.section-header{align-items:center;color:#1e293b;display:flex;gap:.75rem;margin-bottom:1rem}.section-header h3{font-size:1.1rem;margin:0}.section-hint{color:#94a3b8;font-size:.85rem;font-weight:400}.question-count-container{align-items:center;display:flex;gap:2rem}.question-slider{-webkit-appearance:none;background:#a435f0;border-radius:4px;flex:1 1;height:8px;outline:none}.question-slider::-webkit-slider-thumb{-webkit-appearance:none;background:#fff;border:3px solid #a435f0;border-radius:50%;box-shadow:0 2px 8px #14b8a64d;cursor:pointer;height:24px;-webkit-transition:transform .2s ease;transition:transform .2s ease;width:24px}.question-slider::-webkit-slider-thumb:hover{transform:scale(1.1)}.question-count-display{align-items:center;background:#f7f9fa;border-radius:12px;display:flex;flex-direction:column;min-width:80px;padding:.75rem 1.25rem}.count-number{color:#a435f0;font-size:1.75rem;font-weight:700}.count-label{color:#64748b;font-size:.75rem}.slider-labels{color:#94a3b8;display:flex;font-size:.8rem;justify-content:space-between;margin-top:.5rem;padding:0 .5rem}.difficulty-options{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(3,1fr)}.difficulty-btn{align-items:center;background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;cursor:pointer;display:flex;flex-direction:column;padding:1.25rem 1rem;transition:all .2s ease}.difficulty-btn:hover{background:#f7f9fa;border-color:#a435f0}.difficulty-btn.active{background:#a435f0;border-color:#a435f0;color:#fff}.difficulty-icon{font-size:1.5rem;margin-bottom:.5rem}.difficulty-label{font-size:1rem;font-weight:600}.difficulty-desc{font-size:.75rem;margin-top:.25rem;opacity:.8;text-align:center}.question-types{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,1fr)}.type-btn{align-items:center;background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;color:#64748b;cursor:pointer;display:flex;flex-direction:column;padding:1.25rem;transition:all .2s ease}.type-btn:hover{border-color:#a435f0;color:#a435f0}.type-btn.active{background:#a435f0;border-color:#a435f0;color:#fff}.type-label{font-weight:600;margin-top:.5rem}.type-desc{font-size:.75rem;margin-top:.25rem;opacity:.8}.custom-topic-input{display:flex;gap:.75rem;margin-bottom:1rem}.custom-topic-input input{border:2px solid #e2e8f0;border-radius:10px;flex:1 1;font-size:.95rem;padding:.75rem 1rem;transition:all .2s ease}.custom-topic-input input:focus{border-color:#a435f0;outline:none}.custom-topic-input input::placeholder{color:#94a3b8}.add-topic-btn{align-items:center;background:#a435f0;border:none;border-radius:10px;color:#fff;cursor:pointer;display:flex;font-weight:600;gap:.4rem;padding:.75rem 1.25rem;transition:all .2s ease}.add-topic-btn:hover:not(:disabled){background:#6d28d9}.add-topic-btn:disabled{background:#cbd5e1;cursor:not-allowed}.selected-topics{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;margin-bottom:1rem;padding:1rem}.selected-label{color:#166534;display:block;font-size:.85rem;font-weight:600;margin-bottom:.75rem}.selected-topics-list{display:flex;flex-wrap:wrap;gap:.5rem}.selected-topic-tag{align-items:center;background:#8710d8;border-radius:20px;color:#fff;display:inline-flex;font-size:.9rem;font-weight:500;gap:.5rem;padding:.5rem .75rem}.remove-topic-btn{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:18px;justify-content:center;transition:all .2s ease;width:18px}.remove-topic-btn:hover{background:#fff6}.suggested-topics{margin-top:1rem}.suggested-label{color:#64748b;display:block;font-size:.85rem;margin-bottom:.75rem}.topics-container{display:flex;flex-wrap:wrap;gap:.5rem}.topic-tag{align-items:center;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:20px;color:#475569;cursor:pointer;display:inline-flex;font-size:.9rem;gap:.4rem;padding:.5rem 1rem;transition:all .2s ease}.topic-tag:hover{background:#f7f9fa;border-color:#a435f0;color:#a435f0}.topic-tag.active{background:#a435f0;border-color:#a435f0;color:#fff}.topics-hint{color:#94a3b8;font-size:.85rem;margin:.75rem 0 0}.toggle-section{padding:1rem 1.5rem}.toggle-container{align-items:center;cursor:pointer;display:flex;gap:1rem}.toggle-container input{display:none}.toggle-slider{background:#e2e8f0;border-radius:14px;flex-shrink:0;height:28px;position:relative;transition:all .3s ease;width:52px}.toggle-slider:before{background:#fff;border-radius:50%;box-shadow:0 2px 4px #0000001a;content:"";height:22px;left:3px;position:absolute;top:3px;transition:all .3s ease;width:22px}.toggle-container input:checked+.toggle-slider{background:#a435f0}.toggle-container input:checked+.toggle-slider:before{transform:translateX(24px)}.toggle-content{align-items:center;color:#a435f0;display:flex;gap:.75rem}.toggle-label{color:#1e293b;display:block;font-weight:600}.toggle-desc{color:#64748b;display:block;font-size:.85rem;margin-top:.25rem}.generate-section{margin-top:2rem;text-align:center}.generate-btn{align-items:center;background:#a435f0;border:none;border-radius:16px;box-shadow:0 4px 20px #14b8a64d;color:#fff;cursor:pointer;display:inline-flex;font-size:1.1rem;font-weight:600;gap:.75rem;padding:1rem 3rem;transition:all .3s ease}.generate-btn:hover{box-shadow:0 6px 25px #14b8a666;transform:translateY(-2px)}.generate-hint{color:#94a3b8;font-size:.85rem;margin-top:.75rem}@media (max-width:768px){.quiz-configurator{padding:1rem}.difficulty-options,.question-types{grid-template-columns:1fr}.question-count-container{flex-direction:column;gap:1rem}.toggle-content{align-items:flex-start;text-align:left}.custom-topic-input,.toggle-content{flex-direction:column}.add-topic-btn{justify-content:center}}.quiz-display{margin:0 auto;max-width:1200px;padding:2rem}.quiz-header{margin-bottom:2rem}.quiz-header .back-btn{align-items:center;background:none;border:2px solid #e2e8f0;border-radius:8px;color:#64748b;cursor:pointer;display:flex;font-weight:500;gap:.5rem;margin-bottom:1rem;padding:.5rem 1rem;transition:all .2s ease}.quiz-header .back-btn:hover{border-color:#a435f0;color:#a435f0}.quiz-info h2{color:#1e293b;font-size:1.5rem;margin:0}.quiz-info p{color:#64748b;margin:.25rem 0 0}.quiz-content{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 200px}.quiz-main{display:flex;flex-direction:column;gap:1.5rem}.progress-section{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:1rem 1.5rem}.progress-bar{background:#e2e8f0;border-radius:4px;height:8px;margin-bottom:.75rem;overflow:hidden}.progress-fill{background:#a435f0;border-radius:4px;height:100%;transition:width .3s ease}.progress-stats{align-items:center;color:#64748b;display:flex;font-size:.85rem;justify-content:space-between}.progress-stats span{align-items:center;display:flex;gap:.5rem}.question-card{background:#fff;border:1px solid #e2e8f0;box-shadow:0 4px 12px #0000000d;padding:2rem}.question-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.question-number{background:#f5f3ff;border-radius:6px;color:#a435f0;font-size:.9rem;font-weight:600;padding:.35rem .75rem}.question-meta{display:flex;gap:.5rem}.difficulty-badge{border-radius:12px;font-size:.75rem;font-weight:500;padding:.25rem .75rem;text-transform:capitalize}.difficulty-badge.easy{background:#ecfdf5;color:#059669}.difficulty-badge.medium{background:#fef3c7;color:#d97706}.difficulty-badge.hard{background:#fee2e2;color:#dc2626}.type-badge{background:#f1f5f9;border-radius:12px;color:#475569;font-size:.75rem;font-weight:500;padding:.25rem .75rem}.question-topic{color:#64748b;display:inline-block;font-size:.85rem;margin-bottom:1rem}.question-text{margin-bottom:1.5rem}.question-text p{color:#1e293b;font-size:1.15rem;line-height:1.6;margin:0}.options-grid{grid-gap:.75rem;display:grid;gap:.75rem}.option-btn{align-items:center;background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;cursor:pointer;display:flex;gap:1rem;padding:1rem 1.25rem;text-align:left;transition:all .2s ease}.option-btn:hover{background:#f5f3ff;border-color:#a435f0}.option-btn.selected{background:#a435f0;border-color:#a435f0;color:#fff}.option-letter{align-items:center;background:#fff;border-radius:8px;color:#a435f0;display:flex;flex-shrink:0;font-weight:600;height:32px;justify-content:center;width:32px}.option-btn.selected .option-letter{background:#fff3;color:#fff}.option-text{flex:1 1;font-size:1rem}.check-icon{flex-shrink:0}.true-false-options{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.tf-btn{align-items:center;background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;cursor:pointer;display:flex;flex-direction:column;font-size:1.1rem;font-weight:600;gap:.75rem;padding:2rem;transition:all .2s ease}.tf-btn:hover{border-color:#a435f0}.tf-btn.selected.true{background:#8710d8;border-color:#8710d8;color:#fff}.tf-btn.selected.false{background:#ef4444;border-color:#ef4444;color:#fff}.tf-icon{font-size:1.5rem;font-weight:700}.fill-blank-container{display:flex;flex-direction:column;gap:.75rem}.fill-blank-input{border:2px solid #e2e8f0;border-radius:12px;font-size:1.1rem;padding:1rem 1.25rem;transition:all .2s ease;width:100%}.fill-blank-input:focus{border-color:#a435f0;outline:none}.fill-hint{color:#94a3b8;font-size:.85rem;margin:0}.navigation{display:flex;gap:1rem;justify-content:space-between}.nav-btn{align-items:center;border-radius:12px;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .2s ease}.nav-btn.prev{background:#fff;border:2px solid #e2e8f0;color:#64748b}.nav-btn.prev:hover:not(:disabled){border-color:#a435f0;color:#a435f0}.nav-btn.prev:disabled{cursor:not-allowed;opacity:.5}.nav-btn.next{background:#a435f0;border:none;color:#fff}.nav-btn.next:hover{background:#6d28d9}.nav-btn.submit{background:#1e6055;border:none;color:#fff;flex-direction:column;gap:.25rem}.nav-btn.submit:disabled{background:#94a3b8}.submit-warning{font-size:.75rem;font-weight:400;opacity:.9}.question-navigator{background:#fff;border:1px solid #e2e8f0;border-radius:16px;height:-webkit-fit-content;height:fit-content;padding:1.5rem;position:-webkit-sticky;position:sticky;top:2rem}.question-navigator h4{color:#1e293b;font-size:1rem;margin:0 0 1rem}.navigator-grid{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(4,1fr);margin-bottom:1rem}.nav-item{align-items:center;background:#f8fafc;border:2px solid #e2e8f0;border-radius:8px;color:#64748b;cursor:pointer;display:flex;flex-direction:column;font-size:.85rem;font-weight:500;gap:.25rem;padding:.5rem;transition:all .2s ease}.nav-item.current,.nav-item:hover{border-color:#a435f0}.nav-item.current{background:#f5f3ff;color:#a435f0}.nav-item.answered{background:#ecfdf5;border-color:#8710d8;color:#059669}.navigator-legend{border-top:1px solid #e2e8f0;display:flex;flex-direction:column;gap:.5rem;padding-top:1rem}.legend-item{align-items:center;color:#64748b;display:flex;font-size:.75rem;gap:.5rem}.legend-dot{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:4px;height:12px;width:12px}.legend-dot.answered{background:#8710d8;border-color:#8710d8}.legend-dot.current{background:#a435f0;border-color:#a435f0}@media (max-width:900px){.quiz-content{grid-template-columns:1fr}.question-navigator{order:-1;position:static}.navigator-grid{grid-template-columns:repeat(6,1fr)}}@media (max-width:640px){.quiz-display{padding:1rem}.question-card{padding:1.5rem}.true-false-options{grid-template-columns:1fr}.navigation{flex-direction:column}.nav-btn{justify-content:center}.navigator-grid{grid-template-columns:repeat(5,1fr)}}.quiz-results{display:flex;flex-direction:column;gap:2rem;margin:0 auto;max-width:900px;padding:2rem}.score-card{background:#fff;border:1px solid #e2e8f0;border-radius:20px;box-shadow:0 10px 40px #0000001a;padding:2.5rem;text-align:center}.score-header{margin-bottom:2rem}.trophy-icon{animation:bounce 2s ease-in-out infinite;color:#f59e0b;margin-bottom:1rem}.score-header h2{color:#1e293b;font-size:1.75rem;margin:0 0 .5rem}.score-header p{color:#64748b;margin:0}.score-circle{height:180px;margin:0 auto 1.5rem;position:relative;width:180px}.score-circle svg{height:100%;transform:rotate(-90deg);width:100%}.score-bg{stroke:#e2e8f0}.score-bg,.score-fill{fill:none;stroke-width:8}.score-fill{stroke-linecap:round;transition:stroke-dasharray 1s ease}.score-value{align-items:center;display:flex;flex-direction:column;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.score-number{color:var(--score-color);font-size:2.5rem;font-weight:700}.score-grade{color:#64748b;font-size:1.25rem;font-weight:600}.score-message{align-items:center;display:flex;gap:.75rem;justify-content:center;margin-bottom:2rem}.message-emoji{font-size:2rem}.message-text{color:#1e293b;font-size:1.25rem;font-weight:600}.score-stats{background:#f8fafc;border-radius:12px;display:flex;gap:2rem;justify-content:center;margin-bottom:2rem;padding:1.5rem}.stat-item{align-items:center;display:flex;gap:.75rem}.stat-item.correct{color:#8710d8}.stat-item.incorrect{color:#ef4444}.stat-item.total{color:#a435f0}.stat-item>div{display:flex;flex-direction:column}.stat-value{font-size:1.5rem;font-weight:700}.stat-label{color:#64748b;font-size:.8rem}.action-buttons{display:flex;gap:1rem;justify-content:center}.action-btn{align-items:center;border-radius:12px;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .2s ease}.action-btn.retake{background:#a435f0;border:none;color:#fff}.action-btn.retake:hover{background:#6d28d9;transform:translateY(-2px)}.action-btn.new{background:#fff;border:2px solid #e2e8f0;color:#64748b}.action-btn.new:hover{border-color:#a435f0;color:#a435f0}.detailed-results{background:#fff;border:1px solid #e2e8f0;border-radius:20px;padding:2rem}.results-header{border-bottom:1px solid #e2e8f0;color:#a435f0;margin-bottom:2rem;padding-bottom:1.5rem;text-align:center}.results-header h3{color:#1e293b;font-size:1.25rem;margin:.75rem 0 .25rem}.results-header p{color:#64748b;font-size:.9rem;margin:0}.results-list{display:flex;flex-direction:column;gap:1.5rem}.result-item{border:2px solid #e2e8f0;border-radius:16px;padding:1.5rem;transition:all .2s ease}.result-item.correct{background:#f0fdf4;border-color:#bbf7d0}.result-item.incorrect{background:#fef2f2;border-color:#fecaca}.result-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.result-number{background:#fff;border-radius:6px;color:#64748b;font-size:.9rem;font-weight:700;padding:.35rem .75rem}.result-status{align-items:center;display:flex;font-size:.9rem;font-weight:600;gap:.5rem}.result-item.correct .result-status{color:#8710d8}.result-item.incorrect .result-status{color:#ef4444}.result-question{margin-bottom:1rem}.result-question p{color:#1e293b;font-size:1.05rem;line-height:1.6;margin:0}.result-answers{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.answer-row{background:#fff;border-radius:8px;display:flex;gap:.75rem;padding:.75rem 1rem}.answer-row.correct{background:#dcfce7}.answer-row.incorrect{background:#fee2e2}.answer-label{color:#64748b;font-size:.85rem;font-weight:600;min-width:120px}.answer-value{color:#1e293b;font-size:.95rem}.result-explanation{background:#fff;border-left:4px solid #a435f0;border-radius:12px;padding:1rem 1.25rem}.explanation-header{align-items:center;color:#a435f0;display:flex;font-size:.9rem;font-weight:600;gap:.5rem;margin-bottom:.5rem}.result-explanation p{color:#475569;font-size:.95rem;line-height:1.6;margin:0 0 1rem}.ai-help-btn{align-items:center;background:#a435f0;border:none;border-radius:20px;color:#fff;cursor:pointer;display:inline-flex;font-size:.85rem;font-weight:600;gap:.5rem;margin-top:.5rem;padding:.6rem 1rem;transition:all .2s ease}.ai-help-btn:hover{box-shadow:0 4px 15px #6366f166;transform:translateY(-2px)}.ai-help-btn .sparkle-icon{animation:sparkle 1.5s ease-in-out infinite}@keyframes sparkle{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.2)}}.ai-help-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.ai-help-modal{animation:modalSlideIn .3s ease;background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;max-height:85vh;max-width:700px;overflow:hidden;width:100%}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.ai-help-header{background:#a435f0;color:#fff;justify-content:space-between;padding:1.25rem 1.5rem}.ai-help-header,.ai-help-title{align-items:center;display:flex}.ai-help-title{gap:.75rem}.ai-help-title h3{font-size:1.25rem;margin:0}.close-modal-btn{align-items:center;background:#fff3;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;justify-content:center;padding:.5rem;transition:all .2s ease}.close-modal-btn:hover{background:#ffffff4d}.ai-help-content{flex:1 1;overflow-y:auto;padding:1.5rem}.ai-help-answer,.ai-help-question{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:1.25rem;padding:1rem}.ai-help-answer h4,.ai-help-question h4{color:#64748b;font-size:.9rem;margin:0 0 .5rem}.ai-help-answer p,.ai-help-question p{color:#1e293b;font-size:1rem;line-height:1.5;margin:0}.ai-help-answer{background:#ecfdf5;border-color:#bbf7d0}.ai-help-explanation{background:#f7f9fa;border:2px solid #c4b5fd;border-radius:16px;padding:1.5rem}.ai-explanation-header{align-items:center;color:#a435f0;display:flex;gap:.5rem;margin-bottom:1rem}.ai-explanation-header h4{font-size:1.1rem;margin:0}.ai-loading{padding:2rem;text-align:center}.ai-loading-dots{display:flex;gap:.5rem;justify-content:center;margin-bottom:1rem}.ai-loading-dots span{animation:loadingDot 1.4s ease-in-out infinite;background:#a435f0;border-radius:50%;height:12px;width:12px}.ai-loading-dots span:first-child{animation-delay:0s}.ai-loading-dots span:nth-child(2){animation-delay:.2s}.ai-loading-dots span:nth-child(3){animation-delay:.4s}@keyframes loadingDot{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}.ai-loading p{color:#64748b;margin:0}.ai-response{color:#1e293b;line-height:1.7}.ai-response p{font-size:.95rem;margin:0 0 1rem}.ai-response p:last-child{margin-bottom:0}.ai-help-footer{background:#fef3c7;border-top:1px solid #fcd34d;padding:1rem 1.5rem}.ai-help-footer p{color:#92400e;font-size:.85rem;margin:0;text-align:center}.ai-chat-container{background:#f7f9fa;border:2px solid #c4b5fd;border-radius:16px;overflow:hidden}.ai-chat-header{align-items:center;background:#a435f0;color:#fff;display:flex;gap:.5rem;padding:1rem 1.25rem}.ai-chat-header h4{font-size:1rem;margin:0}.ai-chat-messages{background:#fafafa;display:flex;flex-direction:column;gap:1rem;max-height:350px;min-height:200px;overflow-y:auto;padding:1rem}.chat-message{align-items:flex-start;display:flex;gap:.75rem}.chat-message.user{flex-direction:row-reverse}.chat-avatar{align-items:center;border-radius:50%;display:flex;flex-shrink:0;font-size:.9rem;height:32px;justify-content:center;width:32px}.chat-avatar.ai{background:#a435f0;color:#fff}.chat-avatar.user{background:#e2e8f0;color:#64748b}.chat-bubble{border-radius:16px;line-height:1.5;max-width:80%;padding:.75rem 1rem}.chat-message.assistant .chat-bubble{background:#fff;border:1px solid #e2e8f0;border-radius:16px 16px 16px 4px}.chat-message.user .chat-bubble{background:#a435f0;border-radius:16px 16px 4px 16px;color:#fff}.chat-bubble p{font-size:.95rem;margin:0 0 .5rem}.chat-bubble p:last-child{margin-bottom:0}.chat-bubble.typing{padding:1rem}.typing-dots{display:flex;gap:4px}.typing-dots span{animation:typingDot 1.4s ease-in-out infinite;background:#a435f0;border-radius:50%;height:8px;width:8px}.typing-dots span:first-child{animation-delay:0s}.typing-dots span:nth-child(2){animation-delay:.2s}.typing-dots span:nth-child(3){animation-delay:.4s}@keyframes typingDot{0%,to{opacity:.3;transform:translateY(0)}50%{opacity:1;transform:translateY(-4px)}}.ai-chat-input-container{background:#fff;border-top:1px solid #e2e8f0;display:flex;gap:.75rem;padding:1rem}.ai-chat-input{border:2px solid #e2e8f0;border-radius:24px;flex:1 1;font-size:.95rem;outline:none;padding:.75rem 1rem;transition:all .2s ease}.ai-chat-input:focus{border-color:#a435f0;box-shadow:0 0 0 3px #6366f11a}.ai-chat-input::placeholder{color:#94a3b8}.ai-chat-send{align-items:center;background:#a435f0;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:44px;justify-content:center;transition:all .2s ease;width:44px}.ai-chat-send:hover:not(:disabled){box-shadow:0 4px 15px #6366f166;transform:scale(1.05)}.ai-chat-send:disabled{cursor:not-allowed;opacity:.5}@media (max-width:640px){.quiz-results{padding:1rem}.score-card{padding:1.5rem}.score-stats{gap:1rem}.action-buttons,.score-stats{flex-direction:column}.action-btn{justify-content:center}.result-header{align-items:flex-start;flex-direction:column;gap:.5rem}.answer-row{flex-direction:column;gap:.25rem}.answer-label{min-width:auto}.ai-help-modal{border-radius:16px;max-height:90vh}.ai-help-content{padding:1rem}.ai-help-btn{justify-content:center;width:100%}.ai-chat-messages{max-height:250px}.chat-bubble{max-width:90%}.ai-chat-input{font-size:16px}}.ai-tutor-screen{background:#f8fafc;bottom:0;display:flex;height:100vh;left:0;position:fixed;right:0;top:0;z-index:100}.tutor-sidebar{background:#fff;border-right:1px solid #e2e8f0;display:flex;flex-direction:column;overflow:hidden;width:350px}.back-btn{align-items:center;background:none;border:none;border-bottom:1px solid #e2e8f0;color:#a435f0;cursor:pointer;display:flex;font-weight:600;gap:.5rem;padding:1rem 1.5rem;transition:all .2s ease}.back-btn:hover{background:#f8fafc;color:#6d28d9}.sidebar-content{display:flex;flex:1 1;flex-direction:column;gap:1.25rem;overflow-y:auto;padding:1.5rem}.question-card{background:#f7f9fa;border:2px solid #c4b5fd;border-radius:16px;padding:1.25rem}.question-card-header{align-items:center;color:#a435f0;display:flex;gap:.5rem;margin-bottom:.75rem}.question-card-header h3{font-size:1rem;margin:0}.question-text{color:#1e293b;font-size:.95rem;line-height:1.6;margin:0}.answer-card{border:1px solid;border-radius:12px;padding:1rem}.answer-card.correct{background:#ecfdf5;border-color:#ede9fe}.answer-card.incorrect{background:#fef2f2;border-color:#fecaca}.answer-card-header{align-items:center;display:flex;gap:.5rem;margin-bottom:.5rem}.answer-card.correct .answer-card-header{color:#059669}.answer-card.incorrect .answer-card-header{color:#dc2626}.answer-card-header h4{font-size:.85rem;margin:0}.answer-card p{color:#1e293b;font-size:.9rem;margin:0}.quick-questions{border-top:1px solid #e2e8f0;margin-top:auto;padding-top:1rem}.quick-questions h4{align-items:center;color:#64748b;display:flex;font-size:.85rem;gap:.5rem;margin:0 0 .75rem}.suggestions-list{display:flex;flex-direction:column;gap:.5rem}.suggestion-btn{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;color:#475569;cursor:pointer;font-size:.85rem;padding:.75rem 1rem;text-align:left;transition:all .2s ease}.suggestion-btn:hover:not(:disabled){background:#a435f0;border-color:#a435f0;color:#fff;transform:translateX(4px)}.suggestion-btn:disabled{cursor:not-allowed;opacity:.5}.tutor-main{display:flex;flex:1 1;flex-direction:column;overflow:hidden}.chat-header{background:#a435f0;color:#fff;justify-content:space-between;padding:1rem 2rem}.chat-header,.chat-header-info{align-items:center;display:flex}.chat-header-info{gap:1rem}.ai-avatar-large{align-items:center;background:#fff3;border-radius:50%;display:flex;height:50px;justify-content:center;width:50px}.chat-header-info h2{font-size:1.25rem;margin:0}.chat-header-info p{font-size:.9rem;margin:0;opacity:.9}.header-sparkle{animation:sparkleRotate 3s linear infinite}@keyframes sparkleRotate{0%{transform:rotate(0deg) scale(1)}50%{transform:rotate(180deg) scale(1.2)}to{transform:rotate(1turn) scale(1)}}.messages-container{display:flex;flex:1 1;flex-direction:column;gap:1.25rem;overflow-y:auto;padding:1.5rem 2rem}.initial-loading{flex-direction:column;gap:1.5rem;height:100%}.initial-loading,.loading-avatar{align-items:center;display:flex;justify-content:center}.loading-avatar{animation:pulse 2s ease-in-out infinite;background:#a435f0;border-radius:50%;color:#fff;height:80px;width:80px}@keyframes pulse{0%,to{box-shadow:0 0 0 0 #6366f166;transform:scale(1)}50%{box-shadow:0 0 0 20px #6366f100;transform:scale(1.05)}}.loading-dots{gap:.5rem;margin-bottom:1rem}.loading-dots span{animation:bounce 1.4s ease-in-out infinite;height:12px;width:12px}@keyframes bounce{0%,to{opacity:.3;transform:translateY(0)}50%{opacity:1;transform:translateY(-10px)}}.loading-content p{color:#64748b;margin:0}.welcome-banner{align-items:center;background:#f7f9fa;border-radius:12px;color:#3b82f6;display:flex;gap:.75rem;margin-bottom:.5rem;padding:1rem 1.25rem}.welcome-banner p{font-size:.9rem;margin:0}.message{display:flex;gap:.75rem;max-width:85%}.message.user{flex-direction:row-reverse;margin-left:auto}.message-avatar{align-items:center;background:#a435f0;border-radius:50%;color:#fff;display:flex;flex-shrink:0;height:36px;justify-content:center;width:36px}.message-avatar.user{background:#e2e8f0;color:#475569;font-size:.7rem;font-weight:600}.message-content{display:flex;flex-direction:column;gap:.25rem}.message-bubble{border-radius:18px;line-height:1.6;padding:1rem 1.25rem}.message.assistant .message-bubble{background:#fff;border:1px solid #e2e8f0;border-radius:18px 18px 18px 4px;box-shadow:0 2px 8px #0000000d}.message.user .message-bubble{background:#a435f0;border-radius:18px 18px 4px 18px;color:#fff}.message-bubble p{font-size:.95rem;margin:0 0 .5rem}.message-bubble p:last-child{margin-bottom:0}.message-time{color:#94a3b8;font-size:.75rem;padding:0 .5rem}.message.user .message-time{text-align:right}.message-bubble.typing{padding:1rem 1.5rem}.typing-indicator{display:flex;gap:5px}.typing-indicator span{animation:typingBounce 1.4s ease-in-out infinite;background:#a435f0;border-radius:50%;height:8px;width:8px}.typing-indicator span:first-child{animation-delay:0s}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typingBounce{0%,to{opacity:.4;transform:translateY(0)}50%{opacity:1;transform:translateY(-6px)}}.input-container{background:#fff;border-top:1px solid #e2e8f0;padding:1rem 2rem 1.5rem}.input-wrapper{align-items:center;display:flex;gap:.75rem}.chat-input{border:2px solid #e2e8f0;border-radius:30px;flex:1 1;font-size:1rem;outline:none;padding:1rem 1.5rem;transition:all .2s ease}.chat-input:focus{border-color:#a435f0;box-shadow:0 0 0 4px #6366f11a}.chat-input::placeholder{color:#94a3b8}.send-btn{align-items:center;background:#a435f0;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:52px;justify-content:center;transition:all .2s ease;width:52px}.send-btn:hover:not(:disabled){box-shadow:0 4px 20px #6366f166;transform:scale(1.05)}.send-btn:disabled{cursor:not-allowed;opacity:.5}.input-hint{color:#94a3b8;font-size:.85rem;margin:.75rem 0 0;text-align:center}@media (max-width:900px){.ai-tutor-screen{flex-direction:column}.tutor-sidebar{border-bottom:1px solid #e2e8f0;border-right:none;max-height:40vh;width:100%}.sidebar-content{padding:1rem}.quick-questions{display:none}.chat-header,.input-container,.messages-container{padding:1rem}.message{max-width:95%}}@media (max-width:640px){.tutor-sidebar{max-height:35vh}.question-card{padding:1rem}.chat-input{font-size:16px;padding:.875rem 1.25rem}.send-btn{height:48px;width:48px}.message-bubble{padding:.875rem 1rem}}.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-container{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:24px;box-shadow:0 20px 60px #6366f133;display:flex;flex-direction:column;gap:2rem;padding:3rem}.loader{display:flex;gap:.5rem}.loader-circle{animation:loader-bounce 1.4s ease-in-out infinite both;background:#a435f0;border-radius:50%;height:20px;width:20px}.loader-circle:first-child{animation-delay:-.32s}.loader-circle:nth-child(2){animation-delay:-.16s}@keyframes loader-bounce{0%,80%,to{opacity:.5;transform:scale(.6)}40%{opacity:1;transform:scale(1)}}.loading-content{text-align:center}.loading-content h3{color:#1e293b;font-size:1.5rem;margin:0 0 .75rem}.loading-message{color:#64748b;font-size:1rem;margin:0}.loading-dots{display:flex;gap:.25rem;justify-content:center;margin-top:1rem}.loading-dots span{animation:loading-dot 1.4s ease-in-out infinite;background:#a435f0;border-radius:50%;height:8px;width:8px}.loading-dots span:first-child{animation-delay:0s}.loading-dots span:nth-child(2){animation-delay:.2s}.loading-dots span:nth-child(3){animation-delay:.4s}@keyframes loading-dot{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}.app{display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1 1;margin:0 auto;max-width:1400px;padding:2rem 1rem;width:100%}.error-banner{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:12px;color:#dc2626;display:flex;justify-content:space-between;margin-bottom:2rem;margin-left:auto;margin-right:auto;max-width:800px;padding:1rem 1.5rem}.error-banner button{background:none;border:none;color:#dc2626;cursor:pointer;font-size:1.5rem;line-height:1}.error-banner button:hover{opacity:.7}.footer{background:#fff;border-top:1px solid #e2e8f0;padding:1.5rem;text-align:center}.footer p{color:#64748b;font-size:.9rem;margin:0}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.content-uploader,.quiz-configurator,.quiz-display,.quiz-results{animation:fadeIn .3s ease}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}::selection{background:#e9d5ff;color:#1e293b}button:focus,input:focus,select:focus,textarea:focus{outline:2px solid #a435f0;outline-offset:2px}@media print{.action-buttons,.footer,.header,.navigation{display:none}.main-content{padding:0}}
/*# sourceMappingURL=main.f930a3ec.css.map*/