.learning-app{--ink:#12213d;--muted:#586980;--teal:#007c75;--soft:#edf7f5;--border:#dce5ec;--navy:#061a39;max-width:1460px;margin:0 auto;color:var(--ink);background:#fff;min-height:70vh}.learning-app *{box-sizing:border-box}.learning-titlebar{padding:24px 28px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--border)}.learning-titlebar h1{font-size:1.65rem;line-height:1.25;margin:5px 0 8px;letter-spacing:-.02em}.learning-titlebar a,.learning-footer a,.learning-sources a{color:var(--teal)}.learning-titlebar p{font-size:.9rem;color:var(--muted);margin:0;line-height:1.5}.mode-tabs{display:flex;align-self:stretch;align-items:center;gap:4px}.mode-tabs button{border:0;background:transparent;padding:17px 14px;color:var(--ink);font:700 .9rem/1.2 inherit;border-bottom:3px solid transparent;cursor:pointer;white-space:nowrap}.mode-tabs button.active{border-color:var(--teal);color:var(--teal)}.mode-tabs button:hover{background:var(--soft)}.learning-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:20px;padding:22px;background:#f5f8fa;align-items:start}.curriculum-panel,.workspace{border:1px solid var(--border);border-radius:12px;background:#fff;min-width:0}.curriculum-panel{overflow:hidden}.curriculum-panel>h2{font-size:1rem;padding:20px 18px 8px;margin:0}.module-search-label{display:block;font-size:.8rem;color:var(--muted);padding:0 18px}#moduleSearch{margin:8px 12px 16px;width:calc(100% - 24px)}.learning-app input[type=search],.learning-app select{font:inherit;color:var(--ink);background:#fff;padding:11px 12px;border:1px solid #aebdca;border-radius:7px;max-width:100%}.unit-choice{width:100%;border:0;border-top:1px solid var(--border);background:#fff;color:var(--ink);padding:16px 18px;text-align:left;cursor:pointer;display:grid;gap:6px;line-height:1.4;font:inherit}.unit-choice span{font-size:.9rem;font-weight:750}.unit-choice small{font-size:.76rem;color:var(--muted)}.unit-choice:hover{background:#f8fbfb}.unit-choice.active{box-shadow:inset 4px 0 var(--teal);background:var(--soft)}.workspace{overflow:hidden;min-height:540px}.view{display:none;scroll-margin-top:20px}.view.active{display:block}.eyebrow{display:block;font-size:.78rem;font-weight:800;color:var(--teal);letter-spacing:.02em}.lesson-heading{padding:28px 30px 24px}.lesson-heading h2{font-size:1.9rem;line-height:1.2;letter-spacing:-.025em;margin:8px 0 12px}.lesson-heading p{color:var(--muted);line-height:1.6;margin:0;font-size:.98rem}.area-orientation{background:var(--soft);border-block:1px solid #cee4df;padding:22px 30px}.area-orientation h3{font-size:1.07rem;margin:0 0 10px}.area-orientation p{margin:0;line-height:1.75;font-size:.96rem}.lesson-tools{padding:22px 30px 12px}.lesson-tools label{display:block;font-weight:700;font-size:.83rem;margin-bottom:7px}.lesson-tools input{width:100%;max-width:430px}.lesson-tools p,.small-note{color:var(--muted);font-size:.82rem;line-height:1.6}.teaching-step{margin:14px 30px 32px;padding-bottom:28px;border-bottom:1px solid var(--border)}.step-heading{display:flex;align-items:flex-start;gap:12px}.step-number{width:29px;height:29px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;background:var(--navy);color:#fff;font-weight:800;font-size:.85rem}.step-heading h3{font-size:1.18rem;margin:1px 0 0;line-height:1.4}.guided-teaching{font-size:.94rem;line-height:1.75;color:var(--muted);margin:13px 0 18px}.place-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:18px}.place-card{border:1px solid var(--border);border-radius:10px;padding:18px;min-width:0;scroll-margin-top:22px}.place-card h4{font-size:1rem;line-height:1.45;margin:0 0 9px;overflow-wrap:anywhere;scroll-margin-top:22px}.place-street{font-weight:800;color:var(--teal);margin:0 0 12px;font-size:.98rem;line-height:1.5}.place-teaching{font-size:.84rem;color:var(--muted);line-height:1.65;margin:0 0 14px}.place-actions{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}.place-actions a,.feedback-links a,.mistake-review a{font-size:.8rem;color:var(--teal);font-weight:750}.text-action{border:0;background:transparent;color:var(--teal);font:750 .82rem/1.4 inherit;padding:5px 0;cursor:pointer;text-align:left}.place-source{color:var(--muted);font-size:.74rem;line-height:1.6;margin-top:14px}.place-source summary,.learning-sources summary,.mistake-review summary{cursor:pointer}.place-source p{margin:10px 0}.place-source a{color:var(--teal);font-weight:700}.primary-action,.secondary-action{font:750 .87rem/1.45 inherit;border-radius:7px;padding:12px 17px;cursor:pointer;text-align:center}.primary-action{background:var(--navy);color:#fff;border:1px solid var(--navy)}.secondary-action{background:#fff;color:var(--teal);border:1px solid #9ebeb8}.learning-app button:disabled{cursor:not-allowed;opacity:.55}.learning-app button:focus-visible,.learning-app a:focus-visible,.learning-app input:focus-visible,.learning-app select:focus-visible,.learning-app summary:focus-visible{outline:3px solid #e49c16;outline-offset:3px}.lesson-exercises{padding:0 30px 30px}.lesson-exercises h3{font-size:1.2rem;margin:0 0 14px}.lesson-exercises>p{line-height:1.7;font-size:.92rem;color:var(--muted)}.lesson-exercises .recall-prompt{padding:14px 16px;background:#f6f8fa;border-left:3px solid var(--teal);color:var(--ink)}.lesson-end-actions,.intro-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:18px 0 0}.learning-bottom{padding:24px 30px;display:grid;grid-template-columns:260px 1fr;gap:40px}.learning-bottom h2{font-size:1.05rem;margin:0 0 10px}.learning-bottom p{font-size:.84rem;line-height:1.6;color:var(--muted);margin:8px 0}.learning-progress>strong{display:flex;justify-content:space-between;gap:10px}.progress-track{height:10px;border-radius:99px;background:#e7ecf1;overflow:hidden;margin:13px 0}.progress-track span{height:100%;display:block;background:var(--teal)}.learning-sources{padding:18px 20px;margin:0 30px 24px;border:1px solid var(--border);border-radius:10px;font-size:.84rem;line-height:1.7;color:var(--muted)}.learning-sources summary{font-weight:750;color:var(--ink)}.learning-footer{text-align:center;margin:0;padding:14px 20px 24px;font-size:.8rem}.storage-notice,.curriculum-change{margin:16px 22px;padding:14px 18px;background:#fff8e8;color:#644600;border:1px solid #e4cc98;border-radius:8px;line-height:1.55;font-size:.84rem}.curriculum-change{background:#edf7f5;color:#184c45;border-color:#bbd9d2}.learning-app [hidden]{display:none!important}.no-results{padding:16px 20px;font-size:.87rem;color:var(--muted);line-height:1.6}.practice-intro,.practice-result{padding:36px 30px;max-width:760px}.practice-intro h2,.practice-result h2{font-size:1.8rem;letter-spacing:-.02em;line-height:1.25;margin:10px 0 14px}.practice-intro p,.practice-result p{color:var(--muted);line-height:1.75}.practice-intro label{display:block;font-size:.84rem;font-weight:700;margin:20px 0 8px}.practice-intro select{min-width:190px}.practice-top{padding:23px 30px 16px;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;border-bottom:1px solid var(--border);font-size:.9rem}.practice-top progress{width:100%;height:10px;accent-color:var(--teal);border:0;border-radius:99px;overflow:hidden}.question-card{margin:28px 30px;border:1px solid var(--border);border-radius:11px;padding:24px}.question-card h2{font-size:1.35rem;line-height:1.5;margin:12px 0 22px}.answers{display:grid;gap:11px}.answer-option{background:#fff;border:1px solid #aebcca;border-radius:7px;padding:14px 16px;color:var(--ink);font:650 .94rem/1.5 inherit;text-align:left;cursor:pointer;overflow-wrap:anywhere}.answer-option:hover{background:var(--soft);border-color:var(--teal)}.answer-option.correct-answer{background:#eaf7f1;border-color:#1a805d;color:#135338;opacity:1}.answer-option.chosen-wrong{background:#fff1ec;border-color:#bd4e35;color:#853521;opacity:1}.feedback-box{margin-top:20px;padding:17px;border-left:4px solid;border-radius:6px;font-size:.92rem;line-height:1.65}.feedback-box.right{background:#edf8f2;border-color:#19805d}.feedback-box.wrong{background:#fff3ef;border-color:#bd4e35}.feedback-box p{margin:9px 0}.feedback-links{display:flex;gap:16px;flex-wrap:wrap}.next-question{margin-top:15px}.session-controls{padding:0 30px 25px;display:flex;justify-content:space-between;gap:16px;align-items:center}.session-controls span{font-size:.78rem;color:var(--muted)}.mistake-review{padding:0 30px 30px}.mistake-review h3{font-size:1.2rem;margin:0 0 14px}.mistake-review details{border-top:1px solid var(--border);padding:16px 0;line-height:1.6;font-size:.9rem}.mistake-review summary{font-weight:750}.mistake-review .text-action{display:block;margin-top:12px}.progress-units{padding:0 30px 20px}.progress-units button{display:grid;gap:8px;width:100%;padding:18px 0;border:0;border-bottom:1px solid var(--border);text-align:left;background:#fff;cursor:pointer;color:var(--ink);font:inherit}.progress-units strong{font-size:.98rem;line-height:1.5}.progress-units span{font-size:.83rem;color:var(--muted)}.progress-reset{padding:0 30px 20px}.area-orientation,.teaching-step,.lesson-exercises{scroll-margin-top:24px}
@media(max-width:1100px){.learning-titlebar{display:block}.mode-tabs{margin-top:16px}.learning-layout{grid-template-columns:230px minmax(0,1fr)}.learning-bottom{grid-template-columns:230px minmax(0,1fr)}.place-grid{grid-template-columns:1fr}}
@media(max-width:760px){.learning-titlebar{padding:18px 16px 0}.learning-titlebar h1{font-size:1.45rem}.mode-tabs{margin:12px -16px 0;padding:0 8px;gap:0;overflow-x:auto}.mode-tabs button{padding:16px 10px;font-size:.82rem;flex-shrink:0}.learning-layout{display:block;padding:10px}.curriculum-panel{margin-bottom:12px}.curriculum-panel>h2{padding:16px 14px 8px}.module-search-label{padding:0 14px}.unit-choice{padding:12px 14px}.unit-choice span{font-size:.81rem}.unit-choice small{font-size:.7rem}#moduleList{display:grid;grid-template-columns:1fr 1fr;max-height:200px;overflow-y:auto}.unit-choice{border-right:1px solid var(--border);align-content:start}.lesson-heading{padding:22px 18px 20px}.lesson-heading h2{font-size:1.6rem}.lesson-heading p{font-size:.9rem}.area-orientation{padding:19px 18px}.area-orientation p{font-size:.9rem}.lesson-tools{padding:20px 18px 10px}.teaching-step{margin:12px 18px 25px;padding-bottom:24px}.step-heading{gap:10px}.step-heading h3{font-size:1.1rem}.guided-teaching{font-size:.88rem}.place-card{padding:16px}.place-card h4{font-size:1rem}.place-grid{gap:12px}.place-actions{gap:10px}.lesson-exercises{padding:0 18px 25px}.lesson-exercises>p{font-size:.87rem}.lesson-end-actions{align-items:stretch;flex-direction:column}.learning-bottom{display:block;padding:22px 18px}.learning-progress{margin-bottom:24px}.learning-sources{margin:0 16px 20px;padding:16px}.storage-notice,.curriculum-change{margin:14px 14px;padding:13px 15px}.practice-intro,.practice-result{padding:28px 18px}.practice-intro h2,.practice-result h2{font-size:1.55rem}.practice-top{padding:20px 18px 15px}.question-card{margin:20px 16px;padding:18px}.question-card h2{font-size:1.2rem}.session-controls{padding:0 18px 23px;display:block}.session-controls span{display:block;margin-top:10px}.mistake-review{padding:0 18px 25px}.progress-units{padding:0 18px 20px}.progress-reset{padding:0 18px 20px}.intro-actions{align-items:stretch;flex-direction:column}.intro-actions .text-action{text-align:center}}
@media(prefers-reduced-motion:reduce){.learning-app *{scroll-behavior:auto!important;transition:none!important}}

.road-learning{margin:1.2rem;padding:1.2rem;border:1px solid #b5dcd8;border-left:4px solid #008b83;border-radius:12px;background:#f6fbfa}.road-learning h3{margin:.4rem 0 .7rem}.road-learning p{line-height:1.65}.road-exercise{margin-top:1rem}.road-answer{padding:.7rem 0}.road-answer summary{cursor:pointer;font-weight:700;color:#006e69}.road-source{display:inline-block;margin-top:.3rem}.road-date{display:block;margin-top:.4rem}@media(max-width:480px){.road-learning{margin:1rem;padding:1rem}}

/* Keep every learning mode visible on narrow screens. */
@media(max-width:480px){.mode-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.mode-tabs button{min-width:0;white-space:normal}}

/* Formative destination decisions stay separate from scored recall. */
.destination-checks{margin:0 30px 30px}.destination-checks>h3{font-size:1.2rem;margin:0 0 10px}.destination-checks>p{color:var(--muted);line-height:1.65}.destination-check{border:1px solid var(--border);border-left:4px solid var(--teal);border-radius:10px;padding:20px;margin-top:18px;background:#fff;min-width:0}.destination-check h4{font-size:1.06rem;line-height:1.5;margin:0 0 12px}.destination-check p{line-height:1.7}.destination-option{display:block;width:100%;min-height:48px;text-align:left;white-space:normal;overflow-wrap:anywhere;font:inherit;line-height:1.6;padding:12px 14px;margin:10px 0;background:#fff;border:1px solid #aebdca;border-radius:8px;color:var(--ink);cursor:pointer}.destination-option:hover:not(:disabled){background:var(--soft)}.destination-option:disabled{color:var(--ink);opacity:1;cursor:default}.destination-option[aria-pressed=true]{background:var(--soft);border-color:var(--teal)}.destination-option:focus-visible,.destination-feedback:focus{outline:3px solid var(--teal);outline-offset:3px}.destination-feedback{padding:16px;background:var(--soft);border-radius:8px;margin-top:16px;scroll-margin-top:20px}.destination-feedback[hidden]{display:none}.destination-answer{font-weight:750}.destination-sources{display:flex;flex-wrap:wrap;gap:12px;margin:12px 0}.destination-sources a{color:var(--teal);overflow-wrap:anywhere}@media(max-width:760px){.destination-checks{margin:0 18px 25px}.destination-check{padding:16px}.destination-feedback{padding:14px}}

.destination-feedback:empty,.destination-retry[hidden]{display:none}.destination-option.correct-answer{background:#eaf7ef;border-color:#27764c}.destination-option.chosen-wrong{background:#fff2ef;border-color:#9b4939}.destination-pairs{padding-left:20px;line-height:1.7}.destination-retry{margin-top:12px}

/* Optional typed street recall; existing practice styles remain intact. */
.typed-street-intro{margin-top:24px;padding-top:20px;border-top:1px solid var(--border)}.typed-street-intro h3{font-size:1.12rem;line-height:1.5;margin:0 0 10px}.typed-street-intro p{line-height:1.7}.typed-street-form{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-top:18px}.typed-street-form label{font-weight:750}.typed-street-form input{display:block;min-height:48px;width:100%;max-width:560px;font:inherit;font-size:1rem;color:var(--ink);padding:12px;border:1px solid #aebdca;border-radius:8px;background:#fff}.typed-street-form input:focus-visible{outline:3px solid var(--teal);outline-offset:3px}.typed-street-form input[aria-invalid=true]{border-color:#9b4939}.typed-street-form button{min-height:48px;max-width:100%;white-space:normal;line-height:1.5;text-align:left}.typed-street-form p{margin:0;line-height:1.65}.typed-street-form #typedStreetHelp{font-weight:650;color:#874337}.typed-street-form #typedStreetHelp:empty{display:none}@media(max-width:760px){.typed-street-form{align-items:stretch}.typed-street-form button{width:100%}}

/* Learner-controlled local progress backup; prior learning styles are preserved. */
.progress-backup{margin-top:28px;padding:24px;border:1px solid var(--border);border-radius:12px;background:#fff}
.progress-backup h3{margin:0 0 12px;font-size:1.2rem;line-height:1.5}
.progress-backup p{line-height:1.7;overflow-wrap:anywhere}
.progress-backup label{display:block;margin:24px 0 10px;font-weight:750}
.progress-backup input[type=file]{display:block;width:100%;max-width:100%;min-height:48px;padding:10px 0;font:inherit;color:var(--ink)}
.progress-backup input[type=file]::file-selector-button{min-height:44px;padding:8px 12px;margin-right:10px;font:inherit;border:1px solid #aebdca;border-radius:7px;background:#f1f5f7;color:var(--ink)}
.progress-backup input:focus-visible{outline:3px solid var(--teal);outline-offset:3px}
.progress-backup button{min-height:48px;max-width:100%;white-space:normal;line-height:1.5}
.progress-backup .intro-actions{flex-wrap:wrap}
.progress-restore-preview{margin-top:22px;padding:20px;border:2px solid #9a6534;border-radius:10px;background:#fffaf3;overflow-wrap:anywhere}
.progress-restore-preview h4{margin:0 0 12px;font-size:1.05rem;line-height:1.5}
.progress-restore-preview h5{margin:0 0 10px;font-size:1rem;line-height:1.5}
.progress-restore-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.progress-restore-preview>button{margin:12px 12px 0 0}
.progress-restore-preview dl{margin:16px 0;line-height:1.7}
.progress-restore-preview dt{font-weight:700;margin-top:10px}
.progress-restore-preview dd{margin:0}
#progressBackupStatus{line-height:1.7;margin:16px 0 0;overflow-wrap:anywhere}
#progressBackupStatus:empty{display:none}
@media(max-width:760px){.progress-backup{padding:18px}.progress-restore-preview{padding:16px}.progress-restore-comparison{grid-template-columns:minmax(0,1fr);gap:14px}.progress-restore-preview>button{width:100%;margin-right:0}.progress-backup .intro-actions{align-items:stretch}.progress-backup .intro-actions button{width:100%}}

/* Original shared-street teaching; existing lesson, practice and progress styles preserved. */
.same-street-lessons{margin:28px 0;padding:24px;border:1px solid var(--border);border-radius:12px;background:var(--soft)}
.same-street-lessons>h3{margin:0 0 12px;font-size:1.2rem;line-height:1.5}
.same-street-lessons p{line-height:1.7;overflow-wrap:anywhere}
.same-street-lesson{margin-top:22px;padding:20px;border:1px solid var(--border);border-radius:10px;background:#fff}
.same-street-lesson>h4{margin:0 0 12px;font-size:1.1rem;line-height:1.5}
.same-street-places{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;list-style:none;margin:20px 0;padding:0}
.same-street-places>li{min-width:0;padding:16px;border:1px solid var(--border);border-radius:8px;background:#f5f8fa;line-height:1.65;overflow-wrap:anywhere}
.same-street-places strong{display:block;margin-bottom:8px}
.same-street-places a{display:inline-block;margin-top:10px;color:var(--teal);font-weight:650;line-height:1.6}
.same-street-explainback{margin-top:20px;padding-top:18px;border-top:1px solid var(--border)}
.same-street-explainback h5{margin:0 0 10px;font-size:1rem;line-height:1.5}
.same-street-worked{margin-top:16px;border:1px solid var(--border);border-radius:8px;background:#f5f8fa}
.same-street-worked summary{min-height:48px;padding:14px;font-weight:750;line-height:1.6;cursor:pointer;overflow-wrap:anywhere}
.same-street-worked summary:focus-visible{outline:3px solid var(--teal);outline-offset:3px}
.same-street-worked>p{margin:0;padding:0 16px 16px;line-height:1.75}
@media(max-width:760px){.same-street-lessons{padding:18px}.same-street-lesson{padding:16px}.same-street-places{grid-template-columns:minmax(0,1fr)}.same-street-places>li{padding:14px}}

/* Original relative-zone teaching boards; not map tiles or driving-route graphics. */
.orientation-boards{margin:28px 0}
.orientation-boards [hidden]{display:none!important}
.orientation-boards>h3{font-size:1.2rem;line-height:1.5;margin:0 0 12px}
.orientation-boards p{line-height:1.7;overflow-wrap:anywhere}
.orientation-board{margin-top:18px;padding:20px;border:1px solid var(--border);border-radius:12px;background:#fff}
.orientation-board>h4{margin:0 0 12px;font-size:1.1rem;line-height:1.5}
.orientation-toggle{min-height:48px;max-width:100%;white-space:normal;line-height:1.55;text-align:left;margin:4px 0 18px}
.orientation-sketch{display:grid;gap:12px;width:100%;min-width:0;padding:14px;border:1px solid #b7ccc8;border-radius:10px;background:#f4f8f7}
.orientation-sketch[data-layout=street-spine]{grid-template-columns:minmax(0,1fr) minmax(56px,.8fr) minmax(0,1fr);grid-template-areas:"north north north" "west reference east" "south south south"}
.orientation-sketch[data-layout=river-banks]{grid-template-columns:minmax(0,1fr);grid-template-areas:"north" "reference" "south"}
.orientation-zone{min-width:0;padding:12px;border:1px solid var(--border);border-radius:8px;background:#fff;text-align:center;overflow-wrap:anywhere}
.orientation-zone[data-zone=north]{grid-area:north}.orientation-zone[data-zone=south]{grid-area:south}.orientation-zone[data-zone=west]{grid-area:west}.orientation-zone[data-zone=east]{grid-area:east}
.orientation-zone h5{font-size:.95rem;line-height:1.6;margin:0 0 10px}
.orientation-streets{margin:0;font-weight:750;line-height:1.6}
.orientation-streets:empty{display:none}
.orientation-streets span{display:block}
.orientation-reference{grid-area:reference;display:flex;align-items:center;justify-content:center;min-width:0;padding:12px 8px;border:1px solid #8bafa9;border-radius:8px;background:#dceee8;color:var(--ink);font-weight:750;line-height:1.65;text-align:center;overflow-wrap:anywhere}
.orientation-sketch[data-layout=river-banks]>.orientation-reference{background:#dceff7;border-color:#9cbdcf;color:#163e55;min-height:52px}
.orientation-destinations{list-style:none;display:flex;flex-direction:column;justify-content:center;gap:12px;margin:0;padding:0;min-width:0;min-height:92px;font-weight:700;line-height:1.65;overflow-wrap:anywhere}
.orientation-covered{display:flex;align-items:center;justify-content:center;min-height:92px;margin:0;color:var(--muted);font-size:.9rem;line-height:1.65}
.orientation-qualification{font-size:.9rem;color:var(--muted);margin:14px 0 18px}
.orientation-explain{padding-top:18px;border-top:1px solid var(--border)}
.orientation-explain h5{font-size:1rem;line-height:1.5;margin:0 0 10px}
.orientation-worked{padding:14px;border-left:3px solid var(--teal);background:var(--soft)}
.orientation-sources{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.orientation-sources a{max-width:100%;color:var(--teal);font-weight:650;line-height:1.65;overflow-wrap:anywhere}
.orientation-recall-prompt,.orientation-state{line-height:1.7}.orientation-state:empty{display:none}
@media(max-width:760px){.orientation-board{padding:12px}.orientation-sketch{padding:6px;gap:6px}.orientation-sketch[data-layout=street-spine]{grid-template-columns:minmax(0,1fr) 82px minmax(0,1fr)}.orientation-zone{padding:8px 4px}.orientation-zone h5{font-size:.88rem;line-height:1.6}.orientation-reference{padding:8px 4px;font-size:.9rem}.orientation-destinations{font-size:.9rem;gap:10px}.orientation-covered{font-size:.85rem}.orientation-toggle{width:100%}}

/* Original corridor teaching: north/south road lines or explicitly non-geographic comparison. */
.orientation-sketch[data-layout=road-corridors]{grid-template-columns:minmax(0,1fr);grid-template-areas:"north" "reference" "south"}
.orientation-sketch[data-layout=road-corridors]>.orientation-reference{min-height:52px;background:#dceee8;border-color:#8bafa9}
.orientation-sketch[data-layout=corridor-comparison]{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"reference reference" "west south"}
.orientation-sketch[data-layout=corridor-comparison]>.orientation-reference{min-height:52px;background:#edf1f5;border-color:#b8c5d0}
.orientation-sketch[data-layout=road-corridors] .orientation-destinations,.orientation-sketch[data-layout=corridor-comparison] .orientation-destinations{min-height:112px}
.orientation-sketch[data-layout=road-corridors] .orientation-covered,.orientation-sketch[data-layout=corridor-comparison] .orientation-covered{min-height:112px}
@media(max-width:760px){.orientation-sketch[data-layout=corridor-comparison] .orientation-streets{font-size:.93rem;line-height:1.65}.orientation-sketch[data-layout=corridor-comparison]>.orientation-reference{padding:10px 8px}}

/* Labelled teaching comparisons: card order and spacing do not represent map positions. */
.orientation-sketch[data-layout=anchor-comparison]{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-areas:none;grid-auto-flow:row}
.orientation-sketch[data-layout=anchor-comparison]>.orientation-reference{grid-area:auto;grid-column:1/-1;min-height:52px;background:#edf1f5;border-color:#b8c5d0}
.orientation-sketch[data-layout=anchor-comparison]>.orientation-zone{grid-area:auto;grid-column:auto}
.orientation-sketch[data-layout=anchor-comparison] .orientation-destinations,.orientation-sketch[data-layout=anchor-comparison] .orientation-covered{min-height:112px}
@media(max-width:760px){.orientation-sketch[data-layout=anchor-comparison]{grid-template-columns:minmax(0,1fr)}.orientation-sketch[data-layout=anchor-comparison] .orientation-destinations,.orientation-sketch[data-layout=anchor-comparison] .orientation-covered{min-height:92px}}

/* Original worked driver-knowledge cases; existing study and scoring styles preserved. */
.applied-knowledge{margin:28px 0}
.applied-knowledge>h3{font-size:1.2rem;line-height:1.5;margin:0 0 12px}
.applied-knowledge p{line-height:1.7;overflow-wrap:anywhere}
.applied-case{margin-top:22px;padding:20px;border:1px solid var(--border);border-radius:12px;background:#fff}
.applied-case>h4{font-size:1.1rem;line-height:1.5;margin:0 0 12px}
.applied-case h5{font-size:1rem;line-height:1.6;margin:16px 0 10px}
.applied-references{margin:20px 0;padding:16px;border:1px solid var(--border);border-radius:8px;background:#f5f8fa;line-height:1.7;overflow-wrap:anywhere}
.applied-references dt{font-weight:750;margin:14px 0 5px}.applied-references dt:first-child{margin-top:0}.applied-references dd{margin:0}
.applied-orientation-cue{margin:18px 0;padding:14px;border-left:3px solid var(--teal);background:var(--soft)}
.applied-sources{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin:18px 0 24px}
.applied-sources a{max-width:100%;font-weight:650;color:var(--teal);line-height:1.7;overflow-wrap:anywhere}
.applied-request{margin:14px 0;padding:14px;border-left:3px solid #a66e31;background:#fff8ed;font-style:normal;line-height:1.7;overflow-wrap:anywhere}
.applied-steps{margin:20px 0;padding-left:24px;line-height:1.7}.applied-steps>li{padding-left:4px;margin:16px 0}.applied-steps h5{margin:0 0 7px}.applied-steps p{margin:0}
.applied-reflect{font-weight:650;margin:22px 0 16px}
.applied-worked{margin:16px 0 0;border:1px solid var(--border);border-radius:8px;background:#f5f8fa}
.applied-worked summary{min-height:48px;padding:14px;font-weight:750;line-height:1.6;cursor:pointer;overflow-wrap:anywhere}
.applied-worked summary:focus-visible{outline:3px solid var(--teal);outline-offset:3px}
.applied-worked>p{margin:0;padding:0 16px 16px;line-height:1.75}
@media(max-width:760px){.applied-case{padding:12px}.applied-references{padding:12px}.applied-request{padding:12px}.applied-steps{padding-left:20px}}

/* Original applied knowledge: unscored known-versus-clarify checks. */
.applied-practice{margin-top:24px;padding-top:22px;border-top:2px solid #d7e5ec}
.applied-practice>h5{font-size:1.1rem;margin:0 0 10px}
.applied-practice-check{margin:18px 0 0;padding:18px;border:1px solid #ccdfe7;border-radius:10px;background:#fff}
.applied-practice-check h6{font-size:1rem;line-height:1.6;margin:0 0 14px;color:#102e45}
.applied-practice-options{display:grid;gap:10px}
.applied-practice-option{display:block;width:100%;min-height:48px;padding:12px 14px;text-align:left;white-space:normal;line-height:1.6;border:1px solid #adc5d2;border-radius:8px;background:#f8fbfc;color:#102e45;cursor:pointer;font:inherit}
.applied-practice-option:hover:not(:disabled){background:#eaf5f6;border-color:#008781}
.applied-practice-option:focus-visible,.applied-practice-feedback:focus-visible,.applied-practice-retry:focus-visible{outline:3px solid #008781;outline-offset:3px}
.applied-practice .applied-practice-option:disabled{opacity:1;cursor:default;color:#304e61;-webkit-text-fill-color:#304e61}
.applied-practice-feedback:not(:empty){margin-top:18px;padding:14px;background:#edf7f7;border-left:4px solid #008781;border-radius:5px;line-height:1.7;color:#15394b}
.applied-practice-feedback p{margin:0 0 10px}
.applied-practice-feedback p:last-child{margin-bottom:0}
.applied-practice-retry{display:block;margin-top:14px;min-height:44px;white-space:normal;text-align:left}
.applied-practice-retry[hidden]{display:none}
.applied-practice [hidden]{display:none!important}
.applied-practice-option.selected{border:2px solid #006c68;background:#e4f3f2}
@media(max-width:480px){.applied-practice-check{padding:12px}.applied-practice-option{padding:11px}.applied-practice-feedback:not(:empty){padding:12px}}

/* Original transport references; comparison cards are not a route diagram. */
.transport-lessons{margin:0 30px 30px}
.transport-lessons>h3{font-size:1.2rem;margin:0 0 10px}
.transport-lessons>p{line-height:1.75;color:var(--muted)}
.transport-lesson{padding:22px;margin-top:20px;border:1px solid #ccdfe7;border-radius:12px;background:#fff;min-width:0}
.transport-lesson>h4{font-size:1.12rem;line-height:1.5;margin:0 0 12px}
.transport-lesson>p{line-height:1.75}
.transport-reference-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:14px;margin:20px 0}
.transport-reference-card{padding:18px;border:1px solid #c9dde4;border-top:4px solid #007c75;border-radius:9px;background:#f7fbfc;min-width:0}
.transport-reference-card h5{font-size:1rem;line-height:1.5;margin:0 0 12px;color:#102e45}
.transport-reference-card p{line-height:1.75;margin:0 0 12px}
.transport-reference{font-weight:700;color:#18445a}
.transport-qualification{color:#435c70}
.transport-source{color:#006e69;font-weight:700;line-height:1.65;overflow-wrap:anywhere}
.transport-comparison-prompt{font-weight:700;margin-top:22px}
.transport-worked{margin:18px 0;padding:14px;border:1px solid #c9dde4;border-radius:8px;background:#edf7f7}
.transport-worked summary{min-height:44px;display:list-item;cursor:pointer;font-weight:700;line-height:1.6;padding:8px 4px}
.transport-worked summary:focus-visible{outline:3px solid #007c75;outline-offset:3px}
.transport-worked p{line-height:1.75;margin:12px 4px 4px}
.transport-arrival-habit{padding:14px;border-left:4px solid #007c75;background:#f1f8f8}
.transport-source-scope{font-size:.88rem;color:#526779}
@media(max-width:760px){.transport-lessons{margin:0 18px 25px}.transport-lesson{padding:16px}}
@media(max-width:480px){.transport-lesson{padding:12px}.transport-reference-cards{grid-template-columns:minmax(0,1fr)}.transport-reference-card{padding:14px}.transport-worked{padding:10px}}

/* Original institution and campus identity teaching. */
.site-lessons{margin:0 30px 30px}
.site-lessons>h3{font-size:1.2rem;margin:0 0 10px}
.site-lessons>p{line-height:1.75;color:var(--muted)}
.site-lesson{margin-top:20px;padding:22px;border:1px solid #ccdfe7;border-radius:12px;background:#fff;min-width:0}
.site-lesson>h4{font-size:1.12rem;line-height:1.5;margin:0 0 12px}
.site-lesson>p{line-height:1.75}
.site-identity-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:14px;margin:20px 0}
.site-identity-card{min-width:0;padding:18px;border:1px solid #c9dde4;border-top:4px solid #007c75;border-radius:9px;background:#f7fbfc}
.site-identity-card h5{font-size:1rem;line-height:1.5;margin:0 0 14px;color:#102e45}
.site-identity-ladder{margin:0}
.site-identity-ladder dt{font-size:.85rem;font-weight:700;color:#526779;margin:12px 0 3px}
.site-identity-ladder dt:first-child{margin-top:0}
.site-identity-ladder dd{margin:0;line-height:1.65;color:#163c50}
.site-qualification{color:#435c70;line-height:1.75;margin:16px 0}
.site-lessons .site-source{color:#006e69;font-weight:700;line-height:1.65;overflow-wrap:anywhere}
.site-contrast{padding:14px;border-left:4px solid #007c75;background:#f1f8f8}
.site-exercise{margin-top:22px;padding:18px;border:1px solid #ccdfe7;border-radius:10px;background:#fff;min-width:0}
.site-exercise>h5{font-size:1rem;line-height:1.5;margin:0 0 12px}
.site-request{margin:0;padding:12px 16px;border-left:4px solid #c9953d;background:#fbf8f2;line-height:1.7}
.site-reasoning{padding-left:24px;margin:18px 0}
.site-reasoning li{line-height:1.75;margin-bottom:10px}
.site-worked{margin-top:18px;padding:14px;border:1px solid #c9dde4;border-radius:8px;background:#edf7f7}
.site-worked summary{min-height:44px;display:list-item;cursor:pointer;font-weight:700;line-height:1.6;padding:8px 4px}
.site-worked summary:focus-visible{outline:3px solid #007c75;outline-offset:3px}
.site-worked p{line-height:1.75;margin:12px 4px 4px}
.site-source-scope{font-size:.88rem;color:#526779}
@media(max-width:760px){.site-lessons{margin:0 18px 25px}.site-lesson{padding:16px}}
@media(max-width:480px){.site-lesson{padding:12px}.site-identity-cards{grid-template-columns:minmax(0,1fr)}.site-identity-card{padding:14px}.site-exercise{padding:12px}.site-worked{padding:10px}}

/* Original logical junction comparisons; no map positions or route geometry. */
.junction-lessons{margin:0 30px 30px}
.junction-lessons>h3{font-size:1.2rem;margin:0 0 10px}
.junction-lessons>p{line-height:1.75;color:var(--muted)}
.junction-lesson{margin-top:20px;padding:22px;border:1px solid #ccdfe7;border-radius:12px;background:#fff;min-width:0}
.junction-lesson>h4{font-size:1.12rem;line-height:1.5;margin:0 0 12px}
.junction-lesson>p{line-height:1.75}
.junction-pair-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:20px 0}
.junction-pair-card{padding:18px;border:1px solid #c9dde4;border-top:4px solid #007c75;border-radius:9px;background:#f7fbfc;min-width:0}
.junction-pair-card h5{font-size:1rem;line-height:1.5;margin:0 0 14px;color:#102e45}
.junction-pair{margin:0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 14px}
.junction-pair dt{font-size:.88rem;font-weight:700;color:#526779;line-height:1.75}
.junction-pair dd{margin:0;color:#163c50;line-height:1.65;overflow-wrap:anywhere}
.junction-relation{line-height:1.75;color:#435c70;margin-bottom:0}
.junction-sources{padding:16px;border-left:4px solid #007c75;background:#f1f8f8;margin:20px 0}
.junction-sources a{color:#006e69;font-weight:700;line-height:1.65;overflow-wrap:anywhere}
.junction-sources p{font-size:.88rem;line-height:1.7;color:#526779;margin:8px 0 14px}
.junction-sources p:last-child{margin-bottom:0}
.junction-exercise-prompt{font-weight:700;margin-top:22px}
.junction-worked{margin:18px 0;padding:14px;border:1px solid #c9dde4;border-radius:8px;background:#edf7f7}
.junction-worked summary{min-height:44px;display:list-item;cursor:pointer;font-weight:700;line-height:1.6;padding:8px 4px}
.junction-worked summary:focus-visible{outline:3px solid #007c75;outline-offset:3px}
.junction-worked p{line-height:1.75;margin:12px 4px 4px}
.junction-scope{font-size:.88rem;color:#526779}
@media(max-width:760px){.junction-lessons{margin:0 18px 25px}.junction-lesson{padding:16px}.junction-pair-cards{grid-template-columns:minmax(0,1fr)}}
@media(max-width:480px){.junction-lesson{padding:12px}.junction-pair-card{padding:14px}.junction-pair{grid-template-columns:minmax(0,1fr);gap:3px}.junction-pair dd{margin-bottom:8px}.junction-worked{padding:10px}}

/* Unsaved retrieval of the bounded, already taught partner sets. */
.junction-recall{margin-top:24px;padding-top:22px;border-top:2px solid #d4e4e9}
.junction-recall>h5{font-size:1.12rem;line-height:1.5;margin:0 0 12px}
.junction-recall>p{line-height:1.75}
.junction-recall-check{margin:20px 0;padding:18px;border:1px solid #c9dde4;border-radius:10px;background:#fff}
.junction-recall-check fieldset{border:0;padding:0;margin:0;min-width:0}
.junction-recall-check legend{font-size:1rem;font-weight:700;line-height:1.6;padding:0;margin-bottom:14px;color:#102e45}
.junction-recall-option{display:flex;align-items:flex-start;gap:12px;min-height:48px;padding:12px 14px;margin:10px 0;border:1px solid #afc8d4;border-radius:8px;background:#f8fbfc;color:#173c51;font:inherit;line-height:1.6;cursor:pointer}
.junction-recall-option input{width:20px;height:20px;margin:3px 0 0;flex:0 0 20px;accent-color:#007c75;scroll-margin-top:20px}
.junction-recall-option span{min-width:0;overflow-wrap:anywhere}
.junction-recall-option:has(input:checked){border:2px solid #007c75;background:#e8f5f3}
.junction-recall-option:has(input:disabled){cursor:default;opacity:1;color:#304e61}
.junction-recall-option input:focus-visible{outline:3px solid #007c75;outline-offset:3px}
.junction-recall-compare,.junction-recall-retry{min-height:48px;max-width:100%;white-space:normal;font:inherit;line-height:1.6;padding:11px 16px;border:1px solid #007c75;border-radius:8px;cursor:pointer}
.junction-recall-compare{margin-top:12px;background:#00756f;color:#fff;font-weight:700}
.junction-recall-retry{margin-top:16px;background:#fff;color:#006b66}
.junction-recall .junction-recall-compare:disabled{opacity:1;color:#304e61;background:#edf3f5;border-color:#adc3cc;cursor:default}
.junction-recall-compare:focus-visible,.junction-recall-retry:focus-visible,.junction-recall-feedback:focus-visible{outline:3px solid #007c75;outline-offset:3px}
.junction-recall-feedback{scroll-margin-top:12px}
.junction-recall-feedback:not(:empty){margin-top:18px;padding:16px;background:#edf7f7;border-left:4px solid #007c75;border-radius:6px;color:#173c51;line-height:1.75}
.junction-recall-feedback p{margin:10px 0 0}
.junction-recall-scope{font-size:.88rem;color:#526779}
.junction-recall [hidden]{display:none!important}
@media(max-width:480px){.junction-recall-check{padding:12px}.junction-recall-option{padding:11px}.junction-recall-compare,.junction-recall-retry{width:100%}.junction-recall-feedback:not(:empty){padding:12px}}

/* Unsaved study comparison of existing checked destination records. */
.destination-comparison{margin:30px 0;padding:20px;border:1px solid #b8d1dc;border-radius:12px;background:#f8fbfc;color:#173c51}
.destination-comparison>summary{font-size:1.2rem;font-weight:700;line-height:1.5;cursor:pointer;min-height:48px;padding:9px 4px;overflow-wrap:anywhere;color:#102e45}
.destination-comparison>summary:focus-visible{outline:3px solid #007c75;outline-offset:3px}
.destination-comparison[open]>summary{margin-bottom:12px}
.destination-comparison p,.destination-comparison li{line-height:1.75;overflow-wrap:anywhere}
.destination-comparison-controls{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px;margin:20px 0}
.destination-comparison-preset,.destination-comparison-controls>.destination-comparison-focus{grid-column:1/-1}
.destination-comparison-controls label{display:block;min-width:0;font-weight:700;line-height:1.6}
.destination-comparison-controls select{display:block;width:100%;min-width:0;max-width:100%;min-height:48px;font:inherit;line-height:1.6;color:#173c51;background:#fff;border:1px solid #86aaba;border-radius:7px;padding:10px;margin:8px 0}
.destination-comparison-controls select:focus-visible{outline:3px solid #007c75;outline-offset:3px}
.destination-comparison-focus{padding:12px 16px;border-left:4px solid #007c75;background:#e8f5f3}
.destination-comparison-actions{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0}
.destination-comparison-actions button{min-height:48px;max-width:100%;white-space:normal;font:inherit;line-height:1.6;padding:11px 16px;border:1px solid #007c75;border-radius:8px;cursor:pointer}
#compareDestinations{background:#00756f;color:#fff;font-weight:700}
#clearComparison{background:#fff;color:#00625d}
.destination-comparison-actions button:focus-visible{outline:3px solid #007c75;outline-offset:3px}
.destination-comparison-status{padding:14px 16px;border-left:4px solid #007c75;background:#e8f5f3;color:#173c51;scroll-margin-top:16px}
.destination-comparison-status:focus{outline:3px solid #007c75;outline-offset:3px}
.destination-comparison-result{margin-top:24px}
.destination-comparison-result>h4{font-size:1.15rem;line-height:1.5;scroll-margin-top:16px}
.destination-comparison-result>h4:focus{outline:3px solid #007c75;outline-offset:5px}
.destination-comparison-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.destination-comparison-card{min-width:0;padding:18px;background:#fff;border:1px solid #b8d1dc;border-radius:10px}
.destination-comparison-card h5{font-size:1.05rem;line-height:1.6;margin:0 0 12px;overflow-wrap:anywhere;color:#102e45}
.destination-comparison-card p,.destination-comparison-card a{overflow-wrap:anywhere}
.destination-comparison-reflection{padding-left:24px}
.destination-comparison-worked{padding:16px;background:#e8f5f3;border-left:4px solid #007c75}
.destination-comparison-worked>summary{min-height:48px;padding:10px 0;font-weight:700;line-height:1.6;cursor:pointer}
.destination-comparison-worked>summary:focus-visible{outline:3px solid #007c75;outline-offset:3px}
.destination-comparison [hidden]{display:none!important}
@media(max-width:760px){.destination-comparison{padding:16px}.destination-comparison-controls,.destination-comparison-cards{grid-template-columns:1fr}.destination-comparison-actions{display:grid;grid-template-columns:1fr}.destination-comparison-actions button{width:100%}.destination-comparison-card{padding:14px}}

/* Find existing detailed teaching without changing practice records. */
.lesson-finder{margin:0 0 28px;padding:18px 20px;background:#f4f9fb;border:1px solid #b6cedb;border-radius:10px;color:#173c51}
.lesson-finder>summary{min-height:48px;padding:9px 2px;font-size:1.1rem;font-weight:700;line-height:1.6;cursor:pointer;overflow-wrap:anywhere;color:#102e45}
.lesson-finder>summary:focus-visible,.lesson-finder input:focus-visible,.lesson-finder button:focus-visible{outline:3px solid #007c75;outline-offset:3px}
.lesson-finder-intro,.lesson-finder-empty{line-height:1.75;overflow-wrap:anywhere}
.lesson-finder label{display:block;font-weight:700;line-height:1.6;margin:18px 0 8px}
.lesson-finder input[type=search]{display:block;width:100%;max-width:100%;min-width:0;min-height:48px;padding:11px 12px;font:inherit;line-height:1.6;color:#173c51;background:#fff;border:1px solid #86aaba;border-radius:7px;scroll-margin-top:80px}
.lesson-finder .lesson-finder-clear{min-height:48px;max-width:100%;margin:12px 0;padding:10px 16px;font:inherit;line-height:1.6;background:#fff;color:#00625d;border:1px solid #007c75;border-radius:7px;cursor:pointer;white-space:normal}
.lesson-finder-status{margin:10px 0 14px;line-height:1.6;font-weight:700;color:#173c51}
.lesson-finder-results{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.lesson-finder-results li{min-width:0;margin:0}
.lesson-finder .lesson-finder-jump{display:block;width:100%;min-height:48px;padding:13px 16px;background:#fff;border:1px solid #b6cedb;border-radius:8px;color:#173c51;text-align:left;font:inherit;line-height:1.6;cursor:pointer;white-space:normal;overflow-wrap:anywhere}
.lesson-finder-jump strong{display:block;color:#102e45;font-size:1rem}
.lesson-finder-jump span{display:block;margin-top:4px;color:#3d5b6d;font-size:.9rem;line-height:1.6}
.lesson-finder .lesson-finder-jump:hover{border-color:#007c75;background:#edf7f6}
.lesson-finder [hidden]{display:none!important}
.lesson-finder-target{scroll-margin-top:16px}
.lesson-finder-target:focus{outline:3px solid #007c75;outline-offset:5px}
@media(max-width:760px){.lesson-finder{padding:15px}.lesson-finder .lesson-finder-clear{width:100%}.lesson-finder .lesson-finder-jump{padding:12px}}

/* Unscored, unsaved identity-before-reference practice within taught sites. */
.identity-practice{margin:26px 0;padding:18px;border:1px solid #b6cedb;border-radius:10px;background:#f4f9fb;color:#173c51}
.identity-practice>summary{min-height:48px;padding:9px 2px;font-size:1.08rem;font-weight:700;line-height:1.6;cursor:pointer;color:#102e45;overflow-wrap:anywhere}
.identity-practice>summary:focus-visible,.identity-practice select:focus-visible,.identity-practice button:focus-visible{outline:3px solid #007c75;outline-offset:3px}
.identity-practice p,.identity-practice blockquote,.identity-practice legend{line-height:1.75;overflow-wrap:anywhere}
.identity-practice>label{display:block;font-weight:700;line-height:1.6;margin:18px 0 8px}
.identity-practice-case{display:block;min-width:0;width:100%;max-width:100%;min-height:48px;padding:10px;font:inherit;line-height:1.6;color:#173c51;background:#fff;border:1px solid #86aaba;border-radius:7px}
.identity-practice-flow{margin-top:22px}
.identity-practice-phase{font-size:1.05rem;line-height:1.6;margin:0 0 14px;color:#102e45;scroll-margin-top:16px}
.identity-practice-phase:focus{outline:3px solid #007c75;outline-offset:5px}
.identity-practice-request{margin:16px 0;padding:12px 16px;background:#fbf7ef;border-left:4px solid #b47d30}
.identity-practice-confirmed{padding:12px 16px;background:#e8f5f3;border-left:4px solid #007c75;font-weight:700}
.identity-practice fieldset{border:0;margin:18px 0;padding:0;min-width:0}
.identity-practice legend{font-weight:700;margin:0 0 8px;padding:0;color:#102e45}
.identity-practice-option{display:flex;align-items:flex-start;gap:12px;min-height:48px;padding:12px 14px;margin:10px 0;border:1px solid #afc8d4;border-radius:8px;background:#fff;color:#173c51;line-height:1.7;cursor:pointer;scroll-margin-top:16px}
.identity-practice-option input{width:20px;height:20px;margin:4px 0 0;flex:0 0 20px;accent-color:#007c75}
.identity-practice-option span{min-width:0;overflow-wrap:anywhere}
.identity-practice-option:has(input:checked){border:2px solid #007c75;background:#e8f5f3}
.identity-practice-option:has(input:disabled){cursor:default;opacity:1;color:#304e61}
.identity-practice-option input:focus-visible{outline:3px solid #007c75;outline-offset:3px}
.identity-practice-actions{display:flex;flex-wrap:wrap;gap:12px;margin:16px 0}
.identity-practice-actions button{min-height:48px;max-width:100%;padding:11px 16px;font:inherit;line-height:1.6;white-space:normal;border:1px solid #007c75;border-radius:7px;cursor:pointer}
.identity-practice-compare,.identity-practice-continue{background:#00756f;color:#fff;font-weight:700}
.identity-practice-retry,.identity-practice-reset{background:#fff;color:#00625d}
.identity-practice .identity-practice-compare:disabled{opacity:1;background:#e7eff2;color:#304e61;border-color:#acc3ce;cursor:default}
.identity-practice-feedback{margin:18px 0;padding:14px 16px;background:#edf7f7;border-left:4px solid #007c75;color:#173c51;scroll-margin-top:12px;overflow-wrap:anywhere}
.identity-practice-feedback:focus{outline:3px solid #007c75;outline-offset:3px}
.identity-practice-feedback.right{background:#e8f5f3;border-color:#007c75}
.identity-practice-feedback.review{background:#fff4df;border-color:#956200;color:#302c23}
.identity-practice-feedback strong{display:block;line-height:1.6;color:#102e45}
.identity-practice-feedback a{overflow-wrap:anywhere}
.identity-practice-scope{font-size:.9rem;line-height:1.7}
.identity-practice [hidden]{display:none!important}
@media(max-width:760px){.identity-practice{padding:15px}.identity-practice-actions{display:grid;grid-template-columns:1fr}.identity-practice-actions button{width:100%}.identity-practice-option{padding:11px}}

/* Original, map-free teaching of two selected park and river associations. */
.river-lessons{margin:26px 0;padding:20px;border:1px solid #b6cedb;border-radius:10px;background:#f4f9fb;color:#173c51}
.river-lessons h3,.river-lessons h4,.river-lessons h5{color:#102e45;line-height:1.5;overflow-wrap:anywhere}
.river-lessons h3{margin:0 0 12px;font-size:1.3rem}
.river-lessons h4{margin:22px 0 12px;font-size:1.15rem}
.river-lessons h5{margin:0 0 8px;font-size:1.05rem}
.river-lessons p{line-height:1.75;overflow-wrap:anywhere}
.river-anchor-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0}
.river-anchor{min-width:0;padding:18px;border:1px solid #afc8d4;border-radius:8px;background:#fff}
.river-name{font-weight:700;color:#00625d;margin:0 0 12px}
.river-qualification,.river-scope{font-size:.92rem;line-height:1.75}
.river-source{display:inline-block;max-width:100%;line-height:1.75;color:#00625d;overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:3px}
.river-exercise-prompt{margin:22px 0 16px;padding:14px 16px;background:#fbf7ef;border-left:4px solid #b47d30}
.river-worked{margin:16px 0;padding:8px 14px;border:1px solid #afc8d4;border-radius:8px;background:#fff}
.river-worked>summary{min-height:48px;padding:10px 0;line-height:1.75;font-weight:700;cursor:pointer;overflow-wrap:anywhere}
.river-worked>p{margin:12px 0}
.river-source:focus-visible,.river-worked>summary:focus-visible{outline:3px solid #007c75;outline-offset:3px}
@media(max-width:760px){.river-lessons{padding:16px}.river-anchor-cards{grid-template-columns:1fr}.river-anchor{padding:16px}}

/* Original venue-setting teaching; no map or arrival geometry. */
.attraction-lessons{margin:26px 0;padding:20px;border:1px solid #b6cedb;border-radius:10px;background:#f4f9fb;color:#173c51}
.attraction-lessons h3,.attraction-lessons h4,.attraction-lessons h5{color:#102e45;line-height:1.5;overflow-wrap:anywhere}
.attraction-lessons h3{margin:0 0 12px;font-size:1.3rem}
.attraction-lessons h4{margin:22px 0 12px;font-size:1.15rem}
.attraction-lessons h5{margin:0 0 8px;font-size:1.05rem}
.attraction-lessons p{line-height:1.75;overflow-wrap:anywhere}
.attraction-anchor-cards{display:grid;grid-template-columns:1fr;gap:16px;margin:20px 0}
.attraction-anchor{min-width:0;padding:18px;border:1px solid #afc8d4;border-radius:8px;background:#fff}
.attraction-setting{font-weight:700;color:#00625d;margin:0 0 12px}
.attraction-qualification,.attraction-scope{font-size:.92rem;line-height:1.75}
.attraction-source{display:inline-block;max-width:100%;line-height:1.75;color:#00625d;overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:3px}
.attraction-exercise-prompt{margin:22px 0 16px;padding:14px 16px;background:#fbf7ef;border-left:4px solid #b47d30}
.attraction-worked{margin:16px 0;padding:8px 14px;border:1px solid #afc8d4;border-radius:8px;background:#fff}
.attraction-worked>summary{min-height:48px;padding:10px 0;line-height:1.75;font-weight:700;cursor:pointer;overflow-wrap:anywhere}
.attraction-worked>p{margin:12px 0}
.attraction-source:focus-visible,.attraction-worked>summary:focus-visible{outline:3px solid #007c75;outline-offset:3px}
@media(max-width:760px){.attraction-lessons{padding:16px}.attraction-anchor{padding:16px}}

/* Original text-only canal landmark teaching, without mapped routes. */
.waterway-lessons{margin:26px 0;padding:20px;border:1px solid #b6cedb;border-radius:10px;background:#f4f9fb;color:#173c51}
.waterway-lessons h3,.waterway-lessons h4,.waterway-lessons h5{color:#102e45;line-height:1.5;overflow-wrap:anywhere}
.waterway-lessons h3{margin:0 0 12px;font-size:1.3rem}
.waterway-lessons h4{margin:22px 0 12px;font-size:1.15rem}
.waterway-lessons h5{margin:0 0 8px;font-size:1.05rem}
.waterway-lessons p{line-height:1.75;overflow-wrap:anywhere}
.waterway-anchor-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:20px 0}
.waterway-anchor{min-width:0;padding:18px;border:1px solid #afc8d4;border-radius:8px;background:#fff}
.waterway-name{font-weight:700;color:#00625d;margin:0 0 12px}
.waterway-qualification,.waterway-scope{font-size:.92rem;line-height:1.75}
.waterway-source{display:inline-block;max-width:100%;line-height:1.75;color:#00625d;overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:3px}
.waterway-exercise-prompt{margin:22px 0 16px;padding:14px 16px;background:#fbf7ef;border-left:4px solid #b47d30}
.waterway-worked{margin:16px 0;padding:8px 14px;border:1px solid #afc8d4;border-radius:8px;background:#fff}
.waterway-worked>summary{min-height:48px;padding:10px 0;line-height:1.75;font-weight:700;cursor:pointer;overflow-wrap:anywhere}
.waterway-worked>p{margin:12px 0}
.waterway-source:focus-visible,.waterway-worked>summary:focus-visible{outline:3px solid #007c75;outline-offset:3px}
@media(max-width:1000px){.waterway-anchor-cards{grid-template-columns:1fr}}
@media(max-width:760px){.waterway-lessons{padding:16px}.waterway-anchor{padding:16px}}

/* Unsaved relationship practice after the original area teaching. */
.relationship-practice{margin:26px 0;padding:18px;border:1px solid #b6cedb;border-radius:10px;background:#f4f9fb;color:#173c51}
.relationship-practice>summary{min-height:48px;padding:9px 2px;font-size:1.08rem;font-weight:700;line-height:1.6;cursor:pointer;color:#102e45;overflow-wrap:anywhere}
.relationship-practice>summary:focus-visible,.relationship-practice select:focus-visible,.relationship-practice button:focus-visible{outline:3px solid #007c75;outline-offset:3px}
.relationship-practice p,.relationship-practice legend{line-height:1.75;overflow-wrap:anywhere}
.relationship-practice>label{display:block;font-weight:700;line-height:1.6;margin:18px 0 8px}
.relationship-practice-case{display:block;min-width:0;width:100%;max-width:100%;min-height:48px;padding:10px;font:inherit;line-height:1.6;color:#173c51;background:#fff;border:1px solid #86aaba;border-radius:7px}
.relationship-practice-flow{margin-top:22px}
.relationship-practice-flow h5{font-size:1.1rem;line-height:1.6;margin:0 0 14px;color:#102e45;scroll-margin-top:16px;overflow-wrap:anywhere}
.relationship-practice-flow h5:focus{outline:3px solid #007c75;outline-offset:5px}
.relationship-practice fieldset{border:0;margin:18px 0;padding:0;min-width:0}
.relationship-practice legend{font-weight:700;margin:0 0 8px;padding:0;color:#102e45}
.relationship-practice-option{display:flex;align-items:flex-start;gap:12px;min-height:48px;padding:12px 14px;margin:10px 0;border:1px solid #afc8d4;border-radius:8px;background:#fff;color:#173c51;line-height:1.7;cursor:pointer;scroll-margin-top:16px}
.relationship-practice-option input{width:20px;height:20px;margin:4px 0 0;flex:0 0 20px;accent-color:#007c75}
.relationship-practice-option span{min-width:0;overflow-wrap:anywhere}
.relationship-practice-option:has(input:checked){border:2px solid #007c75;background:#e8f5f3}
.relationship-practice-option:has(input:disabled){cursor:default;opacity:1;color:#304e61}
.relationship-practice-option input:focus-visible{outline:3px solid #007c75;outline-offset:3px}
.relationship-practice button{min-height:48px;max-width:100%;padding:11px 16px;font:inherit;line-height:1.6;white-space:normal;border:1px solid #007c75;border-radius:7px;cursor:pointer;margin:6px 8px 6px 0}
.relationship-practice-compare{background:#00756f;color:#fff;font-weight:700}
.relationship-practice-retry,.relationship-practice-reset{background:#fff;color:#00625d}
.relationship-practice .relationship-practice-compare:disabled{opacity:1;background:#e7eff2;color:#304e61;border-color:#acc3ce;cursor:default}
.relationship-practice-feedback{margin:18px 0;padding:14px 16px;background:#edf7f7;border-left:4px solid #007c75;color:#173c51;scroll-margin-top:12px;overflow-wrap:anywhere}
.relationship-practice-feedback:focus{outline:3px solid #007c75;outline-offset:3px}
.relationship-practice-feedback.right{background:#e8f5f3;border-color:#007c75}
.relationship-practice-feedback.review{background:#fff4df;border-color:#956200;color:#302c23}
.relationship-practice-feedback strong{display:block;line-height:1.6;color:#102e45}
.relationship-practice-feedback a{overflow-wrap:anywhere;color:#00625d;text-decoration:underline;text-underline-offset:3px}
.relationship-practice [hidden]{display:none!important}
@media(max-width:760px){.relationship-practice{padding:15px}.relationship-practice-option{padding:11px}.relationship-practice button{width:100%;margin-right:0}}

/* Volatile, unscored spoken explain-back practice. */
.explain-back{margin:24px 0;padding:18px;border:1px solid #b6cedb;border-radius:10px;background:#f4f9fb;color:#173c51;min-width:0}
.explain-back>summary{min-height:48px;padding:9px 2px;font-size:1.08rem;font-weight:700;line-height:1.6;cursor:pointer;color:#102e45;overflow-wrap:anywhere}
.explain-back p,.explain-back h4,.explain-back h5,.explain-back h6,.explain-back a{overflow-wrap:anywhere;line-height:1.75}
.explain-back h4{font-size:1.12rem;margin:16px 0 12px;color:#102e45;scroll-margin-top:16px}
.explain-back h5{font-size:1.08rem;margin:0 0 12px;color:#102e45}
.explain-back h6{font-size:1rem;margin:0 0 10px;color:#102e45}
.explain-back-prompt{font-weight:700;margin:14px 0 20px}
.explain-back button{min-height:48px;max-width:100%;padding:11px 16px;font:inherit;line-height:1.6;white-space:normal;border-radius:7px;cursor:pointer;margin:6px 8px 6px 0}
.explain-back-reference{margin:20px 0;padding:16px;border-left:4px solid #007c75;background:#fff;scroll-margin-top:16px;min-width:0}
.explain-back-card{padding:14px;margin:14px 0;border:1px solid #b6cedb;border-radius:8px;background:#f8fbfc;min-width:0;min-height:0}
.explain-back-reference a{color:#00625d;text-decoration:underline;text-underline-offset:3px}
.explain-back>summary:focus-visible,.explain-back button:focus-visible,.explain-back a:focus-visible,.explain-back [tabindex="-1"]:focus{outline:3px solid #007c75;outline-offset:3px}
.explain-back [hidden]{display:none!important}
.explain-back-return{min-height:48px;max-width:100%;margin:18px 0;padding:11px 16px;font:inherit;line-height:1.6;white-space:normal;border:1px solid #007c75;border-radius:7px;background:#fff;color:#00625d;cursor:pointer}
.explain-back-return:focus-visible{outline:3px solid #007c75;outline-offset:3px}
@media(max-width:760px){.explain-back{padding:15px}.explain-back-reference{padding:12px}.explain-back button{width:100%;margin-right:0}}
@media(max-width:760px){.explain-back-return{width:100%}}

/* Explicit no-write continuation of an existing saved practice session. */
.session-resume{display:block;max-width:100%;min-width:0;margin:20px 0;padding:18px;border:1px solid #a9c9c3;border-radius:10px;background:#edf7f5;color:#173c51}
.session-resume h3{font-size:1.1rem;line-height:1.6;margin:0 0 10px;color:#102e45;overflow-wrap:anywhere}
.session-resume p{line-height:1.75;margin:12px 0;overflow-wrap:anywhere}
.session-resume-progress{font-weight:700}
.session-resume button{min-height:48px;max-width:100%;padding:11px 16px;font:inherit;line-height:1.6;white-space:normal;border-radius:7px;cursor:pointer;margin:6px 8px 6px 0}
.session-resume-status{padding:14px;border-left:4px solid #007c75;background:#fff;scroll-margin-top:16px}
.session-resume button:focus-visible,.session-resume-status:focus{outline:3px solid #007c75;outline-offset:3px}
.session-resume [hidden]{display:none!important}
@media(max-width:760px){.session-resume{padding:15px}.session-resume button{width:100%;margin-right:0}}

/* Optional read-only study of the current revision references. */
.revision-study{max-width:100%;min-width:0;margin:20px 0;border:1px solid #a9c9c3;border-radius:10px;padding:16px 18px;background:#edf7f5;color:#173c51}
.revision-study summary{font-weight:700;font-size:1.1rem;line-height:1.6;cursor:pointer;padding:8px 0;min-height:44px;overflow-wrap:anywhere}
.revision-study p,.revision-study li{line-height:1.75;overflow-wrap:anywhere}
.revision-study label{display:block;font-weight:700;margin:14px 0 7px}
.revision-study select{display:block;width:100%;max-width:100%;min-width:0;min-height:48px;padding:10px 12px;font:inherit;color:#102e45;background:#fff;border:1px solid #a9bbc9;border-radius:6px}
.revision-study article{display:block;min-height:0;max-width:100%;margin:16px 0;padding:16px;border:1px solid #b7cec9;border-radius:7px;background:#fff;overflow-wrap:anywhere}
.revision-study h4{font-size:1.1rem;line-height:1.6;margin:0 0 10px;color:#102e45}
.revision-study button{min-height:48px;max-width:100%;margin:6px 8px 6px 0;padding:11px 16px;font:inherit;line-height:1.5;white-space:normal;border-radius:7px;cursor:pointer}
.revision-study button:disabled{cursor:default;opacity:.55}
.revision-study summary:focus-visible,.revision-study select:focus-visible,.revision-study button:focus-visible,.revision-study h4:focus{outline:3px solid #007c75;outline-offset:3px}
.revision-study [hidden]{display:none!important}
@media(max-width:600px){.revision-study{padding:14px}.revision-study button{width:100%;margin:6px 0}.revision-study article{padding:14px}}

/* Optional same-area study sequence; all actions are read-only jumps. */
.study-guide{display:block;max-width:100%;min-width:0;margin:20px 0;padding:16px 18px;border:1px solid #a9c9c3;border-radius:10px;background:#edf7f5;color:#173c51}
.study-guide summary{font-size:1.1rem;font-weight:700;line-height:1.6;cursor:pointer;min-height:44px;padding:8px 0;overflow-wrap:anywhere}
.study-guide p,.study-guide li{line-height:1.75;overflow-wrap:anywhere}
.study-guide label{display:block;font-weight:700;margin:14px 0 7px}
.study-guide select{display:block;min-width:0;max-width:100%;width:100%;min-height:48px;padding:10px 12px;border:1px solid #a9bbc9;border-radius:6px;background:#fff;color:#102e45;font:inherit}
.study-guide-stages{margin:18px 0;padding-left:24px}
.study-guide-stages>li{margin:0 0 16px;padding:8px 0;min-height:0}
.study-guide h4{font-size:1.05rem;line-height:1.6;margin:0 0 6px;color:#102e45}
.study-guide button,.study-guide-return{min-height:48px;max-width:100%;padding:11px 16px;font:inherit;line-height:1.5;white-space:normal;border:1px solid #90b8b1;border-radius:7px;background:#fff;color:#007c75;cursor:pointer}
.study-guide-return{display:block;margin:10px 0 16px}
.study-guide-status:not(:empty){padding:12px;border-left:4px solid #007c75;background:#fff}
.study-guide summary:focus-visible,.study-guide select:focus-visible,.study-guide button:focus-visible,.study-guide-status:focus,.study-guide-return:focus-visible{outline:3px solid #007c75;outline-offset:3px}
.study-guide [hidden]{display:none!important}
@media(max-width:600px){.study-guide{padding:14px}.study-guide button,.study-guide-return{width:100%}}

/* Optional study after a recorded correction; read-only and local to feedback. */
.correction-study{margin:18px 0;border:1px solid #b9d9d5;border-radius:8px;background:#f6fbfa;min-width:0;overflow-wrap:anywhere}
.correction-study>summary{min-height:48px;padding:13px 15px;font-weight:750;line-height:1.6;cursor:pointer;color:#006b66}
.correction-study>summary:focus-visible,.correction-study a:focus-visible{outline:3px solid #007c75;outline-offset:3px}
.correction-study-body{padding:0 16px 16px;line-height:1.7}
.correction-study-body h3,.correction-study-body h4,.correction-study-body h5{line-height:1.5;margin:16px 0 8px}
.correction-study-body p{margin:10px 0}
.correction-study-body ol{padding-left:24px}
.correction-study-body li{margin:8px 0}
.correction-study article{min-height:0;min-width:0;padding:12px 0;border:0;border-radius:0;background:transparent;box-shadow:none;border-bottom:1px solid #d7e5e3}
.correction-study .place-source{margin:14px 0;padding:10px;border:1px solid #c7d9d7;border-radius:6px;background:#fff}
.correction-study .place-source>summary{min-height:48px;padding:10px 0;cursor:pointer;font-weight:700}
.correction-study a{color:#006b66;overflow-wrap:anywhere}
@media(max-width:480px){.correction-study-body{padding:0 12px 12px}.correction-study>summary{padding:12px}}

/* Optional lesson-local recall; hidden source material leaves the visual and accessible trees. */
.transport-lesson > [hidden]:not([hidden="until-found"]),.transport-reference-practice [hidden]{display:none!important}
.transport-reference-practice{margin:20px 0 0;padding:15px;border:1px solid #bedbd7;border-radius:9px;background:#f0f8f6;min-width:0;overflow-wrap:anywhere}
.transport-reference-practice > summary{min-height:48px;padding:10px 2px;font-size:1rem;font-weight:750;line-height:1.6;cursor:pointer}
.transport-reference-practice p{line-height:1.7;margin:12px 0}
.transport-reference-practice-intro,.transport-reference-practice-scope{color:#52657a;font-size:.9rem}
.transport-reference-practice-position{font-weight:700;color:#006b66}
.transport-reference-practice-prompt-title{font-size:1.08rem;line-height:1.55;margin:14px 0;scroll-margin-top:18px}
.transport-reference-practice-answer{padding:14px;margin:16px 0;border-left:4px solid #007c75;background:#fff;min-height:0;min-width:0;scroll-margin-top:18px}
.transport-reference-practice-reference{font-weight:750}
.transport-reference-practice-source-scope{font-size:.88rem;color:#52657a}
.transport-reference-practice a{color:#006b66;display:inline-block;line-height:1.7;overflow-wrap:anywhere}
.transport-reference-practice button{font:inherit;line-height:1.6;min-height:48px;max-width:100%;padding:11px 14px;margin:6px 8px 6px 0;white-space:normal;border-radius:7px;cursor:pointer}
.transport-reference-practice summary:focus-visible,.transport-reference-practice button:focus-visible,.transport-reference-practice a:focus-visible,.transport-reference-practice [tabindex="-1"]:focus,.transport-lesson > h4[tabindex="-1"]:focus{outline:3px solid #007c75;outline-offset:3px}
@media(max-width:480px){.transport-reference-practice{padding:12px}.transport-reference-practice button{width:100%;margin-right:0}.transport-reference-practice-answer{padding:12px}}

@media(min-width:761px){.orientation-board[data-board="orientation-south-two-area-relationships-v1"] .orientation-sketch{grid-template-columns:repeat(2,minmax(0,1fr))}}
.revision-scope{display:grid;gap:8px;margin:18px 0}.revision-scope label{font-weight:700}.revision-scope select{width:100%;min-width:0}.revision-scope p{margin:0}

/* Optional case choice inside the existing spoken-practice panel. */
.explain-back-choice-controls{margin:1rem 0}
.explain-back-choice-controls label{display:block;font-weight:700;margin-bottom:.45rem}
.explain-back-choice{display:block;width:100%;max-width:100%;min-width:0;min-height:48px;padding:.65rem;font:inherit;border:1px solid currentColor;border-radius:6px;background:#fff;color:inherit}
.explain-back-study-first[hidden]{display:none!important}
.explain-back-fictional-label{font-weight:700}
.explain-back-case-request{margin:1rem 0;padding:.8rem 1rem;border-left:3px solid currentColor;background:rgba(0,128,128,.05)}
.explain-back-case-steps{padding-left:1.5rem}
.explain-back-case-steps li{margin:.8rem 0}
.explain-back-case-steps h6{font:inherit;font-weight:700;margin:.4rem 0}

.group-recall-method select{min-height:48px}
