@import url("https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap");:root{--font-primary:"Plus Jakarta Sans",system-ui,-apple-system,sans-serif;--color-brand-primary:#6366f1;--color-brand-primary-light:#eef2ff;--color-brand-primary-glow:rgba(99,102,241,.15);--color-brand-secondary:#8b5cf6;--color-brand-secondary-light:#f5f3ff;--color-success:#10b981;--color-success-light:#ecfdf5;--color-success-glow:rgba(16,185,129,.15);--color-warning:#f59e0b;--color-warning-light:#fffbeb;--color-danger:#f43f5e;--color-danger-light:#fff1f2;--color-danger-glow:rgba(244,63,94,.15);--color-text-main:#0f172a;--color-text-muted:#64748b;--color-border:#e2e8f0;--color-bg-light:#f8fafc;--shadow-sm:0 2px 8px rgba(0,0,0,.04);--shadow-md:0 10px 30px -10px rgba(0,0,0,.06),0 1px 3px rgba(0,0,0,.02);--shadow-lg:0 20px 40px -15px rgba(0,0,0,.08),0 1px 5px rgba(0,0,0,.03);--shadow-brand:0 12px 24px -10px rgba(99,102,241,.3);--glass-bg:hsla(0,0%,100%,.85);--glass-border:hsla(0,0%,100%,.6)}.mock-test-layout{display:flex;flex-direction:column;min-height:calc(100vh - 60px);background:radial-gradient(at 0 0,rgba(99,102,241,.05) 0,transparent 50%),radial-gradient(at 50% 0,rgba(139,92,246,.03) 0,transparent 50%),linear-gradient(180deg,#f8fafc,#f1f5f9);color:var(--color-text-main);font-family:var(--font-primary);-webkit-font-smoothing:antialiased}.mock-test-dashboard{max-width:1100px;width:100%;margin:30px auto;padding:0 24px}.dashboard-card{background:var(--glass-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:24px;border:1px solid var(--color-border);box-shadow:var(--shadow-md);padding:40px;margin-bottom:30px;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.dashboard-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:5px;background:linear-gradient(90deg,var(--color-brand-primary) 0,var(--color-brand-secondary) 100%)}.dashboard-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.dashboard-header{text-align:center;margin-bottom:40px}.dashboard-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 16px;background-color:var(--color-brand-primary-light);color:var(--color-brand-primary);font-weight:700;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;border-radius:9999px;margin-bottom:16px;border:1px solid rgba(99,102,241,.2)}.live-indicator{width:8px;height:8px;border-radius:50%;background-color:var(--color-success);animation:blink-live 1.5s infinite alternate}@keyframes blink-live{0%{opacity:.3;transform:scale(.9)}to{opacity:1;transform:scale(1.2);box-shadow:0 0 8px var(--color-success)}}.dashboard-title{font-size:2.5rem;font-weight:800;color:var(--color-text-main);margin-bottom:14px;letter-spacing:-.02em;background:linear-gradient(135deg,#0f172a,#1e1b4b);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.dashboard-desc{color:var(--color-text-muted);font-size:1.15rem;max-width:650px;margin:0 auto;line-height:1.6}.dist-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:20px;gap:20px;margin:32px 0}.dist-item{background:hsla(0,0%,100%,.6);border-radius:18px;padding:24px 20px;text-align:center;border:1px solid var(--color-border);box-shadow:var(--shadow-sm);transition:all .2s ease}.dist-item:hover{background:#fff;transform:translateY(-2px);border-color:rgba(99,102,241,.3);box-shadow:var(--shadow-md)}.dist-number{font-size:2.25rem;font-weight:800;color:var(--color-brand-primary);margin-bottom:8px;letter-spacing:-.03em}.dist-name{font-size:.95rem;color:var(--color-text-main);font-weight:700}.btn-start-test{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;max-width:320px;margin:0 auto;padding:16px 36px;background:linear-gradient(135deg,var(--color-brand-primary) 0,var(--color-brand-secondary) 100%);color:#fff;font-weight:700;font-size:1.1rem;border-radius:16px;border:none;cursor:pointer;box-shadow:var(--shadow-brand);transition:all .3s cubic-bezier(.175,.885,.32,1.275)}.btn-start-test:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 15px 30px -5px rgba(99,102,241,.5)}.btn-start-test:active{transform:translateY(-1px) scale(.99)}.topper-card{background:linear-gradient(135deg,#fffbeb,#fef3c7 50%,#fde68a);border:1px solid #fcd34d;border-radius:24px;padding:32px;text-align:center;margin-bottom:40px;position:relative;overflow:hidden;box-shadow:0 10px 30px -5px rgba(217,119,6,.12)}.topper-card:after{content:"";position:absolute;top:-50%;left:-60%;width:30%;height:200%;background:linear-gradient(90deg,hsla(0,0%,100%,0) 0,hsla(0,0%,100%,.6) 50%,hsla(0,0%,100%,0));transform:rotate(30deg);animation:shine 4s ease-in-out infinite}@keyframes shine{0%{left:-60%}15%,to{left:140%}}.topper-badge{position:absolute;top:20px;right:20px;font-size:2.2rem;animation:bounce-gold 2s infinite alternate}@keyframes bounce-gold{0%{transform:translateY(0) scale(1)}to{transform:translateY(-5px) scale(1.1)}}.topper-avatar{width:90px;height:90px;border-radius:50%;border:4px solid #f59e0b;margin:0 auto 16px;box-shadow:0 8px 20px rgba(217,119,6,.2);display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#fbbf24,#f59e0b);font-size:2rem;overflow:hidden;object-fit:cover}.topper-avatar,.topper-name{color:#78350f;font-weight:800}.topper-name{font-size:1.5rem;margin-bottom:8px;letter-spacing:-.01em}.topper-stats{font-weight:700;color:#92400e;font-size:1.05rem;background:hsla(0,0%,100%,.5);display:inline-block;padding:6px 18px;border-radius:9999px;border:1px solid rgba(245,158,11,.2)}.test-env-container{display:flex;flex:1 1;height:calc(100vh - 60px);overflow:hidden;background-color:var(--color-bg-light)}.test-workspace{flex:1 1;display:flex;flex-direction:column;height:100%;overflow-y:auto;position:relative;scroll-behavior:smooth}.test-workspace-header{display:flex;justify-content:space-between;align-items:center;padding:16px 32px;background:hsla(0,0%,100%,.8);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border);position:-webkit-sticky;position:sticky;top:0;z-index:10}.question-meta-tags{display:flex;gap:10px}.meta-tag{padding:6px 14px;border-radius:8px;font-size:.8rem;font-weight:700;letter-spacing:.01em}.meta-subject{background-color:var(--color-brand-primary-light);color:var(--color-brand-primary);border:1px solid rgba(99,102,241,.15)}.meta-topic{background-color:var(--color-success-light);color:var(--color-success);border:1px solid rgba(16,185,129,.15)}.test-timer{display:flex;align-items:center;gap:8px;padding:8px 18px;background-color:#fff;border-radius:9999px;font-weight:800;font-size:1.1rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:#334155;border:1.5px solid var(--color-border);box-shadow:var(--shadow-sm);transition:all .3s ease}.test-timer svg{color:var(--color-text-muted)}.test-timer.timer-warning{background-color:var(--color-warning-light);border-color:rgba(245,158,11,.3)}.test-timer.timer-warning,.test-timer.timer-warning svg{color:var(--color-warning)}.test-timer.timer-danger{background-color:var(--color-danger-light);border-color:rgba(244,63,94,.3);box-shadow:0 0 12px rgba(244,63,94,.2);animation:pulse-danger-timer 1.2s infinite alternate}.test-timer.timer-danger,.test-timer.timer-danger svg{color:var(--color-danger)}@keyframes pulse-danger-timer{0%{transform:scale(1)}to{transform:scale(1.05)}}.question-card{padding:40px 32px;max-width:850px;width:100%;margin:0 auto;flex:1 1}.question-number{font-size:.95rem;font-weight:700;color:var(--color-brand-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:12px}.question-text{font-size:1.35rem;font-weight:700;color:var(--color-text-main);line-height:1.6;margin-bottom:30px;letter-spacing:-.01em}.options-list{display:flex;flex-direction:column;gap:14px}.option-button{display:flex;align-items:center;width:100%;padding:18px 24px;background:#fff;border:1.5px solid var(--color-border);border-radius:18px;cursor:pointer;text-align:left;transition:all .25s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow-sm)}.option-button:hover:not(:disabled){border-color:rgba(99,102,241,.4);background-color:var(--color-bg-light);transform:translateY(-2px);box-shadow:var(--shadow-md)}.option-label{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;background-color:var(--color-bg-light);border:1px solid var(--color-border);font-weight:800;color:#475569;margin-right:18px;flex-shrink:0;transition:all .2s ease}.option-text{font-size:1.08rem;font-weight:600;color:#334155;line-height:1.5}.option-button.selected{border-color:var(--color-brand-primary);background-color:var(--color-brand-primary-light);box-shadow:0 8px 16px -4px var(--color-brand-primary-glow)}.option-button.selected .option-label{background-color:var(--color-brand-primary);color:#fff;border-color:var(--color-brand-primary)}.option-button.selected .option-text{color:#1e1b4b}.option-button.correct{border-color:var(--color-success);background-color:var(--color-success-light);box-shadow:0 8px 16px -4px var(--color-success-glow)}.option-button.correct .option-label{background-color:var(--color-success);color:#fff;border-color:var(--color-success)}.option-button.correct .option-text{color:#064e3b}.option-button.incorrect{border-color:var(--color-danger);background-color:var(--color-danger-light);box-shadow:0 8px 16px -4px var(--color-danger-glow)}.option-button.incorrect .option-label{background-color:var(--color-danger);color:#fff;border-color:var(--color-danger)}.option-button.incorrect .option-text{color:#7f1d1d}.test-controls-bar{background:#fff;border-top:1px solid var(--color-border);padding:20px 32px;position:-webkit-sticky;position:sticky;bottom:0;z-index:10}.controls-container{display:flex;justify-content:space-between;align-items:center;max-width:850px;margin:0 auto;gap:16px}.ctrl-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;border-radius:12px;font-weight:700;font-size:.95rem;cursor:pointer;transition:all .2s ease;border:1.5px solid transparent}.btn-secondary-outline{background:#fff;border-color:var(--color-border);color:#475569}.btn-secondary-outline:hover:not(:disabled){background:var(--color-bg-light);border-color:#94a3b8;color:var(--color-text-main)}.btn-primary-solid{background:var(--color-brand-primary);color:#fff;box-shadow:0 4px 10px rgba(99,102,241,.2)}.btn-primary-solid:hover:not(:disabled){background:#4f46e5;transform:translateY(-1px);box-shadow:0 6px 14px rgba(99,102,241,.3)}.btn-accent-outline{background:#fff;border-color:rgba(99,102,241,.4);color:var(--color-brand-primary)}.btn-accent-outline:hover:not(:disabled){background:var(--color-brand-primary-light);border-color:var(--color-brand-primary)}.btn-submit-exam{background:var(--color-success);color:#fff;padding:12px 28px;box-shadow:0 4px 10px rgba(16,185,129,.2)}.btn-submit-exam:hover:not(:disabled){background:#059669;transform:translateY(-1px);box-shadow:0 6px 14px rgba(16,185,129,.3)}.ctrl-btn:disabled{opacity:.4;cursor:not-allowed;transform:none!important;box-shadow:none!important}.test-sidebar{width:340px;background:#fff;border-left:1px solid var(--color-border);display:flex;flex-direction:column;height:100%;z-index:15}.d-mobile-only{display:none}.sidebar-header{padding:24px;border-bottom:1px solid var(--color-border)}.sidebar-title{font-weight:800;font-size:1.15rem;color:var(--color-text-main);margin-bottom:16px;letter-spacing:-.01em}.progress-info{display:flex;justify-content:space-between;font-weight:700;font-size:.85rem;color:var(--color-text-muted);margin-bottom:8px}.progress-bar-container{height:8px;background-color:var(--color-bg-light);border-radius:9999px;overflow:hidden;border:1px solid var(--color-border)}.progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--color-brand-primary) 0,var(--color-brand-secondary) 100%);border-radius:9999px;transition:width .4s cubic-bezier(.4,0,.2,1)}.questions-grid-container{flex:1 1;overflow-y:auto;padding:24px}.questions-grid{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:12px;gap:12px}.grid-btn{display:flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:12px;font-weight:800;font-size:.95rem;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);border:1.5px solid var(--color-border)}.grid-btn.unvisited{background-color:#fff;color:#64748b}.grid-btn.unvisited:hover{border-color:#94a3b8;background-color:var(--color-bg-light)}.grid-btn.unanswered{background-color:var(--color-danger-light);color:var(--color-danger);border-color:rgba(244,63,94,.25)}.grid-btn.unanswered:hover{background-color:#ffe4e6;border-color:var(--color-danger)}.grid-btn.answered{background-color:var(--color-success-light);color:var(--color-success);border-color:rgba(16,185,129,.25)}.grid-btn.answered:hover{background-color:#d1fae5;border-color:var(--color-success)}.grid-btn.marked{background-color:#eff6ff;color:#2563eb;border-color:#bfdbfe}.grid-btn.marked:hover{background-color:#dbeafe;border-color:#2563eb}.grid-btn.active-q{border:2.5px solid var(--color-brand-primary);box-shadow:0 0 0 3px rgba(99,102,241,.3);transform:scale(1.05)}.sidebar-legend{padding:24px;border-top:1px solid var(--color-border);background-color:var(--color-bg-light)}.legend-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;font-size:.8rem;color:var(--color-text-muted);font-weight:600}.legend-item{display:flex;align-items:center;gap:8px}.legend-dot{width:14px;height:14px;border-radius:4px;border:1px solid var(--color-border);flex-shrink:0}.legend-dot.unvisited{background-color:#fff}.legend-dot.unanswered{background-color:var(--color-danger-light);border-color:rgba(244,63,94,.25)}.legend-dot.answered{background-color:var(--color-success-light);border-color:rgba(16,185,129,.25)}.legend-dot.marked{background-color:#eff6ff;border-color:#bfdbfe}.explanation-box{background-color:#f0f9ff;padding:24px;border-radius:0 16px 16px 0;margin-top:30px;box-shadow:var(--shadow-sm);border:1px solid rgba(2,132,199,.1);border-left:4px solid #0284c7}.explanation-title{font-weight:800;color:#0369a1;margin-bottom:8px;font-size:1.05rem}.explanation-text{color:#0c4a6e;line-height:1.6}.leaderboard-section{margin-top:40px}.leaderboard-table-container{overflow-x:auto;border-radius:20px;border:1px solid var(--color-border);box-shadow:var(--shadow-sm);background:#fff}.leaderboard-table{width:100%;border-collapse:collapse;text-align:left;font-size:.98rem}.leaderboard-table th{background-color:var(--color-bg-light);color:#475569;font-weight:700;padding:18px 20px;border-bottom:1.5px solid var(--color-border);text-transform:uppercase;font-size:.8rem;letter-spacing:.05em}.leaderboard-table td{padding:16px 20px;border-bottom:1px solid #f1f5f9;color:var(--color-text-main);vertical-align:middle}.leaderboard-table tr:last-child td{border-bottom:none}.leaderboard-table tr.top-rank{background-color:rgba(139,92,246,.02)}.leaderboard-table tr:hover{background-color:var(--color-bg-light)}.rank-badge{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;font-weight:800;font-size:.85rem;box-shadow:var(--shadow-sm)}.rank-1{background-color:#fef3c7;color:#d97706;border:1px solid #fcd34d}.rank-2{background-color:#f1f5f9;color:#475569;border:1px solid #e2e8f0}.rank-3{background-color:#ffedd5;color:#ea580c;border:1px solid #fed7aa}.rank-other{background-color:var(--color-bg-light);color:var(--color-text-muted)}.user-profile-cell{display:flex;align-items:center;gap:12px}.user-avatar-sm{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--color-brand-primary) 0,var(--color-brand-secondary) 100%);color:#fff;font-weight:800;font-size:.9rem;overflow:hidden;object-fit:cover;box-shadow:var(--shadow-sm);border:1px solid hsla(0,0%,100%,.8)}.modal-overlay,.user-avatar-sm{display:flex;align-items:center;justify-content:center}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(15,23,42,.4);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:9999;padding:24px}.modal-content{background:#fff;border-radius:24px;max-width:480px;width:100%;padding:36px;border:1px solid var(--color-border);box-shadow:var(--shadow-lg);text-align:center;transform:translateY(0);animation:modal-slide-in .3s cubic-bezier(.34,1.56,.64,1)}@keyframes modal-slide-in{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-icon{font-size:3.5rem;margin-bottom:20px;display:inline-block;animation:scale-bounce .5s ease-out}@keyframes scale-bounce{0%{transform:scale(.5)}70%{transform:scale(1.1)}to{transform:scale(1)}}.modal-title{font-size:1.6rem;font-weight:800;color:var(--color-text-main);margin-bottom:12px;letter-spacing:-.01em}.modal-text{color:var(--color-text-muted);line-height:1.6;margin-bottom:28px;font-size:1rem}.modal-actions{display:flex;gap:14px;justify-content:center}.modal-actions .ctrl-btn{flex:1 1;max-width:160px}.mobile-drawer-toggle{display:none;position:fixed;bottom:90px;right:24px;background-color:var(--color-brand-primary);color:#fff;border:none;width:60px;height:60px;border-radius:50%;font-size:1.6rem;box-shadow:0 8px 24px rgba(99,102,241,.4);cursor:pointer;z-index:100;align-items:center;justify-content:center;transition:all .2s ease}.mobile-drawer-toggle:hover{transform:scale(1.08)}.exit-btn{transition:all .2s cubic-bezier(.4,0,.2,1)!important}.exit-btn:hover{background:var(--color-danger-light)!important;color:var(--color-danger)!important;border-color:rgba(244,63,94,.3)!important;box-shadow:0 4px 12px rgba(244,63,94,.1);transform:translateY(-1px)}@media (max-width:950px){.test-env-container{flex-direction:column}.test-env-container,.test-workspace{height:auto;overflow:visible}.test-sidebar{display:none;position:fixed;top:60px;right:0;bottom:0;width:330px;max-width:100vw;z-index:500;box-shadow:-10px 0 30px rgba(15,23,42,.15);animation:drawer-slide-in .3s cubic-bezier(.16,1,.3,1)}@keyframes drawer-slide-in{0%{transform:translateX(100%)}to{transform:translateX(0)}}.mobile-drawer-toggle,.test-sidebar.open-drawer{display:flex}.d-mobile-only{display:block!important}.question-card{padding:30px 20px}.question-text{font-size:1.2rem}}@media (max-width:650px){.mock-test-dashboard{padding:0 16px;margin:15px auto}.dashboard-card{padding:24px 16px;border-radius:20px}.dashboard-title{font-size:1.85rem}.dashboard-desc{font-size:1rem}.dist-grid{grid-template-columns:1fr;gap:12px}.test-workspace-header{padding:12px 20px}.controls-container{flex-wrap:wrap;gap:10px}.ctrl-btn{flex:1 1;min-width:110px;padding:10px 14px;font-size:.85rem}.test-timer{padding:6px 14px;font-size:.95rem}.topper-card{padding:20px 16px}.topper-name{font-size:1.25rem}.questions-grid-container{padding:16px}.questions-grid{gap:8px}.grid-btn{width:40px;height:40px;font-size:.85rem}}