:root{color-scheme:light dark;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:radial-gradient(circle at top,#101827,#020617);color:#e5e7eb}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh;display:flex;align-items:center;justify-content:center}body:has(.app-environment-banner){padding-top:32px}.app-environment-banner{position:fixed;top:0;left:0;right:0;z-index:100100;padding:7px 14px;text-align:center;font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#fecaca;background:#450a0af7;border-bottom:1px solid #ef4444;box-shadow:0 2px 12px #00000059;pointer-events:none}.app-root{width:100%;max-width:960px;padding:24px}.app-root.admin-screen-root{max-width:min(100%,1400px)}.admin-screen-card{max-width:100%}.app-brand-head{display:flex;flex-direction:column;align-items:center;gap:10px;margin:0 0 4px}.app-brand-logo{display:block;max-height:83px;width:auto;max-width:min(100%,312px);object-fit:contain}.app-title{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:.2em;text-align:center;margin:0 0 4px;font-size:1.8rem;letter-spacing:.04em;color:#e2e8f0}.app-brand-wordmark{display:inline-flex;align-items:baseline;white-space:nowrap;font-weight:700;letter-spacing:.02em}.app-brand-lume{background:linear-gradient(118deg,#e8e2dc,#fff 48%,#f2eee9);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 10px rgba(255,255,255,.22))}@supports not (background-clip: text){.app-brand-lume{color:#f2eee9;filter:none}}.app-brand-xcel{background:linear-gradient(118deg,#e0a800,#f5c33b 52%,#ffd76a);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 8px rgba(245,195,59,.35))}@supports not (background-clip: text){.app-brand-xcel{color:#f5c33b;filter:none}}.app-brand-title-suffix{color:#e2e8f0;font-weight:600;letter-spacing:.03em}.app-about-heading .app-brand-wordmark{font-size:1em}.app-brand-head .app-title{margin-bottom:0}.app-tagline{text-align:center;margin:0 0 24px;font-size:.9rem;color:#94a3b8;font-style:italic}.user-menu-wrap{position:fixed;top:16px;right:24px;z-index:1000;cursor:default}.user-menu-header{display:flex;flex-direction:column;align-items:center;gap:6px}.user-menu-username{font-size:.8rem;color:#94a3b8;max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}.user-menu-btn,.user-menu-btn:hover,.user-menu-btn .user-menu-icon{cursor:default!important}.user-menu-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:1px solid rgba(148,163,184,.5);border-radius:50%;background:#1e293bf2;color:#e2e8f0;transition:background .15s,border-color .15s;box-shadow:0 4px 12px #0000004d}.user-menu-btn:hover{background:#334155f2;border-color:#64748b}.user-menu-icon{font-size:1.15rem;font-weight:600;line-height:1;pointer-events:none}.user-menu-avatar{width:100%;height:100%;object-fit:cover;border-radius:50%;pointer-events:none}.user-menu-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:180px;margin:0;padding:6px 0;list-style:none;background:#0f172afa;border:1px solid rgba(148,163,184,.4);border-radius:12px;box-shadow:0 12px 32px #00000080}.user-menu-item{display:block;width:100%;padding:10px 16px;border:none;background:none;color:#e2e8f0;font-size:.95rem;text-align:left;cursor:pointer;transition:background .15s}.user-menu-item:hover{background:#334155cc}.user-menu-item-signout{color:#f87171}.user-menu-item-signout:hover{background:#f8717126}.profile-picture-section{margin-bottom:20px;display:flex;flex-wrap:wrap;align-items:center;gap:16px}.profile-picture-wrap{width:96px;height:96px;border-radius:50%;overflow:hidden;border:2px solid rgba(148,163,184,.4);background:#1e293bcc;flex-shrink:0}.profile-picture-img{width:100%;height:100%;object-fit:cover}.profile-picture-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:2rem;color:#64748b}.profile-picture-input{position:absolute;width:.1px;height:.1px;opacity:0;overflow:hidden;z-index:-1}.profile-picture-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.profile-details{display:flex;flex-direction:column;gap:10px;margin-top:12px}.profile-row{display:flex;flex-wrap:wrap;gap:12px;align-items:baseline}.profile-row-editable{align-items:baseline}.profile-row-editable .profile-edit-input{width:200px;min-width:120px;max-width:100%;padding:6px 10px;font-size:.95rem;line-height:1.4;box-sizing:border-box}.profile-change-password-popup{max-width:min(440px,100%)}.profile-change-password-form .login-label{margin-top:10px}.profile-change-password-form .login-label:first-of-type{margin-top:0}.profile-change-password-actions{display:flex;flex-direction:column;gap:12px;margin-top:16px}.profile-change-password-cancel{text-align:center}.profile-label{flex:0 0 140px;min-width:140px;color:#94a3b8;font-size:.9rem}.profile-header-row{display:flex;justify-content:space-between;align-items:center}.profile-close-btn{width:36px;height:36px;padding:0;border:none;background:none;color:#94a3b8;font-size:1.75rem;line-height:1;cursor:pointer;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:color .15s,background .15s}.profile-close-btn:hover,.profile-close-btn:focus-visible{color:#fff;background:#ef4444;outline:none}.profile-close-btn:focus-visible{box-shadow:0 0 0 2px #0f172a,0 0 0 4px #fca5a5}.profile-close-btn:active{background:#dc2626}.profile-save-row{margin-top:20px;padding-top:16px;border-top:1px solid rgba(148,163,184,.2)}.profile-badge-cabinet-row{margin-top:20px;padding-top:16px;border-top:1px solid rgba(148,163,184,.2);text-align:center}.profile-badge-cabinet-btn{min-width:220px}.profile-badge-cabinet-hint{margin-top:10px;margin-bottom:0;font-size:.85rem;color:#94a3b8}.badge-cabinet-root .badge-cabinet-card-wrap{max-width:960px;margin:0 auto}.badge-cabinet-page-title{text-align:center;margin-bottom:8px}.badge-cabinet-intro{text-align:center;margin-bottom:20px}.badge-cabinet-category-tabs{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid rgba(148,163,184,.25)}.badge-cabinet-tab{padding:8px 14px;border-radius:999px;border:1px solid #475569;background:#1e293b;color:#cbd5e1;font-size:.85rem;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.badge-cabinet-tab:hover{border-color:#64748b;color:#f1f5f9}.badge-cabinet-tab-active{background:linear-gradient(135deg,#4f46e5,#7c3aed);border-color:transparent;color:#fff}.badge-cabinet-section{margin-bottom:28px}.badge-cabinet-section-title{font-size:1.05rem;font-weight:600;color:#e2e8f0;margin:0 0 6px;padding-bottom:8px;border-bottom:1px solid #334155}.badge-cabinet-section-sub{margin:0 0 14px;font-size:.85rem;color:#94a3b8}.badge-cabinet-empty{margin:0;font-size:.9rem;color:#64748b;font-style:italic}.badge-cabinet-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.badge-cabinet-card{display:flex;gap:12px;padding:14px 16px;background:#1e293b;border:1px solid #334155;border-radius:12px;text-align:left}.badge-cabinet-card-earned{border-color:#2dd4bf59}.badge-cabinet-card-locked{opacity:.92}.badge-cabinet-card-hidden{border-style:dashed;border-color:#475569;background:#0f172a}.badge-cabinet-card-icon{font-size:2rem;line-height:1;flex-shrink:0;width:2.5rem;text-align:center}.badge-cabinet-card-body{min-width:0;flex:1}.badge-cabinet-card-name{margin:0 0 6px;font-size:1rem;font-weight:600;color:#f1f5f9}.badge-cabinet-card-desc{margin:0 0 8px;font-size:.82rem;line-height:1.45;color:#94a3b8}.badge-cabinet-card-reward,.badge-cabinet-card-tier,.badge-cabinet-card-date{margin:0 0 4px;font-size:.8rem;color:#cbd5e1}.badge-cabinet-card-locked-label{color:#64748b;font-style:italic;margin-top:6px;margin-bottom:0}.badge-cabinet-meta-label{color:#64748b;font-weight:600;margin-right:6px;text-transform:uppercase;font-size:.65rem;letter-spacing:.04em}.badge-cabinet-footer{margin-top:28px;padding-top:20px;border-top:1px solid rgba(148,163,184,.25);display:flex;justify-content:center}.badge-cabinet-close-btn{min-width:200px}.badge-cabinet-conditions-link{display:inline-block;margin-top:10px;font-size:.85rem}.badge-conditions-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10050;background:#0f172abf;display:flex;align-items:center;justify-content:center;padding:24px;box-sizing:border-box}.badge-conditions-modal{width:100%;max-width:420px;max-height:min(80vh,520px);overflow:auto;padding:20px 22px;border-radius:14px;background:#0f172afa;border:1px solid rgba(129,140,248,.4);box-shadow:0 24px 48px #0000008c}.badge-conditions-modal-title{margin:0 0 14px;font-size:1.05rem;font-weight:600;color:#f1f5f9;line-height:1.35}.badge-conditions-modal-sub{font-weight:500;color:#94a3b8;font-size:.9rem}.badge-conditions-modal-list{margin:0 0 18px;padding-left:1.2rem;color:#cbd5e1;font-size:.9rem;line-height:1.5}.badge-conditions-modal-list li{margin-bottom:8px}.badge-conditions-modal-list li:last-child{margin-bottom:0}.badge-conditions-modal-close{width:100%;max-width:200px;display:block;margin:0 auto}.results-time-spent{text-align:center;margin-top:8px;margin-bottom:4px}.review-card .results-time-spent{margin-bottom:12px}.enrollments-screen .card>.question,.enrollments-screen .enrollment-history-card>.question{text-align:center;margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid rgba(148,163,184,.35)}.enrollments-screen .enrollment-history-card{margin-top:28px}.enrollments-table-wrap{overflow-x:auto;margin-top:12px}.enrollments-table{width:100%;border-collapse:collapse;font-size:.9rem}.enrollments-table th,.enrollments-table td{padding:10px 12px;text-align:left;border-bottom:1px solid rgba(148,163,184,.2)}.enrollments-table th{color:#94a3b8;font-weight:600}.enrollments-table td{color:#e2e8f0}.enrollment-badge{display:inline-block;padding:2px 8px;border-radius:6px;font-size:.8rem;font-weight:600}.view-courses-list{list-style:none;margin:0;padding:0;border:1px solid rgba(148,163,184,.25);border-radius:8px;overflow:hidden;background:#0f172a4d}.view-courses-list li{border-bottom:1px solid rgba(148,163,184,.2)}.view-courses-list li:last-child{border-bottom:none}.view-courses-item{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:10px 14px;text-align:left;border:none;border-radius:0;background:transparent;color:#e2e8f0;cursor:pointer;transition:background .15s}.view-courses-item:hover{background:#1e293b99}.view-courses-item-selected{background:#3b82f633}.view-courses-item-selected:hover{background:#3b82f640}.view-courses-item-title{font-weight:600;font-size:.95rem}.view-courses-item-meta{font-size:.82rem;color:#94a3b8}.view-courses-categories{display:flex;flex-direction:column;gap:20px}.view-courses-category-block{padding:16px;border:1px solid rgba(148,163,184,.25);border-radius:10px;background:#0f172a66}.view-courses-category-title{margin:0 0 8px;font-size:1.1rem;color:#e2e8f0}.view-courses-category-desc{margin:0;font-size:.9rem;color:#94a3b8;max-width:min(65ch,100%);overflow-wrap:break-word;word-wrap:break-word;white-space:normal;line-height:1.5}.view-courses-topic-list,.view-courses-difficulty-list{margin:8px 0 0;padding-left:20px;color:#cbd5e1;font-size:.9rem}.view-courses-topic-list li,.view-courses-difficulty-list li{margin-bottom:4px}.view-courses-topic-checkbox-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.view-courses-topic-checkbox-list li{margin:0}.view-courses-topic-checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer;color:#e2e8f0;font-size:.95rem}.view-courses-topic-checkbox-label input[type=checkbox]{width:18px;height:18px;accent-color:#3b82f6;cursor:pointer;flex-shrink:0}.view-courses-one-screen{max-width:100%;box-sizing:border-box}.view-courses-one-screen .view-courses-title{text-align:center;padding-bottom:12px;margin-bottom:12px;border-bottom:1px solid rgba(148,163,184,.35)}.view-courses-one-screen .view-courses-section{margin-top:24px;padding-top:20px;border-top:1px solid rgba(148,163,184,.2);min-width:0}.view-courses-one-screen .view-courses-section:first-of-type{margin-top:0;padding-top:0;border-top:none}.view-courses-section-title{margin:0 0 10px;font-size:1rem;font-weight:600;color:#cbd5e1}.view-courses-save-row{margin-top:28px;padding-top:20px;border-top:1px solid rgba(148,163,184,.2);display:flex;align-items:center;gap:16px}.view-courses-save-msg{font-size:.9rem;color:#4ade80}.view-courses-select{width:100%;max-width:400px;padding:10px 14px;border-radius:8px;border:1px solid rgba(148,163,184,.5);background:#1e293bcc;color:#f1f5f9;font-size:1rem;cursor:pointer;box-sizing:border-box;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.view-courses-select:focus{outline:none;border-color:#60a5fa;box-shadow:0 0 0 2px #60a5fa40}.view-courses-category-content{margin-top:14px;padding:12px 0 0;border-top:1px solid rgba(148,163,184,.2);max-width:100%;min-width:0}.view-courses-mastery-wrap{max-width:480px;overflow-wrap:break-word;word-wrap:break-word;overflow-x:hidden}.view-courses-mastery-wrap .view-courses-category-desc{max-width:100%}.view-courses-mastery-label.view-courses-mastery-critical{color:#f87171}.view-courses-mastery-label.view-courses-mastery-functional{color:#fb923c}.view-courses-mastery-label.view-courses-mastery-high{color:#22c55e}.enrollment-badge.active{background:#22c55e33;color:#4ade80}.enrollment-badge.expired{background:#94a3b833;color:#94a3b8}.enrollment-input{width:64px;padding:6px 8px;border-radius:6px;border:1px solid rgba(148,163,184,.5);background:#1e293bcc;color:#e2e8f0;font-size:.9rem}.enrollment-save-btn{padding:6px 12px;font-size:.85rem}.exam-page-menu{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin:0 0 20px}.exam-menu-btn{background:none;border:1px solid #475569;color:#e2e8f0;padding:8px 16px;border-radius:8px;font-size:.9rem;cursor:pointer;transition:background .15s,border-color .15s}.exam-menu-btn:hover{background:#33415599;border-color:#64748b}.subject-chat-stack{display:flex;flex-direction:column;gap:16px;min-width:0}.badge-dashboard-wrap{width:100%;min-width:0}.badge-dashboard-subtitle{margin:0 0 12px;font-size:.85rem;color:#94a3b8;text-align:left}.badge-dashboard-loading{margin:0 0 8px;font-size:.85rem;text-align:center}.badge-dashboard-in-tab{min-width:0}.badge-dashboard-level-row{text-align:center;margin-bottom:12px}.badge-dashboard-level-label{font-size:.95rem;color:#e2e8f0}.badge-dashboard-level-label strong{color:#f1f5f9}.badge-dashboard-rank{color:#a5b4fc;font-weight:500}.badge-dashboard-bar-wrap{margin-bottom:14px}.badge-dashboard-bar-track{width:100%;height:10px;border-radius:6px;background:#ffffff14;overflow:hidden}.badge-dashboard-bar-fill{height:100%;border-radius:6px;background:linear-gradient(90deg,#38bdf8,#818cf8);transition:width .25s ease}.badge-dashboard-bar-caption{display:block;margin-top:6px;font-size:.78rem;color:#94a3b8;text-align:center}.badge-dashboard-xp-maxed-note{margin:0 0 14px;font-size:.85rem;color:#a5b4fc;text-align:center}.badge-dashboard-stats-list{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-direction:column;gap:8px;font-size:.9rem;color:#e2e8f0}.badge-dashboard-stats-list li{display:flex;align-items:center;gap:10px}.badge-dashboard-stat-emoji{font-size:1.2rem;line-height:1;width:1.75rem;text-align:center;flex-shrink:0}.badge-dashboard-hint{margin:0;padding:12px;background:#6366f11f;border:1px solid rgba(129,140,248,.25);border-radius:10px;font-size:.88rem;line-height:1.45;color:#e2e8f0;display:flex;gap:10px;align-items:flex-start}.badge-dashboard-hint-ico{flex-shrink:0;line-height:1.3;font-size:1.1rem}.badge-dashboard-hint-text{flex:1;min-width:0;white-space:normal}.badge-dashboard-empty{margin:0;font-size:.85rem;text-align:center}.card{background:#0f172af0;border-radius:16px;padding:24px;box-shadow:0 16px 40px #00000080;border:1px solid rgba(148,163,184,.4)}.login-card{max-width:380px;margin:0 auto}.login-card .app-tagline{border-bottom:1px solid #334155;padding-bottom:12px}.login-heading{margin:0 0 20px;font-size:1.25rem;font-weight:600;color:#f1f5f9;text-align:center}.login-form{display:flex;flex-direction:column;gap:16px}.login-label{font-size:.9rem;font-weight:500;color:#cbd5e1;margin:0}.login-input{width:100%;padding:10px 14px;border-radius:10px;border:1px solid rgba(148,163,184,.5);background:#1e293bcc;color:#f1f5f9;font-size:1rem;box-sizing:border-box}.login-input::placeholder{color:#64748b}.login-input:focus{outline:none;border-color:#60a5fa;box-shadow:0 0 0 2px #60a5fa40}.login-error{margin:0;font-size:.9rem;color:#f87171}.login-submit{margin-top:8px}.login-links{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:16px;font-size:.9rem}.login-link{color:#60a5fa;text-decoration:none}.login-link:hover{text-decoration:underline}.create-account-card{max-width:520px}.create-account-form{gap:10px}.create-account-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px}.create-account-field{display:flex;flex-direction:column;gap:4px;min-width:0}.create-account-select{cursor:pointer;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.create-account-actions{display:flex;flex-direction:column;gap:10px;margin-top:8px}.create-account-back-btn{padding:10px 14px;border-radius:999px;border:1px solid rgba(148,163,184,.5);background:transparent;color:#cbd5e1;font-size:1rem;cursor:pointer;transition:background .15s ease,color .15s ease}.create-account-back-btn:hover:not(:disabled){background:#94a3b826;color:#f1f5f9}.create-account-back-btn:disabled{opacity:.6;cursor:not-allowed}.create-account-success{margin:0 0 20px;color:#94a3b8;text-align:center}.required{color:#f87171}.forgot-desc{margin:0 0 16px;font-size:.9rem;color:#94a3b8}.forgot-options{display:flex;flex-direction:column;gap:10px;margin-bottom:4px}.forgot-option{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:.95rem;color:#cbd5e1}.forgot-option input{accent-color:#60a5fa}.meta{display:flex;justify-content:space-between;gap:8px;font-size:.85rem;color:#9ca3af}.meta-top{margin-bottom:8px;align-items:center}.quiz-timer-wrap{position:relative;width:56px;height:56px;flex-shrink:0}.quiz-timer-ring{width:100%;height:100%;transform:rotate(-90deg)}.quiz-timer-ring-bg{fill:none;stroke:#94a3b840;stroke-width:3}.quiz-timer-ring-fill{fill:none;stroke:#60a5fa;stroke-width:3;stroke-linecap:round;transition:stroke-dasharray 1s linear}.quiz-timer-low .quiz-timer-ring-fill{stroke:#f87171}.quiz-timer-text{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;color:#e5e7eb;letter-spacing:.02em}.quiz-timer-low .quiz-timer-text{color:#f87171}.question-index{margin:0 0 8px;font-size:.95rem;color:#94a3b8}.quiz-section-block{margin:0 0 14px;padding:10px 14px;border-left:3px solid #60a5fa;background:#60a5fa14;border-radius:0 8px 8px 0}.quiz-section-block-review{margin-bottom:12px}.quiz-section-instruction{font-weight:600;margin-bottom:8px;white-space:pre-wrap;color:#e2e8f0}.quiz-section-passage{white-space:pre-wrap;font-size:.95rem;line-height:1.55;color:#cbd5e1}.quiz-block-passage-wrap{border-left-color:#a78bfa;background:#a78bfa14}.quiz-block-image{display:block;max-width:100%;height:auto;margin:0 0 10px;border-radius:6px}.admin-review-section-text-cell{white-space:pre-wrap;max-width:56rem;vertical-align:top}.markdown-block{line-height:1.55}.markdown-block p{margin:.4em 0}.markdown-block p:first-child{margin-top:0}.markdown-block p:last-child{margin-bottom:0}.markdown-block h1,.markdown-block h2,.markdown-block h3,.markdown-block h4{margin:.5em 0 .35em;font-size:1.15em;font-weight:700;line-height:1.3}.markdown-block h1:first-child,.markdown-block h2:first-child,.markdown-block h3:first-child{margin-top:0}.markdown-block ul,.markdown-block ol{margin:.35em 0;padding-left:1.35em}.markdown-block li{margin:.2em 0}.markdown-block code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.9em;padding:.1em .35em;border-radius:4px;background:#0f172ad9;border:1px solid rgba(148,163,184,.35)}.markdown-block pre{margin:.5em 0;padding:10px 12px;overflow-x:auto;border-radius:8px;background:#0f172af2;border:1px solid rgba(148,163,184,.4)}.markdown-block pre code{padding:0;border:none;background:none;font-size:.88em}.markdown-block blockquote{margin:.5em 0;padding-left:.85em;border-left:3px solid rgba(96,165,250,.6);color:#cbd5e1}.markdown-block strong,.markdown-block b{font-weight:700;color:#f1f5f9}.markdown-block em,.markdown-block i{font-style:italic}.markdown-block u,.markdown-block ins,.markdown-phrasing u,.markdown-phrasing ins{text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}.markdown-block .md-link{color:#93c5fd;text-decoration:underline;text-underline-offset:2px}.markdown-block .md-link:hover{color:#bfdbfe}.markdown-phrasing{display:inline;text-align:inherit;line-height:inherit}.markdown-phrasing .md-phrasing-p{display:inline}.markdown-phrasing .md-phrasing-p+.md-phrasing-p:before{content:" "}.markdown-phrasing .md-phrasing-h,.markdown-phrasing b,.markdown-phrasing strong{font-weight:700}.markdown-phrasing i,.markdown-phrasing em{font-style:italic}.markdown-phrasing .md-phrasing-ul,.markdown-phrasing .md-phrasing-ol,.markdown-phrasing .md-phrasing-li{display:inline}.markdown-phrasing .md-phrasing-li:after{content:" · "}.markdown-phrasing .md-phrasing-li:last-child:after{content:""}.markdown-phrasing .md-phrasing-pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.88em}.markdown-phrasing .md-link{color:inherit;text-decoration:underline;text-underline-offset:2px}.question.markdown-block{margin-top:16px;margin-bottom:16px;font-size:1.2rem}.review-question-text.markdown-block{margin:.5em 0 .75em;font-size:1.05rem}.review-explanation-md.markdown-block{margin-top:.35em;font-size:.95rem}.review-explanation .markdown-block{display:block}.quiz-section-instruction.markdown-block{margin-bottom:8px}.quiz-section-passage.markdown-block{font-size:.95rem;color:#cbd5e1}.question{margin-top:16px;margin-bottom:16px;font-size:1.2rem}.results-tally{font-size:1.25rem;margin:16px 0 24px;color:#e5e7eb}.options{list-style:none;padding:0;margin:0 0 12px;display:flex;flex-direction:column;gap:8px}.option-btn{width:100%;text-align:left;padding:10px 12px;border-radius:10px;border:1px solid rgba(148,163,184,.6);background:#0f172ae6;color:inherit;cursor:pointer;transition:background .15s ease,transform .05s ease,border-color .15s ease,box-shadow .15s ease}.option-btn:hover:not(:disabled){background:#1e40af99;border-color:#60a5fa;box-shadow:0 6px 20px #2563eb80;transform:translateY(-1px)}.option-btn:disabled{cursor:default;opacity:.95}.question-stem-assets{margin:12px 0 16px;display:flex;flex-direction:column;align-items:center;gap:12px;width:100%}.question-asset-figure{margin:0;display:flex;flex-direction:column;align-items:center;width:100%}.question-asset-img{max-width:min(100%,380px);max-height:220px;width:auto;height:auto;object-fit:contain;border-radius:10px;border:1px solid rgba(148,163,184,.35);display:block;margin-left:auto;margin-right:auto;background:#0f172a80}.question-asset-caption{margin:6px 0 0;font-size:.85rem;color:#94a3b8;text-align:center}.option-label-with-image{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;width:100%}.option-label-with-image .option-text{flex:0 1 auto;min-width:0;max-width:100%;text-align:left}.option-asset-img{max-width:min(100%,200px);max-height:110px;width:auto;height:auto;object-fit:contain;border-radius:8px;border:1px solid rgba(148,163,184,.4);background:#0f172a80;display:block;margin-left:auto;margin-right:auto}.option-correct-selected,.option-correct{background:#16a34a2e;border-color:#4ade80}.option-incorrect-selected{background:#dc262633;border-color:#f87171}.feedback{margin-top:12px;padding-top:8px;border-top:1px dashed rgba(148,163,184,.5)}.feedback-title{margin:0 0 4px;font-weight:600}.feedback-explanation{margin:0;font-size:.95rem;color:#d1d5db}.nav-buttons{display:flex;gap:12px;margin-top:20px;align-items:center}.prev-btn{padding:10px 18px;border-radius:999px;border:1px solid rgba(148,163,184,.6);background:#0f172ae6;color:inherit;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .06s ease}.prev-btn:hover:not(:disabled){background:#1e40af66;border-color:#60a5fa;transform:translateY(-1px)}.prev-btn:disabled{opacity:.5;cursor:not-allowed}.nav-buttons .next-btn{flex:1;margin-top:0}.quiz-submit-row{display:flex;justify-content:center;margin-top:16px}.quiz-submit-row .quiz-submit-btn{width:auto;min-width:200px;max-width:320px;flex:0 0 auto;margin-top:0;background:linear-gradient(135deg,#059669,#0d9488);box-shadow:0 10px 28px #05966973}.quiz-submit-row .quiz-submit-btn:hover{filter:brightness(1.06);box-shadow:0 14px 36px #0d948880}.quiz-submit-row .quiz-submit-btn:active{box-shadow:0 6px 18px #05966966}.quiz-submit-confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100000;background:#000000a6;display:flex;align-items:center;justify-content:center;padding:24px;box-sizing:border-box}.quiz-submit-confirm-dialog{background:#0f172afa;border:1px solid rgba(148,163,184,.4);border-radius:16px;padding:24px;max-width:420px;width:100%;box-shadow:0 24px 48px #00000080}.quiz-submit-confirm-title{margin:0 0 12px;font-size:1.25rem;font-weight:600;color:#e2e8f0}.quiz-submit-confirm-body{margin:0;font-size:.95rem;line-height:1.5;color:#cbd5e1}.quiz-submit-confirm-actions{display:flex;gap:12px;justify-content:flex-end;flex-wrap:wrap;margin-top:22px}.quiz-submit-confirm-actions .prev-btn,.quiz-submit-confirm-actions .next-btn{width:auto;min-width:140px;margin-top:0;flex:1 1 auto}.next-btn{margin-top:16px;width:100%;padding:10px 14px;border-radius:999px;border:none;background:linear-gradient(135deg,#2563eb,#7c3aed);color:#f9fafb;font-weight:600;letter-spacing:.04em;cursor:pointer;box-shadow:0 10px 30px #2563eba6;transition:transform .06s ease,box-shadow .1s ease,filter .12s ease}.next-btn:hover{filter:brightness(1.05);transform:translateY(-1px);box-shadow:0 14px 40px #4f46e5e6}.next-btn:active{transform:translateY(1px);box-shadow:0 6px 20px #4f46e5b3}.start-exam-btn{margin-top:12px}.start-exam-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.start-quiz-btn{margin-top:20px;background:linear-gradient(135deg,#7c3aed,#a855f7);box-shadow:0 10px 28px #7c3aed73}.start-quiz-btn:hover:not(:disabled){filter:brightness(1.06);box-shadow:0 14px 36px #a855f780}.start-quiz-btn:active:not(:disabled){transform:translateY(1px);box-shadow:0 6px 20px #7c3aed66}.start-quiz-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.start-quiz-confirm-btn{margin-top:20px;width:100%;max-width:320px}.quiz-topic-screen-root .quiz-topic-main-card{max-width:520px;margin:0 auto}.quiz-topic-screen-root .quiz-topic-checkbox-card{margin-top:16px;padding:16px 18px;background:#0f172a;border:1px solid #334155;border-radius:10px}.quiz-topic-screen-root .quiz-topic-card-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:8px}.quiz-topic-screen-root .quiz-topic-card-title-row .quiz-topic-card-title{margin:0;font-size:1rem;font-weight:600;color:#e2e8f0}.quiz-topic-screen-root .quiz-topic-select-all-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:.9rem;font-weight:500;color:#cbd5e1;flex-shrink:0;margin:0}.quiz-topic-screen-root .quiz-topic-select-all-label input{margin:0;flex-shrink:0}.quiz-topic-screen-root .quiz-topic-select-all-label input:disabled{cursor:not-allowed;opacity:.5}.quiz-topic-screen-root .quiz-topic-checkbox-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;max-height:min(50vh,360px);overflow-y:auto}.quiz-topic-screen-root .quiz-topic-checkbox-label{display:flex;align-items:flex-start;gap:10px;cursor:pointer;font-size:.95rem;color:#e2e8f0}.quiz-topic-screen-root .quiz-topic-checkbox-label input{margin-top:4px;flex-shrink:0}.quiz-topic-screen-root .quiz-topic-start-wrap{display:flex;justify-content:center;margin-top:20px;width:100%}.play-games-btn{background:linear-gradient(135deg,#0d9488,#059669);box-shadow:0 10px 30px #0d948866}.play-games-btn:hover:not(:disabled){box-shadow:0 14px 40px #05966980}.play-games-btn:active:not(:disabled){box-shadow:0 6px 20px #0d948859}.play-games-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.past-questions-btn{background:linear-gradient(135deg,#c2410c,#b45309);box-shadow:0 10px 30px #c2410c73}.past-questions-btn:hover:not(:disabled){filter:brightness(1.06);transform:translateY(-1px);box-shadow:0 14px 40px #b453098c}.past-questions-btn:active:not(:disabled){transform:translateY(1px);box-shadow:0 6px 20px #c2410c66}.past-questions-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.quiz-past-period-banner{box-sizing:border-box;text-align:center;margin:0 auto 10px;max-width:min(100%,420px);font-size:.95rem;font-weight:600;letter-spacing:.04em;color:#f9fafb;padding:10px 18px;border-radius:999px;background:linear-gradient(135deg,#c2410c,#b45309);box-shadow:0 8px 24px #c2410c66}.option-selected{background:#2563eb59;border-color:#60a5fa;box-shadow:0 0 0 1px #60a5fa80}.exam-options,.subject-list{display:flex;flex-wrap:wrap;gap:12px;margin:16px 0}.enrol-exam-select{width:100%;max-width:400px;padding:10px 14px;margin:8px 0 16px;font-size:1rem;color:#e2e8f0;background:#1e293b;border:1px solid #475569;border-radius:8px;cursor:pointer}.enrol-exam-select:hover,.enrol-exam-select:focus{border-color:#64748b;outline:none}.enrol-course-list{display:flex;flex-direction:column;gap:10px;margin:12px 0}.enrol-course-checkbox{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:10px;cursor:pointer;font-size:.95rem;color:#e2e8f0}.enrol-course-checkbox input{flex-shrink:0;width:18px;height:18px;accent-color:#3b82f6}.enrol-course-checkbox.enrol-course-enrolled{opacity:.7;color:#94a3b8}.enrol-course-checkbox.enrol-course-enrolled input:disabled{cursor:not-allowed}.enrol-duration-cost{display:flex;flex-wrap:wrap;align-items:flex-end;gap:24px;margin-top:20px;padding:16px;background:#1e293b99;border-radius:12px;border:1px solid rgba(148,163,184,.25)}.enrol-duration-cost-field{display:flex;flex-direction:column;gap:6px}.enrol-duration-cost .enrol-duration-select{min-width:140px}.enrol-cost-value{margin:0;font-size:1rem;font-weight:600;color:#e2e8f0}.enrol-summary-section{margin-top:16px;padding:16px;background:#1e293b99;border-radius:12px;border:1px solid rgba(148,163,184,.25)}.enrol-summary-title{margin:0 0 12px;font-size:1rem;color:#cbd5e1}.enrol-summary-list{margin:0;padding-left:20px}.enrol-summary-item{margin-bottom:6px;color:#e2e8f0}.enrol-payment-section{margin-top:24px;padding-top:20px;border-top:1px solid rgba(148,163,184,.3)}.enrol-payment-title{margin:0 0 12px;font-size:1rem;color:#cbd5e1}.enrol-payment-subtitle{margin:0 0 12px;font-size:.875rem;color:#94a3b8}.enrol-payment-method{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:16px}.enrol-payment-method-grid{display:flex;flex-direction:row;flex-wrap:nowrap;gap:12px}.enrol-payment-method-grid .enrol-payment-option-card{min-width:180px}.enrol-payment-option{display:flex;align-items:center;gap:8px;cursor:pointer;color:#e2e8f0}.enrol-payment-option input{width:18px;height:18px;flex-shrink:0}.enrol-payment-option-card{flex:1;flex-direction:row;align-items:center;padding:10px 16px;gap:12px;background:#1e293b99;border:1px solid rgba(148,163,184,.25);border-radius:10px;transition:border-color .15s,background .15s;min-width:0;min-height:0}.enrol-payment-option-card .enrol-payment-option-label{flex:1;min-width:0}.enrol-payment-option-icon-wrap{display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#94a3b8}.enrol-payment-option-card:has(input:checked) .enrol-payment-option-icon-wrap{color:#3b82f6}.enrol-payment-icon{width:24px;height:24px}.enrol-payment-option-card:hover{background:#33415580;border-color:#94a3b866}.enrol-payment-option-card:has(input:checked){border-color:#3b82f6;background:#3b82f61f}.enrol-payment-option-region{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8;margin-bottom:2px}.enrol-payment-option-label{font-weight:600;color:#e2e8f0}.enrol-payment-option-detail{font-size:.8rem;color:#94a3b8;margin-top:4px}.enrol-bank-details{margin-top:8px}.enrol-stripe-card-wrap{padding:12px 14px;background:#1e293b99;border:1px solid rgba(148,163,184,.25);border-radius:10px;min-height:42px}.enrol-stripe-card-wrap .InputElement{color:#e2e8f0}.enrol-total-amount{margin:16px 0 0;font-size:1rem;color:#e2e8f0}.enrol-total-amount-value{color:#3b82f6;font-weight:700}.screen-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:var(--bg);overflow:auto;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px}.screen-overlay-badge-cabinet,.screen-overlay-enrollments-overlay{justify-content:flex-start;align-items:stretch}.screen-overlay-badge-cabinet .screen-overlay-inner,.screen-overlay-enrollments-overlay .screen-overlay-inner{align-items:flex-start;justify-content:center}.screen-overlay-inner{width:100%;max-width:100%;box-sizing:border-box;display:flex;justify-content:center;align-items:center}.screen-overlay-profile .app-root,.screen-overlay-courses .app-root{max-width:520px}.screen-overlay-profile .badge-cabinet-root.app-root{max-width:960px}.screen-overlay-enrollments .app-root{max-width:920px}.screen-overlay-past-questions{justify-content:flex-start;padding:56px 24px 24px}.screen-overlay-past-questions .app-root{max-width:560px}.screen-overlay-past-questions .past-questions-field{margin-top:16px}.screen-overlay-past-questions .past-questions-field label{display:block;margin-bottom:8px;font-size:.9rem;color:#94a3b8}.screen-overlay-past-questions .past-questions-select{width:100%;max-width:240px}.past-questions-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}.past-questions-heading{margin:0;font-size:1.15rem;font-weight:600;color:#f1f5f9}.past-questions-x{flex-shrink:0;width:40px;height:40px;padding:0;border:none;border-radius:8px;background:#475569;color:#e2e8f0;font-size:1.6rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,color .2s}.past-questions-x:hover,.past-questions-x:focus-visible{background:#ef4444;color:#fff}.past-questions-muted{color:#94a3b8;font-style:italic}.past-questions-actions{display:flex;flex-direction:column;gap:10px;margin-top:16px}.past-questions-start-exam{margin-top:0}.screen-overlay-past-questions .past-questions-back{margin-top:20px}.screen-overlay-past-questions .past-questions-course-line{margin-top:10px}.past-questions-screen .app-tagline{color:#fdba74}.past-questions-card{border-top:3px solid rgba(251,146,60,.65)}.screen-overlay-games{justify-content:flex-start;padding:56px 24px 24px}.screen-overlay-games .app-root{max-width:560px}.screen-overlay-games .app-root.games-view-crossword,.screen-overlay-games .app-root.games-view-wordsearch{max-width:920px}.screen-overlay-games .screen-overlay-inner{align-items:flex-start;justify-content:center}.screen-overlay-close{position:fixed;top:16px;right:24px;z-index:10000;width:40px;height:40px;padding:0;border:none;border-radius:8px;background:#475569;color:#e2e8f0;font-size:1.6rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,color .2s;box-shadow:0 2px 8px #0000004d}.enrollment-history-card .enrollment-history-close-row{margin-top:20px;padding-top:16px;border-top:1px solid rgba(148,163,184,.25)}.enrollment-history-card .enrollment-history-close-btn{width:100%;margin-top:0}.screen-overlay-close:hover,.screen-overlay-close:focus-visible{background:#ef4444;color:#fff;outline:none}.screen-overlay-close:focus-visible{box-shadow:0 2px 8px #0000004d,0 0 0 2px #1e293b,0 0 0 4px #fca5a5}.screen-overlay-close:active{background:#dc2626}.screen-overlay-review .review-card{max-width:640px;width:100%;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.screen-overlay-review .review-scroll{overflow-y:auto;flex:1 1 auto;min-height:0}.screen-overlay-inner .app-root .app-title,.screen-overlay-inner .app-root .app-tagline{display:none}.enrol-popup-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;display:flex;align-items:center;justify-content:center;z-index:99999;padding:24px;box-sizing:border-box}.enrol-popup{background:#0f172afa;border:1px solid rgba(148,163,184,.4);border-radius:16px;padding:24px;max-width:400px;width:100%;box-shadow:0 24px 48px #00000080}.enrol-popup-title{margin:0 0 12px;font-size:1.25rem;color:#e2e8f0}.enrol-popup-message{margin:0 0 20px;font-size:1rem;line-height:1.5;color:#cbd5e1}.enrol-popup-message-success{color:#4ade80}.enrol-popup-message-error{color:#f87171}.enrol-popup-message-processing{display:flex;align-items:center;gap:12px}.enrol-popup-spinner{width:24px;height:24px;border:3px solid rgba(148,163,184,.3);border-top-color:#3b82f6;border-radius:50%;animation:enrol-spin .8s linear infinite}@keyframes enrol-spin{to{transform:rotate(360deg)}}.enrol-popup-close{width:100%}.enrol-popup-bank-details{margin:12px 0 20px;padding:12px;background:#1e293b99;border-radius:8px;font-size:.95rem;line-height:1.6;color:#cbd5e1}.enrol-popup-bank-details p{margin:6px 0}.enrol-popup-reference{display:inline-block;padding:4px 8px;background:#334155cc;border-radius:4px;font-family:ui-monospace,monospace;font-size:.9rem;word-break:break-all}.enrol-payment-fields{display:flex;flex-direction:column;gap:12px;max-width:520px}.enrol-payment-fields-row{flex-direction:row;flex-wrap:nowrap;max-width:none}.enrol-payment-fields-row .enrol-payment-field{flex:1;min-width:0}.enrol-payment-fields-row .enrol-payment-field-narrow{flex:0 0 80px;min-width:70px}.enrol-payment-row{display:flex;gap:12px}.enrol-payment-row>div,.enrol-payment-row .enrol-payment-field{flex:1;min-width:0}.enrol-payment-field{display:flex;flex-direction:column;gap:4px}.enrol-bank-placeholder{margin:0;padding:12px;background:#1e293b99;border-radius:8px;font-size:.9rem;color:#94a3b8}.admin-pending-table-wrap{overflow-x:auto;margin-top:12px}.admin-pending-table{width:100%;border-collapse:collapse;font-size:.9rem}.admin-pending-table th,.admin-pending-table td{padding:10px 12px;text-align:left;border-bottom:1px solid rgba(148,163,184,.25)}.admin-pending-table th{color:#94a3b8;font-weight:600}.admin-pending-table td{color:#e2e8f0}.admin-ref{font-family:ui-monospace,monospace;font-size:.85rem;padding:2px 6px;background:#33415599;border-radius:4px;word-break:break-all}.admin-th-checkbox,.admin-td-checkbox{width:44px;text-align:center;vertical-align:middle}.admin-checkbox-label{display:inline-flex;align-items:center;cursor:pointer}.admin-checkbox-label input{width:18px;height:18px;cursor:pointer}.admin-confirm-actions{margin-bottom:16px}.admin-confirm-actions .next-btn{min-width:160px}.admin-user-detail-card.card{text-align:left}.admin-user-detail-layout{display:flex;flex-wrap:wrap;gap:20px;align-items:flex-start}.admin-user-detail-photo-wrap{flex:0 0 auto}.admin-user-detail-photo,.admin-user-detail-photo-placeholder{width:96px;height:96px;border-radius:50%;object-fit:cover;border:2px solid rgba(148,163,184,.35)}.admin-user-detail-photo-placeholder{display:flex;align-items:center;justify-content:center;background:#334155;color:#94a3b8;font-size:2rem;font-weight:600}.admin-user-detail-dl{display:grid;grid-template-columns:auto 1fr;gap:6px 20px;margin:0;font-size:.9rem}.admin-user-detail-dl dt{margin:0;color:#94a3b8;font-weight:600}.admin-user-detail-dl dd{margin:0;color:#e2e8f0}.admin-users-enrollments-wrap{margin-top:8px}.admin-users-enrollment-input{min-width:0;width:100%;max-width:220px;font-size:.8125rem}.admin-users-enrollments-table .next-btn{padding:6px 12px;font-size:.8rem;white-space:nowrap}.admin-tabs{display:flex;flex-wrap:wrap;gap:0;margin:0 0 20px;border-bottom:1px solid #334155}.admin-tab{padding:10px 18px;margin:0;background:transparent;border:none;border-bottom:2px solid transparent;color:#94a3b8;cursor:pointer;font-size:.95rem;font-weight:600;font-family:inherit}.admin-tab:hover{color:#e2e8f0}.admin-tab-active{color:#60a5fa;border-bottom-color:#3b82f6}.admin-review-subtabs{display:flex;flex-wrap:wrap;gap:4px;margin:0 0 12px;border-bottom:1px solid #334155}.admin-review-subtab{padding:6px 14px;margin:0;background:transparent;border:none;border-bottom:2px solid transparent;color:#94a3b8;cursor:pointer;font-size:.875rem;font-weight:600;font-family:inherit}.admin-review-subtab:hover{color:#e2e8f0}.admin-review-subtab-active{color:#93c5fd;border-bottom-color:#60a5fa}.admin-review-topics-table-wrap{margin-top:12px;overflow-x:auto}.admin-review-topics-table{width:100%;max-width:720px;border-collapse:collapse;font-size:.9rem}.admin-review-topics-table th,.admin-review-topics-table td{padding:8px 12px;text-align:left;border-bottom:1px solid #334155}.admin-review-topics-table th{color:#94a3b8;font-weight:600}.admin-review-topics-mono{font-variant-numeric:tabular-nums;color:#cbd5e1}.admin-review-topics-id-cell{max-width:14rem;font-size:.8rem;word-break:break-all;line-height:1.35}.admin-review-topics-count{font-variant-numeric:tabular-nums;font-weight:600;color:#e2e8f0}.admin-review-topics-sort-th{vertical-align:bottom}.admin-review-topics-sort-btn{display:inline-flex;align-items:center;gap:4px;margin:0;padding:0;border:none;background:none;font:inherit;font-weight:600;color:#94a3b8;cursor:pointer;text-align:left}.admin-review-topics-sort-btn:hover{color:#cbd5e1}.admin-review-topics-sort-btn:focus-visible{outline:2px solid #60a5fa;outline-offset:2px;border-radius:2px}.admin-review-topics-sort-indicator{font-size:.65rem;opacity:.9}.admin-section-title{margin:0 0 10px;font-size:1.1rem;font-weight:700;color:#e2e8f0}.admin-review-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px 16px;margin-bottom:16px}.admin-review-enrol-fields{display:flex;flex-wrap:wrap;gap:8px 32px;align-items:flex-start;margin-bottom:8px}.admin-review-enrol-field{flex:1 1 260px;max-width:400px;min-width:0}.admin-review-enrol-field .enrol-exam-select{margin-top:0}.admin-question-stats-toolbar{margin-bottom:20px}.admin-question-stats-exam-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 16px;width:100%}.admin-question-stats-label{flex:0 0 100%;margin:0;font-size:.875rem;color:#94a3b8}.admin-question-stats-select{flex:1 1 220px;min-width:0;max-width:420px;margin-top:0}.admin-question-stats-create-btn{flex:0 0 auto;max-width:9.75rem;padding-left:.65rem;padding-right:.65rem;font-size:.8125rem;line-height:1.25;white-space:normal;text-align:center}.admin-question-stats-exam-row--inline{align-items:flex-start}.admin-question-stats-exam-row--inline .admin-question-stats-label{flex:0 0 auto;margin:0 4px 0 0;line-height:1.5;padding-top:.35rem}.admin-question-stats-exam-row--inline .admin-question-stats-select{flex:1 1 200px;max-width:400px}.admin-question-stats-exam-row--inline .admin-question-stats-create-btn{margin-top:0}.admin-courses-intro-wrap{max-width:36rem;margin-bottom:4px}.admin-courses-intro-wrap .exam-note{margin-top:0;line-height:1.5}.admin-courses-intro-line2{margin-top:.5rem!important}.admin-courses-toolbar{display:flex;flex-direction:column;gap:16px;margin-bottom:20px;max-width:560px}.admin-courses-toolbar--row{flex-direction:row;flex-wrap:wrap;align-items:flex-start;gap:12px 16px;max-width:100%}.admin-courses-toolbar--row .admin-courses-create-btn{margin-top:calc(1.3125rem + 6px)}.admin-courses-field{display:flex;flex-direction:column;gap:6px;flex:1 1 200px;min-width:160px;max-width:360px}.admin-courses-field label{margin:0;font-size:.875rem;color:#94a3b8}.admin-courses-select{flex:1 1 220px;min-width:0;max-width:420px;margin-top:0}.admin-courses-field .admin-courses-select{flex:none;width:100%;max-width:none}.admin-courses-create-btn{flex:0 0 auto;max-width:9.75rem;padding-left:.65rem;padding-right:.65rem;font-size:.8125rem;line-height:1.25;white-space:normal;text-align:center}.admin-courses-toolbar:not(.admin-courses-toolbar--row) .admin-courses-create-btn{margin-top:0}.admin-courses-topic-top-row{margin-bottom:14px}.admin-courses-topic-dropdown-row{display:flex;flex-direction:row;flex-wrap:wrap;align-items:flex-start;gap:12px 16px;max-width:100%}.admin-courses-topic-select-inline{flex:1 1 200px;min-width:0;max-width:420px;margin-top:0}.admin-courses-topic-create-inline{flex:0 0 auto;margin-top:0;align-self:flex-start}.admin-courses-textbook-select{max-width:520px;margin-top:4px}.admin-exam-form{margin-top:8px;max-width:520px}.admin-exam-form-row{margin-bottom:14px}.admin-exam-form-row label:not(.admin-exam-form-checkbox-label){display:block;margin-bottom:6px;font-size:.8125rem;color:#94a3b8;font-family:ui-monospace,monospace}.admin-exam-form-textarea{resize:vertical;min-height:88px}.admin-exam-form-row-checkbox{margin-bottom:12px}.admin-exam-form-checkbox-label{display:inline-flex;align-items:center;gap:8px;font-size:.875rem;color:#e2e8f0;cursor:pointer;font-family:ui-monospace,monospace}.admin-exam-form-checkbox-label input{width:1rem;height:1rem;accent-color:#60a5fa}.admin-exam-form-row.admin-exam-field-dirty>label:not(.admin-exam-form-checkbox-label),.admin-exam-form-row.admin-exam-field-dirty>.login-input,.admin-exam-form-row.admin-exam-field-dirty>.admin-exam-form-textarea,.admin-exam-form-row.admin-exam-field-dirty>.enrol-exam-select,.admin-exam-form-row.admin-exam-field-dirty>.admin-courses-textbook-select{color:#60a5fa;border-color:#60a5fa73}.admin-exam-form-row.admin-exam-field-dirty.admin-exam-form-row-checkbox .admin-exam-form-checkbox-label{color:#60a5fa}.admin-exam-form-row.admin-exam-field-dirty>.login-input::placeholder{color:#60a5fa8c}.admin-exam-form-actions{margin-top:20px;padding-top:4px}.admin-exam-form .admin-exam-form-actions .next-btn{max-width:10.5rem;padding-left:.75rem;padding-right:.75rem;font-size:.8125rem;line-height:1.25;white-space:normal;text-align:center}.admin-review-count{margin-bottom:10px!important;color:#60a5fa}.admin-review-table-filter-row{display:flex;flex-wrap:wrap;gap:16px 28px;align-items:flex-end;margin:12px 0 16px;padding:14px 16px;background:#1e293b73;border:1px solid rgba(148,163,184,.2);border-radius:10px}.admin-review-filter-field{display:flex;flex-direction:column;gap:6px;min-width:0;flex:1 1 200px;max-width:360px}.admin-review-filter-label{margin:0;font-size:.85rem;font-weight:600;color:#94a3b8}.admin-review-filter-select{max-width:100%;margin:0!important}.admin-review-topic-cell{max-width:12rem;word-break:break-word;font-size:.78rem;color:#cbd5e1}.admin-review-master-wrap{overflow-x:auto;margin-top:8px;border-radius:8px;border:1px solid #334155}.admin-review-master-grid{width:100%;min-width:min(100%,760px);table-layout:auto;border-collapse:collapse;font-size:.8rem;background:#0f172a80}.admin-review-master-grid th{text-align:left;padding:10px 8px;background:#1e293b;color:#cbd5e1;font-weight:600;white-space:nowrap;border-bottom:1px solid #334155;position:sticky;top:0;z-index:1}.admin-review-master-grid td{padding:8px;color:#e2e8f0;border-bottom:1px solid #1e293b;vertical-align:top}.admin-review-master-row-expanded td{background:#1e293b80}.admin-review-preview{max-width:28rem;word-break:break-word}.admin-review-cell-mono code{font-size:.75rem;word-break:break-all}.admin-review-cell-date{white-space:nowrap;font-size:.75rem}.admin-review-expand-btn{white-space:nowrap}.admin-review-detail-row td{padding:0;border-bottom:1px solid #334155;background:#0f172a59}.admin-review-detail-panel{padding:16px}.admin-review-passco-edit{margin-bottom:14px}.admin-review-passco-edit-controls{display:flex;align-items:center;gap:10px;margin-top:6px;flex-wrap:wrap}.admin-review-passco-input{width:min(100%,240px)}.admin-review-passco-save-btn{min-width:90px}.admin-review-course-label{font-size:.9rem;color:#94a3b8}.admin-review-select{min-width:min(100%,320px);max-width:100%}.admin-code-inline{font-size:.85em;color:#93c5fd}.admin-review-nav{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;margin-bottom:16px}.admin-review-nav-btn:disabled{opacity:.4;cursor:not-allowed}.admin-review-nav-status{font-size:.9rem;color:#cbd5e1}.admin-review-block{margin-bottom:22px}.admin-review-block-title{margin:0 0 10px;font-size:.95rem;font-weight:700;color:#94a3b8;text-transform:lowercase}.admin-review-mc-image-block{margin-top:8px}.admin-review-mc-image-grid{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-start}.admin-review-mc-image-figure{margin:0;max-width:min(100%,280px)}.admin-review-mc-image-img{display:block;max-width:100%;max-height:200px;width:auto;height:auto;object-fit:contain;border-radius:10px;border:1px solid rgba(148,163,184,.35);background:#0f172a80}.admin-review-mc-image-caption{margin:6px 0 0;font-size:.8rem;color:#94a3b8;line-height:1.35}.admin-review-field-table{width:100%;border-collapse:collapse;font-size:.85rem;background:#0f172a80;border-radius:8px;overflow:hidden;border:1px solid #334155}.admin-review-field-table th{text-align:left;vertical-align:top;padding:8px 12px;width:11rem;max-width:40%;color:#94a3b8;font-weight:600;border-bottom:1px solid #334155;border-right:1px solid #334155}.admin-review-field-table td{padding:8px 12px;color:#e2e8f0;word-break:break-word;border-bottom:1px solid #334155}.admin-review-field-table tr:last-child th,.admin-review-field-table tr:last-child td{border-bottom:none}.admin-review-table-wrap{overflow-x:auto;border-radius:8px;border:1px solid #334155}.admin-review-data-table{width:100%;border-collapse:collapse;font-size:.8rem;background:#0f172a80}.admin-review-data-table th{text-align:left;padding:8px 10px;background:#1e293b;color:#cbd5e1;font-weight:600;white-space:nowrap;border-bottom:1px solid #334155}.admin-review-data-table td{padding:8px 10px;color:#e2e8f0;border-bottom:1px solid #1e293b;vertical-align:top;word-break:break-word}.admin-review-data-table tr:last-child td{border-bottom:none}.admin-review-empty{margin:0}.subject-list .exam-btn{min-width:180px}.exam-btn{flex:1;padding:10px 12px;border-radius:10px;border:1px solid rgba(148,163,184,.6);background:#0f172ae6;color:inherit;cursor:pointer;font-weight:600;transition:background .15s ease,transform .05s ease,border-color .15s ease,box-shadow .15s ease}.exam-btn:hover{background:#1e40af99;border-color:#60a5fa;box-shadow:0 6px 20px #2563eb80;transform:translateY(-1px)}.exam-btn-selected{background:#2563ebcc;border-color:#93c5fd;box-shadow:0 8px 26px #2563ebb3}.exam-note{margin:4px 0 12px;font-size:.85rem;color:#9ca3af}@keyframes crossword-generating-flash{0%,to{opacity:1}50%{opacity:.35}}.crossword-generating-status{display:block;width:100%;text-align:center;font-size:1rem;font-weight:600;color:#f87171;animation:crossword-generating-flash 1s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.crossword-generating-status{animation:none;opacity:1}}.crossword-desc,.wordsearch-desc{max-width:42em;line-height:1.5}.games-view-wordsearch .games-wordsearch-type-block{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.games-view-wordsearch .games-wordsearch-type-section.perf-period-section.games-wordsearch-type-block{justify-content:center}.games-view-wordsearch .games-wordsearch-type-row.games-wordsearch-type-block{margin-bottom:18px}.games-view-wordsearch .games-wordsearch-type-block .games-wordsearch-type-wrap{flex:0 1 auto;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:100%;max-width:420px;min-width:0}.games-view-wordsearch .games-wordsearch-type-block .perf-period-label{text-align:center}.games-view-wordsearch .games-wordsearch-type-select{min-width:min(100%,200px);max-width:420px}.games-view-wordsearch .games-ws-definition-hint-centered{text-align:center;max-width:36rem;margin-left:auto;margin-right:auto}.link-btn{background:none;border:none;padding:0;color:#60a5fa;cursor:pointer;font-size:.85rem;text-decoration:underline}.link-btn:hover{color:#93c5fd}.subject-screen-root{max-width:1260px}.subject-screen-layout{display:grid;grid-template-columns:260px 1fr 376px;gap:20px;align-items:start}@media(max-width:960px){.subject-screen-layout{grid-template-columns:1fr 356px}.subject-screen-layout .performance-preview-card{grid-column:1 / -1}}@media(max-width:780px){.subject-screen-layout{grid-template-columns:1fr}}.performance-preview-card{min-width:0}.preview-card-tabs{display:flex;gap:0;margin:0 0 10px;border-bottom:1px solid #334155}.preview-card-tab{flex:1;padding:8px 6px;margin:0;background:transparent;border:none;border-bottom:2px solid transparent;color:#94a3b8;cursor:pointer;font-size:.78rem;font-weight:600;font-family:inherit;text-align:center}.preview-card-tab:hover{color:#e2e8f0}.preview-card-tab-active{color:#60a5fa;border-bottom-color:#3b82f6}.preview-card-panel{min-width:0}.preview-card-panel[hidden]{display:none}.performance-preview-card .perf-placeholder{margin:0;font-size:.85rem;color:#64748b;padding:8px 0}.performance-preview-card .perf-stats{display:flex;flex-direction:column;gap:8px;margin-bottom:12px;font-size:.9rem}.performance-preview-card .perf-stats span{color:#94a3b8}.performance-preview-card .perf-stats strong{color:#e2e8f0}.performance-preview-card .perf-stats-exam-quiz-counts{font-size:calc(1em - 1px)}.performance-preview-card .perf-chart-wrap{margin:12px 0;padding:10px 0;border-top:1px solid #334155}.performance-preview-card .perf-chart-label{margin:0 0 8px;font-size:.8rem;color:#94a3b8;text-align:center}.performance-preview-card .perf-chart-empty{margin:0;font-size:.75rem;color:#64748b;text-align:center;max-width:140px}.performance-preview-card .perf-piechart{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px}.performance-preview-card .perf-pie-svg{width:100px;height:100px;flex-shrink:0}.performance-preview-card .perf-pie-slice{transition:opacity .15s}.performance-preview-card .perf-pie-slice:hover{opacity:.9}.performance-preview-card .perf-pie-legend{list-style:none;margin:0;padding:0;font-size:.7rem;color:#94a3b8;display:flex;flex-direction:column;gap:2px}.performance-preview-card .perf-pie-legend-item{display:flex;align-items:center;gap:6px}.performance-preview-card .perf-pie-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.performance-preview-card .perf-btn{width:100%;margin-top:8px;padding:10px 14px;font-size:.9rem;background:#334155;color:#e2e8f0;border:1px solid #475569;border-radius:8px;cursor:pointer;transition:background .15s,color .15s}.performance-preview-card .perf-btn:hover:not(:disabled){background:#475569;color:#fff}.performance-preview-card .perf-btn:disabled{opacity:.6;cursor:not-allowed}.performance-loading{font-size:.85rem;color:#64748b;padding:4px 0}.performance-screen-root{max-width:960px}.performance-screen-root .perf-period-section{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding-bottom:20px;margin-bottom:20px;border-bottom:1px solid #334155}.performance-screen-root .perf-period-wrap,.performance-screen-root .perf-topic-wrap{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.performance-screen-root .perf-period-label{font-size:.9rem;color:#94a3b8;font-weight:500}.performance-screen-root .perf-period-select{min-width:160px;padding:8px 12px;font-size:.9rem;color:#e2e8f0;background:#1e293b;border:1px solid #334155;border-radius:8px;cursor:pointer}.performance-screen-root .perf-period-select:hover,.performance-screen-root .perf-period-select:focus{border-color:#475569;outline:none}.performance-screen-root .perf-growth-card{margin-bottom:24px;padding:18px 20px;background:#1e293b;border-radius:12px;border:1px solid #334155}.performance-screen-root .perf-growth-title{margin:0 0 4px;font-size:1rem;font-weight:600;color:#e2e8f0}.performance-screen-root .perf-growth-title.perf-section-title-underline{text-decoration:underline}.performance-screen-root .perf-growth-title.perf-exams-progress-title{text-align:center;text-decoration:none;padding-bottom:8px;border-bottom:1px solid #334155;margin-bottom:4px}.performance-screen-root .perf-growth-sub{margin:0 0 16px;font-size:.85rem;color:#94a3b8}.performance-screen-root .perf-growth-filter-note{color:#14b8a6}.performance-screen-root .perf-growth-chart-wrap{min-height:180px;max-width:100%}.performance-screen-root .perf-growth-svg{display:block;max-width:100%}.performance-screen-root .perf-growth-line{vector-effect:non-scaling-stroke}.performance-screen-root .perf-growth-tooltip{margin-bottom:12px;padding:10px 14px;background:#0f172a;border:1px solid #14b8a6;border-radius:8px;font-size:.9rem;color:#e2e8f0}.performance-screen-root .perf-growth-hit{cursor:pointer}.performance-screen-root .perf-growth-dot{cursor:pointer;vector-effect:non-scaling-stroke;transition:r .15s ease}.performance-screen-root .perf-growth-dot:hover,.performance-screen-root .perf-growth-dot-selected{filter:brightness(1.2)}.performance-screen-root .perf-growth-axis-label{font-size:10px;fill:#64748b}.performance-screen-root .perf-chart-empty{margin:0;padding:24px 0;font-size:.9rem;color:#64748b;text-align:center}.performance-screen-root .perf-mastery-levels-card{margin-bottom:24px;padding:18px 20px;background:#1e293b;border-radius:12px;border:1px solid #334155}.performance-screen-root .perf-mastery-bars{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.performance-screen-root .perf-mastery-bar-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(80px,200px) 3ch;align-items:center;gap:12px}.performance-screen-root .perf-mastery-topic-name{font-size:.9rem;color:#e2e8f0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.performance-screen-root .perf-mastery-bar-wrap{position:relative;height:20px;border-radius:6px;overflow:hidden}.performance-screen-root .perf-mastery-bar-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:#334155}.performance-screen-root .perf-mastery-bar-fill{position:absolute;left:0;top:0;bottom:0;min-width:0;border-radius:6px;transition:width .3s ease}.performance-screen-root .perf-mastery-bar-fill.perf-mastery-fill-critical{background:#f87171}.performance-screen-root .perf-mastery-bar-fill.perf-mastery-fill-functional{background:#fb923c}.performance-screen-root .perf-mastery-bar-fill.perf-mastery-fill-high{background:#22c55e}.performance-screen-root .perf-mastery-pct{font-size:.85rem;font-weight:600;text-align:right}.performance-screen-root .perf-mastery-pct.perf-mastery-pct-critical{color:#f87171}.performance-screen-root .perf-mastery-pct.perf-mastery-pct-functional{color:#fb923c}.performance-screen-root .perf-mastery-pct.perf-mastery-pct-high{color:#22c55e}.performance-screen-root .perf-diagnostic-card .perf-diagnostic-btn{margin-top:4px;margin-bottom:12px;padding:10px 18px;font-size:.9rem;background:#334155;color:#e2e8f0;border:1px solid #475569;border-radius:8px;cursor:pointer;transition:background .15s,color .15s}.performance-screen-root .perf-diagnostic-card .perf-diagnostic-btn:hover:not(:disabled){background:#475569;color:#fff}.performance-screen-root .perf-diagnostic-card .perf-diagnostic-btn:disabled{opacity:.7;cursor:not-allowed}.performance-screen-root .perf-diagnostic-error{margin:0 0 12px;font-size:.9rem;color:#f87171}.performance-screen-root .perf-diagnostic-report{margin:0;padding:16px 18px;background:#0f172a;border:1px solid #334155;border-radius:10px;font-size:.9rem;line-height:1.6;color:#e2e8f0;white-space:pre-wrap;max-height:360px;overflow-y:auto}.performance-screen-root .perf-diagnostic-section{margin-bottom:16px}.performance-screen-root .perf-diagnostic-section:last-child{margin-bottom:0}.performance-screen-root .perf-diagnostic-section-title{margin:0 0 6px;font-size:.85rem;font-weight:700;color:#94a3b8;text-transform:uppercase;letter-spacing:.04em;text-decoration:underline}.performance-screen-root .perf-diagnostic-section-body{margin:0;font-size:.9rem;line-height:1.6;color:#e2e8f0;white-space:pre-wrap}.performance-screen-root .perf-mastery-title{margin:0 0 6px;font-size:1.1rem;font-weight:600;color:#e2e8f0}.performance-screen-root .perf-mastery-sub{margin:0 0 16px;font-size:.9rem;color:#94a3b8}.performance-screen-root .perf-summary-block{margin-bottom:20px;padding:14px 16px;background:#1e293b;border-radius:10px;border:1px solid #334155}.performance-screen-root .perf-summary-block .perf-mastery-title{text-align:center;margin:0 0 10px;padding-bottom:10px;border-bottom:1px solid #334155}.performance-screen-root .perf-summary-block .perf-stats{display:flex;flex-wrap:wrap;gap:1.5rem 2rem;align-items:baseline}.performance-screen-root .perf-stats-dual{display:grid;grid-template-columns:1fr 1fr;gap:16px 24px;align-items:start}@media(max-width:520px){.performance-screen-root .perf-stats-dual{grid-template-columns:1fr}}.performance-screen-root .perf-stats-group{display:flex;flex-direction:column;gap:6px;font-size:.88rem;color:#cbd5e1;padding:10px 12px;background:#0f172a;border-radius:8px;border:1px solid #334155}.performance-screen-root .perf-stats-group-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#94a3b8;margin-bottom:2px}.performance-screen-root .perf-stats-quizzes{border-color:#a855f759}.performance-screen-root .perf-quiz-growth-card{border-color:#a855f740}.performance-screen-root .perf-quiz-filter-note{color:#c4b5fd}.performance-screen-root .perf-quiz-growth-tooltip{border-color:#a855f7}.performance-screen-root .perf-diagnostic-context-stats{margin:0 0 14px;padding:12px 14px;font-size:.85rem;line-height:1.55;color:#e2e8f0;background:#0f172a;border:1px solid #334155;border-radius:8px}.performance-screen-root .perf-diagnostic-stat-line{margin:0 0 8px}.performance-screen-root .perf-diagnostic-hint{margin:10px 0 0;padding-top:10px;border-top:1px solid #334155;font-size:.8rem;color:#94a3b8}.performance-screen-root .perf-attempt-history-card{margin-top:8px}.performance-screen-root .perf-attempt-history-header{margin-top:0;margin-bottom:0}.performance-screen-root .perf-attempt-history-header .perf-growth-title{margin-bottom:4px}.performance-screen-root .perf-history-empty{margin-bottom:0;text-align:center}.performance-screen-root .perf-history-scroll{min-height:0}.performance-screen-root .perf-history-scroll-capped{max-height:min(36rem,52vh);overflow-y:auto;overflow-x:hidden;padding-right:4px;margin-right:-4px;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch}.performance-screen-root .perf-attempt-type{flex-shrink:0;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:3px 8px;border-radius:4px}.performance-screen-root .perf-attempt-type-exam{background:#14b8a633;color:#5eead4;border:1px solid rgba(20,184,166,.4)}.performance-screen-root .perf-attempt-type-quiz{background:#a855f733;color:#d8b4fe;border:1px solid rgba(168,85,247,.45)}.performance-screen-root .perf-history-title{margin:0 0 12px;font-size:1rem;font-weight:600;color:#e2e8f0}.performance-screen-root .perf-history-sub{margin:0 0 12px;font-size:.85rem;color:#94a3b8;text-align:center}.performance-screen-root .perf-history-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.performance-screen-root .perf-history-item{padding:12px 14px;background:#1e293b;border-radius:8px;border:1px solid #334155;font-size:.9rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}.performance-screen-root .perf-history-item .perf-date{flex:1;min-width:0;color:#94a3b8;font-size:.85rem}.performance-screen-root .perf-history-item .perf-score-badge{padding:4px 10px;border-radius:6px;font-weight:600}.performance-screen-root .perf-history-item .perf-score-badge.good{background:#14532d;color:#86efac}.performance-screen-root .perf-history-item .perf-score-badge.mid{background:#422006;color:#fcd34d}.performance-screen-root .perf-history-item .perf-score-badge.low{background:#450a0a;color:#fca5a5}.performance-screen-root .perf-history-item-clickable{cursor:pointer;transition:background .15s ease,border-color .15s ease}.performance-screen-root .perf-history-item-clickable:hover{background:#334155;border-color:#475569}.performance-screen-root .perf-history-item-clickable:focus{outline:2px solid var(--accent, #3b82f6);outline-offset:2px}.games-form-row{display:flex;align-items:center;gap:12px;margin-bottom:12px}.games-list{display:flex;flex-direction:column;gap:12px;margin-top:16px}.games-list-item{display:flex;flex-direction:row;align-items:flex-start;gap:16px;text-align:left;padding:16px;background:#1e293b;border:1px solid #334155;border-radius:8px;cursor:pointer;color:#e2e8f0;transition:border-color .2s,background .2s}.games-list-item:hover{border-color:#3b82f6;background:#334155}.games-list-icon{flex-shrink:0;line-height:0}.games-list-icon svg{display:block;border-radius:6px}.games-list-content{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start}.games-list-title{font-size:1.1rem;font-weight:600;margin-bottom:4px}.games-list-desc{font-size:.9rem;color:#94a3b8;line-height:1.4}.games-preselected-label{margin-bottom:8px;color:#a78bfa}.games-preselected-label strong{color:#e2e8f0}.games-screen-title{text-align:center;padding-bottom:10px;margin-bottom:10px;border-bottom:1px solid #334155}.games-lumi-sparks-banner{margin:0 0 12px;text-align:center;font-size:.95rem;color:#cbd5e1}.games-lumi-sparks-banner strong{color:#fde68a;font-size:1.05em}.games-lumi-sparks-label{color:#94a3b8}.games-form-row label{min-width:80px;color:#94a3b8;font-size:.9rem}.profile-header-row-with-close{display:flex;justify-content:space-between;align-items:center;gap:12px}.games-page-close-btn{width:28px;height:28px;padding:0;border:none;border-radius:6px;background:#334155;color:#e2e8f0;font-size:1.4rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s;flex-shrink:0}.games-page-close-btn:hover,.games-page-close-btn:focus-visible{background:#ef4444;color:#fff;outline:none}.games-page-close-btn:focus-visible{box-shadow:0 0 0 2px #1e293b,0 0 0 4px #fca5a5}.games-page-close-btn:active{background:#dc2626}.crossword-layout{position:relative;display:flex;flex-wrap:nowrap;gap:24px;align-items:flex-start;margin:16px 0}.crossword-measure{position:absolute;left:0;top:0;width:min(85vw,420px);max-width:100%;height:60vh;pointer-events:none;visibility:hidden}.crossword-wrap{--crossword-box-bg: #94a3b8;position:relative;overflow:hidden;flex-shrink:0;background:var(--crossword-box-bg);border-radius:6px;border:2px solid #475569;box-sizing:border-box}.crossword-clues-panel{flex:1;min-width:200px;max-width:420px;background:#1e293b;padding:12px 16px;border-radius:8px;border:1px solid #334155}.crossword-clues-heading{margin:16px 0 6px;font-size:.95rem;font-weight:700;color:#e2e8f0}.crossword-clues-panel .crossword-clues-heading:first-child,.crossword-clues-panel .crossword-clues-list{margin-top:0}.crossword-wrap .crossword-grid{position:absolute;top:0;left:0;border:2px solid #475569;border-radius:6px;background:transparent}.crossword-cell{border:1px solid #64748b;display:flex;align-items:center;justify-content:center;min-width:1.8rem;min-height:1.8rem;font-size:.85rem;font-weight:600;color:#0f172a;background:#fff;position:relative}.crossword-cell-black{background:#000;border-color:#000;pointer-events:none}.crossword-cell-num{position:absolute;top:1px;left:2px;font-size:.6rem;font-weight:700;color:#334155;line-height:1;z-index:1}.crossword-cell-input{width:100%;height:100%;border:none;background:#fff;color:#0f172a;font-size:.85rem;font-weight:600;text-align:center;text-transform:uppercase;padding:0;box-sizing:border-box}.crossword-cell-input:focus{outline:2px solid #3b82f6;outline-offset:-2px;z-index:1}.crossword-cell-value{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;font-size:.85rem;font-weight:600;text-transform:uppercase;color:#0f172a}.crossword-cell-correct-answer{font-size:.6rem;font-weight:700;color:#475569;margin-top:.1rem}.crossword-cell-correct{background:#dcfce7;border-color:#22c55e}.crossword-cell-correct .crossword-cell-value{color:#166534}.crossword-cell-wrong,.crossword-cell-missing{background:#fee2e2;border-color:#ef4444}.crossword-cell-wrong .crossword-cell-value,.crossword-cell-missing .crossword-cell-value{color:#b91c1c}.crossword-result-summary{margin-top:12px;padding:10px 12px;background:#1e293b;border-radius:8px;border:1px solid #334155}.crossword-result-summary .feedback-title{margin:0;color:#e2e8f0;font-size:.95rem}.crossword-result-text{max-width:42em;line-height:1.5}.crossword-letter{text-transform:uppercase}.crossword-direction-hint{margin:4px 0 12px;display:flex;align-items:center;gap:8px}.crossword-direction-btn{padding:4px 10px;border-radius:6px;border:1px solid #475569;background:#334155;color:#94a3b8;font-size:.85rem;cursor:pointer}.crossword-direction-btn:hover{background:#475569;color:#e2e8f0}.crossword-direction-btn[aria-pressed=true]{background:#3b82f6;border-color:#60a5fa;color:#fff}.wordsearch-layout{display:flex;flex-wrap:nowrap;gap:24px;margin-top:16px;align-items:stretch;min-width:0;max-width:100%}.games-view-wordsearch .wordsearch-layout--definitions{flex-wrap:wrap;align-items:stretch}.games-view-wordsearch .wordsearch-layout--definitions .wordsearch-box-wrap{flex-shrink:0;max-width:100%}.games-view-wordsearch .wordsearch-layout--definitions .wordsearch-wordlist.wordsearch-wordlist--definitions{flex:1 1 220px;min-width:0;max-width:100%}.wordsearch-wordlist{list-style:none;padding:0;margin:0;min-width:140px;align-self:stretch;display:flex;flex-direction:column;flex-wrap:wrap;gap:6px 16px;align-content:flex-start;min-height:0;color:#e2e8f0;font-size:.9rem}.wordsearch-wordlist li{text-transform:uppercase;font-weight:500}.wordsearch-wordlist li.wordsearch-wordlist-clue{text-transform:none;font-weight:400;text-align:left;line-height:1.4;max-width:16rem}.wordsearch-wordlist.wordsearch-wordlist--definitions{display:block;list-style:disc;list-style-position:outside;padding-left:1.35rem;margin:0;min-width:0;max-width:100%;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;box-sizing:border-box;padding-right:6px}.wordsearch-wordlist.wordsearch-wordlist--definitions li{display:list-item;margin:0 0 12px;padding-left:2px}.wordsearch-wordlist.wordsearch-wordlist--definitions li:last-child{margin-bottom:0}.wordsearch-wordlist.wordsearch-wordlist--definitions li.wordsearch-wordlist-clue{max-width:none}.wordsearch-box-wrap{position:relative;flex-shrink:0;align-self:flex-start;border:4px solid #3b82f6;border-radius:8px;background:#0f172a;padding:4px;display:inline-block}.wordsearch-grid{border:none;border-radius:4px;background:#0f172a;padding:0}.wordsearch-cell{border:1px solid #334155;display:flex;align-items:center;justify-content:center;min-width:1.75rem;min-height:1.75rem;font-size:.8rem;font-weight:600;color:#e2e8f0;text-transform:uppercase;cursor:pointer;-webkit-user-select:none;user-select:none}.wordsearch-cell:hover{background:#334155}.wordsearch-cell-selected{background:#3b82f666;border-color:#3b82f6}.wordsearch-cell-found{background:#22c55e59;border-color:#22c55e;color:#86efac}.wordsearch-cell-found.wordsearch-cell-selected{background:#3b82f680}.wordsearch-letter{-webkit-user-select:none;user-select:none;pointer-events:none}.wordsearch-word-found{text-decoration:line-through;color:#64748b}.wordsearch-celebrate-msg{margin:12px 0 0;padding:12px 20px;background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;font-size:1.15rem;font-weight:700;text-align:center;border-radius:10px;animation:celebrate-pulse .6s ease-out}@keyframes celebrate-pulse{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.blitz-root{position:relative}.blitz-card{position:relative;overflow:hidden}.blitz-root.blitz-flash-red:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:#dc262659;pointer-events:none;z-index:100;animation:blitz-flash .4s ease-out forwards}@keyframes blitz-flash{0%{opacity:1}to{opacity:0}}.blitz-root.blitz-fire .blitz-fire-overlay{opacity:1}.blitz-fire-overlay{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:50;opacity:0;transition:opacity .2s ease;background:radial-gradient(ellipse 80% 60% at 50% 40%,rgba(251,146,60,.25),rgba(234,88,12,.12) 40%,transparent 70%);box-shadow:inset 0 0 120px 40px #fb923c26}.blitz-hud{display:flex;align-items:center;justify-content:center;gap:24px;margin-bottom:16px;flex-wrap:wrap}.blitz-timer{font-size:1.5rem;font-weight:700;color:#f59e0b;min-width:3rem}.blitz-score{font-size:1.1rem;font-weight:600;color:#e2e8f0}.blitz-combo{font-size:1rem;font-weight:600;color:#a78bfa}.blitz-question-wrap{margin-top:8px}.blitz-question-text{font-size:1.1rem;line-height:1.5;margin:0 0 16px;color:#e2e8f0}.blitz-correct-answer{margin:0 0 12px;padding:10px 14px;background:#22c55e33;border-radius:8px;color:#86efac;font-weight:600}.blitz-option{display:block;width:100%;margin-bottom:10px;padding:12px 16px;text-align:left;font-size:1rem;background:#334155;color:#e2e8f0;border:2px solid #475569;border-radius:10px;cursor:pointer;transition:background .15s,border-color .15s}.blitz-option:hover:not(:disabled){background:#475569;border-color:#64748b}.blitz-option:disabled{cursor:not-allowed;opacity:.8}.blitz-question-wrap .question-stem-assets{margin-top:8px}.blitz-question-wrap .question-asset-img{max-width:min(100%,320px);max-height:180px}.blitz-question-wrap .option-asset-img{max-height:88px;max-width:min(100%,160px)}.blitz-gameover{text-align:center;padding:24px 0}.blitz-gameover-title{font-size:1.5rem;font-weight:700;margin:0 0 12px;color:#f59e0b}.blitz-final-score{font-size:1.25rem;margin:0 0 20px;color:#e2e8f0}.blitz-beat-record{font-size:1.1rem;font-weight:700;color:#22c55e;margin:0 0 8px}.blitz-rank-global,.blitz-rank-subject{font-size:1rem;margin:0 0 8px;color:#a78bfa}.blitz-ghost-bar-wrap{margin-bottom:12px}.blitz-ghost-bar-track{height:8px;background:#334155;border-radius:4px;overflow:hidden}.blitz-ghost-bar-fill{height:100%;background:linear-gradient(90deg,#6366f1,#a78bfa);border-radius:4px;transition:width .2s ease}.blitz-ghost-label{font-size:.75rem;color:#94a3b8;margin-top:4px}.blitz-ghost-label .blitz-ghost-label-prefix{color:#3b82f6}.confetti-overlay{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:9999;overflow:hidden}.confetti-particle{position:absolute;top:-20px;animation:confetti-fall linear forwards;transform-origin:center}@keyframes confetti-fall{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:.8}}.crossword-clues-list{margin:12px 0 0;padding-left:0;list-style:none;color:#e2e8f0;font-size:.9rem;line-height:1.6}.crossword-clues-list li{margin-bottom:6px}.crossword-clues-panel .crossword-clues-list+.crossword-clues-heading{margin-top:16px}.subject-card{min-width:0}.chat-card{min-width:0;display:flex;flex-direction:column;max-height:460px}.chat-title{margin:0 0 2px;font-size:1.1rem;font-weight:600;text-align:center}.chat-tagline{margin:0 0 8px;padding-bottom:8px;font-size:.75rem;color:#64748b;font-style:italic;text-align:center;border-bottom:1px solid #334155}.chat-desc{margin:0 0 10px;font-size:.8rem;color:#94a3b8}.chat-example-hint{margin:0 0 6px;font-size:.85rem;color:#64748b;font-style:italic}.chat-messages{flex:1;overflow-y:auto;min-height:120px;max-height:280px;padding:8px 0;display:flex;flex-direction:column;gap:10px}.chat-placeholder{margin:0;font-size:.85rem;color:#64748b;font-style:italic}.chat-message{padding:8px 12px;border-radius:10px;font-size:.9rem;max-width:100%}.chat-message-user{background:#2563eb59;border:1px solid rgba(96,165,250,.5);align-self:flex-end;max-width:92%}.chat-message-assistant{background:#0f172acc;border:1px solid rgba(148,163,184,.4);align-self:flex-start}.chat-input-row{display:flex;gap:8px;margin-top:10px}.chat-input{flex:1;padding:10px 12px;border-radius:10px;border:1px solid rgba(148,163,184,.5);background:#0f172ae6;color:inherit;font-size:.9rem}.chat-input::placeholder{color:#64748b}.chat-input:focus{outline:none;border-color:#60a5fa;box-shadow:0 0 0 2px #60a5fa40}.chat-send-btn{padding:10px 16px;border-radius:10px;border:none;background:linear-gradient(135deg,#2563eb,#7c3aed);color:#fff;font-weight:600;cursor:pointer;transition:filter .15s ease}.chat-send-btn:hover:not(:disabled){filter:brightness(1.1)}.chat-send-btn:disabled{opacity:.5;cursor:not-allowed}.chat-path{font-size:.8em;padding:1px 4px;background:#0000004d;border-radius:4px}.chat-thinking{opacity:.85;font-style:italic}.chat-doc-settings{margin-top:12px;padding-top:12px;border-top:1px solid rgba(148,163,184,.25)}.chat-doc-toggle{background:none;border:none;padding:0;color:#94a3b8;font-size:.85rem;cursor:pointer;text-decoration:underline}.chat-doc-toggle:hover{color:#cbd5e1}.chat-doc-fields{margin-top:8px}.chat-doc-hint{margin:0 0 8px;font-size:.8rem;color:#94a3b8}.chat-doc-hint code{padding:0 4px;background:#00000040;border-radius:4px}.chat-api-key{width:100%;margin-top:4px}.chat-env-key-note{margin:0;font-size:.8rem;color:#94a3b8}.chat-env-key-note code{padding:0 4px;background:#00000040;border-radius:4px}.results-actions{display:flex;gap:12px;margin-top:20px;align-items:center}.results-actions .next-btn{flex:1;margin-top:0}.review-card{max-height:85vh;display:flex;flex-direction:column}.review-tally{margin-top:0;margin-bottom:12px}.review-no-answer{margin:0 0 10px;font-size:.9rem;color:#f87171;font-style:italic}.review-explanation{margin-top:10px;padding:10px 12px;font-size:.9rem;color:#93c5fd;background:#0f172a99;border-radius:8px;border-left:3px solid rgba(59,130,246,.55)}.review-explanation strong{color:#60a5fa}.review-scroll{flex:1;overflow-y:auto;margin:12px 0;padding-right:4px}.review-question-block{padding:16px 0;border-bottom:1px solid rgba(148,163,184,.25)}.review-question-block:last-child{border-bottom:none}.review-question-number{margin:0 0 6px;font-size:.9rem;color:#94a3b8;display:flex;align-items:center;gap:10px}.review-badge{font-size:.75rem;padding:2px 8px;border-radius:999px;font-weight:600}.review-badge.correct{background:#22c55e40;color:#4ade80}.review-badge.incorrect{background:#ef444440;color:#f87171}.review-question-text{margin:0 0 10px;font-size:1.05rem;font-weight:600}.review-options{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.review-option{padding:8px 12px;border-radius:8px;border:1px solid rgba(148,163,184,.4);background:#0f172a99;display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.review-option-text{flex:1}.review-option-correct-selected{background:#22c55e33;border-color:#4ade80}.review-option-incorrect{background:#ef444433;border-color:#f87171}.review-option-correct{background:#22c55e1f;border-color:#4ade8099}.review-label{font-size:.75rem;font-weight:600;padding:2px 6px;border-radius:4px}.review-label.your-answer{background:#60a5fa4d;color:#93c5fd}.review-label.correct-answer{background:#4ade8040;color:#4ade80}@media(max-width:600px){.card{padding:18px}.app-title{font-size:1.5rem}}
