/* Learning surfaces: a quiet paper-and-ink language around unchanged exercises. */
body:is([data-page="practice-lessons"],[data-page="practice"],[data-page="proof"],.guided-page) {
  --learning-line:#e8d8df;
  --learning-soft:#fbf0f4;
  --learning-shadow:0 3px 0 #f0e0e7,0 12px 28px #4c233604;
}
body:is([data-page="practice-lessons"],[data-page="practice"],[data-page="proof"],.guided-page) .main-content {padding-top:30px;padding-bottom:64px}
body[data-page="practice-lessons"] .main-content {max-width:960px}
body[data-page="practice"] .main-content {max-width:1190px}
body[data-page="proof"] .main-content {max-width:1300px}
body:is([data-page="practice-lessons"],[data-page="practice"],[data-page="proof"],.guided-page) .button {
  border-radius:10px;box-shadow:0 2px 0 color-mix(in srgb,var(--green) 80%,#24121a);min-height:46px;
  transition:background-color .16s,box-shadow .16s,transform .16s;
}
body:is([data-page="practice-lessons"],[data-page="practice"],[data-page="proof"],.guided-page) .button.secondary {box-shadow:none;background:#fffdfd}
body:is([data-page="practice-lessons"],[data-page="practice"],[data-page="proof"],.guided-page) .button:active:not(:disabled) {transform:translateY(1px);box-shadow:none}
body:is([data-page="practice-lessons"],[data-page="practice"],[data-page="proof"],.guided-page) .button:disabled {box-shadow:none}
.lesson-page-heading {display:flex;align-items:center;justify-content:space-between;gap:30px;padding:8px 0 30px}
.lesson-page-copy {min-width:0;flex:1}
.course-eyebrow {font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--brand);margin:0 0 14px}
.lesson-page-heading h1 {font-size:clamp(32px,4.2vw,46px);line-height:1.13;letter-spacing:-1.7px;max-width:700px}
.lesson-page-heading #course-intro {font-size:16px;line-height:1.6;margin:16px 0 0;max-width:51ch;color:#7a5c6c}
.course-modus {display:flex;align-items:center;justify-content:center;position:relative;flex:0 0 165px;min-height:150px}
.course-modus::before {content:"";width:138px;height:138px;border:1px solid #ecd6df;border-radius:50%;position:absolute;transform:translate(5px,1px);background:#fceef3}
.course-modus .modus-slot {position:relative;z-index:1;transform:rotate(-4deg)}
.course-progress {display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:24px;font-size:13px;color:#785b69}
.course-progress strong {color:var(--brand);font-size:16px;font-weight:600}
.course-progress-track {height:5px;background:#ecdde3;border-radius:10px;width:140px;overflow:hidden}
.course-progress-track i {display:block;height:100%;background:var(--brand);border-radius:10px}
.lesson-path-page .course-navigation {max-width:none;gap:24px;margin:0 0 30px;border-color:var(--learning-line)}
.lesson-path-page .course-navigation a {padding:12px 2px 14px;font-size:16px;border-bottom-width:2px;min-width:70px;text-align:center}
.course-list-tools {display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 18px}
.course-list-tools:has(>h2[hidden]):has(>nav[hidden]) {display:none}
.course-list-tools h2 {font:600 14px var(--font);letter-spacing:0;color:var(--ink)}
.course-list-tools .filter-row {margin:0;min-width:0}
.course-list-tools select {font-size:13px;min-height:44px;background:#fffdfd;border-color:var(--learning-line);padding:8px 32px 8px 12px;max-width:235px;border-radius:9px}
.lesson-path-page .lesson-list {max-width:none;gap:11px;position:relative}
.lesson-path-section {display:grid;gap:14px;margin-bottom:26px;min-width:0}
.lesson-path-section>h3 {font:600 14px/1.4 var(--font);color:#785b69;margin:10px 0 0}
.lesson-section-cards {display:grid;gap:11px;min-width:0}
.lesson-test-checkpoint {display:flex;align-items:center;gap:18px;padding:22px;border:1px solid #b6cadb;border-radius:13px;background:#edf3f9;color:#315d87;text-decoration:none;box-shadow:0 3px 0 #dce6f0;margin-top:5px}
.lesson-test-checkpoint:hover {border-color:#557ea4;background:#e6eff8}
.lesson-test-checkpoint:focus-visible {outline:3px solid #315d87;outline-offset:3px}
.lesson-test-icon {display:grid;place-items:center;flex:none;width:40px;height:44px}
.lesson-test-icon svg {width:25px;height:29px}
.lesson-test-copy {display:grid;gap:5px;min-width:0;flex:1}
.lesson-test-copy strong {font:600 18px/1.35 var(--font);color:#294f73}
.lesson-test-copy>span {font-size:13px;line-height:1.45;color:#476583}
.lesson-test-arrow {flex:none;font-size:20px}
.lesson-path-page .lesson-card {grid-template-columns:40px minmax(0,1fr) auto 20px;gap:20px;min-height:94px;padding:19px 22px;border:1px solid var(--learning-line);border-radius:13px;position:relative;background:#fffdfd;box-shadow:0 2px 0 #eedfe54d;transition:border-color .16s,background-color .16s,box-shadow .16s}
.lesson-path-page .lesson-card:not(:first-of-type)::before {content:"";position:absolute;left:41px;top:-12px;width:1px;height:11px;background:#dbc3ce}
.lesson-path-page .lesson-number {display:grid;place-items:center;width:40px;height:40px;border-radius:50%;border:1px solid #e5ced8;background:#fff9fb;color:#9a3559;font:19px var(--serif);position:relative}
.lesson-path-page .lesson-card--complete {background:#fbf1f5;border-color:#e3cbd6}
.lesson-path-page .lesson-card--complete .lesson-number {background:#a12652;border-color:#a12652;color:white;font-size:17px}
.lesson-path-page .lesson-card--started {background:#fff;border-color:#b85377;box-shadow:0 3px 0 #edd2de}
.lesson-path-page .lesson-card--started .lesson-number {border-color:#b85377;background:#fbe8f0;box-shadow:0 0 0 4px #fff2f7}
.lesson-card-copy {display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-width:0}
.lesson-area {color:#866477;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;line-height:1.35}
.lesson-path-page .lesson-card strong {font-size:17px;line-height:1.3;font-weight:600;letter-spacing:-.1px}
.lesson-path-page .lesson-card--reading .lesson-card-copy {position:relative}
.lesson-path-page .lesson-card--reading .lesson-area {color:#8b613e}
.lesson-path-page .lesson-card--reading {background:#fffdf9}
.lesson-path-page .lesson-card--reading.lesson-card--complete {background:#fcf3eb}
.lesson-path-page .lesson-progress {gap:5px;font-size:12px}
.lesson-path-page .lesson-count {font-size:12px}
.lesson-path-page .lesson-card--started .lesson-status {padding:3px 8px;font-size:11px;background:#f7e1eb}
.lesson-path-page .lesson-card:hover {border-color:#ae4a70;box-shadow:0 3px 0 #edd2de;background:#fff}
.lesson-path-page .lesson-card:focus-visible {outline:3px solid #9e496b;outline-offset:3px}
.lesson-path-page .lesson-arrow {font-size:18px!important;color:#a36e86!important;transition:transform .16s}
.lesson-path-page .lesson-card:hover .lesson-arrow {transform:translateX(3px)}
.lesson-path-page .lesson-browse {justify-self:center;margin-top:20px;padding:12px;min-height:44px}
.lesson-path-page .saved-practice {background:#f9eaf1;border-color:#e2bfd0;padding:20px 24px;margin-bottom:8px}
.lesson-path-page .course-test-notice {max-width:none;border-radius:14px;background:#f9ecf2;border-color:#dbb5c6;border-inline-start-width:3px}
.lesson-path-page #practice-search {max-width:none;width:100%;border-color:var(--learning-line);border-radius:10px}
.lesson-path-page #practice-options {margin:0 0 28px}
.lesson-path-page #practice-options .button {min-height:48px}
body[data-page="practice-lessons"] #lesson-error:empty {display:none}
body[data-page="practice-lessons"] .lesson-page-heading:has(+.course-navigation[hidden]) {padding-bottom:0}
body[data-page="practice-lessons"] .lesson-page-heading:has(+.course-navigation[hidden]) h1 {max-width:790px;font-size:clamp(29px,3.5vw,40px);line-height:1.25}
/* Thinking happens on a stable, roomy sheet. */
body[data-page="practice"] .exercise-heading,body[data-page="proof"] .exercise-heading {margin:4px 0 25px}
body[data-page="practice"] .exercise-heading h1,body[data-page="proof"] .exercise-heading h1 {font-size:clamp(28px,3vw,37px);line-height:1.2;letter-spacing:-1px}
body[data-page="practice"] .exercise-layout,body[data-page="proof"] .exercise-layout {gap:24px;grid-template-columns:minmax(0,1fr) 255px;align-items:start}
body[data-page="practice"] .exercise-card,body[data-page="proof"] .proof-wrapper,.guided-page .guided-exercise {
  border:1px solid var(--learning-line);border-radius:16px;background:#fffdfd;padding:30px;box-shadow:var(--learning-shadow);
}
body[data-page="practice"] .exercise-prompt {font-family:var(--serif);font-size:25px;line-height:1.55;color:var(--ink);letter-spacing:-.3px;margin-bottom:24px}
body[data-page="practice"] .exercise-prompt.prose-prompt {font-size:21px;line-height:1.65;letter-spacing:0}
body[data-page="practice"] .exercise-context {background:#fcf5f8;border:1px solid #f0dfe7;border-radius:10px;padding:18px 20px;margin-bottom:24px;font-size:16px;line-height:1.7}
body[data-page="practice"] .exercise-context[hidden] {display:none}
body[data-page="practice"] .context-label {font-weight:600;font-size:12px;letter-spacing:.05em;color:#95607a}
body[data-page="practice"] .symbol-key,.guided-page .symbol-key {border-radius:10px;border-color:#e7d6df;line-height:1.65}
body[data-page="practice"] .choice-option,.guided-page .choice-option {border:1px solid #dfd0d9;border-radius:10px;background:#fff;padding:15px 17px;min-height:54px;transition:background-color .14s,border-color .14s,box-shadow .14s;line-height:1.5;align-items:flex-start}
body[data-page="practice"] .choice-option:hover,.guided-page .choice-option:hover {border-color:#bd7591;background:#fff9fb}
body[data-page="practice"] .choice-option:has(input:checked),.guided-page .choice-option:has(input:checked) {background:#faedf3;border-color:#ae4a70;box-shadow:inset 3px 0 #ae4a70}
body[data-page="practice"] .choice-option:has(input:focus-visible),.guided-page .choice-option:has(input:focus-visible) {outline:2px solid var(--brand);outline-offset:3px}
body[data-page="practice"] .choice-option input,.guided-page .choice-option input {accent-color:#a12652;flex-shrink:0;min-width:17px;min-height:17px;margin-top:4px}
body[data-page="practice"] .formula-answer,.guided-page .formula-answer {min-height:56px;border-radius:10px;font-size:21px;background:white;border-color:#cba4b6;padding:13px 16px}
body[data-page="practice"] .exercise-actions {margin-top:26px;gap:14px;align-items:center}
body[data-page="practice"] .exercise-actions .lesson-meter {color:#875e74;font-size:13px;padding:7px 10px;border-radius:20px;background:#fbf0f5}
body[data-page="practice"] .feedback,.guided-page .feedback {border:1px solid #e2c6b7;border-inline-start:3px solid #b57551;background:#fff7ee;color:#6b402b;border-radius:10px;padding:17px 19px;line-height:1.65;font-size:15px;box-shadow:none}
body[data-page="practice"] .feedback.correct,.guided-page .feedback.correct {background:#f0f6f2;border-color:#c6dacb;border-inline-start-color:#668770;color:#315a42}
body[data-page="practice"] .feedback.unverified {background:#f5f1ed;border-color:#d8cbc0;color:#625345}
body[data-page="practice"] .feedback:empty {padding:0;margin:0;border:0;background:none}
/* Tables keep their familiar truth values, with clearer rows and touch targets. */
body[data-page="practice"] .truth-table,.guided-page .truth-table {border-collapse:separate;border-spacing:0;border:1px solid #e4d3dc;border-radius:10px;overflow:hidden;background:#fff;font-variant-numeric:tabular-nums}
body[data-page="practice"] .truth-table th,.guided-page .truth-table th {background:#faedf3;color:#633348}
body[data-page="practice"] .truth-table td,.guided-page .truth-table td {border-bottom-color:#eee2e8}
body[data-page="practice"] .truth-table tbody tr:last-child>*,.guided-page .truth-table tbody tr:last-child>* {border-bottom:0}
body[data-page="practice"] .truth-table tbody tr:focus-within,.guided-page .truth-table tbody tr:focus-within {background:#fff5f9}
body[data-page="practice"] .truth-table select,.guided-page .truth-table select {min-width:54px;min-height:44px;border-color:#d9bdcb;border-radius:8px;padding:8px 11px}
body[data-page="practice"] .model-table {scrollbar-width:thin;scrollbar-color:#d4b4c3 transparent}
body[data-page="practice"] .model-table caption {font:600 13px/1.5 var(--font);color:#785366;padding-bottom:11px}
body[data-page="practice"] .model-table td:has(input:checked) {background:#fae8f0}
body[data-page="practice"] .world-count {padding:12px 15px;background:#fcf3f7;border:1px solid #eddce4;border-radius:10px;width:fit-content}
body[data-page="practice"] .model-query {font-size:23px;line-height:1.5}
/* The existing blue-book palette still identifies work done without help. */
body[data-page="practice"].no-help .exercise-card {background:#fcfdff;border-color:#d6dfeb;box-shadow:0 3px 0 #e3e9f2}
body[data-page="practice"].no-help .choice-option:has(input:checked) {background:#edf3fa;border-color:#557ea4;box-shadow:inset 3px 0 #557ea4}
body[data-page="practice"].no-help .choice-option:hover {background:#f6f9fd;border-color:#7e9fbe}
body[data-page="practice"].no-help .choice-option input {accent-color:var(--green)}
body[data-page="practice"].no-help .choice-option:has(input:focus-visible) {outline-color:var(--green)}
body[data-page="practice"].no-help .formula-answer,body[data-page="practice"].no-help .truth-table select {border-color:#aec2d7}
body[data-page="practice"].no-help .exercise-actions .lesson-meter {background:#edf3fa;color:#526c88}
body:is([data-page="practice"],[data-page="proof"]).no-help .button:not(.secondary):hover:not(:disabled) {background:#274b70}
body[data-page="practice"].no-help .truth-table {border-color:#d6dfeb}
body[data-page="practice"].no-help .truth-table th {background:#eaf0f8;color:#37516d}
body[data-page="practice"].no-help .truth-table tbody tr:focus-within,body[data-page="practice"].no-help .model-table td:has(input:checked) {background:#edf3fa}
/* Modus lives at the invitation to ask for help, with the disclosure still closed. */
body:is([data-page="practice"],[data-page="proof"]) .coach-panel {border:1px solid #e4ceda;background:#faf0f5;border-radius:14px;padding:15px 17px;box-shadow:none;position:sticky;top:24px}
.coach-summary {position:relative;font:24px var(--serif);line-height:1.4;min-height:48px;align-content:center;padding-right:54px}
.coach-summary::marker {font-size:12px;color:#9e5272}
.coach-modus {position:absolute;right:0;top:0;display:block;width:45px;height:45px;pointer-events:none}
.coach-panel[open] .coach-summary {padding-bottom:14px;border-bottom:1px solid #e8d2dd;margin-bottom:13px}
.coach-panel .coach-content {padding-top:0}
.coach-name {font:600 11px var(--font);letter-spacing:.1em;text-transform:uppercase;color:#85556e;margin:3px 0 14px}
.coach-panel .coach-shortcuts {gap:7px;margin-top:0}
.coach-panel .coach-shortcuts button {border-color:#dfc5d1;background:#fff9fc;border-radius:8px;font-size:12px;min-height:40px}
.coach-panel textarea {border-color:#d9bdcb;border-radius:9px;background:#fffdfd;font-size:14px}
.coach-panel .coach-chat {border:0}
.no-help .coach-modus,.no-help .modus-slot {display:none!important}
/* Proof lines, keyboard, restriction notices and checker behavior stay intact. */
body[data-page="proof"] .proof-wrapper {padding:25px;border-top-color:var(--learning-line)}
body[data-page="proof"] #lines-container {border-color:#e2d3db;border-radius:10px;background:#fff;min-height:190px;margin-top:20px;padding:14px 0}
body[data-page="proof"] .line-boxed {opacity:1;color:#806575}
body[data-page="proof"] .line-boxed :is(.line-num,.line-formula,.line-just) {color:#806575}
body[data-page="proof"] .problem-header {background:#fcf2f7;border:1px solid #ead4df;border-radius:10px;padding:18px 20px}
body[data-page="proof"] .problem-header-label {font-size:12px;letter-spacing:.05em}
body[data-page="proof"] .problem-header-value {font-size:20px;line-height:1.5}
body[data-page="proof"] #command-bar {border-color:#d6afc0;border-radius:10px;background:#fcf0f6;padding:14px;gap:9px}
body[data-page="proof"] #command-input {border-radius:8px;min-height:46px;font-size:16px}
body[data-page="proof"] #global-message {border-radius:9px;line-height:1.6}
body[data-page="proof"] #validation-bar button {min-height:44px;padding:10px 16px;border-radius:9px;font-size:14px;line-height:1.4}
body[data-page="proof"] #btn-next-problem {color:white;background:var(--brand);border-color:var(--brand)}
body[data-page="proof"] #btn-next-problem:hover:not(:disabled) {color:white;background:#78173f;border-color:#78173f}
body[data-page="proof"] #btn-next-problem:disabled {color:#816676;background:transparent;border-color:#d8c5cf;opacity:.65}
body[data-page="proof"] #btn-next-problem.glow {animation:none}
body[data-page="proof"] #btn-validate-all:disabled {background:transparent;color:var(--success);border-color:#a1c0af;opacity:.6;cursor:default}
body[data-page="proof"] #proof-quickstart .button {font-size:13px;min-height:44px;padding:10px 12px}
body[data-page="proof"] .lesson-meter {margin:0 0 22px;font-size:13px}
body[data-page="proof"].no-help .proof-wrapper {background:#fcfdff;border-color:#cbd8e7}
body[data-page="proof"].no-help #lines-container {background:repeating-linear-gradient(#fcfdff,#fcfdff 36px,#e6edf6 37px)}
body[data-page="proof"].no-help .problem-header,body[data-page="proof"].no-help #command-bar {background:#edf3fa;border-color:#cbd8e7}
body[data-page="proof"].no-help #btn-next-problem:not(:disabled) {background:var(--green);border-color:var(--green)}
body[data-page="proof"].no-help #btn-next-problem:hover:not(:disabled) {background:#274b70;border-color:#274b70}
/* Readings keep the source and the learner's analysis visually distinct. */
body.reading-practice .exercise-layout {display:block}
body.reading-practice .exercise-card {gap:32px;padding:30px}
body.reading-practice .exercise-context {background:#fdf9f3;border:1px solid #ecdfce;padding:22px 24px;border-radius:12px;margin:0;scrollbar-width:thin}
body.reading-practice .reading-credit {color:#5f3e30}
body.reading-practice .reading-quote {border-color:#b58867;padding-left:16px;font-size:18px;line-height:1.9;color:#473329}
body.reading-practice .reading-stages {gap:7px 13px;font-size:11px}
body.reading-practice .exercise-prompt {font-family:var(--serif);font-size:23px;line-height:1.5}
body.reading-practice .reading-activity>.coach-panel {position:static;margin-top:24px}
body.reading-practice .reading-claim {border-radius:10px;background:#fffdfb}
body.reading-practice .reading-claim[data-role] {background:var(--reading-tint)}
/* Modus gives lessons; historical portraits administer assessments. */
.guided-page .guided-heading h1 {font-size:clamp(29px,3.5vw,39px);line-height:1.2}
.guided-page #guided-counter {padding:7px 12px;border:1px solid #e6cdda;border-radius:20px;background:#fcf1f6;color:#87586e}
.guided-page .guide-instruction {margin:22px 0 27px;gap:22px;max-width:none;background:#fcf0f5;border:1px solid #eed9e3;border-radius:14px;padding:17px 22px}
.guided-page .guide-instruction figure {flex-basis:94px}
.guided-page .guide-instruction img {width:94px;height:100px}
.guided-page .guide-instruction>p {font-size:17px;line-height:1.65}
.guided-page .guided-exercise h2 {font-family:var(--serif);font-size:24px;line-height:1.5;letter-spacing:-.3px}
.guided-page .guided-bottom {margin-top:24px;font-size:14px}
.guided-page #guided-hint {background:#fcf0f5;border:1px solid #e7d1dd;border-radius:10px;padding:12px 17px}
.guided-page #guided-hint summary {min-height:24px}
.guided-page #guided-hint .coach-summary {font-size:19px;min-height:24px;padding-right:0}
.guided-finished-intro {display:flex;align-items:center;gap:26px}
.guided-finished-intro>.modus-slot {flex:none;width:105px;height:105px}
.guided-finished-intro #guided-finished-message {font:26px/1.35 var(--serif);letter-spacing:-.4px}
.guided-page #guided-finished {border:1px solid #e4ccd7;border-radius:16px;background:#fffdfd;padding:30px;margin-top:28px;box-shadow:var(--learning-shadow)}
/* One finite expression, then the next lesson or a good stopping point. */
body[data-page="practice-lessons"] .lesson-celebration {gap:19px;min-height:56vh;padding:26px 24px 30px;margin-top:26px;background:#fffdfd;border:1px solid var(--learning-line);border-radius:18px;box-shadow:var(--learning-shadow)}
.modus-completion {width:230px;height:207px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}
.modus-completion>.modus-slot {position:static;display:block;width:154px;height:154px;min-width:0;transform:none;animation:none}
.modus-completion--reading,.modus-completion--proof {width:min(280px,100%)}
.modus-completion--reading>.modus-slot,.modus-completion--proof>.modus-slot {width:100%;max-width:260px;height:auto;aspect-ratio:300/220}
.completion-glyphs {display:flex;align-items:center;justify-content:center;gap:19px;color:#b78398;font:20px var(--serif)}
.completion-glyphs b {font-weight:400}
body[data-page="practice-lessons"] .lesson-score {font:30px var(--serif);color:#85415f;margin-top:0}
body[data-page="practice-lessons"] .lesson-completion-actions {margin:4px 0 0}
.modus-slot {display:inline-block;vertical-align:middle}
.modus-slot:empty {visibility:hidden}
@media(min-width:1450px){body[data-page="practice"] .main-content {max-width:1270px}body[data-page="practice"] .exercise-card {padding:36px}}
@media(max-width:1000px){
  body[data-page="practice"] .exercise-layout,body[data-page="proof"] .exercise-layout {grid-template-columns:minmax(0,1fr) 220px;gap:20px}
  body[data-page="practice"] .exercise-card,body[data-page="proof"] .proof-wrapper {padding:24px}
}
@media(max-width:850px){
  body[data-page="practice"] .exercise-layout,body[data-page="proof"] .exercise-layout {grid-template-columns:minmax(0,1fr)}
  body:is([data-page="practice"],[data-page="proof"]) .coach-panel {position:static;max-width:none;padding:12px 17px}
  body[data-page="practice"] .exercise-prompt {font-size:24px}
  .lesson-page-heading {gap:16px}
  .course-modus {flex-basis:120px}
  .course-modus::before {width:118px;height:118px}
}
@media(max-width:900px){
  body.reading-practice .exercise-card {padding:0;border:0;background:transparent;box-shadow:none}
  body.reading-practice .exercise-context {padding:23px;margin:0 0 23px}
  body.reading-practice .reading-activity {padding:24px;background:#fffdfd;border:1px solid var(--learning-line);border-radius:13px;box-shadow:var(--learning-shadow)}
}
@media(max-width:600px){
  body:is([data-page="practice-lessons"],[data-page="practice"],[data-page="proof"],.guided-page) .main-content {padding:20px 18px 42px}
  .lesson-page-heading {gap:10px;padding:3px 0 26px;align-items:flex-start}
  .lesson-page-heading h1 {font-size:34px;letter-spacing:-1.2px}
  .course-eyebrow {font-size:10px;letter-spacing:.1em;margin-bottom:11px}
  .lesson-page-heading #course-intro {font-size:14px;margin-top:13px;line-height:1.55}
  .course-modus {flex-basis:82px;min-height:100px;margin-top:20px}
  .course-modus::before {width:82px;height:82px}
  .course-modus .modus-slot {width:86px;height:86px}
  .course-modus .modus-slot>* {width:86px!important;height:86px!important}
  .course-progress {gap:10px;margin-top:17px;font-size:12px}
  .course-progress-track {width:100%;max-width:210px;height:4px}
  .lesson-path-page .course-navigation {gap:24px;margin-bottom:22px}
  .lesson-path-page .course-navigation a {flex:none;min-width:66px;padding:9px 2px 12px;font-size:15px}
  .course-list-tools {gap:12px;margin-bottom:15px}
  .course-list-tools h2 {font-size:13px}
  .course-list-tools select {max-width:172px;font-size:12px;padding-right:24px}
  .lesson-path-page .lesson-card {grid-template-columns:34px minmax(0,1fr) 14px;gap:7px 14px;padding:17px 15px;min-height:96px}
  .lesson-path-section {margin-bottom:20px}
  .lesson-test-checkpoint {padding:18px 15px;gap:14px}
  .lesson-test-icon {width:34px}
  .lesson-test-copy strong {font-size:17px}
  .lesson-path-page .lesson-number {grid-column:1;grid-row:1 / span 2;width:34px;height:34px;font-size:17px}
  .lesson-path-page .lesson-card--complete .lesson-number {width:34px;height:34px;font-size:16px}
  .lesson-card-copy {grid-column:2;grid-row:1;gap:4px}
  .lesson-path-page .lesson-card strong {font-size:16px;line-height:1.35}
  .lesson-area {font-size:10px;letter-spacing:.06em}
  .lesson-path-page .lesson-progress {grid-column:2;grid-row:2;flex-direction:row;gap:10px;align-items:center;font-size:11px}
  .lesson-path-page .lesson-count {font-size:11px}
  .lesson-path-page .lesson-card--started .lesson-status {padding:1px 6px;font-size:10px}
  .lesson-path-page .lesson-card:not(:first-of-type)::before {left:32px}
  body[data-page="practice"] .exercise-card,body[data-page="proof"] .proof-wrapper,.guided-page .guided-exercise {border-radius:13px;padding:21px 18px}
  body[data-page="practice"] .exercise-heading,body[data-page="proof"] .exercise-heading {margin:2px 0 20px}
  body[data-page="practice"] .exercise-heading h1,body[data-page="proof"] .exercise-heading h1 {font-size:28px;line-height:1.22}
  body[data-page="practice"] .exercise-prompt {font-size:22px;margin-bottom:20px;line-height:1.5}
  body[data-page="practice"] .exercise-prompt.prose-prompt {font-size:19px;line-height:1.65}
  body[data-page="practice"] .exercise-context {padding:15px;font-size:15px}
  body[data-page="practice"] .choice-option,.guided-page .choice-option {padding:13px 14px;font-size:16px}
  body[data-page="practice"] .exercise-actions {gap:10px;margin-top:23px;flex-wrap:wrap}
  body[data-page="practice"] .exercise-actions .lesson-meter {padding:6px 8px;font-size:12px}
  body[data-page="practice"] .exercise-actions>.button,body[data-page="practice"] .exercise-actions #next-exercise {flex:0 1 auto;padding:12px 16px;min-height:46px;font-size:15px}
  body[data-page="practice"] .feedback,.guided-page .feedback {padding:14px 15px;font-size:14px}
  body[data-page="proof"] .problem-header {padding:15px}
  body[data-page="proof"] .problem-header-formulas {gap:3px}
  body[data-page="proof"] .problem-header-label {text-align:left;font-size:11px;margin-top:0}
  body[data-page="proof"] .problem-header-label:not(:first-child) {margin-top:10px}
  body[data-page="proof"] .problem-header-value {font-size:18px}
  body[data-page="proof"] #command-bar {padding:10px}
  body[data-page="proof"] #command-input {font-size:16px;min-width:140px}
  body[data-page="proof"] .depth-1 .line-formula {padding-left:14px}
  body[data-page="proof"] .depth-2 .line-formula {padding-left:28px}
  body[data-page="proof"] .depth-3 .line-formula {padding-left:42px}
  body[data-page="proof"] .depth-4 .line-formula {padding-left:56px}
  body[data-page="proof"] #proof-quickstart .button-row {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  body[data-page="proof"] #proof-quickstart .button {width:100%;padding:10px 6px;min-height:48px;line-height:1.35;text-align:center}
  body.reading-practice .exercise-card {padding:0}
  body.reading-practice .exercise-context {padding:21px 19px;margin-bottom:24px}
  body.reading-practice .reading-activity {padding:21px 18px}
  body.reading-practice .reading-quote {font-size:17px;line-height:1.85}
  body.reading-practice .exercise-prompt {font-size:21px}
  .guided-page .guide-instruction {padding:15px;gap:14px}
  .guided-page .guide-instruction figure {flex-basis:64px}
  .guided-page .guide-instruction img {width:64px;height:78px}
  .guided-page .guide-instruction>p {font-size:15px;line-height:1.6}
  .guided-page .guide-instruction--long {display:flow-root}
  .guided-page .guide-instruction--long>figure {float:left;width:64px;margin:0 14px 8px 0}
  .guided-page .guided-exercise h2 {font-size:22px}
  .guided-page .guided-heading h1 {font-size:29px}
  .guided-page .guided-bottom {gap:12px}
  .guided-page .guided-bottom:has(#guided-hint[open]) {flex-wrap:wrap}
  .guided-page #guided-back {flex-shrink:0;white-space:nowrap}
  .guided-page #guided-hint {padding:10px 13px}
  .guided-page #guided-hint[open] {flex-basis:100%;max-width:none}
  .guided-page #guided-finished {padding:24px 20px}
  .guided-finished-intro {flex-direction:column;align-items:stretch;gap:12px}
  .guided-finished-intro>.modus-slot,.guided-finished-intro>.modus-slot>* {width:80px!important;height:80px!important}
  .guided-finished-intro>.modus-slot {align-self:center}
  .guided-finished-intro #guided-finished-message {font-size:22px}
  .guided-page #guided-finished>.button-row {flex-direction:column;align-items:stretch;gap:12px}
  .guided-page #guided-finished>.button-row .text-button {text-align:center}
  body[data-page="practice-lessons"] .lesson-celebration {padding:24px 18px;gap:18px;min-height:55vh}
  .lesson-completion-actions {flex-direction:column;align-items:stretch;width:100%;gap:12px}
  .lesson-completion-actions .text-button {text-align:center}
}
@media(max-width:380px){
  .lesson-path-page .lesson-page-heading h1 {font-size:30px;letter-spacing:-1.1px}
  .course-list-tools {flex-direction:column;align-items:stretch;gap:10px}
  .course-list-tools .filter-row,.course-list-tools select {width:100%;max-width:none}
  .course-modus {flex-basis:64px;min-height:84px;margin-top:23px}
  .course-modus::before {width:64px;height:64px}
  .course-modus .modus-slot,.course-modus .modus-slot>* {width:66px!important;height:66px!important}
}
@media(prefers-reduced-motion:reduce){
  body:is([data-page="practice-lessons"],[data-page="practice"],[data-page="proof"],.guided-page) * {animation:none!important;transition:none!important;scroll-behavior:auto!important}
}

/* Distinct teaching and examiner roles, using the existing character artwork. */
.guided-modus,.guided-modus>.logic-modus {width:104px!important;height:104px!important}
.guide-instruction figcaption,.tutorial-guide-name {font-size:12px;color:var(--muted);margin:4px 0 0}
.proof-guide-modus {flex:none;width:62px;height:62px}
.proof-guide-modus>.logic-modus {width:100%!important;height:100%!important}
.test-examiner {display:flex;align-items:center;gap:16px;margin:0 0 16px}
.test-examiner img {width:80px;height:80px;object-fit:contain;flex:none}
.test-examiner p {margin:0;line-height:1.4}
.test-examiner p>span {display:block;color:var(--muted);font-size:11px;letter-spacing:1px;text-transform:uppercase}
.test-examiner strong {display:block;color:var(--text);font:25px/1.2 var(--serif);margin-top:3px}
.question-examiner .test-examiner {gap:12px;margin:0 0 10px}
.question-examiner img {width:56px;height:56px}
.question-examiner strong {font-size:20px}
.lesson-test-portrait {width:64px;height:64px;object-fit:contain;flex:none}
.lesson-test-copy .lesson-test-examiner {font-size:12px;color:#654559}
@media(max-width:530px) {
  .guided-modus,.guided-modus>.logic-modus {width:64px!important;height:64px!important}
  .proof-guide-modus {width:48px;height:48px}
  .lesson-test-portrait {width:46px;height:54px}
  .test-examiner {gap:12px;margin-bottom:14px}
  .test-examiner img {width:58px;height:64px}
  .test-examiner strong {font-size:22px}
  .question-examiner img {width:44px;height:48px}
  .question-examiner strong {font-size:18px}
  #test-dialog {padding:24px 20px}
}
