:root{--exam-bg:#f3f7ff;--exam-surface:#fff;--exam-surface-soft:#f8fbff;--exam-border:#e3ebf7;--exam-border-strong:#c9d8f2;--exam-text:#10223f;--exam-text-soft:#5f728f;--exam-blue:#2f5bff;--exam-blue-2:#3888f8;--exam-cyan:#1bc5d8;--exam-green:#17b26a;--exam-orange:#f79009;--exam-danger:#ef4444;--exam-shadow-sm:0 8px 24px #1123400f;--exam-shadow-md:0 12px 30px #143a871f;--exam-r-xs:10px;--exam-r-sm:12px;--exam-r-md:16px;--exam-r-lg:20px;--exam-r-full:9999px;--exam-fast:.16s ease;--exam-mid:.24s ease}*,:before,:after{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden}body.exam-shell-body{color:var(--exam-text);background:radial-gradient(circle at 12% -10%, #2f5bff29, transparent 40%), radial-gradient(circle at 90% 8%, #1bc5d826, transparent 35%), linear-gradient(180deg, #f8fbff 0%, var(--exam-bg) 55%, #edf3fe 100%);font-family:Plus Jakarta Sans,Inter,sans-serif}body.exam-shell-body #custom-cursor{display:none!important}.exam-shell-body main{width:100%;height:100dvh;overflow:hidden}.exam-blob{display:none}.exam-shell{grid-template-rows:auto minmax(0,1fr);gap:10px;width:100%;height:100dvh;padding:clamp(10px,1vw,16px);display:grid;overflow:hidden}.exam-topbar{border-radius:var(--exam-r-lg);box-shadow:var(--exam-shadow-md);color:#fff;background:linear-gradient(110deg,#2d4ec8 0%,#2f5bff 42%,#1ea5df 100%);grid-template-columns:minmax(260px,1.45fr) minmax(260px,1fr) auto;align-items:center;gap:12px;min-height:90px;padding:14px 16px;display:grid}.exam-topbar:before,.exam-topbar:after{display:none}.exam-title-block{gap:6px;min-width:0;display:grid}.exam-title-block h1{letter-spacing:-.01em;text-wrap:balance;margin:0;font-size:clamp(1.2rem,1.6vw,1.9rem);font-weight:800;line-height:1.2}.exam-title-meta{color:#ffffffeb;flex-wrap:wrap;align-items:center;gap:8px;margin:0;font-size:.95rem;font-weight:600;display:flex}.exam-title-meta .dot{color:#ffd54f}.exam-title-meta .sep{opacity:.65}.exam-progress-block{border-radius:var(--exam-r-md);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff24;border:1px solid #ffffff3d;padding:10px 12px}.exam-progress-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;font-size:.9rem;font-weight:700;display:flex}.exam-progress-header strong{color:#ffe77c}.exam-progress-track{border-radius:var(--exam-r-full);background:#ffffff40;height:8px;overflow:hidden}.exam-progress-fill{border-radius:inherit;width:100%;height:100%;transition:width var(--exam-mid);background:linear-gradient(90deg,#19c57a 0%,#f6cc3f 62%,#ff8248 100%)}.exam-controls{justify-content:flex-end;align-items:center;gap:10px;display:inline-flex}.exam-btn{border-radius:var(--exam-r-sm);cursor:pointer;height:42px;transition:transform var(--exam-fast), filter var(--exam-fast), box-shadow var(--exam-fast);border:0;justify-content:center;align-items:center;gap:7px;padding:0 14px;font-size:.92rem;font-weight:700;display:inline-flex}.exam-btn:active{transform:translateY(1px)}.exam-btn--ghost{color:#fff;background:#ffffff24;border:1px solid #ffffff4d}.exam-btn--ghost:hover{filter:brightness(1.08)}.exam-timer{border-radius:var(--exam-r-md);background:#ffffff29;border:1px solid #ffffff45;place-items:center;min-width:118px;height:54px;padding:6px 10px;line-height:1.05;display:grid}.exam-timer small{letter-spacing:.06em;text-transform:uppercase;opacity:.88;font-size:.72rem;font-weight:700}.exam-timer strong{letter-spacing:.01em;font-size:2rem;font-weight:800}.exam-timer.is-warning{background:#ffb70333;border-color:#ffb7038c}.exam-timer.is-danger{background:#ef44443d;border-color:#ef444499;animation:1.25s infinite pulseDanger}@keyframes pulseDanger{0%{box-shadow:0 0 #ef444466}to{box-shadow:0 0 0 10px #ef444400}}.exam-main{grid-template-columns:minmax(0,1fr) 300px;gap:10px;min-height:0;display:grid;overflow:hidden}.exam-question-card{background:var(--exam-surface);border:1px solid var(--exam-border);border-radius:var(--exam-r-lg);min-height:0;box-shadow:var(--exam-shadow-sm);grid-template-rows:auto minmax(0,1fr) auto;display:grid;overflow:hidden}.exam-q-header{border-bottom:1px solid var(--exam-border);background:var(--exam-surface-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.exam-q-header:before{display:none}.exam-q-badge{border-radius:var(--exam-r-full);color:#2850df;background:#eaf1ff;align-items:center;gap:6px;padding:6px 11px;font-size:.84rem;font-weight:700;display:inline-flex}.exam-q-type{border-radius:var(--exam-r-full);color:#5d3fd1;background:#f5f2ff;border:1px solid #d8cdfa;align-items:center;padding:6px 11px;font-size:.8rem;font-weight:700;display:inline-flex}.exam-q-autosave{color:var(--exam-green);align-items:center;gap:6px;font-size:.9rem;font-weight:700;display:inline-flex}.exam-q-body{min-height:0;padding:14px;overflow:auto}.exam-q-body::-webkit-scrollbar{width:9px}.exam-q-body::-webkit-scrollbar-thumb{border-radius:var(--exam-r-full);background:#d2ddf1}.exam-q-enter{animation:.12s ease-out fadeSlideIn}@keyframes fadeSlideIn{0%{opacity:.92;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}.exam-q-text{border:1px solid var(--exam-border);color:#1b2f4f;background:linear-gradient(#fbfdff 0%,#f4f8ff 100%);border-radius:14px;margin:0;padding:14px 16px;font-size:clamp(1rem,1.1vw,1.28rem);line-height:1.62;box-shadow:inset 0 1px #fff}.exam-options{gap:9px;margin-top:12px;display:grid}.exam-option{border:1px solid var(--exam-border);cursor:pointer;-webkit-user-select:none;user-select:none;transition:border-color var(--exam-fast), background var(--exam-fast), transform var(--exam-fast), box-shadow var(--exam-fast);background:#fff;border-radius:14px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 14px;display:grid;position:relative}.exam-option:before{display:none}.exam-option:hover{background:#fbfdff;border-color:#c7d5ef;transform:translateY(-1px);box-shadow:0 8px 18px #2f5bff14}.exam-option.is-selected{background:linear-gradient(100deg,#edf3ff 0%,#f6f9ff 100%);border-color:#7a96ff;box-shadow:inset 0 0 0 1px #4569ff26,0 8px 20px #3669e81f}.exam-option-label{color:#4d63a8;width:34px;height:34px;transition:background var(--exam-fast), color var(--exam-fast), border-color var(--exam-fast);background:#edf2fb;border:1px solid #dbe5f6;border-radius:11px;place-items:center;font-size:1rem;font-weight:800;display:inline-grid}.exam-option.is-selected .exam-option-label{color:#fff;background:linear-gradient(135deg,#2f5bff 0%,#4591f6 100%);border-color:#0000}.exam-option-text{color:#172e53;min-width:0;font-size:clamp(.99rem,1vw,1.22rem);font-weight:600;line-height:1.42}.exam-option-check{color:var(--exam-green);opacity:0;transition:transform var(--exam-fast), opacity var(--exam-fast);font-size:1rem;transform:scale(.82)}.exam-option.is-selected .exam-option-check{opacity:1;transform:scale(1)}.exam-option .ripple{pointer-events:none}@keyframes examRipple{to{opacity:0;transform:scale(4)}}.exam-q-footer{border-top:1px solid var(--exam-border);background:#fbfdff;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.exam-footer-left,.exam-footer-right{flex-wrap:wrap;gap:8px;display:inline-flex}.exam-btn-nav,.exam-btn-flag,.exam-btn-submit,.exam-btn-next{height:42px;transition:transform var(--exam-fast), filter var(--exam-fast), box-shadow var(--exam-fast), background var(--exam-fast);border:0;border-radius:12px;align-items:center;gap:7px;padding:0 16px;font-size:.95rem;font-weight:800;display:inline-flex}.exam-btn-nav{color:#3c4f70;background:#edf2fb}.exam-btn-nav:disabled{opacity:.48;cursor:not-allowed}.exam-btn-nav:not(:disabled):hover{filter:brightness(.98)}.exam-btn-flag{color:#925b06;background:#ffefcf}.exam-btn-flag:hover{filter:brightness(.98)}.exam-btn-flag.is-active{color:#fff;background:linear-gradient(135deg,#f79009 0%,#fb7f24 100%);box-shadow:0 6px 14px #f7900938}.exam-btn-submit{color:#fff;background:linear-gradient(135deg,#16a55e 0%,#25be79 100%);box-shadow:0 8px 18px #16a55e38}.exam-btn-next{color:#fff;background:linear-gradient(135deg,#2f5bff 0%,#2995ea 100%);box-shadow:0 8px 20px #2f5bff3d}.exam-btn-submit:hover,.exam-btn-next:hover{transform:translateY(-1px)}.exam-status-panel{background:var(--exam-surface);border:1px solid var(--exam-border);border-radius:var(--exam-r-lg);min-height:0;box-shadow:var(--exam-shadow-sm);grid-template-rows:auto auto minmax(0,1fr) auto auto;gap:10px;padding:12px;display:grid;overflow:hidden}.exam-status-header h3{letter-spacing:-.01em;margin:0;font-size:1.55rem;line-height:1.2}.exam-status-header p{color:var(--exam-text-soft);margin:6px 0 0;font-size:.9rem;font-weight:600}.exam-kpi-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.exam-kpi-card{border:1px solid var(--exam-border);background:var(--exam-surface-soft);text-align:center;transition:transform var(--exam-fast), box-shadow var(--exam-fast);border-radius:12px;padding:8px 6px}.exam-kpi-card:before{display:none}.exam-kpi-card:hover{transform:translateY(-1px);box-shadow:0 8px 14px #172a4d14}.exam-kpi-card strong{font-size:1.78rem;line-height:1;display:block}.exam-kpi-card.is-answered strong{color:var(--exam-green)}.exam-kpi-card.is-unanswered strong{color:#4f6384}.exam-kpi-card.is-flagged strong{color:var(--exam-orange)}.exam-kpi-card small{color:var(--exam-text-soft);margin-top:4px;font-weight:700;display:block}.exam-palette-wrap{border:1px solid var(--exam-border);background:#fbfdff;border-radius:12px;min-height:0;padding:8px}.exam-palette{grid-template-columns:repeat(5,minmax(0,1fr));align-content:start;gap:7px;height:100%;min-height:0;padding-right:2px;display:grid;overflow:auto}.exam-palette::-webkit-scrollbar{width:7px}.exam-palette::-webkit-scrollbar-thumb{border-radius:var(--exam-r-full);background:#cdd9ef}.exam-chip{color:#36507a;cursor:pointer;min-height:33px;transition:transform var(--exam-fast), background var(--exam-fast), border-color var(--exam-fast), color var(--exam-fast), box-shadow var(--exam-fast);background:#f3f7ff;border:1px solid #d7e2f6;border-radius:10px;place-items:center;font-weight:800;display:grid}.exam-chip:hover{background:#edf4ff;border-color:#c1d2f2}.exam-chip.is-current{color:#fff;background:linear-gradient(135deg,#2f5bff 0%,#3888f8 100%);border-color:#0000;box-shadow:0 6px 14px #2f5bff47}.exam-chip.is-answered{color:#0e7a45;background:#eafcf2;border-color:#96dfbd}.exam-chip.is-flagged{color:#b85a00;background:#fff4e8;border-color:#ffd8a8}.exam-chip.is-answered.is-flagged{color:#0f6d3e;background:linear-gradient(135deg,#eafcf2 0%,#f8fffb 45%,#fff4e8 100%);border-color:#8ad9b3}.exam-legend{border:1px solid var(--exam-border);background:var(--exam-surface-soft);border-radius:12px;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 8px;padding:8px 9px;display:grid}.exam-legend-item{color:#476088;align-items:center;gap:6px;font-size:.79rem;font-weight:700;display:inline-flex}.exam-legend-dot{border-radius:50%;width:9px;height:9px}.exam-legend-dot.is-current{background:var(--exam-blue)}.exam-legend-dot.is-answered{background:var(--exam-green)}.exam-legend-dot.is-unanswered{background:#7f93b4}.exam-legend-dot.is-flagged{background:var(--exam-orange)}.exam-autosave-tip{color:#168a50;background:#ecfff5;border:1px solid #b6f1d4;border-radius:12px;align-items:center;gap:7px;padding:9px 10px;font-size:.9rem;font-weight:700;display:inline-flex}.exam-modal .modal-content{border:0;border-radius:18px;overflow:hidden}.exam-modal .modal-header{color:#fff;background:linear-gradient(135deg,#2f5bff 0%,#3888f8 100%);border-bottom:0}.exam-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px;display:grid}.exam-summary-item{border:1px solid var(--exam-border);background:var(--exam-surface-soft);text-align:center;border-radius:12px;padding:10px 8px}.exam-summary-item strong{color:var(--exam-text);font-size:1.05rem;display:block}.exam-summary-item span{color:var(--exam-text-soft);font-size:.84rem;font-weight:700}.exam-alert-box{color:#8a5600;background:#fff8e8;border:1px solid #ffe1a1;border-radius:12px;align-items:flex-start;gap:8px;margin-top:12px;padding:10px 12px;font-size:.92rem;font-weight:700;display:inline-flex}.exam-toast{opacity:0;z-index:1200;color:#fff;border-radius:var(--exam-r-full);pointer-events:none;transition:opacity var(--exam-mid), transform var(--exam-mid);background:#0d9f60;align-items:center;gap:8px;padding:11px 16px;font-weight:700;display:inline-flex;position:fixed;bottom:16px;left:50%;transform:translate(-50%,18px);box-shadow:0 14px 32px #0d9f6059}.exam-toast.is-show{opacity:1;transform:translate(-50%)}.exam-num-pop{animation:.2s numPop}@keyframes numPop{0%{transform:scale(.86)}to{transform:scale(1)}}
