*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0f0f1a;--surface: #1a1a2e;--surface2: #16213e;--border: rgba(255,255,255,.08);--accent: #6366f1;--accent2: #ec4899;--text: #f1f5f9;--text-secondary: #94a3b8;--correct: #16a34a;--incorrect: #dc2626;--radius: 14px;--shadow: 0 4px 24px rgba(0,0,0,.4)}html{scroll-behavior:smooth}body{font-family:Inter,sans-serif;background:var(--bg);color:var(--text);min-height:100vh;line-height:1.6}.bg-pattern{position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 20% 50%,rgba(99,102,241,.15) 0%,transparent 50%),radial-gradient(ellipse at 80% 20%,rgba(236,72,153,.1) 0%,transparent 50%);pointer-events:none;z-index:0}.app{position:relative;z-index:1}.screen{min-height:100vh}.container{max-width:720px;margin:0 auto;padding:40px 20px 80px}.header{text-align:center;margin-bottom:40px}.logo{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:12px}.logo-icon{font-size:2.5rem}.logo-text h1{font-size:2rem;font-weight:800;background:linear-gradient(135deg,var(--accent),var(--accent2));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.logo-text p{color:var(--text-secondary);font-size:.9rem}.header-subtitle{color:var(--text-secondary);font-size:1rem}.quiz-list{display:flex;flex-direction:column;gap:16px}.quiz-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px;text-align:left;cursor:pointer;transition:transform .2s,border-color .2s,box-shadow .2s;width:100%;color:var(--text)}.quiz-card:hover{transform:translateY(-2px);border-color:#6366f180;box-shadow:var(--shadow)}.quiz-card-header{display:flex;align-items:center;gap:16px;margin-bottom:8px}.quiz-icon{font-size:2rem}.quiz-card h3{font-size:1.1rem;font-weight:700}.quiz-card p{color:var(--text-secondary);font-size:.9rem;margin-bottom:12px}.quiz-meta{display:flex;gap:8px}.quiz-badge{background:#6366f133;color:var(--accent);padding:4px 12px;border-radius:99px;font-size:.78rem;font-weight:600}.empty-state{text-align:center;padding:60px 20px;color:var(--text-secondary)}.empty-icon{font-size:3rem;margin-bottom:16px}.empty-state h3{font-size:1.3rem;color:var(--text);margin-bottom:8px}.empty-state code{background:#ffffff14;padding:2px 6px;border-radius:4px;font-size:.85rem}.quiz-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:16px;padding:16px 24px;background:#0f0f1ad9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}.back-btn{display:flex;align-items:center;gap:8px;background:none;border:1px solid var(--border);color:var(--text-secondary);padding:8px 14px;border-radius:99px;cursor:pointer;font-size:.85rem;transition:color .2s,border-color .2s;flex-shrink:0}.back-btn:hover{color:var(--text);border-color:#fff3}.quiz-info{flex:1}.quiz-info h2{font-size:1rem;font-weight:700}.quiz-meta-header{display:flex;align-items:center;gap:12px;margin-top:2px}.timer{display:flex;align-items:center;gap:6px;font-size:.85rem;color:var(--text-secondary);font-variant-numeric:tabular-nums}.progress-bar{height:4px;background:#ffffff14}.progress-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent2));transition:width .4s ease}.section-markers{display:flex;gap:8px;overflow-x:auto;padding:10px 24px;background:#0f0f1ab8;border-bottom:1px solid var(--border)}.section-marker{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto;min-height:34px;padding:7px 12px;border-radius:999px;border:1px solid var(--border);background:#ffffff0a;color:var(--text-secondary);font:inherit;font-size:.78rem;cursor:pointer;transition:color .15s,border-color .15s,background .15s}.section-marker strong{color:var(--text);font-weight:700;font-variant-numeric:tabular-nums}.section-marker:hover,.section-marker.active{color:var(--text);border-color:#6366f180;background:#6366f124}.question-container{max-width:720px;margin:0 auto;padding:32px 24px}.question-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.question-number{font-size:.8rem;font-weight:600;color:var(--accent);text-transform:uppercase;letter-spacing:.05em}.section-pill{flex-shrink:0;max-width:52%;padding:4px 10px;border-radius:999px;background:#ec48991f;color:#f9a8d4;font-size:.72rem;font-weight:700;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.question-text{font-size:1.2rem;font-weight:600;line-height:1.5;margin-bottom:28px}.question-hint{display:flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:.85rem;margin-bottom:16px}.options-list{display:flex;flex-direction:column;gap:12px}.option{display:flex;align-items:center;gap:16px;padding:16px 20px;background:var(--surface);border:2px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:border-color .15s,background .15s}.option:hover{border-color:#6366f166;background:#6366f10f}.option.selected{border-color:var(--accent);background:#6366f11f}.option-label{min-width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#ffffff14;border-radius:8px;font-weight:700;font-size:.85rem;flex-shrink:0}.option.selected .option-label{background:var(--accent);color:#fff}.option-text{font-size:.95rem}.checkbox-option{cursor:pointer}.checkbox-option input[type=checkbox]{position:absolute;opacity:0;width:0;height:0}.checkbox-custom{min-width:22px;height:22px;border:2px solid rgba(255,255,255,.2);border-radius:6px;display:flex;align-items:center;justify-content:center;transition:background .15s,border-color .15s;flex-shrink:0}.checkbox-custom svg{opacity:0;transition:opacity .15s}.checkbox-option.selected .checkbox-custom{background:var(--accent);border-color:var(--accent)}.checkbox-option.selected .checkbox-custom svg{opacity:1}.option-content{display:flex;align-items:center;gap:12px}.text-input,.short-answer-input{width:100%;background:var(--surface);border:2px solid var(--border);border-radius:var(--radius);color:var(--text);font-family:inherit;font-size:.95rem;padding:14px 16px;transition:border-color .15s;resize:vertical}.text-input:focus,.short-answer-input:focus{outline:none;border-color:var(--accent)}.short-answer-input[readonly]{opacity:.7;cursor:not-allowed}.ai-feedback-panel{margin-top:16px;border-radius:12px;overflow:hidden;border:1px solid rgba(255,255,255,.1);animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.ai-verdict{display:flex;align-items:center;gap:10px;font-size:1.05rem;font-weight:700;padding:14px 18px}.ai-correct{background:linear-gradient(135deg,#16a34a,#15803d);color:#fff}.ai-incorrect{background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff}.ai-evaluating{background:linear-gradient(135deg,#475569,#334155);color:#cbd5e1;font-size:.95rem}.ai-feedback-body{background:#ffffff0d;padding:14px 18px;font-size:.92rem;line-height:1.6;color:var(--text-secondary)}.ai-feedback-body p{margin:0 0 6px}.ai-missing{color:#f59e0b;margin-top:8px!important}.quiz-controls{position:sticky;bottom:0;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;padding:16px 24px;background:#0f0f1ae6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--border);gap:16px;z-index:9}.question-indicator{font-size:.85rem;color:var(--text-secondary);font-variant-numeric:tabular-nums}.question-jump{display:flex;align-items:center;justify-content:center;gap:6px;min-width:92px;color:var(--text-secondary);font-size:.85rem;font-variant-numeric:tabular-nums;justify-self:center}.question-jump input{width:52px;height:36px;padding:0 8px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;font-weight:700;text-align:center}.question-jump input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #6366f129}.question-jump input::-webkit-outer-spin-button,.question-jump input::-webkit-inner-spin-button{margin:0}.keyboard-hint{text-align:center;padding:6px 12px 10px;font-size:.78rem;color:#ffffff47}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:99px;font-family:inherit;font-size:.9rem;font-weight:600;cursor:pointer;border:none;transition:opacity .15s,transform .15s;white-space:nowrap}.nav-btn{min-width:0;justify-content:center}.nav-btn-prev{justify-self:start}.nav-btn-next{justify-self:end}.nav-btn svg{flex:0 0 auto}.nav-btn span{overflow:hidden;text-overflow:ellipsis}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.btn-primary{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff}.btn-primary:hover:not(:disabled){opacity:.9}.btn-secondary{background:var(--surface);border:1px solid var(--border);color:var(--text-secondary)}.btn-secondary:hover:not(:disabled){color:var(--text);border-color:#fff3}.results-header{text-align:center;margin-bottom:40px}.results-header h2{font-size:1.8rem;font-weight:800;margin:16px 0}.score-circle{position:relative;width:200px;height:200px;margin:0 auto 20px}.score-ring{transform:rotate(-90deg)}.ring-bg{fill:none;stroke:#ffffff14;stroke-width:10}.ring-fill{fill:none;stroke:url(#scoreGradient);stroke-width:10;stroke-linecap:round;stroke-dasharray:534;stroke-dashoffset:534;transition:stroke-dashoffset 1s ease}.score-text{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.score-percent{font-size:2.4rem;font-weight:800}.score-label{font-size:.85rem;color:var(--text-secondary)}.results-summary{display:flex;justify-content:center;gap:32px;flex-wrap:wrap;padding:20px;background:var(--surface);border-radius:var(--radius);border:1px solid var(--border)}.summary-item{display:flex;flex-direction:column;align-items:center;gap:4px}.summary-icon{font-size:1.2rem}.summary-label{font-size:.78rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.summary-value{font-size:1.4rem;font-weight:800}.summary-value.correct{color:var(--correct)}.summary-value.incorrect{color:var(--incorrect)}.results-section{margin-bottom:32px}.results-section h3{font-size:1.1rem;font-weight:700;margin-bottom:16px}.results-details{display:flex;flex-direction:column;gap:12px}.result-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px 20px;border-left:4px solid transparent}.result-item.correct{border-left-color:var(--correct)}.result-item.incorrect{border-left-color:var(--incorrect)}.result-header{display:flex;gap:12px;margin-bottom:8px}.result-icon{font-weight:800;font-size:1rem;margin-top:2px}.result-item.correct .result-icon{color:var(--correct)}.result-item.incorrect .result-icon{color:var(--incorrect)}.result-question{font-size:.95rem;font-weight:600;line-height:1.4}.result-answer{font-size:.88rem;color:var(--text-secondary);margin-bottom:4px}.result-answer strong{color:var(--text)}.result-correct{font-size:.88rem;color:#4ade80}.result-ai{margin-top:8px;font-size:.85rem;color:var(--text-secondary);background:#ffffff08;padding:10px 14px;border-radius:8px;line-height:1.6}.results-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}#ai-grading-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0a14eb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:9999}.ai-grading-content{text-align:center;padding:48px 40px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:20px;max-width:420px;width:90%}.ai-grading-icon{font-size:3rem;margin-bottom:16px;animation:pulse 1.5s infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.ai-grading-content h2{font-size:1.5rem;font-weight:700;margin-bottom:8px}.ai-grading-content p{color:var(--text-secondary);font-size:.95rem;margin-bottom:24px}.ai-grading-bar-wrap{background:#ffffff1a;border-radius:99px;height:10px;overflow:hidden;margin-bottom:12px}.ai-grading-bar{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent2));border-radius:99px;transition:width .4s ease}.ai-grading-status{font-size:.85rem;color:#64748b;margin-bottom:0!important}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:99px}@media (max-width: 600px){.quiz-header{padding:12px 16px}.question-container{padding:20px 16px}.quiz-controls{grid-template-columns:minmax(72px,1fr) auto minmax(72px,1fr);gap:8px;padding:10px 12px}.container{padding:24px 16px 60px}.results-summary{gap:20px}.btn{padding:10px 12px;font-size:.85rem}.question-jump{min-width:76px;gap:4px}.question-jump input{width:46px;height:34px}.keyboard-hint{padding:4px 16px 8px;font-size:.72rem}}@media (max-width: 420px){.quiz-controls{grid-template-columns:minmax(48px,1fr) auto minmax(48px,1fr);gap:6px}.nav-btn{padding-inline:10px}.nav-btn span{display:none}.question-jump{min-width:70px}}
