/* v0.10 — guided lessons, a personal progress journal and conversation workspace. */
.lesson-intro {display:grid;grid-template-columns:minmax(0,1fr) 180px;align-items:center;gap:38px;max-width:none;padding:34px 0 25px;margin-bottom:0}
.lesson-intro-copy {min-width:0}
.lesson-intro h1 {font-size:43px;max-width:720px}
.reader-cover {background:var(--cover);border:1px solid #243d2510;border-radius:5px 16px 16px 5px;padding:17px 14px 7px;transform:rotate(5deg);box-shadow:0 6px 0 -3px #a5ae9a,0 15px 28px #27382c0a;height:166px;overflow:hidden;color:var(--art-ink)}
.reader-cover>span {display:block;font-size:8px;font-weight:650;letter-spacing:1.5px}
.reader-cover .course-art {height:130px;width:100%}
.reader-toolbar {gap:12px}
.reader-kicker {flex:1;text-align:center}
.reader-toolbar>.reader-size {display:flex;align-items:center;gap:8px;border:1px solid var(--border);background:var(--surface);padding:9px 12px;font-size:11px;min-height:43px}
.reader-size[aria-pressed=true] {background:var(--accent-soft);border-color:var(--accent)}
.type-symbol {font-family:var(--display);font-size:19px;line-height:1}
.lesson-stage-tabs {position:sticky;top:148px;z-index:4;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:13px 0;margin-bottom:23px;background:var(--canvas);border-bottom:1px solid var(--border)}
.lesson-stage-tab {display:flex;align-items:center;gap:14px;min-width:0;padding:16px 19px;background:transparent;border:1px solid transparent;border-radius:8px;text-align:left;color:var(--body);transition:background .18s,border-color .18s}
.lesson-stage-tab:hover {background:var(--surface-alt)}
.lesson-stage-tab[aria-selected=true] {background:var(--surface);border-color:var(--border);box-shadow:0 3px 8px #29452e05;color:var(--text)}
.stage-number {display:grid;place-items:center;width:33px;height:33px;flex:none;border-radius:50%;border:1px solid var(--border);font-size:11px}
.lesson-stage-tab[aria-selected=true] .stage-number {background:var(--accent);border-color:var(--accent);color:var(--surface)}
.stage-copy {flex:1;min-width:0}
.stage-copy strong {display:block;font-size:13px;font-weight:650}
.stage-copy small {display:block;font-size:10px;color:var(--muted);margin-top:6px;line-height:1.4}
.lesson-stage-tab>.icon {width:19px;height:19px;opacity:.6}
.lesson-layout {gap:27px}
.lesson-outline {top:272px}
.lesson-reading {margin-bottom:0}
.lesson-reading h3,.lesson-exercise h2,.lesson-feedback {scroll-margin-top:272px}
.lesson-stage-panel>h2 {font-size:34px;line-height:1.2;margin:0 0 18px}
.lesson-stage-panel>p:not(.muted,.practice-counter,.save-status) {font-size:15px;line-height:1.85}
.lesson-exercise {background:var(--surface);padding:36px 38px}
.lesson-stage-panel .practice-checklist {padding:20px 22px 20px 38px;background:var(--surface-alt);border:1px solid var(--border);border-radius:7px;margin:23px 0;font-size:14px}
.lesson-stage-panel textarea {min-height:235px;font-size:16px;line-height:1.9;background:var(--surface)}
.practice-counter {margin:8px 0 16px;font-size:11px;line-height:1.5;color:var(--muted);text-align:right;font-variant-numeric:tabular-nums}
.lesson-step-actions {display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;border-top:1px solid var(--border);padding-top:25px;margin-top:27px}
.lesson-step-actions>.primary:only-child {margin-left:auto}
.lesson-step-actions button {font-size:12px}
.lesson-stage-panel .save-status {margin-bottom:0}
.review-practice {margin-bottom:25px;font-size:12px;padding:0;min-height:30px}
#quizHeading {padding:0;border:0;margin-top:0}
.lesson-stage-panel fieldset {padding:23px 0 0;border-top:1px solid var(--border);margin:24px 0}
.lesson-stage-panel legend {font-size:15px;line-height:1.8;font-weight:600;float:left;width:100%;margin:0 0 14px}
.lesson-stage-panel fieldset .quiz-option:first-of-type {clear:both}
.lesson-stage-panel .quiz-option {padding:17px;font-size:14px;gap:13px}
.lesson-feedback {background:var(--surface);border-color:var(--border);border-top:4px solid var(--peach-text);padding:31px}
.lesson-feedback.passed {background:var(--surface);border-top-color:var(--accent)}
.lesson-feedback>h2 {font-size:35px}
.lesson-feedback>p {font-size:13px}
.answer-feedback {border-top:1px solid var(--border);padding:19px 0;margin:0!important}
.answer-feedback summary {font-size:14px;line-height:1.8;font-weight:600}
.answer-feedback.correct summary {color:var(--accent)}
.answer-feedback.needs-review summary {color:var(--peach-text)}
.answer-feedback p {font-size:14px;line-height:1.9;padding-left:17px}
.lesson-feedback>details:not(.answer-feedback) {margin-top:22px}
.lesson-feedback>.primary {margin-top:22px}
.large-reading .lesson-reading p,.large-reading .lesson-stage-panel>p:not(.muted,.practice-counter,.save-status),.large-reading .practice-checklist,.large-reading .quiz-option,.large-reading .lesson-stage-panel legend,.large-reading .lesson-stage-panel textarea,.large-reading .answer-feedback p {font-size:18px;line-height:1.95}
.large-reading .worked-example blockquote {font-size:27px}
.large-reading .lesson-reading h3 {font-size:32px}
.lesson-focus .lesson-stage-tabs {top:72px}
.lesson-focus .lesson-outline {top:195px}
.lesson-focus .lesson-reading h3,.lesson-focus .lesson-exercise h2,.lesson-focus .lesson-feedback {scroll-margin-top:195px}
/* A journal of actual work, with no invented activity or empty scores. */
.journal-hero {display:grid;grid-template-columns:minmax(0,1fr) 190px;align-items:center;gap:50px;background:var(--mint);border:1px solid var(--border);padding:38px 42px;position:relative;overflow:hidden;border-radius:12px}
.journal-hero-copy {position:relative;z-index:1}
.journal-hero .eyebrow {font-size:9px;letter-spacing:1.7px;margin-bottom:17px}
.journal-hero h2 {font-family:var(--display);font-size:42px;font-weight:400;letter-spacing:-1.2px;line-height:1.12;max-width:550px}
.journal-hero p:not(.eyebrow) {font-size:14px;line-height:1.9;max-width:570px;margin:17px 0 23px}
.journal-actions {display:flex;gap:23px;align-items:center;flex-wrap:wrap}
.journal-actions .text-button {font-size:12px}
.journal-completion,.debrief-score {--completion:0;width:180px;height:180px;border-radius:50%;padding:6px;background:conic-gradient(var(--accent) calc(var(--completion)*1%),var(--border) 0);position:relative}
.journal-completion::after {content:"";position:absolute;inset:-14px;border:1px dashed var(--accent);border-radius:50%;opacity:.3;pointer-events:none}
.journal-completion>div,.debrief-score>div {width:100%;height:100%;border-radius:50%;background:var(--mint);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px}
.journal-completion .icon {width:22px;height:22px;color:var(--accent)}
.journal-completion strong,.debrief-score strong {font-family:var(--display);font-size:48px;font-weight:400;line-height:1;letter-spacing:-2px;color:var(--text)}
.journal-completion span,.debrief-score span {font-size:10px;color:var(--body)}
.journal-milestones {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:23px 0 41px}
.module-milestone {display:grid;grid-template-columns:34px minmax(0,1fr);gap:12px;text-align:left;background:transparent;border:1px solid var(--border);border-radius:9px;padding:21px;color:var(--text);transition:background .18s,border-color .18s}
.module-milestone:hover {background:var(--surface);border-color:var(--accent)}
.milestone-icon {width:34px;height:34px;border-radius:50%;border:1px solid var(--border);display:grid;place-items:center;color:var(--accent)}
.milestone-icon .icon {width:17px;height:17px}
.milestone-copy {min-width:0}
.milestone-copy strong {display:block;font-family:var(--display);font-size:22px;font-weight:400;letter-spacing:-.4px;line-height:1.2}
.milestone-copy small {display:block;font-size:10px;line-height:1.6;color:var(--muted);margin-top:7px}
.milestone-segments {grid-column:1/-1;display:flex;gap:5px;margin-top:3px}
.milestone-segments i {height:4px;background:var(--border);border-radius:4px;flex:1}
.milestone-segments .filled {background:var(--accent)}
.module-milestone.complete .milestone-icon {background:var(--accent);color:var(--surface);border-color:var(--accent)}
.journal-section-heading {display:flex;align-items:end;justify-content:space-between;gap:20px;margin:34px 0 23px}
.journal-section-heading h2 {font-family:var(--display);font-weight:400;font-size:31px;letter-spacing:-.7px;line-height:1.2;margin:0}
.journal-section-heading .eyebrow {font-size:9px;margin-bottom:12px}
.journal-section-heading>.muted {font-size:11px;max-width:300px;line-height:1.7;margin:0;text-align:right}
.journal-filters {display:flex;gap:9px;flex-wrap:wrap}
.filter-pill {border:1px solid var(--border);background:transparent;color:var(--body);border-radius:30px;padding:9px 17px;font-size:12px;min-height:40px}
.filter-pill:hover {border-color:var(--accent)}
.filter-pill[aria-pressed=true] {background:var(--accent);border-color:var(--accent);color:var(--surface)}
#progressFilterCount {font-size:11px;margin:17px 0}
.skill-collection {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.skill-card {padding:24px 23px 22px;border-radius:10px;background:var(--surface);border:1px solid var(--border);position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:start}
.skill-card::before {content:"";height:4px;position:absolute;inset:0 0 auto;background:var(--cover)}
.skill-card-top {display:flex;justify-content:space-between;align-items:center;width:100%;gap:10px;margin-bottom:23px}
.skill-number {font-size:11px;letter-spacing:1px;color:var(--muted)}
.skill-card .badge {font-size:8px}
.skill-card h3 {font-family:var(--display);font-size:26px;font-weight:400;line-height:1.2;letter-spacing:-.6px;margin-bottom:8px}
.skill-description {font-size:12px;line-height:1.7;min-height:41px;margin:0 0 19px;flex:1}
.skill-score {display:flex;gap:12px;align-items:center;margin:10px 0 17px}
.skill-score strong {font-family:var(--display);font-size:35px;font-weight:400;letter-spacing:-.9px}
.skill-score>span {font-size:10px;line-height:1.6;max-width:105px;color:var(--muted)}
.skill-card progress,.unscored-track {width:100%;height:4px;margin:0;background:var(--border);border-radius:4px}
.skill-card .muted {font-size:11px;margin:14px 0 22px}
.skill-card .text-button {border-top:1px solid var(--border);border-radius:0;width:100%;justify-content:space-between;padding:16px 0 0;font-size:12px;min-height:35px}
.journal-empty {grid-column:1/-1;text-align:center;border:1px dashed var(--border);border-radius:10px;padding:37px 25px;background:var(--surface)}
.journal-empty>.icon {margin:0 auto 18px;color:var(--accent);width:28px;height:28px}
.journal-empty h3 {font-family:var(--display);font-size:29px;font-weight:400;letter-spacing:-.7px}
.journal-empty p {font-size:13px;margin:10px 0 21px}
.journal-history {background:var(--surface);border-radius:11px}
.attempt-timeline {list-style:none;padding:9px 27px;margin:0;border:1px solid var(--border);border-radius:11px}
.journal-entry {display:flex;align-items:center;gap:19px;padding:22px 0;border-bottom:1px solid var(--border)}
.journal-entry:last-child {border:0}
.journal-score {width:56px;height:56px;flex:none;border-radius:50%;display:grid;place-items:center;background:var(--peach);color:var(--peach-text);font-family:var(--display);font-size:22px;letter-spacing:-.6px}
.journal-score.passed {background:var(--mint);color:var(--mint-text)}
.journal-entry-copy {min-width:0;flex:1}
.journal-entry-copy strong {font-size:13px;font-weight:600;line-height:1.7;display:block}
.journal-entry time {font-size:11px;color:var(--muted);display:block;margin-top:6px}
/* A conversational workspace with explicit turn history and choice state. */
.buyer-identity {display:flex;align-items:center;gap:13px;margin:24px 0;padding:18px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.buyer-avatar {display:grid;place-items:center;width:44px;height:44px;flex:none;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-family:var(--display);font-size:18px}
.buyer-identity>div {flex:1;min-width:0}
.buyer-identity strong {display:block;font-size:14px;font-weight:600}
.buyer-identity>div>span {font-size:12px;color:var(--muted);display:block;margin-top:6px;line-height:1.7}
.buyer-identity>.badge {font-size:8px;background:var(--surface-alt)}
.conversation-rail {list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:20px 0;margin:10px 0;border-bottom:1px solid var(--border);gap:8px}
.turn-stop {display:flex;align-items:center;gap:11px;padding:11px;background:none;border:1px solid transparent;border-radius:8px;text-align:left;color:var(--muted);width:100%}
button.turn-stop:hover {border-color:var(--accent);background:var(--surface)}
.turn-number {width:31px;height:31px;display:grid;place-items:center;flex:none;font-size:11px;border:1px solid var(--border);border-radius:50%}
.turn-number .icon {width:15px;height:15px}
.turn-stop strong {font-size:12px;font-weight:600;display:block;line-height:1.5}
.turn-stop small {font-size:10px;margin-top:4px;display:block}
.conversation-rail .saved .turn-number {background:var(--accent-soft);border-color:var(--accent-soft);color:var(--accent)}
.conversation-rail .current .turn-stop {border-color:var(--accent);background:var(--surface);color:var(--text)}
.conversation-rail .current .turn-number {background:var(--accent);border-color:var(--accent);color:var(--surface)}
.sim-conversation-layout {grid-template-columns:minmax(0,1.4fr) minmax(250px,.85fr);gap:22px;position:relative}
.sim-conversation-layout:has(.sim-decision) .sim-decision {grid-column:1;grid-row:1}
.sim-conversation-layout:has(.sim-decision) .sim-transcript {grid-column:2;grid-row:1;position:sticky;top:100px;max-height:calc(100dvh - 125px);overflow:auto;overscroll-behavior:contain}
.sim-conversation-layout:not(:has(.sim-decision)) {grid-template-columns:1fr}
.sim-transcript>h3 {font-size:14px;letter-spacing:.2px;margin-bottom:20px}
.sim-transcript .sim-bubble {padding:15px}
.sim-transcript .sim-bubble p {font-size:13px}
.sim-transcript .sim-bubble.seller {margin-left:12px}
.sim-turn {scroll-margin-top:100px}
.sim-turn>summary {padding:11px 0;border-bottom:1px solid var(--border);font-size:12px;line-height:1.8;color:var(--text)}
.sim-decision {padding:31px}
.sim-decision>.eyebrow {font-size:10px}
.sim-decision>.sim-bubble.customer {background:var(--mint);border-color:transparent;padding:23px;border-radius:10px 10px 10px 2px;margin:21px 0 25px}
.sim-decision>.sim-bubble.customer p {font-family:var(--display);font-size:22px;font-weight:400;line-height:1.65;letter-spacing:-.25px;color:var(--text)}
.sim-decision legend {font-size:15px}
.response-choice {position:relative;display:grid;grid-template-columns:31px minmax(0,1fr) 16px;gap:13px;padding:18px;align-items:start;border-radius:8px;margin:13px 0;font-size:14px}
.response-choice input {grid-column:3;grid-row:1;margin-top:7px;width:16px;height:16px}
.response-letter {grid-column:1;grid-row:1;width:31px;height:31px;display:grid;place-items:center;border:1px solid var(--border);border-radius:6px;font-size:11px;color:var(--muted)}
.response-choice>span:last-child {grid-column:2;grid-row:1}
.response-choice:has(input:checked) .response-letter {border-color:var(--accent);background:var(--accent);color:var(--surface)}
.response-selection {font-size:12px;color:var(--muted);line-height:1.8;margin:17px 0}
.sim-decision>.primary {min-height:47px;font-size:13px}
.sim-decision .sim-end {margin-top:26px}
.sim-debrief {padding:34px;border-color:var(--border);border-top:4px solid var(--accent)}
.debrief-intro {display:grid;grid-template-columns:minmax(0,1fr) 160px;gap:45px;align-items:center;margin-bottom:31px}
.debrief-intro h2 {font-size:38px;line-height:1.15;letter-spacing:-1px;max-width:650px}
.debrief-intro p {font-size:14px;line-height:1.9}
.debrief-score {width:145px;height:145px;padding:5px}
.debrief-score>div {background:var(--surface)}
.debrief-score strong {font-size:40px}
.debrief-score span {font-size:9px}
.sim-skill {padding:23px;background:var(--surface);border-radius:8px;gap:13px 20px}
.sim-skill progress {grid-column:1/-1;height:4px}
.sim-reflection {margin-top:30px;padding-top:28px}
.sim-reflection label {font-family:var(--display);font-size:24px;line-height:1.5;font-weight:400;letter-spacing:-.4px}
.sim-reflection textarea {font-family:"Segoe UI",Arial,sans-serif;font-size:15px;margin-top:10px;letter-spacing:0}
[data-theme=dark] .reader-cover {filter:brightness(.82) saturate(.75)}
[data-theme=dark] .lesson-stage-tab[aria-selected=true] .stage-number,[data-theme=dark] .filter-pill[aria-pressed=true],[data-theme=dark] .module-milestone.complete .milestone-icon,[data-theme=dark] .conversation-rail .current .turn-number,[data-theme=dark] .response-choice:has(input:checked) .response-letter {color:#17301f}
@media(max-width:1200px) {
  .lesson-intro {grid-template-columns:minmax(0,1fr) 145px;gap:24px}
  .lesson-intro h1 {font-size:38px}
  .reader-cover {height:145px;padding:15px 12px 5px}
  .reader-cover .course-art {height:110px}
  .reader-kicker {font-size:8px;letter-spacing:1.1px}
  .lesson-stage-tab {padding:15px 12px;gap:10px}
  .lesson-stage-tab>.icon {display:none}
  .stage-copy small {font-size:9px}
  .journal-hero {padding:32px;gap:30px;grid-template-columns:minmax(0,1fr) 165px}
  .journal-hero h2 {font-size:37px}
  .journal-completion {width:155px;height:155px}
  .journal-completion strong {font-size:43px}
  .journal-milestones,.skill-collection {gap:15px}
  .module-milestone {padding:19px 17px;gap:10px}
  .milestone-copy strong {font-size:21px}
  .skill-card {padding:23px 20px}
  .skill-card h3 {font-size:24px}
  .skill-card-top {gap:6px}
  .skill-card .badge {font-size:7px}
  .sim-conversation-layout {grid-template-columns:minmax(0,1.3fr) minmax(230px,.85fr);gap:18px}
  .sim-decision {padding:25px}
  .turn-stop {gap:8px;padding:9px}
  .turn-stop strong {font-size:11px}
  .turn-stop small {font-size:9px}
}
@media(max-width:1000px) {
  .lesson-stage-tabs {top:140px}
  .lesson-outline {top:260px}
  .lesson-reading h3,.lesson-exercise h2,.lesson-feedback {scroll-margin-top:260px}
  .journal-milestones {gap:13px}
  .skill-collection {grid-template-columns:repeat(2,minmax(0,1fr))}
  .skill-card .badge {font-size:8px}
  .sim-conversation-layout:has(.sim-decision) .sim-transcript {top:90px}
}
@media(max-width:800px) {
  .reader-kicker {display:none}
  .reader-toolbar>.button:first-child {margin-right:auto}
  .lesson-layout {grid-template-columns:160px minmax(0,1fr);gap:20px}
  .lesson-exercise {padding:28px}
  .milestone-copy strong {font-size:20px}
  .milestone-copy small {font-size:9px}
  .module-milestone {padding:17px 14px;grid-template-columns:28px minmax(0,1fr);gap:8px}
  .milestone-icon {width:28px;height:28px}
  .sim-conversation-layout {grid-template-columns:minmax(0,1fr)}
  .sim-conversation-layout:has(.sim-decision) .sim-transcript {grid-column:1;grid-row:2;position:static;max-height:none;overflow:visible}
  .sim-conversation-layout:has(.sim-decision) .sim-decision {grid-column:1;grid-row:1}
}
@media(max-width:700px) {
  .reader-toolbar {gap:8px}
  .reader-toolbar>.reader-size,.reader-toolbar>.reader-focus {padding:9px 10px;font-size:10px;gap:6px;min-height:41px}
  .reader-toolbar>.button:first-child {font-size:11px}
  .reader-size .type-symbol {font-size:17px}
  .reader-toolbar>.reader-focus .icon {width:15px;height:15px}
  .lesson-intro {grid-template-columns:1fr;gap:0;padding:27px 0 14px}
  .lesson-intro h1 {font-size:37px;line-height:1.14}
  .reader-cover {display:none}
  .lesson-stage-tabs {top:127px;gap:4px;margin-bottom:22px;padding:9px 0}
  .lesson-stage-tab {padding:12px 8px;gap:8px;align-items:center;justify-content:center;min-height:58px}
  .stage-number {width:25px;height:25px;font-size:9px}
  .stage-copy {flex:0 1 auto}
  .stage-copy strong {font-size:12px}
  .stage-copy small {display:none}
  .lesson-layout {grid-template-columns:1fr;gap:20px}
  .lesson-outline {padding:16px;position:static}
  #lessonPlayer:not([data-stage=read]) .lesson-outline {display:none}
  .lesson-reading h3,.lesson-exercise h2,.lesson-feedback {scroll-margin-top:220px}
  .lesson-exercise {padding:27px 22px}
  .lesson-stage-panel>h2 {font-size:31px;line-height:1.2}
  .lesson-stage-panel>p:not(.muted,.practice-counter,.save-status) {font-size:15px}
  .lesson-stage-panel .practice-checklist {padding:20px 18px 20px 32px;font-size:14px}
  .lesson-stage-panel textarea {font-size:16px;min-height:240px}
  .practice-counter {font-size:11px;line-height:1.7}
  .lesson-step-actions {gap:13px;flex-direction:column-reverse;align-items:stretch}
  .lesson-step-actions>.primary:only-child {margin-left:0}
  .lesson-step-actions button {width:100%;justify-content:center;font-size:12px;min-height:45px}
  .lesson-stage-panel .quiz-option {padding:15px;font-size:14px}
  .lesson-stage-panel legend {font-size:14px}
  .lesson-feedback {padding:26px 22px}
  .lesson-feedback>h2 {font-size:31px}
  .answer-feedback summary {font-size:14px}
  .lesson-focus .lesson-stage-tabs {top:63px}
  .lesson-focus .lesson-reading h3,.lesson-focus .lesson-exercise h2,.lesson-focus .lesson-feedback {scroll-margin-top:155px}
  .large-reading .lesson-reading p,.large-reading .lesson-stage-panel>p:not(.muted,.practice-counter,.save-status),.large-reading .practice-checklist,.large-reading .quiz-option,.large-reading .lesson-stage-panel legend,.large-reading .lesson-stage-panel textarea,.large-reading .answer-feedback p {font-size:18px}
  .journal-hero {grid-template-columns:1fr;padding:29px 26px;gap:29px}
  .journal-hero-copy {order:1}
  .journal-hero h2 {font-size:36px;line-height:1.14}
  .journal-hero .eyebrow {font-size:8px;margin-bottom:16px}
  .journal-hero p:not(.eyebrow) {font-size:14px;margin:17px 0 24px}
  .journal-completion {width:112px;height:112px;padding:4px;margin:7px 0 4px 10px}
  .journal-completion::after {inset:-10px}
  .journal-completion>div {gap:4px}
  .journal-completion .icon {width:16px;height:16px}
  .journal-completion strong {font-size:32px;letter-spacing:-1px}
  .journal-completion span {font-size:8px}
  .journal-actions {gap:16px;align-items:start;flex-direction:column}
  .journal-actions .primary {font-size:12px}
  .journal-milestones {grid-template-columns:1fr;gap:12px;margin:20px 0 33px}
  .module-milestone {grid-template-columns:34px minmax(0,1fr) 42px;padding:20px;gap:13px;align-items:center}
  .milestone-icon {width:34px;height:34px}
  .milestone-copy strong {font-size:23px}
  .milestone-copy small {font-size:11px;margin-top:6px}
  .milestone-segments {grid-column:3;margin-top:0;gap:4px}
  .milestone-segments i {height:5px}
  .journal-section-heading {display:block;margin:32px 0 22px}
  .journal-section-heading h2 {font-size:31px}
  .journal-section-heading>.muted {text-align:left;font-size:12px;margin:13px 0 0;max-width:none}
  .journal-filters {gap:8px}
  .filter-pill {font-size:12px;padding:9px 15px;min-height:42px}
  .skill-collection {grid-template-columns:1fr;gap:17px}
  .skill-card {padding:25px}
  .skill-card-top {margin-bottom:20px}
  .skill-card h3 {font-size:29px}
  .skill-description {font-size:14px;min-height:0;margin-bottom:15px}
  .skill-score {gap:15px;margin:8px 0 18px}
  .skill-score strong {font-size:38px}
  .skill-score>span {font-size:11px;max-width:none}
  .skill-card .badge {font-size:9px}
  .skill-card .text-button {font-size:13px}
  .skill-card .muted {font-size:12px}
  .journal-empty {padding:30px 23px}
  .journal-empty h3 {font-size:28px}
  .journal-empty p {font-size:14px}
  .attempt-timeline {padding:6px 21px}
  .journal-entry {display:grid;grid-template-columns:48px minmax(0,1fr);gap:12px;padding:22px 0}
  .journal-score {width:48px;height:48px;font-size:20px}
  .journal-entry-copy strong {font-size:13px}
  .journal-entry time {font-size:11px;line-height:1.7}
  .journal-entry>.badge {grid-column:2;justify-self:start;font-size:8px}
  .buyer-identity {flex-wrap:wrap;gap:12px;padding:18px 0;margin:22px 0}
  .buyer-identity>.badge {margin-left:56px}
  .buyer-identity strong {font-size:14px}
  .buyer-identity>div>span {font-size:12px}
  .conversation-rail {gap:4px;padding:15px 0;margin:4px 0}
  .turn-stop {flex-direction:column;gap:8px;padding:10px 4px;text-align:center}
  .turn-number {width:28px;height:28px;font-size:10px}
  .turn-stop strong {font-size:10px}
  .turn-stop small {font-size:9px;margin-top:4px}
  .sim-conversation-layout {gap:20px}
  .sim-conversation-layout:has(.sim-decision) .sim-transcript {position:static;max-height:none;overflow:visible}
  .sim-decision {padding:24px 22px}
  .sim-decision h2 {font-size:31px}
  .sim-decision>.sim-bubble.customer {padding:21px}
  .sim-decision>.sim-bubble.customer p {font-size:22px;line-height:1.65}
  .response-choice {grid-template-columns:26px minmax(0,1fr) 15px;gap:10px;padding:15px;font-size:14px;line-height:1.8}
  .response-letter {width:26px;height:26px;font-size:10px;margin-top:3px}
  .response-choice input {width:15px;height:15px}
  .response-selection {font-size:12px}
  .sim-debrief {padding:27px 22px}
  .debrief-intro {grid-template-columns:1fr;gap:20px;margin-bottom:26px}
  .debrief-intro h2 {font-size:34px}
  .debrief-score {width:120px;height:120px;grid-row:1}
  .debrief-score strong {font-size:34px}
  .debrief-score span {font-size:8px}
  .sim-skill {padding:21px}
  .sim-reflection label {font-size:25px}
}
@media(max-width:380px) {
  .reader-toolbar {gap:6px}
  .reader-toolbar>.reader-size {padding:9px 8px}
  .reader-size>span:last-child {display:none}
  .reader-toolbar>.reader-focus {font-size:10px;padding:9px}
  .lesson-intro h1 {font-size:34px}
  .lesson-stage-tab {gap:6px;padding:11px 6px}
  .stage-copy strong {font-size:11px}
  .stage-number {width:23px;height:23px;font-size:9px}
  .lesson-exercise,.lesson-feedback {padding:25px 19px}
  .journal-hero {padding:27px 23px}
  .journal-hero h2 {font-size:33px}
  .skill-card {padding:23px}
  .module-milestone {padding:19px 17px;gap:10px}
  .milestone-copy strong {font-size:22px}
  .milestone-copy small {font-size:10px}
  .response-choice {grid-template-columns:23px minmax(0,1fr) 14px;gap:8px;padding:13px;font-size:13px}
  .response-letter {width:23px;height:25px;font-size:9px}
  .response-choice input {width:14px;height:14px}
  .turn-stop small {font-size:8px}
  .sim-decision {padding:23px 19px}
}
@media(prefers-reduced-motion:reduce) {
  .lesson-stage-tab,.module-milestone {transition:none}
}
