/* The established student reading surface. Teacher authoring keeps its own shell. */
.student-mode,
.reader-frame {
  --ink: #26221b;
  --muted: #5a5346;
  --paper: #f4efe4;
  --surface: #fbf8f1;
  --line: #ded5c0;
  --green: #0c4e54;
  --gold: #b07a24;
  --soft: #f3e9d2;
  --radius: 16px;
  color: var(--ink);
  font-family: "General Sans", system-ui, sans-serif;
}
.student-mode {
  background: #f4efe4;
  background-image:
    radial-gradient(circle at 18% -10%, #0c4e540d, transparent 42%),
    radial-gradient(circle at 92% 4%, #b07a240f, transparent 40%);
  min-height: 100vh;
  -webkit-font-smoothing: antialiased;
}
:is(.student-mode, .cs-plan-preview) .topbar {
  max-width: 1180px;
  height: auto;
  margin: 76px auto 18px;
  padding: 0 30px;
  background: transparent;
  border: 0;
}
:is(.student-mode, .cs-plan-preview) .brand {
  gap: 11px;
  color: #0c4e54;
}
.reader-mark {
  width: 34px;
  height: 34px;
  flex: none;
}
.reader-brand-name {
  font:
    700 17px "Boska",
    Georgia,
    serif;
  color: #5a5346;
}
:is(.student-mode, .cs-plan-preview) .learning {
  max-width: 1180px;
  margin: 0 auto 48px;
  padding: 0 30px;
}
:is(.student-mode, .cs-plan-preview) .learning .page-heading {
  margin: 0 0 30px;
}
:is(.student-mode, .cs-plan-preview) h1 {
  font-family: "Boska", Georgia, serif;
  font-size: clamp(28px, 3vw, 36px);
  font-weight: 700;
  letter-spacing: -0.015em;
}
:is(.student-mode, .cs-plan-preview) .eyebrow {
  color: #b07a24;
  letter-spacing: 0.09em;
  font-size: 12px;
}
:is(.student-mode, .cs-plan-preview) .learning-content {
  max-width: none;
}
:is(.student-mode, .cs-plan-preview) .primary,
.reader-frame .primary {
  background: #0c4e54;
  border-color: #0c4e54;
  color: #fbf8f1;
  border-radius: 99px;
  padding: 11px 19px;
}
:is(.student-mode, .cs-plan-preview) .primary:hover,
.reader-frame .primary:hover {
  background: #083e43;
}
:is(.student-mode, .cs-plan-preview) .panel {
  background: #fbf8f1;
  border-color: #ded5c0;
}
:is(.student-mode, .cs-plan-preview) .notice {
  max-width: 1120px;
  margin: 12px auto;
  border-radius: 8px;
}
:is(.student-mode, .cs-plan-preview) .app-footer {
  max-width: 1180px;
  margin: auto;
  border: 0;
  background: transparent;
}
:is(.student-mode, .cs-plan-preview) .app-footer > span {
  display: none;
}
:is(.student-mode, .cs-plan-preview) .app-footer a {
  color: #5a5346;
}
.reader-lessons-toggle {
  /* The topbar already reserves this document-space slot. Scroll with it so
     navigation cannot cover source text or status messages below the header. */
  position: absolute;
  top: 14px;
  left: 14px;
  z-index: 20;
  color: #0c4e54;
  background: #fbf8f1;
  border-color: #b7d2ce;
  padding: 12px 16px;
}
.reader-menu {
  position: relative;
}
.reader-menu > summary {
  list-style: none;
  width: 38px;
  height: 38px;
  border: 1px solid #ded5c0;
  border-radius: 50%;
  background: #fbf8f1;
  display: grid;
  place-items: center;
  color: #5a5346;
  cursor: pointer;
  font-size: 23px;
}
.reader-menu > summary::-webkit-details-marker {
  display: none;
}
.reader-menu-links {
  position: absolute;
  right: 0;
  top: 46px;
  width: 220px;
  z-index: 25;
  display: grid;
  gap: 4px;
  padding: 9px;
  border: 1px solid #ded5c0;
  border-radius: 12px;
  background: #fbf8f1;
  box-shadow: 0 8px 28px #26221b18;
}
.reader-menu-links a {
  padding: 10px;
  color: #26221b;
}
.reader-lessons-drawer {
  margin: 0;
  border: 0;
  border-right: 1px solid #ded5c0;
  border-radius: 0;
  background: #fbf8f1;
  color: #26221b;
  width: min(340px, 90vw);
  height: 100dvh;
  max-height: 100dvh;
  padding: 22px;
}
.reader-lessons-drawer > button {
  width: 100%;
  justify-content: flex-start;
  text-align: left;
  flex-direction: column;
  align-items: flex-start;
  margin: 5px 0;
}
.reader-lessons-drawer::backdrop {
  background: #26221b33;
}
.reader-frame {
  container-type: inline-size;
  container-name: reader;
}
.reader-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(18rem, 1fr);
  align-items: start;
  gap: 26px;
}
.reader-passage,
.reader-question-panel {
  min-width: 0;
  background: #fbf8f1;
  border: 1px solid #ded5c0;
  border-radius: 16px;
  box-shadow:
    0 1px 2px #26221b0d,
    0 12px 40px -18px #26221b38;
}
.reader-passage {
  padding: 36px clamp(24px, 3vw, 42px);
}
.reader-text {
  font:
    400 20px/1.75 "Source Serif 4",
    Georgia,
    serif;
  color: #332e25;
  overflow-wrap: break-word;
}
.reader-text p {
  white-space: pre-line;
  margin: 0 0 1.65em;
}
.reader-text p:last-child {
  margin-bottom: 0;
}
.reader-selectable {
  white-space: normal;
}
.reader-passage-choice {
  position: relative;
  display: block;
  font: inherit;
  text-align: left;
  white-space: pre-wrap;
  color: inherit;
  border: 1.5px solid transparent;
  border-radius: 10px;
  background: transparent;
  padding: 7px 10px;
  margin: 0 -11px 1.3em;
  width: calc(100% + 22px);
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}
.reader-selectable > :last-child {
  margin-bottom: 0;
}
.reader-passage-choice:hover {
  background: #f3e9d2;
  border-color: #cba253;
}
.reader-passage-choice[aria-pressed="true"] {
  background: #f3e9d2;
  border-color: #b07a24;
}
.reader-passage-choice:disabled {
  opacity: 1;
  cursor: default;
}
.reader-passage-choice:disabled:not([aria-pressed="true"]):hover {
  background: transparent;
  border-color: transparent;
}
.reader-question-panel {
  position: sticky;
  top: 20px;
  padding: 23px;
}
.reader-question-panel .task {
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}
.reader-question {
  background: #e4eeec;
  border-left: 4px solid #0c4e54;
  border-radius: 11px;
  padding: 20px;
  margin-bottom: 22px;
}
.reader-question-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}
.reader-question .eyebrow {
  color: #0c4e54;
  font-size: 12px;
  letter-spacing: 0.08em;
  margin: 0;
}
.reader-question h2 {
  margin: 0;
  font:
    700 clamp(21px, 2vw, 26px)/1.35 "General Sans",
    system-ui,
    sans-serif;
  letter-spacing: -0.01em;
}
.reader-frame .reader-help {
  flex: none;
  padding: 5px 11px;
  border: 1px solid #0c4e54;
  border-radius: 99px;
  background: #fbf8f1;
  color: #0c4e54;
  font-size: 12px;
  font-weight: 600;
}
.reader-directions {
  font-size: 14px;
  color: #5a5346;
  line-height: 1.5;
  margin: 14px 0 0;
}
.reader-selection {
  border-top: 1px solid #ded5c0;
  padding-top: 18px;
  font-size: 13px;
  color: #5a5346;
}
.reader-selection.selected {
  color: #704a0a;
  font-weight: 600;
}
.reader-frame .task > .toolbar {
  display: block;
  margin-top: 18px;
}
.reader-frame .task > .toolbar .primary {
  width: 100%;
}
.reader-frame .task .choice {
  font-family: "General Sans", system-ui, sans-serif;
  background: #fbf8f1;
  border: 1.5px solid #ded5c0;
  border-radius: 11px;
  font-size: 14px;
  padding: 12px;
}
.reader-frame .task .choice[aria-pressed="true"] {
  border-color: #b07a24;
  background: #f3e9d2;
  padding: 12px;
}
.reader-frame .choice-letter {
  border-radius: 7px;
  background: #efe8d8;
  border-color: #ded5c0;
  margin-right: 2px;
}
.reader-frame .task .choice:disabled {
  opacity: 1;
}
.reader-frame .slot {
  background: #f4efe4;
  border-color: #ded5c0;
}
.reader-frame .piece {
  background: #fbf8f1;
}
.reader-frame .slot.correct {
  background: #e7f5ec;
  border-color: #afdfc1;
}
.reader-actions {
  margin-top: 18px;
}
.reader-actions button {
  font-size: 13px;
  color: #5a5346;
  padding: 6px;
}
.reader-progress {
  border-top: 1px solid #ded5c0;
  padding-top: 14px;
  margin-top: 18px;
}
.reader-progress p {
  margin-bottom: 8px;
  font-size: 12px;
}
.reader-progress .progress-track {
  height: 4px;
  margin: 0;
}
.reader-progress .progress-track span {
  background: #0c4e54;
}
.reader-support {
  padding: 15px;
  white-space: pre-line;
  font-size: 14px;
  background: #f3e9d2;
  border-left: 3px solid #b07a24;
  margin-top: 18px;
}
.reader-lesson-actions > .primary {
  width: 100%;
}
.reader-lesson-actions > p {
  margin: 16px 0;
}
.reader-language {
  margin-bottom: 22px;
  flex-wrap: wrap;
}
.reader-language button {
  font-size: 12px;
}
.reader-teaching {
  white-space: pre-line;
  font:
    400 18px/1.7 "Source Serif 4",
    Georgia,
    serif;
  margin-bottom: 24px;
}
.reader-lesson-passage .optional {
  margin: 24px 0 0;
}
.reader-lesson-actions .lesson-row {
  display: block;
}
.reader-lesson-actions .lesson-row button {
  margin-top: 10px;
}
.reader-lesson-actions .optional {
  margin-top: 18px;
}
/* Unit landing pages introduce the whole unit before optional sample material. */
:is(.student-mode, .cs-plan-preview) .reader-unit-overview {
  max-width: 1040px;
  padding-top: 28px;
  overflow-wrap: anywhere;
  font-family: "General Sans", system-ui, sans-serif;
}
.reader-unit-introduction .reader-text {
  font: 400 18px/1.65 "General Sans", system-ui, sans-serif;
  color: #5a5346;
}
.reader-unit-introduction .reader-text p { margin: 0 0 20px; }
.reader-unit-introduction { max-width: 72ch; }
.reader-unit-outline { margin-top: 32px; }
.reader-unit-outline h2 { font-size: 24px; margin: 0 0 18px; }
.reader-unit-outline h3 { font-size: 18px; margin: 10px 0 0; }
.reader-unit-outline > ol { padding-left: 26px; margin: 0; }
.reader-unit-outline > ol > li { padding: 12px 0 12px 12px; border-bottom: 1px solid #ded5c0; }
.reader-unit-outline li::marker { color: #0c4e54; font-weight: 600; }
.reader-unit-outline ul { list-style: none; padding: 0; }
.reader-outline-link {
  display: block;
  width: 100%;
  text-align: left;
  white-space: normal;
  color: #0c4e54;
  background: transparent;
  border: 0;
  border-radius: 4px;
  padding: 12px 0;
  font: 600 18px/1.45 "General Sans", system-ui, sans-serif;
}
.reader-outline-link:hover { background: #0c4e5409; }
.reader-outline-link:disabled { color: #5a5346; opacity: 1; cursor: default; }
.reader-outline-status { display: block; font-size: 13px; font-weight: 400; }
.reader-unit-example { margin: 28px 0 18px; border-top: 1px solid #ded5c0; padding-top: 18px; }
.reader-unit-example > summary { color: #0c4e54; font-weight: 600; cursor: pointer; }
.reader-unit-example-body { padding-top: 14px; }
.reader-unit-example-body > p { color: #5a5346; line-height: 1.6; }
.reader-unit-actions { margin: 24px 0; }
.reader-unit-start { margin: 0; }
.reader-frame .optional {
  background: #fbf8f1;
  border-color: #ded5c0;
}
.reader-frame .optional summary {
  color: #0c4e54;
}
.reader-completion {
  max-width: 700px;
}
.preview-shell:has(.reader-frame) {
  background: #f4efe4;
}
dialog:has(.reader-frame) {
  width: min(1160px, 96vw);
  max-width: 96vw;
  background: #f4efe4;
}
@container reader (max-width: 690px) {
  .reader-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
  }
  .reader-question-panel {
    position: static;
  }
  .reader-passage {
    padding: 24px;
  }
  .reader-text {
    font-size: 18px;
  }
}
@media (max-width: 760px) {
  :is(.student-mode, .cs-plan-preview) .topbar {
    margin-top: 78px;
    padding: 0 18px;
  }
  :is(.student-mode, .cs-plan-preview) .learning {
    padding: 0 18px;
  }
  .reader-question-panel {
    padding: 18px;
  }
  :is(.student-mode, .cs-plan-preview) .notice {
    margin: 12px 18px;
  }
  :is(.student-mode, .cs-plan-preview) .learning .page-heading {
    margin-bottom: 20px;
  }
}

/* Main specification: brief definition, separate compact sample, demonstration/check. */
.reader-lesson-page { --ink:#293534; --surface:#fff; --line:#dce8e5; --green:#365d59; }
:is(.student-mode,.cs-plan-preview) .reader-lesson-page h1 { font:600 26px/1.25 "Source Sans 3",system-ui,sans-serif; margin:12px 0; }
.reader-lesson-content { container-type:inline-size; }
.reader-lesson-content .reader-teaching { margin:0 0 18px; padding:0; background:none; border:0; }
.reader-lesson-content .reader-teaching .reader-text { font:400 16px/1.5 "Source Sans 3",system-ui,sans-serif; color:#293534; }
.reader-lesson-content .reader-teaching p { margin:0 0 8px; }
.reader-lesson-grid { display:grid; min-width:0; grid-template-columns:minmax(0,1.7fr) minmax(18rem,1fr); gap:24px; align-items:start; }
.reader-lesson-content .reader-lesson-passage { padding:20px; border:1px solid #dce8e5; border-radius:10px; background:#fff; box-shadow:none; }
.reader-lesson-passage .reader-text { font:400 1rem/1.55 "Source Sans 3",system-ui,sans-serif; color:#293534; }
.reader-sample-part { display:block; position:relative; width:100%; margin:0 0 1em; padding:4px 6px; border:1px solid transparent; border-radius:4px; background:transparent; color:inherit; font:inherit; text-align:left; white-space:pre-line; box-shadow:none; }
.reader-sample-part:last-child { margin-bottom:0; }
.reader-sample-part:disabled { opacity:1; color:inherit; cursor:default; }
.reader-sample-part:disabled:hover { background:transparent; }
.reader-sample-part.is-highlighted,.reader-sample-part.is-highlighted:disabled:hover,.reader-sample-part.is-selected { background:#dce8e5; border-color:#365d59; }
.reader-part-tag { display:block; font:600 12px/1.3 system-ui,sans-serif; color:#365d59; margin-bottom:3px; }
.reader-lesson-side { min-width:0; font:400 16px/1.5 "Source Sans 3",system-ui,sans-serif; }
.reader-lesson-side .reader-quick-check { margin:14px 0 0; padding:18px; border:1px solid #dce8e5; border-radius:10px; background:white; }
.reader-lesson-side .reader-quick-check[hidden] { display:none; }
.reader-lesson-side h2 { font:600 18px/1.4 "Source Sans 3",system-ui,sans-serif; margin:0 0 14px; }
.reader-demo-caption { font-size:15px; line-height:1.5; }
.reader-demo-caption-slot { display:grid; }
.reader-demo-caption-slot > p { grid-area:1 / 1; font-size:15px; line-height:1.5; margin:1em 0; }
.reader-demo-caption-space { visibility:hidden; pointer-events:none; }
.reader-playback { display:flex; align-items:flex-start; gap:16px; padding:12px 0; margin-bottom:16px; background:var(--paper,#f4efe4); }
.reader-playback.is-playing { position:sticky; top:0; z-index:3; }
.reader-playback .reader-demo-controls { flex:none; }
.reader-playback .reader-demo-caption-slot { flex:1; min-width:0; }
.reader-playback .reader-demo-caption-slot > p { margin:0; }
.reader-lesson-content .primary { background:#365d59; color:white; }
.reader-lesson-content .is-correct { color:#23623e; }
.reader-lesson-content .is-wrong { color:#a82e2e; }
.reader-feedback-controls { display:flex; gap:8px; }
.reader-lesson-continue { margin-top:18px; display:flex; gap:12px; }

.reader-lesson-continue[hidden] { display:none; }
.reader-sample-part.is-correct,.reader-sample-part.is-correct:disabled:hover { background:#e2f1e7; border-color:#23623e; }
.reader-sample-part.is-wrong,.reader-sample-part.is-wrong:disabled:hover { background:#fff0f0; border-color:#a82e2e; }
.reader-answer-mark { position:absolute; right:2px; top:0; font:700 13px system-ui,sans-serif; }
.reader-sample-part > .reader-answer-mark { right:-12px; top:4px; }

/* The animation overlays the authentic letter without moving its text. */
.reader-lesson-passage { position:relative; }
.reader-remotion-overlay { position:absolute; inset:0; pointer-events:none; overflow:hidden; }
.reader-remotion-overlay[hidden] { display:none; }

/* Shared reading regions reflow when two usable columns no longer fit.
   Overview, lesson and practice own their content hierarchy and proportions. */
.reader-frame { overflow:visible; }
.reader-grid { min-width:0; grid-template-columns:minmax(0,1.6fr) minmax(18rem,1fr); }
.reader-main-content { min-width:0; }
.reader-control-rail .toolbar,.reader-lesson-continue,.reader-feedback-controls { flex-wrap:wrap; }
.reader-frame button { max-width:100%; white-space:normal; overflow-wrap:anywhere; }
.reader-frame select { max-width:100%; }
.reader-lesson-content .reader-annotated-letter { padding:44px 20px 24px 112px; }
.reader-lesson-side { position:static; }
.reader-legacy-lesson > .reader-teaching { max-width:72ch; }
.reader-practice-frame .reader-grid { grid-template-columns:minmax(0,1.4fr) minmax(20rem,1fr); gap:28px; }
.reader-practice-frame .reader-question-panel { position:static; padding:24px; }
.reader-practice-frame .reader-question { padding:0 0 20px; margin:0 0 20px; background:none; border:0; border-bottom:1px solid var(--line); border-radius:0; }
.reader-practice-frame > .reader-question { max-width:72ch; border:0; padding:0; margin:0 0 24px; }
.reader-practice-frame .reader-question h2 { font-size:1.375rem; line-height:1.4; }
.reader-practice-frame .reader-question-top { flex-wrap:wrap; }
.reader-practice-frame .reader-selection { border:0; padding-top:0; margin-top:0; }
.reader-practice-frame .task .choice { font-size:1rem; line-height:1.5; }
@container reader (max-width:48rem) {
  .reader-grid,.reader-practice-frame .reader-grid,.reader-lesson-grid { grid-template-columns:minmax(0,1fr); gap:20px; }
  .reader-question-panel { position:static; }
  .reader-lesson-side { order:-1; }
  .reader-lesson-content .reader-annotated-letter { padding:20px; }
  /* The existing caption names each demonstrated part. Preserve reading width
     rather than reserving a decorative annotation gutter on narrow screens. */
  .reader-annotated-letter [data-remotion-label],.reader-annotated-letter [data-remotion-arrow] { display:none; }
}
@container reader (max-width:26rem) {
  .reader-passage,.reader-practice-frame .reader-question-panel { padding:16px; }
  .reader-lesson-content .reader-annotated-letter { padding:16px; }
}

.reader-dashboard-action { margin:18px 0; }.reader-dashboard-action p { margin:0 0 6px; font-weight:600; }.welcome-grid.reader-welcome-grid { grid-template-columns:minmax(0,1.5fr) minmax(210px,1fr); }.reader-welcome-grid { min-width:0; }
@media (max-width:690px) { .welcome-grid.reader-welcome-grid { grid-template-columns:minmax(0,1fr); } }
.reader-inline-text { white-space: pre-wrap; line-height: 2; }
.reader-inline-text .reader-phrase-choice { display:inline; width:auto; margin:0; padding:2px 3px; font:inherit; line-height:inherit; text-align:left; border-radius:4px; border:1px solid transparent; background:transparent; color:inherit; }
.reader-inline-text .reader-phrase-choice:hover,.reader-inline-text .reader-phrase-choice:focus-visible { background:#f3ead7; border-color:#a98042; }
.reader-inline-text .reader-phrase-choice[aria-pressed="true"] { background:#e6d4a7; border-color:#7f612b; }

.guided-lesson .task .choice { white-space: pre-line; }

/* Guided lessons: fit the actual preview/phone width, not a desktop canvas.
   Keep reading and controls separate; the right rail flows below on phones. */
.reader-guided-page { min-width:0; container-type:inline-size; }
.reader-guided-page .page-heading { margin-bottom:16px; }
.reader-guided-page .page-heading h1 { font-size:clamp(24px,3vw,32px); line-height:1.2; margin:10px 0 0; }
.guided-lesson .reader-frame { overflow:visible; }
.guided-lesson .reader-grid { min-width:0; grid-template-columns:minmax(0,1.6fr) minmax(240px,1fr); gap:20px; }
.guided-lesson .reader-passage { padding:20px; box-shadow:none; }
.guided-lesson .reader-text { font-size:17px; line-height:1.55; }
.guided-lesson .reader-text p { margin-bottom:1em; }
.guided-lesson .reader-question-panel { padding:20px; position:static; box-shadow:none; font:400 16px/1.5 "Source Sans 3",system-ui,sans-serif; }
.guided-lesson .reader-question-panel .reader-text { font:inherit; }
.guided-lesson .reader-question-panel h2 { font-size:20px; line-height:1.3; margin:0 0 12px; }
.guided-lesson .reader-question-panel button { max-width:100%; white-space:normal; }
.guided-lesson .reader-lesson-side:empty { display:none; }
@container (max-width:600px) {
  .guided-lesson .reader-grid { grid-template-columns:minmax(0,1fr); gap:12px; }
  .guided-lesson .guided-opening .reader-question-panel { order:-1; }
  .guided-lesson .reader-passage,.guided-lesson .reader-question-panel { padding:16px; }
  .guided-lesson .reader-text { font-size:16px; line-height:1.5; }
  .guided-lesson .reader-lesson-side { position:static; }
}

/* Nancy's compact-letter correction. Only document/example copy changes size;
   introductions, teaching, task questions, feedback and controls keep theirs.
   Relative paragraph gaps and the complete authored text remain intact. */
.reader-frame .reader-text.reader-document-text,
.reader-lesson-content .reader-text.reader-document-text {
  font-size:.875rem;
  line-height:1.5;
}

/* Grade only the current response; the next rendered task has no answer marks. */
.reader-passage-choice.is-correct { background:#e2f1e7; border-color:#23623e; }
.reader-passage-choice.is-wrong { background:#fae8e6; border-color:#a83a31; }

.reader-frame button.reader-passage-choice:not(.reader-phrase-choice) { white-space:pre-wrap; }

/* Opt-in supported repair: graded selections override the gold selection state
   in both inline phrases and answer cards; marks stay beside their own text. */
.guided-repair-lesson .reader-frame [data-choice-id].is-correct[aria-pressed="true"] {
  color:#23623e; background:#e2f1e7; border-color:#23623e;
}
.guided-repair-lesson .answer-feedback-heading.is-correct { color:#23623e; }
.guided-repair-lesson .reader-answer-mark { position:static; display:inline; margin-left:.25em; color:inherit; }
.guided-repair-lesson .reader-feedback-controls { scroll-margin-bottom:8px; }
.guided-demo-intro { margin:0 0 16px; }
.guided-demo-intro h2 { margin:0 0 8px; font-size:22px; }
.guided-demo-intro p { margin:6px 0; }
.guided-demo-intro .reader-text { font:inherit; }
.guided-demo-sample { position:relative; }
.reader-guided-demo-overlay { position:absolute; inset:0; pointer-events:none; overflow:hidden; }
.guided-demo-still-mark { position:absolute; background:rgba(176,122,36,.20); border-bottom:2px solid #b07a24; border-radius:2px; box-sizing:border-box; }
.guided-demo-frame .reader-question-panel { align-self:start; position:sticky; top:12px; z-index:3; background:var(--paper,#f4efe4); }
.guided-demo-controls { display:flex; flex-wrap:wrap; gap:8px; }
.guided-demo-secondary { flex-basis:100%; display:flex; flex-wrap:wrap; gap:8px; }
.guided-demo-secondary[hidden] { display:none; }
.guided-demo-caption h3 { margin:6px 0; font-size:18px; }
.guided-demo-caption p { margin:8px 0 14px; }
.guided-demo-caption .small { margin:0 0 4px; font-size:12px; }
.guided-demo-after:empty { display:none; }
.guided-demo-after p { margin:14px 0; }
.guided-retained-guidance { font-size:14px; }
.reader-assembled-opening { overflow-wrap:break-word; }
.guided-lesson .reader-assembled-opening p,.reader-question-hierarchy-sample .reader-assembled-opening p { margin:0; }
.reader-question-hierarchy-sample .reader-slot-picker summary.is-wrong { color:#a82e2e; background:#fff0f0; }
.reader-question-hierarchy-sample .reader-slot-picker summary.is-correct { color:#23623e; background:#e2f1e7; }
.reader-question-hierarchy-sample .choice.is-wrong[aria-pressed="true"] { color:#a82e2e; background:#fff0f0; border-color:#a82e2e; }
.reader-question-hierarchy-sample .choice.is-correct[aria-pressed="true"] { color:#23623e; background:#e2f1e7; border-color:#23623e; }
.reader-introduction-repair .reader-main-content > .reader-passage { padding:0; border:0; background:transparent; box-shadow:none; }
.reader-noticing-anchor.is-noticing-focus { background:#dce8e5; box-shadow:0 2px 0 #365d59; box-decoration-break:clone; -webkit-box-decoration-break:clone; }
.reader-frame .reader-passage-choice.reader-revealed-answer { color:#23623e; background:#e2f1e7; border-color:#23623e; }
.reader-noticing-targets button[aria-pressed="true"] { background:#dce8e5; color:#293534; border-color:#365d59; }
.reader-introduction-repair .reader-authentic-salutation.is-noticing-gap { position:relative; }
.reader-introduction-repair .is-noticing-gap::after { content:''; position:absolute; top:100%; left:-15px; width:10px; height:21px; border-left:2px solid #365d59; border-top:2px solid #365d59; border-bottom:2px solid #365d59; }
.reader-assembled-opening.has-blank-line .assembly-paragraph { margin-top:1.55em; }
.reader-assembled-opening { margin-top:20px; }
.guided-definitions { margin:12px 0; display:grid; gap:8px; font-size:15px; line-height:1.45; }
.guided-definitions dt { display:inline; font-weight:700; }
.guided-definitions dt::after { content:': '; }
.guided-definitions dd { display:inline; margin:0; }
.guided-definition-review { margin-bottom:10px; }
.guided-definition-review summary { cursor:pointer; font-weight:600; }
.guided-definition-review .guided-definitions { padding-right:6px; }
.guided-definition-review[open] ~ .guided-demo-caption p:not(.small) { display:none; }
.guided-repair-lesson .slot select { width:100%; min-width:0; }
.guided-repair-lesson .choice.preserve-choice-whitespace { white-space:pre-wrap; }
@container (max-width:600px) {
  .guided-demo-frame > .reader-grid { display:flex; flex-direction:column; }
  .guided-demo-frame .reader-question-panel { order:-1; align-self:stretch; top:8px; padding:12px 16px; }
  .guided-demo-frame .reader-main-content { width:100%; }
  .guided-demo-controls button { padding:8px 12px; }
  .guided-demo-caption p { margin:6px 0 10px; }
}

/* Keep the existing breathing room around programmatic prompt/feedback scrolls. */
.student-mode .reader-quick-check { scroll-margin-top:5rem; }
.student-mode .reader-playback.is-playing { top:5rem; }
.reader-frame button.reader-sample-part { white-space:pre-wrap; }

/* Main Practice phrases wrap as continuous text, including punctuation. */
.reader-prompt-main .reader-inline-text .reader-phrase-choice { padding:0; margin:0; border-width:0; border-radius:2px; cursor:pointer; box-decoration-break:clone; -webkit-box-decoration-break:clone; }
.guided-repair-lesson .reader-inline-text [role="button"].reader-phrase-choice { padding:0; margin:0; border-width:0; border-radius:2px; cursor:pointer; box-decoration-break:clone; -webkit-box-decoration-break:clone; }
.guided-repair-lesson .reader-inline-text [role="button"].reader-phrase-choice:focus-visible { outline:2px solid #7f612b; outline-offset:2px; }
.guided-repair-lesson .reader-inline-text [role="button"][aria-disabled="true"] { cursor:default; }
.reader-prompt-main .reader-phrase-choice:focus-visible { outline:2px solid #7f612b; outline-offset:2px; }
.reader-prompt-main .reader-phrase-choice[aria-disabled="true"] { cursor:default; }
.reader-prompt-main .reader-question, .reader-prompt-main .reader-feedback { scroll-margin-top:88px; }
body.student-mode:has(.reader-prompt-main) .reader-lessons-toggle { display:none; }

.reader-prompt-main .reader-answer-mark { position:static; display:inline; margin-left:.2em; }
body.student-mode:has(.prompt-analysis-main) .reader-lessons-toggle { display:none; }
/* Business Letter sections are independently selectable from the left menu. */
body.student-mode:has(#workspace.business-letter-section-access) .reader-lessons-toggle { display:block; }
.prompt-analysis-main .reader-control-rail > div { display:flex; flex-direction:column; align-items:flex-start; gap:12px; }

/* Draft annotated-page treatment: source paragraphs remain ordinary text.
   Space belongs to the page margins, never to separate sentence cards. */
.guided-annotated-sample .reader-text > p:not(:first-child) { margin-left:24px; margin-right:24px; }
.guided-annotated-sample .reader-text > p:nth-child(2) { margin-top:76px; }
.guided-lesson .reader-passage.guided-annotated-sample { padding-bottom:110px; }
.guided-annotated-sample .reader-guided-demo-overlay { overflow:visible; }
.guided-demo-frame .reader-question-panel:has(.guided-definition-review[open]) { position:static; }
@container (max-width:600px) {
  .guided-annotated-sample .reader-text > p:not(:first-child) { margin-left:13px; margin-right:13px; }
  .guided-annotated-sample .reader-text > p:nth-child(2) { margin-top:76px; }
  .guided-lesson .reader-passage.guided-annotated-sample { padding-bottom:110px; }
}

.guided-lesson .reader-passage.guided-prompt-annotation { padding-top:90px; }

/* Introduction: the approved specimen uses fixed type and page geometry.
   These rules are scoped to its authored presentation, including Studio. */
@font-face { font-family:"Source Sans 3"; src:url("fonts/source-sans-3-latin-400-normal.woff2") format("woff2"); font-weight:400; font-style:normal; font-display:block; }
@font-face { font-family:"Source Sans 3"; src:url("fonts/source-sans-3-latin-600-normal.woff2") format("woff2"); font-weight:600; font-style:normal; font-display:block; }
@font-face { font-family:"Source Sans 3"; src:url("fonts/source-sans-3-latin-400-italic.woff2") format("woff2"); font-weight:400; font-style:italic; font-display:block; }
.reader-lesson-page:has(.guided-polished-lesson) { max-width:1280px; margin:0 auto; padding:58px 64px 64px; background:#f3f4f0; font-family:"Source Sans 3",sans-serif; color:#293534; -webkit-font-smoothing:antialiased; }
.reader-lesson-page:has(.guided-polished-lesson) .page-heading { margin:0 0 14px; }
.reader-lesson-page:has(.guided-polished-lesson) .page-heading h1 { margin:12px 0 0; font:600 48px/1.1 "Source Sans 3",sans-serif; letter-spacing:-1.5px; }
.reader-lesson-page:has(.guided-polished-lesson) .reader-breadcrumbs { color:#365d59; font-size:12px; letter-spacing:1.4px; }
.reader-lesson-page:has(.guided-polished-lesson) .reader-breadcrumbs button { color:inherit; font:600 12px/1.4 "Source Sans 3",sans-serif; text-transform:uppercase; letter-spacing:1.4px; }
.guided-polished-demo .guided-demo-intro { margin:0 0 36px; }
.guided-polished-demo .guided-demo-intro h2 { font:600 25px/1.2 "Source Sans 3",sans-serif; letter-spacing:-.3px; margin:0 0 12px; }
.guided-polished-demo .guided-demo-intro > p,.guided-polished-demo .guided-demo-intro .reader-text { font:400 20px/1.5 "Source Sans 3",sans-serif; color:#52635f; max-width:760px; margin:0; }
.guided-polished-demo .guided-demo-intro .reader-text p { margin:0; }
.guided-lesson .guided-polished-demo > .reader-grid { display:grid; grid-template-columns:minmax(0,1fr) 266px; gap:46px; align-items:start; }
.guided-lesson .reader-passage.guided-polished-sample { padding:0; background:transparent; border:0; box-shadow:none; border-radius:0; }
.guided-polished-sample .guided-example-source { display:flex; flex-direction:column; gap:18px; color:#293534; }
.guided-polished-sample .guided-example-paper { order:1; position:relative; background:#fff; border:1px solid #e2e6e1; border-radius:8px; padding:40px 59px 110px; box-shadow:0 8px 26px rgba(38,57,45,.035); min-height:470px; }
.guided-polished-sample .guided-example-eyebrow { font:600 12px/18px "Source Sans 3",sans-serif; text-transform:uppercase; letter-spacing:1.7px; color:#78817d; margin-bottom:30px; white-space:normal; }
.guided-polished-sample .guided-example-letter { font:400 26px/1.6 "Source Sans 3",sans-serif; letter-spacing:.03px; }
.guided-lesson .guided-polished-sample .guided-example-letter p { margin:0; color:#293534; }
.guided-lesson .guided-polished-sample .guided-example-letter .guided-example-salutation { margin-bottom:26px; }
.guided-polished-sample .guided-example-letter p + p:not(:nth-child(2)) { margin-top:28px; }
.guided-polished-sample .guided-example-letter p:first-child:not(.guided-example-salutation) + p { margin-top:32px; }
.guided-polished-sample .guided-source-prompt { order:2; color:#52635f; font:400 17px/1.5 "Source Sans 3",sans-serif; }
.guided-polished-sample .guided-source-prompt summary { font-weight:600; cursor:pointer; width:fit-content; padding:8px 0; }
.guided-polished-sample .guided-source-prompt .guided-source-prompt-text { margin:8px 0 22px; font:inherit; color:inherit; }
.guided-polished-sample.guided-prompt-active .guided-source-prompt { order:0; padding:0 26px 0 0; }
.guided-lesson .guided-polished-demo .reader-question-panel { order:initial; position:static; align-self:start; border:0; border-radius:0; box-shadow:none; background:transparent; padding:24px 0 0; font:400 18px/1.5 "Source Sans 3",sans-serif; }
.guided-polished-demo .guided-demo-caption { display:grid; }
.guided-polished-demo .guided-demo-caption-space,.guided-polished-demo .guided-demo-caption-body { grid-area:1/1; }
.guided-polished-demo .guided-demo-caption-space { display:grid; visibility:hidden; pointer-events:none; user-select:none; }
.guided-polished-demo .guided-demo-caption-space > div { grid-area:1/1; }
.guided-polished-demo .guided-demo-caption h3 { font:600 30px/1.15 "Source Sans 3",sans-serif; letter-spacing:-.4px; margin:0 0 17px; }
.guided-polished-demo .guided-demo-caption p { font:400 18px/1.5 "Source Sans 3",sans-serif; color:#43534e; margin:0; }
.guided-polished-demo .guided-demo-caption .small { color:#687570; font-size:13px; letter-spacing:.8px; margin:0 0 15px; }
.guided-polished-demo .guided-demo-caption .small::before { content:''; display:inline-block; width:30px; height:2px; background:#365d59; margin:0 10px 4px 0; }
.guided-polished-demo .guided-demo-controls { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:12px 20px; margin-top:29px; }
.guided-polished-demo .guided-demo-controls button { min-height:44px; padding:10px 0; font:400 17px/1 "Source Sans 3",sans-serif; color:#5e6d66; border:0; background:transparent; justify-content:flex-start; }
.guided-polished-demo .guided-demo-controls [data-demo-control="play"] { grid-column:1; grid-row:2; font-size:15px; min-height:36px; }
.guided-polished-demo .guided-demo-controls [data-demo-control="previous"] { grid-column:1; grid-row:1; }
.guided-polished-demo .guided-demo-controls .primary { grid-column:2; grid-row:1; min-height:48px; padding:11px 18px; border-radius:6px; background:#365d59; color:white; font-weight:600; justify-content:center; }
.guided-polished-demo .guided-demo-controls .primary:hover { background:#294a46; }
.guided-polished-demo .guided-demo-controls button:focus-visible,.guided-polished-sample summary:focus-visible { outline:2px solid #365d59; outline-offset:4px; }
.guided-polished-demo .guided-definition-review { margin:18px 0 0; color:#63716b; font-size:15px; }
.guided-polished-demo .guided-definitions { font:400 16px/1.5 "Source Sans 3",sans-serif; }
.guided-polished-demo .guided-definition-review[open] ~ .guided-demo-caption p:not(.small) { display:block; }
@container (max-width:950px) {
 .reader-lesson-page:has(.guided-polished-lesson) .page-heading h1 { font-size:35px; line-height:1.08; letter-spacing:-.85px; }
 .guided-lesson .guided-polished-demo > .reader-grid { display:flex; flex-direction:column; gap:0; }
 .guided-polished-demo .reader-main-content { width:100%; }
 .guided-polished-demo .guided-demo-intro { margin-bottom:22px; }
 .guided-polished-demo .guided-demo-intro > p,.guided-polished-demo .guided-demo-intro .reader-text { font-size:16px; line-height:1.4; }
 .guided-polished-sample .guided-example-paper { padding:23px 27px 73px; min-height:0; border-radius:7px; }
 .guided-polished-sample .guided-example-eyebrow { font-size:10px; line-height:14px; letter-spacing:1.5px; margin-bottom:19px; }
 .guided-polished-sample .guided-example-letter { font-size:18px; line-height:1.52; letter-spacing:0; }
 .guided-lesson .guided-polished-sample .guided-example-letter .guided-example-salutation { margin-bottom:21px; }
 .guided-lesson .guided-polished-demo .reader-question-panel { width:100%; padding:21px 1px 0; }
 .guided-polished-demo .guided-demo-caption h3 { font-size:22px; line-height:1.1; margin-bottom:9px; }
 .guided-polished-demo .guided-demo-caption p { font-size:16px; line-height:1.38; }
 .guided-polished-demo .guided-demo-caption .small { display:none; }
 .guided-polished-demo .guided-demo-controls { margin-top:19px; }
 .guided-polished-demo .guided-demo-controls .primary { min-height:44px; font-size:16px; padding:10px 17px; justify-self:end; }
 .guided-polished-demo .guided-demo-controls button { font-size:15px; }
}
@media(max-width:700px) {
 .reader-lesson-page:has(.guided-polished-lesson) { padding:29px 20px 24px; }
 .reader-lesson-page:has(.guided-polished-lesson) .page-heading { margin-bottom:12px; }
 .reader-lesson-page:has(.guided-polished-lesson) .reader-breadcrumbs,.reader-lesson-page:has(.guided-polished-lesson) .reader-breadcrumbs button { font-size:10px; letter-spacing:1.1px; }
}
.guided-polished-sample .reader-guided-demo-overlay { z-index:1; }
.guided-polished-sample .guided-example-letter,.guided-polished-sample .guided-source-prompt-text { position:relative; z-index:2; }
.reader-lesson-page:has(.guided-polished-lesson) .reader-breadcrumbs button { background:transparent; border:0; padding:0; border-radius:0; min-height:0; }
.guided-polished-demo .guided-demo-controls { grid-template-columns:auto 1fr auto; }
.guided-polished-demo .guided-demo-controls [data-demo-control="play"] { grid-column:1; grid-row:1; }
.guided-polished-demo .guided-demo-controls:has([data-demo-control="previous"]) [data-demo-control="play"] { grid-column:2; justify-self:center; }
.guided-polished-demo .guided-demo-controls .primary { grid-column:3; }
.guided-polished-demo .guided-demo-caption h3 { color:#293534; }
.guided-polished-demo .guided-demo-caption p:has(+ .secondary) { margin-bottom:19px; }
.guided-polished-demo .guided-demo-caption p.secondary { color:#63716b; }
@container (max-width:950px) {
 .guided-polished-demo .guided-demo-caption p:has(+ .secondary) { margin-bottom:10px; }
 .guided-polished-demo .guided-demo-caption p.secondary { font-size:15px; line-height:1.4; }
}
.guided-polished-sample.guided-prompt-active .guided-source-prompt { padding-bottom:42px; }
/* The same visual language continues through the existing supported checks.
   Scoring, responses and selected-error routes remain the existing controls. */
.guided-polished-lesson { font-family:"Source Sans 3",sans-serif; color:#293534; }
.guided-polished-lesson .reader-grid { grid-template-columns:minmax(0,1.45fr) minmax(280px,1fr); gap:38px; }
.guided-polished-lesson .reader-passage { background:#fff; border:1px solid #e2e6e1; border-radius:8px; padding:30px 34px; box-shadow:0 8px 26px rgba(38,57,45,.035); }
.guided-polished-lesson .reader-passage .reader-text { font:400 18px/1.55 "Source Sans 3",sans-serif; color:#293534; }
.guided-polished-lesson .reader-frame:not(.guided-polished-demo) .reader-question-panel { background:transparent; border:0; border-radius:0; padding:10px 0; color:#293534; }
.guided-polished-lesson .reader-question,.guided-polished-lesson .reader-support,.guided-polished-lesson .guided-repair-teaching { background:transparent; border:0; border-radius:0; padding:0; margin:0 0 20px; box-shadow:none; }
.guided-polished-lesson .reader-question h2,.guided-polished-lesson .reader-frame:not(.guided-polished-demo) .reader-question-panel h2 { font:600 24px/1.25 "Source Sans 3",sans-serif; color:#293534; letter-spacing:-.3px; }
.guided-polished-lesson .reader-question .eyebrow,.guided-polished-lesson .task .eyebrow { color:#687570; font:600 11px/1.4 "Source Sans 3",sans-serif; letter-spacing:1.5px; }
.guided-polished-lesson .reader-frame:not(.guided-polished-demo) .reader-question-panel .reader-text,.guided-polished-lesson .reader-frame:not(.guided-polished-demo) .reader-question-panel p { font:400 17px/1.5 "Source Sans 3",sans-serif; }
.guided-polished-lesson .reader-frame:not(.guided-polished-demo) .reader-question-panel .guided-section-label { color:#63716b; font-size:14px; margin:0 0 12px; }
.guided-polished-lesson .reader-support { color:#52635f; }
.guided-polished-lesson .choice,.guided-polished-lesson .slot,.guided-polished-lesson .piece { background:#fff; border:1px solid #d7dfda; border-radius:6px; color:#293534; box-shadow:none; }
.guided-polished-lesson .choice { font:400 17px/1.5 "Source Sans 3",sans-serif; padding:13px 15px; text-align:left; }
.guided-polished-lesson .choice[aria-pressed="true"] { background:#dce8e5; border-color:#365d59; color:#293534; }
.guided-polished-lesson .choice-letter { color:#63716b; font:600 13px/1.7 "Source Sans 3",sans-serif; }
.guided-polished-lesson .primary { background:#365d59; border-color:#365d59; color:#fff; border-radius:6px; font:600 17px/1.2 "Source Sans 3",sans-serif; padding:12px 18px; min-height:44px; }
.guided-polished-lesson .quiet { font:400 16px/1.4 "Source Sans 3",sans-serif; color:#5e6d66; }
.guided-polished-lesson .answer-feedback,.guided-polished-lesson .guided-submitted-choice { border-radius:6px; box-shadow:none; }
.guided-polished-lesson .slot { margin:14px 0; padding:0; border:0; background:transparent; }
.guided-polished-lesson .reader-slot-label { font:600 15px/1.4 "Source Sans 3",sans-serif; margin:0 0 6px; }
.reader-slot-picker { background:#fff; border:1px solid #d7dfda; border-radius:6px; }
.reader-slot-picker summary { cursor:pointer; padding:13px 15px; min-height:46px; font-weight:400; font-size:17px; line-height:1.5; white-space:normal; overflow-wrap:anywhere; }
.reader-slot-picker summary:focus-visible { outline:2px solid #365d59; outline-offset:3px; }
.reader-slot-options { display:grid; padding:5px; gap:4px; border-top:1px solid #d7dfda; }
.reader-slot-options button { width:100%; white-space:normal; overflow-wrap:anywhere; border:0; border-radius:4px; padding:12px 10px; text-align:left; justify-content:flex-start; font:400 17px/1.5 "Source Sans 3",sans-serif; color:#293534; background:#fff; }
.reader-slot-options button:hover,.reader-slot-options button[aria-pressed="true"] { background:#dce8e5; }
@container(max-width:950px) {
 .guided-polished-lesson .reader-grid { grid-template-columns:minmax(0,1fr); gap:24px; }
 .guided-polished-lesson .reader-passage { padding:23px 27px; }
 .guided-polished-lesson .reader-passage .reader-text { font-size:18px; line-height:1.52; }
 .guided-polished-lesson .reader-frame:not(.guided-polished-demo) .reader-question-panel { padding:0 1px; }
 .guided-polished-lesson .reader-question h2,.guided-polished-lesson .reader-frame:not(.guided-polished-demo) .reader-question-panel h2 { font-size:22px; }
 .guided-polished-lesson .choice { font-size:17px; }
}
.guided-polished-sample.guided-missing-salutation .guided-example-eyebrow { margin-bottom:68px; }
/* Approved Introduction grouping: source context, authentic letter and the
   question/action group have distinct roles. No source prose is removed. */
.reader-question-hierarchy-sample .guided-section-label { display:none; }
.guided-polished-lesson .reader-question-hierarchy-sample .reader-passage { padding:0; border:0; background:transparent; box-shadow:none; }
.reader-question-hierarchy-sample .reader-hierarchy-source { display:grid; gap:24px; }
.guided-polished-lesson .reader-question-hierarchy-sample .reader-source-label { margin:0 0 12px; font:600 11px/1.4 "Source Sans 3",sans-serif; letter-spacing:1.7px; color:#365d59; text-transform:uppercase; white-space:normal; }
.guided-polished-lesson .reader-question-hierarchy-sample .reader-writing-context > p { margin:0; font:400 16px/1.5 "Source Sans 3",sans-serif; color:#52635f; white-space:normal; }
.guided-polished-lesson .reader-question-hierarchy-sample .reader-writing-context > summary.reader-source-label { cursor:pointer; width:fit-content; margin:0; padding:8px 0; }
.guided-polished-lesson .reader-question-hierarchy-sample .reader-writing-context[open] > summary.reader-source-label { margin-bottom:12px; }
.reader-question-hierarchy-sample .reader-authentic-letter { background:#fff; border:1px solid #e2e6e1; border-radius:8px; padding:23px 27px 29px; box-shadow:0 8px 26px rgba(38,57,45,.035); }
.guided-polished-lesson .reader-question-hierarchy-sample .reader-authentic-letter .reader-source-label { margin-bottom:22px; color:#78817d; }
.reader-question-hierarchy-sample .reader-authentic-letter .reader-source-label::after { content:' text'; }
.guided-polished-lesson .reader-question-hierarchy-sample .reader-authentic-prose { color:#293534; font:400 18px/1.52 "Source Sans 3",sans-serif; }
.guided-polished-lesson .reader-question-hierarchy-sample .reader-authentic-prose > p { margin:0; white-space:normal; }
.guided-polished-lesson .reader-question-hierarchy-sample .reader-authentic-prose .reader-authentic-salutation { margin-bottom:21px; }
.reader-question-hierarchy-sample .reader-phrase-choice { background:transparent; border:0; border-radius:2px; padding:0; margin:0; font:inherit; color:inherit; }
.reader-question-hierarchy-sample .reader-phrase-choice[aria-pressed="true"] { background:#dce8e5; }
.reader-question-hierarchy-sample .reader-phrase-choice.is-correct[aria-pressed="true"] { color:#23623e; background:#e2f1e7; }
.reader-question-hierarchy-sample .reader-phrase-choice.is-wrong[aria-pressed="true"] { color:#a83a31; background:#fae8e6; }
.guided-polished-lesson .reader-question-hierarchy-sample .reader-question-panel > .task { padding:21px 20px 0; border-radius:8px; background:#e7efec; }
.guided-polished-lesson .reader-question-hierarchy-sample .reader-question { padding:0; margin:0 0 17px; border:0; background:transparent; }
.guided-polished-lesson .reader-question-hierarchy-sample .reader-question h2 { margin:0 0 15px; font:600 24px/1.2 "Source Sans 3",sans-serif; letter-spacing:-.4px; color:#293534; }
.guided-polished-lesson .reader-question-hierarchy-sample .reader-question-top { margin:0 0 11px; }
.guided-polished-lesson .reader-question-hierarchy-sample .reader-question .eyebrow { color:#365d59; font-size:12px; letter-spacing:1.7px; }
.guided-polished-lesson .reader-question-hierarchy-sample .reader-directions { margin:0; font:400 17px/1.45 "Source Sans 3",sans-serif; color:#43534e; }
.reader-question-hierarchy-sample .reader-direction-label { display:block; font:600 14px/1.4 "Source Sans 3",sans-serif; color:#365d59; margin-bottom:3px; }
.reader-question-hierarchy-sample .reader-selection:empty { display:none; }
.reader-question-hierarchy-sample .reader-selection { border-color:#cbd9d3; font-size:15px; }
.guided-polished-lesson .reader-question-hierarchy-sample .reader-support { border-top:1px solid #cbd9d3; padding:15px 0 0; margin:18px 0 0; }
.reader-question-hierarchy-sample .reader-reminder-label { color:#63716b; font:600 12px/1.4 "Source Sans 3",sans-serif; letter-spacing:1px; text-transform:uppercase; margin-bottom:5px; }
.guided-polished-lesson .reader-question-hierarchy-sample .reader-support p { color:#63716b; margin:0; font:400 15px/1.45 "Source Sans 3",sans-serif; }
.reader-question-hierarchy-sample .reader-progress { border-color:#cbd9d3; }

.reader-question-hierarchy-sample .reader-authentic-letter .reader-source-label.is-completion::after { content:none; }

.guided-polished-lesson .reader-question-hierarchy-sample .reader-separate-examples > p + p { margin-top:1.25em; }
.reader-question-hierarchy-sample .reader-authentic-prose .reader-assembled-opening { margin-top:0; font:inherit; color:inherit; }

.reader-question-hierarchy-sample .reader-authentic-letter:has(.reader-authentic-prose:empty) { padding:0; border:0; background:transparent; box-shadow:none; }
.guided-polished-lesson .reader-question-hierarchy-sample .reader-authentic-letter:has(.reader-authentic-prose:empty) .reader-source-label { margin:0; color:#365d59; }
.reader-question-hierarchy-sample .guided-worked-example.reader-authentic-letter { margin-top:24px; }
.guided-polished-lesson .reader-question-hierarchy-sample .reader-feedback-group { padding-bottom:20px; }

.guided-polished-lesson .reader-question-hierarchy-sample .reader-authentic-prose > p.reader-preserve-source-lines { white-space:pre-line; }
.guided-polished-lesson .reader-question-hierarchy-sample .reader-authentic-prose > p:nth-of-type(n+3) { margin-top:1.25em; }

/* Developed paragraphs share the calm document treatment without changing the
   approved Introduction geometry. Source headings come from authored text. */
.guided-document-lesson .guided-polished-sample .guided-example-letter { font-size:20px; line-height:1.6; }
.guided-document-lesson .guided-polished-sample .guided-example-eyebrow { margin-bottom:22px; }
.guided-document-lesson .guided-polished-sample .guided-example-paper { padding-top:30px; }
@media(max-width:700px) {
 .guided-document-lesson .guided-polished-sample .guided-example-letter { font-size:18px; line-height:1.52; }
}

.guided-document-lesson .guided-demo-frame .reader-main-content { max-height:72vh; overflow:auto; overscroll-behavior:contain; scrollbar-gutter:stable; border-radius:8px; }
.guided-document-lesson .guided-demo-frame .reader-main-content:focus-visible { outline:2px solid #365d59; outline-offset:3px; }
@container (max-width:950px) {
 .guided-document-lesson .guided-demo-frame .reader-main-content { max-height:43vh; }
 .guided-document-lesson .guided-polished-demo .guided-demo-intro { margin-bottom:16px; }
 .guided-document-lesson .guided-polished-demo .reader-question-panel { padding-top:16px; }
 .guided-document-lesson .guided-demo-caption-space { min-height:0; }
}

/* Supplied order pieces resolve to one paragraph; the closing is fixed. */
.guided-polished-lesson .reader-assembled-paragraph { margin-top:1.25em; font:inherit; color:inherit; }
.guided-polished-lesson .reader-assembled-paragraph .assembly-paragraph { margin:0; white-space:normal; }
.guided-polished-lesson .reader-assembled-paragraph .assembly-closing { margin:1.25em 0 0; white-space:pre-line; }
.guided-polished-lesson .ordered-piece { font:400 17px/1.45 "Source Sans 3",sans-serif; border-color:#cbd9d3; }
.guided-polished-lesson .ordered-piece button { min-width:44px; min-height:44px; }
/* During an optional replay, keep both actions separately clickable. */
.guided-document-lesson .guided-demo-controls:has([data-demo-control="step"]) [data-demo-control="continue"] { grid-row:2; }

/* Editorial labels identify the source without becoming part of its paper. */
.guided-polished-sample .guided-example-source > .guided-example-eyebrow { margin:0; padding:0 1px; }
.guided-polished-lesson .reader-source-group > .reader-source-label { color:#78817d; margin-bottom:12px; }
.guided-document-lesson .guided-worked-example { margin-top:24px; }

/* Submitted order feedback comes from scored per-piece results. */
.reader-frame .ordered-piece.is-correct { color:#23623e; background:#e2f1e7; border-color:#23623e; }
.reader-frame .ordered-piece.is-wrong { color:#8b3434; background:#f9e9e5; border-color:#ad5a50; }

/* Parts opens with its editable noticing cue and intact sample. The existing
   explanation and definitions follow this encounter without adding a step. */
.reader-opening-instruction { margin:0 0 18px; font:400 16px/1.5 "Source Sans 3",system-ui,sans-serif; }
.reader-parts-noticing-grid { grid-template-areas:"sample playback" "sample controls"; grid-template-rows:auto 1fr; }
.reader-parts-noticing-grid > .reader-lesson-passage { grid-area:sample; }
.reader-parts-noticing-grid > .reader-playback { grid-area:playback; margin:0; }
.reader-parts-noticing-grid > .reader-lesson-side { grid-area:controls; }
.reader-parts-noticing-grid + .reader-teaching { margin-top:18px; }
@container reader (max-width:690px) {
  .reader-parts-noticing-grid { grid-template-areas:"playback" "controls" "sample"; grid-template-rows:auto; }
}

/* Submitted response marks override the ungraded selection color in every
   Reader presentation. Unselected choices never expose the answer key. */
.reader-frame .task .choice.is-correct[aria-pressed="true"],
.reader-frame .reader-passage-choice.is-correct[aria-pressed="true"] { color:#23623e; background:#e2f1e7; border-color:#23623e; }
.reader-frame .task .choice.is-wrong[aria-pressed="true"],
.reader-frame .reader-passage-choice.is-wrong[aria-pressed="true"] { color:#a83a31; background:#fae8e6; border-color:#a83a31; }
.reader-frame .choice > .reader-answer-mark,
.reader-frame .reader-passage-choice > .reader-answer-mark { position:static; flex:none; display:inline; margin-left:.35em; color:inherit; }

/* Actual conclusion gap: same calm document surface and standard choices. */
.reader-sentence-gap{display:block;vertical-align:baseline;width:100%;min-height:2.9em;max-width:100%;margin:.3em 0;border:1.5px dashed #829a93;border-radius:5px;background:#f3f7f4;transition:background-color .18s,border-color .18s;}
.reader-sentence-gap.is-filled{display:inline;width:auto;min-width:0;min-height:0;margin:0;padding:2px 0;border:0;border-bottom:2px solid #829a93;background:#eef5f0;box-decoration-break:clone;-webkit-box-decoration-break:clone;}
.reader-sentence-gap.is-drag-over{background:#e3eee7;border-color:#315f50;}
.reader-sentence-gap:focus-visible{outline:3px solid #315f50;outline-offset:3px;}
.reader-question-panel [draggable=true]{cursor:grab;}
@media(prefers-reduced-motion:reduce){.reader-sentence-gap{transition:none;}}
