:root{--navy:#102a43;--navy-soft:#243b53;--gold:#f0b429;--paper:#f5f7fa;--white:#fff;--text:#182026;--muted:#627d98;--border:#d9e2ec;--success:#2f855a;--danger:#c53030;--hint:#805ad5}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--text);margin:0;font-family:Arial,Helvetica,sans-serif}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a{color:inherit}.app-shell{grid-template-columns:280px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:var(--navy);color:var(--white);overscroll-behavior:contain;scrollbar-gutter:stable;flex-direction:column;gap:28px;height:100vh;padding:36px 28px;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar h1{margin:7px 0 12px;font-size:30px}.sidebar h1 span{color:var(--gold)}.subtitle{color:#bcccdc;margin:0;line-height:1.55}.eyebrow{text-transform:uppercase;letter-spacing:.13em;color:var(--gold);margin:0;font-size:12px;font-weight:700}nav{gap:8px;display:grid}.nav-item{color:#d9e2ec;border-radius:12px;padding:12px 14px;text-decoration:none}.nav-item:hover,.nav-item.active{color:#fff;background:#ffffff1a}.goal-card{background:#ffffff0f;border:1px solid #ffffff26;border-radius:18px;gap:6px;min-width:0;margin-top:auto;padding:18px;display:grid}.goal-card strong{color:var(--gold);white-space:nowrap;font-size:20px;line-height:1.25}.goal-card small{color:#bcccdc;line-height:1.4}.content{width:100%;max-width:1300px;margin:0 auto;padding:34px}.topbar,.section-heading{justify-content:space-between;align-items:center;gap:20px;display:flex}.topbar h2,.section-heading h2{margin:5px 0 0;font-size:28px}.status-pill,.tag{color:#7a5500;background:#fff4d6;border-radius:999px;align-items:center;padding:7px 12px;font-size:13px;font-weight:700;display:inline-flex}.metrics{grid-template-columns:repeat(3,1fr);gap:16px;margin:28px 0;display:grid}.metrics article,.lesson-card,.coach-card,.mastery{border:1px solid var(--border);background:#fff;border-radius:20px}.metrics article{gap:6px;padding:19px;display:grid}.metrics span,.metrics small{color:var(--muted)}.metrics strong{font-size:24px}.workspace{grid-template-columns:minmax(0,1.7fr) minmax(260px,.8fr);align-items:start;gap:20px;display:grid}.lesson-card,.coach-card,.mastery{padding:24px}.lesson-header{justify-content:space-between;align-items:center;gap:16px;display:flex}.lesson-header h3,.coach-card h3{margin:12px 0 0;font-size:22px}.score{color:var(--muted);font-weight:700}.progress-track,.mini-track{background:#edf2f7;border-radius:999px;overflow:hidden}.progress-track{height:10px;margin:22px 0 28px}.progress-track div,.mini-track div{background:var(--gold);border-radius:inherit;height:100%;transition:width .3s}.question{font-size:22px;font-weight:700;line-height:1.4}.answers{gap:12px;margin-top:22px;display:grid}.answer{border:1px solid var(--border);text-align:left;width:100%;color:var(--text);background:#fff;border-radius:14px;align-items:center;gap:12px;padding:14px 16px;display:flex}.answer span{background:#edf2f7;border-radius:50%;place-items:center;width:30px;height:30px;font-weight:700;display:grid}.answer:hover,.answer.selected{border-color:var(--navy);background:#f0f4f8}.answer.correct{border-color:var(--success);background:#f0fff4}.answer.wrong{border-color:var(--danger);background:#fff5f5}.feedback{border-radius:14px;margin-top:18px;padding:15px 16px;line-height:1.5}.feedback p{margin:6px 0 0}.feedback.hint{color:#553c9a;background:#faf5ff}.feedback.success{color:#276749;background:#f0fff4}.feedback.error{color:#9b2c2c;background:#fff5f5}.actions{justify-content:flex-end;gap:12px;margin-top:22px;display:flex}.primary,.secondary{border-radius:12px;padding:11px 17px;font-weight:700}.primary{border:1px solid var(--navy);background:var(--navy);color:#fff}.secondary{border:1px solid var(--border);color:var(--navy);background:#fff}.coach-card p{color:var(--muted);line-height:1.55}.coach-step{border-top:1px solid var(--border);align-items:flex-start;gap:12px;margin-top:14px;padding-top:14px;display:flex}.coach-step span{background:var(--navy);color:#fff;border-radius:50%;flex:none;place-items:center;width:28px;height:28px;font-weight:700;display:grid}.coach-step p{margin:3px 0 0}.mastery{margin-top:20px}.mastery-grid{grid-template-columns:repeat(2,1fr);gap:14px;margin-top:20px;display:grid}.mastery-grid article{border:1px solid var(--border);border-radius:14px;padding:15px}.mastery-grid article>div:first-child{justify-content:space-between;margin-bottom:10px;display:flex}.mini-track{height:8px}.auth-page,.diagnostic-page{place-items:center;min-height:100vh;padding:28px;display:grid}.auth-page{background:linear-gradient(135deg,#102a43 0 45%,#f5f7fa 45% 100%);grid-template-columns:minmax(280px,520px) minmax(320px,460px);gap:48px}.auth-intro{color:#fff;padding:36px}.auth-intro h1{margin:10px 0 18px;font-size:48px}.auth-intro h1 span{color:var(--gold)}.auth-intro>p:not(.eyebrow){color:#d9e2ec;font-size:18px;line-height:1.7}.auth-benefits{color:#d9e2ec;gap:10px;margin-top:16px;line-height:1.5;display:grid}.auth-benefits span{align-items:flex-start;gap:8px;display:flex}.auth-card,.diagnostic-card,.result-card{border:1px solid var(--border);background:#fff;border-radius:22px;width:100%;padding:28px}.auth-card{max-width:460px}.auth-tabs{background:#edf2f7;border-radius:12px;grid-template-columns:1fr 1fr;margin-bottom:22px;padding:4px;display:grid}.auth-tabs button{background:0 0;border:0;border-radius:9px;padding:10px}.auth-tabs button.active{color:var(--navy);background:#fff;font-weight:700}.auth-card form,.numeric-answer{gap:16px;display:grid}.auth-card label,.numeric-answer{color:var(--navy-soft);font-weight:700}.auth-card input,.numeric-answer input,.numeric-answer textarea{border:1px solid var(--border);width:100%;color:var(--text);background:#fff;border-radius:12px;margin-top:7px;padding:13px 14px}.numeric-answer textarea{resize:vertical;min-height:165px;line-height:1.6}.auth-card form .primary{width:100%;margin-top:4px}.auth-message{color:#7a5500;background:#fff9e6;border-radius:12px;padding:12px}.auth-card small{color:var(--muted);margin-top:16px;line-height:1.5;display:block}.diagnostic-page{background:radial-gradient(circle at 100% 0,#fff4d6,#f5f7fa 40%)}.diagnostic-card{max-width:920px}.diagnostic-header{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.diagnostic-header h1{margin:7px 0 0}.diagnostic-description{color:var(--muted);max-width:660px;margin-bottom:0;line-height:1.55}.diagnostic-status{justify-items:end;gap:7px;min-width:120px;display:grid}.diagnostic-status strong{color:var(--navy);font-size:22px}.diagnostic-status span{color:var(--muted);font-weight:700}.diagnostic-status time{color:var(--danger);font-variant-numeric:tabular-nums;font-size:18px;font-weight:800}.diagnostic-parts{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:24px 0 8px;display:grid}.diagnostic-parts>div{border:1px solid var(--border);min-height:88px;color:var(--muted);background:#f7f9fc;border-radius:13px;align-content:space-between;gap:8px;padding:13px;display:grid}.diagnostic-parts strong{font-size:13px;line-height:1.35}.diagnostic-parts span{font-size:12px;font-weight:800}.diagnostic-parts>div.active{border-color:var(--navy);background:var(--navy);color:#fff;box-shadow:0 8px 18px #102a4329}.diagnostic-parts>div.active span{color:var(--gold)}.diagnostic-section-title{border:1px solid #b8c7d9;border-left:6px solid var(--navy);color:var(--navy);background:#edf3f8;justify-content:space-between;align-items:center;gap:16px;margin:0 0 20px;padding:15px 17px;display:flex}.diagnostic-section-title strong{text-transform:uppercase;letter-spacing:.03em;font-size:18px}.diagnostic-section-title span{color:#9a6a00;font-weight:800}.diagnostic-context{border:1px solid var(--border);color:var(--navy-soft);background:#f7f9fc;border-radius:14px;margin:18px 0;padding:16px 18px;line-height:1.65}.diagnostic-rule{color:var(--muted);margin:18px 0 0;font-size:14px}.numeric-answer{margin-top:24px}.result-card{text-align:center;max-width:560px}.result-card h1{color:var(--navy);margin:18px 0 6px;font-size:72px}.link-button{margin-top:14px;text-decoration:none;display:inline-block}@media (max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{scrollbar-gutter:auto;height:auto;padding:24px;position:static;overflow:visible}.sidebar nav{grid-template-columns:repeat(2,1fr)}.goal-card{display:none}.workspace{grid-template-columns:1fr}.auth-page{background:var(--paper);grid-template-columns:1fr;gap:10px}.auth-intro{color:var(--navy);text-align:center;padding:12px}.auth-intro>p:not(.eyebrow),.auth-benefits{color:var(--muted)}.auth-benefits{justify-items:center}.diagnostic-parts{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:620px){.content{padding:20px 14px 34px}.metrics,.mastery-grid{grid-template-columns:1fr}.topbar,.section-heading,.lesson-header,.diagnostic-header{flex-direction:column;align-items:flex-start}.diagnostic-status{grid-template-columns:repeat(3,auto);justify-content:space-between;justify-items:start;width:100%}.diagnostic-parts{grid-template-columns:1fr}.diagnostic-parts>div{min-height:auto}.diagnostic-section-title{flex-direction:column;align-items:flex-start}.sidebar nav{grid-template-columns:1fr}.question{font-size:19px}.actions{flex-direction:column-reverse}.actions button{width:100%}.auth-page,.diagnostic-page{padding:14px}.auth-card,.diagnostic-card,.result-card{padding:20px}.auth-intro h1{font-size:36px}}
:root{--subject-accent:var(--subject-primary,#2563eb);--subject-accent-soft:var(--subject-light,#dbeafe);--subject-accent-dark:var(--subject-dark,#1e3a8a)}.subject-choice-page{background:radial-gradient(circle at top,#fff,#eef2f7 62%);min-height:100vh;padding:56px 24px 96px}.subject-choice-intro{text-align:center;max-width:820px;margin:0 auto 36px}.subject-choice-intro h1{color:#102a43;margin:10px 0 14px;font-size:clamp(34px,5vw,58px)}.subject-choice-intro h2{color:#102a43;margin:8px 0 12px;font-size:clamp(28px,4vw,42px)}.subject-choice-intro p:last-child{color:#627d98;font-size:18px;line-height:1.65}.subject-choice-secondary{margin-top:44px;margin-bottom:24px}.education-level-panel{gap:20px;width:min(1180px,100%);margin:0 auto;display:grid}.education-stage{background:#ffffffeb;border:1px solid #d9e2ec;border-radius:24px;padding:22px;box-shadow:0 12px 32px #102a4314}.education-stage h2{color:#102a43;margin:0 0 16px;font-size:20px}.education-level-grid{grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:12px;display:grid}.education-level-button{color:#334e68;text-align:left;background:#fff;border:1px solid #bcccdc;border-radius:16px;align-content:start;gap:5px;min-height:116px;padding:14px;transition:transform .16s,border-color .16s,box-shadow .16s;display:grid}.education-level-button:hover,.education-level-button:focus-visible{border-color:#486581;transform:translateY(-2px);box-shadow:0 10px 22px #102a431f}.education-level-button.active{background:#eaf2f8;border:2px solid #102a43;box-shadow:0 0 0 3px #102a4314}.education-level-button strong{color:#102a43;font-size:20px}.education-level-button span{line-height:1.35}.education-level-button small{color:#627d98;font-weight:700}.subject-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;width:min(1040px,100%);margin:0 auto;display:grid}.subject-card{border:2px solid var(--subject-border,transparent);text-align:left;color:#fff;background:linear-gradient(145deg, var(--subject-primary,#2563eb), var(--subject-dark,#1e3a8a));border-radius:28px;align-content:space-between;gap:28px;min-height:330px;padding:30px;transition:transform .2s,box-shadow .2s;display:grid;box-shadow:0 22px 50px #102a432e}.subject-card:hover,.subject-card:focus-visible{transform:translateY(-5px);box-shadow:0 28px 60px #102a4340}.subject-card:disabled,.subject-card-disabled{cursor:not-allowed;filter:grayscale(.32);opacity:.68;box-shadow:none}.subject-card:disabled:hover,.subject-card-disabled:hover{box-shadow:none;transform:none}.subject-icon{background:#ffffff2b;border-radius:20px;place-items:center;width:68px;height:68px;font-size:30px;font-weight:800;display:grid}.subject-card-copy{gap:10px;display:grid}.subject-card-copy small{text-transform:uppercase;letter-spacing:.12em;opacity:.82}.subject-card-copy strong{font-size:30px}.subject-card-copy span{opacity:.9;line-height:1.6}.subject-enter{font-weight:800}.subject-switcher{z-index:90;background:var(--subject-accent-dark);color:#fff;border:2px solid #fffc;border-radius:999px;padding:11px 16px;font-weight:800;text-decoration:none;position:fixed;bottom:18px;right:18px;box-shadow:0 12px 30px #102a4347}.subject-module-content{align-content:start;gap:24px;display:grid}.subject-module-description{max-width:780px;margin-top:8px}.subject-module-card{gap:24px;display:grid}.subject-module-intro{gap:12px;display:grid}.subject-module-intro p{color:#52606d;max-width:900px;margin:0;font-size:17px;line-height:1.65}.subject-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.subject-feature-card{background:#fff;border:1px solid #d9e2ec;border-radius:20px;padding:22px;box-shadow:0 10px 26px #102a4314}.subject-feature-card span{background:var(--subject-accent-soft);color:var(--subject-accent-dark);text-transform:uppercase;letter-spacing:.06em;border-radius:999px;margin-bottom:12px;padding:6px 10px;font-size:12px;font-weight:800;display:inline-flex}.subject-feature-card h3{color:#102a43;margin:0 0 8px}.subject-feature-card p{color:#627d98;margin:0;line-height:1.55}.subject-workflow-card{background:var(--subject-accent-soft);border-radius:22px;grid-template-columns:minmax(220px,.75fr) minmax(0,1.5fr);gap:28px;padding:24px;display:grid}.subject-workflow-card h3{color:var(--subject-accent-dark);margin:6px 0 0}.subject-workflow-card ol{color:#334e68;gap:10px;margin:0;padding-left:22px;display:grid}.subject-module-actions{flex-wrap:wrap;gap:12px;display:flex}:root[data-subject] .sidebar{background:var(--subject-accent-dark)}:root[data-subject] .primary{background:var(--subject-accent-dark);border-color:var(--subject-accent-dark)}:root[data-subject] .eyebrow{color:var(--subject-accent)}:root[data-subject] .status-pill,:root[data-subject] .tag{background:var(--subject-accent-soft);color:var(--subject-accent-dark)}:root[data-subject] .progress-track div,:root[data-subject] .mini-track div{background:var(--subject-accent)}@media (max-width:760px){.subject-choice-page{padding:34px 14px 96px}.subject-grid,.subject-feature-grid,.subject-workflow-card{grid-template-columns:1fr}.education-stage{padding:16px}.education-level-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.education-level-button{min-height:108px}.subject-card{min-height:280px}.subject-switcher{text-align:center;left:14px;right:14px}}@media (max-width:430px){.education-level-grid{grid-template-columns:1fr}}
.skip-to-content{z-index:2000;color:#102a43;background:#fff;border-radius:10px;padding:12px 16px;font-weight:900;text-decoration:none;position:fixed;top:10px;left:10px;transform:translateY(-160%);box-shadow:0 8px 28px #102a434d}.skip-to-content:focus{outline-offset:3px;outline:3px solid #f6ad55;transform:translateY(0)}#main-content:focus{outline:none}.global-dashboard-link{z-index:1000;color:#fff;background:#102a43;border:1px solid #ffffff2e;border-radius:999px;justify-content:center;align-items:center;padding:10px 15px;font-weight:800;text-decoration:none;display:inline-flex;position:fixed;top:16px;right:16px;box-shadow:0 8px 24px #102a4340}.global-dashboard-link:hover{background:#243b53}.diagnostic-preflight{max-width:760px}.diagnostic-warning{color:#7b341e;background:#fffaf0;border:1px solid #f6ad55;border-left:7px solid #dd6b20;border-radius:16px;margin:22px 0;padding:20px}.diagnostic-warning strong{font-size:19px}.diagnostic-warning p{margin:9px 0 0;line-height:1.6}.diagnostic-checklist{color:#334e68;gap:10px;margin:20px 0;padding-left:22px;line-height:1.5;display:grid}.diagnostic-confirmation{color:#102a43;background:#f0f4f8;border:1px solid #b8c7d9;border-radius:14px;align-items:flex-start;gap:12px;padding:16px;font-weight:800;display:flex}.diagnostic-confirmation input{flex:none;width:21px;height:21px;margin-top:1px}.diagnostic-lock-banner{color:#fff;text-align:center;letter-spacing:.02em;background:#9b2c2c;border-radius:22px 22px 0 0;margin:-28px -28px 24px;padding:12px 18px;font-weight:900}.session-preflight{background:#fff;border:1px solid #d9e2ec;border-radius:22px;max-width:760px;margin:0 auto;padding:28px}.session-preflight h1{color:#102a43}.session-exit-dialog{z-index:1200;background:#102a43b8;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.session-exit-card{background:#fff;border-radius:22px;width:min(560px,100%);padding:26px;box-shadow:0 24px 70px #00000059}.session-exit-card textarea{resize:vertical;border:1px solid #d9e2ec;border-radius:12px;width:100%;min-height:130px;margin-top:10px;padding:13px}.danger-button{color:#fff;background:#c53030;border:1px solid #c53030;border-radius:12px;padding:11px 17px;font-weight:800}@media (max-width:620px){.global-dashboard-link{padding:9px 12px;font-size:13px;top:auto;bottom:12px;right:12px}.diagnostic-lock-banner{margin:-20px -20px 20px}.diagnostic-preflight .actions{flex-direction:column-reverse}.diagnostic-preflight .actions a,.diagnostic-preflight .actions button{width:100%}}@media (prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto!important}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
.math-answer{border:1px solid var(--border);background:#fbfdff;border-radius:18px;margin-top:24px;padding:16px}.math-answer-heading{color:var(--navy-soft);justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.math-answer-heading small{color:var(--muted);text-align:right;font-weight:400}.math-answer-host{min-height:62px}.math-answer-field{width:100%;min-height:62px;color:var(--text);--caret-color:var(--navy);--selection-background-color:#d9eaf7;--contains-highlight-background-color:#fff4d6;background:#fff;border:2px solid #b8c7d9;border-radius:14px;padding:12px 14px;font-size:clamp(22px,4vw,30px);line-height:1.4;display:block}.math-answer-field:focus-within{border-color:var(--navy);outline:none;box-shadow:0 0 0 4px #102a431a}.math-toolbar{grid-template-columns:repeat(5,minmax(52px,1fr));gap:8px;margin-top:12px;display:grid}.math-toolbar button{border:1px solid var(--border);min-height:44px;color:var(--navy);background:#fff;border-radius:10px;font-size:16px;font-weight:800}.math-toolbar button:hover,.math-toolbar button:focus-visible{border-color:var(--navy);background:#edf3f8;outline:none}.math-evaluation{color:#276749;background:#f0fff4;border-radius:10px;margin:12px 0 0;padding:10px 12px;font-size:14px}.math-scratchpad{background:#fff;border:1px solid #c7d4e2;border-radius:18px;margin-top:22px;overflow:visible}.math-scratchpad.open{box-shadow:0 12px 30px #102a4314}.scratchpad-toggle{width:100%;color:var(--navy);text-align:left;background:#edf3f8;border:0;justify-content:space-between;align-items:center;gap:14px;padding:15px 17px;display:flex}.scratchpad-toggle span{font-size:16px;font-weight:800}.scratchpad-toggle small{color:var(--muted)}.scratchpad-body{padding:14px;overflow:visible}.scratchpad-tabs{background:#edf2f7;border-radius:12px;grid-template-columns:1fr 1fr;gap:8px;padding:4px;display:grid}.scratchpad-tabs button{color:var(--navy-soft);background:0 0;border:0;border-radius:9px;padding:10px 12px;font-weight:700}.scratchpad-tabs button.active{color:var(--navy);background:#fff;box-shadow:0 3px 10px #102a4314}.scratchpad-panel{gap:10px;margin-top:12px;display:grid;overflow:visible}.scratchpad-panel textarea{resize:vertical;border:1px solid var(--border);width:100%;min-height:520px;color:var(--text);background-color:#fffef8;background-image:linear-gradient(#d9e2ec 1px,#0000 1px),linear-gradient(90deg,#d9e2ec73 1px,#0000 1px);background-size:100% 30px,30px 100%;border-radius:12px;padding:14px;font-family:Courier New,monospace;font-size:16px;line-height:30px}.drawing-toolbar{border:1px solid var(--border);background:#f7f9fc;border-radius:14px;gap:10px;padding:12px;display:grid}.drawing-tool-group,.drawing-tool-row,.drawing-history{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.drawing-tools button,.drawing-history button,.drawing-widths button{border:1px solid var(--border);color:var(--navy-soft);background:#fff;border-radius:10px;font-weight:700}.drawing-tools button{place-items:center;gap:2px;min-width:72px;min-height:54px;padding:7px 9px;display:grid}.drawing-tools button>span{font-size:21px;line-height:1}.drawing-tools button small{font-size:11px}.drawing-tools button.active,.drawing-widths button.active,.drawing-history button:hover:not(:disabled){border-color:var(--navy);color:var(--navy);background:#e8f0f7;box-shadow:0 0 0 2px #102a4314}.drawing-tool-row{justify-content:space-between}.drawing-color-palette,.drawing-widths{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.drawing-color-palette button{border:3px solid #fff;border-radius:50%;width:34px;height:34px;box-shadow:0 0 0 1px #9fb3c8}.drawing-color-palette button.active{box-shadow:0 0 0 3px var(--gold), 0 0 0 5px white;transform:scale(1.05)}.drawing-widths button{place-items:center;width:42px;height:34px;display:grid}.drawing-widths button span{background:var(--navy);border-radius:999px;width:25px}.drawing-history{border-top:1px solid var(--border);padding-top:10px}.drawing-history button{min-height:38px;padding:7px 12px}.drawing-history button.danger{color:#9b2c2c;background:#fff5f5;border-color:#f3b4b4;margin-left:auto}.scratchpad-canvas{border:1px solid var(--border);touch-action:none;cursor:crosshair;background-color:#fffef8;background-image:linear-gradient(#d9e2ec 1px,#0000 1px),linear-gradient(90deg,#d9e2ec 1px,#0000 1px);background-size:24px 24px;border-radius:12px;width:100%;height:clamp(700px,82vw,1000px);min-height:700px;max-height:none;display:block}.scratchpad-canvas.tool-eraser{cursor:cell}.scratchpad-canvas.tool-line,.scratchpad-canvas.tool-rectangle,.scratchpad-canvas.tool-circle{cursor:crosshair}.scratchpad-clear{color:#9b2c2c;background:#fff5f5;border:1px solid #f3b4b4;border-radius:10px;justify-self:end;padding:8px 12px;font-weight:700}.scratchpad-help{color:var(--muted);margin:12px 0 0;font-size:13px;line-height:1.45}@media (max-width:620px){.math-answer{margin-top:18px;padding:13px}.math-answer-heading,.scratchpad-toggle{flex-direction:column;align-items:flex-start}.math-answer-heading small{text-align:left}.math-toolbar{grid-template-columns:repeat(3,minmax(62px,1fr))}.math-toolbar button{min-height:48px}.scratchpad-tabs{grid-template-columns:1fr}.drawing-tools{grid-template-columns:repeat(3,1fr);display:grid}.drawing-tools button{width:100%;min-width:0}.drawing-tool-row{flex-direction:column;align-items:flex-start}.drawing-history button{flex:auto}.drawing-history button.danger{flex-basis:100%;margin-left:0}.scratchpad-canvas{height:clamp(580px,145vw,800px);min-height:580px}.scratchpad-panel textarea{min-height:420px}}
.math-question-tools{border-top:1px solid #d9e2ec;width:100%;margin-top:18px;padding-top:16px}.math-question-tools-intro{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:10px;display:flex}.math-question-tools-intro>div{gap:2px;display:grid}.math-question-tools-intro strong{color:var(--navy);font-size:15px}.math-question-tools-intro span,.math-question-tools-intro small{color:var(--muted);font-size:12px}.math-question-tools .math-answer{box-shadow:none;border-radius:15px;margin-top:0;padding:13px}.math-question-tools .math-answer-heading{margin-bottom:9px}.math-question-tools .math-answer-field{min-height:54px;font-size:clamp(20px,3vw,26px)}.math-answer-textarea{resize:vertical;width:100%;min-height:132px;color:var(--text);font:inherit;background:#fff;border:2px solid #b8c7d9;border-radius:14px;padding:15px 16px;font-size:18px;line-height:1.55}.math-answer-textarea:focus{border-color:var(--navy);outline:none;box-shadow:0 0 0 4px #102a431a}.math-answer-textarea:disabled{color:var(--muted);background:#f3f5f7}.math-answer-mixed .math-toolbar{grid-template-columns:repeat(6,minmax(50px,1fr))}.math-question-scratchpad{margin-top:12px}.math-question-scratchpad-toggle{width:100%;min-height:48px;color:var(--navy);text-align:left;background:#f7f9fc;border:1px solid #c7d4e2;border-radius:13px;justify-content:space-between;align-items:center;gap:12px;padding:11px 14px;display:flex}.math-question-scratchpad-toggle span{font-weight:800}.math-question-scratchpad-toggle small{color:var(--muted)}.math-question-scratchpad .math-studio{box-shadow:none;border-radius:15px;margin-top:10px}.review-card>.math-answer{margin-top:18px}@media (max-width:720px){.math-question-tools-intro,.math-question-scratchpad-toggle{flex-direction:column;align-items:flex-start}.math-question-tools .math-toolbar,.math-answer-mixed .math-toolbar{grid-template-columns:repeat(3,minmax(58px,1fr))}.math-answer-textarea{min-height:150px;font-size:17px}}
.math-studio{background:#fff;border:1px solid #c7d4e2;border-radius:20px;margin-top:22px;overflow:visible}.math-studio.open{box-shadow:0 16px 38px #102a431a}.math-studio:fullscreen{background:#eef3f8;padding:18px;overflow:auto}.math-studio:fullscreen .scratchpad-canvas{height:min(82vh,1100px)}.studio-body{padding:14px;overflow:visible}.studio-top-actions,.studio-footer-actions,.studio-modes,.studio-history,.studio-selection-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.studio-top-actions{justify-content:space-between;gap:12px}.studio-top-actions .scratchpad-tabs{min-width:min(440px,100%)}.studio-modes button,.studio-footer-actions button,.studio-history button,.studio-selection-actions button{border:1px solid var(--border);color:var(--navy-soft);background:#fff;border-radius:10px;padding:9px 12px;font-weight:750}.studio-modes button.active{color:#6b4e00;background:#fff4d6;border-color:#d7a928}.studio-drawing-layout{grid-template-columns:210px minmax(0,1fr);align-items:start;gap:12px;margin-top:12px;display:grid;overflow:visible}.studio-toolbar{border:1px solid var(--border);background:#f7f9fc;border-radius:14px;align-content:start;gap:12px;padding:12px;display:grid;position:sticky;top:12px}.studio-tools{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.studio-tools button{border:1px solid var(--border);min-height:58px;color:var(--navy-soft);background:#fff;border-radius:10px;place-items:center;gap:2px;font-weight:700;display:grid}.studio-tools button span{font-size:20px;line-height:1}.studio-tools button small{font-size:10px}.studio-tools button.active{border-color:var(--navy);color:var(--navy);background:#e8f0f7;box-shadow:0 0 0 2px #102a4314}.studio-toolbar select{border:1px solid var(--border);width:100%;color:var(--navy);background:#fff;border-radius:10px;padding:10px}.studio-templates{grid-template-columns:1fr 1fr;gap:6px;display:grid}.studio-templates strong{color:var(--navy);grid-column:1/-1;font-size:13px}.studio-templates button{border:1px solid var(--border);color:var(--navy-soft);background:#fff;border-radius:9px;padding:7px 5px;font-size:11px;font-weight:700}.studio-canvas-area{gap:9px;width:100%;min-width:0;display:grid;overflow:visible}.studio-canvas-area .scratchpad-canvas{background-image:none;width:100%;height:clamp(760px,78vw,1040px);min-height:760px;max-height:none;display:block}.studio-history button:disabled{opacity:.45}.studio-history button:last-child{color:#9b2c2c;background:#fff5f5;border-color:#f3b4b4;margin-left:auto}.studio-selection-actions{background:#fffaf0;border:1px solid #f0cc68;border-radius:12px;padding:10px}.studio-selection-actions strong{color:#6b4e00;margin-right:auto}.studio-selection-actions .danger{color:#9b2c2c;border-color:#f3b4b4}.studio-footer-actions{border-top:1px solid var(--border);margin-top:13px;padding-top:13px}.studio-footer-actions button:last-child{background:var(--navy);color:#fff;border-color:var(--navy)}.math-studio.exam-mode .studio-toolbar{grid-template-columns:1fr}.math-studio.exam-mode .studio-footer-actions button:nth-last-child(-n+2){display:none}.math-studio.exam-mode{border-color:#d6b34f}.math-studio.exam-mode .scratchpad-toggle{background:#fff8df}.contextual-math-studio{z-index:60;width:min(620px,100vw - 36px);max-height:calc(100vh - 36px);position:fixed;bottom:18px;right:18px;overflow:auto}.contextual-math-studio .math-studio{margin:0;box-shadow:0 22px 55px #102a433d}.saved-workspaces{max-width:1180px;margin:28px auto 56px;padding:0 22px}.saved-workspaces-heading{justify-content:space-between;align-items:end;gap:16px;margin-bottom:16px;display:flex}.saved-workspaces-heading h2{margin:2px 0 0}.saved-workspaces-heading>span{color:var(--navy);background:#edf3f8;border-radius:999px;padding:8px 12px;font-weight:800}.saved-workspaces-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.saved-workspace-card{background:#fff;border:1px solid #c7d4e2;border-radius:18px;padding:16px;box-shadow:0 10px 28px #102a4312}.saved-workspace-meta{gap:3px;display:grid}.saved-workspace-meta span{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:12px}.saved-workspace-meta strong{color:var(--navy);font-size:18px}.saved-workspace-card img{border:1px solid var(--border);background:#fffef8;border-radius:12px;width:100%;margin:12px 0}.saved-workspace-card pre{white-space:pre-wrap;background:#f7f9fc;border-radius:12px;padding:12px;font-family:inherit;line-height:1.5}.saved-workspace-analysis{border-left:4px solid var(--gold);background:#fffaf0;margin-top:12px;padding:10px 12px}.saved-workspace-card small{color:var(--muted);margin-top:10px;display:block}@media (max-width:900px){.studio-drawing-layout{grid-template-columns:1fr}.studio-toolbar{grid-template-columns:1fr 1fr;position:static}.studio-tools{grid-column:1/-1;grid-template-columns:repeat(5,minmax(0,1fr))}.studio-templates{grid-column:1/-1;grid-template-columns:repeat(4,1fr)}.studio-canvas-area .scratchpad-canvas{height:clamp(680px,105vw,900px);min-height:680px}.saved-workspaces-grid{grid-template-columns:1fr}}@media (max-width:620px){.studio-body{padding:10px}.studio-top-actions{flex-direction:column;align-items:stretch}.studio-modes{grid-template-columns:1fr 1fr;display:grid}.studio-modes button{width:100%}.studio-toolbar{grid-template-columns:1fr}.studio-tools{grid-column:auto;grid-template-columns:repeat(3,1fr)}.studio-templates{grid-column:auto;grid-template-columns:repeat(2,1fr)}.studio-canvas-area .scratchpad-canvas{height:clamp(600px,145vw,820px);min-height:600px}.studio-footer-actions{grid-template-columns:1fr 1fr;display:grid}.studio-footer-actions button{width:100%}.studio-selection-actions{align-items:stretch}.studio-selection-actions strong{flex-basis:100%}.contextual-math-studio{width:calc(100vw - 16px);max-height:calc(100vh - 16px);bottom:8px;right:8px}.saved-workspaces{padding:0 14px}.saved-workspaces-heading{flex-direction:column;align-items:flex-start}}
:root{--font-sans:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--surface-canvas:#f4f7fb;--surface-raised:#fff;--surface-subtle:#edf2f7;--surface-emphasis:#102a43;--text-strong:#102a43;--text-default:#243b53;--text-muted:#627d98;--line-subtle:#d9e2ec;--line-strong:#9fb3c8;--brand-primary:#102a43;--brand-accent:#f0b429;--state-success:#2f855a;--state-danger:#c53030;--state-warning:#b7791f;--radius-sm:10px;--radius-md:14px;--radius-lg:20px;--radius-xl:28px;--shadow-sm:0 8px 24px #102a4314;--shadow-md:0 16px 40px #102a431f;--shadow-lg:0 26px 70px #102a432e;--focus-ring:0 0 0 4px #2563eb38;--content-max:1360px;--subject-primary:var(--brand-primary);--subject-light:var(--surface-subtle);--subject-background:var(--surface-canvas);--subject-dark:var(--brand-primary);--subject-text:var(--text-strong);--subject-border:var(--line-subtle);--subject-chart:var(--brand-primary)}html{background:var(--surface-canvas);max-width:100%;overflow-x:hidden}body{background:radial-gradient(circle at 95% 0%, #f0b42917, transparent 28rem), var(--surface-canvas);min-width:320px;max-width:100%;color:var(--text-default);font-family:var(--font-sans);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;line-height:1.5;overflow-x:hidden}:where(main,section,article,aside,header,footer,nav,form,fieldset,div){min-width:0}:where(h1,h2,h3,h4,h5,h6,p,li,dd,dt,label,span,strong,small,a,button){overflow-wrap:anywhere}:where(img,svg,video,canvas),:where(input,select,textarea),:where(table){max-width:100%}.table-scroll,.admin-table-wrap,.data-table-wrap,[role=region][aria-label*=table i]{-webkit-overflow-scrolling:touch;max-width:100%;overflow-x:auto}::selection{color:var(--text-strong);background:#f0b42957}:where(a,button,input,textarea,select):focus-visible{box-shadow:var(--focus-ring);outline:2px solid #0000}:where(button,.primary,.secondary,.link-button,.nav-item){transition:transform .16s,box-shadow .16s,border-color .16s,background-color .16s,color .16s}:where(button,.primary,.secondary,.link-button):not(:disabled):active{transform:translateY(1px)}.app-shell{background:0 0;grid-template-columns:minmax(240px,278px) minmax(0,1fr)}.sidebar{border-right:1px solid #ffffff1f;padding:32px 24px;box-shadow:14px 0 40px #102a4314}.sidebar h1{letter-spacing:-.035em;font-size:clamp(24px,2vw,30px);line-height:1.15}.sidebar nav{gap:7px}.nav-item{border-radius:var(--radius-md);border:1px solid #0000;font-weight:700;line-height:1.35}.nav-item:hover,.nav-item.active{background:#ffffff1f;border-color:#ffffff29;transform:translate(2px)}.content{max-width:var(--content-max);padding:clamp(24px,3vw,44px)}.topbar,.section-heading{align-items:flex-start}.topbar h2,.section-heading h2{color:var(--text-strong);letter-spacing:-.035em;font-size:clamp(25px,3vw,34px);line-height:1.16}.subtitle,.subject-module-intro p,.lesson-card p,.coach-card p{color:var(--text-muted)}.metrics{gap:18px}.metrics article,.lesson-card,.coach-card,.mastery,.subject-feature-card,.education-stage,.auth-card,.diagnostic-card,.result-card,.session-preflight{border-color:var(--line-subtle);box-shadow:var(--shadow-sm);background:#fffffff5}.metrics article{border-radius:var(--radius-lg);align-content:center;min-height:126px}.metrics strong{color:var(--text-strong);letter-spacing:-.025em}.lesson-card,.coach-card,.mastery{border-radius:var(--radius-lg)}.lesson-card:hover,.coach-card:hover,.metrics article:hover,.subject-feature-card:hover{box-shadow:var(--shadow-md);border-color:#bcccdc}.primary,.secondary{border-radius:var(--radius-md);justify-content:center;align-items:center;gap:8px;min-height:44px;text-decoration:none;display:inline-flex}.primary{box-shadow:0 8px 18px #102a4329}.primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 12px 26px #102a4338}.secondary:hover:not(:disabled){border-color:var(--line-strong);background:var(--surface-subtle)}.status-pill,.tag{border:1px solid #b7791f29}.answer{border-radius:var(--radius-md);min-height:54px}.answer:hover{transform:translateY(-1px);box-shadow:0 8px 20px #102a4314}.progress-track,.mini-track{box-shadow:inset 0 1px 2px #102a4314}.app-action-dock{z-index:1000;max-width:calc(100vw - 36px);box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(16px);background:#ffffffe6;border:1px solid #ffffffc7;border-radius:999px;align-items:center;gap:8px;padding:6px;display:flex;position:fixed;top:16px;right:18px}.app-action-link{min-height:40px;color:var(--text-strong);white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:8px 13px;font-size:13px;font-weight:800;text-decoration:none;display:inline-flex}.app-action-link:hover{background:var(--surface-subtle)}.app-action-link--accent{background:var(--subject-accent-dark,var(--brand-primary));color:#fff}.app-action-link--accent:hover{background:var(--subject-accent,var(--navy-soft))}.app-action-dock--compact{top:auto;bottom:16px;right:16px}.global-dashboard-link,.subject-switcher{display:none!important}.subject-choice-page{background:radial-gradient(circle at 50% -10%,#f0b42933,transparent 30rem),linear-gradient(180deg,#fff 0,var(--surface-canvas) 48%)}.subject-choice-intro h1,.subject-choice-intro h2{letter-spacing:-.045em;line-height:1.08}.education-stage,.subject-card{box-shadow:var(--shadow-md)}.subject-card{isolation:isolate;position:relative;overflow:hidden}.subject-card:after{content:"";z-index:-1;background:#ffffff1f;border-radius:50%;width:220px;height:220px;position:absolute;inset:auto -60px -80px auto}html[data-subject] body{background:radial-gradient(circle at 88% 4%,color-mix(in srgb,var(--subject-primary) 10%,transparent),transparent 28rem),var(--surface-canvas)}html[data-subject] :where(.eyebrow,.tag,.subject-contextual-label){color:var(--subject-dark)}html[data-subject] :where(.primary,.progress-track>div,.mini-track>div,.mastery .mini-track>div){background:var(--subject-primary)}html[data-subject] :where(.lesson-card,.coach-card,.mastery,.result-card,.diagnostic-card){border-color:color-mix(in srgb,var(--subject-border) 65%,var(--line-subtle))}html[data-subject] :where(.status-pill,.tag){background:var(--subject-background);border-color:var(--subject-border);color:var(--subject-dark)}html[data-subject] .sidebar{background:linear-gradient(180deg,var(--subject-dark),color-mix(in srgb,var(--subject-dark) 84%,#102a43))}html[data-subject] .subject-chart-series,html[data-subject] [data-subject-chart]{--chart-color:var(--subject-chart);color:var(--subject-chart)}.subject-context-indicator{z-index:990;border:1px solid var(--subject-border);background:color-mix(in srgb,var(--subject-background) 90%,white);max-width:min(300px,100vw - 36px);color:var(--subject-text);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:999px;align-items:center;gap:9px;padding:8px 12px;display:flex;position:fixed;top:72px;right:18px;box-shadow:0 8px 24px #102a431f}.subject-context-indicator>span:last-child{line-height:1.1;display:grid}.subject-context-indicator small{color:var(--text-muted);font-size:.62rem;font-weight:800}.subject-context-indicator strong{font-size:.78rem}.subject-context-icon{background:var(--subject-primary);color:#fff;border-radius:9px;place-items:center;width:30px;height:30px;font-size:.75rem;font-weight:950;display:grid}.cheik-chart{border:1px solid var(--line-subtle);border-radius:var(--radius-lg);width:100%;box-shadow:var(--shadow-sm);background:#fff;padding:18px;overflow:hidden}.cheik-chart-title{color:var(--text-strong);margin:0 0 4px;font-size:1rem}.cheik-chart-description{color:var(--text-muted);margin:0 0 16px;font-size:.78rem}.cheik-chart-bars{gap:12px;display:grid}.cheik-chart-row{grid-template-columns:minmax(105px,.8fr) minmax(120px,2fr) auto;align-items:center;gap:10px;display:grid}.cheik-chart-label{color:var(--text-default);font-size:.75rem;font-weight:800}.cheik-chart-track{background:#e8eef3;border-radius:999px;height:12px;overflow:hidden}.cheik-chart-track>span{border-radius:inherit;background:var(--chart-color,var(--subject-chart,var(--brand-primary)));height:100%;display:block}.cheik-chart-value{color:var(--text-strong);font-variant-numeric:tabular-nums;font-size:.75rem;font-weight:900}@media (max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{height:auto;position:relative;box-shadow:0 10px 30px #102a4329}.sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr))}.app-action-dock{justify-content:center;max-width:none;inset:auto 12px 12px}.app-action-link{flex:1 1 0}.subject-context-indicator{top:auto;bottom:82px;right:12px}}@media (max-width:620px){body{padding-bottom:74px}.content{padding:22px 14px 32px}.sidebar{padding:22px 16px}.sidebar nav{grid-template-columns:1fr}.metrics article{min-height:108px}.section-heading,.topbar{width:100%}.section-heading>*,.topbar>*{max-width:100%}.actions{width:100%}.actions>:where(button,a){max-width:100%}.app-action-dock{justify-content:stretch;overflow-x:auto}.app-action-link{min-width:max-content;padding-inline:12px}.app-action-link span:last-child{font-size:12px}.subject-context-indicator{justify-content:center;left:12px;right:12px}.cheik-chart-row{grid-template-columns:1fr auto}.cheik-chart-track{grid-column:1/-1}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
.subject-context-indicator{z-index:70;border:1px solid var(--subject-border);border-left:4px solid var(--subject-primary);background:var(--subject-background);max-width:min(330px,100vw - 32px);color:var(--subject-text);border-radius:14px;align-items:center;gap:9px;padding:8px 12px;display:inline-flex;position:fixed;top:76px;right:18px;box-shadow:0 8px 24px #0f172a1f}.subject-context-icon{background:var(--subject-light);width:30px;height:30px;color:var(--subject-dark);border-radius:9px;flex:none;place-items:center;font-size:.9rem;font-weight:950;display:grid}.subject-context-copy{gap:1px;min-width:0;display:grid}.subject-context-copy small{text-transform:uppercase;letter-spacing:.06em;opacity:.72;font-size:.66rem;font-weight:800}.subject-context-copy strong{white-space:nowrap;text-overflow:ellipsis;font-size:.86rem;overflow:hidden}.mjouzi-subject-context{border:1px solid var(--subject-border);background:var(--subject-background);color:var(--subject-dark);white-space:nowrap;box-shadow:inset 3px 0 0 var(--subject-primary);border-radius:999px;align-items:center;gap:6px;margin-left:auto;padding:6px 10px;font-size:.72rem;font-weight:900;display:inline-flex}[data-subject-id]{--active-subject-color:var(--subject-primary);--active-subject-background:var(--subject-background);--active-subject-border:var(--subject-border)}.subject-identity-inline{color:var(--subject-dark);align-items:center;gap:7px;font-weight:850;display:inline-flex}.subject-identity-inline:before{content:"";background:var(--subject-primary);width:9px;height:9px;box-shadow:0 0 0 4px color-mix(in srgb,var(--subject-primary) 14%,transparent);border-radius:50%}.subject-identity{border:1px solid var(--subject-border);border-left:4px solid var(--subject-primary);background:var(--subject-background);max-width:100%;color:var(--subject-text);vertical-align:middle;border-radius:12px;align-items:center;gap:9px;padding:8px 11px;display:inline-flex}.subject-identity__icon{background:var(--subject-light);width:31px;height:31px;color:var(--subject-dark);border-radius:9px;flex:none;place-items:center;font-size:.88rem;font-weight:950;display:grid}.subject-identity__copy{gap:1px;min-width:0;display:grid}.subject-identity__copy strong{font-size:.86rem;line-height:1.25}.subject-identity__copy small{opacity:.76;font-size:.72rem;line-height:1.25}.subject-identity--compact{border-left-width:3px;gap:6px;padding:5px 8px}.subject-identity--compact .subject-identity__icon{border-radius:7px;width:24px;height:24px;font-size:.72rem}.subject-identity--compact .subject-identity__copy strong{font-size:.78rem}.subject-identity--unknown{color:#334155;background:#f8fafc;border-color:#cbd5e1 #cbd5e1 #cbd5e1 #64748b}.subject-identity--unknown .subject-identity__icon{color:#334155;background:#e2e8f0}.subject-surface{color:var(--subject-text);border-color:var(--subject-border)!important;background:var(--subject-background)!important}.subject-accent-bar{border-left:5px solid var(--subject-primary)!important}.subject-chart-swatch{background:var(--subject-chart);border:1px solid var(--subject-dark);border-radius:3px;width:10px;height:10px;display:inline-block}@media (max-width:760px){.subject-context-indicator{justify-content:center;max-width:none;inset:auto 12px 12px}.subject-context-copy strong{white-space:normal}.mjouzi-subject-context{white-space:normal;text-align:center;justify-content:center;width:100%;margin:7px 0 0}}@media (prefers-reduced-motion:no-preference){.subject-context-indicator,.subject-identity{transition:border-color .18s,background-color .18s,color .18s}}
.student-dashboard{gap:24px;display:grid}.student-hero{border:1px solid var(--border);border-radius:var(--radius-xl,24px);background:radial-gradient(circle at top right, color-mix(in srgb, var(--subject-accent-soft) 78%, white), transparent 44%), var(--surface,#fff);box-shadow:var(--shadow-card,0 16px 38px #102a431a);grid-template-columns:minmax(0,1.5fr) minmax(260px,.7fr);gap:18px;padding:28px;display:grid}.student-hero-copy{align-content:center;gap:12px;display:grid}.student-hero-copy h2{max-width:760px;color:var(--navy);margin:0;font-size:clamp(30px,4vw,48px);line-height:1.08}.student-hero-copy p{max-width:720px;color:var(--muted);margin:0;font-size:17px;line-height:1.65}.student-hero-actions,.student-quick-actions{flex-wrap:wrap;gap:12px;display:flex}.student-goal-card{background:var(--subject-accent-dark);color:#fff;border-radius:22px;align-content:center;gap:12px;min-height:210px;padding:22px;display:grid}.student-goal-card span,.student-goal-card small{color:#ffffffc7}.student-goal-card strong{font-size:clamp(36px,6vw,58px);line-height:1}.student-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.student-kpi{border:1px solid var(--border);background:var(--surface,#fff);border-radius:18px;gap:8px;min-height:132px;padding:19px;display:grid}.student-kpi span,.student-kpi small{color:var(--muted)}.student-kpi strong{color:var(--navy);font-size:29px}.student-main-grid{grid-template-columns:minmax(0,1.45fr) minmax(280px,.75fr);align-items:start;gap:20px;display:grid}.student-mission-card{border:1px solid color-mix(in srgb, var(--subject-accent) 30%, var(--border));background:linear-gradient(145deg, #fff, color-mix(in srgb, var(--subject-accent-soft) 44%, white));box-shadow:var(--shadow-card,0 16px 38px #102a431a);border-radius:24px;gap:18px;padding:28px;display:grid}.student-mission-card h3{color:var(--navy);margin:0;font-size:clamp(26px,3vw,36px)}.student-mission-card p{color:var(--muted);margin:0;font-size:17px;line-height:1.65}.student-side-stack{gap:16px;display:grid}.student-side-card{border:1px solid var(--border);background:var(--surface,#fff);border-radius:20px;padding:22px}.student-side-card h3{color:var(--navy);margin:10px 0 8px}.student-side-card p{color:var(--muted);margin:0;line-height:1.55}.student-week-list{gap:12px;margin-top:16px;display:grid}.student-week-item{border-top:1px solid var(--border);justify-content:space-between;gap:16px;padding-top:12px;display:flex}.student-week-item span{color:var(--muted)}.student-week-item strong{color:var(--navy)}.student-priority-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.student-priority-card{border:1px solid var(--border);background:var(--surface,#fff);border-radius:18px;gap:12px;padding:18px;display:grid}.student-priority-card header{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.student-priority-card h3{color:var(--navy);margin:3px 0 0;font-size:17px}.student-priority-card small{color:var(--muted)}.student-priority-card strong{color:var(--subject-accent-dark)}@media (max-width:1050px){.student-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.student-main-grid{grid-template-columns:1fr}.student-side-stack{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.student-hero{grid-template-columns:1fr;padding:22px}.student-goal-card{min-height:auto}.student-priority-grid,.student-side-stack{grid-template-columns:1fr}}@media (max-width:520px){.student-kpis{grid-template-columns:1fr}.student-hero-actions>*,.student-quick-actions>*{text-align:center;width:100%}}
.subject-choice-utility,.subject-choice-mission{width:min(1180px,100% - 48px);margin-inline:auto}.subject-choice-utility{justify-content:flex-end;padding-top:84px;display:flex}.subject-choice-mission{padding-top:18px}.subject-entry-page{background:radial-gradient(circle at top left, #2563eb1f, transparent 34%), radial-gradient(circle at top right, #7c3aed1f, transparent 32%), var(--color-background,#f4f7fb);min-height:100vh;padding:56px 24px 96px}.subject-entry-shell{gap:28px;width:min(1180px,100%);margin:0 auto;display:grid}.subject-entry-hero{background:#ffffffe6;border:1px solid #94a3b83d;border-radius:32px;grid-template-columns:minmax(0,1.45fr) minmax(260px,.65fr);gap:28px;padding:clamp(28px,5vw,56px);display:grid;box-shadow:0 28px 70px #0f172a1a}.subject-entry-hero h1{letter-spacing:-.045em;color:#0f172a;max-width:760px;margin:10px 0 16px;font-size:clamp(38px,6vw,66px);line-height:.98}.subject-entry-hero-copy{color:#52606d;max-width:720px;margin:0;font-size:clamp(17px,2vw,20px);line-height:1.65}.subject-context-card{color:#fff;background:#0f172a;border-radius:24px;align-content:center;align-self:stretch;gap:14px;padding:24px;display:grid}.subject-context-card span,.subject-context-card small{color:#cbd5e1}.subject-context-card strong{font-size:28px}.subject-entry-panel{background:#fffffff0;border:1px solid #dbe3ee;border-radius:28px;padding:26px;box-shadow:0 18px 44px #0f172a12}.subject-entry-panel-header{justify-content:space-between;align-items:end;gap:20px;margin-bottom:20px;display:flex}.subject-entry-panel-header h2{color:#0f172a;margin:4px 0 0;font-size:clamp(25px,3vw,36px)}.subject-entry-panel-header p{color:#64748b;max-width:540px;margin:0;line-height:1.55}.subject-entry-actions{flex-wrap:wrap;align-items:center;display:flex}.subject-level-strip{scrollbar-width:thin;gap:10px;padding:2px 2px 8px;display:flex;overflow-x:auto}.subject-level-chip{color:#334155;text-align:left;background:#fff;border:1px solid #cbd5e1;border-radius:16px;flex:none;gap:4px;min-width:130px;padding:14px 16px;display:grid}.subject-level-chip strong{color:#0f172a}.subject-level-chip small{color:#64748b}.subject-level-chip.active{background:#eef2ff;border-color:#0f172a;box-shadow:0 0 0 3px #0f172a14}.subject-entry-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;display:grid}.subject-entry-card{color:#fff;text-align:left;border:2px solid #0000;border-radius:30px;align-content:space-between;gap:28px;min-height:360px;padding:30px;transition:transform .18s,box-shadow .18s,border-color .18s;display:grid;position:relative;overflow:hidden;box-shadow:0 24px 54px #0f172a2e}.subject-entry-card-themed{border-color:var(--subject-border);background:linear-gradient(145deg, var(--subject-primary), var(--subject-dark))}.subject-entry-card-unconfigured{background:linear-gradient(145deg,#64748b,#334155);border-color:#cbd5e1}.subject-entry-card:after{content:"";background:#ffffff1a;border-radius:50%;width:220px;height:220px;position:absolute;top:-70px;right:-70px}.subject-entry-card:hover,.subject-entry-card:focus-visible{transform:translateY(-5px);box-shadow:0 30px 64px #0f172a3d}.subject-entry-card:focus-visible{outline-offset:-7px;outline:3px solid #fff}.subject-entry-card:disabled{cursor:not-allowed;opacity:.7;box-shadow:none;transform:none}.subject-entry-card-top,.subject-entry-card-copy,.subject-entry-card-footer{z-index:1;position:relative}.subject-entry-card-top{justify-content:space-between;align-items:start;gap:16px;display:flex}.subject-entry-icon{background:#ffffff2b;border:1px solid #fff3;border-radius:22px;place-items:center;width:72px;height:72px;font-size:30px;font-weight:900;display:grid}.subject-entry-status{text-transform:uppercase;letter-spacing:.06em;background:#ffffff26;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:800}.subject-entry-card-copy{gap:10px;display:grid}.subject-entry-card-copy small{text-transform:uppercase;letter-spacing:.12em;opacity:.86}.subject-entry-card-copy strong{font-size:clamp(30px,4vw,42px)}.subject-entry-card-copy span{opacity:.94;max-width:520px;line-height:1.6}.subject-entry-card-footer{justify-content:space-between;align-items:center;gap:16px;font-weight:800;display:flex}.subject-entry-feedback{margin:0}.subject-entry-loading{color:#475569;place-items:center;min-height:60vh;font-weight:700;display:grid}@media (max-width:860px){.subject-entry-hero,.subject-entry-grid{grid-template-columns:1fr}.subject-entry-panel-header{flex-direction:column;align-items:start}}@media (max-width:640px){.subject-choice-utility,.subject-choice-mission{width:calc(100% - 28px)}.subject-choice-utility{padding-top:10px}.subject-choice-utility .link-button{width:100%}.subject-entry-page{padding:36px 14px 72px}.subject-entry-hero,.subject-entry-panel,.subject-entry-card{border-radius:24px;padding:22px}.subject-entry-card{min-height:310px}.subject-entry-card-footer{flex-direction:column;align-items:start}.subject-entry-actions{align-items:stretch;width:100%}}@media (prefers-reduced-motion:reduce){.subject-entry-card{transition:none}}
.diagnostic-page{background:radial-gradient(circle at 100% 0,#f0b4292e,#0000 32%),linear-gradient(#f8fbff 0%,#eef3f8 100%);min-height:100vh;padding:72px 24px 88px}.diagnostic-loading,.diagnostic-error-shell{border:1px solid var(--border-strong,#cbd5e1);background:#fffffff5;border-radius:28px;width:min(760px,100%);margin:8vh auto 0;padding:32px;box-shadow:0 22px 60px #0f172a1f}.diagnostic-loading{text-align:center;gap:18px;display:grid}.diagnostic-loader{border:4px solid #dbe5ef;border-top-color:#1e3a8a;border-radius:50%;width:44px;height:44px;margin:0 auto;animation:.8s linear infinite diagnostic-spin}@keyframes diagnostic-spin{to{transform:rotate(360deg)}}.diagnostic-card,.result-card{background:#fffffff7;border:1px solid #94a3b859;border-radius:30px;width:min(1040px,100%);margin:0 auto;box-shadow:0 24px 70px #0f172a24}.diagnostic-card{padding:clamp(24px,4vw,44px)}.result-card{text-align:center;max-width:660px;padding:clamp(28px,5vw,48px)}.diagnostic-preflight{grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);align-items:start;gap:28px;display:grid}.diagnostic-preflight-main,.diagnostic-preflight-side{gap:22px;display:grid}.diagnostic-preflight h1,.diagnostic-header h1{color:#0f2742;margin:8px 0 0;font-size:clamp(32px,5vw,54px);line-height:1.05}.diagnostic-kicker{color:#64748b;font-size:18px;line-height:1.65}.diagnostic-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.diagnostic-summary-grid article{background:#f8fafc;border:1px solid #dbe5ef;border-radius:18px;gap:6px;padding:18px;display:grid}.diagnostic-summary-grid span{color:#64748b;font-size:13px;font-weight:700}.diagnostic-summary-grid strong{color:#102a43;font-size:22px}.diagnostic-warning{color:#6b4f00;background:#fff9e8;border:1px solid #f7d98c;border-left:6px solid #d99a00;border-radius:18px;padding:20px}.diagnostic-warning p{margin:8px 0 0;line-height:1.6}.diagnostic-checklist-card{color:#fff;background:#102a43;border-radius:22px;padding:24px}.diagnostic-checklist-card h2{margin:0 0 18px;font-size:22px}.diagnostic-checklist{gap:14px;margin:0;padding:0;list-style:none;display:grid}.diagnostic-checklist li{color:#dbe7f2;grid-template-columns:28px 1fr;gap:10px;line-height:1.5;display:grid}.diagnostic-checklist li:before{content:"✓";color:#ffd166;background:#ffffff1f;border-radius:50%;place-items:center;width:24px;height:24px;font-weight:900;display:grid}.diagnostic-confirmation{color:#243b53;background:#fff;border:1px solid #cbd5e1;border-radius:16px;grid-template-columns:24px 1fr;align-items:start;gap:12px;padding:18px;font-weight:700;line-height:1.5;display:grid}.diagnostic-confirmation input{accent-color:#1e3a8a;width:20px;height:20px;margin-top:2px}.diagnostic-card .actions,.result-card .actions{flex-wrap:wrap;justify-content:flex-end;gap:12px;margin-top:4px;display:flex}.diagnostic-lock-banner{color:#9b1c1c;text-align:center;background:#fff2f2;border-radius:14px;margin:-4px -4px 24px;padding:12px 16px;font-weight:800}.diagnostic-header{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.diagnostic-description{color:#64748b;max-width:680px;line-height:1.6}.diagnostic-status{color:#fff;text-align:right;background:#102a43;border-radius:18px;gap:8px;min-width:170px;padding:16px;display:grid}.diagnostic-status strong{font-size:26px}.diagnostic-status span{color:#d3dfeb}.diagnostic-status time{color:#ffd166;font-variant-numeric:tabular-nums;font-size:20px;font-weight:900}.diagnostic-parts{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:28px 0 14px;display:grid}.diagnostic-parts>div{color:#64748b;background:#f8fafc;border:1px solid #dbe5ef;border-radius:16px;align-content:space-between;gap:8px;min-height:96px;padding:14px;display:grid}.diagnostic-parts>div.active{color:#fff;background:#1e3a8a;border-color:#1e3a8a;box-shadow:0 10px 24px #1e3a8a33}.diagnostic-parts strong{font-size:13px;line-height:1.35}.diagnostic-parts span{font-size:12px;font-weight:800}.diagnostic-progress-label{color:#52606d;justify-content:space-between;gap:16px;margin-top:18px;font-size:14px;font-weight:800;display:flex}.diagnostic-card .progress-track{height:10px;margin:8px 0 24px}.diagnostic-section-title{color:#102a43;background:#eef4fa;border-left:6px solid #1e3a8a;border-radius:14px;justify-content:space-between;gap:14px;margin-bottom:20px;padding:16px 18px;display:flex}.diagnostic-context{color:#334e68;background:#f8fafc;border:1px solid #dbe5ef;border-radius:16px;margin:18px 0;padding:18px;line-height:1.65}.diagnostic-card .question{color:#102a43;margin:22px 0 0;font-size:clamp(22px,3vw,30px);line-height:1.45}.diagnostic-card .answers{margin-top:24px}.diagnostic-card .answer{min-height:58px;transition:border-color .16s,background .16s,transform .16s}.diagnostic-card .answer:hover{transform:translateY(-1px)}.diagnostic-card .answer.selected{background:#eef4ff;border-color:#1e3a8a;box-shadow:0 0 0 3px #1e3a8a14}.diagnostic-rule{color:#64748b;background:#f8fafc;border-radius:14px;margin-top:20px;padding:14px 16px;font-size:14px}.result-card .result-score{color:#102a43;margin:18px 0 8px;font-size:clamp(62px,10vw,96px);line-height:1}.result-card .result-subtitle{color:#64748b;font-size:18px;line-height:1.6}@media (max-width:820px){.diagnostic-preflight,.diagnostic-summary-grid{grid-template-columns:1fr}.diagnostic-parts{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:620px){.diagnostic-page{padding:28px 12px 72px}.diagnostic-card,.result-card{border-radius:22px;padding:20px}.diagnostic-header{flex-direction:column}.diagnostic-status{text-align:left;grid-template-columns:repeat(3,auto);align-items:center;width:100%;min-width:0}.diagnostic-parts{grid-template-columns:1fr}.diagnostic-parts>div{min-height:auto}.diagnostic-section-title{flex-direction:column}.diagnostic-card .actions,.result-card .actions{flex-direction:column-reverse}.diagnostic-card .actions>*,.result-card .actions>*{text-align:center;width:100%}}@media (prefers-reduced-motion:reduce){.diagnostic-loader{animation:none}.diagnostic-card .answer{transition:none}}
.diagnostic-nsi-page{--nsi-diagnostic-accent:#7c3aed;--nsi-diagnostic-accent-dark:#4c1d95;--nsi-diagnostic-accent-soft:#f3efff;background:radial-gradient(circle at 100% 0,#7c3aed33,#0000 34%),radial-gradient(circle at 0 100%,#2563eb14,#0000 30%),linear-gradient(#fbfaff 0%,#f2f0f8 100%)}.diagnostic-nsi-page .eyebrow{color:var(--nsi-diagnostic-accent)}.diagnostic-nsi-page .diagnostic-loader{border-top-color:var(--nsi-diagnostic-accent)}.diagnostic-nsi-page .diagnostic-checklist-card{background:linear-gradient(150deg, #32165f, var(--nsi-diagnostic-accent-dark))}.diagnostic-nsi-page .diagnostic-checklist li:before{color:#e9d5ff}.diagnostic-nsi-page .diagnostic-confirmation input{accent-color:var(--nsi-diagnostic-accent)}.diagnostic-nsi-page .diagnostic-status{background:linear-gradient(150deg, #32165f, var(--nsi-diagnostic-accent-dark))}.diagnostic-nsi-page .diagnostic-status time{color:#e9d5ff}.diagnostic-nsi-page .diagnostic-section-title{border-left-color:var(--nsi-diagnostic-accent);background:var(--nsi-diagnostic-accent-soft);color:#32165f}.diagnostic-nsi-page .progress-track div{background:var(--nsi-diagnostic-accent)}.diagnostic-nsi-page .answer span{background:var(--nsi-diagnostic-accent-soft);color:var(--nsi-diagnostic-accent-dark)}.diagnostic-nsi-page .answer:hover,.diagnostic-nsi-page .answer.selected{border-color:var(--nsi-diagnostic-accent);background:#faf8ff}.diagnostic-nsi-page .answer.selected{box-shadow:0 0 0 3px #7c3aed1a}.diagnostic-nsi-page .tag{color:#5b21b6;background:#ede9fe}.diagnostic-nsi-topics{background:#faf8ff;border:1px solid #ddd6fe;border-radius:22px;padding:22px}.diagnostic-nsi-topics h2{color:#32165f;margin:0 0 14px;font-size:20px}.diagnostic-nsi-topic-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.diagnostic-nsi-topic-list li{color:#5b4675;background:#fff;border:1px solid #e9d5ff;border-radius:13px;padding:11px 13px;font-weight:700}.diagnostic-resume-card{text-align:left;max-width:760px}.diagnostic-resume-card h1{color:#32165f;margin:10px 0 12px;font-size:clamp(32px,5vw,48px);line-height:1.08}.diagnostic-resume-card>p{color:#64748b;font-size:17px;line-height:1.6}.diagnostic-resume-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px 0;display:grid}.diagnostic-resume-grid article{background:#faf8ff;border:1px solid #ddd6fe;border-radius:18px;gap:6px;padding:18px;display:grid}.diagnostic-resume-grid span{color:#7c6f8f;font-size:13px;font-weight:700}.diagnostic-resume-grid strong{color:#4c1d95;font-size:24px}.diagnostic-nsi-context{white-space:pre-wrap;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:14px;overflow-x:auto}.diagnostic-nsi-page .result-score{color:var(--nsi-diagnostic-accent-dark)}.diagnostic-nsi-page .result-card .actions{justify-content:center;margin-top:24px}@media (max-width:680px){.diagnostic-resume-grid{grid-template-columns:1fr}.diagnostic-resume-card{text-align:center}}
.lesson-page{--mission-accent:#1e3a8a;--mission-accent-dark:#102a43;--mission-accent-soft:#eef4ff;background:radial-gradient(circle at top right, color-mix(in srgb, var(--mission-accent) 18%, transparent), transparent 34%), linear-gradient(180deg, #f8fbff 0%, #eef3f8 100%);min-height:100vh;padding:54px 24px 90px}.lesson-page-nsi{--mission-accent:#7c3aed;--mission-accent-dark:#3b1768;--mission-accent-soft:#f3efff;background:radial-gradient(circle at 100% 0,#7c3aed33,#0000 34%),radial-gradient(circle at 0 100%,#2563eb14,#0000 30%),linear-gradient(#fbfaff 0%,#f2f0f8 100%)}.lesson-stage{width:min(1220px,100%);margin:0 auto}.mission-loading,.mission-state-card{text-align:center;background:#fffffff7;border:1px solid #d9e2ec;border-radius:28px;width:min(720px,100%);margin:7vh auto 0;padding:34px;box-shadow:0 24px 70px #0f172a21}.mission-loading{gap:18px;display:grid}.mission-loader{border:4px solid #dbe5ef;border-top-color:var(--mission-accent);border-radius:50%;width:46px;height:46px;margin:0 auto;animation:.8s linear infinite mission-spin}@keyframes mission-spin{to{transform:rotate(360deg)}}.lesson-stage-header{background:#fffffff7;border:1px solid #94a3b859;border-radius:30px;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:28px;padding:clamp(26px,4vw,42px);display:grid;box-shadow:0 24px 70px #0f172a21}.mission-subject-chip{background:var(--mission-accent-soft);width:fit-content;color:var(--mission-accent-dark);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;align-items:center;gap:8px;padding:8px 12px;font-size:13px;font-weight:900;display:inline-flex}.lesson-stage-header h1{color:#102a43;max-width:760px;margin:12px 0 10px;font-size:clamp(34px,5vw,58px);line-height:1.04}.lesson-page-nsi .lesson-stage-header h1{color:#32165f}.lesson-stage-header p{color:#627d98;max-width:760px;margin:0;font-size:18px;line-height:1.65}.mission-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-width:230px;display:grid}.mission-summary-grid article{background:#f8fafc;border:1px solid #dbe5ef;border-radius:18px;gap:5px;min-width:105px;padding:16px;display:grid}.mission-summary-grid article:first-child{background:linear-gradient(145deg, var(--mission-accent-dark), var(--mission-accent));color:#fff;border-color:#0000;grid-column:1/-1}.mission-summary-grid span{color:#64748b;font-size:12px;font-weight:800}.mission-summary-grid strong{color:#102a43;font-size:24px}.mission-summary-grid article:first-child span{color:#ffffffbf}.mission-summary-grid article:first-child strong{color:#fff}.mission-progress-shell{background:#ffffffe6;border:1px solid #dbe5ef;border-radius:18px;margin:22px 0;padding:16px 20px}.mission-progress-label{color:#52606d;justify-content:space-between;gap:18px;margin-bottom:9px;font-size:14px;font-weight:900;display:flex}.mission-progress-shell .progress-track{background:#e6edf5;border-radius:999px;height:11px;margin:0;overflow:hidden}.mission-progress-shell .progress-track>div{border-radius:inherit;background:linear-gradient(90deg, var(--mission-accent-dark), var(--mission-accent));height:100%;transition:width .3s}.lesson-layout{grid-template-columns:minmax(0,1.65fr) minmax(280px,.72fr);align-items:start;gap:22px;display:grid}.lesson-step-card,.lesson-coach-panel{background:#fffffffa;border:1px solid #94a3b861;border-radius:26px;box-shadow:0 18px 50px #0f172a17}.lesson-step-card{padding:clamp(24px,4vw,38px)}.lesson-coach-panel{padding:24px;position:sticky;top:88px}.lesson-step-heading{border-bottom:1px solid #e6edf5;justify-content:space-between;align-items:center;gap:14px;padding-bottom:18px;display:flex}.mission-step-meta{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.mission-step-type{background:var(--mission-accent-soft);color:var(--mission-accent-dark);border-radius:999px;padding:7px 10px;font-size:12px;font-weight:900}.lesson-step-heading small{color:#64748b;font-weight:700}.lesson-step-card h2{color:#102a43;margin:25px 0 12px;font-size:clamp(25px,3vw,34px);line-height:1.25}.lesson-page-nsi .lesson-step-card h2{color:#32165f}.lesson-text,.lesson-step-card .question{color:#334e68;font-size:18px;line-height:1.7}.formula-card,.mission-code-card{border:1px solid color-mix(in srgb, var(--mission-accent) 28%, #dbe5ef);border-left:6px solid var(--mission-accent);background:var(--mission-accent-soft);color:var(--mission-accent-dark);text-align:center;border-radius:16px;margin:20px 0;padding:20px;font-size:20px;font-weight:850}.mission-code-card{white-space:pre-wrap;text-align:left;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:14px;line-height:1.7;overflow-x:auto}.muted-formula{color:#334e68;background:#f5f7fa;border-left-color:#64748b}.lesson-step-card .answers{gap:12px;margin-top:24px;display:grid}.lesson-step-card .answer{color:#243b53;text-align:left;width:100%;min-height:60px;font:inherit;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:16px;align-items:center;gap:13px;padding:14px 16px;font-weight:750;transition:border-color .16s,background .16s,transform .16s;display:flex}.lesson-step-card .answer:hover:not(:disabled){border-color:var(--mission-accent);transform:translateY(-1px)}.lesson-step-card .answer.selected{border-color:var(--mission-accent);background:var(--mission-accent-soft);box-shadow:0 0 0 3px color-mix(in srgb, var(--mission-accent) 12%, transparent)}.lesson-step-card .answer>span:first-child{background:var(--mission-accent-soft);width:32px;height:32px;color:var(--mission-accent-dark);border-radius:10px;flex:none;place-items:center;font-weight:900;display:grid}.lesson-step-card .answer:disabled{cursor:default;opacity:.82}.rule-checklist,.mission-checklist{border:0;gap:11px;margin:22px 0;padding:0;display:grid}.rule-checklist legend,.mission-checklist legend{color:#52606d;margin-bottom:12px;font-weight:850}.rule-checklist label,.mission-checklist label{color:#334e68;background:#fbfdff;border:1px solid #d9e2ec;border-radius:15px;align-items:flex-start;gap:12px;padding:15px;line-height:1.5;display:flex}.rule-checklist input,.mission-checklist input{width:20px;height:20px;accent-color:var(--mission-accent);margin-top:2px}.mission-feedback{border:1px solid;border-radius:17px;margin-top:22px;padding:18px;line-height:1.6}.mission-feedback p{margin:8px 0 0}.mission-feedback small{margin-top:9px;font-weight:800;display:block}.mission-feedback-success{color:#22543d;background:#f0fff4;border-color:#9ae6b4}.mission-feedback-error{color:#822727;background:#fff5f5;border-color:#feb2b2}.mission-feedback-hint{color:#5b21b6;background:#faf8ff;border-color:#ddd6fe}.lesson-actions{flex-wrap:wrap;justify-content:flex-end;gap:12px;margin-top:24px;display:flex}.lesson-coach-panel h3{color:var(--mission-accent-dark);margin:14px 0 18px;font-size:22px}.coach-step{grid-template-columns:34px 1fr;align-items:start;gap:11px;margin-top:12px;display:grid}.coach-step>span{background:var(--mission-accent-soft);width:32px;height:32px;color:var(--mission-accent-dark);border-radius:10px;place-items:center;font-weight:900;display:grid}.coach-step p{color:#52606d;margin:5px 0 0;line-height:1.45}.coach-note{background:var(--mission-accent-soft);color:var(--mission-accent-dark);border-radius:16px;margin-top:22px;padding:17px}.coach-note p{margin:7px 0 0;line-height:1.5}.probability-tree{background:#f8fafc;border-radius:18px;grid-template-columns:90px 1fr;align-items:center;gap:30px;margin:25px 0;padding:24px;display:grid;overflow:hidden}.tree-root{background:var(--mission-accent-dark);color:#fff;border-radius:50%;place-items:center;width:76px;height:76px;font-weight:800;display:grid}.tree-branches{gap:22px;display:grid}.tree-branch{border-left:3px solid var(--mission-accent);grid-template-columns:70px 60px 1fr;align-items:center;gap:12px;min-height:65px;padding-left:24px;display:grid;position:relative}.tree-branch:before{content:"";border-top:3px solid var(--mission-accent);width:28px;position:absolute;top:50%;left:-28px}.tree-branch>span,.tree-leaf span{color:#102a43;font-weight:800}.tree-branch>strong,.tree-leaf strong{color:var(--mission-accent-dark)}.tree-leaf{border-left:3px solid var(--mission-accent-dark);background:#fff;border-radius:0 12px 12px 0;justify-content:space-between;padding:13px 16px;display:flex}@media (max-width:900px){.lesson-stage-header{grid-template-columns:1fr}.mission-summary-grid{min-width:0}.lesson-layout{grid-template-columns:1fr}.lesson-coach-panel{position:static}}@media (max-width:620px){.lesson-page{padding:28px 12px 72px}.lesson-stage-header,.lesson-step-card,.lesson-coach-panel{border-radius:22px;padding:20px}.mission-summary-grid{grid-template-columns:1fr}.mission-summary-grid article:first-child{grid-column:auto}.mission-progress-label,.lesson-step-heading{flex-direction:column;align-items:flex-start}.lesson-actions{flex-direction:column-reverse}.lesson-actions>*{width:100%}.probability-tree{grid-template-columns:1fr}.tree-root{margin:auto}.tree-branch{grid-template-columns:55px 45px 1fr;padding-left:14px}}@media (prefers-reduced-motion:reduce){.mission-loader{animation:none}.mission-progress-shell .progress-track>div,.lesson-step-card .answer{transition:none}}
.review-page{--review-accent:#1d4ed8;--review-accent-dark:#1e3a8a;--review-soft:#eff6ff;--review-border:#bfdbfe;background:radial-gradient(circle at 10% 5%, color-mix(in srgb, var(--review-accent) 13%, transparent), transparent 34%), linear-gradient(180deg, #f8fafc 0%, #eef2f7 100%);color:#102a43;min-height:100vh;padding:30px 20px 54px}.review-page.review-nsi{--review-accent:#7c3aed;--review-accent-dark:#5b21b6;--review-soft:#f5f3ff;--review-border:#ddd6fe}.review-shell{width:min(1120px,100%);margin:0 auto}.review-loading,.review-state-card,.review-card,.review-coach-card,.review-result-card{background:#fffffff5;border:1px solid #d9e2ec;border-radius:24px;box-shadow:0 18px 45px #102a4314}.review-loading{text-align:center;color:#52667a;align-content:center;place-items:center;gap:14px;min-height:320px;display:grid}.review-loader{border:4px solid #dbe5ef;border-top-color:var(--review-accent);border-radius:50%;width:46px;height:46px;animation:.8s linear infinite review-spin}@keyframes review-spin{to{transform:rotate(360deg)}}.review-hero{color:#fff;background:linear-gradient(135deg, color-mix(in srgb, var(--review-accent-dark) 94%, #102a43), var(--review-accent));box-shadow:0 22px 48px color-mix(in srgb, var(--review-accent) 22%, transparent);border-radius:26px;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:18px;padding:28px;display:flex}.review-hero h1,.review-result-card h1,.review-state-card h1{margin:6px 0 10px;font-size:clamp(2rem,5vw,3.25rem);line-height:1.05}.review-hero p{color:#ffffffd1;max-width:720px;margin:0;line-height:1.65}.review-hero .eyebrow{color:#ffffffb8}.review-subject-badge{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff1f;border:1px solid #ffffff3d;border-radius:18px;flex:none;gap:4px;min-width:150px;padding:16px 18px;display:grid}.review-subject-badge span{text-transform:uppercase;letter-spacing:.11em;color:#ffffffb8;font-size:.76rem}.review-subject-badge strong{font-size:1.1rem}.review-context-grid{grid-template-columns:minmax(0,1.55fr) minmax(260px,.75fr);align-items:start;gap:18px;display:grid}.review-card,.review-coach-card,.review-result-card,.review-state-card{padding:26px}.review-card-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:22px;display:flex}.review-card-heading h2{margin:6px 0 0;font-size:clamp(1.35rem,3vw,1.85rem)}.review-domain-tag,.review-memory-label,.review-status-chip{letter-spacing:.04em;border-radius:999px;align-items:center;min-height:30px;padding:0 11px;font-size:.76rem;font-weight:800;display:inline-flex}.review-domain-tag{color:var(--review-accent-dark);background:var(--review-soft);border:1px solid var(--review-border)}.review-memory{background:var(--review-soft);border:1px solid var(--review-border);color:var(--review-accent-dark);border-radius:16px;margin-bottom:20px;padding:16px;line-height:1.55}.review-memory-label{text-transform:uppercase;letter-spacing:.1em;min-height:auto;margin-bottom:8px;padding:0}.review-question{color:#102a43;margin:0 0 20px;font-size:clamp(1.2rem,3vw,1.65rem);line-height:1.45}.review-answers{gap:11px;display:grid}.review-answer{color:#243b53;text-align:left;width:100%;font:inherit;cursor:pointer;background:#fff;border:1px solid #d9e2ec;border-radius:16px;align-items:flex-start;gap:13px;padding:15px 16px;font-weight:700;line-height:1.45;transition:transform .15s,border-color .15s,box-shadow .15s;display:flex}.review-answer:hover{border-color:var(--review-accent);box-shadow:0 9px 22px color-mix(in srgb, var(--review-accent) 12%, transparent);transform:translateY(-1px)}.review-answer[aria-checked=true]{border-color:var(--review-accent);background:var(--review-soft);box-shadow:0 0 0 3px color-mix(in srgb, var(--review-accent) 13%, transparent)}.review-answer-index{color:#334e68;background:#edf2f7;border-radius:9px;flex:none;place-items:center;width:30px;height:30px;font-weight:900;display:grid}.review-answer[aria-checked=true] .review-answer-index{color:#fff;background:var(--review-accent)}.review-text-answer{color:#243b53;gap:9px;font-weight:800;display:grid}.review-text-answer textarea{resize:vertical;color:#102a43;width:100%;min-height:118px;font:inherit;background:#fff;border:1px solid #bcccdc;border-radius:15px;padding:15px;line-height:1.55}.review-text-answer textarea:focus,.review-answer:focus-visible{outline:3px solid color-mix(in srgb, var(--review-accent) 22%, transparent);outline-offset:2px;border-color:var(--review-accent)}.review-feedback{border-radius:15px;margin-top:18px;padding:15px 16px;line-height:1.55}.review-feedback-error{color:#9f1239;background:#fff1f2;border:1px solid #fecdd3}.review-feedback-success{color:#065f46;background:#ecfdf5;border:1px solid #a7f3d0}.review-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:22px;display:flex}.review-primary,.review-secondary{min-height:48px;font:inherit;cursor:pointer;border-radius:14px;justify-content:center;align-items:center;padding:0 20px;font-weight:850;text-decoration:none;display:inline-flex}.review-primary{border:1px solid var(--review-accent);background:var(--review-accent);color:#fff}.review-primary:disabled{opacity:.6;cursor:progress}.review-secondary{color:#334e68;background:#fff;border:1px solid #cbd5e1}.review-coach-card{position:sticky;top:86px}.review-coach-card h3{margin:8px 0 16px;font-size:1.2rem}.review-method-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.review-method-list li{color:#52667a;grid-template-columns:34px 1fr;align-items:start;gap:11px;line-height:1.5;display:grid}.review-method-list span{width:34px;height:34px;color:var(--review-accent-dark);background:var(--review-soft);border:1px solid var(--review-border);border-radius:10px;place-items:center;font-weight:900;display:grid}.review-result-card,.review-state-card{text-align:center;width:min(760px,100%);margin:42px auto 0}.review-result-score{color:#fff;background:var(--review-accent);width:126px;height:126px;box-shadow:0 16px 32px color-mix(in srgb, var(--review-accent) 23%, transparent);border-radius:50%;place-items:center;margin:22px auto;display:grid}.review-result-score strong{font-size:2rem}.review-result-score span{color:#fffc;font-size:.78rem}.review-result-card .review-actions,.review-state-card .review-actions{justify-content:center}.review-next-date{color:#52667a}@media (max-width:840px){.review-context-grid{grid-template-columns:1fr}.review-coach-card{position:static}}@media (max-width:640px){.review-page{padding:18px 12px 38px}.review-hero{border-radius:21px;flex-direction:column;padding:22px}.review-subject-badge{width:100%}.review-card,.review-coach-card,.review-result-card,.review-state-card{border-radius:19px;padding:20px}.review-card-heading,.review-actions{flex-direction:column}.review-primary,.review-secondary{width:100%}}@media (prefers-reduced-motion:reduce){.review-loader{animation:none}.review-answer{transition:none}}
.student-objective-reminder{color:#102a43;background:linear-gradient(135deg,#fffdf6,#fff);border:1px solid #d7e2eb;border-left:5px solid #d99a00;border-radius:14px;align-items:center;gap:14px;width:min(1180px,100% - 32px);margin:12px auto 0;padding:12px 18px;display:flex;box-shadow:0 4px 16px #102a430f}.student-objective-label{color:#fff;letter-spacing:.02em;background:#102a43;border-radius:999px;flex:none;padding:5px 9px;font-size:.86rem;font-weight:850}.student-objective-reminder>strong{flex:none;font-size:1.12rem;line-height:1.25}.student-objective-message{color:#52677a;min-width:0;font-size:.98rem;line-height:1.4}.student-objective-reminder-mjouzi{border-left-width:4px;border-radius:15px;grid-template-columns:auto 1fr;gap:5px 10px;width:100%;margin:0;padding:11px 13px;display:grid}.student-objective-reminder-mjouzi .student-objective-label{align-self:center}.student-objective-reminder-mjouzi>strong{align-self:center;font-size:1.16rem}.student-objective-reminder-mjouzi .student-objective-message{grid-column:1/-1;font-size:.92rem}@media (min-width:901px){.student-objective-reminder:not(.student-objective-reminder-mjouzi){margin-top:62px}}@media (max-width:760px){.student-objective-reminder{flex-direction:column;align-items:flex-start;gap:7px;width:calc(100% - 20px);padding:12px 14px}.student-objective-reminder>strong{font-size:1.08rem}.student-objective-reminder-mjouzi{width:100%;display:grid}}
.subject-level-chip.active{order:-1}:root[data-subject] .results-next-action .primary{color:var(--results-accent-dark,var(--subject-dark,#1e3a8a));background:#fff;border-color:#fff}.subject-sidebar-mobile-nav{display:none}@media (max-width:900px){.subject-sidebar-desktop-nav{display:none}.subject-sidebar-mobile-nav{display:block}.subject-sidebar-mobile-nav summary{color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #ffffff38;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;min-height:48px;padding:12px 14px;font-weight:800;list-style:none;display:flex}.subject-sidebar-mobile-nav summary::-webkit-details-marker{display:none}.subject-sidebar-mobile-nav summary:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.subject-sidebar-mobile-state{color:#d9e2ec;font-size:13px;font-weight:700}.subject-sidebar-mobile-state-open,.subject-sidebar-mobile-nav[open] .subject-sidebar-mobile-state-closed{display:none}.subject-sidebar-mobile-nav[open] .subject-sidebar-mobile-state-open{display:inline}.subject-sidebar-mobile-nav nav{margin-top:10px}}@media (max-width:620px){body{padding-bottom:0}.app-action-dock{border-radius:18px;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:4px;width:auto;max-width:none;margin:10px 12px 4px;display:grid;position:relative;inset:auto;overflow:visible}.app-action-link{white-space:normal;text-align:center;gap:4px;min-width:0;min-height:44px;padding:7px 5px;line-height:1.15}.app-action-link span:last-child{overflow-wrap:normal;word-break:normal;font-size:11px}.subject-context-indicator{justify-content:flex-start;width:auto;max-width:none;margin:8px 12px 4px;position:relative;inset:auto}}
.skip-to-content,.skip-to-content:focus,.skip-to-content:focus-visible{outline:none;transform:translateY(-160%)}body[data-keyboard-navigation=true] .skip-to-content:focus,body[data-keyboard-navigation=true] .skip-to-content:focus-visible{outline-offset:3px;outline:3px solid #f6ad55;transform:translateY(0)}.app-shell a[href^="/resultats?subject="]{align-items:center;min-height:44px;display:inline-flex}.mission-hero{background:#fffffff7;border:1px solid #94a3b859;border-radius:28px;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:24px;margin-bottom:20px;padding:clamp(22px,4vw,34px);display:grid;box-shadow:0 20px 60px #0f172a1a}.mission-hero-copy{min-width:0}.mission-hero-copy h1{color:var(--mission-accent-dark);margin:10px 0 12px;font-size:clamp(32px,5vw,54px);line-height:1.06}.mission-hero-copy>p:not(.eyebrow){color:#52606d;max-width:760px;margin:0;line-height:1.65}.mission-meta{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.mission-meta span{border:1px solid color-mix(in srgb, var(--mission-accent) 20%, #dbe5ef);background:var(--mission-accent-soft);min-height:34px;color:var(--mission-accent-dark);border-radius:999px;align-items:center;padding:7px 10px;font-size:12px;font-weight:800;line-height:1.35;display:inline-flex}.mission-progress-score{border:1px solid color-mix(in srgb, var(--mission-accent) 22%, #dbe5ef);background:var(--mission-accent-soft);min-width:142px;color:var(--mission-accent-dark);border-radius:18px;justify-items:end;gap:5px;padding:16px 18px;display:grid}.mission-progress-score span,.mission-progress-score small{font-size:12px;font-weight:800}.mission-progress-score strong{font-size:30px;line-height:1}.mission-progress-block{background:#ffffffeb;border:1px solid #dbe5ef;border-radius:17px;margin:0 0 22px;padding:15px 18px}.mission-progress-labels{color:#52606d;justify-content:space-between;align-items:center;gap:12px;margin-bottom:9px;font-size:14px;font-weight:850;display:flex}.mission-progress-block .progress-track{background:#e6edf5;height:10px;margin:0}.mission-progress-block .progress-track>div{background:linear-gradient(90deg, var(--mission-accent-dark), var(--mission-accent))}@media (max-width:620px){.mission-hero{border-radius:22px;grid-template-columns:1fr;gap:16px;padding:20px}.mission-progress-score{grid-template-columns:1fr auto;place-items:center start;width:100%;min-width:0}.mission-progress-score strong{grid-area:1/2/span 2;justify-self:end}.mission-progress-labels{flex-wrap:wrap}}
