:root{color-scheme:light;--page: #f3f6f4;--surface: #fbfcfb;--surface-2: #edf3f0;--surface-3: #e0ece6;--ink: #17201d;--muted: #596862;--border: #c9d6d1;--accent: #17664d;--accent-strong: #0e513c;--accent-soft: #d9eee6;--danger: #9a3f39;--danger-soft: #f8e4e1;--warning: #795516;--warning-soft: #f5ebd3;--shadow: 0 18px 44px rgba(33, 75, 60, .09);--radius-card: 16px;--radius-control: 10px;font-family:Avenir Next,Segoe UI,system-ui,-apple-system,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}:root[data-theme=dark]{color-scheme:dark;--page: #111815;--surface: #18211e;--surface-2: #202c28;--surface-3: #2b3a35;--ink: #edf4f1;--muted: #a9bbb4;--border: #3a4b45;--accent: #76c8a8;--accent-strong: #9dd8c0;--accent-soft: #234738;--danger: #ffaaa3;--danger-soft: #4a2a29;--warning: #ebc775;--warning-soft: #453a25;--shadow: 0 18px 44px rgba(0, 0, 0, .22)}*{box-sizing:border-box}html{min-width:320px;background:var(--page)}body{margin:0;min-width:320px;min-height:100dvh;background:var(--page);color:var(--ink)}button,input,select{font:inherit}button{min-width:44px;min-height:44px;color:inherit}summary{min-height:44px}button,label,select{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 55%,transparent);outline-offset:3px}.skip-link{position:fixed;top:10px;left:12px;z-index:100;padding:10px 14px;border:2px solid var(--accent);border-radius:10px;background:var(--surface);color:var(--ink);font-weight:800;transform:translateY(calc(-100% - 18px));transition:transform .14s ease}.skip-link:focus{transform:translateY(0)}button:active{transform:translateY(1px)}h1,h2,h3,p{margin-top:0}h1,h2,h3,strong{letter-spacing:-.02em}p{line-height:1.65}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app{min-height:100dvh}.brand-header{position:sticky;top:0;z-index:20;height:70px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;padding:0 28px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--surface) 93%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.brand{display:flex;align-items:center;gap:11px;border:0;padding:0;background:transparent;cursor:pointer;text-align:left}.brand>span:first-child{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:var(--accent);color:var(--surface);font-size:24px;font-weight:800}:root[data-theme=dark] .brand>span:first-child{color:#10251d}.brand>span:last-child{display:grid}.brand strong{font-size:17px}.brand small{color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.top-nav{display:flex;align-items:center;justify-content:center;gap:4px}.top-nav button{display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:0 12px;border:0;border-radius:var(--radius-control);background:transparent;color:var(--muted);cursor:pointer;font-weight:700;white-space:nowrap}.top-nav button:hover,.top-nav button.active{background:var(--surface-2);color:var(--ink)}.top-nav button.active{box-shadow:inset 0 -2px 0 var(--accent)}.header-actions{display:flex;align-items:center}.icon-button{width:42px;height:42px;display:grid;place-items:center;padding:0;border:1px solid var(--border);border-radius:12px;background:var(--surface);cursor:pointer}.content-shell{min-height:calc(100dvh - 70px)}.page{width:min(1240px,calc(100% - 40px));margin:0 auto;padding:40px 0 72px}.source-chip{display:inline-flex;align-items:center;width:fit-content;min-height:28px;padding:4px 9px;border:1px solid color-mix(in srgb,var(--accent) 40%,var(--border));border-radius:8px;background:var(--accent-soft);color:var(--accent-strong);font-size:12px;font-weight:800;letter-spacing:.02em}.primary-button,.secondary-button,.text-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:var(--radius-control);cursor:pointer;font-weight:800;text-decoration:none;white-space:nowrap}.primary-button{min-height:46px;padding:0 18px;border:1px solid var(--accent);background:var(--accent);color:#f4faf7}:root[data-theme=dark] .primary-button{color:#10251d}.primary-button:hover{background:var(--accent-strong)}.primary-button:disabled{cursor:not-allowed;opacity:.48}.secondary-button{min-height:44px;padding:0 15px;border:1px solid var(--border);background:var(--surface);color:var(--ink)}.secondary-button:hover{border-color:var(--accent);color:var(--accent-strong)}.text-button{padding:6px 0;border:0;background:transparent;color:var(--accent-strong)}.today-hero{min-height:420px;display:grid;grid-template-columns:minmax(0,1.65fr) minmax(290px,.8fr);align-items:stretch;border:1px solid var(--border);border-radius:var(--radius-card);overflow:hidden;background:var(--surface);box-shadow:var(--shadow)}.hero-copy{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:56px;background:linear-gradient(110deg,transparent 70%,color-mix(in srgb,var(--accent-soft) 45%,transparent)),var(--surface)}.hero-copy h1{max-width:650px;margin:18px 0 16px;font-size:clamp(42px,5vw,70px);line-height:.98;letter-spacing:-.055em}.hero-copy p{max-width:600px;margin-bottom:26px;color:var(--muted);font-size:19px}.hero-actions,.hint-actions{display:flex;flex-wrap:wrap;gap:10px}.readiness-verdict{display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;padding:36px;background:var(--accent-soft);border-left:1px solid var(--border)}.readiness-verdict>svg{margin-bottom:auto;color:var(--accent)}.readiness-verdict p{margin-bottom:4px;color:var(--muted);font-weight:700}.readiness-verdict strong{margin-bottom:10px;font-size:28px}.readiness-verdict span{color:var(--muted);line-height:1.5}.route-section,.readiness-section{padding-top:62px}.section-heading{max-width:700px;margin-bottom:26px}.section-heading h2{margin-bottom:8px;font-size:clamp(28px,3vw,42px)}.section-heading p{margin:0;color:var(--muted)}.module-map{display:grid;grid-template-columns:1.2fr .8fr;border-top:1px solid var(--border)}.module-map article{min-height:215px;padding:28px 30px;border-bottom:1px solid var(--border)}.week-gate{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:-8px 0 20px;padding-bottom:14px;border-bottom:1px solid var(--border)}.week-gate strong{color:var(--warning);font-size:13px}.week-gate.passed strong{color:var(--accent-strong)}.week-gate span{color:var(--muted);font-size:12px;text-align:right}.module-map article:nth-child(odd){border-right:1px solid var(--border)}.module-map article:nth-child(2),.module-map article:nth-child(3){background:var(--surface-2)}.module-map article>span{color:var(--accent-strong);font-size:13px;font-weight:800}.module-map h3{margin:16px 0 7px;font-size:24px}.module-map p{color:var(--muted)}.evidence-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.evidence-list article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;padding:20px;border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface)}.evidence-list article.evidence-mastered{border-color:var(--accent);background:var(--accent-soft)}.evidence-list article>div{display:flex;flex-direction:column;gap:6px}.evidence-list article>div span{color:var(--muted);font-size:13px}.evidence-list dl{display:flex;gap:16px;margin:0}.evidence-list dl div{display:grid;gap:3px}.evidence-list dt{color:var(--muted);font-size:11px}.evidence-list dd{margin:0;font-size:13px;font-weight:800}.page-title{max-width:800px;padding:30px 0 44px}.page-title h1,.plan-hero h1{margin:18px 0 12px;font-size:clamp(42px,5vw,68px);line-height:1;letter-spacing:-.055em}.page-title p,.plan-hero p{color:var(--muted);font-size:18px}.compact-title{padding-bottom:28px}.curriculum{display:grid;gap:24px}.curriculum section{display:grid;grid-template-columns:320px minmax(0,1fr);border-top:1px solid var(--border)}.curriculum section>header{padding:25px 30px 25px 0}.curriculum section>header span{color:var(--accent-strong);font-weight:800}.curriculum section>header h2{margin:12px 0 8px;font-size:25px}.curriculum section>header p{color:var(--muted)}.curriculum section>div{border-left:1px solid var(--border)}.curriculum section>div button{width:100%;display:grid;grid-template-columns:220px 1fr auto;align-items:center;gap:20px;padding:22px 24px;border:0;border-bottom:1px solid var(--border);background:transparent;color:var(--ink);text-align:left;cursor:pointer}.curriculum section>div button:hover{background:var(--surface-2)}.curriculum section>div button span{font-weight:800}.curriculum section>div button small{color:var(--muted);line-height:1.45}.lesson-layout{display:grid;grid-template-columns:290px minmax(0,1fr);gap:22px;align-items:start}.lesson-index{position:sticky;top:92px;padding:22px;border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface)}.lesson-index>span{color:var(--accent-strong);font-size:13px;font-weight:800}.lesson-index h2{margin:10px 0 20px;font-size:21px}.lesson-index nav{display:grid;gap:6px}.lesson-index nav button{padding:12px;border:0;border-radius:var(--radius-control);background:transparent;color:var(--muted);cursor:pointer;font-weight:700;text-align:left}.lesson-index nav button.active,.lesson-index nav button:hover{background:var(--surface-2);color:var(--ink)}.lesson-index nav button.active{box-shadow:inset 3px 0 0 var(--accent)}.mastery-gate{margin-top:22px;padding-top:18px;border-top:1px solid var(--border)}.mastery-gate-mobile{display:none}.mastery-gate p{margin:7px 0 0;color:var(--muted);font-size:13px;line-height:1.5}.lesson-surface{min-width:0;border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);overflow:hidden;box-shadow:var(--shadow)}.lesson-title{display:flex;justify-content:space-between;gap:30px;padding:34px 36px}.lesson-title h1{margin:14px 0 8px;font-size:clamp(34px,4vw,54px)}.lesson-title p{max-width:700px;margin:0;color:var(--muted)}.lesson-title>span{color:var(--accent-strong);font-weight:800;white-space:nowrap}.stage-tabs{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.stage-tabs button{min-height:48px;border:0;border-right:1px solid var(--border);background:var(--surface-2);color:var(--muted);cursor:pointer;font-weight:800}.stage-tabs button:last-child{border-right:0}.stage-tabs button.active{background:var(--surface);color:var(--accent-strong);box-shadow:inset 0 -3px 0 var(--accent)}.lesson-panel,.worked-panel,.practice-panel{min-height:520px;padding:34px 36px}.concept-copy>p{max-width:760px;font-size:18px}.concept-copy h2{margin-top:30px}.concept-copy li{margin-bottom:8px;line-height:1.55}.archetype-ladder-list{max-width:760px;margin:30px 0;padding:22px;border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface-2)}.archetype-ladder-list h2{margin:0}.archetype-ladder-list>p{margin:8px 0 16px;color:var(--muted)}.archetype-ladder-list>div{display:grid;gap:8px}.archetype-ladder-list button{min-height:48px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface);color:var(--ink);cursor:pointer;text-align:left}.archetype-ladder-list button:hover{border-color:var(--accent)}.archetype-ladder-list button span,.archetype-stage-note span{color:var(--accent-strong);font-family:SFMono-Regular,Consolas,monospace;font-size:12px;font-weight:900}.archetype-stage-note{display:flex;align-items:center;gap:10px;margin-bottom:14px}.formula-block{max-width:720px;display:grid;gap:8px;margin:28px 0;padding:22px;border-left:4px solid var(--accent);background:var(--surface-2)}.formula-block span{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.formula-block strong{font-family:SFMono-Regular,Consolas,monospace;font-size:18px}.visual-lab{margin-top:36px;padding-top:32px;border-top:1px solid var(--border)}.visual-lab>header{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:24px}.visual-lab h2{margin:10px 0 0}.visual-lab header>p{max-width:460px;margin:0;color:var(--muted)}.lab-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:18px}.set-builder{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.set-item{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;padding:12px;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface-2)}.membership-toggle{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;gap:5px;padding:6px;border-radius:8px;font-size:12px;font-weight:800;cursor:pointer;touch-action:manipulation}.membership-toggle:hover{background:var(--surface-3)}.membership-toggle input{width:20px;height:20px;margin:0;accent-color:var(--accent)}.lab-readout{padding:18px;border-radius:var(--radius-control);background:var(--accent-soft)}.lab-readout p{margin-bottom:9px}.lab-readout p:last-child{margin-bottom:0}.lab-rule{padding-top:10px;border-top:1px solid color-mix(in srgb,var(--accent) 35%,transparent);font-family:SFMono-Regular,Consolas,monospace;font-size:13px}.math-plot{width:100%;min-height:260px;border:1px solid var(--border);border-radius:var(--radius-control);background:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px),var(--surface-2);background-size:32px 24px}.axis{stroke:var(--muted);stroke-width:1.5}.plot-line,.plot-curve{fill:none;stroke:var(--accent);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.plot-point{fill:var(--accent-strong);stroke:var(--surface);stroke-width:2}.lab-controls{display:grid;align-content:start;gap:15px}.lab-controls>label,.lab-control{display:grid;grid-template-columns:1fr auto;gap:7px;color:var(--muted);font-size:13px;font-weight:800}.lab-control>div{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:8px}.lab-controls input[type=range]{grid-column:1 / -1;accent-color:var(--accent)}.lab-controls select,.filter-bar select{min-height:44px;padding:0 10px;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface);color:var(--ink)}.section-kicker{display:inline-block;margin-bottom:9px;color:var(--accent-strong);font-family:SFMono-Regular,Consolas,monospace;font-size:12px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.lesson-explanation,.numeric-scenario,.exam-traps,.visual-lab,.archetype-ladder-list{max-width:1040px}.lesson-explanation>h2,.numeric-scenario>h2{max-width:720px;margin:0 0 14px;font-size:clamp(25px,3vw,34px)}.lesson-explanation>p,.numeric-scenario>p{max-width:780px;font-size:17px}.foundation-sequence{max-width:840px;display:grid;gap:0;margin:26px 0 46px;padding:0;list-style:none;counter-reset:foundation}.foundation-sequence li{position:relative;display:grid;grid-template-columns:48px 1fr;gap:16px;min-height:78px;padding:0 0 22px}.foundation-sequence li:not(:last-child):before{content:"";position:absolute;top:42px;bottom:0;left:21px;width:2px;background:var(--border)}.foundation-sequence li>span{position:relative;z-index:1;width:44px;height:44px;display:grid;place-items:center;border:2px solid var(--accent);border-radius:50%;background:var(--surface);color:var(--accent-strong);font-family:SFMono-Regular,Consolas,monospace;font-weight:900}.foundation-sequence strong{display:block;margin:2px 0 5px;font-size:17px}.foundation-sequence p{max-width:720px;margin:0;color:var(--muted)}.numeric-scenario{margin:0 0 34px;padding:26px 28px;border-left:5px solid var(--accent);background:var(--surface-2)}.numeric-scenario>ol{max-width:820px;display:grid;gap:9px;margin:20px 0;padding:0;list-style:none}.numeric-scenario>ol li{display:grid;grid-template-columns:32px 1fr;align-items:start;gap:10px}.numeric-scenario>ol li>span{width:28px;height:28px;display:grid;place-items:center;border-radius:6px;background:var(--accent-soft);color:var(--accent-strong);font-family:SFMono-Regular,Consolas,monospace;font-size:12px;font-weight:900}.numeric-scenario>ol p{margin:1px 0 0;font-family:SFMono-Regular,Consolas,monospace;font-size:14px}.scenario-conclusion{display:grid;gap:4px;margin:22px 0 0!important;padding-top:17px;border-top:1px solid var(--border);color:var(--ink)}.scenario-conclusion strong{color:var(--accent-strong);font-size:12px;letter-spacing:.07em;text-transform:uppercase}.exam-traps{margin:30px 0 44px}.exam-traps ul{max-width:780px;padding-left:22px}.lab-workspace{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(300px,.88fr);align-items:start;gap:24px}.lab-visual{min-width:0}.coordinate-scene{margin:0}.coordinate-scene svg,.relation-model svg,.venn-model svg{width:100%;min-height:280px;display:block;border:1px solid var(--border);border-radius:14px;background:linear-gradient(color-mix(in srgb,var(--border) 45%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--border) 45%,transparent) 1px,transparent 1px),var(--surface-2);background-size:30px 24px}.coordinate-scene figcaption,.relation-model figcaption,.venn-model figcaption,.residual-model figcaption{margin-top:9px;color:var(--muted);font-size:13px;line-height:1.5}.coordinate-scene text,.relation-model text,.venn-model text{fill:var(--ink);font-family:SFMono-Regular,Consolas,monospace;font-size:13px;font-weight:800}.plot-line,.plot-curve,.physical-ray{fill:none;stroke:var(--accent);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.plot-curve{stroke-width:3}.rise-run{fill:none;stroke:var(--warning);stroke-width:2;stroke-dasharray:8 5}.perpendicular-line,.comparison-line{stroke:var(--danger);stroke-width:3}.comparison-line{stroke-dasharray:10 5}.distance-segment{stroke:var(--danger);stroke-width:3;stroke-dasharray:7 4}.plot-point-secondary{fill:var(--warning);stroke:var(--surface);stroke-width:2}.draggable-point-target{cursor:grab;touch-action:none}.draggable-point-hit{fill:transparent;stroke:transparent;pointer-events:all}.draggable-point{fill:var(--accent);stroke:var(--surface);stroke-width:4;pointer-events:none}.draggable-point-target:focus{outline:none}.draggable-point-target:focus .draggable-point{stroke:var(--warning);stroke-width:6}.mirror-line{stroke:var(--ink);stroke-width:5}.construction-line{stroke:var(--muted);stroke-width:2;stroke-dasharray:8 6}.image-point{fill:var(--surface);stroke:var(--muted);stroke-width:3;stroke-dasharray:3 2}.bounce-point{fill:var(--warning);stroke:var(--surface);stroke-width:2}.area-polygon{fill:color-mix(in srgb,var(--accent) 18%,transparent);stroke:var(--accent);stroke-width:3}.area-polygon.is-invalid{fill:url(#none);stroke:var(--danger);stroke-dasharray:7 4}.tail-label{fill:var(--accent-strong)!important;font-weight:900!important;overflow:hidden;text-overflow:clip;white-space:nowrap}.lab-controls{min-width:0}.lab-controls input[type=number]{width:100%;min-height:46px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface);color:var(--ink)}.lab-controls input[type=range]{width:100%;min-height:44px}.lab-controls select{min-height:44px}.lab-control{padding:13px 14px;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface)}.lab-control output{color:var(--ink);font-family:SFMono-Regular,Consolas,monospace}.control-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}.segmented-control{min-width:0;display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;border:0}.segmented-control legend{width:100%;margin-bottom:5px;color:var(--muted);font-size:12px;font-weight:800}.segmented-control button{min-height:44px;padding:9px 13px;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface);cursor:pointer;font-weight:800;transition:border-color .14s ease,background .14s ease}.segmented-control button:hover{border-color:var(--accent)}.segmented-control button[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong);box-shadow:inset 0 -3px 0 var(--accent)}.causal-ledger{padding:18px 20px;border-top:4px solid var(--accent);background:var(--accent-soft)}.causal-ledger>span{display:block;margin-bottom:7px;color:var(--accent-strong);font-family:SFMono-Regular,Consolas,monospace;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.causal-ledger>strong{display:block;line-height:1.4}.causal-ledger ol{display:grid;gap:8px;margin:14px 0;padding-left:21px}.causal-ledger li{padding-left:3px;color:var(--muted);font-family:SFMono-Regular,Consolas,monospace;font-size:12px;line-height:1.5}.causal-ledger p{margin:0;padding-top:13px;border-top:1px solid color-mix(in srgb,var(--accent) 28%,transparent);font-size:13px;font-weight:700}.state-badge{min-height:30px;display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border:1px solid currentColor;border-radius:999px;font-size:12px;font-weight:900;white-space:nowrap}.state-badge.is-true{color:var(--accent-strong)}.state-badge.is-false{color:var(--danger)}.number-system-model{min-height:420px;display:grid;place-items:center;padding:18px;border:1px solid var(--border);border-radius:14px;background:var(--surface-2)}.number-set{grid-area:1 / 1;position:relative;display:flex;align-items:flex-start;flex-direction:column;padding:14px 16px;border:2px solid var(--border);border-radius:18px;background:color-mix(in srgb,var(--surface) 90%,transparent);transition:border-color .14s ease,box-shadow .14s ease}.number-set-r{width:100%;height:100%}.number-set-q{width:82%;height:76%;margin-top:43px}.number-set-z{width:62%;height:53%;margin-top:86px}.number-set-n{width:40%;height:30%;margin-top:129px}.number-set span{color:var(--muted);font-size:11px}.number-set b{position:absolute;right:10px;bottom:10px;max-width:120px;color:var(--accent-strong);font-size:10px;text-align:right}.number-set.is-smallest{border-color:var(--accent);border-style:double;box-shadow:inset 0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent)}.count-controls{display:grid;grid-template-columns:1fr 1fr;gap:8px}.property-row{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px}.property-row-wrap{flex-wrap:wrap}.venn-model figure,.relation-model figure{margin:0}.venn-universe{fill:var(--surface);stroke:var(--border);stroke-width:2}.venn-a{fill:color-mix(in srgb,var(--accent) 25%,transparent);stroke:var(--accent);stroke-width:3}.venn-b{fill:color-mix(in srgb,var(--warning) 22%,transparent);stroke:var(--warning);stroke-width:3;stroke-dasharray:10 4}.venn-value{font-size:20px!important;overflow:hidden;text-overflow:clip;white-space:nowrap}.venn-error{fill:var(--danger)!important}.relation-model{display:grid;grid-template-columns:minmax(0,1fr) 176px;gap:12px}.relation-edge{fill:none;stroke:var(--accent);stroke-width:2.5}.relation-loop{stroke-dasharray:4 2}.relation-node{fill:var(--surface);stroke:var(--ink);stroke-width:3}.relation-matrix{padding:10px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2)}.relation-matrix-header,.relation-matrix-row{display:grid;grid-template-columns:28px repeat(3,42px);gap:4px}.relation-matrix-header{margin-bottom:4px;color:var(--muted);font-size:12px}.relation-matrix-header>*{display:grid;place-items:center}.relation-matrix-row{margin-bottom:4px}.relation-matrix-row strong{display:grid;place-items:center}.relation-matrix-row button{width:42px;height:42px;border:1px solid var(--border);border-radius:8px;background-color:var(--lab-control-background, var(--surface));color:var(--lab-control-foreground, var(--ink));cursor:pointer;font-family:SFMono-Regular,Consolas,monospace;font-weight:900}.relation-matrix-row button[aria-pressed=true]{border:2px solid var(--accent);background-color:var(--lab-control-selected-background, var(--accent-soft));color:var(--lab-control-selected-foreground, var(--accent-strong))}.property-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.property-grid article{padding:11px;border-left:3px solid var(--border);background:var(--surface-2)}.property-grid p{margin:8px 0 0;color:var(--muted);font-size:12px;line-height:1.4}.mapping-model{min-height:330px;display:grid;grid-template-columns:1fr 1.3fr 1fr;align-items:center;gap:10px;padding:22px;border:1px solid var(--border);border-radius:14px;background:var(--surface-2)}.mapping-column,.mapping-arrows{display:grid;gap:9px}.mapping-column strong{margin-bottom:5px;font-size:12px}.mapping-column span,.mapping-arrows span{min-height:38px;display:grid;place-items:center;border:1px solid var(--border);border-radius:999px;background:var(--surface);font-family:SFMono-Regular,Consolas,monospace;font-size:12px}.mapping-arrows span{border:0;background:transparent;color:var(--accent-strong);font-weight:900}.mapping-description{grid-column:1 / -1;margin:10px 0 0;color:var(--muted);font-size:12px}.mapping-controls{display:grid;grid-template-columns:1fr 1fr;gap:8px}.mapping-controls label,.multiplicity-controls label{display:grid;gap:5px;color:var(--muted);font-size:12px;font-weight:800}.point-inputs{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:0;padding:12px;border:1px solid var(--border);border-radius:var(--radius-control)}.point-inputs legend{padding:0 5px;color:var(--muted);font-size:12px;font-weight:800}.point-inputs label{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:5px;color:var(--muted);font-size:12px}.check-control{min-height:44px;display:flex!important;grid-template-columns:none!important;align-items:center;gap:9px!important;color:var(--ink)!important;cursor:pointer}.check-control input{width:21px;height:21px;accent-color:var(--accent)}.visual-key{display:flex;flex-wrap:wrap;gap:14px;margin-top:10px;color:var(--muted);font-size:12px}.visual-key span{display:flex;align-items:center;gap:7px}.visual-key i{width:30px;border-top:3px solid var(--accent)}.visual-key .key-dashed{border-color:var(--muted);border-top-style:dashed}.mode-switch{margin-bottom:14px}.residual-model{min-height:300px;display:grid;align-content:center;gap:11px;margin:0;padding:24px;border:1px solid var(--border);border-radius:14px;background:var(--surface-2)}.residual-zero{padding-bottom:9px;border-bottom:3px solid var(--ink);font-family:SFMono-Regular,Consolas,monospace;font-weight:900}.residual-row{display:grid;grid-template-columns:70px 1fr 45px;align-items:center;gap:9px;font-family:SFMono-Regular,Consolas,monospace;font-size:12px}.residual-row i{width:min(100%,var(--residual-size));height:14px;border:2px solid var(--accent);background:var(--accent-soft)}.residual-row i[data-sign=negative]{justify-self:end;border-color:var(--warning);border-style:dashed;background:var(--warning-soft)}.root-count{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:2px 10px;padding:13px 15px;border-left:4px solid var(--accent);background:var(--surface-2)}.root-count strong{grid-row:1 / 3;font-size:32px}.root-count small{color:var(--muted)}.coefficient-rail{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.coefficient-rail span{min-height:62px;display:grid;place-items:center;padding:8px;border-bottom:4px solid var(--accent);background:var(--surface-2);font-family:SFMono-Regular,Consolas,monospace;font-weight:900}.coefficient-rail small{color:var(--muted);font-size:10px}.vieta-model{min-height:350px;display:grid;grid-template-columns:1fr 1fr;place-items:center;gap:20px;padding:24px;border:1px solid var(--border);border-radius:14px;background:var(--surface-2)}.rectangle-model{position:relative;width:min(220px,calc(var(--rectangle-ratio) * 110px));height:130px;border:4px solid var(--accent);background:repeating-linear-gradient(45deg,var(--accent-soft),var(--accent-soft) 9px,transparent 9px,transparent 18px)}.rectangle-model span{position:absolute;right:6px;bottom:-27px;font-family:SFMono-Regular,Consolas,monospace;font-weight:900}.rectangle-model b{position:absolute;top:50%;left:-27px;transform:rotate(-90deg);font-family:SFMono-Regular,Consolas,monospace}.vieta-equation{display:grid;gap:8px}.vieta-equation span,.vieta-equation small{color:var(--muted)}.vieta-equation strong{font-family:SFMono-Regular,Consolas,monospace;font-size:17px}.degree-model{display:grid;gap:20px;padding:24px;border:1px solid var(--border);border-radius:14px;background:var(--surface-2)}.expression-stack{display:grid;gap:8px}.expression-stack p{display:grid;grid-template-columns:90px 1fr;gap:12px;margin:0}.expression-stack span{color:var(--muted);font-size:12px}.expression-stack strong{font-family:SFMono-Regular,Consolas,monospace}.expression-stack i{border-top:2px solid var(--ink)}.expression-result strong{color:var(--accent-strong)}.coefficient-rail-wide{grid-template-columns:repeat(5,1fr)}.coefficient-rail .is-zero{border-bottom-color:var(--danger);border-bottom-style:dashed;color:var(--muted)}.division-model{display:grid;gap:20px;padding:24px;border:1px solid var(--border);border-radius:14px;background:var(--surface-2)}.synthetic-table{display:grid;gap:4px;font-family:SFMono-Regular,Consolas,monospace}.synthetic-row,.synthetic-products{display:grid;grid-template-columns:46px repeat(4,1fr);gap:5px;text-align:center}.synthetic-row>*,.synthetic-products>*{min-height:42px;display:grid;place-items:center}.synthetic-row>:first-child{border-right:3px solid var(--accent)}.synthetic-result{border-top:2px solid var(--ink)}.synthetic-result .is-factor{border:2px double var(--accent);background:var(--accent-soft);color:var(--accent-strong)}.division-identity{display:grid;gap:6px}.division-identity span{color:var(--muted);font-size:12px}.division-identity strong,.division-identity p{margin:0;font-family:SFMono-Regular,Consolas,monospace}.multiplicity-controls{display:grid;grid-template-columns:1fr 1fr 1fr;gap:7px}.sign-chart{display:grid;grid-template-columns:repeat(4,1fr);margin-top:10px;border:1px solid var(--border);border-radius:var(--radius-control);overflow:hidden}.sign-chart span{display:grid;place-items:center;gap:2px;min-height:54px;padding:6px;border-right:1px solid var(--border);background:var(--surface-2);color:var(--muted);font-size:10px;text-align:center}.sign-chart span:last-child{border-right:0}.sign-chart strong{color:var(--accent-strong);font-size:18px}.sign-chart span[data-sign=negative]{background:var(--warning-soft)}.sign-chart span[data-sign=negative] strong{color:var(--warning)}.worked-panel>p{max-width:720px;color:var(--muted)}.worked-panel ol{display:grid;gap:12px;margin:28px 0;padding:0;list-style:none}.worked-panel li{display:grid;grid-template-columns:44px 1fr;align-items:start;gap:15px;padding:18px;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface-2)}.worked-panel li span{width:36px;height:36px;display:grid;place-items:center;border-radius:9px;background:var(--accent);color:#f4faf7;font-weight:900}.worked-panel li p{margin:5px 0 0;font-size:17px}.worked-check{display:grid;gap:6px;margin-bottom:24px;padding:20px;border-left:4px solid var(--accent);background:var(--accent-soft)}.worked-check p{margin:0;font-family:SFMono-Regular,Consolas,monospace}.cold-note{display:flex;align-items:center;gap:12px;margin-bottom:18px;padding:14px 16px;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface-2)}.cold-note p{margin:0;color:var(--muted)}.question-card{max-width:920px;padding:28px;border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface)}.practice-panel .question-card{max-width:none}.question-head{display:flex;align-items:start;justify-content:space-between;gap:20px}.question-meta{margin:9px 0 0;color:var(--muted);font-size:12px;font-weight:700}.concept-name{color:var(--accent-strong);font-size:13px;font-weight:800;text-transform:capitalize}.common-data-panel{width:100%;max-width:920px;margin:22px 0;padding:18px 20px;border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:var(--radius-control);background:var(--accent-soft);text-align:left}.common-data-panel>span{color:var(--accent-strong);font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.common-data-panel h2{margin:8px 0 6px;font-size:18px}.common-data-panel p{max-width:none;margin:0;color:var(--ink);white-space:pre-line}.question-card>h2{max-width:760px;margin:28px 0 24px;font-size:clamp(23px,3vw,32px);line-height:1.25}.option-list,.confidence{display:grid;gap:9px;margin:0 0 22px;padding:0;border:0}.response-rule{margin:0 0 4px;color:var(--muted);font-size:13px;font-weight:700}.answer-option{min-height:54px;display:grid;grid-template-columns:auto 36px 1fr;align-items:center;gap:10px;padding:11px 14px;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface);cursor:pointer}.answer-option:hover{border-color:var(--accent);background:var(--surface-2)}.answer-option.selected{border-color:var(--accent);background:var(--accent-soft)}.answer-option input{width:18px;height:18px;accent-color:var(--accent)}.option-key{width:30px;height:30px;display:grid;place-items:center;border-radius:8px;background:var(--surface-2);font-weight:900}.numeric-block{display:grid;gap:8px;max-width:390px;margin-bottom:22px}.numeric-block label,.confidence legend{color:var(--muted);font-size:13px;font-weight:800}.numeric-block input{height:50px;padding:0 14px;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface);color:var(--ink)}.confidence{grid-template-columns:repeat(3,max-content);align-items:center}.confidence legend{grid-column:1 / -1;margin-bottom:2px}.confidence label{min-height:44px;display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;cursor:pointer;text-transform:capitalize}.confidence label.selected{border-color:var(--accent);background:var(--accent-soft)}.confidence input{accent-color:var(--accent)}.feedback,.deferred-result{margin-top:20px;padding:18px;border-radius:var(--radius-control)}.feedback.correct{border:1px solid var(--accent);background:var(--accent-soft)}.feedback.incorrect{border:1px solid color-mix(in srgb,var(--danger) 45%,var(--border));background:var(--danger-soft)}.feedback-title,.deferred-result{display:flex;align-items:center;gap:9px}.feedback p{margin:12px 0}.deferred-result{border:1px solid var(--border);background:var(--surface-2);color:var(--muted);font-weight:700}.next-button{margin-top:14px}.question-source{margin-top:20px;color:var(--muted);font-size:13px}.question-source summary{width:fit-content;cursor:pointer;font-weight:800}.question-source p{max-width:650px;margin:9px 0 0}.practice-page>.question-card{margin-top:18px}.filter-bar{display:flex;align-items:end;gap:14px;padding:16px;border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface-2)}.filter-bar label{display:grid;gap:6px;color:var(--muted);font-size:12px;font-weight:800}.filter-bar select{max-width:250px}.filter-bar>span{margin-left:auto;padding-bottom:10px;color:var(--muted);font-size:13px}.mock-intro{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.7fr);gap:20px}.mock-intro>section,.mock-intro>aside{min-height:410px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:44px;border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface)}.mock-intro h1{margin:18px 0 14px;font-size:clamp(42px,5vw,66px);line-height:1}.mock-intro p{color:var(--muted)}.mock-intro aside{background:var(--accent-soft)}.mock-conventions{display:grid;gap:8px;margin:4px 0 16px;padding-left:20px;color:var(--muted);font-size:14px}.active-mock-banner,.mock-lifecycle-notice{width:min(1240px,calc(100% - 40px));display:flex;align-items:center;gap:14px;margin:18px auto 0;padding:13px 16px;border:1px solid var(--accent);border-radius:var(--radius-card);background:var(--accent-soft)}.active-mock-banner>svg{flex:0 0 auto;color:var(--accent-strong)}.active-mock-banner>div,.mock-lifecycle-notice>div:first-child{min-width:0;display:grid;gap:2px}.active-mock-banner>div span,.mock-lifecycle-notice span{color:var(--muted);font-size:13px}.active-mock-banner time{color:var(--ink);font-family:SFMono-Regular,Consolas,monospace;font-weight:900}.active-mock-banner>button{margin-left:auto}.mock-lifecycle-notice{justify-content:space-between;border-color:color-mix(in srgb,var(--warning) 55%,var(--border));background:var(--warning-soft)}.mock-lifecycle-notice>div:last-child,.mock-result-actions{display:flex;flex-wrap:wrap;gap:10px}.mock-run>header{max-width:920px;display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;padding:14px 18px;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface-2)}.mock-run>.common-data-panel{margin-top:0}.mock-run header>div{display:flex;gap:12px}.mock-run .mock-clock{align-items:center}.mock-clock span{color:var(--muted);font-size:11px;font-weight:800}.mock-run header p{margin:0}.mock-run time{font-family:SFMono-Regular,Consolas,monospace;font-size:22px;font-weight:900}.mock-result{min-height:620px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.mock-result>svg{margin-bottom:18px;color:var(--accent)}.mock-result h1{margin:18px 0 8px;font-size:72px}.mock-result p{max-width:570px;color:var(--muted)}.mock-review{width:100%;margin-top:44px;padding-top:32px;border-top:1px solid var(--border);text-align:left}.mock-review>p{max-width:none}.mock-review>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:20px}.mock-review .common-data-panel{grid-column:1 / -1;margin:8px 0 0}.mock-review article{padding:18px;border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface)}.mock-review article.review-correct{border-color:var(--accent);background:var(--accent-soft)}.mock-review article>span{color:var(--muted);font-size:12px;font-weight:800}.mock-review article h3{margin:10px 0 8px;font-size:17px}.mock-review article p{margin:0;font-size:14px}.mistake-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.mistake-grid article{display:flex;flex-direction:column;align-items:flex-start;padding:22px;border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface)}.mistake-grid article>span{color:var(--muted);font-size:12px;font-weight:800}.mistake-grid article>span.due{color:var(--danger)}.mistake-grid h2{margin:10px 0 8px;text-transform:capitalize}.mistake-grid p{color:var(--muted)}.mistake-grid article>strong{margin-bottom:20px}.mistake-grid button{margin-top:auto}.empty-state{min-height:410px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px;border:1px dashed var(--border);border-radius:var(--radius-card);text-align:center}.empty-state svg{color:var(--accent)}.empty-state h2{margin:17px 0 5px}.empty-state p{max-width:510px;color:var(--muted)}.plan-hero{display:grid;grid-template-columns:1fr auto;align-items:center;gap:40px;padding:42px 0 50px}.plan-hero>svg{color:var(--accent)}.plan-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--border)}.plan-grid article{min-height:235px;padding:30px;border-bottom:1px solid var(--border)}.plan-grid article:nth-child(odd){border-right:1px solid var(--border)}.plan-grid article:nth-child(2),.plan-grid article:nth-child(3),.plan-grid article:nth-child(6){background:var(--surface-2)}.plan-grid span{color:var(--accent-strong);font-size:13px;font-weight:800}.plan-grid h2{margin:14px 0 8px}.plan-grid p{color:var(--muted)}.daily-protocol{margin-top:42px;padding:30px;border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface)}.daily-protocol ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 30px;padding-left:22px}.daily-protocol li{padding:7px;line-height:1.5}.diagnostic-welcome{width:min(1160px,calc(100% - 40px));min-height:calc(100dvh - 70px);display:grid;grid-template-columns:1.55fr .75fr;align-items:center;gap:20px;margin:0 auto;padding:38px 0}.diagnostic-intro,.diagnostic-rules{min-height:500px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:48px;border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface)}.diagnostic-intro h1{max-width:720px;margin:20px 0 15px;font-size:clamp(44px,6vw,76px);line-height:.98;letter-spacing:-.06em}.diagnostic-intro p{max-width:610px;color:var(--muted);font-size:18px}.diagnostic-rules{background:var(--accent-soft)}.diagnostic-rules>svg{margin-bottom:auto;color:var(--accent)}.diagnostic-rules p{color:var(--muted)}.diagnostic-intro .baseline-integrity-note{padding:12px 14px;border-left:3px solid var(--warning);background:var(--warning-soft);color:var(--ink);font-size:14px;font-weight:700}.diagnostic-run,.diagnostic-report{width:min(1000px,calc(100% - 40px));margin:0 auto;padding:36px 0 80px}.run-header{display:flex;align-items:end;justify-content:space-between;margin-bottom:18px}.run-header p{margin-bottom:5px;color:var(--muted)}.run-header h1{margin:0}.run-header>span{color:var(--accent-strong);font-weight:800;text-transform:capitalize}.diagnostic-report>h1{margin:18px 0 8px;font-size:clamp(38px,5vw,60px)}.diagnostic-report>p{max-width:650px;color:var(--muted)}.diagnostic-review{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:30px 0}.diagnostic-review article{display:grid;gap:6px;padding:16px;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface)}.diagnostic-review article>span{color:var(--muted);font-size:12px;font-weight:800}.diagnostic-review article.review-wrong{background:var(--warning-soft)}.diagnostic-review article p{margin:2px 0 0;color:var(--muted);font-size:13px}.mobile-nav{display:none}.site-footer{display:flex;align-items:center;justify-content:space-between;min-height:72px;padding:18px 28px;border-top:1px solid var(--border);color:var(--muted);font-size:12px}.site-footer button{border:0;background:transparent;color:var(--muted);cursor:pointer;text-decoration:underline}@media(prefers-reduced-motion:no-preference){.content-shell>main,.diagnostic-welcome>*{animation:page-enter .36s cubic-bezier(.16,1,.3,1) both}.diagnostic-welcome>:nth-child(2){animation-delay:70ms}@keyframes page-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}}@media(max-width:1050px){.top-nav button{padding:0 9px}.top-nav button svg{display:none}.evidence-list article{grid-template-columns:1fr}.lesson-layout{grid-template-columns:240px minmax(0,1fr)}.lab-grid,.lab-workspace{grid-template-columns:1fr}}@media(max-width:820px){.brand-header{height:64px;padding:0 16px}.top-nav{display:none}.brand-header{grid-template-columns:1fr auto}.page{width:min(100% - 24px,720px);padding:24px 0 92px}.today-hero,.diagnostic-welcome,.mock-intro,.lesson-layout,.curriculum section{grid-template-columns:1fr}.today-hero{min-height:0}.hero-copy{padding:34px 24px}.hero-copy h1{font-size:clamp(39px,12vw,57px)}.readiness-verdict{min-height:260px;border-top:1px solid var(--border);border-left:0}.module-map,.evidence-list,.mistake-grid,.mock-review>div,.plan-grid,.daily-protocol ol,.diagnostic-review{grid-template-columns:1fr}.module-map article:nth-child(odd),.plan-grid article:nth-child(odd){border-right:0}.curriculum section>header{padding-right:0}.curriculum section>div{border-top:1px solid var(--border);border-left:0}.curriculum section>div button{grid-template-columns:1fr auto}.curriculum section>div button small{grid-column:1 / -1;grid-row:2}.lesson-index{position:static;padding:14px;overflow:hidden}.lesson-index nav{display:flex;gap:7px;margin:0 -2px;padding:2px;overflow-x:auto;scroll-snap-type:x mandatory}.lesson-index nav button{min-height:50px;flex:0 0 180px;scroll-snap-align:center}.lesson-index>.mastery-gate{display:none}.mastery-gate-mobile{display:block;margin:18px 20px 24px}.lesson-title,.visual-lab>header{flex-direction:column;align-items:flex-start}.lesson-title,.lesson-panel,.worked-panel,.practice-panel{padding:24px 20px}.stage-tabs{overflow-x:auto}.stage-tabs button{min-width:120px}.set-builder{grid-template-columns:repeat(2,minmax(0,1fr))}.numeric-scenario{padding:22px 20px}.relation-model{grid-template-columns:1fr}.relation-matrix{max-width:190px}.vieta-model{grid-template-columns:1fr}.question-card{padding:20px}.confidence{grid-template-columns:1fr}.confidence label{width:100%}.filter-bar{display:grid;grid-template-columns:1fr 1fr;align-items:end}.filter-bar>span{grid-column:1 / -1;margin:0;padding:0}.mock-intro>section,.mock-intro>aside{min-height:340px;padding:30px 24px}.active-mock-banner,.mock-lifecycle-notice{width:min(100% - 24px,720px)}.plan-hero{grid-template-columns:1fr;padding-top:24px}.plan-hero>svg{display:none}.diagnostic-welcome{width:min(100% - 24px,720px);min-height:auto;padding:22px 0 90px}.diagnostic-intro,.diagnostic-rules{min-height:420px;padding:30px 24px}.mobile-nav{position:fixed;right:10px;bottom:10px;left:10px;z-index:30;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));padding:7px;border:1px solid var(--border);border-radius:16px;background:color-mix(in srgb,var(--surface) 94%,transparent);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.mobile-nav button{min-height:50px;display:grid;place-items:center;gap:2px;border:0;border-radius:10px;background:transparent;color:var(--muted);font-size:10px;font-weight:800}.mobile-nav button.active{background:var(--accent-soft);color:var(--accent-strong)}.site-footer{padding-bottom:86px}}@media(max-width:480px){.page,.diagnostic-welcome{padding-bottom:154px}.mobile-nav{grid-template-columns:repeat(3,minmax(0,1fr))}.brand small{display:none}.hero-actions,.hint-actions{display:grid;width:100%}.hero-actions button,.hint-actions button,.primary-button,.secondary-button{width:100%}.lesson-index h2{margin:6px 0 10px;font-size:17px}.lesson-index nav button{flex-basis:170px}.stage-tabs{grid-template-columns:repeat(4,minmax(0,1fr));overflow:visible}.stage-tabs button{min-width:0;padding:7px 2px;font-size:11px;line-height:1.15;white-space:normal}.lesson-panel{overflow:hidden}.foundation-sequence li{grid-template-columns:40px 1fr;gap:11px}.foundation-sequence li>span{width:38px;height:38px}.foundation-sequence li:not(:last-child):before{top:38px;left:18px}.numeric-scenario{margin-right:-20px;margin-left:-20px;padding:22px 20px}.visual-lab>header{gap:10px}.control-pair,.count-controls,.mapping-controls,.property-grid,.multiplicity-controls{grid-template-columns:1fr}.mapping-model{grid-template-columns:1fr .9fr 1fr;padding:13px}.mapping-column span,.mapping-arrows span{min-height:34px;font-size:10px}.number-system-model{min-height:360px;padding:10px}.number-set{padding:10px}.number-set span{display:none}.number-set b{max-width:90px}.number-set-q{margin-top:38px}.number-set-z{margin-top:76px}.number-set-n{margin-top:114px}.coordinate-scene svg,.relation-model svg,.venn-model svg{min-height:230px}.point-inputs{min-width:0}.point-inputs label{grid-template-columns:1fr}.coefficient-rail-wide{gap:3px}.coefficient-rail span{min-width:0;padding:5px 2px;font-size:11px}.expression-stack p{grid-template-columns:1fr;gap:3px}.synthetic-row,.synthetic-products{grid-template-columns:34px repeat(4,1fr);gap:2px;font-size:11px}.sign-chart{grid-template-columns:1fr 1fr}.sign-chart span:nth-child(2){border-right:0}.sign-chart span:nth-child(-n+2){border-bottom:1px solid var(--border)}.filter-bar{grid-template-columns:1fr}.filter-bar>span{grid-column:auto}.question-head{flex-direction:column}.answer-option{grid-template-columns:auto 32px 1fr;padding:10px}.mock-run>header{align-items:flex-start}.mock-run header>div{display:grid;gap:3px}.active-mock-banner,.mock-lifecycle-notice{align-items:stretch;flex-direction:column}.active-mock-banner>button{width:100%;margin-left:0}.mock-lifecycle-notice>div:last-child{display:grid}.site-footer{padding-bottom:148px;align-items:flex-start;flex-direction:column;gap:9px}.hero-copy h1,.page-title h1,.plan-hero h1,.lesson-title h1,.mock-intro h1,.mock-result h1,.diagnostic-intro h1,.diagnostic-report>h1,.run-header h1{font-size:clamp(28px,8vw,32px);line-height:1.08;letter-spacing:-.035em}body p,body li{font-size:15px!important}.hero-copy p,.page-title p,.plan-hero p,.lesson-title p,.lesson-explanation>p,.numeric-scenario>p,.diagnostic-intro p{font-size:16px!important}.evidence-list dt,.causal-ledger>span,.number-set b,.common-data-panel>span,.mock-clock span,.mobile-nav button,.stage-tabs button,.mapping-column span,.mapping-arrows span,.coefficient-rail span,.coefficient-rail small,.coefficient-rail sup,.synthetic-row,.synthetic-products,.sign-chart span,small,sup{font-size:12px}.draggable-point-hit{r:26px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
