@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@500&display=swap";@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@500&display=swap";:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}body{margin:0}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.login-shell{color:#f0f4ff;background:#080f1e;justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;font-family:Inter,sans-serif;display:flex;position:relative;overflow:hidden}.login-orb{filter:blur(80px);pointer-events:none;z-index:0;border-radius:50%;position:absolute}.login-orb-1{background:#4f8ef71f;width:520px;height:520px;top:-120px;right:-100px}.login-orb-2{background:#a855f717;width:400px;height:400px;bottom:-80px;left:-80px}.login-card{z-index:1;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#14213dd1;border:1px solid #ffffff14;border-radius:20px;width:100%;max-width:420px;padding:2.5rem 2.25rem;position:relative;box-shadow:0 24px 60px #00000080,inset 0 0 0 1px #4f8ef70f}.login-brand{align-items:center;gap:.5rem;margin-bottom:1.75rem;display:flex}.login-brand-icon{font-size:1.75rem}.login-brand-text{letter-spacing:.12em;background:linear-gradient(90deg,#f5c842,#fff8c0);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:.95rem;font-weight:800}.login-title{margin:0 0 .3rem;font-size:1.65rem;font-weight:700;line-height:1.2}.login-subtitle{color:#7a8faf;margin:0 0 1.75rem;font-size:.85rem}.login-error-banner{color:#f05c6e;background:#f05c6e1a;border:1px solid #f05c6e59;border-radius:10px;align-items:center;gap:.6rem;margin-bottom:1.25rem;padding:.75rem 1rem;font-size:.85rem;animation:.35s shakeBanner;display:flex}.login-error-icon{flex-shrink:0;font-size:1rem}@keyframes shakeBanner{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.login-form{flex-direction:column;gap:1.1rem;display:flex}.login-field{flex-direction:column;gap:.35rem;display:flex}.login-label{color:#7a8faf;letter-spacing:.03em;font-size:.78rem;font-weight:600}.login-input-wrap{align-items:center;display:flex;position:relative}.login-input-icon{pointer-events:none;color:#3a4c6a;z-index:1;font-size:.9rem;position:absolute;left:.85rem}.login-input{color:#f0f4ff;appearance:none;background:#0a1226bf;border:1px solid #ffffff14;border-radius:10px;width:100%;padding:.78rem .9rem .78rem 2.6rem;font-family:inherit;font-size:.92rem;transition:border-color .2s,box-shadow .2s}.login-input::placeholder{color:#3a4c6a}.login-input:focus{border-color:#4f8ef7;outline:none;box-shadow:0 0 0 3px #4f8ef726}.login-input:disabled{opacity:.5;cursor:not-allowed}.login-field.has-error .login-input{border-color:#f05c6e80;box-shadow:0 0 0 3px #f05c6e1a}.login-field-error{color:#f05c6e;padding-left:.1rem;font-size:.75rem}.login-pw-toggle{cursor:pointer;color:#3a4c6a;background:0 0;border:none;border-radius:4px;padding:.25rem;font-size:.9rem;line-height:1;transition:color .18s;position:absolute;right:.7rem}.login-pw-toggle:hover{color:#7a8faf}.login-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#2a6ae0,#4f8ef7);border:none;border-radius:11px;justify-content:center;align-items:center;gap:.5rem;margin-top:.4rem;padding:.85rem;font-family:inherit;font-size:.95rem;font-weight:700;transition:transform .2s,box-shadow .2s,opacity .2s;display:flex;box-shadow:0 4px 20px #4f8ef752}.login-btn:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 8px 30px #4f8ef77a}.login-btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.login-btn.loading{background:#4f8ef799}.login-spinner{border:2px solid #ffffff59;border-top-color:#fff;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.login-footer-note{text-align:center;color:#3a4c6a;margin-top:1.5rem;font-size:.7rem;line-height:1.5}@media (width<=480px){.login-card{padding:2rem 1.5rem}.login-title{font-size:1.4rem}}:root{--bg-dark:#080f1e;--bg-surface:#0f1932cc;--bg-card:#14213dbf;--bg-card-hover:#192848e6;--bg-input:#0a1226b3;--text-main:#f0f4ff;--text-muted:#7a8faf;--text-subtle:#4a5c7a;--accent-gold:#f5c842;--accent-gold-dim:#f5c84230;--accent-blue:#4f8ef7;--accent-blue-dim:#4f8ef720;--success:#22d3a0;--success-dim:#22d3a018;--danger:#f05c6e;--danger-dim:#f05c6e18;--warning:#f0a030;--warning-dim:#f0a03018;--border:#ffffff12;--border-hover:#ffffff26;--glass-blur:blur(16px);--shadow-card:0 8px 40px #00000073;--shadow-elevated:0 16px 60px #0009;--radius-card:18px;--radius-btn:10px;--radius-tag:6px;--transition:.22s cubic-bezier(.4,0,.2,1)}body{background-color:var(--bg-dark);color:var(--text-main);background-image:radial-gradient(80% 50% at 70% -10%,#4f8ef71f,#0000),radial-gradient(60% 40% at 5% 90%,#f5c84214,#0000),radial-gradient(50% 60% at 90% 80%,#22d3a00f,#0000);min-height:100vh;font-family:Inter,system-ui,sans-serif}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.dashboard-container{max-width:1280px;margin:0 auto;padding:2rem 2rem 4rem;position:relative}.dashboard-header{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-card);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:var(--shadow-card);justify-content:space-between;align-items:center;gap:2rem;margin-bottom:1.5rem;padding:1.75rem 2rem;display:flex}.header-brand{align-items:center;gap:1.25rem;display:flex}.brand-logo{background:linear-gradient(135deg, var(--accent-gold-dim), transparent);border:1px solid var(--accent-gold-dim);border-radius:10px;align-items:center;gap:.5rem;padding:.5rem .85rem;display:flex}.logo-icon{font-size:1.4rem}.logo-text{letter-spacing:.12em;background:linear-gradient(to right, var(--accent-gold), #fff9c0);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:.95rem;font-weight:800}.header-divider{background:var(--border-hover);width:1px;height:2.5rem}.header-title{background:linear-gradient(to right, var(--text-main) 60%, var(--accent-gold));-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:1.5rem;font-weight:700;line-height:1.2}.header-subtitle{color:var(--text-muted);letter-spacing:.04em;margin-top:.2rem;font-size:.8rem}.header-stats{flex-shrink:0;align-items:center;gap:.75rem;display:flex}.stat-pill{background:var(--accent-blue-dim);border:1px solid #4f8ef733;border-radius:999px;flex-direction:column;align-items:center;min-width:80px;padding:.5rem 1rem;display:flex}.stat-pill-selected{background:var(--accent-gold-dim);border-color:#f5c84240}.stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;font-size:.65rem}.stat-value{color:var(--text-main);font-size:1.25rem;font-weight:700;line-height:1}.btn-refresh{background:var(--bg-input);border:1px solid var(--border-hover);color:var(--text-muted);cursor:pointer;width:40px;height:40px;transition:var(--transition);border-radius:50%;justify-content:center;align-items:center;font-size:1.2rem;display:flex}.btn-refresh:hover{color:var(--text-main);border-color:var(--accent-blue)}.btn-refresh:disabled{opacity:.4;cursor:not-allowed}.refresh-icon{transition:transform .6s;display:inline-block}.refresh-icon.spinning{animation:.8s linear infinite spin}.toolbar{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-card);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;padding:.85rem 1.25rem;display:flex}.toolbar-filters{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.toolbar-batch{align-items:center;gap:1rem;display:flex}.filter-select{background:var(--bg-input);border:1px solid var(--border-hover);color:var(--text-main);cursor:pointer;transition:var(--transition);appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%237a8faf' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-position:right .7rem center;background-repeat:no-repeat;border-radius:8px;padding:.45rem 2rem .45rem .85rem;font-family:inherit;font-size:.85rem}.filter-select:focus{border-color:var(--accent-blue);box-shadow:0 0 0 3px var(--accent-blue-dim);outline:none}.filter-count{color:var(--text-muted);font-size:.8rem}.batch-select-all{color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.5rem;font-size:.85rem;display:flex}.batch-select-all input[type=checkbox]{display:none}.batch-select-all input:checked+span{color:var(--accent-gold)}.batch-approve-btn{padding:.55rem 1.2rem;font-size:.9rem}.question-grid{flex-direction:column;gap:1.5rem;display:flex}.question-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-card);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:var(--shadow-card);transition:transform var(--transition), box-shadow var(--transition), border-color var(--transition), background var(--transition);padding:2rem 2rem 1.75rem;position:relative}.question-card:hover{box-shadow:var(--shadow-elevated);border-color:var(--border-hover);background:var(--bg-card-hover);transform:translateY(-3px)}.question-card.is-selected{box-shadow:0 0 0 2px var(--accent-gold-dim), var(--shadow-card);border-color:#f5c84266}.batch-checkbox{cursor:pointer;position:absolute;top:1.25rem;left:-.6rem}.batch-checkbox input{display:none}.checkbox-custom{border:2px solid var(--border-hover);background:var(--bg-input);width:22px;height:22px;transition:var(--transition);border-radius:6px;justify-content:center;align-items:center;display:flex}.batch-checkbox input:checked~.checkbox-custom,.batch-checkbox input:checked+.checkbox-custom{background:var(--accent-gold);border-color:var(--accent-gold)}.batch-checkbox input:checked+.checkbox-custom:after{content:"✓";color:#000;font-size:.75rem;font-weight:800}.card-header{flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:1.25rem;display:flex}.tag{border-radius:var(--radius-tag);text-transform:uppercase;letter-spacing:.06em;border:1px solid;padding:.25rem .7rem;font-size:.75rem;font-weight:600}.difficulty{border-radius:var(--radius-tag);letter-spacing:.03em;padding:.25rem .7rem;font-size:.75rem;font-weight:600}.level-3{color:var(--accent-blue);border:1px solid var(--accent-blue)50;background:#4f8ef726}.level-4{color:var(--warning);border:1px solid var(--warning)50;background:#f0a03026}.level-5{color:var(--danger);border:1px solid var(--danger)50;background:#f05c6e26}.question-id-badge{color:var(--text-subtle);margin-left:auto;font-family:JetBrains Mono,monospace;font-size:.75rem}.card-date{color:var(--text-subtle);font-size:.75rem}.question-text{color:var(--text-main);margin-bottom:1.5rem;font-size:1.05rem;line-height:1.7}.options-list{flex-direction:column;gap:.6rem;margin-bottom:1.5rem;display:flex}.option{background:var(--bg-input);border:1px solid var(--border);transition:var(--transition);border-radius:10px;align-items:flex-start;gap:.75rem;padding:.8rem 1rem;font-size:.92rem;display:flex}.option:hover{border-color:var(--border-hover);background:#ffffff0a}.option.correct{background:var(--success-dim);border-color:var(--success)}.option.correct .option-letter{color:var(--success)}.option-letter{color:var(--text-subtle);min-width:1.2rem;padding-top:.05rem;font-size:.8rem;font-weight:700}.option-text{flex:1;line-height:1.5}.correct-indicator{color:var(--success);margin-left:auto;font-weight:700}.rationale-box{border-left:3px solid var(--accent-gold);background:#00000040;border-radius:0 10px 10px 0;margin-bottom:1.75rem;overflow:hidden}.rationale-toggle{width:100%;color:var(--accent-gold);cursor:pointer;letter-spacing:.04em;transition:background var(--transition);background:0 0;border:none;justify-content:space-between;align-items:center;padding:.85rem 1.25rem;font-family:inherit;font-size:.85rem;font-weight:600;display:flex}.rationale-toggle:hover{background:#f5c8420d}.rationale-chevron{transition:transform var(--transition);font-size:1.1rem;display:inline-block}.rationale-chevron.open{transform:rotate(90deg)}.rationale-body{border-top:1px solid #f5c8421f;padding:.25rem 1.25rem 1.25rem}.rationale-body p{color:var(--text-muted);margin-bottom:.75rem;font-size:.9rem;line-height:1.65}.rationale-body cite{color:var(--accent-blue);align-items:center;gap:.4rem;font-family:JetBrains Mono,monospace;font-size:.82rem;font-style:normal;font-weight:500;display:flex}.cite-icon{font-size:.9rem}.action-buttons{flex-wrap:wrap;justify-content:flex-end;gap:.75rem;display:flex}.btn{border-radius:var(--radius-btn);cursor:pointer;transition:all var(--transition);white-space:nowrap;border:none;align-items:center;gap:.4rem;padding:.65rem 1.35rem;font-family:inherit;font-size:.88rem;font-weight:600;display:inline-flex;position:relative;overflow:hidden}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.btn-icon{font-style:normal}.btn.approve{background:linear-gradient(135deg, #1aaf84, var(--success));color:#fff;box-shadow:0 4px 18px #22d3a04d}.btn.approve:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 8px 28px #22d3a073}.btn.revise{background:linear-gradient(135deg, #c07010, var(--warning));color:#fff;box-shadow:0 4px 18px #f0a0304d}.btn.revise:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 8px 28px #f0a03073}.btn.reject{color:var(--danger);border:1px solid var(--danger);box-shadow:inset 0 0 0 0 var(--danger-dim);background:0 0}.btn.reject:not(:disabled):hover{background:var(--danger-dim);box-shadow:0 4px 18px #f05c6e33}.btn-spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite spin;display:inline-block}.skeleton{background:linear-gradient(90deg,#ffffff0a 25%,#ffffff14 50%,#ffffff0a 75%) 0 0/200% 100%;border-radius:6px;animation:1.6s infinite shimmer}.skeleton-tag{width:90px;height:24px}.skeleton-badge{width:70px;height:24px}.skeleton-text-lg{width:100%;height:18px;margin-bottom:.6rem}.skeleton-text-sm{width:90%;height:14px;margin-bottom:.5rem}.skeleton-option{border-radius:10px;width:100%;height:52px;margin-bottom:.5rem}.skeleton-rationale{border-radius:10px;width:100%;height:60px;margin:1rem 0}.skeleton-btn{border-radius:var(--radius-btn);width:120px;height:40px}.skeleton-card .card-header,.skeleton-card .action-buttons{gap:.6rem;display:flex}.skeleton-card .action-buttons{justify-content:flex-end}.skeleton-card .question-text{background:0 0;height:18px;margin-bottom:.6rem}.toast-container{z-index:9999;flex-direction:column;gap:.6rem;max-width:380px;display:flex;position:fixed;top:1.5rem;right:1.5rem}.toast{-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid;border-radius:12px;align-items:center;gap:.75rem;padding:.85rem 1rem;font-size:.875rem;font-weight:500;animation:.3s cubic-bezier(.34,1.56,.64,1) slideIn;display:flex;box-shadow:0 8px 30px #00000080}.toast-success{border-color:var(--success);color:var(--success);background:#143c2de6}.toast-error{border-color:var(--danger);color:var(--danger);background:#3c0f14e6}.toast-warning{border-color:var(--warning);color:var(--warning);background:#372305e6}.toast-icon{flex-shrink:0;font-size:1rem}.toast-message{color:var(--text-main);flex:1}.toast-close{color:var(--text-muted);cursor:pointer;transition:color var(--transition);background:0 0;border:none;padding:0;font-size:1.2rem;line-height:1}.toast-close:hover{color:var(--text-main)}.modal-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:8888;background:#050a19cc;justify-content:center;align-items:center;padding:1.5rem;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.modal-panel{border:1px solid var(--border-hover);width:100%;max-width:520px;box-shadow:var(--shadow-elevated);background:#121c37f2;border-radius:20px;padding:2rem;animation:.28s cubic-bezier(.34,1.56,.64,1) slideUp}.modal-header{justify-content:space-between;align-items:center;margin-bottom:1.25rem;display:flex}.modal-title{color:var(--warning);font-size:1.2rem;font-weight:700}.modal-close{color:var(--text-muted);cursor:pointer;transition:color var(--transition);background:0 0;border:none;padding:0;font-size:1.5rem;line-height:1}.modal-close:hover{color:var(--text-main)}.modal-question-preview{background:var(--bg-input);border:1px solid var(--border);border-radius:10px;margin-bottom:1.25rem;padding:.85rem 1rem}.modal-q-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-subtle);margin-bottom:.4rem;font-size:.7rem}.modal-q-text{color:var(--text-muted);font-size:.9rem;line-height:1.5}.modal-label{color:var(--text-muted);margin-bottom:.5rem;font-size:.82rem;display:block}.modal-required{color:var(--danger)}.modal-textarea{background:var(--bg-input);border:1px solid var(--border-hover);width:100%;color:var(--text-main);resize:vertical;transition:border-color var(--transition), box-shadow var(--transition);border-radius:10px;padding:.85rem 1rem;font-family:inherit;font-size:.9rem}.modal-textarea:focus{border-color:var(--warning);box-shadow:0 0 0 3px var(--warning-dim);outline:none}.modal-textarea::placeholder{color:var(--text-subtle)}.modal-actions{justify-content:flex-end;gap:.75rem;margin-top:1.25rem;display:flex}.empty-state,.error-state{text-align:center;background:var(--bg-card);border:1px dashed var(--border-hover);border-radius:var(--radius-card);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);padding:5rem 2rem}.empty-icon,.error-icon{margin-bottom:1rem;font-size:3rem;display:block}.empty-state h2,.error-state h2{margin-bottom:.6rem;font-size:1.4rem}.empty-state p,.error-state p{color:var(--text-muted);margin-bottom:1.25rem;line-height:1.6}.error-state{border-color:#f05c6e4d}.error-hint{font-size:.85rem}.error-hint code{background:var(--bg-input);border:1px solid var(--border-hover);border-radius:4px;padding:.15rem .4rem;font-family:JetBrains Mono,monospace;font-size:.82rem}.dashboard-footer{border-top:1px solid var(--border);color:var(--text-subtle);justify-content:space-between;align-items:center;margin-top:3rem;padding-top:1.5rem;font-size:.75rem;display:flex}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes slideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (width<=768px){.dashboard-container{padding:1rem 1rem 3rem}.dashboard-header{flex-direction:column;align-items:flex-start}.header-stats{align-self:flex-end}.header-title{font-size:1.2rem}.toolbar{flex-direction:column;align-items:flex-start}.action-buttons{flex-direction:column}.btn{justify-content:center;width:100%}.toast-container{max-width:unset;left:1rem;right:1rem}.question-card{padding:1.25rem 1.25rem 1.25rem 1.5rem}.batch-checkbox{top:1rem;left:-.4rem}}.ai-generator-panel{background:var(--bg-card);border-radius:var(--radius-card);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 8px 40px #a855f714, var(--shadow-card);border:1px solid #a855f733;flex-direction:column;gap:1.75rem;padding:2rem;display:flex}.ai-gen-header{align-items:flex-start;gap:1.1rem;display:flex}.ai-gen-icon{flex-shrink:0;padding-top:.1rem;font-size:2rem;line-height:1}.ai-gen-title{background:linear-gradient(90deg,#f0f4ff,#a855f7);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin:0 0 .2rem;font-size:1.25rem;font-weight:700}.ai-gen-subtitle{color:var(--text-muted);margin:0;font-size:.8rem;line-height:1.5}.ai-gen-badge{letter-spacing:.04em;color:var(--success);background:#22d3a01a;border:1px solid #22d3a04d;border-radius:999px;flex-shrink:0;margin-left:auto;padding:.3rem .75rem;font-size:.72rem;font-weight:700}.ai-gen-form{flex-direction:column;gap:1.1rem;display:flex}.ai-field{flex-direction:column;gap:.4rem;display:flex;position:relative}.ai-field-wide{flex:2}.ai-field-row{flex-wrap:wrap;align-items:flex-start;gap:1rem;display:flex}.ai-field-row .ai-field{flex:1;min-width:160px}.ai-field-row .ai-field-wide{flex:2;min-width:220px}.ai-label{color:var(--text-muted);letter-spacing:.03em;font-size:.8rem;font-weight:600}.ai-required{color:var(--danger);margin-left:.2rem}.ai-optional{color:var(--text-subtle);font-weight:400}.ai-input,.ai-select{background:var(--bg-input);border:1px solid var(--border-light);color:var(--text-main);border-radius:10px;width:100%;padding:.7rem .9rem;font-family:inherit;font-size:.9rem;transition:border-color .2s,box-shadow .2s}.ai-input:focus,.ai-select:focus{border-color:#a855f7;outline:none;box-shadow:0 0 0 3px #a855f726}.ai-input:disabled,.ai-select:disabled{opacity:.5;cursor:not-allowed}.ai-input::placeholder{color:var(--text-subtle)}.ai-select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%237a8faf' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;padding-right:2rem}.ai-char-count{color:var(--text-subtle);font-size:.7rem;position:absolute;bottom:-1.2rem;right:.6rem}.ai-field-hint{color:var(--text-subtle);margin-top:.1rem;font-size:.72rem}.ai-difficulty-bar{align-items:center;gap:.4rem;display:flex}.ai-diff-pip{background:#ffffff14;border-radius:999px;flex:1;height:5px;transition:background .25s}.ai-diff-pip.active.level-1{background:#94a3b8}.ai-diff-pip.active.level-2{background:#34d399}.ai-diff-pip.active.level-3{background:var(--accent-blue)}.ai-diff-pip.active.level-4{background:var(--warning)}.ai-diff-pip.active.level-5{background:var(--danger)}.ai-diff-label{color:var(--text-muted);white-space:nowrap;min-width:110px;margin-left:.25rem;font-size:.72rem;font-weight:600}.btn-generate{color:#fff;cursor:pointer;background:linear-gradient(135deg,#a855f7d9,#a855f7);border:none;border-radius:10px;align-self:flex-start;align-items:center;gap:.5rem;padding:.85rem 2rem;font-family:inherit;font-size:.95rem;font-weight:700;transition:all .22s;display:inline-flex;box-shadow:0 4px 18px #a855f74d}.btn-generate:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 8px 28px #a855f780}.btn-generate:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}.btn-generate.loading{background:#a855f780}.btn-spinner-sm{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite spin;display:inline-block}.ai-preview{background:#a855f70f;border:1px solid #a855f740;border-radius:12px;padding:1.5rem;animation:.35s fadeSlideIn}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.ai-preview-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.ai-preview-label{color:var(--success);letter-spacing:.04em;text-transform:uppercase;font-size:.78rem;font-weight:700}.ai-preview-tags{flex-wrap:wrap;gap:.5rem;display:flex}.ai-preview-qtext{color:var(--text-main);background:#0003;border-left:3px solid #a855f780;border-radius:8px;margin-bottom:1rem;padding:1rem;font-size:.92rem;line-height:1.65}.ai-preview-rationale{border-left:3px solid var(--accent-gold);background:#00000040;border-radius:8px;margin-bottom:1rem;padding:1rem}.ai-preview-rationale-label{text-transform:uppercase;letter-spacing:.06em;color:var(--accent-gold);margin-bottom:.5rem;font-size:.72rem;font-weight:700;display:block}.ai-preview-rationale p{color:var(--text-muted);margin-bottom:.5rem;font-size:.85rem;line-height:1.6}.ai-preview-rationale cite{color:var(--accent-blue);font-family:JetBrains Mono,monospace;font-size:.78rem;font-style:normal}.ai-preview-actions{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.ai-preview-note{color:var(--text-muted);flex:1;font-size:.8rem;line-height:1.5}.ai-preview-note strong{color:var(--text-main)}.ai-gen-info{border-top:1px solid var(--border-light);color:var(--text-subtle);flex-wrap:wrap;justify-content:space-between;gap:.5rem;padding-top:1rem;font-size:.72rem;display:flex}.admin-shell{color:#f0f4ff;background:#080f1e;min-height:100vh;padding:2rem;font-family:Inter,system-ui,sans-serif}.admin-header{border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;display:flex}.admin-tabs{border-bottom:1px solid #ffffff1a;gap:1rem;margin-bottom:2rem;display:flex}.admin-tabs button{color:#7a8faf;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;transition:all .2s}.admin-tabs button:hover{color:#f0f4ff}.admin-tabs button.active{color:#f5c842;border-bottom-color:#f5c842}.admin-header h1{color:#f5c842;margin:0;font-size:1.5rem}.admin-user{align-items:center;gap:1rem;font-size:.9rem;display:flex}.admin-logout{color:#f0f4ff;cursor:pointer;background:0 0;border:1px solid #fff3;border-radius:4px;padding:.25rem .75rem;transition:all .2s}.admin-logout:hover{color:#f05c6e;border-color:#f05c6e}.admin-grid{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}.admin-card{background:#ffffff08;border:1px solid #ffffff1a;border-radius:12px;padding:1.5rem}.admin-card.full-width{grid-column:1/-1}.admin-card h2{color:#a855f7;margin-top:0;margin-bottom:1rem;font-size:1.2rem}.admin-table{border-collapse:collapse;width:100%;font-size:.9rem}.admin-table th,.admin-table td{text-align:left;border-bottom:1px solid #ffffff0d;padding:.75rem}.admin-table th{color:#7a8faf;font-weight:600}.text-success{color:#22d3a0}.text-danger{color:#ef4444}.text-warning{color:#f59e0b}.badge{background:#ffffff1a;border-radius:999px;padding:.2rem .5rem;font-size:.75rem;font-weight:600}.badge-login{color:#4f8ef7;background:#4f8ef733}.badge-logout{color:#ef4444;background:#ef444433}.badge-generated_ai{color:#a855f7;background:#a855f733}.admin-spinner{border:3px solid #ffffff1a;border-top-color:#f5c842;border-radius:50%;width:30px;height:30px;margin:100px auto;animation:1s linear infinite admin-spin}@keyframes admin-spin{to{transform:rotate(360deg)}}.admin-error{color:#ef4444;text-align:center;background:#ef44441a;border-radius:8px;max-width:600px;margin:2rem auto;padding:2rem}:root{--bg:#080f1e;--surface:#0f1932d9;--card:#14213dcc;--input:#0a1226bf;--text:#f0f4ff;--muted:#7a8faf;--subtle:#3a4c6a;--gold:#f5c842;--blue:#4f8ef7;--green:#22d3a0;--red:#f05c6e;--orange:#f0a030;--border:#ffffff12;--border-h:#ffffff24;--blur:blur(16px);--shadow:0 8px 40px #00000080;--r:14px;--t:.2s cubic-bezier(.4,0,.2,1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}.exam-shell{background:var(--bg);min-height:100vh;color:var(--text);background-image:radial-gradient(70% 40% at 75% 0,#4f8ef71a,#0000),radial-gradient(50% 50% at 5% 90%,#22d3a00f,#0000);flex-direction:column;font-family:Inter,sans-serif;display:flex}.exam-shell.endurance-mode{background-image:radial-gradient(70% 40% at 75% 0,#f05c6e1f,#0000),radial-gradient(50% 50% at 5% 90%,#f0a03014,#0000)}.exam-topbar{border-bottom:1px solid var(--border);height:60px;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);z-index:100;background:#080f1ef2;justify-content:space-between;align-items:center;gap:1rem;padding:0 2rem;display:flex;position:sticky;top:0}.topbar-left{align-items:center;gap:1rem;display:flex}.topbar-brand{letter-spacing:.12em;background:linear-gradient(to right, var(--gold), #fff8c0);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:.9rem;font-weight:800}.topbar-exam-type{color:var(--muted);font-size:.78rem}.endurance-badge{border:1px solid var(--red);color:var(--red);background:#f05c6e26;border-radius:999px;padding:.2rem .6rem;font-size:.72rem;font-weight:700;animation:2s infinite pulse}.topbar-center{flex:1;justify-content:center;display:flex}.global-timer{color:var(--text);background:var(--input);border:1px solid var(--border-h);transition:color var(--t), border-color var(--t);border-radius:10px;align-items:center;gap:.5rem;padding:.3rem .9rem;font-family:JetBrains Mono,monospace;font-size:1.4rem;font-weight:500;display:flex}.global-timer.timer-warning{color:var(--orange);border-color:var(--orange)}.global-timer.timer-critical{color:var(--red);border-color:var(--red);animation:1s infinite pulse}.timer-icon{font-size:1rem}.topbar-right{align-items:center;gap:1rem;display:flex}.topbar-progress{color:var(--muted);white-space:nowrap;font-size:.8rem}.btn-finish{border:1px solid var(--border-h);color:var(--muted);cursor:pointer;transition:var(--t);background:0 0;border-radius:8px;padding:.4rem 1rem;font-family:inherit;font-size:.82rem;font-weight:600}.btn-finish:hover{color:var(--red);border-color:var(--red);background:#f05c6e1a}.exam-body{flex:1;gap:1.5rem;width:100%;max-width:1400px;margin:0 auto;padding:2rem 1.5rem;display:flex}.exam-main{flex-direction:column;flex:1;min-width:0;display:flex}.exam-sidebar{flex-shrink:0;width:260px}.question-panel{background:var(--card);border:1px solid var(--border);border-radius:var(--r);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:var(--shadow);flex:1;margin-bottom:1.25rem;padding:2.5rem}.q-meta{align-items:center;gap:.6rem;margin-bottom:1.5rem;display:flex}.q-system-tag{text-transform:uppercase;letter-spacing:.06em;color:var(--blue);background:#4f8ef726;border:1px solid #4f8ef759;border-radius:6px;padding:.22rem .7rem;font-size:.72rem;font-weight:700}.q-difficulty{border-radius:6px;padding:.22rem .7rem;font-size:.72rem;font-weight:700}.level-1{color:#94a3b8;background:#64748b33;border:1px solid #94a3b840}.level-2{color:#34d399;background:#22d3a01f;border:1px solid #34d39940}.level-3{color:var(--blue);background:#4f8ef71f;border:1px solid #4f8ef740}.level-4{color:var(--orange);background:#f0a0301f;border:1px solid #f0a03040}.level-5{color:var(--red);background:#f05c6e1f;border:1px solid #f05c6e40}.endurance-pip{margin-left:.35rem}.q-stem-wrapper{margin-bottom:2rem}.q-number{color:var(--subtle);letter-spacing:.04em;margin-bottom:.75rem;font-size:.75rem;display:block}.q-stem{color:var(--text);font-size:1.1rem;line-height:1.75}.q-options{flex-direction:column;gap:.65rem;margin-bottom:1.75rem;display:flex}.q-option{background:var(--input);border:1px solid var(--border);cursor:pointer;color:var(--text);text-align:left;transition:border-color var(--t), background var(--t), transform var(--t);border-radius:10px;align-items:flex-start;gap:.85rem;width:100%;padding:1rem 1.1rem;font-family:inherit;font-size:.95rem;display:flex}.q-option:hover:not(.chosen){border-color:var(--border-h);background:#ffffff0a;transform:translate(3px)}.q-option.chosen{border-color:var(--blue);background:#4f8ef71f}.q-option-letter{min-width:1.3rem;color:var(--muted);padding-top:.1rem;font-size:.8rem;font-weight:700}.q-option.chosen .q-option-letter{color:var(--blue)}.q-option-text{flex:1;line-height:1.55}.q-option-check{color:var(--blue);margin-left:auto;font-size:1.1rem}.btn-mark{border:1px dashed var(--subtle);color:var(--muted);cursor:pointer;transition:var(--t);background:0 0;border-radius:8px;padding:.45rem 1rem;font-family:inherit;font-size:.82rem}.btn-mark:hover{border-color:var(--orange);color:var(--orange)}.btn-mark.is-marked{border-color:var(--orange);color:var(--orange);background:#f0a0301a;border-style:solid}.exam-nav-buttons{justify-content:space-between;align-items:center;gap:1rem;display:flex}.btn-nav{cursor:pointer;transition:var(--t);border:none;border-radius:10px;padding:.7rem 1.5rem;font-family:inherit;font-size:.9rem;font-weight:600}.btn-prev{background:var(--input);border:1px solid var(--border-h);color:var(--muted)}.btn-prev:hover:not(:disabled){color:var(--text);border-color:var(--blue)}.btn-prev:disabled{opacity:.35;cursor:not-allowed}.btn-next{background:linear-gradient(135deg, #2a6ae0, var(--blue));color:#fff;box-shadow:0 4px 18px #4f8ef74d}.btn-next:hover{transform:translateY(-2px);box-shadow:0 8px 28px #4f8ef773}.btn-submit{background:linear-gradient(135deg, #18af84, var(--green));color:#fff;box-shadow:0 4px 18px #22d3a04d}.btn-submit:hover{transform:translateY(-2px);box-shadow:0 8px 28px #22d3a073}.nav-position{color:var(--muted);font-family:JetBrains Mono,monospace;font-size:.82rem}.q-navigator{background:var(--card);border:1px solid var(--border);border-radius:var(--r);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);padding:1.25rem;position:sticky;top:76px}.nav-title{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:1rem;font-size:.72rem}.nav-grid{grid-template-columns:repeat(5,1fr);gap:.35rem;margin-bottom:1rem;display:grid}.nav-cell{aspect-ratio:1;background:var(--input);border:1px solid var(--border);color:var(--subtle);cursor:pointer;transition:var(--t);border-radius:6px;font-size:.72rem;font-weight:600}.nav-cell:hover{border-color:var(--blue);color:var(--text)}.nav-cell.nav-current{border-color:var(--blue);color:var(--blue);background:#4f8ef733}.nav-cell.nav-answered{color:var(--green);background:#22d3a01f;border-color:#22d3a066}.nav-cell.nav-marked{color:var(--orange);background:#f0a0301f;border-color:#f0a03066}.nav-cell.nav-current.nav-answered{background:#4f8ef740}.nav-legend{flex-direction:column;gap:.4rem;display:flex}.legend-item{color:var(--muted);align-items:center;gap:.5rem;font-size:.72rem;display:flex}.legend-dot{background:var(--input);border:1px solid var(--border);border-radius:3px;width:10px;height:10px}.legend-dot.answered{border-color:var(--green);background:#22d3a033}.legend-dot.marked{border-color:var(--orange);background:#f0a03033}.lobby-container{background:var(--bg);min-height:100vh;color:var(--text);background-image:radial-gradient(70% 50% at 60% 10%,#4f8ef71a,#0000),radial-gradient(50% 40% at 10% 80%,#f5c84212,#0000);flex-direction:column;justify-content:center;align-items:center;padding:3rem 1.5rem;font-family:Inter,sans-serif;display:flex}.lobby-brand{align-items:center;gap:.5rem;margin-bottom:2rem;display:flex}.lobby-logo-icon{font-size:2rem}.lobby-logo-text{letter-spacing:.12em;background:linear-gradient(to right, var(--gold), #fff8c0);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:1.1rem;font-weight:800}.lobby-title{text-align:center;margin-bottom:.5rem;font-size:2.2rem;font-weight:700}.lobby-subtitle{color:var(--muted);text-align:center;margin-bottom:2.5rem}.exam-options{flex-direction:column;gap:.85rem;width:100%;max-width:520px;margin-bottom:2rem;display:flex}.exam-option-card{background:var(--card);border:1px solid var(--border);border-radius:var(--r);cursor:pointer;text-align:left;transition:border-color var(--t), background var(--t), transform var(--t);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);align-items:center;gap:1rem;width:100%;padding:1.1rem 1.25rem;font-family:inherit;display:flex}.exam-option-card:hover{border-color:var(--card-accent,var(--blue));transform:translate(4px)}.exam-option-card.selected{border-color:var(--card-accent,var(--blue));background:#4f8ef714}.option-icon{min-width:2rem;font-size:1.5rem}.option-info{flex-direction:column;flex:1;gap:.2rem;display:flex}.option-label{color:var(--text);font-size:.95rem;font-weight:600}.option-desc{color:var(--muted);font-size:.8rem}.option-check{color:var(--green);font-size:1.1rem}.lobby-rules{background:var(--card);border:1px solid var(--border);border-radius:var(--r);width:100%;max-width:520px;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);margin-bottom:2rem;padding:1.25rem 1.5rem}.lobby-rules h3{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:.75rem;font-size:.8rem}.lobby-rules ul{flex-direction:column;gap:.45rem;padding-left:1.25rem;display:flex}.lobby-rules li{color:var(--muted);font-size:.88rem;line-height:1.5}.btn-start{background:linear-gradient(135deg, #2a6ae0, var(--blue));color:#fff;cursor:pointer;transition:var(--t);border:none;border-radius:12px;padding:.9rem 3rem;font-family:inherit;font-size:1rem;font-weight:700;box-shadow:0 6px 24px #4f8ef759}.btn-start:hover{transform:translateY(-3px);box-shadow:0 12px 36px #4f8ef780}.break-overlay,.screen-overlay,.break-active-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:500;background:#050a19d9;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.break-panel,.timesup-panel,.break-active-panel{border:1px solid var(--border-h);text-align:center;background:#121c37f5;border-radius:20px;width:100%;max-width:480px;padding:2.5rem;box-shadow:0 20px 60px #0009}.break-icon,.timesup-icon,.break-active-icon{margin-bottom:1rem;font-size:3rem;display:block}.break-panel h2,.timesup-panel h2,.break-active-panel h2{margin-bottom:.75rem;font-size:1.5rem}.break-panel p,.timesup-panel p,.break-active-panel p{color:var(--muted);margin-bottom:1.25rem;line-height:1.6}.break-stats,.timesup-stats{background:var(--input);border-radius:12px;justify-content:center;gap:2rem;margin:1.25rem 0;padding:1rem;display:flex}.break-stat,.ts-stat{flex-direction:column;align-items:center;gap:.25rem;display:flex}.break-stat-label,.ts-stat span{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:.72rem}.break-stat-value,.ts-stat strong{font-family:JetBrains Mono,monospace;font-size:1.2rem;font-weight:700}.break-actions{flex-direction:column;gap:.75rem;display:flex}.btn-break-take{background:linear-gradient(135deg, #2a6ae0, var(--blue));color:#fff;cursor:pointer;transition:var(--t);border:none;border-radius:10px;padding:.75rem;font-family:inherit;font-size:.95rem;font-weight:600}.btn-break-take:hover{transform:translateY(-2px)}.btn-break-skip{border:1px solid var(--border-h);color:var(--muted);cursor:pointer;transition:var(--t);background:0 0;border-radius:10px;padding:.65rem;font-family:inherit;font-size:.88rem}.btn-break-skip:hover{color:var(--text);border-color:var(--text)}.break-clock{color:var(--blue);margin:.5rem 0 .25rem;font-family:JetBrains Mono,monospace;font-size:2.5rem;font-weight:500}.break-clock-label{color:var(--muted);font-size:.75rem;margin-bottom:1.5rem!important}.results-container{background:var(--bg);min-height:100vh;color:var(--text);flex-direction:column;align-items:center;padding:3rem 1.5rem;font-family:Inter,sans-serif;display:flex}.results-header{text-align:center;margin-bottom:2rem}.brand-mark{letter-spacing:.12em;background:linear-gradient(to right, var(--gold), #fff8c0);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:.75rem;font-size:.9rem;font-weight:800;display:block}.results-header h1{font-size:2.2rem}.results-session{color:var(--muted);margin-top:.35rem;font-size:.78rem}.results-session code{background:var(--input);border:1px solid var(--border-h);border-radius:4px;padding:.1rem .4rem;font-family:JetBrains Mono,monospace}.score-ring-wrapper{background:conic-gradient(var(--green) 0%, var(--input) 0%);border-radius:50%;margin-bottom:2rem;padding:.3rem}.score-ring-wrapper.pass{background:conic-gradient(var(--green) 100%, transparent 0%)}.score-ring-wrapper.fail{background:conic-gradient(var(--red) 100%, transparent 0%)}.score-ring{background:var(--bg);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:140px;height:140px;display:flex}.score-pct{font-size:2.2rem;font-weight:800}.score-label{color:var(--muted);font-size:.8rem}.results-stats,.rs-stat{justify-content:center;gap:2rem;margin-bottom:2.5rem;display:flex}.rs-stat{flex-direction:column;align-items:center;gap:.25rem}.rs-stat span{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:.72rem}.rs-stat strong{font-size:1.6rem;font-weight:700}.review-list{width:100%;max-width:760px;margin-bottom:2rem}.review-list h3{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:1rem;font-size:.8rem}.review-item{background:var(--card);border:1px solid var(--border);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);transition:border-color var(--t), box-shadow var(--t);border-left:3px solid #0000;border-radius:12px;margin-bottom:.65rem;overflow:hidden}.review-item.correct{border-left-color:var(--green)}.review-item.incorrect{border-left-color:var(--red)}.review-item.expanded{box-shadow:0 4px 28px #00000059}.review-item.correct.expanded{box-shadow:0 4px 24px #22d3a01f}.review-item.incorrect.expanded{box-shadow:0 4px 24px #f05c6e1f}.review-item-header{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--t);border-radius:12px;align-items:center;gap:.75rem;padding:.9rem 1.25rem;display:flex}.review-item-header:hover{background:#ffffff08}.review-num{color:var(--muted);min-width:2rem;font-family:JetBrains Mono,monospace;font-size:.75rem}.review-badge{border-radius:999px;flex-shrink:0;padding:.18rem .6rem;font-size:.72rem;font-weight:700}.review-badge.correct{color:var(--green);background:#22d3a024;border:1px solid #22d3a04d}.review-badge.incorrect{color:var(--red);background:#f05c6e24;border:1px solid #f05c6e4d}.review-time{color:var(--subtle);flex-shrink:0;margin-left:auto;font-family:JetBrains Mono,monospace;font-size:.72rem}.review-expand{color:var(--subtle);flex-shrink:0;font-size:.65rem;transition:transform .28s cubic-bezier(.4,0,.2,1);display:inline-block}.review-item.expanded .review-expand{transform:rotate(90deg)}.review-qtext{color:var(--muted);padding:0 1.25rem .9rem;font-size:.88rem;line-height:1.6}.review-details{opacity:0;max-height:0;transition:max-height .42s cubic-bezier(.4,0,.2,1),opacity .32s;overflow:hidden}.review-item.expanded .review-details{opacity:1;max-height:1200px}.review-answers{flex-direction:column;gap:.45rem;padding:0 1.25rem 1.1rem;display:flex}.review-ans-row{border:1px solid var(--border);color:var(--muted);transition:background var(--t);background:#ffffff05;border-radius:9px;align-items:flex-start;gap:.75rem;padding:.7rem .9rem;font-size:.88rem;line-height:1.5;display:flex}.review-ans-row.is-correct-ans{color:var(--text);background:#22d3a01a;border-color:#22d3a059}.review-ans-row.user-wrong-ans{color:var(--text);background:#f05c6e14;border-color:#f05c6e4d}.ans-indicator{text-align:center;flex-shrink:0;width:1.3rem;padding-top:.05rem;font-size:.9rem;font-weight:700}.review-ans-row.is-correct-ans .ans-indicator{color:var(--green)}.review-ans-row.user-wrong-ans .ans-indicator{color:var(--red)}.review-ans-row:not(.is-correct-ans):not(.user-wrong-ans) .ans-indicator{color:var(--subtle)}.review-rationale{border:1px solid var(--border-h);border-left:3px solid var(--gold);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0a12268c;border-radius:10px;margin:0 1.25rem 1.25rem;padding:1.1rem 1.25rem}.review-rationale h4{text-transform:uppercase;letter-spacing:.08em;color:var(--gold);margin-bottom:.6rem;font-size:.72rem;font-weight:700}.review-rationale p{color:var(--muted);margin-bottom:.85rem;font-size:.87rem;line-height:1.7}.review-citation{color:var(--blue);background:#4f8ef714;border:1px solid #4f8ef740;border-radius:8px;flex-wrap:wrap;align-items:center;gap:.35rem;padding:.4rem .8rem;font-family:JetBrains Mono,monospace;font-size:.75rem;line-height:1.5;display:inline-flex}.review-citation strong{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-family:Inter,sans-serif;font-size:.72rem}.results-footer{flex-wrap:wrap;justify-content:center;align-items:center;gap:.85rem;padding:1.5rem 0 3rem;display:flex}.btn-primary{background:linear-gradient(135deg, #2a6ae0, var(--blue));color:#fff;cursor:pointer;transition:var(--t);border:none;border-radius:10px;padding:.75rem 2rem;font-family:inherit;font-size:.95rem;font-weight:600;box-shadow:0 4px 18px #4f8ef74d}.exam-loading,.exam-error{min-height:100vh;color:var(--muted);background:var(--bg);flex-direction:column;justify-content:center;align-items:center;gap:1rem;font-family:Inter,sans-serif;display:flex}.error-icon{font-size:3rem}.exam-error h2{color:var(--text);font-size:1.4rem}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@media (width<=900px){.exam-body{flex-direction:column;padding:1rem}.exam-sidebar{width:100%}.q-navigator{position:static}.nav-grid{grid-template-columns:repeat(8,1fr)}}@media (width<=600px){.exam-topbar{gap:.5rem;padding:0 1rem}.topbar-brand,.topbar-exam-type{display:none}.global-timer{font-size:1.1rem}.question-panel{padding:1.25rem}.exam-nav-buttons{flex-wrap:wrap}.btn-nav{flex:1;justify-content:center}}:root{--bg:#080f1e;--card:#14213dd1;--input:#0a1226b3;--text:#f0f4ff;--muted:#7a8faf;--subtle:#3a4c6a;--blue:#4f8ef7;--green:#22d3a0;--red:#f05c6e;--orange:#f0a030;--purple:#a855f7;--gold:#f5c842;--border:#ffffff12;--border-h:#ffffff21;--blur:blur(16px);--shadow:0 8px 40px #00000080;--r:16px;--t:.22s cubic-bezier(.4,0,.2,1)}.analytics-container{background:var(--bg);min-height:100vh;color:var(--text);background-image:radial-gradient(70% 40% at 75% 5%,#4f8ef71a,#0000),radial-gradient(50% 40% at 5% 85%,#a855f712,#0000),radial-gradient(40% 30% at 90% 70%,#22d3a00d,#0000);max-width:1400px;margin:0 auto;padding:2.5rem 2rem 4rem;font-family:Inter,sans-serif}.analytics-header{align-items:flex-start;gap:1.25rem;margin-bottom:2rem;display:flex}.analytics-brand{letter-spacing:.12em;background:linear-gradient(to right, var(--gold), #fff8c0);-webkit-text-fill-color:transparent;background-color:#f5c8420d;-webkit-background-clip:text;background-clip:text;border:1px solid #f5c84233;border-radius:10px;flex-shrink:0;padding:.5rem .85rem;font-size:.85rem;font-weight:800}.analytics-title{background:linear-gradient(to right, var(--text) 60%, var(--blue));-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin:0 0 .3rem;font-size:1.9rem;font-weight:700;line-height:1.2}.analytics-session{color:var(--muted);font-size:.78rem}.analytics-session code{background:var(--input);border:1px solid var(--border-h);border-radius:4px;padding:.1rem .4rem;font-family:JetBrains Mono,monospace}.stats-grid{grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.75rem;display:grid}.stat-card{background:var(--card);border:1px solid var(--border);border-radius:var(--r);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:var(--shadow);transition:border-color var(--t), box-shadow var(--t);align-items:center;gap:1rem;padding:1.1rem 1.25rem;display:flex}.stat-card:hover{border-color:var(--card-glow,var(--border-h));box-shadow:0 0 0 1px var(--card-glow,transparent), var(--shadow)}.stat-card-icon{flex-shrink:0;font-size:1.6rem}.stat-card-body{flex-direction:column;gap:.15rem;min-width:0;display:flex}.stat-card-value{font-size:1.6rem;font-weight:800;line-height:1}.stat-card-label{text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-size:.72rem}.stat-card-sub{color:var(--subtle);font-size:.72rem}.charts-grid{grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem;display:grid}.chart-panel{background:var(--card);border:1px solid var(--border);border-radius:var(--r);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:var(--shadow);flex-direction:column;gap:1rem;padding:1.75rem;display:flex}.chart-panel-header{flex-direction:column;gap:.25rem;display:flex}.chart-title{margin:0;font-size:1rem;font-weight:700}.chart-subtitle{color:var(--muted);font-size:.78rem}.chart-body{width:100%}.recharts-polar-grid-angle line,.recharts-polar-grid-concentric path,.recharts-cartesian-grid line{stroke:#ffffff0f!important}.recharts-legend-wrapper{padding-top:.75rem!important}.system-accuracy-list{border-top:1px solid var(--border);flex-direction:column;gap:.6rem;padding-top:1rem;display:flex}.system-row{align-items:center;gap:.75rem;display:flex}.system-name{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;min-width:130px;font-size:.78rem;overflow:hidden}.system-bar-track{background:#ffffff0f;border-radius:999px;flex:1;height:6px;overflow:hidden}.system-bar-fill{border-radius:999px;height:100%;transition:width .6s cubic-bezier(.4,0,.2,1)}.system-pct{text-align:right;min-width:38px;font-family:JetBrains Mono,monospace;font-size:.78rem;font-weight:700}.spike-list{border-top:1px solid var(--border);padding-top:1rem}.spike-list-title{color:var(--red);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.6rem;font-size:.75rem}.spike-chips{flex-wrap:wrap;gap:.4rem;display:flex}.spike-chip{color:var(--red);background:#f05c6e1a;border:1px solid #f05c6e4d;border-radius:6px;padding:.2rem .6rem;font-family:JetBrains Mono,monospace;font-size:.72rem;font-weight:600}.chart-tooltip{border:1px solid var(--border-h);background:#0c142df5;border-radius:10px;min-width:160px;padding:.75rem 1rem;font-family:Inter,sans-serif;font-size:.82rem;box-shadow:0 8px 30px #0009}.chart-tooltip.tooltip-spike{border-color:#f05c6e66}.tooltip-label{color:var(--text);margin-bottom:.3rem;font-weight:700}.tooltip-val{color:var(--muted)}.tooltip-val strong{font-weight:700}.tooltip-sub{color:var(--subtle);margin-top:.2rem;font-size:.72rem}.spike-tag{color:var(--red);margin-left:.3rem;font-size:.72rem}.insight-banner{border:1px solid #f0a03040;border-left:4px solid var(--orange);border-radius:var(--r);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);background:#f0a03012;align-items:flex-start;gap:1rem;padding:1.25rem 1.5rem;display:flex}.insight-icon{flex-shrink:0;padding-top:.1rem;font-size:1.5rem}.insight-title{color:var(--orange);margin-bottom:.35rem;font-size:.95rem;font-weight:700}.insight-body{color:var(--muted);font-size:.85rem;line-height:1.6}.analytics-empty{min-height:60vh;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:.75rem;font-family:Inter,sans-serif;display:flex}.analytics-empty .empty-icon{font-size:3rem;display:block}.analytics-empty h2{color:var(--text);font-size:1.4rem}@media (width<=1100px){.charts-grid{grid-template-columns:1fr}}@media (width<=700px){.stats-grid{grid-template-columns:1fr 1fr}.analytics-container{padding:1.25rem 1rem 3rem}}@media (width<=440px){.stats-grid{grid-template-columns:1fr}}.loader-ring{border:3px solid #ffffff1a;border-top-color:var(--blue);border-radius:50%;width:44px;height:44px;animation:.8s linear infinite spin}.ai-narrative-section{width:100%;margin-top:2rem}.ai-narrative-cta{border-radius:var(--r);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);background:#a855f712;border:1px solid #a855f738;flex-wrap:wrap;align-items:center;gap:1.25rem;padding:1.5rem 1.75rem;display:flex;box-shadow:0 4px 30px #a855f714}.ai-narrative-cta-icon{flex-shrink:0;font-size:2rem}.ai-narrative-cta-title{background:linear-gradient(90deg,#f0f4ff,#a855f7);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin:0 0 .3rem;font-size:1rem;font-weight:700}.ai-narrative-cta-desc{color:var(--muted);flex:1;margin:0;font-size:.83rem;line-height:1.55}.btn-generate-narrative{color:#fff;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#a855f7d9,#a855f7);border:none;border-radius:10px;flex-shrink:0;padding:.75rem 1.5rem;font-family:inherit;font-size:.9rem;font-weight:700;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 18px #a855f74d}.btn-generate-narrative:hover{transform:translateY(-2px);box-shadow:0 8px 28px #a855f77a}.ai-narrative-loading{border-radius:var(--r);color:var(--muted);background:#a855f70d;border:1px solid #a855f726;align-items:center;gap:1rem;padding:1.5rem 1.75rem;font-size:.88rem;display:flex}.nar-spinner{border:2.5px solid #a855f740;border-top-color:#a855f7;border-radius:50%;flex-shrink:0;width:28px;height:28px;animation:.8s linear infinite spin}.ai-narrative-error{color:var(--red);background:#f05c6e12;border:1px solid #f05c6e4d;border-radius:10px;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;font-size:.85rem;display:flex}.ai-narrative-error button{color:var(--red);cursor:pointer;background:#f05c6e1f;border:1px solid #f05c6e4d;border-radius:7px;padding:.35rem .85rem;font-family:inherit;font-size:.8rem;transition:background .18s}.ai-narrative-error button:hover{background:#f05c6e38}.ai-narrative-report{border-radius:var(--r);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);background:#a855f70f;border:1px solid #a855f738;animation:.4s cubic-bezier(.4,0,.2,1) fadeSlideUp;overflow:hidden;box-shadow:0 8px 40px #a855f71a}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.nar-report-header{border-bottom:1px solid #a855f726;padding:1.5rem 1.75rem 1.1rem}.nar-report-badge{letter-spacing:.06em;text-transform:uppercase;color:#a855f7;background:#a855f72e;border:1px solid #a855f759;border-radius:999px;margin-bottom:.75rem;padding:.22rem .7rem;font-size:.7rem;font-weight:700;display:inline-block}.nar-report-title{background:linear-gradient(to right, var(--text) 60%, #a855f7);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin:0 0 .3rem;font-size:1.1rem;font-weight:700}.nar-report-session{color:var(--muted);font-size:.75rem}.nar-report-session code{background:#ffffff0d;border:1px solid #ffffff14;border-radius:4px;padding:.1rem .35rem;font-family:JetBrains Mono,monospace}.nar-summary{border-bottom:1px solid #a855f71a;padding:1.25rem 1.75rem}.nar-summary p{color:var(--muted);white-space:pre-wrap;font-size:.92rem;line-height:1.75}.nar-recommendations{border-bottom:1px solid #a855f71a;padding:1.25rem 1.75rem}.nar-rec-title{text-transform:uppercase;letter-spacing:.07em;color:var(--gold);margin:0 0 .85rem;font-size:.78rem;font-weight:700}.nar-rec-list{flex-direction:column;gap:.7rem;margin:0;padding:0;list-style:none;display:flex}.nar-rec-item{color:var(--muted);align-items:flex-start;gap:.75rem;font-size:.88rem;line-height:1.55;display:flex}.nar-rec-bullet{color:#a855f7;flex-shrink:0;min-width:1rem;padding-top:.05rem;font-size:.95rem;font-weight:700}.nar-report-footer{color:var(--subtle);background:#0000002e;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.9rem 1.75rem;font-size:.7rem;display:flex}.nar-regenerate{color:#a855f7;cursor:pointer;background:0 0;border:1px solid #a855f74d;border-radius:7px;padding:.3rem .85rem;font-family:inherit;font-size:.75rem;transition:background .18s}.nar-regenerate:hover{background:#a855f71a}.btn-primary{background:linear-gradient(135deg, #2a6ae0, var(--blue));color:#fff;cursor:pointer;border:none;border-radius:10px;padding:.72rem 1.75rem;font-family:inherit;font-size:.9rem;font-weight:600;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 18px #4f8ef74d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 28px #4f8ef773}.trials-history-section{background:var(--card);border:1px solid var(--border);border-radius:var(--r);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:var(--shadow);margin-top:2rem;padding:1.75rem}.trials-history-section h2{background:linear-gradient(to right, var(--text) 60%, var(--gold));-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin:0 0 1.25rem;font-size:1.25rem;font-weight:700}.trials-table{border-collapse:collapse;width:100%;font-size:.88rem}.trials-table th{text-align:left;color:var(--muted);border-bottom:1px solid var(--border);background:#ffffff08;padding:.75rem 1rem;font-weight:600}.trials-table td{border-bottom:1px solid var(--border-h);color:var(--text);padding:.75rem 1rem}.trials-table tr:last-child td{border-bottom:none}.trials-table tr:hover td{background:#ffffff04}.trials-table td .score-badge{border-radius:6px;padding:.2rem .5rem;font-size:.75rem;font-weight:600}.score-high{color:var(--green);background:#22d3a026}.score-med{color:var(--orange);background:#f0a03026}.score-low{color:var(--red);background:#f05c6e26}
