:root{--bg-page:#f0f4f8;--bg-card:#fff;--bg-card-hover:#f8faff;--bg-input:#fff;--border-subtle:#e5e7eb;--border-card:#d1d5db;--text-primary:#1a1a2e;--text-secondary:#374151;--text-muted:#6b7280;--text-on-brand:#fff;--brand:#0072c6;--brand-dark:#003f8a;--brand-light:#e8f4fd;--brand-border:#dbeafe;--correct:#16a34a;--correct-bg:#f0fdf4;--correct-border:#16a34a;--wrong:#dc2626;--wrong-dark:#b91c1c;--wrong-bg:#fef2f2;--wrong-border:#dc2626;--warn:#f0ad4e;--warn-bg:#fcf8e3;--warn-border:#c87d00;--warn-text:#8a6d3b;--srs-1:#991b1b;--srs-1-border:#7f1d1d;--srs-2:#c2410c;--srs-2-border:#9a3412;--srs-3:#1d4ed8;--srs-3-border:#1e3a8a;--srs-4:#15803d;--srs-4-border:#14532d;--sidebar-bg:#fff;--sidebar-border:#e5e7eb;--sidebar-header-bg:#f8faff;--toggle-off:#d1d5db;--toggle-on:#0072c6;--toggle-thumb:#fff;--card-front-from:#0072c6;--card-front-to:#003f8a;--card-back-from:#fff;--card-back-to:#e8f4fd;--card-back-text:#1a1a2e;--explain-bg:#f8faff;--explain-border:#dbeafe;--explain-label:#0072c6;--diff-easy-bg:#dcfce7;--diff-easy-text:#166534;--diff-easy-border:#86efac;--diff-med-bg:#fef9c3;--diff-med-text:#854d0e;--diff-med-border:#fde047;--diff-hard-bg:#ffedd5;--diff-hard-text:#9a3412;--diff-hard-border:#fdba74;--diff-ext-bg:#fee2e2;--diff-ext-text:#991b1b;--diff-ext-border:#fca5a5;--srs-dot-new:#e53e3e;--srs-dot-learning:#d69e2e;--srs-dot-mature:#38a169;--flag-color:#d97706;--flag-bg:#fffbeb;--flag-border:#f59e0b;--mastered-color:#6d28d9;--mastered-bg:#f5f3ff;--mastered-border:#7c3aed}[data-theme=dark]{--bg-page:#0f1117;--bg-card:#1e2130;--bg-card-hover:#252a3a;--bg-input:#1e2130;--border-subtle:#2d3348;--border-card:#3a4060;--text-primary:#e8eaf0;--text-secondary:#b0b8cc;--text-muted:#6b7591;--text-on-brand:#fff;--brand:#3b9edd;--brand-dark:#1a6db5;--brand-light:#0d1f35;--brand-border:#1a3a5c;--correct:#22c55e;--correct-bg:#052e16;--correct-border:#22c55e;--wrong:#f87171;--wrong-dark:#ef4444;--wrong-bg:#2d0a0a;--wrong-border:#f87171;--warn:#fbbf24;--warn-bg:#2d1f05;--warn-border:#d97706;--warn-text:#fbbf24;--srs-1:#b91c1c;--srs-1-border:#991b1b;--srs-2:#ea580c;--srs-2-border:#c2410c;--srs-3:#2563eb;--srs-3-border:#1d4ed8;--srs-4:#16a34a;--srs-4-border:#15803d;--sidebar-bg:#161a27;--sidebar-border:#2d3348;--sidebar-header-bg:#1e2130;--toggle-off:#3a4060;--toggle-on:#3b9edd;--toggle-thumb:#e8eaf0;--card-front-from:#1a3a6e;--card-front-to:#0d1f3c;--card-back-from:#1e2130;--card-back-to:#0d1f35;--card-back-text:#e8eaf0;--explain-bg:#0d1f35;--explain-border:#1a3a5c;--explain-label:#3b9edd;--diff-easy-bg:#052e16;--diff-easy-text:#4ade80;--diff-easy-border:#166534;--diff-med-bg:#2d2500;--diff-med-text:#fde047;--diff-med-border:#854d0e;--diff-hard-bg:#2d1500;--diff-hard-text:#fb923c;--diff-hard-border:#9a3412;--diff-ext-bg:#2d0a0a;--diff-ext-text:#f87171;--diff-ext-border:#991b1b;--srs-dot-new:#f87171;--srs-dot-learning:#fbbf24;--srs-dot-mature:#22c55e;--flag-color:#fbbf24;--flag-bg:#2d2500;--flag-border:#d97706;--mastered-color:#a78bfa;--mastered-bg:#1e0a3c;--mastered-border:#7c3aed}[data-theme=dark] .rd-stat-mastered{background:#2d2500;border-color:#78600a}[data-theme=dark] .rd-stat-mature{background:#002d1a;border-color:#166534}[data-theme=dark] .rd-stat-learning{background:#2d2900;border-color:#7a6c00}[data-theme=dark] .rd-stat-due{background:#2d0a0a;border-color:#991b1b}[data-theme=protanopia]{--correct:#0e7490;--correct-bg:#ecfeff;--correct-border:#0e7490;--wrong:#b45309;--wrong-dark:#92400e;--wrong-bg:#fffbeb;--wrong-border:#b45309;--warn:#7c3aed;--warn-bg:#f5f3ff;--warn-border:#6d28d9;--warn-text:#4c1d95;--srs-1:#b45309;--srs-1-border:#92400e;--srs-2:#d97706;--srs-2-border:#b45309;--srs-3:#1d4ed8;--srs-3-border:#1e3a8a;--srs-4:#0e7490;--srs-4-border:#0c5f72;--diff-easy-bg:#ecfeff;--diff-easy-text:#164e63;--diff-easy-border:#0e7490;--diff-hard-bg:#fefce8;--diff-hard-text:#713f12;--diff-hard-border:#ca8a04;--diff-ext-bg:#fef3c7;--diff-ext-text:#78350f;--diff-ext-border:#b45309;--srs-dot-new:#b45309;--srs-dot-learning:#d97706;--srs-dot-mature:#0e7490}[data-theme=deuteranopia]{--correct:#2563eb;--correct-bg:#eff6ff;--correct-border:#2563eb;--wrong:#c2410c;--wrong-dark:#9a3412;--wrong-bg:#fff7ed;--wrong-border:#c2410c;--warn:#7c3aed;--warn-bg:#f5f3ff;--warn-border:#6d28d9;--warn-text:#4c1d95;--srs-1:#c2410c;--srs-1-border:#9a3412;--srs-2:#ea580c;--srs-2-border:#c2410c;--srs-3:#1d4ed8;--srs-3-border:#1e3a8a;--srs-4:#2563eb;--srs-4-border:#1d4ed8;--diff-easy-bg:#eff6ff;--diff-easy-text:#1e3a8a;--diff-easy-border:#2563eb;--srs-dot-new:#c2410c;--srs-dot-learning:#d97706;--srs-dot-mature:#2563eb}[data-theme=tritanopia]{--correct:#0d9488;--correct-bg:#f0fdfa;--correct-border:#0d9488;--warn:#ea580c;--warn-bg:#fff7ed;--warn-border:#c2410c;--warn-text:#7c2d12;--srs-dot-mature:#0d9488;--srs-dot-learning:#ea580c;--srs-3:#0d9488;--srs-3-border:#0f766e;--diff-easy-bg:#f0fdfa;--diff-easy-text:#0f766e;--diff-easy-border:#5eead4;--diff-med-bg:#fff7ed;--diff-med-text:#c2410c;--diff-med-border:#fdba74;--flag-color:#ea580c;--flag-bg:#fff7ed;--flag-border:#c2410c}*,:before,:after{box-sizing:border-box}button,a,[role=button],[role=tab],[role=option]{cursor:pointer;touch-action:manipulation}input,textarea,select{touch-action:manipulation}html,body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-page);min-height:100%;margin:0;padding:0;font-family:system-ui,Segoe UI,Roboto,sans-serif}body[data-theme=dark]{background:linear-gradient(135deg,#27394f 0%,#091527 50%,#050d1a 100%) fixed}#root{flex-direction:column;width:100%;min-height:100vh;display:flex}.flashcard-scene{perspective:1200px;cursor:pointer;width:100%;max-width:713px;min-height:320px;margin:0 auto}.card-body-wrapper:hover .flashcard-scene,.flashcard-scene:hover{filter:drop-shadow(0 12px 24px #003f8a38)}.flashcard{width:100%;height:100%;min-height:320px;transform-style:preserve-3d;border-radius:16px;transition:transform .55s cubic-bezier(.4,0,.2,1);position:relative}.flashcard.flipped{transform:rotateY(180deg)}.flashcard-face{backface-visibility:hidden;min-height:inherit;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:1rem;height:100%;padding:2rem;display:flex;position:absolute;inset:0;box-shadow:0 8px 32px #0072c62e}.flashcard-sizer{visibility:hidden;pointer-events:none;grid-template-columns:1fr;width:100%;min-height:320px;display:grid}.flashcard-sizer-front,.flashcard-sizer-back{flex-direction:column;grid-area:1/1;align-items:center;gap:1rem;padding:2rem;display:flex;position:relative}.flashcard-front{background:linear-gradient(135deg, var(--card-front-from) 0%, var(--card-front-to) 100%);color:var(--text-on-brand);transform:translateZ(.01px)}.flashcard-back{background:linear-gradient(135deg, var(--card-back-from) 0%, var(--card-back-to) 100%);color:var(--card-back-text);transform:rotateY(180deg)}.category-badge{text-transform:uppercase;letter-spacing:.08em;color:#fff;background:#fff3;border-radius:999px;align-self:flex-start;padding:.25rem .75rem;font-size:.75rem;font-weight:700}.flashcard-back .category-badge{background:var(--brand)}.card-text{text-align:center;flex:1;align-items:center;margin:0;font-size:1.1rem;line-height:1.6;display:flex}.question{font-size:1.25rem;font-weight:600}.flip-hint{opacity:.7;font-size:.8rem;font-style:italic}.flashcard-edit-bar{justify-content:flex-end;align-items:center;gap:10px;max-width:713px;margin:0 auto;padding:8px 4px 0;display:flex}.flashcard-edit-btn{border:1.5px solid var(--brand);color:var(--brand);cursor:pointer;letter-spacing:.02em;background:0 0;border-radius:8px;align-items:center;gap:6px;padding:7px 16px;font-size:.8rem;font-weight:700;transition:background .15s,transform .12s;display:inline-flex}.flashcard-edit-btn:hover{background:#0078d41a;transform:translateY(-1px)}.flashcard-edit-btn:active{transform:translateY(0)}.card-tag-badge{color:#ffffffd9;letter-spacing:.04em;background:#ffffff2e;border-radius:999px;align-self:center;padding:.18rem .6rem;font-size:.72rem;font-weight:600}.flashcard-back .card-tag-badge{background:var(--brand-light);color:var(--brand)}.fie-panel{background:var(--bg-card);border:1.5px solid var(--border-card);border-radius:12px;flex-direction:column;gap:.85rem;max-width:713px;margin:.75rem auto 0;padding:1.25rem 1.5rem 1rem;display:flex}.fie-row{flex-direction:column;gap:.3rem;display:flex}.fie-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:.75rem;font-weight:700}.fie-select,.fie-input,.fie-textarea{border:1.5px solid var(--border-card);background:var(--bg-main);width:100%;color:var(--text-primary);resize:vertical;box-sizing:border-box;border-radius:8px;padding:.5rem .75rem;font-family:inherit;font-size:.9rem;transition:border-color .15s}.fie-select:focus,.fie-input:focus,.fie-textarea:focus{border-color:var(--brand);outline:none}.fie-actions{justify-content:flex-end;gap:.6rem;padding-top:.25rem;display:flex}.fie-btn{cursor:pointer;border:1.5px solid #0000;border-radius:8px;padding:.45rem 1.1rem;font-size:.85rem;font-weight:700;transition:background .15s,transform .1s}.fie-btn--cancel{border-color:var(--border-card);color:var(--text-muted);background:0 0}.fie-btn--cancel:hover{background:var(--bg-main)}.fie-btn--save{background:var(--brand);color:#fff}.fie-btn--save:hover:not(:disabled){background:var(--brand-dark)}.fie-btn--save:disabled{opacity:.45;cursor:not-allowed}.action-buttons{gap:1rem;margin-top:.5rem;display:flex}.srs-rating{flex-direction:column;gap:.6rem;width:100%;display:flex}.srs-rating-label{color:#ffffffbf;text-align:center;letter-spacing:.02em;margin:0;font-size:.78rem;font-weight:600}.srs-rating-btns{grid-template-columns:repeat(4,1fr);gap:.4rem;display:grid}.srs-btn{cursor:pointer;border:2px solid #0000;border-radius:10px;flex-direction:column;align-items:center;gap:.2rem;padding:.5rem .25rem;font-weight:700;transition:transform .15s,box-shadow .15s;display:flex}.srs-btn:hover{transform:translateY(-3px);box-shadow:0 6px 16px #0003}.srs-emoji{font-size:1.3rem;line-height:1}.srs-label{letter-spacing:.02em;font-size:.68rem}.srs-1{background:var(--srs-1);color:#fff;border-color:var(--srs-1-border)}.srs-2{background:var(--srs-2);color:#fff;border-color:var(--srs-2-border)}.srs-3{background:var(--srs-3);color:#fff;border-color:var(--srs-3-border)}.srs-4{background:var(--srs-4);color:#fff;border-color:var(--srs-4-border)}[data-theme=dark] .flashcard-face{box-shadow:0 0 0 1.5px #ffffff60,0 8px 32px #0006}[data-theme=dark] .card-body-wrapper:hover .flashcard-scene,[data-theme=dark] .flashcard-scene:hover{filter:drop-shadow(0 9px 18px #ffffff26)}.mcq-card{background:var(--bg-card);border-radius:16px;flex-direction:column;gap:1.25rem;width:100%;max-width:713px;margin:0 auto;padding:2rem;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 8px 32px #0072c626}.mcq-card:hover{box-shadow:0 16px 40px #003f8a33}.card-meta{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.mcq-category{text-transform:uppercase;letter-spacing:.08em;color:#fff;background:#0072c6;border-radius:999px;padding:.25rem .75rem;font-size:.75rem;font-weight:700}.difficulty-badge{text-transform:uppercase;letter-spacing:.06em;border-radius:999px;padding:.25rem .65rem;font-size:.7rem;font-weight:700}.difficulty-badge--easy{color:#15803d;background:#dcfce7}.difficulty-badge--medium{color:#854d0e;background:#fef9c3}.difficulty-badge--hard{color:#b91c1c;background:#fee2e2}.difficulty-badge--extreme{color:#fca5a5;background:#450a0a}.mcq-question{color:var(--text-primary);white-space:pre-line;margin:0;font-size:1.2rem;font-weight:600;line-height:1.5}.mcq-choices{flex-direction:column;gap:.6rem;display:flex}.choice-btn{border:2px solid var(--border-card);background:var(--bg-card);color:var(--text-primary);text-align:left;cursor:pointer;border-radius:10px;align-items:center;gap:.75rem;padding:.75rem 1rem;font-size:.95rem;transition:border-color .2s,background .2s,transform .15s;display:flex}.choice-btn:hover:not(.correct):not(.wrong):not(.dimmed){border-color:var(--brand);background:var(--brand-light);transform:translate(4px)}.choice-btn.correct{border-color:var(--correct);background:var(--correct-bg);color:var(--correct);font-weight:600}.choice-btn.wrong{border-color:var(--wrong);background:var(--wrong-bg);color:var(--wrong)}.choice-btn.dimmed{opacity:.45;cursor:default}.choice-letter{background:var(--bg-card-hover);width:1.75rem;height:1.75rem;color:var(--text-secondary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.8rem;font-weight:700;display:inline-flex}.correct .choice-letter{background:var(--correct);color:#fff}.wrong .choice-letter{background:var(--wrong);color:#fff}.mcq-feedback{border-radius:10px;flex-direction:column;gap:1rem;padding:1rem 1.25rem;display:flex}.feedback-correct{background:var(--correct-bg);border-left:4px solid var(--correct)}.feedback-wrong{background:var(--wrong-bg);border-left:4px solid var(--wrong)}.feedback-text{color:var(--text-secondary);margin:0;font-size:.9rem;line-height:1.6}.mcq-explanation{background:var(--explain-bg);border:1px solid var(--explain-border);border-radius:8px;flex-direction:column;gap:.4rem;padding:.75rem 1rem;display:flex}.mcq-explanation p{color:var(--text-secondary);margin:0;font-size:.875rem;line-height:1.6}.mcq-actions{gap:.75rem;display:flex}.btn:hover{opacity:.9;transform:translateY(-2px)}.mcq-actions .srs-btn{cursor:pointer;border:none;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:.35rem;padding:.5rem .6rem;font-size:.82rem;font-weight:700;transition:transform .15s,box-shadow .15s;display:flex}.mcq-actions .srs-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000002e}.mcq-actions .srs-1{background:var(--srs-1);color:#fff}.mcq-actions .srs-2{background:var(--srs-2);color:#fff}.mcq-actions .srs-3{background:var(--srs-3);color:#fff}.mcq-actions .srs-4{background:var(--srs-4);color:#fff}.case-study-badge{text-transform:uppercase;letter-spacing:.06em;color:#fff;background:#7c3aed;border-radius:999px;padding:.25rem .65rem;font-size:.7rem;font-weight:700}.case-study-scenario{border:1.5px solid var(--border-card);background:var(--bg-card-hover);border-radius:10px;overflow:hidden}.scenario-toggle{text-transform:uppercase;letter-spacing:.07em;color:#7c3aed;cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:.5rem;width:100%;padding:.6rem .9rem;font-size:.8rem;font-weight:700;display:flex}.scenario-toggle:hover{background:#7c3aed14}.scenario-toggle-icon{flex-shrink:0;font-size:.85rem}.scenario-body{border-top:1.5px solid var(--border-card);max-height:260px;padding:.75rem 1rem;overflow-y:auto}.scenario-text{color:var(--text-secondary);white-space:pre-wrap;word-break:break-word;margin:0;font-family:inherit;font-size:.875rem;line-height:1.65}[data-theme=dark] .scenario-toggle{color:#a78bfa}[data-theme=dark] .scenario-toggle:hover{background:#a78bfa1a}[data-theme=dark] .case-study-badge{background:#5b21b6}[data-theme=dark] .mcq-card{box-shadow:0 0 0 1.5px #ffffff60,0 8px 32px #0006}[data-theme=dark] .mcq-card:hover{box-shadow:0 0 0 1.5px #ffffff9f,0 12px 30px #00000080}.ms-header{flex-direction:column;gap:.35rem;display:flex}.ms-instruction{color:var(--text-on-brand);background:var(--brand);letter-spacing:.04em;border-radius:999px;align-self:flex-start;padding:.15rem .65rem;font-size:.75rem;font-weight:700;display:inline-block}.ms-btn{text-align:left;border:2px solid var(--border-card);justify-content:flex-start;gap:.75rem;transition:border-color .15s,background .15s,transform .1s}.ms-btn:hover{border-color:var(--brand);background:var(--brand-light);transform:none}.ms-btn.ms-selected{border-color:var(--brand);background:var(--brand-light);color:var(--brand-dark)}.choice-btn.ms-missed{background:var(--correct-bg);border-color:var(--correct);color:var(--correct);opacity:.85}.ms-checkbox{border:2px solid var(--text-muted);width:1.2rem;height:1.2rem;color:var(--text-on-brand);background:var(--bg-card);border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;font-size:.75rem;font-weight:900;transition:all .15s;display:inline-flex}.ms-checkbox.checked{background:var(--brand);border-color:var(--brand)}.ms-checkbox.correct-box{background:var(--correct);border-color:var(--correct)}.ms-submit-row{border-top:1px solid var(--border-subtle);justify-content:space-between;align-items:center;margin-top:.5rem;padding-top:.75rem;display:flex}.ms-count{color:var(--text-muted);font-size:.82rem;font-weight:600}.ms-submit-btn{padding:.5rem 1.25rem;font-size:.9rem}.ms-submit-btn:disabled{opacity:.4;cursor:not-allowed}.tf-card{gap:1.25rem}.tf-top{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.tf-choices{justify-content:center;gap:1rem;display:flex}.tf-btn{border:2.5px solid var(--border-card);background:var(--bg-card);cursor:pointer;border-radius:14px;flex:1;justify-content:center;align-items:center;gap:.5rem;max-width:180px;padding:1.1rem 1.5rem;font-size:1.1rem;font-weight:700;transition:transform .15s,box-shadow .15s,border-color .15s,background .15s;display:flex;box-shadow:0 2px 8px #0000000f}.tf-icon{font-size:1.2rem;font-weight:900}.tf-btn-true{color:var(--correct);border-color:var(--correct-bg)}.tf-btn-true:hover:not(.tf-correct):not(.tf-wrong):not(.tf-dimmed){background:var(--correct-bg);border-color:var(--correct);transform:translateY(-3px);box-shadow:0 6px 20px #16a34a2e}.tf-btn-false{color:var(--wrong);border-color:var(--wrong-bg)}.tf-btn-false:hover:not(.tf-correct):not(.tf-wrong):not(.tf-dimmed){background:var(--wrong-bg);border-color:var(--wrong);transform:translateY(-3px);box-shadow:0 6px 20px #dc26262e}.tf-correct{background:var(--correct-bg);border-color:var(--correct);color:var(--correct);transform:none}.tf-wrong{background:var(--wrong-bg);border-color:var(--wrong);color:var(--wrong);transform:none}.tf-dimmed{opacity:.35;cursor:default}.btn:hover{opacity:.85}.image-mcq-card{max-width:782px;transition:transform .2s,box-shadow .2s}.image-mcq-card:hover{box-shadow:0 16px 40px #003f8a33}.image-mcq-top{justify-content:space-between;align-items:center;display:flex}.image-mcq-diagram{border:1.5px solid var(--border-subtle);background:var(--bg-card-hover);border-radius:12px;justify-content:center;align-items:center;width:100%;padding:1rem;display:flex;overflow:hidden}.image-mcq-diagram svg{width:100%;height:auto;max-height:299px}[data-theme=dark] .image-mcq-card{box-shadow:0 0 0 1.5px #ffffff60,0 8px 32px #0006}[data-theme=dark] .image-mcq-card:hover{box-shadow:0 0 0 1.5px #ffffff9f,0 12px 30px #00000080}.task-simulator-shell{width:100%;max-width:660px;margin:0 auto;position:relative}.task-simulator-shell--wide{max-width:100%}.task-card{background:var(--bg-card);border-radius:16px;flex-direction:column;gap:1.25rem;width:100%;max-width:660px;margin:0 auto;padding:2rem;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 8px 32px #0072c626}.task-card--script{max-width:100%}.task-card--script .script-terminal-output{max-height:420px}.task-card--script .script-input{min-height:4.5rem}.task-card:hover{box-shadow:0 16px 40px #003f8a33}.task-header{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.task-category{text-transform:uppercase;letter-spacing:.08em;background:var(--brand);color:var(--text-on-brand);border-radius:999px;padding:.25rem .75rem;font-size:.75rem;font-weight:700}.task-type-badge{background:var(--brand-light);color:var(--brand);border:1px solid var(--brand-border);border-radius:999px;padding:.2rem .65rem;font-size:.72rem;font-weight:600}.task-type-badge-ps{color:#fff;border:1px solid var(--brand);letter-spacing:.03em;background:#012456;border-radius:999px;padding:.2rem .75rem;font-family:Courier New,monospace;font-size:.72rem;font-weight:700}.task-question{color:var(--text-primary);margin:0;font-size:1.15rem;font-weight:600;line-height:1.55}.task-instruction{color:var(--text-muted);margin:-.5rem 0 0;font-size:.85rem;font-style:italic}.task-blanks{flex-direction:column;gap:1rem;display:flex}.task-blank-row{flex-direction:column;gap:.35rem;display:flex}.task-blank-label{color:var(--text-secondary);font-family:Consolas,Fira Code,monospace;font-size:.85rem;font-weight:600}.task-blank-input-wrap{align-items:center;display:flex;position:relative}.task-input{border:2px solid var(--border-card);width:100%;color:var(--text-primary);background:var(--bg-card-hover);border-radius:8px;outline:none;padding:.65rem 2.5rem .65rem .9rem;font-family:Consolas,Fira Code,monospace;font-size:.95rem;transition:border-color .2s}.task-input:focus{border-color:var(--brand);background:var(--bg-card)}.task-input.input-correct{border-color:var(--correct);background:var(--correct-bg)}.task-input.input-wrong{border-color:var(--wrong);background:var(--wrong-bg)}.input-icon{font-size:1rem;font-weight:700;position:absolute;right:.75rem}.icon-correct{color:var(--correct)}.icon-wrong{color:var(--wrong)}.task-correct-answer{color:var(--wrong);margin:0;font-size:.82rem}.task-correct-answer code{background:var(--wrong-bg);border-radius:4px;padding:.1rem .4rem;font-family:Consolas,Fira Code,monospace}.task-submit-btn{background:var(--brand);color:var(--text-on-brand);cursor:pointer;border:none;border-radius:8px;align-self:flex-start;padding:.6rem 1.4rem;font-size:.95rem;font-weight:600;transition:background .2s}.task-submit-btn:hover:not(:disabled){background:var(--brand-dark);transform:translateY(-1px)}.task-submit-btn:disabled{opacity:.45;cursor:default}.task-feedback{border-radius:10px;flex-direction:column;gap:.85rem;padding:1rem 1.25rem;display:flex}.task-feedback.feedback-correct{background:var(--correct-bg);border:1px solid var(--correct-bg)}.task-feedback.feedback-wrong{background:var(--wrong-bg);border:1px solid var(--wrong-bg)}.task-feedback-text{margin:0;font-size:1rem;font-weight:600}.feedback-correct .task-feedback-text{color:var(--correct)}.feedback-wrong .task-feedback-text{color:var(--wrong)}.task-reveal-btn{border:1px solid var(--brand);color:var(--brand);cursor:pointer;background:0 0;border-radius:6px;align-self:flex-start;padding:.35rem .85rem;font-size:.88rem;transition:background .15s}.task-reveal-btn:hover{background:var(--brand-light)}.task-explanation{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px;flex-direction:column;gap:.4rem;padding:.75rem 1rem;display:flex}.task-explanation p{color:var(--text-secondary);margin:0;font-size:.9rem;line-height:1.55}.explanation-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-size:.78rem;font-weight:700}.task-actions{flex-wrap:wrap;gap:.75rem;display:flex}.order-sequence{border:2px dashed var(--border-card);background:var(--bg-card-hover);border-radius:10px;flex-direction:column;gap:.5rem;min-height:3rem;padding:.75rem;display:flex}.order-placeholder{color:var(--text-muted);align-self:center;margin:auto;font-size:.88rem;font-style:italic}.order-seq-item{background:var(--bg-card);border:1px solid var(--border-card);color:var(--text-primary);border-radius:8px;align-items:center;gap:.6rem;padding:.5rem .75rem;font-size:.9rem;display:flex}.order-seq-item.seq-correct{border-color:var(--correct);background:var(--correct-bg);color:var(--correct)}.order-seq-item.seq-wrong{border-color:var(--wrong);background:var(--wrong-bg);color:var(--wrong)}.order-seq-num{background:var(--brand);width:1.5rem;height:1.5rem;color:var(--text-on-brand);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.75rem;font-weight:700;display:inline-flex}.order-seq-remove{color:var(--text-muted);cursor:pointer;background:0 0;border:none;margin-left:auto;padding:0 .2rem;font-size:.8rem;transition:color .15s}.order-seq-remove:hover{color:var(--wrong)}.order-options{flex-direction:column;gap:.5rem;display:flex}.order-option{border:2px solid var(--border-card);background:var(--bg-card);text-align:left;cursor:pointer;color:var(--text-primary);border-radius:8px;padding:.6rem .9rem;font-size:.9rem;transition:border-color .15s,background .15s,opacity .15s}.order-option:hover:not(:disabled):not(.selected){border-color:var(--brand);background:var(--brand-light)}.order-option.selected{opacity:.38;cursor:default}.order-option:disabled{cursor:default}.order-correct-list{color:var(--text-secondary);flex-direction:column;gap:.3rem;margin:0;padding-left:1.2rem;font-size:.88rem;display:flex}.match-grid{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.match-col{flex-direction:column;gap:.5rem;display:flex}.match-item{border:2px solid var(--border-card);background:var(--bg-card);text-align:left;cursor:pointer;color:var(--text-primary);border-radius:8px;padding:.6rem .85rem;font-size:.88rem;line-height:1.4;transition:border-color .15s,background .15s}.match-item.active{border-color:var(--brand);background:var(--brand-light);box-shadow:0 0 0 3px #0072c626}.match-item.targetable{border-color:var(--brand-border);background:var(--brand-light)}.match-item.targetable:hover{border-color:var(--brand);background:var(--brand-light)}.match-item.used{opacity:.45}.match-item.paired{border-color:var(--text-muted);background:var(--bg-card-hover)}.match-item.match-correct{border-color:var(--correct);background:var(--correct-bg);color:var(--correct);font-weight:600}.match-item.match-wrong{border-color:var(--wrong);background:var(--wrong-bg);color:var(--wrong)}.match-paired-arrow{color:var(--text-muted);margin-top:.2rem;font-size:.78rem;font-style:italic;display:block}.match-correct-list{flex-direction:column;gap:.35rem;margin:0;padding:0;font-size:.88rem;list-style:none;display:flex}.match-ans-ok{color:var(--correct)}.match-ans-bad{color:var(--wrong)}.btn{cursor:pointer;border:none;border-radius:8px;padding:.6rem 1.2rem;font-size:.95rem;font-weight:600;transition:background .2s}.btn-review{background:var(--bg-card);color:var(--brand);border:2px solid var(--brand)}.btn-review:hover{background:var(--brand-light)}.btn-know{background:var(--brand);color:var(--text-on-brand)}.btn-know:hover{background:var(--brand-dark)}@media (width<=540px){.task-card{padding:1.25rem}.match-grid{grid-template-columns:1fr}.match-paired-arrow{display:none}}.script-terminal{background:#1e1e1e;border:2px solid #333;border-radius:10px;margin:1.2rem 0 .4rem;transition:border-color .25s;overflow:hidden}.script-terminal.terminal-correct{border-color:#22c55e}.script-terminal.terminal-wrong{border-color:#ef4444}.script-terminal-bar{background:#2d2d2d;align-items:center;gap:6px;padding:6px 12px;display:flex}.terminal-dot{border-radius:50%;width:12px;height:12px;display:inline-block}.terminal-dot.red{background:#ff5f56}.terminal-dot.yellow{background:#ffbd2e}.terminal-dot.green{background:#27c93f}.terminal-title{color:#888;margin-left:8px;font-family:monospace;font-size:.78rem}.script-terminal-body{align-items:flex-start;gap:8px;padding:8px 14px;display:flex}.script-prompt{color:#22c55e;white-space:nowrap;-webkit-user-select:none;user-select:none;padding-top:2px;font-family:Courier New,monospace;font-size:.95rem}.script-input{color:#fff;resize:none;caret-color:#22c55e;background:0 0;border:none;outline:none;flex:1;font-family:Courier New,monospace;font-size:.95rem;line-height:1.5}.script-input::placeholder{color:#9ca3af}.script-input:disabled{opacity:.75}.script-hint{color:#888;text-align:right;margin:0 0 .8rem;font-size:.75rem}.script-hint kbd{color:#ccc;background:#2d2d2d;border:1px solid #555;border-radius:4px;padding:1px 5px;font-size:.72rem}.script-hint code{color:#9ca3af;font-family:Courier New,monospace;font-size:.75rem}.script-help-tip{color:var(--brand-dark);background:var(--brand-light);border-left:3px solid var(--brand);border-radius:4px;margin:-.4rem 0 .7rem;padding:8px 12px;font-size:.92rem}.script-help-tip code{color:var(--brand);font-family:Courier New,monospace}.script-terminal-output{scroll-behavior:smooth;max-height:340px;padding:10px 0 4px;overflow-y:auto}.term-history-block{margin-bottom:4px}.term-history-line{align-items:flex-start;gap:8px;padding:0 14px;display:flex}.term-input-echo{color:#fff;white-space:pre-wrap;word-break:break-all;font-family:Courier New,monospace;font-size:.95rem}.term-output{white-space:pre-wrap;word-break:break-word;border-left:3px solid #0000;margin:4px 0 10px;padding:8px 14px 8px 20px;font-family:Courier New,monospace;font-size:.82rem;line-height:1.6}.term-output-help{color:#93c5fd;background:#3b82f612;border-left-color:#3b82f6}.term-output-error{color:#fca5a5;background:#ef444412;border-left-color:#ef4444}.token-check-list{flex-direction:column;gap:5px;margin:.6rem 0 .8rem;padding:0;list-style:none;display:flex}.token-check-list li{border-radius:8px;align-items:center;gap:8px;width:fit-content;max-width:100%;padding:5px 12px;font-family:Courier New,monospace;font-size:.84rem;display:flex}.token-ok{color:#86efac;background:#14532d}.token-missing{color:#fca5a5;background:#450a0a}.token-ok code,.token-missing code{color:inherit;background:0 0;font-family:Courier New,monospace;font-size:.82rem}.script-model-answer{background:#1e1e1e;border-radius:8px;margin:.6rem 0;overflow:hidden}.script-model-answer pre{margin:0;padding:10px 14px;overflow-x:auto}.script-model-answer code{color:#86efac;font-family:Courier New,monospace;font-size:.88rem}.fault-scenario{background:var(--bg-card-hover);border:1px solid var(--border-card);border-left:4px solid var(--brand);color:var(--text-secondary);white-space:pre-wrap;overflow-wrap:break-word;word-break:break-word;border-radius:8px;min-width:0;max-width:100%;padding:.9rem 1rem;font-family:Consolas,Fira Code,monospace;font-size:.88rem;line-height:1.65;overflow-x:auto}.fault-options{flex-direction:column;gap:.5rem;display:flex}.fault-option{border:2px solid var(--border-card);background:var(--bg-card);text-align:left;cursor:pointer;color:var(--text-primary);overflow-wrap:break-word;word-break:break-word;border-radius:8px;padding:.7rem 1rem;font-size:.92rem;line-height:1.45;transition:border-color .15s,background .15s,opacity .15s}.fault-option:hover:not(:disabled):not(.fault-selected){border-color:var(--brand);background:var(--brand-light)}.fault-option.fault-selected{border-color:var(--brand);background:var(--brand-light);font-weight:600}.fault-option.fault-correct{border-color:var(--correct);background:var(--correct-bg);color:var(--correct);font-weight:600}.fault-option.fault-wrong{border-color:var(--wrong);background:var(--wrong-bg);color:var(--wrong)}.fault-option.fault-dimmed{opacity:.38;cursor:default}.fault-fix{background:var(--bg-card);border:1px solid var(--correct-bg);border-left:3px solid var(--correct);border-radius:8px;flex-direction:column;gap:.4rem;padding:.75rem 1rem;display:flex}.fault-fix p{color:var(--text-secondary);overflow-wrap:break-word;word-break:break-word;margin:0;font-size:.9rem;line-height:1.55}[data-theme=dark] .task-card{box-shadow:0 0 0 1.5px #ffffff60,0 8px 32px #0006}[data-theme=dark] .task-card:hover{box-shadow:0 0 0 1.5px #ffffff9f,0 12px 30px #00000080}.hotspot-card{flex-direction:column;gap:1rem;width:100%;display:flex}.hotspot-top{align-items:center;display:flex}.hotspot-question{color:var(--text-primary);margin:0;font-size:1rem;font-weight:600;line-height:1.55}.hotspot-diagram-wrap{border:1px solid var(--border-card);background:var(--bg-card-hover);border-radius:.75rem;width:100%;max-width:680px;position:relative;overflow:hidden}.hotspot-diagram-base{width:100%;display:block}.hotspot-diagram-base svg{width:100%;height:auto;display:block}.hotspot-overlay{touch-action:manipulation;width:100%;height:100%;position:absolute;top:0;left:0}.hotspot-hint{color:var(--text-muted);text-align:center;margin:0;font-size:.82rem;font-style:italic}.login-page{background:linear-gradient(135deg, var(--brand) 0%, var(--brand-dark) 50%, #003f6e 100%);justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;font-family:Inter,sans-serif;display:flex}.login-card{background:var(--bg-card);border-radius:1.25rem;flex-direction:column;gap:1.5rem;width:100%;max-width:420px;padding:2.5rem 2rem;display:flex;box-shadow:0 20px 60px #0000004d}.login-logo{text-align:center}.login-cloud-logo{justify-content:center;align-items:center;display:flex;position:relative}.login-cloud-svg{filter:drop-shadow(0 2px 6px #0078d459);-webkit-user-select:none;user-select:none;width:20rem;height:auto;display:block}.login-cloud-text{position:absolute;top:79%;left:57%;transform:translate(-50%,-50%)}.login-cloud-brand{color:var(--brand);letter-spacing:-.02em;font-family:Plus Jakarta Sans,Inter,sans-serif;font-size:2.4rem;font-weight:800;line-height:1}.login-cloud-brand .title-ace{color:var(--brand-dark);margin-left:.2em;font-weight:800}.login-cloud-tagline{color:var(--brand);letter-spacing:.02em;margin-top:.4rem;margin-bottom:0;font-size:.95rem;font-weight:500}.login-tabs{background:var(--bg-card-hover);border-radius:.65rem;gap:.25rem;padding:.25rem;display:flex}.login-tab{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:.45rem;flex:1;padding:.55rem 0;font-size:.9rem;font-weight:600;transition:background .18s,color .18s,box-shadow .18s}.login-tab.active{background:var(--bg-card);color:var(--brand);box-shadow:0 1px 6px #0000001f}.login-tab:not(.active):hover{color:var(--brand)}.login-form{flex-direction:column;gap:1rem;display:flex}.form-group{flex-direction:column;gap:.35rem;display:flex}.form-group label{color:var(--text-secondary);letter-spacing:.01em;font-size:.82rem;font-weight:600}.form-group input{border:1.5px solid var(--border-card);color:var(--text-primary);background:var(--bg-card-hover);border-radius:.55rem;outline:none;padding:.65rem .85rem;font-family:inherit;font-size:.95rem;transition:border-color .18s,box-shadow .18s,background .18s}.form-group input:focus{border-color:var(--brand);background:var(--bg-card);box-shadow:0 0 0 3px #0078d426}.form-group input::placeholder{color:var(--text-muted)}.login-error{color:var(--wrong);background:var(--wrong-bg);border:1px solid var(--wrong-bg);border-radius:.5rem;margin:0;padding:.55rem .85rem;font-size:.85rem}.login-submit{background:linear-gradient(135deg, var(--brand), var(--brand-dark));color:var(--text-on-brand);cursor:pointer;letter-spacing:.01em;border:none;border-radius:.65rem;margin-top:.25rem;padding:.75rem;font-family:inherit;font-size:1rem;font-weight:700;transition:opacity .18s,transform .12s,box-shadow .18s;box-shadow:0 4px 14px #0078d466}.login-submit:hover:not(:disabled){opacity:.92;transform:translateY(-1px);box-shadow:0 6px 18px #0078d473}.login-submit:active:not(:disabled){transform:translateY(0)}.login-submit:disabled{opacity:.6;cursor:not-allowed}.login-note{text-align:center;color:var(--text-muted);margin:0;font-size:.78rem}.login-confirm-screen{text-align:center;flex-direction:column;align-items:center;gap:.85rem;padding:1rem 0 .5rem;display:flex}.login-confirm-icon{width:44px;height:44px;color:var(--brand);margin-bottom:.25rem}.login-confirm-screen h2{color:var(--text-primary,#111);margin:0;font-size:1.25rem;font-weight:700}.login-confirm-screen p{color:var(--text-secondary,#555);margin:0;font-size:.9rem;line-height:1.55}@media (width<=480px){.login-card{padding:2rem 1.25rem}.login-cloud-svg{width:14rem}.login-cloud-brand{font-size:1.65rem}}.cdialog-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:999;background:#00000073;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.cdialog{background:var(--bg-card);border-radius:16px;flex-direction:column;align-items:center;gap:.6rem;width:100%;max-width:380px;padding:2rem 1.75rem 1.5rem;animation:.18s cdialog-in;display:flex;box-shadow:0 20px 60px #00000038}@keyframes cdialog-in{0%{opacity:0;transform:scale(.93)translateY(-12px)}to{opacity:1;transform:scale(1)translateY(0)}}.cdialog-icon{margin-bottom:.25rem;font-size:2.2rem;line-height:1}.cdialog-title{color:var(--text-primary);text-align:center;margin:0;font-size:1.05rem;font-weight:700}.cdialog-message{color:var(--text-muted);text-align:center;margin:.1rem 0 .5rem;font-size:.88rem;line-height:1.5}.cdialog-actions{gap:.75rem;width:100%;margin-top:.5rem;display:flex}.cdialog-btn{cursor:pointer;border:2px solid #0000;border-radius:9px;flex:1;padding:.6rem 1rem;font-size:.9rem;font-weight:700;transition:opacity .15s,transform .1s}.cdialog-btn:hover{opacity:.85}.cdialog-btn.cancel{background:var(--bg-card-hover);color:var(--text-secondary);border-color:var(--border-subtle)}.cdialog-btn.cancel:hover{background:var(--border-subtle)}.cdialog-btn.confirm{background:var(--wrong);color:var(--text-on-brand);border-color:var(--wrong)}.cdialog-btn.confirm:hover{background:var(--wrong-dark);border-color:var(--wrong-dark)}.profile-overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:200;background:#0000008c;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.profile-modal{background:var(--bg-card);border-radius:16px;width:100%;max-width:480px;padding:2rem;animation:.2s profileSlideIn;position:relative;box-shadow:0 24px 64px #00000038}@keyframes profileSlideIn{0%{opacity:0;transform:translateY(-18px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.profile-close{background:var(--bg-card-hover);cursor:pointer;width:32px;height:32px;color:var(--text-muted);border:none;border-radius:50%;justify-content:center;align-items:center;font-size:1rem;transition:background .15s;display:flex;position:absolute;top:1rem;right:1rem}.profile-close:hover{background:var(--border-subtle);color:var(--text-primary)}.profile-header{align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.profile-avatar{background:linear-gradient(135deg, var(--brand), var(--brand-dark));width:56px;height:56px;color:var(--text-on-brand);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.6rem;font-weight:700;display:flex}.profile-name{color:var(--text-primary);margin:0;font-size:1.15rem;font-weight:700}.profile-email{color:var(--text-muted);margin:.15rem 0 0;font-size:.85rem}.profile-tabs{border-bottom:2px solid var(--border-subtle);gap:.4rem;margin-bottom:1.5rem;display:flex}.profile-tab{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;border-radius:6px 6px 0 0;margin-bottom:-2px;padding:.5rem .85rem;font-size:.88rem;font-weight:600;transition:color .15s,border-color .15s}.profile-tab:hover{color:var(--brand)}.profile-tab.active{color:var(--brand);border-bottom-color:var(--brand)}.profile-form{flex-direction:column;gap:1rem;display:flex}.profile-label{color:var(--text-secondary);flex-direction:column;gap:.35rem;font-size:.85rem;font-weight:600;display:flex}.profile-input{border:1.5px solid var(--border-card);color:var(--text-primary);background:var(--bg-card-hover);border-radius:8px;outline:none;padding:.6rem .85rem;font-size:.95rem;transition:border-color .15s,box-shadow .15s}.profile-input:focus{border-color:var(--brand);background:var(--bg-card);box-shadow:0 0 0 3px #1478cc26}.profile-msg{border-radius:8px;margin:0;padding:.5rem .75rem;font-size:.85rem;font-weight:600}.profile-msg.ok{background:var(--correct-bg);color:var(--correct)}.profile-msg.err{background:var(--wrong-bg);color:var(--wrong)}.profile-save-btn{background:linear-gradient(135deg, var(--brand), var(--brand-dark));color:var(--text-on-brand);cursor:pointer;border:none;border-radius:8px;align-self:flex-start;padding:.65rem 1.25rem;font-size:.95rem;font-weight:700;transition:opacity .15s,transform .1s}.profile-save-btn:hover:not(:disabled){opacity:.88}.profile-save-btn:disabled{opacity:.55;cursor:not-allowed}.profile-stats{flex-direction:column;gap:1.25rem;display:flex}.profile-stats-summary{grid-template-columns:repeat(3,1fr);gap:.75rem;display:grid}.pstat-card{background:var(--bg-card-hover);border:1.5px solid var(--border-subtle);text-align:center;border-radius:10px;flex-direction:column;gap:.2rem;padding:.85rem .5rem;display:flex}.pstat-value{color:var(--brand);font-size:1.6rem;font-weight:800;line-height:1}.pstat-label{color:var(--text-muted);font-size:.75rem;font-weight:600}.profile-stats-table{border-collapse:collapse;width:100%;font-size:.88rem}.profile-stats-table th,.profile-stats-table td{text-align:left;border-bottom:1px solid var(--border-subtle);padding:.5rem .6rem}.profile-stats-table th{color:var(--text-secondary);background:var(--bg-card-hover);font-weight:700}.profile-stats-table td{color:var(--text-secondary)}.profile-stats-table tr:last-child td{border-bottom:none}.profile-empty{color:var(--text-muted);text-align:center;padding:1.5rem 0;font-size:.88rem}.profile-settings{flex-direction:column;gap:1rem;display:flex}.profile-clear-srs-btn{background:var(--bg-card);color:var(--wrong);border:2px solid var(--wrong-bg);cursor:pointer;border-radius:8px;align-self:flex-start;margin-top:.25rem;padding:.5rem 1rem;font-size:.85rem;font-weight:700;transition:background .15s,border-color .15s}.profile-clear-srs-btn:hover{background:var(--wrong-bg);border-color:var(--wrong)}.profile-dashboard-btn{background:var(--brand-light);width:100%;color:var(--brand);border:2px solid var(--brand-border);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:.4rem;margin-bottom:.25rem;padding:.6rem 1rem;font-size:.9rem;font-weight:700;transition:background .15s,border-color .15s;display:flex}.profile-dashboard-btn:hover{background:var(--brand-light);border-color:var(--brand)}.srs-expand-btn{color:var(--brand);cursor:pointer;text-align:left;background:0 0;border:none;padding:0;font-size:.85rem;font-weight:600}.srs-expand-btn:hover{text-decoration:underline}.srs-clear-exam-btn{cursor:pointer;color:var(--wrong);opacity:.7;background:0 0;border:none;border-radius:4px;padding:.1rem .3rem;font-size:1rem;transition:opacity .15s,background .15s}.srs-clear-exam-btn:hover{opacity:1;background:var(--wrong-bg)}.srs-category-row td{background:var(--bg-card-hover);color:var(--text-secondary);font-size:.82rem}.srs-cat-name{color:var(--text-muted);font-style:italic;padding-left:1.25rem!important}.profile-settings{flex-direction:column;gap:.75rem;padding:.25rem 0;display:flex}.settings-row{background:var(--bg-card-hover);border:1px solid var(--border-subtle);border-radius:10px;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1rem;display:flex}.settings-row-label{flex-direction:column;flex:1;gap:.2rem;display:flex}.settings-row-title{color:var(--text-primary);font-size:.9rem;font-weight:600}.settings-row-desc{color:var(--text-muted);font-size:.78rem;line-height:1.45}.premium-status-chip{background:var(--bg-card-hover);color:var(--text-muted);border:1px solid var(--border-card);white-space:nowrap;border-radius:999px;padding:.25rem .75rem;font-size:.75rem;font-weight:700}.premium-status-chip--on{color:#fff;background:linear-gradient(135deg,#f59e0b,#d97706);border-color:#0000}.settings-row--dev{opacity:.65;border-top:1px dashed var(--border-subtle);margin-top:-.25rem;padding-top:.75rem}.settings-section-title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-top:.5rem;font-size:.72rem;font-weight:700}.theme-grid{grid-template-columns:repeat(3,1fr);gap:.5rem;display:grid}.theme-btn{border:1.5px solid var(--border-card);background:var(--bg-card);cursor:pointer;border-radius:10px;flex-direction:column;align-items:center;gap:.4rem;padding:.6rem .4rem;transition:all .15s;display:flex}.theme-btn:hover{border-color:var(--brand);background:var(--brand-light)}.theme-btn.active{border-color:var(--brand);background:var(--brand);color:#fff}.theme-btn-label{color:inherit;font-size:.72rem;font-weight:600}.theme-swatch{border:1px solid #0000001a;border-radius:5px;width:28px;height:18px}.theme-swatch--light{background:linear-gradient(135deg,#fff 50%,#e2e8f0 50%)}.theme-swatch--dark{background:linear-gradient(135deg,#1e293b 50%,#0f172a 50%)}.theme-swatch--protanopia{background:linear-gradient(135deg,#1a6eb5 50%,#e8c447 50%)}.theme-swatch--deuteranopia{background:linear-gradient(135deg,#3b67b5 50%,#d4a843 50%)}.theme-swatch--tritanopia{background:linear-gradient(135deg,#e05c5c 50%,#5ca8e0 50%)}.premium-profile-card{border:1.5px solid var(--border-card);background:var(--bg-card-hover);border-radius:12px;flex-direction:column;gap:.75rem;margin-top:1.25rem;padding:1rem 1.1rem;display:flex}.premium-profile-card--active{background:color-mix(in srgb, #f59e0b 8%, var(--bg-card));border-color:#f59e0b}.premium-profile-card-header{align-items:center;gap:.5rem;display:flex}.premium-profile-icon{color:#f59e0b;flex-shrink:0;width:16px;height:16px}.premium-profile-title{color:var(--text-primary);flex:1;font-size:.9rem;font-weight:700}.premium-profile-badge{text-transform:uppercase;letter-spacing:.06em;background:var(--border-card);color:var(--text-secondary);border-radius:999px;padding:.2rem .6rem;font-size:.68rem;font-weight:700}.premium-profile-badge--on{color:#fff;background:#f59e0b}.premium-profile-perks{flex-direction:column;gap:.45rem;margin:0;padding:0;list-style:none;display:flex}.premium-profile-perks li{color:var(--text-secondary);align-items:center;gap:.5rem;font-size:.82rem;display:flex}.premium-profile-perks li svg{color:#16a34a;flex-shrink:0;width:13px;height:13px}.premium-profile-desc{color:var(--text-secondary);margin:0;font-size:.82rem;line-height:1.55}.premium-profile-cta{background:var(--brand);color:#fff;cursor:pointer;border:none;border-radius:8px;width:100%;padding:.55rem 1rem;font-size:.85rem;font-weight:700;transition:opacity .15s,transform .15s}.premium-profile-cta:hover{opacity:.88;transform:translateY(-1px)}.rd-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;background:#0000008c;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.rd-modal{background:var(--bg-card);border-radius:1.25rem;flex-direction:column;width:100%;max-width:740px;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 24px 80px #00000040}.rd-header{border-bottom:1px solid var(--border-subtle);flex-shrink:0;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem 1rem;display:flex}.rd-title{color:var(--text-primary);margin:0;font-size:1.2rem;font-weight:700}.rd-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:.5rem;padding:.25rem .5rem;font-size:1.1rem;transition:background .15s}.rd-close:hover{background:var(--bg-card-hover)}.rd-exam-tabs{border-bottom:1px solid var(--border-subtle);flex-shrink:0;gap:.5rem;padding:.75rem 1.5rem;display:flex;overflow-x:auto}.rd-exam-tab{border:1.5px solid var(--border-subtle);background:var(--bg-card-hover);color:var(--text-secondary);cursor:pointer;white-space:nowrap;border-radius:999px;align-items:center;gap:.4rem;padding:.45rem 1rem;font-size:.875rem;font-weight:600;transition:all .15s;display:flex}.rd-exam-tab:hover{border-color:var(--brand);color:var(--brand)}.rd-exam-tab.active{background:var(--brand);border-color:var(--brand);color:#fff}.rd-exam-tab.active .rd-tab-score{color:#ffffffd9!important}.rd-tab-icon{font-size:1rem}.rd-tab-code{font-weight:700}.rd-tab-score{font-size:.8rem;font-weight:700}.rd-body{flex-direction:column;gap:1.5rem;padding:1.25rem 1.5rem 1.5rem;display:flex;overflow-y:auto}.rd-score-hero{background:var(--bg-card-hover);border:1px solid var(--border-subtle);border-radius:1rem;align-items:center;gap:1.5rem;padding:1.25rem 1.5rem;display:flex}.rd-score-ring-wrap{flex-shrink:0}.rd-score-ring{width:120px;height:120px}.rd-ring-pct{font-family:inherit;font-size:22px;font-weight:800}.rd-ring-label{fill:var(--text-muted);font-family:inherit;font-size:11px}.rd-score-info{flex-direction:column;gap:.3rem;display:flex}.rd-score-status{margin:0;font-size:1.15rem;font-weight:700}.rd-score-exam{color:var(--text-secondary);margin:0;font-size:.9rem;font-weight:600}.rd-score-hint{color:var(--text-muted);max-width:320px;margin:0;font-size:.75rem;line-height:1.4}.rd-stat-grid{grid-template-columns:repeat(3,1fr);gap:.6rem;display:grid}@media (width<=500px){.rd-stat-grid{grid-template-columns:repeat(2,1fr)}}.rd-stat-pill{background:var(--bg-card-hover);border:1px solid var(--border-subtle);border-radius:.75rem;flex-direction:column;align-items:center;padding:.75rem .5rem;display:flex}.rd-stat-val{color:var(--text-primary);font-size:1.15rem;font-weight:700}.rd-stat-lbl{color:var(--text-muted);text-align:center;margin-top:.1rem;font-size:.72rem;font-weight:500}.rd-stat-mastered{background:var(--mastered-bg);border-color:var(--mastered-border)}.rd-stat-mature{background:var(--diff-easy-bg);border-color:var(--diff-easy-border)}.rd-stat-learning{background:var(--diff-med-bg);border-color:var(--diff-med-border)}.rd-stat-due{background:var(--diff-ext-bg);border-color:var(--diff-ext-border)}.rd-section{flex-direction:column;gap:.75rem;display:flex}.rd-section-title{color:var(--text-secondary);margin:0;font-size:.95rem;font-weight:700}.rd-category-list{flex-direction:column;gap:.6rem;display:flex}.rd-cat-row{background:var(--bg-card-hover);border:1px solid var(--border-subtle);border-radius:.6rem;flex-direction:column;gap:.35rem;padding:.6rem .75rem;display:flex}.rd-cat-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.rd-cat-name{color:var(--text-primary);font-size:.875rem;font-weight:600}.rd-cat-counts{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.rd-badge{border-radius:999px;padding:.1rem .45rem;font-size:.72rem;font-weight:600}.rd-badge.mastered{background:var(--mastered-bg);color:var(--mastered-color)}.rd-badge.mature{background:var(--diff-easy-bg);color:var(--diff-easy-text)}.rd-badge.learning{background:var(--diff-med-bg);color:var(--diff-med-text)}.rd-badge.not-started{background:var(--diff-ext-bg);color:var(--diff-ext-text)}.rd-cat-total{color:var(--text-muted);font-size:.75rem}.rd-cat-bar-track{background:var(--border-subtle);border-radius:999px;height:6px;overflow:hidden}.rd-cat-bar-fill{border-radius:999px;height:100%;transition:width .4s}.rd-diff-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.6rem;display:grid}.rd-diff-card{background:var(--bg-card-hover);border:1px solid var(--border-subtle);border-radius:.75rem;flex-direction:column;gap:.35rem;padding:.7rem .85rem;display:flex}.rd-diff-label{color:var(--text-secondary);font-size:.8rem;font-weight:600}.rd-diff-count{color:var(--text-muted);font-size:.75rem}.rd-diff-bar-track{background:var(--border-subtle);border-radius:999px;height:5px;overflow:hidden}.rd-diff-bar-fill{border-radius:999px;height:100%;transition:width .4s}.rd-diff-pct{font-size:.85rem;font-weight:700}.rd-type-grid{flex-wrap:wrap;gap:.5rem;display:flex}.rd-type-chip{background:var(--bg-card-hover);border:1px solid var(--border-subtle);border-radius:999px;align-items:center;gap:.4rem;padding:.35rem .85rem;font-size:.82rem;display:flex}.rd-type-label{color:var(--text-secondary);font-weight:500}.rd-type-count{color:var(--text-primary);background:var(--border-subtle);border-radius:999px;padding:0 .4rem;font-size:.78rem;font-weight:700}.rd-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;padding:3rem 2rem;display:flex}.rd-empty-icon{margin:0;font-size:2.5rem}.rd-empty-title{color:var(--text-primary);margin:0;font-size:1.1rem;font-weight:700}.rd-empty-desc{color:var(--text-muted);max-width:340px;margin:0;font-size:.875rem;line-height:1.5}.tour-overlay{z-index:10000;pointer-events:none;position:fixed;inset:0}.tour-mask{pointer-events:all;cursor:default;background:#00000094;position:absolute;inset:0}.tour-spotlight-ring{box-shadow:0 0 0 3px var(--brand), 0 0 0 6px var(--brand-border);pointer-events:none;border-radius:10px;animation:1.8s ease-in-out infinite ring-pulse;position:absolute}@keyframes ring-pulse{0%,to{box-shadow:0 0 0 3px var(--brand), 0 0 0 6px var(--brand-border)}50%{box-shadow:0 0 0 3px var(--brand), 0 0 0 10px transparent}}.tour-bubble{background:var(--bg-card);pointer-events:all;z-index:10001;border-radius:14px;width:300px;padding:1.1rem 1.2rem 1rem;animation:.2s bubble-in;position:fixed;box-shadow:0 8px 40px #00000047}.tour-bubble--center{text-align:center;max-width:360px}.tour-bubble--center .tour-actions,.tour-bubble--center .tour-dots{justify-content:center}@keyframes bubble-in{0%{opacity:0;transform:scale(.95)translateY(6px)}to{opacity:1;transform:scale(1)translateY(0)}}.tour-bubble-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.tour-step-counter{color:var(--brand);letter-spacing:.4px;text-transform:uppercase;font-size:.72rem;font-weight:700}.tour-skip{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:.72rem}.tour-skip:hover{color:var(--wrong)}.tour-title{color:var(--text-primary);margin:0 0 .4rem;font-size:1rem;font-weight:700}.tour-body{color:var(--text-secondary);margin:0 0 .9rem;font-size:.83rem;line-height:1.55}.tour-actions{justify-content:flex-end;gap:.5rem;display:flex}.tour-btn{cursor:pointer;border:none;border-radius:8px;padding:.38rem 1rem;font-size:.83rem;font-weight:600;transition:background .15s,transform .1s}.tour-btn:active{transform:scale(.97)}.tour-btn--primary{background:var(--brand);color:var(--text-on-brand)}.tour-btn--primary:hover{background:var(--brand-dark)}.tour-btn--secondary{background:var(--bg-card-hover);color:var(--text-secondary)}.tour-btn--secondary:hover{background:var(--border-subtle)}.tour-dots{justify-content:center;gap:6px;margin-top:.8rem;display:flex}.tour-dot{background:var(--border-card);cursor:pointer;border-radius:50%;width:7px;height:7px;transition:background .2s,transform .2s}.tour-dot.active{background:var(--brand);transform:scale(1.3)}.tour-dot:hover{background:var(--text-muted)}.platform-page{background:var(--bg-page);flex-direction:column;min-height:100vh;font-family:Inter,sans-serif;display:flex}.platform-header{border-bottom:1px solid var(--border);background:var(--bg-card);justify-content:space-between;align-items:center;padding:1rem 2rem;display:flex}.platform-header-logo{justify-content:center;align-items:center;display:flex;position:relative}.platform-header-cloud{-webkit-user-select:none;user-select:none;width:7rem;height:auto;display:block}.platform-header-text{position:absolute;top:79%;left:57%;transform:translate(-50%,-50%)}.platform-header-brand{color:var(--brand);letter-spacing:-.01em;white-space:nowrap;font-family:Plus Jakarta Sans,Inter,sans-serif;font-size:.85rem;font-weight:800}.platform-header-brand .title-ace{color:var(--brand-dark);margin-left:.15em;font-weight:800}.platform-signout{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:.5rem;align-items:center;gap:.4rem;padding:.45rem .9rem;font-size:.85rem;font-weight:500;transition:background .15s,color .15s;display:flex}.platform-signout svg{width:1rem;height:1rem}.platform-signout:hover{background:var(--bg-card-hover);color:var(--text-primary)}.platform-main{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2.5rem;padding:3rem 1.5rem;display:flex}.platform-intro{text-align:center}.platform-title{color:var(--text-primary);letter-spacing:-.03em;margin:0 0 .5rem;font-family:Plus Jakarta Sans,Inter,sans-serif;font-size:2.25rem;font-weight:800}.platform-subtitle{color:var(--text-secondary);margin:0;font-size:1rem}.platform-grid{flex-wrap:wrap;justify-content:center;gap:1.5rem;width:100%;max-width:900px;display:flex}.platform-card{cursor:pointer;text-align:center;border:none;border-radius:1.25rem;flex-direction:column;justify-content:center;align-items:center;gap:1.25rem;width:240px;min-height:280px;padding:2rem 1.5rem;font-family:inherit;transition:transform .18s,box-shadow .18s,filter .18s;display:flex;position:relative;overflow:hidden}.platform-card:focus-visible{outline-offset:3px;outline:3px solid #fff}.platform-card--azure{color:#fff;background:linear-gradient(145deg,#0078d4 0%,#005a9e 60%,#003f6e 100%);box-shadow:0 8px 32px #0078d466}.platform-card--azure:hover:not(:disabled){transform:translateY(-6px)scale(1.02);box-shadow:0 16px 48px #0078d48c}.platform-card--aws{color:#f90;background:linear-gradient(145deg,#232f3e 0%,#1a242f 100%);box-shadow:0 8px 32px #232f3e73}.platform-card--gcp{color:#4285f4;background:linear-gradient(145deg,#fff 0%,#f1f3f4 100%);border:1px solid #e0e0e0;box-shadow:0 8px 32px #4285f433}.platform-card--soon{cursor:default;filter:saturate(.55)opacity(.7)}.platform-card--soon:hover{box-shadow:inherit!important;transform:none!important}.platform-soon-badge{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);letter-spacing:.06em;text-transform:uppercase;color:inherit;background:#ffffff2e;border:1px solid #ffffff59;border-radius:999px;padding:.2rem .65rem;font-size:.7rem;font-weight:700;position:absolute;top:1rem;right:1rem}.platform-card--gcp .platform-soon-badge{color:#5f6368;background:#0000000f;border-color:#0000001f}.platform-card-icon{justify-content:center;align-items:center;display:flex}.platform-icon{width:4rem;height:4rem}.platform-card-body{flex-direction:column;gap:.3rem;display:flex}.platform-card-name{letter-spacing:-.01em;font-family:Plus Jakarta Sans,Inter,sans-serif;font-size:1.1rem;font-weight:800;line-height:1.2}.platform-card-tagline{opacity:.75;font-size:.8rem;font-weight:500}.platform-card-arrow{opacity:.7;width:1.25rem;height:1.25rem;transition:transform .18s,opacity .18s}.platform-card--azure:hover .platform-card-arrow{opacity:1;transform:translate(4px)}.platform-card--gcp .platform-icon{color:#4285f4}.platform-user-hint{color:var(--text-muted);margin:0;font-size:.8rem}@media (width<=600px){.platform-header{padding:.85rem 1.25rem}.platform-title{font-size:1.75rem}.platform-grid{gap:1rem}.platform-card{text-align:left;flex-direction:row;gap:1rem;width:100%;max-width:360px;min-height:100px;padding:1.25rem 1.5rem}.platform-card-icon{flex-shrink:0}.platform-icon{width:2.75rem;height:2.75rem}.platform-card-body{flex:1;align-items:flex-start}.platform-card-arrow{flex-shrink:0;margin-left:auto}.platform-soon-badge{top:.75rem;right:.75rem}}*{box-sizing:border-box}.srs-sidebar-stats{flex-wrap:wrap;gap:.4rem;display:flex}.srs-stat{background:var(--bg-card-hover);color:var(--text-secondary);border-radius:999px;padding:.15rem .55rem;font-size:.75rem;font-weight:700}.srs-due-badge{color:var(--srs-dot-new);font-size:.8rem;font-weight:700}.toggle.disabled{opacity:.4;cursor:not-allowed}.app{background:var(--bg-page);border-inline:1px solid var(--border-subtle);flex-direction:column;width:100%;max-width:1126px;min-height:100vh;margin:0 auto;font-family:Inter,Segoe UI,system-ui,sans-serif;display:flex}[data-theme=dark] .app{box-shadow:1px 0 2px #ffffff70,-1px 0 2px #ffffff70,inset 1px 0 2px #ffffff1a,inset -1px 0 2px #ffffff1a}.app-header{color:#fff;z-index:1;background:linear-gradient(90deg,#29a6ff 0%,#0072c6 40%,#003f8a 70%,#001a4d 100%);grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;padding:1.1rem 1.5rem;animation:.55s cubic-bezier(.22,1,.36,1) both header-enter;display:grid;position:relative;box-shadow:0 4px 16px #003f8a4d}@keyframes header-enter{0%{opacity:0;transform:translateY(-18px)}to{opacity:1;transform:translateY(0)}}.app-header:after{content:"";opacity:.45;pointer-events:none;z-index:0;background:linear-gradient(#001a4d,#0000);height:20px;transition:opacity .3s;position:absolute;bottom:-20px;left:0;right:0}[data-theme=dark] .app-header:after{opacity:.7;background:linear-gradient(#001a4d,#0000)}.app-header:before{content:"";pointer-events:none;z-index:2;background:0 0;height:1px;transition:background .3s;position:absolute;bottom:0;left:0;right:0}[data-theme=dark] .app-header:before{background:linear-gradient(90deg,#0000 0%,#fff9 20%,#fff 50%,#fff9 80%,#0000 100%);height:2px;box-shadow:0 0 8px 2px #ffffff59}.header-inner{flex-direction:row;grid-column:2;align-items:center;gap:.6rem;display:flex}.logo-text{flex-direction:column;align-items:flex-start;gap:.1rem;display:flex}.logo-area{align-items:center;gap:.5rem;display:flex}.azure-icon-svg{vertical-align:middle;width:10rem;height:auto;margin-right:.5rem;display:inline-block}.app-header h1{letter-spacing:-.03em;color:#fff;text-shadow:2px 2px #0006,3px 3px #00001e33;margin:0;font-family:Plus Jakarta Sans,Inter,sans-serif;font-size:3rem;font-weight:800}.title-ace{margin-left:.35em;font-weight:700}.subtitle{color:#b4d7ffe6;letter-spacing:.02em;margin:0 0 0;font-size:.875rem}.exam-nav{flex-wrap:wrap;justify-content:center;gap:.75rem;width:100%;max-width:874px;margin:0 auto;padding:1.5rem 1rem .75rem;display:flex}.exam-btn{cursor:pointer;letter-spacing:.04em;color:#fff;background:linear-gradient(135deg,#6b7280,#4b5563);border:none;border-radius:12px;flex-direction:column;align-items:center;gap:.15rem;padding:.5rem 1.5rem;font-size:.95rem;font-weight:700;transition:transform .18s,box-shadow .18s,opacity .18s;display:flex;box-shadow:0 3px 10px #0000001f}.exam-btn-code{letter-spacing:.04em;font-size:.95rem;font-weight:700}.exam-btn-name{opacity:.85;letter-spacing:.01em;white-space:nowrap;font-size:.68rem;font-weight:400}.exam-btn:hover{transform:translateY(-3px);box-shadow:0 6px 18px #0000002e}[data-theme=dark] .exam-btn:hover{box-shadow:0 6px 18px #0000002e,0 0 8px 1px #ffffff26}.exam-btn:active{transform:translateY(0)}.exam-nav:has(.exam-btn.active) .exam-btn:not(.active){opacity:.6}.exam-btn.active{opacity:1;box-shadow:0 4px 14px #00000040}.exam-btn[data-exam=AZ-104]{background:linear-gradient(135deg,#0072c6,#003f8a)}.exam-btn[data-exam=AZ-700]{background:linear-gradient(135deg,#0078d4,#004e8c)}.exam-btn[data-exam=AZ-900]{background:linear-gradient(135deg,#0891b2,#164e63)}.exam-btn[data-exam=AZ-204]{background:linear-gradient(135deg,#059669,#064e3b)}.exam-btn[data-exam=AZ-500]{background:linear-gradient(135deg,#dc2626,#7f1d1d)}.exam-btn.active:not([data-exam]){background:linear-gradient(135deg,#374151,#111827)}.app,.app[data-exam=AZ-104]{--exam-from:#0072c6;--exam-to:#003f8a;--exam-mid:#005a9e}.app[data-exam=AZ-700]{--exam-from:#0078d4;--exam-to:#004e8c;--exam-mid:#006cbe}.app[data-exam=AZ-900]{--exam-from:#0891b2;--exam-to:#164e63;--exam-mid:#0e7490}.app[data-exam=AZ-204]{--exam-from:#059669;--exam-to:#064e3b;--exam-mid:#047857}.app[data-exam=AZ-500]{--exam-from:#dc2626;--exam-to:#7f1d1d;--exam-mid:#b91c1c}.progress-bar-fill{background:linear-gradient(90deg, var(--exam-from), var(--exam-mid))}.cat-btn{border-color:var(--exam-from);color:var(--exam-from)}.cat-btn.active{background:var(--exam-from);color:#fff;border-color:var(--exam-from)}.tip{border-left-color:var(--exam-from);background:color-mix(in srgb, var(--exam-from) 8%, white)}.btn-restart{background:var(--exam-from)}.btn-restart:hover{background:var(--exam-to)}.category-nav{z-index:1;flex-wrap:wrap;justify-content:center;gap:.35rem;width:100%;max-width:874px;margin:0 auto;padding:1.5rem 1rem .4rem;display:flex;position:relative}.cat-btn{border:1.5px solid var(--brand);background:var(--bg-card);color:var(--brand);cursor:pointer;border-radius:999px;padding:.4rem;font-size:.875rem;font-weight:600;transition:all .2s}.cat-btn:hover{background:var(--brand-light)}[data-theme=dark] .cat-btn:hover{color:#fff;border-color:#ffffffbf;box-shadow:0 0 8px 2px #ffffff8c,0 0 18px 4px #fff3}.cat-btn.active{background:var(--brand);color:#fff}.cat-btn-back{border:1.5px solid var(--text-muted);background:var(--bg-card);color:var(--text-muted);cursor:pointer;white-space:nowrap;border-radius:999px;margin-right:.5rem;padding:.25rem .75rem;font-size:.75rem;font-weight:700;transition:all .2s}.cat-btn-back:hover{border-color:var(--brand);color:var(--brand);background:var(--brand-light)}.cat-btn.flagged-cat{color:#d97706;border-color:#f59e0b}.cat-btn.flagged-cat:hover{background:#fffbeb}.cat-btn.flagged-cat.active{color:#fff;background:#f59e0b;border-color:#f59e0b}.sidebar-type-filter{grid-template-columns:1fr 1fr;gap:.4rem;width:100%;display:grid}.sidebar-type-btn{border:1.5px solid var(--border-card);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;text-align:center;border-radius:8px;flex-direction:column;flex:1;align-items:center;gap:.25rem;padding:.5rem .4rem .45rem;font-size:.72rem;font-weight:600;transition:all .18s;display:flex}.sidebar-type-icon{justify-content:center;align-items:center;display:flex}.sidebar-type-icon svg{flex-shrink:0;width:15px;height:15px}.sidebar-type-label{line-height:1.1}.sidebar-type-btn:first-child,.sidebar-type-btn:last-child{border-radius:8px}.sidebar-type-btn:not(:first-child){border-left:1.5px solid var(--border-card)}.sidebar-type-btn:hover{background:var(--bg-card-hover);color:var(--brand);border-color:var(--brand)}.sidebar-type-btn.active{background:var(--brand);border-color:var(--brand);color:#fff}.sidebar-type-btn:not(.active):not(.type-disabled) .sidebar-type-icon{color:var(--type-color,var(--brand))}.sidebar-type-btn:not(.active):not(.type-disabled){border-color:color-mix(in srgb, var(--type-color,var(--brand)) 25%, var(--border-card))}.sidebar-type-btn:not(.active):not(.type-disabled):hover{background:color-mix(in srgb, var(--type-color,var(--brand)) 10%, var(--bg-card));border-color:var(--type-color,var(--brand));color:var(--type-color,var(--brand))}.sidebar-type-btn.type-disabled{opacity:.35;color:var(--text-secondary);border-color:var(--border-card)!important}.sidebar-type-btn.type-disabled .sidebar-type-icon{color:var(--text-secondary)}.sidebar-type-btn.type-disabled:hover{opacity:.55;background:var(--bg-card-hover);color:var(--text-secondary)}.sidebar-svg-icon{vertical-align:middle;width:14px;height:14px;color:var(--brand);flex-shrink:0;display:inline-block}.toggle-row-label,.sidebar-action-btn{align-items:center;gap:.5rem;display:flex}.sidebar-action-btn.danger .sidebar-svg-icon{color:var(--wrong)}.unlock-premium-card{background:color-mix(in srgb, #f59e0b 8%, var(--bg-card));text-align:center;border:1.5px solid #f59e0b;border-radius:14px;flex-direction:column;align-items:center;gap:.75rem;margin-top:1.5rem;padding:1.5rem;display:flex}.unlock-premium-icon{color:#f59e0b;width:36px;height:36px}.unlock-premium-title{color:var(--text-primary);margin:0;font-size:1.1rem;font-weight:700}.unlock-premium-desc{color:var(--text-secondary);max-width:380px;margin:0;font-size:.875rem;line-height:1.6}.unlock-premium-btn{color:#fff;cursor:pointer;background:#f59e0b;border:none;border-radius:10px;padding:.6rem 1.75rem;font-size:.9rem;font-weight:700;transition:opacity .15s,transform .15s}.unlock-premium-btn:hover{opacity:.88;transform:translateY(-2px)}.free-limit-card{background:var(--bg-card);border:1.5px solid var(--border-card);text-align:center;border-radius:16px;flex-direction:column;align-items:center;gap:1rem;width:100%;max-width:480px;margin:0 auto;padding:2.5rem 2rem;display:flex;box-shadow:0 8px 32px #0072c61f}.free-limit-icon{width:40px;height:40px;color:var(--brand)}.free-limit-title{color:var(--text-primary);margin:0;font-size:1.2rem;font-weight:700}.free-limit-desc{color:var(--text-secondary);margin:0;font-size:.9rem;line-height:1.6}.free-limit-btn{background:var(--brand);color:#fff;cursor:pointer;border:none;border-radius:10px;margin-top:.5rem;padding:.65rem 1.75rem;font-size:.95rem;font-weight:700;transition:opacity .15s,transform .15s}.free-limit-btn:hover{opacity:.88;transform:translateY(-2px)}.app-loading{background:var(--bg-app);justify-content:center;align-items:center;min-height:100dvh;display:flex}.app-loading-spinner{width:40px;height:40px;color:var(--brand);animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.premium-gate-wrapper{border-radius:10px;position:relative;overflow:hidden}.premium-gate{z-index:2;cursor:pointer;border-radius:10px;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.premium-gate:hover .premium-gate-inner{background:var(--brand-dark,#0057a8);transform:scale(1.04)}.premium-gate-inner{background:var(--brand);color:#fff;letter-spacing:.03em;border-radius:999px;align-items:center;gap:.35rem;padding:.3rem .8rem;font-size:.72rem;font-weight:700;transition:background .15s,transform .15s;display:flex;box-shadow:0 2px 8px #0000002e}.premium-locked-content{pointer-events:none;opacity:.28;filter:blur(2px);-webkit-user-select:none;user-select:none}.progress-area{width:100%;max-width:874px;margin:.75rem auto 0;padding:0 1rem}.progress-stats{color:var(--text-secondary);justify-content:space-between;margin-bottom:.4rem;font-size:.875rem;display:flex}.known-check{color:var(--correct);margin-right:2px;font-weight:700;display:inline-block}.btn .known-check,button .known-check{color:inherit}.progress-bar-track{background:var(--border-card);border-radius:999px;height:8px;overflow:hidden}.progress-bar-fill{background:linear-gradient(90deg, var(--exam-from), var(--exam-mid));border-radius:999px;height:100%;transition:width .4s;position:relative;overflow:hidden}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(250%)}}.progress-bar-fill:after{content:"";background:linear-gradient(90deg,#0000 0%,#ffffff73 50%,#0000 100%);border-radius:999px;width:40%;height:100%;animation:2s ease-in-out infinite shimmer;position:absolute;top:0;left:0}.main-content{flex:1;justify-content:center;align-items:center;width:100%;max-width:874px;margin:0 auto;padding:2rem 1rem;animation:.5s cubic-bezier(.22,1,.36,1) .15s both content-enter;display:flex}@keyframes content-enter{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes app-exit{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-28px)scale(.97)}}.app--exiting{animation:.35s cubic-bezier(.4,0,.6,1) both app-exit}.app--exiting .sidebar,.app--exiting .sidebar-overlay{display:none}@keyframes app-enter{0%{opacity:0;transform:translateY(28px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.app--entering{animation:.35s cubic-bezier(0,0,.2,1) both app-enter}.app--entering .sidebar,.app--entering .sidebar-overlay{display:none}@keyframes splash-enter{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes subview-drill-in{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}@keyframes subview-drill-back{0%{opacity:0;transform:translate(-40px)}to{opacity:1;transform:translate(0)}}.splash-card{animation:none}.splash-card.splash-initial{animation:.45s cubic-bezier(.22,1,.36,1) both splash-enter}.splash-card.subview-enter{animation:.35s cubic-bezier(.22,1,.36,1) both subview-drill-in}.splash-card.subview-enter-back{animation:.35s cubic-bezier(.22,1,.36,1) both subview-drill-back}.splash-card.subview-enter-prep{opacity:0}.main-content--wide{padding:2rem 2.5rem;width:100%!important;max-width:none!important}.results-card{text-align:center;background:#fff;border-radius:16px;width:100%;max-width:480px;padding:2.5rem 2rem;box-shadow:0 8px 32px #0072c626}.results-card h2{color:var(--text-primary);margin:0 0 1rem;font-size:1.75rem}.empty-deck-card{background:var(--bg-card);text-align:center;border-radius:16px;flex-direction:column;align-items:center;gap:.6rem;width:100%;max-width:480px;padding:2.5rem 2rem;display:flex;box-shadow:0 8px 32px #0072c626}.empty-deck-icon{margin:0;font-size:2.5rem}.empty-deck-title{color:var(--text-primary);margin:0;font-size:1.2rem;font-weight:700}.empty-deck-desc{color:var(--text-muted);max-width:360px;margin:0;font-size:.9rem;line-height:1.55}.empty-deck-actions{flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:.5rem;display:flex}.results-card p{color:var(--text-secondary);margin:0 0 .75rem;line-height:1.6}.tip{background:var(--brand-light);border-left:4px solid var(--brand);text-align:left;border-radius:0 8px 8px 0;padding:.75rem 1rem;font-size:.9rem}.btn-restart{background:var(--brand);color:var(--text-on-brand);cursor:pointer;border:none;border-radius:8px;margin-top:1.5rem;padding:.65rem 2rem;font-size:1rem;font-weight:600;transition:background .2s,transform .15s}.btn-restart:hover{background:var(--brand-dark);transform:translateY(-2px)}.card-wrapper{flex-direction:column;gap:.6rem;width:100%;max-width:713px;display:flex;position:relative}.card-action-row{justify-content:flex-end;gap:.5rem;display:flex}.srs-dot-footer{align-items:center;gap:.5rem;margin-top:.25rem;padding:.45rem .75rem;display:flex}.srs-dot-label{color:var(--text-muted);letter-spacing:.02em;font-size:.72rem;font-weight:600}.srs-emoji-dot,.diff-dot{vertical-align:middle;border-radius:50%;flex-shrink:0;width:10px;height:10px;margin-right:4px;display:inline-block}.srs-progress-dot{cursor:help;border:2px solid #ffffffb3;border-radius:50%;flex-shrink:0;width:13px;height:13px;transition:transform .15s;box-shadow:0 1px 4px #00000040}.card-id-badge{color:var(--border-card);letter-spacing:.05em;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:2;font-size:.68rem;font-weight:600;position:absolute;bottom:1.1rem;right:1.4rem}.srs-progress-dot:hover{transform:scale(1.45)}.card-body-wrapper{width:100%;transition:transform .2s,filter .2s;position:relative}.card-body-wrapper:hover{filter:drop-shadow(0 12px 24px #003f8a38);transform:translateY(-6px)}.difficulty-badge{letter-spacing:.03em;pointer-events:none;border-radius:999px;align-self:flex-start;padding:.15rem .55rem;font-size:.72rem;font-weight:700;display:inline-block}.difficulty-badge--on-card{z-index:10;align-self:flex-end;position:absolute;top:14px;right:14px;box-shadow:0 1px 4px #00000026}.difficulty-easy{background:var(--diff-easy-bg);color:var(--diff-easy-text);border:1px solid var(--diff-easy-border)}.difficulty-medium{background:var(--diff-med-bg);color:var(--diff-med-text);border:1px solid var(--diff-med-border)}.difficulty-hard{background:var(--diff-hard-bg);color:var(--diff-hard-text);border:1px solid var(--diff-hard-border)}.difficulty-extreme{background:var(--diff-ext-bg);color:var(--diff-ext-text);border:1px solid var(--diff-ext-border)}.flag-btn{border:2px solid var(--border-card);background:var(--bg-card);color:var(--text-muted);cursor:pointer;border-radius:8px;padding:.35rem .9rem;font-size:.8rem;font-weight:600;transition:all .2s}.flag-btn:hover{border-color:var(--flag-border);color:var(--flag-color);background:var(--flag-bg)}.flag-btn.flagged{border-color:var(--flag-border);background:var(--flag-bg);color:var(--flag-color)}.mastered-btn{border:2px solid var(--border-card);background:var(--bg-card);color:var(--text-muted);cursor:pointer;border-radius:8px;padding:.35rem .9rem;font-size:.8rem;font-weight:600;transition:all .2s}.mastered-btn:hover{border-color:var(--mastered-border);color:var(--mastered-color);background:var(--mastered-bg)}.mastered-btn.mastered{border-color:var(--mastered-border);background:var(--mastered-bg);color:var(--mastered-color)}.flag-stat{color:var(--flag-color)}.hide-answers-notice{color:var(--text-muted);margin:.25rem 0 0;font-size:.8rem;font-style:italic}.learn-more-link{color:var(--brand);border:1px solid var(--brand-border);background:var(--brand-light);border-radius:6px;align-self:flex-start;align-items:center;gap:.35rem;padding:.3rem .75rem;font-size:.82rem;font-weight:600;text-decoration:none;transition:background .15s,border-color .15s;display:inline-flex}.learn-more-link:hover{background:color-mix(in srgb, var(--brand) 12%, transparent);border-color:var(--brand)}.sidebar-action-btn.danger{border-color:var(--wrong-bg);color:var(--wrong)}.sidebar-action-btn.danger:hover{border-color:var(--wrong);background:var(--wrong-bg);color:var(--wrong)}.card-nav{justify-content:center;align-items:center;gap:1rem;padding:.75rem 1rem 1.5rem;display:flex}.card-nav-btn{border:2px solid var(--border-card);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;border-radius:8px;padding:.5rem 1.25rem;font-size:.9rem;font-weight:600;transition:border-color .2s,background .2s,transform .15s}.card-nav-btn:hover:not(:disabled){border-color:var(--brand);background:var(--brand-light);color:var(--brand);transform:translateY(-2px)}.card-nav-btn:disabled{opacity:.35;cursor:default}.card-nav-counter{color:var(--text-muted);text-align:center;min-width:60px;font-size:.875rem;font-weight:600}.app-footer{text-align:center;color:var(--text-muted);border-top:1px solid var(--border-subtle);padding:1rem;font-size:.8rem}.header-actions{flex-direction:column;flex-shrink:0;grid-column:3;place-self:end;align-items:flex-end;gap:.4rem;display:flex}.header-user{color:#fff;white-space:nowrap;cursor:pointer;opacity:.9;filter:drop-shadow(0 1px 2px #0006);flex-shrink:0;justify-content:flex-end;align-items:center;gap:.35rem;font-size:.82rem;font-weight:600;transition:opacity .15s;display:flex}.header-user:hover{opacity:1}.streak-pill{color:#fff;white-space:nowrap;cursor:default;background:#ffffff26;border:1px solid #ffffff4d;border-radius:20px;align-self:flex-end;align-items:center;gap:.25rem;padding:.2rem .55rem;font-size:.78rem;font-weight:600;transition:background .2s;display:inline-flex}.streak-pill strong{font-size:.85rem}.streak-pill--hot{background:#fb923c59;border-color:#fb923c99;animation:2s ease-in-out infinite alternate streak-glow}@keyframes streak-glow{0%{box-shadow:0 0 4px #fb923c66}to{box-shadow:0 0 10px #fb923ccc}}@media (width<=560px){.header-btn-label{display:none}}.user-icon{flex-shrink:0;width:1.1rem;height:1.1rem}.header-buttons-stack{flex-direction:column;align-items:flex-end;gap:.3rem;display:flex}.header-buttons{align-items:center;gap:.35rem;display:flex}.header-btn--dashboard,.header-btn--decks{flex:1;justify-content:center;height:1.7rem;padding:.25rem .45rem;font-size:.68rem}.header-btn-row{flex-direction:row;gap:.3rem;width:100%;display:flex}.header-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#ffffff21;border:1px solid #ffffff40;border-radius:7px;align-items:center;gap:.3rem;height:1.9rem;padding:.3rem .65rem;font-size:.75rem;font-weight:600;line-height:1;transition:background .15s,border-color .15s;display:inline-flex}.header-btn:hover{background:#ffffff40;border-color:#ffffff73}.header-btn--signout:hover{background:#ef444459;border-color:#ef444480}.header-btn-icon{background:#ffffff26;border:1px solid #ffffff4d;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:1.3rem;height:1.3rem;padding:.18rem;display:flex}.header-btn-icon svg{width:100%;height:100%}.header-btn-divider{background:#ffffff40;flex-shrink:0;width:1px;height:1.4rem;margin:0 .1rem;display:inline-block}.sidebar-toggle{color:#fff;cursor:pointer;background:#ffffff21;border:1px solid #ffffff40;border-radius:7px;align-items:center;gap:.3rem;height:1.9rem;padding:.3rem .65rem;font-size:.75rem;font-weight:600;transition:background .15s;display:inline-flex}.sidebar-toggle:hover{background:#ffffff40}.sidebar-overlay{z-index:100;background:#00000059;position:fixed;inset:0}.sidebar{background:var(--sidebar-bg);z-index:101;flex-direction:column;width:300px;height:100vh;transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;right:0;overflow-y:auto;transform:translate(100%);box-shadow:-4px 0 24px #00000026}.sidebar.open{transform:translate(0)}.sidebar-header{border-bottom:1px solid var(--sidebar-border);color:var(--text-primary);background:var(--sidebar-header-bg);justify-content:space-between;align-items:center;padding:1.25rem 1.25rem 1rem;font-size:1rem;font-weight:700;display:flex}.sidebar-close{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:6px;padding:.25rem .5rem;font-size:1.1rem;transition:background .15s}.sidebar-close:hover{background:var(--bg-card-hover)}.sidebar-section{border-bottom:1px solid var(--border-subtle);flex-direction:column;gap:.75rem;padding:1.25rem;display:flex}.sidebar-section h3{text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);margin:0;font-size:.75rem;font-weight:700}.toggle-row{color:var(--text-secondary);cursor:pointer;justify-content:space-between;align-items:center;font-size:.9rem;font-weight:500;display:flex}.toggle{background:var(--toggle-off);cursor:pointer;border-radius:999px;flex-shrink:0;width:44px;height:24px;transition:background .25s;position:relative}.toggle.on{background:var(--toggle-on)}.toggle-thumb{background:var(--toggle-thumb);border-radius:50%;width:18px;height:18px;transition:transform .25s cubic-bezier(.4,0,.2,1);position:absolute;top:3px;left:3px;box-shadow:0 1px 4px #0003}.toggle.on .toggle-thumb{transform:translate(20px)}.sidebar-action-btn{border:2px solid var(--border-subtle);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;text-align:left;border-radius:8px;padding:.55rem 1rem;font-size:.875rem;font-weight:600;transition:border-color .2s,background .2s}.sidebar-action-btn:hover{border-color:var(--brand);background:var(--brand-light);color:var(--brand)}.counter{color:var(--accent);background:var(--accent-bg);border:2px solid #0000;border-radius:5px;margin-bottom:24px;padding:5px 10px;font-size:16px;transition:border-color .3s}.counter:hover{border-color:var(--accent-border)}.counter:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hero{position:relative}.hero .base,.hero .framework,.hero .vite{margin:0 auto;inset-inline:0}.hero .base{z-index:0;width:170px;position:relative}.hero .framework,.hero .vite{position:absolute}.hero .framework{z-index:1;height:28px;top:34px;transform:perspective(2000px)rotate(300deg)rotateX(44deg)rotateY(39deg)scale(1.4)}.hero .vite{z-index:0;width:auto;height:26px;top:107px;transform:perspective(2000px)rotate(300deg)rotateX(40deg)rotateY(39deg)scale(.8)}#center{flex-direction:column;flex-grow:1;place-content:center;place-items:center;gap:25px;display:flex}@media (width<=1024px){#center{gap:18px;padding:32px 20px 24px}}#next-steps{border-top:1px solid var(--border);text-align:left;display:flex}#next-steps>div{flex:1 1 0;padding:32px}@media (width<=1024px){#next-steps>div{padding:24px 20px}}#next-steps .icon{width:22px;height:22px;margin-bottom:16px}@media (width<=1024px){#next-steps{text-align:center;flex-direction:column}}#docs{border-right:1px solid var(--border)}@media (width<=1024px){#docs{border-right:none;border-bottom:1px solid var(--border)}}#next-steps ul{gap:8px;margin:32px 0 0;padding:0;list-style:none;display:flex}#next-steps ul .logo{height:18px}#next-steps ul a{color:var(--text-h);background:var(--social-bg);border-radius:6px;align-items:center;gap:8px;padding:6px 12px;font-size:16px;text-decoration:none;transition:box-shadow .3s;display:flex}#next-steps ul a:hover{box-shadow:var(--shadow)}#next-steps ul a .button-icon{width:18px;height:18px}@media (width<=1024px){#next-steps ul{flex-wrap:wrap;justify-content:center;margin-top:20px}#next-steps ul li{flex:calc(50% - 8px)}#next-steps ul a{box-sizing:border-box;justify-content:center;width:100%}}#spacer{border-top:1px solid var(--border);height:88px}@media (width<=1024px){#spacer{height:48px}}.ticks{width:100%;position:relative}.ticks:before,.ticks:after{content:"";border:5px solid #0000;position:absolute;top:-4.5px}.ticks:before{border-left-color:var(--border);left:0}.ticks:after{border-right-color:var(--border);right:0}@media (width<=560px){.app-header{grid-template-columns:1fr;justify-items:center;gap:.5rem;padding:.6rem 1rem}.header-inner{grid-column:1}.header-actions{flex-direction:column;grid-column:1;justify-self:center;align-items:center;gap:.4rem}.header-buttons{flex-wrap:wrap;justify-content:center;gap:.3rem}.header-btn-label,.header-btn-divider{display:none}}.splash-page .login-cloud{color:#fff;filter:drop-shadow(0 3px 10px #00000059);margin-bottom:.25rem;font-size:8.75rem}.splash-page .title-ace{font-weight:800}.splash-cloud-logo{justify-content:center;align-items:center;margin-bottom:0;display:flex;position:relative}.splash-cloud-icon{-webkit-user-select:none;user-select:none;width:20rem;height:auto;display:block}.splash-cloud-text{flex-direction:column;align-items:center;gap:.1rem;display:flex;position:absolute;top:79%;left:57%;transform:translate(-50%,-50%)}.splash-cloud-brand{color:var(--brand);letter-spacing:-.02em;font-family:Plus Jakarta Sans,Inter,sans-serif;font-size:2.4rem;font-weight:800;line-height:1}.splash-cloud-brand .title-ace{color:var(--brand-dark);margin-left:.2em;font-weight:800}.splash-cloud-tagline{color:var(--brand);letter-spacing:.02em;text-align:center;margin-top:.5rem;margin-bottom:0;font-size:1rem;font-weight:500}.splash-page{scrollbar-gutter:stable;background:linear-gradient(135deg,#0078d4 0%,#005a9e 50%,#003f6e 100%);justify-content:center;align-items:flex-start;min-height:100vh;padding:1.5rem;font-family:Inter,sans-serif;display:flex;overflow-y:auto}[data-theme=dark] .splash-page,[data-theme=protanopia] .splash-page,[data-theme=deuteranopia] .splash-page,[data-theme=tritanopia] .splash-page{background:linear-gradient(135deg,#27394f 0%,#091527 50%,#050d1a 100%)}.splash-card{background:var(--bg-card);will-change:transform, opacity;border-radius:1.25rem;flex-direction:column;align-items:center;gap:.85rem;width:100%;max-width:820px;min-height:520px;margin:auto 0;padding:1.25rem 2rem 1.75rem;display:flex;overflow:hidden;box-shadow:0 20px 60px #0000004d}[data-theme=dark] .splash-card{box-shadow:0 20px 60px #0000004d,0 0 2px 1px #ffffff70,inset 0 0 2px #ffffff1a}.splash-greeting-block{text-align:center;margin-top:-.5rem}.splash-greeting{color:var(--text-primary);margin:0 0 .4rem;font-size:1.5rem;font-weight:700}.splash-greeting span{color:var(--brand)}.splash-sub{color:var(--text-muted);min-height:1.3em;margin:0;font-size:.9rem}.typing-cursor{color:var(--brand);margin-left:1px;font-weight:300;animation:.65s step-end infinite typing-blink;display:inline-block}@keyframes typing-blink{0%,to{opacity:1}50%{opacity:0}}.splash-cards{grid-template-columns:1fr 1fr;gap:1rem;width:100%;display:grid}.splash-exam-card{flex:unset;max-width:unset;cursor:pointer;color:#fff;text-align:left;border:none;border-radius:16px;flex-direction:column;align-items:flex-start;gap:.3rem;width:100%;min-height:175px;padding:1.5rem 1.4rem 1.3rem;transition:transform .2s,box-shadow .2s;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 16px #0000002e}.splash-exam-card:hover{transform:translateY(-4px);box-shadow:0 10px 28px #00000040}.splash-exam-card:before{content:"";opacity:0;background:#ffffff14;transition:opacity .2s;position:absolute;inset:0}.splash-exam-card:hover:before{opacity:1}.splash-exam-icon{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid #fff3;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:2.4rem;height:2.4rem;margin-bottom:.35rem;padding:.45rem;transition:transform .2s;display:flex}.splash-exam-card:hover .splash-exam-icon{transform:scale(1.1)}.splash-exam-icon svg{stroke:currentColor;width:100%;height:100%}.splash-exam-code{letter-spacing:.5px;font-size:1.4rem;font-weight:800;line-height:1}.splash-exam-name{opacity:.6;flex:1;font-size:.82rem;line-height:1.35}.splash-exam-count{color:#fff9;background:#fff3;border-radius:999px;margin-top:.15rem;padding:.12rem .5rem;font-size:.74rem;font-weight:600}.splash-premium-badge{color:#fff;letter-spacing:.02em;background:linear-gradient(135deg,#f59e0b,#d97706);border-radius:999px;margin-top:.15rem;padding:.15rem .55rem;font-size:.7rem;font-weight:700}.splash-exam-arrow{opacity:.45;justify-content:center;align-items:center;transition:opacity .2s,transform .2s;display:flex;position:absolute;bottom:.9rem;right:1rem}.splash-exam-card:hover .splash-exam-arrow{opacity:1;transform:translate(4px)}.splash-footer-actions{justify-content:center;align-items:center;gap:1.25rem;margin-top:-.25rem;display:flex}.splash-signout{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.25rem .5rem;font-size:.82rem;transition:color .2s}.splash-signout:hover{color:var(--wrong)}.splash-change-platform{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.25rem .5rem;font-size:.82rem;transition:color .2s}.splash-change-platform:hover{color:var(--brand)}.splash-custom-decks{border-top:1px solid #ffffff1a;flex-direction:column;gap:.6rem;width:100%;padding-top:1rem;display:flex}.splash-custom-decks-header{color:var(--text);justify-content:space-between;align-items:center;font-size:.9rem;font-weight:600;display:flex}.splash-custom-decks-btn{color:var(--text);cursor:pointer;background:#ffffff1a;border:1px solid #fff3;border-radius:20px;padding:3px 12px;font-size:.78rem;transition:background .15s}.splash-custom-decks-btn:hover{background:#fff3}.splash-custom-decks-empty{color:var(--text-muted);margin:0;font-size:.8rem;font-style:italic}.splash-custom-deck-list{flex-direction:column;gap:.35rem;display:flex}.splash-custom-deck-item{cursor:pointer;color:var(--text);text-align:left;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:8px;justify-content:space-between;align-items:center;padding:.45rem .75rem;font-size:.85rem;transition:background .15s;display:flex}.splash-custom-deck-item:hover{background:#ffffff1f}.splash-custom-deck-name{font-weight:500}.splash-custom-deck-count{color:var(--text-muted);font-size:.75rem}.splash-custom-deck-carousel-wrap{align-items:center;gap:.3rem;display:flex;position:relative}.splash-custom-deck-carousel{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex:1;gap:.65rem;padding:.25rem .1rem .35rem;display:flex;overflow-x:auto}.splash-custom-deck-carousel::-webkit-scrollbar{display:none}.splash-deck-scroll-btn{color:var(--text,#e8eaf6);cursor:pointer;background:#ffffff1a;border:1px solid #ffffff2e;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:2rem;height:2rem;padding:0;font-size:1.3rem;line-height:1;transition:background .15s;display:flex}.splash-deck-scroll-btn:hover{background:#ffffff38}.splash-custom-deck-card{scroll-snap-align:start;cursor:pointer;color:#fff;text-align:left;border:none;border-radius:12px;flex-direction:column;flex:0 0 140px;align-items:flex-start;gap:.2rem;min-height:120px;padding:.9rem .85rem .8rem;transition:transform .2s,box-shadow .2s;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 14px #0003}.splash-custom-deck-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #00000047}.splash-custom-deck-card__before{opacity:0;pointer-events:none;border-radius:inherit;background:#ffffff14;transition:opacity .2s;position:absolute;inset:0}.splash-custom-deck-card:hover .splash-custom-deck-card__before{opacity:1}.splash-custom-deck-initials{letter-spacing:.5px;background:#ffffff2e;border:1px solid #ffffff40;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:2rem;height:2rem;margin-bottom:.25rem;font-size:.8rem;font-weight:800;display:flex}.splash-custom-deck-card-name{word-break:break-word;flex:1;font-size:.82rem;font-weight:700;line-height:1.25}.splash-custom-deck-card-count{background:#fff3;border-radius:999px;margin-top:.1rem;padding:.1rem .4rem;font-size:.67rem;font-weight:600}.splash-custom-deck-card-arrow{opacity:.6;transition:opacity .2s,transform .2s;position:absolute;bottom:.7rem;right:.75rem}.splash-custom-deck-card:hover .splash-custom-deck-card-arrow{opacity:1;transform:translate(3px)}.splash-header{background:linear-gradient(90deg,#29a6ff 0%,#0072c6 40%,#003f8a 75%,#001a4d 100%);justify-content:space-between;align-items:center;padding:1rem 2rem;display:flex}.splash-logo{color:#fff;letter-spacing:-.5px;text-shadow:1px 1px 4px #0006;font-size:1.6rem;font-weight:800}.splash-logout{color:#fff;cursor:pointer;background:#ffffff26;border:1px solid #ffffff73;border-radius:6px;padding:.3rem .85rem;font-size:.8rem;font-weight:600;transition:background .2s}.splash-logout:hover{background:#ffffff47}.splash-body{flex-direction:column;flex:1;justify-content:center;align-items:center;padding:3.5rem 1.5rem 2rem;display:flex}.splash-footer{text-align:center;color:#9ca3af;border-top:1px solid #dde8f5;padding:1.2rem;font-size:.8rem}.header-change-exam{color:#fff;cursor:pointer;white-space:nowrap;background:#ffffff1f;border:1px solid #ffffff73;border-radius:6px;height:1.75rem;padding:0 .75rem;font-size:.68rem;font-weight:700;transition:background .2s}.header-change-exam:hover{background:#ffffff40}.exam-timer-banner{color:#e0f0ff;z-index:90;background:#1e3a5f;border-bottom:2px solid #2d5a8e;align-items:center;gap:.6rem;padding:.55rem 1.2rem;font-size:.95rem;font-weight:600;display:flex}.exam-timer-banner.warning{background:#1e3a5f;border-bottom-color:#2d5a8e;animation:1s ease-in-out infinite banner-pulse}.exam-timer-banner.expired{background:#1e3a5f;border-bottom-color:#2d5a8e}@keyframes banner-pulse{0%,to{opacity:1}50%{opacity:.8}}.exam-timer-icon{font-size:1.1rem}.exam-timer-label{letter-spacing:.04em;text-transform:uppercase;flex:1;font-size:.8rem}.exam-timer-clock{font-variant-numeric:tabular-nums;letter-spacing:.05em;text-align:center;min-width:4.5ch;font-size:1.4rem}.exam-timer-clock.tick{color:#fcd34d;animation:1s step-start infinite tick-pop}@keyframes tick-pop{0%{transform:scale(1.15)}50%{transform:scale(1)}}.exam-timer-stop{color:#fff;cursor:pointer;background:#ffffff26;border:1px solid #ffffff4d;border-radius:6px;margin-left:auto;padding:.2rem .65rem;font-size:.8rem;font-weight:600;transition:background .2s}.exam-timer-stop:hover{background:#ffffff47}.sidebar-hint{color:#6b7280;margin:.3rem 0 0;font-size:.78rem;font-style:italic}.exam-intro-box{background:var(--card-bg,#1e293b);text-align:center;border:1px solid #63b3ed40;border-radius:16px;flex-direction:column;align-items:center;gap:1rem;max-width:480px;margin:2rem auto;padding:2.5rem 2rem;display:flex;box-shadow:0 8px 32px #00000059}.exam-intro-icon{color:#63b3ed;width:3rem;height:3rem}.exam-intro-icon svg{width:100%;height:100%}.exam-intro-title{color:#e0f0ff;margin:0;font-size:1.6rem;font-weight:700}.exam-intro-desc{color:#94a3b8;margin:0;font-size:.95rem;line-height:1.6}.exam-intro-rules{flex-direction:column;gap:.4rem;width:100%;margin:0;padding:0;list-style:none;display:flex}.exam-intro-rules li{color:#cbd5e1;text-align:left;background:#ffffff0d;border-radius:8px;align-items:center;gap:.65rem;padding:.5rem .9rem;font-size:.88rem;display:flex}.exam-rule-icon{color:#63b3ed;flex-shrink:0;width:1rem;height:1rem}.exam-intro-begin{color:#fff;cursor:pointer;background:linear-gradient(135deg,#2563eb 0%,#1d4ed8 100%);border:none;border-radius:10px;margin-top:.5rem;padding:.75rem 2.5rem;font-size:1.05rem;font-weight:700;transition:transform .15s,box-shadow .15s;box-shadow:0 4px 14px #2563eb73}.exam-intro-begin:hover{transform:translateY(-2px);box-shadow:0 6px 20px #2563eb99}.exam-intro-cancel{color:#64748b;cursor:pointer;background:0 0;border:none;padding:0;font-size:.85rem;text-decoration:underline}.exam-intro-cancel:hover{color:#94a3b8}.exam-results-screen{flex-direction:column;gap:1.25rem;max-width:680px;margin:1.5rem auto;display:flex}.exam-results-header{text-align:center;background:linear-gradient(135deg,#0072c6 0%,#003f8a 100%);border:1px solid #63b3ed59;border-radius:16px;flex-direction:column;align-items:center;gap:.4rem;padding:2rem;display:flex}.exam-results-icon{font-size:2.8rem;line-height:1}.exam-results-header h2{color:#e0f0ff;margin:0;font-size:1.6rem}.exam-results-sub{color:#94a3b8;margin:0;font-size:.95rem}.exam-results-score{color:#63b3ed;margin-top:.25rem;font-size:3rem;font-weight:800;line-height:1}.exam-results-list{flex-direction:column;gap:.6rem;display:flex}.exam-result-row{border:1px solid #0000;border-left-width:4px;border-radius:10px;align-items:flex-start;gap:.85rem;padding:1rem 1.1rem;display:flex}.exam-result-correct{background:#0e4021eb;border-color:#22c55e #22c55e #22c55e #16a34a}.exam-result-wrong{background:#501212eb;border-color:#f87171 #f87171 #f87171 #dc2626}.exam-result-skipped{opacity:.9;background:#0f1724eb;border-color:#94a3b84d #94a3b84d #94a3b84d #64748b}.exam-result-num{color:#e2e8f0;background:#ffffff1f;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;min-width:1.9rem;height:1.9rem;font-size:.8rem;font-weight:700;display:flex}.exam-result-body{flex-direction:column;flex:1;gap:.35rem;display:flex}.exam-result-q{color:#f1f5f9;margin:0;font-size:.95rem;font-weight:600;line-height:1.5}.exam-result-meta{color:#cbd5e1;margin:0;font-size:.85rem;line-height:1.4}.exam-result-meta strong{color:#f1f5f9}.exam-result-correct .exam-result-meta strong{color:#86efac}.exam-result-wrong .exam-result-meta strong{color:#fca5a5}.exam-result-explanation{color:#93c5fd;margin:.15rem 0 0;font-size:.82rem;font-style:italic;line-height:1.45}.exam-result-learn-link{color:#60a5fa;border-bottom:1px dashed #3b82f6;margin-top:.35rem;font-size:.8rem;font-weight:600;text-decoration:none;transition:color .15s,border-color .15s;display:inline-block}.exam-result-learn-link:hover{color:#93c5fd;border-color:#93c5fd}.exam-result-badge{flex-shrink:0;margin-top:.05rem;font-size:1.25rem}.exam-result-cat-chip{text-transform:uppercase;letter-spacing:.07em;color:#ffffff8c;background:#ffffff1a;border-radius:999px;margin-bottom:.3rem;padding:.15rem .55rem;font-size:.68rem;font-weight:700;display:inline-block}.exam-category-breakdown{border-bottom:1px solid #ffffff14;padding:1.25rem 1.5rem}.exam-breakdown-title{text-transform:uppercase;letter-spacing:.08em;color:#ffffff73;margin:0 0 .85rem;font-size:.78rem;font-weight:700}.exam-breakdown-grid{flex-direction:column;gap:.45rem;display:flex}.exam-breakdown-item{border-left:3px solid #0000;border-radius:8px;align-items:center;gap:.75rem;padding:.5rem .85rem;display:flex}.exam-breakdown-item--strong{background:#22c55e1f;border-left-color:#22c55e}.exam-breakdown-item--ok{background:#fbbf241a;border-left-color:#fbbf24}.exam-breakdown-item--weak{background:#ef44441f;border-left-color:#ef4444}.exam-breakdown-cat{color:#e2e8f0;flex:1;font-size:.88rem;font-weight:600}.exam-breakdown-score{color:#ffffff80;font-variant-numeric:tabular-nums;font-size:.82rem}.exam-breakdown-pct{text-align:right;font-variant-numeric:tabular-nums;min-width:3.2rem;font-size:.88rem;font-weight:700}.exam-breakdown-item--strong .exam-breakdown-pct{color:#86efac}.exam-breakdown-item--ok .exam-breakdown-pct{color:#fde68a}.exam-breakdown-item--weak .exam-breakdown-pct{color:#fca5a5}.exam-results-actions{flex-direction:column;align-items:center;gap:.75rem;padding-bottom:2rem;display:flex}.cd-modal{max-width:500px;max-height:85vh;overflow-y:auto}.cd-section-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:-.25rem;font-size:.78rem;font-weight:700}.cd-card-form{background:var(--bg-card-hover);border:1.5px solid var(--border-subtle);border-radius:10px;flex-direction:column;gap:.65rem;padding:.85rem;display:flex}.cd-add-card-btn{background:var(--bg-card-hover);border:1.5px solid var(--border-card);color:var(--brand);cursor:pointer;border-radius:8px;align-self:flex-start;padding:.45rem 1rem;font-size:.85rem;font-weight:600;transition:background .15s,border-color .15s}.cd-add-card-btn:hover:not(:disabled){background:var(--border-subtle);border-color:var(--brand)}.cd-add-card-btn:disabled{opacity:.4;cursor:not-allowed}.cd-preview-list{flex-direction:column;gap:.5rem;display:flex}.cd-preview-item{background:var(--bg-card-hover);border:1px solid var(--border-subtle);border-radius:8px;align-items:center;gap:.5rem;padding:.45rem .65rem;font-size:.83rem;display:flex}.cd-preview-q{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:600;overflow:hidden}.cd-preview-sep{color:var(--text-muted);flex-shrink:0}.cd-preview-a{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.cd-preview-remove{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:2px 4px;font-size:.8rem;transition:color .15s}.cd-preview-remove:hover{color:var(--wrong)}.cd-decks-list{flex-direction:column;gap:.6rem;display:flex}.cd-deck-entry{background:var(--bg-card-hover);border:1.5px solid var(--border-subtle);border-radius:12px;align-items:center;gap:.85rem;padding:.75rem .85rem;transition:border-color .15s;display:flex}.cd-deck-entry:hover{border-color:var(--brand)}.cd-deck-avatar{color:#fff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;font-size:.85rem;font-weight:800;display:flex}.cd-deck-info{flex-direction:column;flex:1;gap:.15rem;min-width:0;display:flex}.cd-deck-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.92rem;font-weight:700;overflow:hidden}.cd-deck-meta{color:var(--text-muted);font-size:.78rem}.cd-deck-actions{flex-shrink:0;align-items:center;gap:.4rem;display:flex}.cd-study-btn{background:linear-gradient(135deg, var(--brand), var(--brand-dark));color:var(--text-on-brand);cursor:pointer;border:none;border-radius:7px;padding:.35rem .85rem;font-size:.8rem;font-weight:700;transition:opacity .15s}.cd-study-btn:hover{opacity:.85}.cd-delete-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 6px;font-size:1rem;transition:color .15s}.cd-delete-btn:hover{color:var(--wrong)}.cd-edit-view{flex-direction:column;gap:.5rem;padding-top:.25rem;display:flex}.cd-edit-back{color:var(--accent);cursor:pointer;text-align:left;opacity:.8;background:0 0;border:none;padding:0 0 .75rem;font-size:.85rem;transition:opacity .15s}.cd-edit-back:hover{opacity:1}.cd-edit-card-list{scrollbar-width:thin;scrollbar-color:var(--accent) transparent;flex-direction:column;gap:8px;max-height:320px;padding:4px 2px;display:flex;overflow-y:auto}.cd-edit-card-row{background:#ffffff0a;border:1px solid #ffffff14;border-radius:10px;align-items:center;gap:8px;padding:8px 10px;display:flex}.cd-edit-card-num{color:var(--text-muted);text-align:right;opacity:.6;min-width:18px;font-size:.75rem}.cd-edit-card-fields{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.cd-edit-input{margin:0!important;padding:6px 10px!important;font-size:.85rem!important}.cd-edit-input--id{opacity:.6;letter-spacing:.03em;font-family:monospace;font-size:.75rem!important}.cd-edit-input--id:focus{opacity:1}.cd-difficulty-select{cursor:pointer;appearance:auto;width:100%}.cd-edit-btn{cursor:pointer;opacity:.5;background:0 0;border:none;border-radius:6px;padding:4px 6px;font-size:.95rem;transition:opacity .15s}.cd-edit-btn:hover{opacity:1}.cd-empty{color:var(--text-muted);text-align:center;margin:0;padding:1.5rem 0;font-size:.88rem;font-style:italic}.splash-chooser-grid{grid-template-columns:1fr 1fr 1fr;gap:14px;width:100%;margin:18px 0 8px;display:grid}.splash-choice-card{cursor:pointer;text-align:left;border:none;border-radius:14px;flex-direction:column;align-items:flex-start;gap:6px;padding:20px 18px 16px;transition:transform .15s,box-shadow .15s;display:flex;box-shadow:0 4px 18px #00000038}.splash-choice-card:hover{transform:translateY(-4px);box-shadow:0 10px 28px #00000052}.splash-choice-icon{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid #fff3;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:2.4rem;height:2.4rem;margin-bottom:6px;padding:.45rem;transition:transform .2s;display:flex}.splash-choice-card:hover .splash-choice-icon{transform:scale(1.1)}.splash-choice-icon svg{stroke:currentColor;width:100%;height:100%}.splash-choice-title{color:#fff;font-size:1rem;font-weight:700}.splash-choice-desc{color:#fff9;font-size:.78rem;line-height:1.4}.splash-choice-cta{color:#ffffff80;margin-top:auto;padding-top:8px;font-size:.78rem;font-weight:600}.splash-back{color:var(--text-muted,#94a3b8);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;padding:0 0 12px;font-size:.85rem;transition:color .15s;display:flex}.splash-back:hover{color:var(--text,#e8eaf6)}.splash-topics-search{border:1.5px solid var(--border-card,#0078d440);background:var(--bg-card-hover,#0078d40a);width:100%;color:var(--text-primary,#0f172a);border-radius:10px;outline:none;padding:.55rem .9rem .55rem 2.2rem;font-size:.88rem;transition:border-color .15s,box-shadow .15s}.splash-topics-search:focus{border-color:var(--brand,#0078d4);box-shadow:0 0 0 3px #0078d41f}.splash-topics-search::placeholder{color:var(--text-muted,#94a3b8)}.splash-topics-search-wrap{flex-shrink:0;width:100%;position:relative}.splash-topics-search-icon{color:var(--text-muted,#94a3b8);pointer-events:none;display:flex;position:absolute;top:50%;left:.65rem;transform:translateY(-50%)}.splash-topics-list{scrollbar-width:thin;scrollbar-color:#0078d440 transparent;grid-template-columns:1fr 1fr;gap:8px;width:100%;max-height:320px;padding:4px 2px;display:grid;overflow:visible auto}.splash-topics-list::-webkit-scrollbar{width:5px}.splash-topics-list::-webkit-scrollbar-thumb{background:#0078d440;border-radius:99px}.splash-topic-card{background:var(--bg-card,#fff);border:1.5px solid #0078d42e;border-left:3px solid var(--topic-accent,#0078d4);cursor:pointer;text-align:left;border-radius:10px;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px 10px 14px;transition:background .15s,border-color .15s,box-shadow .15s,transform .15s;display:flex;position:relative;overflow:hidden}.splash-topic-card:before{content:"";background:linear-gradient(135deg, var(--topic-accent,#0078d4) 0%, transparent 60%);opacity:0;border-radius:inherit;transition:opacity .2s;position:absolute;inset:0}.splash-topic-card:hover{border-color:var(--topic-accent,#0078d4);transform:translateY(-2px);box-shadow:0 4px 14px #0078d426}.splash-topic-card:hover:before{opacity:.06}.splash-topic-name{color:var(--text-primary,#0f172a);font-size:.85rem;font-weight:600;line-height:1.3;position:relative}.splash-topic-count{color:var(--topic-accent,#0078d4);white-space:nowrap;background:#0078d41a;border-radius:999px;flex-shrink:0;padding:2px 8px;font-size:.74rem;font-weight:700;position:relative}.splash-mydecks-empty{color:var(--text-muted);flex-direction:column;align-items:center;gap:.6rem;padding:2rem 1rem;font-size:.9rem;display:flex}.splash-mydecks-empty p{margin:0}.splash-mydecks-create-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#8b5cf6,#5b21b6);border:none;border-radius:9px;padding:.55rem 1.4rem;font-size:.88rem;font-weight:700;transition:opacity .15s,transform .15s;box-shadow:0 3px 12px #8b5cf659}.splash-mydecks-create-btn:hover{opacity:.88;transform:translateY(-2px)}.header-decks-btn{color:var(--text,#e8eaf6);cursor:pointer;white-space:nowrap;background:#ffffff1a;border:1px solid #ffffff2e;border-radius:20px;padding:4px 14px;font-size:.85rem;transition:background .15s}.header-decks-btn:hover{background:#fff3}
