.csp-runtime-1{position:fixed;inset:0;z-index:100000;background:rgba(15,23,42,.72);display:flex;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(5px)}
.csp-runtime-2{width:min(460px,100%);background:#fff;border-radius:18px;padding:30px;box-shadow:0 24px 80px rgba(0,0,0,.3)}
.csp-runtime-3{margin:0 0 10px}
.csp-runtime-4{margin:0 0 22px;color:#64748b;line-height:1.5}
.csp-runtime-5{display:block;margin-bottom:14px;font-weight:600}
.csp-runtime-6{display:block;width:100%;box-sizing:border-box;margin-top:6px;padding:12px;border:1px solid #cbd5e1;border-radius:9px}
.csp-runtime-7{display:block;margin-bottom:14px;font-weight:600}
.csp-runtime-8{display:block;width:100%;box-sizing:border-box;margin-top:6px;padding:12px;border:1px solid #cbd5e1;border-radius:9px}
.csp-runtime-9{display:block;margin-bottom:18px;font-weight:600}
.csp-runtime-10{display:block;width:100%;box-sizing:border-box;margin-top:6px;padding:12px;border:1px solid #cbd5e1;border-radius:9px}
.csp-runtime-11{display:none;margin-bottom:14px;color:#b91c1c}
.csp-runtime-12{width:100%;padding:13px;border:0;border-radius:9px;background:#2563eb;color:#fff;font-weight:700;cursor:pointer}
.csp-runtime-13{position:fixed;right:20px;top:20px;z-index:99990;max-width:390px;background:#fff7ed;border:1px solid #fb923c;border-radius:12px;padding:16px 18px;box-shadow:0 14px 40px rgba(0,0,0,.18);color:#9a3412}
.csp-runtime-14{margin-top:6px}
.csp-runtime-15{margin-top:12px;border:0;border-radius:8px;background:#ea580c;color:white;padding:9px 12px;cursor:pointer}
.csp-runtime-16{background: #eff6ff; border: 1px solid #bfdbfe; border-radius: 12px; padding: 16px; margin-bottom: 20px; text-align: left;}
.csp-runtime-17{font-weight: 600; color: #1d4ed8; margin-bottom: 6px;}
.csp-runtime-18{color: #374151; font-size: 0.9rem;}
.csp-runtime-19{margin-top: 8px; color: #6b7280;}
.csp-runtime-20{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:99999}
.csp-runtime-21{color:#16a34a;font-weight:700;}
.csp-runtime-22{color:#dc2626;font-weight:700;}
.csp-runtime-23{color:#16a34a;font-weight:700;}
.csp-runtime-24{color:#dc2626;font-weight:700;}
.csp-runtime-25{text-align:center;padding:8px 0;font-size:14px;color:#64748b;}
.csp-runtime-26{display:none;padding:8px 16px;margin-bottom:8px;border-radius:8px;font-weight:600;text-align:center;}
.csp-runtime-27{color: #6b7280; font-size: 0.85rem; margin-bottom: 12px;}
.csp-runtime-28{position:absolute;left:-9999px;top:-9999px;}
.csp-runtime-29{text-align: center; padding: 40px;}
.csp-runtime-30{width: 48px; height: 48px; border: 4px solid #e5e7eb; border-top-color: #1a1a2e; border-radius: 50%; animation: spin 0.8s linear infinite; margin: 0 auto 20px;}
.csp-runtime-31{color: #1a1a2e; margin: 0 0 8px 0;}
.csp-runtime-32{color: #6b7280; margin: 0;}
.csp-runtime-33{font-size: 64px; margin-bottom: 16px;}
.csp-runtime-34{color: #1a1a2e; margin: 0 0 16px 0;}
.csp-runtime-35{color: #6b7280; font-size: 1.1rem; margin: 0 0 24px 0;}
.csp-runtime-36{color: #9ca3af; margin: 0;}
.csp-runtime-37{margin-top: 24px;}
.csp-runtime-38{text-align: center;}
.csp-runtime-39{font-size: 64px; margin-bottom: 16px;}
.csp-runtime-40{color: #1a1a2e; margin: 0 0 16px 0;}
.csp-runtime-41{color: #6b7280; font-size: 1.1rem; margin: 0 0 16px 0;}
.csp-runtime-42{color: #dc2626; font-size: 0.85rem; margin: 8px 0;}
.csp-runtime-43{color: #9ca3af; margin: 0;}
.csp-runtime-44{margin-top: 24px;}
.csp-runtime-45{margin-top: 24px; display: flex; gap: 12px; justify-content: center; flex-wrap: wrap;}
.csp-runtime-46{font-size: 64px; margin-bottom: 16px;}
.csp-runtime-47{color: #1a1a2e; margin: 0 0 16px 0;}
.csp-runtime-48{display: flex; justify-content: center; gap: 32px; margin-bottom: 24px;}
.csp-runtime-49{text-align: center;}
.csp-runtime-50{font-size: 1.8rem; font-weight: 700; color: #1a1a2e;}
.csp-runtime-51{font-size: 0.85rem; color: #6b7280;}
.csp-runtime-52{text-align: center;}
.csp-runtime-53{font-size: 1.8rem; font-weight: 700; color: #1a1a2e;}
.csp-runtime-54{font-size: 0.85rem; color: #6b7280;}
.csp-runtime-55{text-align: center;}
.csp-runtime-56{font-size: 0.85rem; color: #6b7280;}
.csp-runtime-57{color: #6b7280; margin: 0;}
.csp-runtime-58{color: #ef4444; margin-top: 16px; font-size: 0.85rem;}
.csp-runtime-59{margin-top: 16px; padding: 12px; background: #fef2f2; border-radius: 8px;}
.csp-runtime-60{color: #dc3545; font-weight: 600; margin: 0 0 8px 0;}
.csp-runtime-61{margin: 0; padding-left: 20px; text-align: left; color: #9ca3af; font-size: 0.8rem;}
.test-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.6);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 100000;
    animation: fadeIn 0.2s ease;
}
@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}
.test-modal {
    background: white;
    border-radius: 16px;
    padding: 24px;
    max-width: 400px;
    width: 90%;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
    animation: slideIn 0.2s ease;
}
@keyframes slideIn {
    from { transform: scale(0.9); opacity: 0; }
    to { transform: scale(1); opacity: 1; }
}
.test-modal-header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
}
.test-modal-icon {
    font-size: 28px;
}
.test-modal-title {
    margin: 0;
    font-size: 1.2rem;
    color: #1f2937;
}
.test-modal-body {
    margin-bottom: 20px;
}
.test-modal-message {
    margin: 0;
    color: #4b5563;
    line-height: 1.5;
    white-space: pre-line;
}
.test-modal-footer {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
}
.test-modal-btn {
    padding: 10px 20px;
    border: none;
    border-radius: 8px;
    font-size: 0.95rem;
    font-weight: 500;
    cursor: pointer;
    transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease;
}
.test-modal-btn.confirm {
    background: #173a63;
    color: white;
}
.test-modal-btn.confirm:hover {
    background: #102f51;
}
.test-modal-btn.cancel {
    background: #f3f4f6;
    color: #4b5563;
}
.test-modal-btn.cancel:hover {
    background: #e5e7eb;
}
.training-feedback{margin-top:15px;padding:15px;border-radius:10px;font-weight:600;text-align:center}
.training-feedback-correct{background:#d4edda;color:#155724}
.training-feedback-incorrect{background:#f8d7da;color:#721c24}
.result-nav-primary{padding:14px 32px;background:#173a63;color:white;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer}
.result-nav-secondary{padding:14px 32px;background:#f3f4f6;color:#1a1a2e;border:2px solid #e5e7eb;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer}
.result-grade{display:inline-block;padding:12px 32px;border-radius:10px;color:white;font-size:1.3rem;font-weight:700;margin-bottom:24px}
.result-percentage{font-size:1.8rem;font-weight:700}
.grade-5,.grade-pass{background:#10b981;color:#10b981}.result-grade.grade-5,.result-grade.grade-pass,.leaderboard-grade-badge.grade-5{color:white}
.grade-4{background:#3b82f6;color:#3b82f6}.result-grade.grade-4,.leaderboard-grade-badge.grade-4{color:white}
.grade-3{background:#f59e0b;color:#f59e0b}.result-grade.grade-3,.leaderboard-grade-badge.grade-3{color:white}
.grade-2,.grade-fail{background:#ef4444;color:#ef4444}.result-grade.grade-2,.result-grade.grade-fail,.leaderboard-grade-badge.grade-2{color:white}
.grade-default{background:#6b7280;color:#6b7280}.result-grade.grade-default,.leaderboard-grade-badge.grade-default{color:white}
.progress-high{background:#10b981}.progress-good{background:#3b82f6}.progress-medium{background:#f59e0b}.progress-low{background:#ef4444}
.progress-width-0{width:0%}
.progress-width-1{width:1%}
.progress-width-2{width:2%}
.progress-width-3{width:3%}
.progress-width-4{width:4%}
.progress-width-5{width:5%}
.progress-width-6{width:6%}
.progress-width-7{width:7%}
.progress-width-8{width:8%}
.progress-width-9{width:9%}
.progress-width-10{width:10%}
.progress-width-11{width:11%}
.progress-width-12{width:12%}
.progress-width-13{width:13%}
.progress-width-14{width:14%}
.progress-width-15{width:15%}
.progress-width-16{width:16%}
.progress-width-17{width:17%}
.progress-width-18{width:18%}
.progress-width-19{width:19%}
.progress-width-20{width:20%}
.progress-width-21{width:21%}
.progress-width-22{width:22%}
.progress-width-23{width:23%}
.progress-width-24{width:24%}
.progress-width-25{width:25%}
.progress-width-26{width:26%}
.progress-width-27{width:27%}
.progress-width-28{width:28%}
.progress-width-29{width:29%}
.progress-width-30{width:30%}
.progress-width-31{width:31%}
.progress-width-32{width:32%}
.progress-width-33{width:33%}
.progress-width-34{width:34%}
.progress-width-35{width:35%}
.progress-width-36{width:36%}
.progress-width-37{width:37%}
.progress-width-38{width:38%}
.progress-width-39{width:39%}
.progress-width-40{width:40%}
.progress-width-41{width:41%}
.progress-width-42{width:42%}
.progress-width-43{width:43%}
.progress-width-44{width:44%}
.progress-width-45{width:45%}
.progress-width-46{width:46%}
.progress-width-47{width:47%}
.progress-width-48{width:48%}
.progress-width-49{width:49%}
.progress-width-50{width:50%}
.progress-width-51{width:51%}
.progress-width-52{width:52%}
.progress-width-53{width:53%}
.progress-width-54{width:54%}
.progress-width-55{width:55%}
.progress-width-56{width:56%}
.progress-width-57{width:57%}
.progress-width-58{width:58%}
.progress-width-59{width:59%}
.progress-width-60{width:60%}
.progress-width-61{width:61%}
.progress-width-62{width:62%}
.progress-width-63{width:63%}
.progress-width-64{width:64%}
.progress-width-65{width:65%}
.progress-width-66{width:66%}
.progress-width-67{width:67%}
.progress-width-68{width:68%}
.progress-width-69{width:69%}
.progress-width-70{width:70%}
.progress-width-71{width:71%}
.progress-width-72{width:72%}
.progress-width-73{width:73%}
.progress-width-74{width:74%}
.progress-width-75{width:75%}
.progress-width-76{width:76%}
.progress-width-77{width:77%}
.progress-width-78{width:78%}
.progress-width-79{width:79%}
.progress-width-80{width:80%}
.progress-width-81{width:81%}
.progress-width-82{width:82%}
.progress-width-83{width:83%}
.progress-width-84{width:84%}
.progress-width-85{width:85%}
.progress-width-86{width:86%}
.progress-width-87{width:87%}
.progress-width-88{width:88%}
.progress-width-89{width:89%}
.progress-width-90{width:90%}
.progress-width-91{width:91%}
.progress-width-92{width:92%}
.progress-width-93{width:93%}
.progress-width-94{width:94%}
.progress-width-95{width:95%}
.progress-width-96{width:96%}
.progress-width-97{width:97%}
.progress-width-98{width:98%}
.progress-width-99{width:99%}
.progress-width-100{width:100%}
.leaderboard-delay-0{animation-delay:0.00s}
.leaderboard-delay-1{animation-delay:0.05s}
.leaderboard-delay-2{animation-delay:0.10s}
.leaderboard-delay-3{animation-delay:0.15s}
.leaderboard-delay-4{animation-delay:0.20s}
.leaderboard-delay-5{animation-delay:0.25s}
.leaderboard-delay-6{animation-delay:0.30s}
.leaderboard-delay-7{animation-delay:0.35s}
.leaderboard-delay-8{animation-delay:0.40s}
.leaderboard-delay-9{animation-delay:0.45s}
.leaderboard-delay-10{animation-delay:0.50s}
.leaderboard-delay-11{animation-delay:0.55s}
.leaderboard-delay-12{animation-delay:0.60s}
.leaderboard-delay-13{animation-delay:0.65s}
.leaderboard-delay-14{animation-delay:0.70s}
.leaderboard-delay-15{animation-delay:0.75s}
.leaderboard-delay-16{animation-delay:0.80s}
.leaderboard-delay-17{animation-delay:0.85s}
.leaderboard-delay-18{animation-delay:0.90s}
.leaderboard-delay-19{animation-delay:0.95s}
.leaderboard-delay-20{animation-delay:1.00s}
.leaderboard-delay-21{animation-delay:1.05s}
.leaderboard-delay-22{animation-delay:1.10s}
.leaderboard-delay-23{animation-delay:1.15s}
.leaderboard-delay-24{animation-delay:1.20s}
.leaderboard-delay-25{animation-delay:1.25s}
.leaderboard-delay-26{animation-delay:1.30s}
.leaderboard-delay-27{animation-delay:1.35s}
.leaderboard-delay-28{animation-delay:1.40s}
.leaderboard-delay-29{animation-delay:1.45s}
.leaderboard-delay-30{animation-delay:1.50s}
.leaderboard-delay-31{animation-delay:1.55s}
.leaderboard-delay-32{animation-delay:1.60s}
.leaderboard-delay-33{animation-delay:1.65s}
.leaderboard-delay-34{animation-delay:1.70s}
.leaderboard-delay-35{animation-delay:1.75s}
.leaderboard-delay-36{animation-delay:1.80s}
.leaderboard-delay-37{animation-delay:1.85s}
.leaderboard-delay-38{animation-delay:1.90s}
.leaderboard-delay-39{animation-delay:1.95s}
.leaderboard-delay-40{animation-delay:2.00s}
.leaderboard-delay-41{animation-delay:2.05s}
.leaderboard-delay-42{animation-delay:2.10s}
.leaderboard-delay-43{animation-delay:2.15s}
.leaderboard-delay-44{animation-delay:2.20s}
.leaderboard-delay-45{animation-delay:2.25s}
.leaderboard-delay-46{animation-delay:2.30s}
.leaderboard-delay-47{animation-delay:2.35s}
.leaderboard-delay-48{animation-delay:2.40s}
.leaderboard-delay-49{animation-delay:2.45s}
.leaderboard-delay-50{animation-delay:2.50s}
.leaderboard-delay-51{animation-delay:2.55s}
.leaderboard-delay-52{animation-delay:2.60s}
.leaderboard-delay-53{animation-delay:2.65s}
.leaderboard-delay-54{animation-delay:2.70s}
.leaderboard-delay-55{animation-delay:2.75s}
.leaderboard-delay-56{animation-delay:2.80s}
.leaderboard-delay-57{animation-delay:2.85s}
.leaderboard-delay-58{animation-delay:2.90s}
.leaderboard-delay-59{animation-delay:2.95s}
.leaderboard-delay-60{animation-delay:3.00s}
.leaderboard-delay-61{animation-delay:3.05s}
.leaderboard-delay-62{animation-delay:3.10s}
.leaderboard-delay-63{animation-delay:3.15s}
.leaderboard-delay-64{animation-delay:3.20s}
.leaderboard-delay-65{animation-delay:3.25s}
.leaderboard-delay-66{animation-delay:3.30s}
.leaderboard-delay-67{animation-delay:3.35s}
.leaderboard-delay-68{animation-delay:3.40s}
.leaderboard-delay-69{animation-delay:3.45s}
.leaderboard-delay-70{animation-delay:3.50s}
.leaderboard-delay-71{animation-delay:3.55s}
.leaderboard-delay-72{animation-delay:3.60s}
.leaderboard-delay-73{animation-delay:3.65s}
.leaderboard-delay-74{animation-delay:3.70s}
.leaderboard-delay-75{animation-delay:3.75s}
.leaderboard-delay-76{animation-delay:3.80s}
.leaderboard-delay-77{animation-delay:3.85s}
.leaderboard-delay-78{animation-delay:3.90s}
.leaderboard-delay-79{animation-delay:3.95s}
.leaderboard-delay-80{animation-delay:4.00s}
.leaderboard-delay-81{animation-delay:4.05s}
.leaderboard-delay-82{animation-delay:4.10s}
.leaderboard-delay-83{animation-delay:4.15s}
.leaderboard-delay-84{animation-delay:4.20s}
.leaderboard-delay-85{animation-delay:4.25s}
.leaderboard-delay-86{animation-delay:4.30s}
.leaderboard-delay-87{animation-delay:4.35s}
.leaderboard-delay-88{animation-delay:4.40s}
.leaderboard-delay-89{animation-delay:4.45s}
.leaderboard-delay-90{animation-delay:4.50s}
.leaderboard-delay-91{animation-delay:4.55s}
.leaderboard-delay-92{animation-delay:4.60s}
.leaderboard-delay-93{animation-delay:4.65s}
.leaderboard-delay-94{animation-delay:4.70s}
.leaderboard-delay-95{animation-delay:4.75s}
.leaderboard-delay-96{animation-delay:4.80s}
.leaderboard-delay-97{animation-delay:4.85s}
.leaderboard-delay-98{animation-delay:4.90s}
.leaderboard-delay-99{animation-delay:4.95s}
.leaderboard-delay-100{animation-delay:5.00s}
.leaderboard-delay-101{animation-delay:5.05s}
.leaderboard-delay-102{animation-delay:5.10s}
.leaderboard-delay-103{animation-delay:5.15s}
.leaderboard-delay-104{animation-delay:5.20s}
.leaderboard-delay-105{animation-delay:5.25s}
.leaderboard-delay-106{animation-delay:5.30s}
.leaderboard-delay-107{animation-delay:5.35s}
.leaderboard-delay-108{animation-delay:5.40s}
.leaderboard-delay-109{animation-delay:5.45s}
.leaderboard-delay-110{animation-delay:5.50s}
.leaderboard-delay-111{animation-delay:5.55s}
.leaderboard-delay-112{animation-delay:5.60s}
.leaderboard-delay-113{animation-delay:5.65s}
.leaderboard-delay-114{animation-delay:5.70s}
.leaderboard-delay-115{animation-delay:5.75s}
.leaderboard-delay-116{animation-delay:5.80s}
.leaderboard-delay-117{animation-delay:5.85s}
.leaderboard-delay-118{animation-delay:5.90s}
.leaderboard-delay-119{animation-delay:5.95s}
.leaderboard-delay-120{animation-delay:6.00s}
.leaderboard-delay-121{animation-delay:6.05s}
.leaderboard-delay-122{animation-delay:6.10s}
.leaderboard-delay-123{animation-delay:6.15s}
.leaderboard-delay-124{animation-delay:6.20s}
.leaderboard-delay-125{animation-delay:6.25s}
.leaderboard-delay-126{animation-delay:6.30s}
.leaderboard-delay-127{animation-delay:6.35s}
.leaderboard-delay-128{animation-delay:6.40s}
.leaderboard-delay-129{animation-delay:6.45s}
.leaderboard-delay-130{animation-delay:6.50s}
.leaderboard-delay-131{animation-delay:6.55s}
.leaderboard-delay-132{animation-delay:6.60s}
.leaderboard-delay-133{animation-delay:6.65s}
.leaderboard-delay-134{animation-delay:6.70s}
.leaderboard-delay-135{animation-delay:6.75s}
.leaderboard-delay-136{animation-delay:6.80s}
.leaderboard-delay-137{animation-delay:6.85s}
.leaderboard-delay-138{animation-delay:6.90s}
.leaderboard-delay-139{animation-delay:6.95s}
.leaderboard-delay-140{animation-delay:7.00s}
.leaderboard-delay-141{animation-delay:7.05s}
.leaderboard-delay-142{animation-delay:7.10s}
.leaderboard-delay-143{animation-delay:7.15s}
.leaderboard-delay-144{animation-delay:7.20s}
.leaderboard-delay-145{animation-delay:7.25s}
.leaderboard-delay-146{animation-delay:7.30s}
.leaderboard-delay-147{animation-delay:7.35s}
.leaderboard-delay-148{animation-delay:7.40s}
.leaderboard-delay-149{animation-delay:7.45s}
.leaderboard-delay-150{animation-delay:7.50s}
.leaderboard-delay-151{animation-delay:7.55s}
.leaderboard-delay-152{animation-delay:7.60s}
.leaderboard-delay-153{animation-delay:7.65s}
.leaderboard-delay-154{animation-delay:7.70s}
.leaderboard-delay-155{animation-delay:7.75s}
.leaderboard-delay-156{animation-delay:7.80s}
.leaderboard-delay-157{animation-delay:7.85s}
.leaderboard-delay-158{animation-delay:7.90s}
.leaderboard-delay-159{animation-delay:7.95s}
.leaderboard-delay-160{animation-delay:8.00s}
.leaderboard-delay-161{animation-delay:8.05s}
.leaderboard-delay-162{animation-delay:8.10s}
.leaderboard-delay-163{animation-delay:8.15s}
.leaderboard-delay-164{animation-delay:8.20s}
.leaderboard-delay-165{animation-delay:8.25s}
.leaderboard-delay-166{animation-delay:8.30s}
.leaderboard-delay-167{animation-delay:8.35s}
.leaderboard-delay-168{animation-delay:8.40s}
.leaderboard-delay-169{animation-delay:8.45s}
.leaderboard-delay-170{animation-delay:8.50s}
.leaderboard-delay-171{animation-delay:8.55s}
.leaderboard-delay-172{animation-delay:8.60s}
.leaderboard-delay-173{animation-delay:8.65s}
.leaderboard-delay-174{animation-delay:8.70s}
.leaderboard-delay-175{animation-delay:8.75s}
.leaderboard-delay-176{animation-delay:8.80s}
.leaderboard-delay-177{animation-delay:8.85s}
.leaderboard-delay-178{animation-delay:8.90s}
.leaderboard-delay-179{animation-delay:8.95s}
.leaderboard-delay-180{animation-delay:9.00s}
.leaderboard-delay-181{animation-delay:9.05s}
.leaderboard-delay-182{animation-delay:9.10s}
.leaderboard-delay-183{animation-delay:9.15s}
.leaderboard-delay-184{animation-delay:9.20s}
.leaderboard-delay-185{animation-delay:9.25s}
.leaderboard-delay-186{animation-delay:9.30s}
.leaderboard-delay-187{animation-delay:9.35s}
.leaderboard-delay-188{animation-delay:9.40s}
.leaderboard-delay-189{animation-delay:9.45s}
.leaderboard-delay-190{animation-delay:9.50s}
.leaderboard-delay-191{animation-delay:9.55s}
.leaderboard-delay-192{animation-delay:9.60s}
.leaderboard-delay-193{animation-delay:9.65s}
.leaderboard-delay-194{animation-delay:9.70s}
.leaderboard-delay-195{animation-delay:9.75s}
.leaderboard-delay-196{animation-delay:9.80s}
.leaderboard-delay-197{animation-delay:9.85s}
.leaderboard-delay-198{animation-delay:9.90s}
.leaderboard-delay-199{animation-delay:9.95s}
@keyframes spin{to{transform:rotate(360deg)}}
