[data-worksheet-reader][data-discourage-copy=true] .task-statement{-webkit-user-select:none;user-select:none}
.worksheet-figure-group{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}
.worksheet-figure-group figure{flex:1 1 120px;min-width:0;margin:.5rem 0;max-width:240px}
.worksheet-figure-group img{max-width:100%;height:auto}
@media print{[data-worksheet-reader] .task-statement{-webkit-user-select:text!important;user-select:text!important}}

[data-discourage-copy="true"] .task-statement{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none} [data-discourage-copy="true"] .task-statement img{-webkit-user-drag:none}
[data-discourage-copy="true"] .worksheet-figure-group img{-webkit-user-drag:none;user-select:none;-webkit-user-select:none}


/* Reading comes first; switching sheets stays one accessible disclosure away. */
.page-worksheet .page-header { margin-bottom: 18px; padding-bottom: 16px; }
.page-worksheet .worksheet-switcher { display: block; margin: 0 0 18px; padding: 0 16px; }
.page-worksheet .worksheet-switcher summary { min-height: 44px; padding-block: 12px; color: var(--primary); font-size: .875rem; cursor: pointer; }
.page-worksheet .worksheet-switcher form { grid-template-columns: minmax(0, 1fr) auto; margin: 4px 0 14px; }
.page-worksheet .worksheet-switcher label { font-size: .8125rem; color: var(--heading); }
.page-worksheet .worksheet-switcher label span { margin-bottom: 6px; }
.page-worksheet .worksheet-document { padding: 22px 24px; }
.page-worksheet .worksheet-document-head { grid-template-columns: 64px minmax(0, 1fr); gap: 20px; }
.page-worksheet .worksheet-document .sheet-cover { width: 64px; height: 94px; padding: 8px 5px 8px 8px; }
.page-worksheet .worksheet-document .cover-drawing { width: 38px; height: 30px; }
.page-worksheet .worksheet-document .cover-title { font-size: .5625rem; }
.page-worksheet .worksheet-document h2 { margin-bottom: 6px; }
.page-worksheet .worksheet-document-head p:last-child { margin-bottom: 0; }
.page-worksheet .worksheet-actions { margin-top: 16px; }
.page-worksheet .worksheet-problems { margin-top: 18px; padding-top: 18px; }
.worksheet-reading-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 8px 16px; flex-wrap: wrap; margin-bottom: 12px; }
.worksheet-reading-heading h3 { scroll-margin-top: calc(var(--mobile-header-height, 0px) + 16px); margin: 0; color: var(--heading); font-size: 1rem; font-weight: 550; }
.worksheet-reading-heading strong { color: var(--heading); font-weight: 550; }
.worksheet-reading-tools { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px 16px; margin-bottom: 14px; }
.worksheet-task-filters { display: inline-flex; flex-wrap: wrap; gap: 4px; padding: 3px; border: 1px solid var(--line); border-radius: 6px; }
.worksheet-task-filters a { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 8px 12px; border: 1px solid transparent; border-radius: 3px; color: var(--muted); font-size: .8125rem; text-decoration: none; }
.worksheet-task-filters a:hover { color: var(--primary); background: var(--primary-soft); }
.worksheet-task-filters a[aria-current] { color: var(--primary); background: var(--primary-soft); border-color: var(--primary); font-weight: 550; }
.worksheet-progress-link { display: inline-flex; align-items: center; min-height: 44px; font-size: .8125rem; gap: 5px; }
.worksheet-document-footer { margin-top: 24px; padding-top: 14px; border-top: 1px solid var(--line); }
.worksheet-document-footer a { display: inline-flex; align-items: center; gap: 4px; min-height: 44px; font-size: .8125rem; }

