.ar-font{font-family:Cairo,system-ui,-apple-system,sans-serif!important}.en-font{font-family:Outfit,Plus Jakarta Sans,system-ui,-apple-system,sans-serif!important}.staff-portal-link{color:var(--dash-text-muted);text-decoration:none;transition:color .2s ease}.staff-portal-link:hover{color:#fff}:root{--dash-bg:#090d16;--dash-bg-card:rgba(21,28,45,.6);--dash-border:hsla(0,0%,100%,.08);--dash-text:#f3f4f6;--dash-text-muted:#9ca3af;--tree-line:hsla(0,0%,100%,.1);--accent-purple:#8b5cf6;--accent-cyan:#06b6d4;--accent-emerald:#10b981;--accent-rose:#f43f5e;--accent-amber:#f59e0b;--exam-bg:#f4f6fa;--exam-header-bg:#111827;--exam-header-text:#fff;--exam-footer-bg:#e1e6eb;--exam-pane-bg:#fff;--exam-text:#333;--exam-text-muted:#666;--exam-border:#d3dbe3;--exam-highlight:#007bb6;--exam-answered:#8ba2b9;--transition-smooth:all 0.3s cubic-bezier(0.4,0,0.2,1)}.light-theme{--dash-bg:#f1f5f9;--dash-bg-card:#fff;--dash-border:rgba(15,23,42,.08);--dash-text:#0f172a;--dash-text-muted:#64748b;--tree-line:rgba(15,23,42,.1);--accent-purple:#7c3aed;--accent-cyan:#0284c7;--accent-emerald:#059669;--accent-rose:#e11d48;--accent-amber:#d97706;--exam-header-bg:#fff;--exam-header-text:#0f172a}.blue-theme{--dash-bg:#0f172a;--dash-bg-card:rgba(30,41,59,.8);--dash-border:hsla(0,0%,100%,.08);--dash-text:#f8fafc;--dash-text-muted:#94a3b8;--tree-line:hsla(0,0%,100%,.1);--accent-purple:#c084fc;--accent-cyan:#38bdf8;--accent-emerald:#34d399;--accent-rose:#fb7185;--accent-amber:#fbbf24;--exam-header-bg:#1e293b;--exam-header-text:#f8fafc}.emerald-theme{--dash-bg:#0b1c15;--dash-bg-card:rgba(15,32,25,.85);--dash-border:hsla(0,0%,100%,.08);--dash-text:#ecfdf5;--dash-text-muted:#a7f3d0;--tree-line:rgba(167,243,208,.15);--accent-purple:#c084fc;--accent-cyan:#22d3ee;--accent-emerald:#34d399;--accent-rose:#f43f5e;--accent-amber:#fbbf24;--exam-header-bg:#0d2e20;--exam-header-text:#ecfdf5}.tree-node{position:relative;padding-left:1.5rem}.tree-node:before{content:"";position:absolute;left:.5rem;top:0;bottom:0;width:1px;background:var(--tree-line)}.tree-node-last:before{bottom:50%}.tree-branch{position:relative;padding-left:1rem}.tree-branch:after{content:"";position:absolute;left:-1rem;top:50%;width:1rem;height:1px;background:var(--tree-line)}*{box-sizing:border-box;margin:0;padding:0;font-family:Plus Jakarta Sans,system-ui,sans-serif;scrollbar-width:thin}body{background-color:var(--dash-bg);color:var(--dash-text);min-height:100vh;display:flex;flex-direction:column;overflow-x:hidden;transition:var(--transition-smooth)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:hsla(0,0%,100%,.02)}::-webkit-scrollbar-thumb{background:hsla(0,0%,100%,.15);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:hsla(0,0%,100%,.25)}h1,h2,h3,h4,h5,h6{font-family:Outfit,sans-serif;font-weight:700;letter-spacing:-.02em}.text-gradient{background:linear-gradient(135deg,#a78bfa,#22d3ee);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.text-center{text-align:center}.text-left{text-align:left}.text-muted{color:var(--dash-text-muted)!important}.mt-3{margin-top:1rem}.mt-4{margin-top:1.5rem}.mb-4{margin-bottom:1.5rem}.w-full{width:100%}.nav-bar{justify-content:space-between;padding:1.25rem 2.5rem;background:rgba(9,13,22,.8);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--dash-border);position:-webkit-sticky;position:sticky;top:0;z-index:100}.nav-bar,.nav-logo{display:flex;align-items:center}.nav-logo{gap:.5rem;font-size:1.5rem;font-weight:800}.logo-icon{animation:logo-pulse 4s infinite alternate}@keyframes logo-pulse{0%{transform:scale(1);filter:drop-shadow(0 0 2px rgba(139,92,246,.3))}to{transform:scale(1.05);filter:drop-shadow(0 0 10px rgba(6,182,212,.6))}}.nav-links{display:flex;gap:.75rem}.nav-btn{background:transparent;border:1px solid transparent;color:var(--dash-text-muted);padding:.6rem 1.2rem;border-radius:50px;cursor:pointer;display:flex;align-items:center;gap:.5rem;font-weight:600;font-size:.9rem;transition:var(--transition-smooth)}.nav-btn:hover{color:var(--dash-text);background:hsla(0,0%,100%,.04)}.nav-btn.active{color:#fff;background:rgba(139,92,246,.15);border-color:rgba(139,92,246,.3)}.user-badge{background:linear-gradient(135deg,rgba(139,92,246,.1),rgba(6,182,212,.1));border:1px solid rgba(6,182,212,.2);color:var(--accent-cyan);padding:.4rem 1rem;border-radius:50px;font-size:.85rem;font-weight:600}.view-viewport{flex:1 1;max-width:1400px;width:100%;margin:0 auto;padding:2.5rem}.view-panel{display:none;animation:fade-in .4s ease-out forwards}.view-panel.active{display:block}@keyframes fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.dashboard-hero{background:linear-gradient(135deg,#131427,#0d162c);border:1px solid var(--dash-border);border-radius:24px;padding:3rem;display:flex;justify-content:space-between;align-items:center;margin-bottom:2.5rem;position:relative;overflow:hidden;box-shadow:0 10px 30px rgba(0,0,0,.2)}.dashboard-hero:before{content:"";position:absolute;top:-50%;right:-20%;width:400px;height:400px;background:radial-gradient(circle,rgba(139,92,246,.15) 0,transparent 70%);border-radius:50%;pointer-events:none}.hero-content h1{font-size:2.5rem;line-height:1.2;margin-bottom:1rem;background:linear-gradient(135deg,#fff,#cbd5e1);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.hero-content p{color:var(--dash-text-muted);max-width:600px;font-size:1.1rem;line-height:1.6}.overall-progress-card{display:flex;justify-content:center;align-items:center}.ring-progress{position:relative;width:120px;height:120px}.ring-svg{width:120px;height:120px;transform:rotate(-90deg)}.ring-bg{fill:none;stroke:hsla(0,0%,100%,.04);stroke-width:8}.ring-fg{fill:none;stroke:url(#gradient-accent);stroke-width:8;stroke-linecap:round;stroke-dasharray:314.16;stroke-dashoffset:314.16;transition:stroke-dashoffset 1s cubic-bezier(.4,0,.2,1)}.ring-label{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;text-align:center}.band-num{font-size:2rem;font-weight:800;color:#fff;line-height:1}.band-sub{font-size:.65rem;color:var(--dash-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-top:2px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:1.5rem;gap:1.5rem;margin-bottom:3rem}.stat-card{background:var(--dash-bg-card);border:1px solid var(--dash-border);padding:1.5rem;border-radius:16px;display:flex;align-items:center;gap:1.25rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:var(--transition-smooth)}.stat-card:hover{transform:translateY(-4px);border-color:hsla(0,0%,100%,.15);box-shadow:0 10px 20px rgba(0,0,0,.15)}.stat-icon{font-size:2rem;width:50px;height:50px;border-radius:12px;background:hsla(0,0%,100%,.03);display:flex;align-items:center;justify-content:center}.stat-info{display:flex;flex-direction:column}.stat-title{color:var(--dash-text-muted);font-size:.85rem;font-weight:600}.stat-value{color:#fff;font-size:1.5rem;font-weight:800;margin-top:2px}.listening .stat-icon{background:rgba(6,182,212,.1);color:var(--accent-cyan)}.reading .stat-icon{background:rgba(139,92,246,.1);color:var(--accent-purple)}.writing .stat-icon{background:rgba(245,158,11,.1);color:var(--accent-amber)}.speaking .stat-icon{background:rgba(16,185,129,.1);color:var(--accent-emerald)}.section-title-wrapper{margin-bottom:1.5rem}.section-title-wrapper h2{font-size:1.75rem;margin-bottom:.25rem}.practice-cards-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:1.5rem;gap:1.5rem}.practice-card{background:var(--dash-bg-card);border:1px solid var(--dash-border);border-top:4px solid transparent;padding:2rem 1.5rem;border-radius:16px;display:flex;flex-direction:column;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:var(--transition-smooth)}.practice-card:hover{transform:translateY(-6px);border-color:hsla(0,0%,100%,.15);box-shadow:0 15px 30px rgba(0,0,0,.2)}.border-listening{border-top-color:var(--accent-cyan)}.border-reading{border-top-color:var(--accent-purple)}.border-writing{border-top-color:var(--accent-amber)}.border-speaking{border-top-color:var(--accent-emerald)}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem}.badge{font-size:.75rem;font-weight:700;text-transform:uppercase;padding:.3rem .75rem;border-radius:4px;letter-spacing:.05em}.listening-bg{background:rgba(6,182,212,.15);color:var(--accent-cyan)}.reading-bg{background:rgba(139,92,246,.15);color:var(--accent-purple)}.writing-bg{background:rgba(245,158,11,.15);color:var(--accent-amber)}.speaking-bg{background:rgba(16,185,129,.15);color:var(--accent-emerald)}.test-duration{font-size:.8rem;color:var(--dash-text-muted);font-weight:500}.practice-card h3{font-size:1.25rem;margin-bottom:.75rem;color:#fff}.practice-card p{color:var(--dash-text-muted);font-size:.9rem;line-height:1.5;margin-bottom:2rem;flex:1 1}.action-btn{background:hsla(0,0%,100%,.04);border:1px solid var(--dash-border);color:#fff;padding:.75rem 1rem;border-radius:12px;cursor:pointer;font-weight:600;width:100%;transition:var(--transition-smooth)}.action-btn:hover{background:#fff;color:#000;border-color:#fff}.listening-btn:hover{background:var(--accent-cyan);border-color:var(--accent-cyan);color:#000}.reading-btn:hover{background:var(--accent-purple);border-color:var(--accent-purple);color:#fff}.writing-btn:hover{background:var(--accent-amber);border-color:var(--accent-amber);color:#000}.speaking-btn:hover{background:var(--accent-emerald);border-color:var(--accent-emerald);color:#000}.glass-container{background:var(--dash-bg-card);border:1px solid var(--dash-border);padding:3rem;border-radius:24px;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);box-shadow:0 15px 40px rgba(0,0,0,.25);margin-bottom:2.5rem}.calculator-layout{display:grid;grid-template-columns:1.2fr .8fr;grid-gap:3rem;gap:3rem;margin-top:2rem;align-items:center}.calc-inputs{gap:1.75rem}.calc-input-group,.calc-inputs{display:flex;flex-direction:column}.calc-input-group{gap:.75rem}.calc-input-group label{font-size:.95rem;font-weight:600;color:var(--dash-text)}.slider-row{display:flex;align-items:center;gap:1.5rem}.calc-slider{flex:1 1;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:6px;background:hsla(0,0%,100%,.1);border-radius:10px;outline:none}.calc-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:linear-gradient(135deg,var(--accent-cyan) 0,var(--accent-purple) 100%);cursor:pointer;-webkit-transition:transform .1s;transition:transform .1s}.calc-slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.slider-display{font-family:JetBrains Mono,monospace;font-size:1.1rem;color:var(--accent-cyan);font-weight:600;min-width:120px}.calc-result-box{background:hsla(0,0%,100%,.03);border:1px solid var(--dash-border);padding:3rem 2rem;border-radius:20px;display:flex;flex-direction:column;align-items:center;text-align:center;box-shadow:inset 0 2px 10px hsla(0,0%,100%,.02)}.band-badge-large{font-size:4.5rem;font-weight:800;color:#fff;width:150px;height:150px;border-radius:50%;background:linear-gradient(135deg,rgba(139,92,246,.2),rgba(6,182,212,.2));border:4px solid var(--accent-cyan);display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem;box-shadow:0 0 30px rgba(6,182,212,.3);animation:pulse-ring 2s infinite alternate}@keyframes pulse-ring{0%{transform:scale(1);box-shadow:0 0 20px rgba(6,182,212,.2)}to{transform:scale(1.03);box-shadow:0 0 40px rgba(139,92,246,.4)}}.result-details h4{font-size:1.25rem;margin-bottom:.5rem}.history-header{justify-content:space-between;margin-bottom:1.5rem}.clear-btn,.history-header{display:flex;align-items:center}.clear-btn{background:rgba(244,63,94,.1);border:1px solid rgba(244,63,94,.2);color:var(--accent-rose);padding:.5rem 1rem;border-radius:8px;cursor:pointer;font-weight:600;font-size:.85rem;gap:.4rem;transition:var(--transition-smooth)}.clear-btn:hover{background:var(--accent-rose);color:#fff}.history-table-container{overflow-x:auto;border-radius:12px;border:1px solid var(--dash-border)}.history-table{width:100%;border-collapse:collapse;text-align:left}.history-table td,.history-table th{padding:1rem 1.5rem;border-bottom:1px solid var(--dash-border)}.history-table th{background:hsla(0,0%,100%,.03);color:var(--dash-text);font-weight:600;font-size:.9rem}.history-table td{color:var(--dash-text-muted);font-size:.9rem}.history-table tr:last-child td{border-bottom:none}.history-table tr:hover td{color:var(--dash-text);background:hsla(0,0%,100%,.01)}.band-chip{padding:.25rem .6rem;border-radius:4px;font-weight:700;font-family:JetBrains Mono,monospace;font-size:.85rem;display:inline-block}.band-chip.high{background:rgba(16,185,129,.15);color:var(--accent-emerald)}.band-chip.med{background:rgba(245,158,11,.15);color:var(--accent-amber)}.band-chip.low{background:rgba(244,63,94,.15);color:var(--accent-rose)}.trash-icon-btn{background:transparent;border:none;color:var(--accent-rose);cursor:pointer;padding:.25rem;border-radius:4px;transition:var(--transition-smooth)}.trash-icon-btn:hover{background:rgba(244,63,94,.1)}.results-summary-card{display:flex;align-items:center;gap:3rem;background:hsla(0,0%,100%,.02);border:1px solid var(--dash-border);padding:2.5rem;border-radius:20px;margin-bottom:2.5rem}.score-ring{width:130px;height:130px;border-radius:50%;background:linear-gradient(135deg,rgba(139,92,246,.1),rgba(6,182,212,.1));border:5px solid var(--accent-purple);display:flex;flex-direction:column;justify-content:center;align-items:center;box-shadow:0 0 20px rgba(139,92,246,.15)}.score-val{font-size:2.5rem;font-weight:800;color:#fff;line-height:1}.score-lbl{font-size:.7rem;color:var(--dash-text-muted);text-transform:uppercase;margin-top:4px}.summary-details h2{font-size:2rem;margin-bottom:.5rem}.result-module-badge{display:inline-block;margin-bottom:.75rem}.primary-btn{background:linear-gradient(135deg,var(--accent-purple) 0,#7c3aed 100%);color:#fff;border:none;padding:.8rem 2rem;border-radius:12px;font-weight:600;cursor:pointer;transition:var(--transition-smooth)}.primary-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(124,58,237,.3)}.detailed-review-section{background:hsla(0,0%,100%,.01);border:1px solid var(--dash-border);border-radius:16px;padding:2.5rem;margin-bottom:1.5rem}.detailed-review-section h3{font-size:1.5rem;margin-bottom:1.5rem}.review-item{border-bottom:1px solid var(--dash-border);padding:1.5rem 0}.review-item:last-child{border-bottom:none}.review-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.review-q-num{font-weight:700;color:#fff}.review-status-pill{font-size:.75rem;font-weight:700;padding:.25rem .6rem;border-radius:4px}.review-status-pill.correct{background:rgba(16,185,129,.15);color:var(--accent-emerald)}.review-status-pill.incorrect{background:rgba(244,63,94,.15);color:var(--accent-rose)}.review-q-text{color:var(--dash-text);margin-bottom:1rem}.review-answers-compare{display:flex;gap:2rem;background:hsla(0,0%,100%,.02);padding:1rem;border-radius:8px;font-size:.9rem}.user-ans-row strong{color:var(--accent-cyan)}.correct-ans-row strong{color:var(--accent-emerald)}.manual-grader-layout{display:grid;grid-template-columns:.9fr 1.1fr;grid-gap:2.5rem;gap:2.5rem;margin-top:1.5rem}.criteria-list{display:flex;flex-direction:column;gap:1rem;max-height:500px;overflow-y:auto;padding-right:.5rem}.criteria-card{background:hsla(0,0%,100%,.02);border:1px solid var(--dash-border);padding:1.25rem;border-radius:12px;position:relative;cursor:pointer;transition:var(--transition-smooth)}.criteria-card:hover{background:hsla(0,0%,100%,.04)}.criteria-card.active{border-color:var(--accent-purple);background:rgba(139,92,246,.05)}.band-indicator{position:absolute;top:1.25rem;right:1.25rem;background:var(--accent-purple);color:#fff;font-weight:800;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.85rem}.criteria-card strong{display:block;font-size:1.05rem;margin-bottom:.25rem}.criteria-card p{font-size:.85rem;color:var(--dash-text-muted);line-height:1.4}.scoring-panel{display:flex;flex-direction:column;gap:1.5rem}.model-answer-box,.user-submission-box{background:hsla(0,0%,100%,.02);border:1px solid var(--dash-border);border-radius:12px;padding:1.5rem}.model-answer-box h4,.user-submission-box h4{font-size:1rem;margin-bottom:.75rem;color:#fff}.model-answer-content,.user-submission-content{font-size:.9rem;line-height:1.6;white-space:pre-wrap;color:var(--dash-text-muted);max-height:200px;overflow-y:auto}.form-control-select{background:#111827;border:1px solid var(--dash-border);color:#fff;padding:.8rem 1rem;border-radius:8px;width:100%;font-weight:600;outline:none}.exam-simulator-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:var(--exam-bg);color:var(--exam-text);z-index:99999;display:flex;flex-direction:column;font-family:Arial,sans-serif}.simulator-header{background-color:var(--exam-header-bg);color:var(--exam-header-text);padding:.75rem 1.5rem;justify-content:space-between;border-bottom:4px solid var(--exam-highlight);height:60px}.simulator-header,.simulator-title-info{display:flex;align-items:center}.exam-title-text{font-family:Arial,sans-serif;font-size:1.3rem;font-weight:700}.candidate-name{font-family:Arial,sans-serif;font-size:.95rem}.timer-widget{display:flex;align-items:center;gap:.75rem}.timer-text{font-family:JetBrains Mono,monospace,Arial;font-size:1.5rem;font-weight:700;background:#000;color:#0f0;padding:.2rem .8rem;border-radius:4px}.timer-hide-btn{background:#e2e8f0;color:#333;border:none;padding:.4rem .8rem;font-size:.85rem;cursor:pointer;font-weight:700;border-radius:2px}.timer-hide-btn:hover{background:#cbd5e1}.simulator-workspace{flex:1 1;display:flex;overflow:hidden;position:relative;background:var(--exam-bg)}.workspace-pane{overflow-y:auto;height:100%;background:var(--exam-pane-bg);display:flex;flex-direction:column}.split-left{width:50%;border-right:1px solid var(--exam-border)}.split-right{width:50%}.split-gutter{width:8px;background:#e1e6eb;cursor:col-resize;position:relative;z-index:10;transition:background .2s}.split-gutter:hover{background:#a0aec0}.content-panel{padding:2rem 2.5rem;overflow-y:auto;flex:1 1;display:none;font-size:1.05rem;line-height:1.6}.content-panel h2{font-family:Arial,sans-serif;color:#111827;font-size:1.5rem;margin-bottom:1.25rem;border-bottom:2px solid var(--exam-border);padding-bottom:.5rem}.content-panel p{margin-bottom:1.25rem;color:#374151}.select-text{-webkit-user-select:text;-moz-user-select:text;user-select:text}::selection{background-color:#ffeb3b;color:#000}.listening-box-card{max-width:500px;margin:4rem auto;background:#f8fafc;border:1px solid var(--exam-border);border-radius:8px;padding:3rem 2rem;box-shadow:0 4px 6px -1px rgba(0,0,0,.05)}.audio-animation-waves{display:flex;justify-content:center;align-items:flex-end;gap:4px;height:35px;margin-bottom:1.5rem}.sound-wave-bar{width:5px;height:5px;background:var(--exam-highlight);border-radius:3px}.audio-animation-waves.playing .sound-wave-bar{animation:bounce-wave .8s ease-in-out infinite alternate}.audio-animation-waves.playing .sound-wave-bar:nth-child(2){animation-delay:.15s}.audio-animation-waves.playing .sound-wave-bar:nth-child(3){animation-delay:.3s}.audio-animation-waves.playing .sound-wave-bar:nth-child(4){animation-delay:.45s}.audio-animation-waves.playing .sound-wave-bar:nth-child(5){animation-delay:.6s}@keyframes bounce-wave{0%{height:5px}to{height:35px}}.custom-audio-controller{display:flex;flex-direction:column;gap:1.25rem;align-items:center;margin-top:2rem}.audio-play-btn{background:var(--exam-highlight);color:#fff;border:none;padding:.75rem 2rem;border-radius:4px;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:.5rem;font-size:1rem}.audio-play-btn:hover{background:#005a87}.audio-speed-selector{display:flex;align-items:center;gap:.5rem;font-size:.9rem}.status-msg-box{background:#f1f5f9;border-left:4px solid var(--exam-highlight);padding:.75rem 1rem;margin-top:1.5rem;font-size:.85rem;border-radius:0 4px 4px 0;text-align:left}.flex-column-container{display:flex;flex-direction:column;height:100%}.editor-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;padding-bottom:.5rem;border-bottom:1px solid var(--exam-border)}.word-counter-widget{font-family:JetBrains Mono,monospace;font-weight:700;background:#e2e8f0;padding:.25rem .75rem;border-radius:4px;font-size:.9rem}.writing-textarea{flex:1 1;width:100%;min-height:350px;border:1px solid var(--exam-border);padding:1.5rem;font-size:1.05rem;line-height:1.6;resize:none;outline:none;border-radius:4px}.writing-textarea:focus{border-color:var(--exam-highlight);box-shadow:0 0 0 2px rgba(0,123,182,.15)}.editor-footer-status{padding-top:.5rem;font-size:.85rem;color:var(--exam-text-muted)}.writing-tasks-tabs{display:flex;gap:2px;margin-bottom:1.5rem;border-bottom:2px solid var(--exam-border)}.task-tab-btn{background:#e2e8f0;border:none;padding:.6rem 1.2rem;font-size:.95rem;font-weight:700;cursor:pointer;border-radius:4px 4px 0 0;color:var(--exam-text-muted)}.task-tab-btn.active{background:var(--exam-pane-bg);color:var(--exam-highlight);border:1px solid var(--exam-border);border-bottom-color:var(--exam-pane-bg);margin-bottom:-2px}.svg-chart-container{background:#f8fafc;border:1px solid var(--exam-border);padding:1rem;border-radius:8px;margin-top:1rem}.speaking-stages-wrapper{max-width:600px;margin:1.5rem auto}.stages-indicator-bar{display:flex;justify-content:space-between;margin-bottom:2.5rem;position:relative}.stages-indicator-bar:before{content:"";position:absolute;top:50%;left:0;width:100%;height:2px;background:var(--exam-border);z-index:1}.stage-dot{background:var(--exam-pane-bg);border:2px solid var(--exam-border);color:var(--exam-text-muted);padding:.4rem 1.2rem;border-radius:20px;font-size:.85rem;font-weight:700;z-index:2;position:relative}.stage-dot.active{border-color:var(--exam-highlight);color:var(--exam-highlight);background:#f0f9ff}.current-stage-box{background:#f8fafc;border:1px solid var(--exam-border);border-radius:8px;padding:2rem;margin-bottom:2rem;min-height:200px}.speaking-question-box{font-size:1.3rem;font-weight:700;color:#1e293b;margin-top:1rem;line-height:1.5}.cue-card-box{background:#fffbeb;border:1px solid #fde68a;border-radius:8px;padding:1.5rem;margin-bottom:1.5rem}.cue-card-box h4{color:#92400e;font-size:1.15rem;margin-bottom:.75rem}.cue-card-box ul{padding-left:1.5rem;margin-top:.5rem}.cue-card-box li{margin-bottom:.4rem;color:#78350f}.speaking-recording-panel{display:flex;flex-direction:column;align-items:center;gap:1rem}.visualizer-canvas{background:#111827;border-radius:6px;width:100%;max-width:400px}.rec-controls{display:flex;gap:1rem}.rec-btn-start,.rec-btn-stop{padding:.75rem 1.5rem;border-radius:4px;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:.5rem;font-size:.95rem;border:1px solid transparent}.rec-btn-start{background:#fee2e2;color:#ef4444;border-color:#fca5a5}.rec-btn-start:hover:not(:disabled){background:#fecaca}.rec-btn-stop{background:#f1f5f9;color:#475569;border-color:#cbd5e1}.rec-btn-stop:hover:not(:disabled){background:#e2e8f0}.rec-btn-start:disabled,.rec-btn-stop:disabled{opacity:.5;cursor:not-allowed}.rec-red-dot{width:12px;height:12px;background-color:#ef4444;border-radius:50%;display:inline-block;animation:pulse-dot 1s infinite alternate}@keyframes pulse-dot{0%{transform:scale(.8);opacity:.5}to{transform:scale(1.2);opacity:1}}.recording-timer{font-family:JetBrains Mono,monospace;font-size:.9rem;font-weight:700;color:var(--exam-text-muted)}.speaking-timer-container{display:flex;flex-direction:column;align-items:center;margin-bottom:1.5rem}.circular-progress-bar{position:relative;width:80px;height:80px}.circle-bg{fill:none;stroke:#e2e8f0;stroke-width:6}.circle-fg{fill:none;stroke:var(--exam-highlight);stroke-width:6;stroke-linecap:round;stroke-dasharray:219.91;stroke-dashoffset:0;transform:rotate(-90deg);transform-origin:50% 50%;transition:stroke-dashoffset .1s linear}.circle-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:JetBrains Mono,monospace;font-size:1.2rem;font-weight:700;color:var(--exam-highlight)}.timer-desc{font-size:.8rem;color:var(--exam-text-muted);margin-top:.4rem}.playback-box{background:#f1f5f9;border:1px solid var(--exam-border);padding:1.25rem;border-radius:6px;width:100%;max-width:400px;margin-top:1rem}.playback-box h4{font-size:.9rem;margin-bottom:.5rem;color:var(--exam-text);text-align:left}.custom-audio-elem{width:100%}.questions-scroll-area{padding:.5rem .25rem}.exam-question-item{background:#f8fafc;border:1px solid var(--exam-border);padding:1.5rem;border-radius:6px;margin-bottom:1.5rem}.exam-question-item.active-item{border-left:4px solid var(--exam-highlight);background:#f0f9ff}.exam-q-text{font-weight:700;color:#1e293b;margin-bottom:1rem;display:block}.exam-form-control-text{width:100%;max-width:400px;border:1px solid var(--exam-border);padding:.5rem .75rem;font-size:.95rem;outline:none;border-radius:3px}.exam-form-control-text:focus{border-color:var(--exam-highlight)}.choice-options-list{display:flex;flex-direction:column;gap:.6rem}.option-row{display:flex;align-items:center;gap:.75rem;cursor:pointer;font-size:.95rem}.option-row input[type=radio]{width:16px;height:16px;cursor:pointer}.simulator-footer{background-color:var(--exam-footer-bg);border-top:2px solid var(--exam-border);padding:.75rem 1.5rem;display:flex;justify-content:space-between;align-items:center;height:60px}.footer-nav-btn{background:#fff;color:#333;border:1px solid #c0cacf;padding:.4rem 1rem;font-size:.9rem;cursor:pointer;font-weight:700;border-radius:2px;display:inline-flex;align-items:center;gap:.25rem}.footer-nav-btn:hover{background:#f4f6fa}.inline-svg{display:inline-block;vertical-align:middle}.bottom-center{display:flex;gap:4px}.q-pallet-btn{width:32px;height:32px;background:#fff;border:1px solid #c0cacf;color:#333;font-size:.85rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:2px;position:relative}.q-pallet-btn.active{border:2px solid var(--exam-highlight)}.q-pallet-btn.answered{background-color:var(--exam-answered);color:#fff}.q-pallet-btn.answered:after{content:"";position:absolute;bottom:2px;width:4px;height:4px;border-radius:50%;background:#fff}.submit-exam-btn{background:#b91c1c;color:#fff;border:none;padding:.5rem 1.25rem;font-size:.95rem;font-weight:700;cursor:pointer;border-radius:3px}.submit-exam-btn:hover{background:#991b1b}@media (max-width:1024px){.practice-cards-grid,.stats-grid{grid-template-columns:repeat(2,1fr)}.calculator-layout,.manual-grader-layout{grid-template-columns:1fr}}@media (max-width:768px){.practice-cards-grid,.stats-grid{grid-template-columns:1fr}.dashboard-hero{flex-direction:column;text-align:center;gap:2rem;padding:2rem}.nav-bar{flex-direction:column;gap:1rem;padding:1rem}.nav-links{width:100%;justify-content:space-around}}.auth-page-wrapper{display:flex;min-height:100vh;background-color:#090d16;color:#f3f4f6;align-items:center;justify-content:center;padding:2rem;gap:6rem;max-width:1200px;margin:0 auto}.auth-hero-branding{flex:1.2 1;display:flex;flex-direction:column;gap:1.5rem}.auth-logo{display:flex;align-items:center;gap:.75rem}.logo-text-large{font-size:2.25rem;font-weight:800;letter-spacing:-.03em}.logo-gradient{background:linear-gradient(135deg,#a78bfa,#22d3ee);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.auth-hero-branding h1{font-size:3rem;line-height:1.15;background:linear-gradient(135deg,#fff,#cbd5e1);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.auth-hero-branding p{color:#9ca3af;font-size:1.15rem;line-height:1.7;max-width:500px}.auth-form-card{flex:0.9 1;background:rgba(21,28,45,.6);border:1px solid hsla(0,0%,100%,.08);border-radius:24px;padding:3rem;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);box-shadow:0 20px 45px rgba(0,0,0,.35);width:100%;max-width:450px}.logo-icon-pulse{animation:spin-logo 20s linear infinite}@keyframes spin-logo{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:900px){.auth-page-wrapper{flex-direction:column;gap:3rem;padding:3rem 1.5rem;text-align:center}.auth-logo{justify-content:center}.auth-hero-branding h1{font-size:2.25rem}.auth-hero-branding p{margin:0 auto;font-size:1rem}.auth-form-card{margin:0 auto}}.auth-form-wrapper{display:flex;flex-direction:column;gap:2rem}.auth-tabs{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;border-bottom:1px solid hsla(0,0%,100%,.08)}.auth-tab-btn{background:transparent;border:none;color:var(--dash-text-muted,#9ca3af);font-size:1.1rem;font-weight:600;padding:.5rem .25rem;cursor:pointer;position:relative;transition:color .2s}.auth-tab-btn:hover{color:var(--dash-text,#f3f4f6)}.auth-tab-btn.active{color:var(--dash-text,#fff)!important}.auth-tab-btn.active:after{content:"";position:absolute;bottom:-1px;left:0;width:100%;height:2px;background:linear-gradient(90deg,#8b5cf6,#06b6d4)}.auth-form-body{gap:1.25rem}.auth-form-body,.form-input-group{display:flex;flex-direction:column}.form-input-group{gap:.5rem}.form-input-group label{font-size:.85rem;font-weight:600;color:#9ca3af}.form-input-group input{background-color:#0b111e;border:1px solid hsla(0,0%,100%,.08);border-radius:8px;color:#f3f4f6;padding:.75rem 1rem;font-size:.95rem;outline:none;transition:border-color .2s}.form-input-group input:focus{border-color:#8b5cf6}.auth-submit-btn{background:linear-gradient(135deg,#8b5cf6,#06b6d4);color:#fff;border:none;border-radius:8px;padding:.8rem;font-size:1rem;font-weight:700;cursor:pointer;transition:transform .2s,box-shadow .2s;margin-top:1rem}.auth-submit-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 15px rgba(139,92,246,.35)}.auth-submit-btn:disabled{opacity:.5;cursor:not-allowed}.alert-message{padding:.75rem 1rem;border-radius:8px;font-size:.85rem;font-weight:600}.alert-message.error{background-color:rgba(244,63,94,.1);border:1px solid rgba(244,63,94,.2);color:#f43f5e}.alert-message.success{background-color:rgba(16,185,129,.1);border:1px solid rgba(16,185,129,.2);color:#10b981}.lesson-rich-text-content table{width:100%;border-collapse:collapse;margin:1rem 0;font-size:.95rem;background:hsla(0,0%,100%,.02);border-radius:8px;overflow:hidden;border:1px solid hsla(0,0%,100%,.05)}.lesson-rich-text-content th{background:hsla(0,0%,100%,.05);color:#fff;padding:.75rem 1rem;font-weight:600;text-align:left;border-bottom:2px solid hsla(0,0%,100%,.08)}.lesson-rich-text-content td{padding:.75rem 1rem;color:#cbd5e1;border-bottom:1px solid hsla(0,0%,100%,.04)}.lesson-rich-text-content tr:last-child td{border-bottom:none}.lesson-rich-text-content tr:hover{background:hsla(0,0%,100%,.03)}.lesson-rich-text-content ul{list-style-type:disc;margin:.5rem 1.5rem;padding:0}.lesson-rich-text-content li{margin-bottom:.35rem}.sidebar-aside{width:280px;min-height:100vh;border-radius:0!important;margin:0!important;padding:1.75rem 1.25rem!important;display:flex;flex-direction:column;gap:1.5rem;z-index:10000;position:fixed;top:0;bottom:0;transition:all .3s cubic-bezier(.4,0,.2,1);overflow-y:auto;box-shadow:4px 0 25px rgba(0,0,0,.3)}body:not(.ar-font) .sidebar-aside{left:-280px;border-right:1px solid var(--dash-border)}body:not(.ar-font) .sidebar-aside.mobile-open{left:0}body.ar-font .sidebar-aside{right:-280px;border-left:1px solid var(--dash-border);box-shadow:-4px 0 25px rgba(0,0,0,.3)}body.ar-font .sidebar-aside.mobile-open{right:0}@media (min-width:992px){.sidebar-aside{position:-webkit-sticky!important;position:sticky!important;top:0;left:auto!important;right:auto!important;box-shadow:none!important}}.hamburger-btn{background:transparent;border:none;color:var(--dash-text);font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:.5rem;border-radius:8px;transition:background .2s}.hamburger-btn:hover{background:hsla(0,0%,100%,.05)}@media (min-width:992px){.hamburger-btn{display:none!important}}:root{--input-bg:#0b1120;--input-text:#f3f4f6;--input-border:hsla(0,0%,100%,.08)}.light-theme{--input-bg:#fff;--input-text:#0f172a;--input-border:rgba(15,23,42,.15)}.blue-theme{--input-bg:#1e293b;--input-text:#f8fafc;--input-border:hsla(0,0%,100%,.1)}.emerald-theme{--input-bg:#064e3b;--input-text:#ecfdf5;--input-border:hsla(0,0%,100%,.1)}.blue-theme .simulator-input,.blue-theme input,.blue-theme select,.blue-theme select.simulator-input,.blue-theme textarea,.emerald-theme .simulator-input,.emerald-theme input,.emerald-theme select,.emerald-theme select.simulator-input,.emerald-theme textarea,.light-theme .simulator-input,.light-theme input,.light-theme select,.light-theme select.simulator-input,.light-theme textarea{background-color:var(--input-bg)!important;color:var(--input-text)!important;border:1px solid var(--input-border)!important}.light-theme .sidebar-aside button,.light-theme .sidebar-aside span,.light-theme .view-panel h2,.light-theme .view-panel h3,.light-theme .view-panel h4,.light-theme .view-panel label,.light-theme .view-panel li,.light-theme .view-panel p,.light-theme .view-panel span:not(.user-badge):not(.badge):not(.score-val):not(.band-num):not(.band-sub):not(.overall-progress-card *),.light-theme .view-panel strong,.light-theme .view-panel td,.light-theme .view-panel th,.light-theme h1,.light-theme h2,.light-theme h3,.light-theme h4,.light-theme h5,.light-theme h6{color:var(--dash-text)!important}.light-theme .text-muted,.light-theme .view-panel .text-muted{color:var(--dash-text-muted)!important}.light-theme .nav-bar{background:hsla(0,0%,100%,.85)!important}.blue-theme .nav-bar{background:rgba(15,23,42,.85)!important}.emerald-theme .nav-bar{background:rgba(11,28,21,.85)!important}