/* Shared lesson surfaces. KaTeX and the shared figure renderer retain their own metrics. */
/* Approved curriculum reading scale, screen only. Repeated #app intentionally outranks
   legacy theme !important component rules; selectors remain limited to learning content.
   User text-size zoom, navigation, colors and the canonical print template are unchanged. */
@media screen{
 #app.ml-learning-page[data-learning-subject="precalculus"] .panel.game{max-width:960px;padding:clamp(24px,3vw,36px)}
 html body #app#app.ml-learning-page .math,html body #app#app :is(.em-root,.sat-root,.rt-root) .math{font-size:1rem}
 html body #app#app :is(.panel.game .question,.idea-question h3,.ml-learning-worked>.math,.calc-question-title,.em-question,.sat-stem,.sat-rev>.math:not(.ex),.vp-question>.math,.eg-q,.rt-root .rt-q),html body #app#app .ml-learning-panel article>.math:has(.ml-coordinate-figure),html body #app#app .rt-root[data-rt="results"] article>.rt-qlabel+p.math{font-size:1.125rem!important;line-height:1.6!important}
 html body #app#app :is(.choice,.idea-choices button,.em-choices button,.sat-opt,.vp-options button,.eg-opt,.rt-root .rt-choice){font-size:1rem!important;min-height:52px;padding:12px 16px;line-height:1.6!important;display:block}
 html body #app#app :is(.ml-learning-feedback,.idea-feedback,.worked-steps,.worked-answer,.walk-frame .math,.calc-feedback,.calc-steps,.answerkey .math,.sat-rev .ex,.em-feedback){font-size:1rem!important;line-height:1.6}
 html body #app#app :is(.idea-question h3>.math,.choice .math,.idea-choices button .math,.em-choices button .math,.sat-opt .math,.eg-opt .math,.rt-choice .math,.rt-q .math){font-size:inherit!important}
 html body #app#app :is(.calc-grid>.ml-learning-worked>p.math,.em-example.ml-learning-worked>p.math~p.math){font-size:1rem!important;line-height:1.6}
 html body #app#app .worksheet .problem>.math{font-size:1.0625rem!important;line-height:1.6}
 #app.ml-learning-page[data-learning-subject="precalculus"] .question-label{font-size:1rem;line-height:1.5}
 #app.ml-learning-page[data-learning-subject="precalculus"] .gamehead{font-size:1.125rem}
 html body #mlb-paper.mlw-screen-paper .mlb-qhead{font-size:1.0625rem;line-height:1.6}
 html body #mlb-paper.mlw-screen-paper :is(.mlb-qhead .math,.mlb-opts .math){font-size:inherit}
 html body #mlb-paper.mlw-screen-paper :is(.mlb-opts,.mlb-key .math){font-size:1rem;line-height:1.6}
 @media(max-width:900px){html body #app#app .worksheet :is(.problems,.calc-sheet-page){grid-template-columns:1fr}}
 @media(max-width:600px){
  #app.ml-learning-page[data-learning-subject="precalculus"] .panel.game{padding:22px 18px}
  #app.ml-learning-page[data-learning-subject="precalculus"] .qnav{flex-wrap:wrap}
  html body #app#app :is(.panel.game .question,.idea-question h3,.ml-learning-worked>.math,.calc-question-title,.em-question,.sat-stem,.sat-rev>.math:not(.ex),.vp-question>.math,.eg-q,.rt-root .rt-q),html body #app#app .ml-learning-panel article>.math:has(.ml-coordinate-figure),html body #app#app .rt-root[data-rt="results"] article>.rt-qlabel+p.math{font-size:1.0625rem!important}
 }
}
main.ml-learning-page{--learning-gap:20px;--learning-pad:24px;--learning-radius:16px;--learning-border:#334b61;max-width:1120px;box-sizing:border-box;width:100%;padding:30px 24px 48px;margin-inline:auto}
.ml-learning-page .calc-course,.ml-learning-page .em-root{max-width:none;margin:0;min-width:0}
.ml-learning-page .ml-learning-crumbs{display:flex;flex-wrap:wrap;gap:8px;align-items:baseline;color:var(--muted);font:500 14px/1.5 "DM Sans",sans-serif;margin:0 0 18px}
.ml-learning-page .ml-learning-crumbs a{color:var(--green);text-decoration:none}
.ml-learning-page .topline{margin:0;gap:12px;flex-wrap:wrap}
.ml-learning-page .course-heading,.ml-learning-page .calc-lesson-header{margin:0 0 22px;min-width:0}
.ml-learning-page .ml-learning-heading{font:700 clamp(30px,4vw,46px)/1.15 "Space Grotesk","DM Sans",sans-serif;letter-spacing:-.025em;color:var(--ink);margin:8px 0 14px;overflow-wrap:anywhere}
.ml-learning-page h2{font:700 1.45rem/1.3 "Space Grotesk","DM Sans",sans-serif;letter-spacing:-.01em;overflow-wrap:anywhere}
.ml-learning-page h3{font:700 1.15rem/1.4 "Space Grotesk","DM Sans",sans-serif;overflow-wrap:anywhere}
.ml-learning-page p{line-height:1.6}
.ml-learning-page .ml-learning-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:20px 0 24px;padding:6px;border:1px solid var(--learning-border);border-radius:12px;background:var(--surface);overflow:visible}
.ml-learning-page .ml-learning-tabs a{font:600 15px/1.4 "DM Sans",sans-serif;display:inline-flex;align-items:center;justify-content:center;min-height:44px;box-sizing:border-box;padding:10px 16px;border:1px solid transparent;border-radius:8px;color:var(--muted);text-decoration:none;white-space:normal}
.ml-learning-page .ml-learning-tabs a.active{background:var(--lime);color:#0b1425;border-color:var(--lime)}
.ml-learning-page .ml-learning-panel{background:var(--surface);border:1px solid var(--learning-border);border-radius:var(--learning-radius);padding:var(--learning-pad);margin:20px 0;min-width:0;box-sizing:border-box;box-shadow:none}
.ml-learning-page .lesson-grid,.ml-learning-page .idea-columns,.ml-learning-page .calc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--learning-gap);align-items:start}
.ml-learning-page .lesson-grid>.panel,.ml-learning-page .idea-columns>.panel{margin:0}
.ml-learning-page .lesson-grid>*,.ml-learning-page .idea-columns>*,.ml-learning-page .calc-grid>*{min-width:0}
.ml-learning-page .idea-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.ml-learning-page .ml-learning-idea{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:start;min-width:0;border:1px solid var(--learning-border);border-radius:12px;padding:18px;background:var(--surface-raised);color:var(--ink);text-decoration:none;margin:0}
.ml-learning-page .ml-learning-idea b{font-size:1rem;line-height:1.4;overflow-wrap:anywhere}
.ml-learning-page .ml-learning-idea small{display:block;color:var(--muted);font:14px/1.5 "DM Sans",sans-serif;margin-top:6px}
.ml-learning-page .ml-learning-worked{background:var(--surface-raised);border:1px solid var(--learning-border);border-radius:14px;padding:20px;min-width:0}
.ml-learning-page .step,.ml-learning-page .worked-steps li,.ml-learning-page .calc-steps li{padding-block:8px;line-height:1.65}
.ml-learning-page .math{font-size:1.12rem;line-height:1.65;min-width:0;overflow-wrap:anywhere}
.ml-learning-page .calc-question-title,.ml-learning-page .question{font-size:1.2rem;line-height:1.65;margin:16px 0}
.ml-learning-page .ml-learning-feedback:not(:empty){background:var(--surface-raised);border:1px solid var(--learning-border);border-left:4px solid var(--green);border-radius:12px;padding:18px;margin:18px 0;color:var(--ink);line-height:1.6;overflow-wrap:anywhere}
.ml-learning-page .choices,.ml-learning-page .idea-choices,.ml-learning-page .vp-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ml-learning-page .choice,.ml-learning-page .idea-choices button,.ml-learning-page [data-vp-option]{min-height:48px;padding:14px;font-size:1.05rem;white-space:normal;overflow-wrap:anywhere;text-align:left;min-width:0;border-radius:10px}
.ml-learning-page :is(.practicebar,.calc-actions,.em-actions){display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:20px 0}
.ml-learning-page :is(button:not(.choice):not([data-option]):not([data-vp-option]),a.button,.em-link,.ml-learning-game){font:700 15px/1.4 "DM Sans",sans-serif;min-height:44px;padding:11px 16px;box-sizing:border-box;border:1px solid transparent;border-radius:10px;white-space:normal;overflow-wrap:anywhere;cursor:pointer}
.ml-learning-page :is(button:not(.choice):not([data-option]):not([data-vp-option]):not(.secondary),a.button:not(.secondary)){background:var(--lime);color:#0b1425;box-shadow:none}
.ml-learning-page :is(.secondary,.ml-learning-game,.em-link){background:transparent;color:var(--ink);border:1px solid var(--learning-border);text-decoration:none;box-shadow:none}
.ml-learning-page .ml-learning-game{display:inline-flex;align-items:center;gap:8px;margin:8px 0}
.ml-learning-page :is(button,a):focus-visible{outline:2px solid var(--lime);outline-offset:3px}
.ml-learning-page .calc-numbers button,.ml-learning-page .qnav-dots button{padding:8px;min-width:44px;min-height:44px}
.ml-learning-page :is(.calc-table-wrap,.ml-function-table-wrap){max-width:100%;overflow-x:auto}
.ml-learning-page .worksheet{background:var(--surface)}
@media(max-width:760px){main.ml-learning-page{padding:22px 16px 36px;--learning-pad:18px;--learning-gap:16px}.ml-learning-page .lesson-grid,.ml-learning-page .idea-columns,.ml-learning-page .calc-grid,.ml-learning-page .idea-list{grid-template-columns:1fr}.ml-learning-page .ml-learning-heading{font-size:32px}.ml-learning-page .ml-learning-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.ml-learning-page .ml-learning-tabs a{padding:10px 8px}.ml-learning-page .ml-learning-worked{padding:18px}.ml-learning-page .choices,.ml-learning-page .idea-choices,.ml-learning-page .vp-options{grid-template-columns:1fr}.ml-learning-page .practicebar>*{flex:1 1 160px}.ml-learning-page .ml-learning-idea{padding:16px}}
@media print{@page{size:A4;margin:14mm 13mm 16mm}html body main.ml-learning-page{--ink:#111;--muted:#333;--surface:#fff;--surface-raised:#fff;--line:#999;--learning-border:#999;background:#fff!important;color:#111!important;width:auto;max-width:none;padding:0!important;margin:0;box-shadow:none;font-size:11pt}.ml-learning-page .ml-learning-panel,.ml-learning-page .ml-learning-worked,.ml-learning-page .worksheet{background:#fff!important;color:#111!important;box-shadow:none!important;border-radius:0;border-color:#999}.ml-learning-page .math{font-size:11.5pt!important;color:#111!important;line-height:1.45}.ml-learning-page .ml-learning-tabs,.ml-learning-page .ml-learning-crumbs,.ml-learning-page .ml-learning-game,.ml-learning-page .no-print{display:none!important}.ml-learning-worksheet .ml-learning-heading,.ml-learning-worksheet .course-heading,.ml-learning-worksheet .calc-lesson-header,.ml-learning-worksheet .calc-focus,.ml-learning-worksheet .calc-invite,.ml-learning-worksheet .calc-course>.eyebrow{display:none!important}.ml-learning-page .ml-learning-worked,.ml-learning-page .problem{break-inside:avoid}.ml-learning-page .worksheet{border:0!important;padding:0!important}.ml-learning-page .worksheet .ml-katex-source .katex-display{overflow:visible}.ml-learning-page .worksheet :is(.calc-table,.ml-function-table){color:#111;border-color:#999}.ml-learning-page .worksheet :is(th,td){background:#fff!important;color:#111!important}}

/* Touch scrolling must not make an unanswered practice choice look graded.
   Actual answers use explicit correct/wrong state; keyboard focus stays visible. */
@media screen and (hover:none), screen and (pointer:coarse){
 html body #app#app :is(.calc-course .choice,.game .choice,.idea-choices button):not(:disabled):not(.correct):not(.wrong):not(.selected):not([aria-pressed=true]):hover{background:var(--surface-raised)!important;border-color:#6f85a0!important;transform:none!important;filter:none!important}
 html[data-ml-theme=chalk] body #app#app :is(.calc-course .choice,.game .choice,.idea-choices button):not(:disabled):not(.correct):not(.wrong):not(.selected):not([aria-pressed=true]):hover{background:var(--surface)!important;border-color:var(--line)!important}
}
