@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&display=swap";:root{--bg-dark:#0f172a;--bg-darker:#020617;--primary:#3b82f6;--primary-glow:#3b82f680;--primary-hover:#2563eb;--success:#10b981;--danger:#ef4444;--text-light:#f8fafc;--text-muted:#94a3b8;--glass-bg:#1e293b99;--glass-border:#ffffff14}*{box-sizing:border-box;margin:0;padding:0;font-family:Outfit,sans-serif}body{background:radial-gradient(circle at 15% 50%, #1e1b4b, var(--bg-darker)), radial-gradient(circle at 85% 30%, #0f172a, var(--bg-darker));color:var(--text-light);justify-content:center;align-items:center;min-height:100vh;display:flex;overflow-x:hidden}.app-container{width:100%;max-width:800px;padding:20px}.glass-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(16px);border:1px solid var(--glass-border);border-radius:24px;padding:40px;animation:.5s ease-out fadeIn;box-shadow:0 25px 50px -12px #00000080}.header{text-align:center;margin-bottom:30px}.title{background:linear-gradient(90deg,#60a5fa,#a78bfa);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:10px;font-size:2.5rem;font-weight:700}.subtitle{color:var(--text-muted);font-size:1.1rem}.btn{background:var(--primary);color:#fff;cursor:pointer;box-shadow:0 4px 15px var(--primary-glow);border:none;border-radius:12px;width:100%;margin-top:20px;padding:14px 28px;font-size:1.1rem;font-weight:600;transition:all .3s}.btn:hover{background:var(--primary-hover);box-shadow:0 6px 20px var(--primary-glow);transform:translateY(-2px)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-secondary{box-shadow:none;background:#ffffff1a}.btn-secondary:hover{box-shadow:none;background:#ffffff26}.test-header{border-bottom:1px solid var(--glass-border);justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:20px;display:flex}.progress{color:var(--text-muted);font-size:1.1rem;font-weight:600}.timer{color:#fbbf24;background:#fbbf241a;border-radius:20px;align-items:center;gap:8px;padding:8px 16px;font-size:1.2rem;font-weight:700;display:flex}.timer.warning{color:var(--danger);background:#ef44441a;animation:1s infinite pulse}.category-badge{color:#c4b5fd;background:#a78bfa26;border:1px solid #a78bfa4d;border-radius:20px;margin-bottom:15px;padding:6px 14px;font-size:.85rem;font-weight:600;display:inline-block}.question-text{margin-bottom:25px;font-size:1.4rem;font-weight:500;line-height:1.5}.options-grid{grid-template-columns:1fr;gap:15px;margin-bottom:30px;display:grid}.option-btn{border:1px solid var(--glass-border);color:var(--text-light);text-align:left;cursor:pointer;background:#ffffff0d;border-radius:12px;padding:16px 20px;font-size:1.1rem;transition:all .2s}.option-btn:hover:not(:disabled){background:#ffffff1a;border-color:#fff3;transform:translate(5px)}.option-btn.selected{border-color:var(--primary);background:#3b82f633}.result-screen{text-align:center}.score-circle{background:conic-gradient(var(--primary) var(--progress), #ffffff1a 0deg);border-radius:50%;justify-content:center;align-items:center;width:150px;height:150px;margin:0 auto 30px;display:flex;position:relative}.score-circle:before{content:"";background:var(--bg-darker);border-radius:50%;position:absolute;inset:10px}.score-text{font-size:2rem;font-weight:700;position:relative}.review-list{text-align:left;max-height:400px;margin-top:30px;padding-right:10px;overflow-y:auto}.review-list::-webkit-scrollbar{width:6px}.review-list::-webkit-scrollbar-thumb{background:#fff3;border-radius:10px}.review-item{background:#0003;border-left:4px solid #0000;border-radius:12px;margin-bottom:15px;padding:15px}.review-item.correct{border-left-color:var(--success)}.review-item.incorrect{border-left-color:var(--danger)}.review-q{margin-bottom:10px;font-weight:600}.review-ans{color:var(--text-muted);margin-bottom:5px;font-size:.95rem}.review-exp{color:#93c5fd;background:#3b82f61a;border-radius:8px;margin-top:8px;padding:8px 12px;font-size:.9rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%{opacity:1}50%{opacity:.5}to{opacity:1}}@media (width>=640px){.options-grid{grid-template-columns:1fr 1fr}}