@media (max-width: 767px) {
  .page-worksheet .page-header { margin-bottom: 8px; padding-bottom: 10px; }
  .page-worksheet .page-header .back-link { margin-bottom: 10px; }
  .page-worksheet .page-header .eyebrow { margin-bottom: 4px; }
  .page-worksheet .page-header h1 { margin-bottom: 0; }
  .page-worksheet .worksheet-switcher { padding: 0 12px; margin-bottom: 10px; }
  .page-worksheet .worksheet-switcher form { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .page-worksheet .worksheet-document { padding: 14px 12px; }
  .page-worksheet .worksheet-document-head { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .page-worksheet .worksheet-document .sheet-cover { display: none; }
  .page-worksheet .worksheet-document .eyebrow { margin-bottom: 4px; }
  .page-worksheet .worksheet-document h2 { margin-bottom: 4px; }
  .page-worksheet .worksheet-actions { margin-top: 12px; gap: 8px; }
  .page-worksheet .worksheet-problems { margin-top: 14px; padding-top: 14px; }
  .worksheet-reading-heading { gap: 4px 12px; margin-bottom: 10px; }
  .worksheet-reading-tools { gap: 4px 12px; margin-bottom: 8px; }
  .worksheet-task-filters { display: flex; width: 100%; }
  .worksheet-task-filters a { flex: 1 1 auto; padding-inline: 8px; }
}

/* A lesson keeps each worksheet's heading, epigraph and actions together. */
.page-lesson .worksheet-document { padding: 22px 24px; }
.lesson-worksheet-heading { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 16px 28px; }
.lesson-worksheet-heading .worksheet-document-head { flex: 1 1 280px; min-width: 0; grid-template-columns: 64px minmax(0, 1fr); gap: 20px; }
.lesson-worksheet-heading .sheet-cover { width: 64px; height: 94px; padding: 8px 5px 8px 8px; }
.lesson-worksheet-heading .cover-drawing { width: 38px; height: 30px; }
.lesson-worksheet-heading .cover-title { font-size: .5625rem; }
.lesson-worksheet-heading .worksheet-document-head p:last-child { margin-bottom: 0; }
.lesson-worksheet-heading > .worksheet-epigraph { max-width: min(45%, 30rem); margin: 0; }
.page-lesson .lesson-worksheet-actions { margin-top: 16px; gap: 8px 12px; }
.lesson-worksheet-actions .button { font-size: .875rem; padding: 8px 12px; }
.lesson-worksheet-actions > a:not(.button) { gap: 4px; }
@media (max-width: 767px) {
  .page-lesson .worksheet-document { padding: 16px 14px; }
  .lesson-worksheet-heading { gap: 16px; }
  .lesson-worksheet-heading .worksheet-document-head { grid-template-columns: minmax(0, 1fr); }
  .lesson-worksheet-heading .sheet-cover { display: none; }
  .lesson-worksheet-heading > .worksheet-epigraph { flex: 1 1 100%; max-width: 100%; }
  .lesson-worksheet-actions > a:not(.button) { width: 100%; justify-content: center; }
}

/* Staff reading uses the same paper and type, with a compact task index. */
.teacher-heading h1 { margin-bottom: 6px; }
.teacher-heading p { margin: 0; color: var(--muted); }
.teacher-reading-preface { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 16px 32px; margin-bottom: 24px; }
.teacher-reading-preface .worksheet-actions { margin: 0; }
.teacher-reading-preface .worksheet-epigraph { margin: 0 0 0 auto; }
.teacher-reading-footer { margin-top: 20px; }
.teacher-sheet-links { display: flex; flex-wrap: wrap; gap: 4px 24px; }
.teacher-sheet-links a { display: inline-flex; align-items: center; min-height: 44px; font-size: .875rem; }
.teacher-reading-layout { display: grid; grid-template-columns: 172px minmax(0, 1fr); gap: 28px; align-items: start; }
.teacher-index { position: sticky; top: 24px; min-width: 0; }
.teacher-index h2 { display: flex; justify-content: space-between; gap: 10px; margin: 0 0 12px; font-size: 1rem; }
.teacher-index h2 span { color: var(--muted); font: 400 .875rem Golos, sans-serif; }
.teacher-unit-links { display: flex; flex-wrap: wrap; gap: 6px; }
.teacher-unit-links a, .teacher-unit-links button { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 4px; color: var(--heading); background: var(--paper); font: 500 .875rem Golos, sans-serif; text-decoration: none; cursor: pointer; }
.teacher-unit-links .teacher-unit-all { width: 100%; }
.teacher-unit-links [aria-current], .teacher-unit-links [aria-pressed="true"] { border-color: var(--primary); color: var(--primary); background: var(--primary-soft); }
.teacher-unit-links a:hover, .teacher-unit-links button:hover { border-color: var(--primary); }
.teacher-private-note { margin: 18px 0 10px; color: var(--muted); font-size: .75rem; line-height: 1.6; }
.teacher-reading-content { min-width: 0; scroll-margin-top: calc(var(--mobile-header-height, 0px) + 16px); }
.teacher-shared-conditions { margin: 0 0 24px; padding: 4px 24px 20px; border-bottom: 1px solid var(--line); line-height: 1.75; overflow-wrap: anywhere; }
.teacher-shared-conditions h2 { margin: 0 0 10px; color: var(--primary); font: 500 .875rem/1.5 'Golos', sans-serif; }
.teacher-shared-conditions > .latex-content + .latex-content { margin-top: 10px; }
.teacher-problem { padding: 24px; border: 1px solid var(--line); border-top: 3px solid var(--binding, #c6ab70); background: var(--paper); border-radius: 4px; overflow-wrap: anywhere; }
.teacher-problem + .teacher-problem { margin-top: 20px; }
.teacher-problem h2 { margin: 0 0 18px; font-size: 1.25rem; }
.teacher-statement { margin-bottom: 18px; line-height: 1.75; }
.teacher-explanation { border-top: 1px solid var(--line); }
.teacher-explanation summary { min-height: 48px; padding: 12px 0; cursor: pointer; color: var(--primary); font-weight: 500; }
.teacher-explanation > div { padding: 0 0 16px; line-height: 1.75; }
.teacher-missing { border-top: 1px solid var(--line); padding-top: 14px; margin-bottom: 0; }
@media (max-width: 767px) {
  .page-teacher-reader .page-header { margin-bottom: 12px; padding-bottom: 12px; gap: 12px; }
  .page-teacher-reader .page-header .back-link { margin-bottom: 8px; }
  .page-teacher-reader .page-header .eyebrow { margin-bottom: 6px; }
  .page-teacher-reader .page-header .button { width: 100%; }
  .teacher-sheet-links { margin: 0 0 14px; gap: 4px 18px; }
  .teacher-reading-preface { display: block; margin-bottom: 20px; }
  .teacher-reading-preface .worksheet-epigraph { margin: 16px 0 0; }
  .teacher-reading-layout { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .teacher-index { position: static; }
  .teacher-index h2 { margin-bottom: 8px; }
  .teacher-unit-links .teacher-unit-all { width: auto; }
  .teacher-private-note { margin: 10px 0 0; }
  .teacher-index > .small { margin-bottom: 0; }
  .teacher-problem { padding: 16px; }
  .teacher-shared-conditions { margin-bottom: 18px; padding: 0 16px 16px; }
  .teacher-problem h2 { margin-bottom: 12px; }
}
.student-reading-content { min-width: 0; }
.student-reading-layout.has-index { display: grid; grid-template-columns: 100px minmax(0, 1fr); gap: 24px; }
.reader-index { align-self: start; position: sticky; top: 24px; }
.reader-index-label { display: block; margin-bottom: 8px; color: var(--muted); font-size: .75rem; }
.reader-index-links { display: flex; flex-wrap: wrap; gap: 6px; }
.reader-index-link { display: inline-flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 2px 4px; min-width: 44px; min-height: 44px; padding: 6px; border: 1px solid var(--line); border-radius: 3px; color: var(--primary); background: var(--surface); text-decoration: none; font-size: .875rem; }
.reader-index-link:hover { border-color: var(--primary); background: var(--primary-soft); }
.reader-index-link.is-solved { color: var(--success); background: var(--success-bg); border-color: var(--success); }
.reader-index-link small { font-size: .6875rem; }
.printed-problem:has(.reader-unit-anchor) { position: relative; }
.reader-unit-anchor { position: absolute; top: 0; left: 0; width: 1px; height: 1px; scroll-margin-top: 24px; }
.printed-problem:target, .printed-problem:has(.reader-unit-anchor:target) { outline: 2px solid var(--link); outline-offset: 4px; border-radius: 3px; }
@media (max-width: 767px) {
  .student-reading-layout.has-index { display: block; }
  .reader-index { position: static; margin-bottom: 14px; }
  .reader-index-label { display: none; }
  .reader-index-links { flex-wrap: nowrap; overflow-x: auto; padding: 3px 2px 6px; }
  .reader-index-link { flex: 0 0 auto; }
  .reader-unit-anchor { scroll-margin-top: calc(var(--mobile-header-height) + 16px); }
}

.student-reading-toolbar { position: relative; align-items: center; margin-bottom: 18px; }
.reader-complete a { display: inline-flex; align-items: center; min-height: 44px; font-size: .875rem; }
@media (max-width: 767px) {
  .student-reading-toolbar { flex-wrap: nowrap; gap: 8px; margin-bottom: 10px; }
  .student-reading-toolbar .worksheet-task-filters { width: auto; }
  .student-reading-toolbar .worksheet-task-filters a { font-size: .75rem; padding-inline: 7px; }
  .student-reading-toolbar .worksheet-progress-link { flex: 0 0 auto; font-size: .75rem; gap: 3px; }
  .reader-score-label { display: none; }
}
/* The whole task, rather than the one-pixel compatibility anchor, carries focus. */
.reader-unit-anchor:focus { outline: none; }
