.course-layout { display: grid; gap: 1.25rem; min-width: 0; }
.course-active-session-host { margin-block: 0.75rem; }
.active-session-card.is-compact { gap: 0.55rem; padding: 0.75rem 0.9rem; }
.active-session-card.is-compact > h3 { margin: 0; font-size: 1.1rem; line-height: 1.2; }
.active-session-card.is-compact > .course-stack { gap: 0.45rem; }
.course-actions.active-session-actions-row { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; margin-top: 0.1rem; }
.active-session-actions-row > .button-primary { flex: 0 1 auto; padding-inline: 0.6rem; font-size: var(--font-size-label); }
.active-session-actions-row > .active-session-more-actions-details { flex: 0 1 auto; min-width: 0; margin: 0; padding: 0.15rem 0.35rem; border: 1px solid var(--line); border-radius: var(--radius-control); background: var(--surface); }
.active-session-actions-row > .active-session-more-actions-details > summary { min-height: 44px; padding-block: 0.55rem; cursor: pointer; font-size: var(--font-size-label); font-weight: 700; }
.active-session-details-copy { margin: 0.2rem 0 0.45rem; color: var(--ink-soft); font-size: var(--font-size-label); line-height: 1.4; }
.active-session-more-actions-details .course-actions { margin-top: 0.35rem; }
.active-session-card.is-compact .notice { padding: 0.55rem 0.7rem; }
.course-heading { margin: 0 0 1rem; min-width: 0; }
.course-heading h2 { margin: 0.2rem 0 0.45rem; }
.course-heading > p:last-child { max-width: 72ch; color: var(--ink-soft); }
.course-card { min-width: 0; padding: clamp(1rem, 2vw, 1.5rem); border: 1px solid var(--line); border-radius: 1rem; background: var(--paper, #fffefa); box-shadow: var(--shadow); }
.course-card > :first-child { margin-top: 0; }
.course-card > :last-child { margin-bottom: 0; }
.course-stack { display: grid; gap: 0.85rem; min-width: 0; }
.course-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 0.65rem; margin-top: 1rem; min-width: 0; }
.course-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr)); gap: 1rem; min-width: 0; }
.course-grid.two-column { grid-template-columns: repeat(auto-fit, minmax(min(100%, 20rem), 1fr)); }
.course-grid.three-column { grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr)); }
.course-filter-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr)); gap: 0.8rem; align-items: end; margin: 1rem 0; min-width: 0; }
.course-filter-row .field { margin: 0; min-width: 0; }
.course-form { display: grid; gap: 0.95rem; max-width: 60rem; min-width: 0; }
.course-form input:not([type="checkbox"]):not([type="radio"]), .course-form select, .course-form textarea,
.answer-form input:not([type="checkbox"]):not([type="radio"]), .answer-form select, .answer-form textarea,
.guided-review input:not([type="checkbox"]):not([type="radio"]), .guided-review select, .guided-review textarea,
.exam-player input:not([type="checkbox"]):not([type="radio"]), .exam-player select, .exam-player textarea,
.course-filter-row input:not([type="checkbox"]):not([type="radio"]), .course-filter-row select,
.source-preview select, .session-player select {
  width: 100%; max-width: 100%; min-height: 2.75rem; padding: 0.65rem 0.75rem;
  border: 1px solid var(--control-border); border-radius: var(--radius-control); background: var(--control-surface); color: var(--control-foreground); font: inherit;
}
.course-form textarea, .answer-form textarea, .guided-review textarea, .exam-player textarea { min-height: 7rem; resize: vertical; line-height: 1.5; }
.course-check-group { display: flex; flex-wrap: wrap; gap: 0.55rem 0.8rem; min-width: 0; margin: 0; padding: 0.75rem; border: 1px solid var(--line); border-radius: 0.75rem; }
.course-check-group legend { padding: 0 0.35rem; font-weight: 700; }
.compact-check { min-width: 2.7rem; }
.summary-chips { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.suggestion-list { margin: 0; padding-left: 1.4rem; }
.suggestion-list li { padding: 0.3rem 0; }
.course-details { padding: 0.8rem; border: 1px solid var(--line); border-radius: 0.75rem; background: #faf9f4; }
.course-details summary, .source-context-page summary, .model-solution summary, .attempt-detail summary, .session-answer-record summary, .technical-details summary { cursor: pointer; font-weight: 700; }
.course-details[open] > summary, .source-context-page[open] > summary, .model-solution[open] > summary { margin-bottom: 0.7rem; }
.exam-intro-details { margin: 0.25rem 0 0.55rem; }
.exam-intro-details > summary { min-height: 2.75rem; padding-block: 0.55rem; overflow-wrap: anywhere; }
.exam-intro-details[open] > summary { margin-bottom: 0.3rem; }
.exam-intro-details > p { max-width: 80ch; margin: 0; overflow-wrap: anywhere; }
.lesson-layout { grid-template-columns: minmax(13rem, 0.36fr) minmax(0, 1fr); align-items: start; margin-top: 1rem; }
.lesson-list { display: grid; gap: 0.4rem; max-height: 72vh; overflow: auto; min-width: 0; padding: 0.25rem; border: 1px solid var(--line); border-radius: 0.8rem; background: #f7f6f0; }
.lesson-pick { width: 100%; min-height: 2.75rem; padding: 0.65rem; text-align: left; white-space: normal; border: 1px solid transparent; border-radius: 0.6rem; background: transparent; color: inherit; font: inherit; cursor: pointer; }
.lesson-pick:hover, .lesson-pick.is-selected { border-color: var(--control-border); background: #eaf1e9; }
.lesson-detail { line-height: 1.6; overflow-wrap: anywhere; }
.lesson-detail h3 { line-height: 1.25; }
.learn-heading { margin-bottom: 0.55rem; }
.learn-heading > p:last-child { margin: 0.2rem 0; font-size: 0.92rem; }
.learn-continue-card { display: grid; gap: 0.25rem; margin: 0.5rem 0; padding: 1rem; border-color: #9db5a0; background: #f1f5ef; }
.learn-continue-card h3, .learn-continue-card p { margin: 0; }
.learn-continue-button { width: fit-content; margin-top: 0.35rem; }
.learn-filter-details { margin: 0.65rem 0; }
.learn-filter-details > summary { min-height: 2.75rem; padding-block: 0.55rem; }
.learn-filter-details[open] > summary { margin-bottom: 0.35rem; }
.learn-position-block { scroll-margin-block-start: 1rem; }
.micro-lesson-overview > :first-child { margin-top: 0; }
.lesson-section { padding-top: 0.55rem; border-top: 1px solid var(--line); }
.lesson-section p { max-width: 78ch; }
.lesson-objectives, .key-ideas { padding-left: 1.4rem; }
.worked-example { margin: 0.8rem 0; padding: 1rem; border-left: 4px solid var(--accent); border-radius: 0.5rem; background: #eef4eb; }
.mistake-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr)); gap: 0.7rem; }
.mistake-card { padding: 0.8rem; border: 1px solid var(--line); border-radius: 0.7rem; }
.mistake-card p { margin-bottom: 0; }
.transfer-prompt { padding: 0.75rem; background: #f2f1e9; border-radius: 0.65rem; }
.practice-results, .exam-list { display: grid; gap: 0.5rem; min-width: 0; }
.practice-result, .exam-assembly, .exam-history-row { min-width: 0; padding: 0.9rem; border: 1px solid var(--line); border-radius: 0.8rem; background: #fff; }
.practice-result h3, .exam-assembly h3 { margin: 0.15rem 0 0.5rem; overflow-wrap: anywhere; }
.practice-result > p, .exam-assembly > p { overflow-wrap: anywhere; }
#panel-practice > .practice-panel-heading { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-rows: auto auto; align-items: center; gap: 0.15rem 0.6rem; margin-bottom: 0.35rem; }
#panel-practice > .practice-panel-heading > .eyebrow { grid-column: 1; grid-row: 1; margin: 0; }
#panel-practice > .practice-panel-heading > h2 { grid-column: 1 / -1; grid-row: 2; margin: 0; }
#panel-practice > .practice-panel-heading > .practice-guide-button { grid-column: 2; grid-row: 1; min-height: 44px; max-width: 100%; padding: 0.5rem 0.7rem; white-space: normal; line-height: 1.2; }
.practice-catalog-filters { display: grid; gap: 0.3rem; min-width: 0; padding: 0.55rem 0.7rem; }
.practice-basic-filters { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.35rem 0.55rem; margin: 0.1rem 0; }
.practice-basic-filters > .field { gap: 0.2rem; }
.practice-basic-filters > .search-field { margin: 0; gap: 0.2rem; }
.practice-basic-filters input[type="search"], .practice-basic-filters select { min-height: 44px; padding-block: 0.45rem; }
.practice-route-help { max-width: 62ch; margin: 0.2rem 0 0; }
.practice-filter-controls { display: flex; flex-wrap: wrap; align-items: center; gap: 0.4rem; min-width: 0; }
.practice-advanced-filters { flex: 1 1 12rem; min-width: 0; border: 1px solid var(--line); border-radius: 0.65rem; background: #fff; }
.practice-advanced-filters > summary { min-height: 2.75rem; padding: 0.55rem 0.75rem; cursor: pointer; font-weight: 650; line-height: 1.35; overflow-wrap: anywhere; }
.practice-advanced-filter-fields { margin: 0.15rem 0 0; padding: 0 0.65rem 0.65rem; }
.practice-filter-controls > .button { flex: 0 0 auto; min-height: 44px; margin: 0; }
.practice-results-count { margin: 0.25rem 0; }
.practice-entry-copy { margin-block: 0.45rem; }
.practice-entry-details { margin: 0.35rem 0 0.55rem; min-width: 0; }
.practice-entry-details > summary { min-height: 2.75rem; padding: 0.55rem 0; cursor: pointer; color: var(--accent-strong); font-weight: 650; overflow-wrap: anywhere; }
.practice-entry-details > p { margin: 0.4rem 0; overflow-wrap: anywhere; }
.practice-result-digital { padding: 0.45rem 0.6rem; }
.practice-digital-main { display: grid; grid-template-columns: minmax(0, 1fr); align-items: center; gap: 0.25rem; min-width: 0; }
.practice-digital-copy { min-width: 0; }
.practice-result-digital h3 { margin: 0; font-size: 1rem; line-height: 1.2; }
.practice-result-meta { margin: 0.15rem 0 0; font-size: var(--font-size-label); line-height: 1.25; overflow-wrap: anywhere; }
.practice-result-controls { display: flex; flex-wrap: wrap; align-items: stretch; gap: 0.4rem; min-width: 0; }
.practice-result-action { flex: 1 1 auto; min-width: 0; min-height: 44px; max-width: 100%; padding: 0.45rem 0.55rem; line-height: 1.2; white-space: normal; }
.practice-result-digital .practice-source-details { flex: 0 1 auto; min-width: 0; margin: 0; }
.practice-result-digital .practice-source-details > summary { display: list-item; min-width: 6.1rem; min-height: 44px; padding: 0.5rem 0.35rem 0.45rem 1.15rem; line-height: 1.2; }
.practice-result-digital .practice-source-details[open] { flex: 1 1 100%; }
.pagination { justify-content: center; }
.source-preview { margin-top: 1.25rem; border-color: #a8bcae; }
.source-prompt, .activity-prompt { font-size: 1.08rem; font-weight: 650; line-height: 1.55; overflow-wrap: anywhere; }
.source-player-context, .exam-source-context { display: grid; gap: 0.6rem; margin: 0.8rem 0; min-width: 0; }
.source-context-page { min-width: 0; padding: 0.7rem; border: 1px solid var(--line); border-radius: 0.75rem; background: #fbfaf6; }
.source-page-text, .answer-archive { display: block; max-width: 100%; overflow: auto; white-space: pre-wrap; overflow-wrap: anywhere; font: 1rem/1.5 ui-monospace, SFMono-Regular, Consolas, monospace; }
.source-page-image img, .question-image-wrap img { max-height: 75vh; }
.source-page-image { overflow: auto; }
.source-page-image img { max-width: 100%; object-fit: contain; }
.source-context-page .page-image-wrap { margin-inline: 0; }
.technical-details { margin-top: 0.65rem; padding: 0.55rem; border: 1px dashed #aeb8ae; border-radius: 0.5rem; }
.activity-passage { margin: 0.5rem 0; padding: 0.8rem; border-left: 3px solid #57765f; background: #f0f3ee; }
.answer-form, .guided-review { display: grid; gap: 0.85rem; margin-top: 1rem; min-width: 0; }
.answer-form > h4, .guided-review > h5 { margin: 0; }
.structured-answer-stepper, .structured-stepper-panels, .structured-stepper-review,
.structured-stepper-summary-item, .structured-item { min-width: 0; max-width: 100%; }
.structured-stepper-navigation { display: grid; grid-template-columns: minmax(44px, auto) minmax(0, 1fr) minmax(44px, auto); align-items: center; gap: 0.5rem; min-width: 0; }
.structured-stepper-navigation > .button { min-width: 44px; min-height: 44px; max-width: 100%; padding: 0.55rem; white-space: normal; line-height: 1.25; }
.structured-stepper-position { min-width: 0; margin: 0; text-align: center; overflow-wrap: anywhere; }
.structured-response-status, .structured-stepper-status { min-width: 0; overflow-wrap: anywhere; }
.structured-stepper-review { overflow-wrap: anywhere; }
.structured-stepper-review > summary { min-height: 44px; padding-block: 0.65rem; cursor: pointer; overflow-wrap: anywhere; }
.structured-stepper-summary { margin: 0.35rem 0 0; padding-inline-start: 1.5rem; }
.structured-stepper-summary-item { margin-block: 0.35rem; }
.structured-stepper-jump { width: 100%; min-width: 44px; min-height: 44px; max-width: 100%; text-align: left; white-space: normal; overflow-wrap: anywhere; }
.structured-item { margin-inline: 0; overflow-wrap: anywhere; }
.structured-table-scroll { width: 100%; max-width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; }
.structured-table-scroll .structured-answer-table { width: max-content; min-width: 100%; }
.digital-resource-table-scroll { box-sizing: border-box; min-width: 0; }
.digital-resource-table-scroll .data-table { width: max-content; min-width: 100%; }
.digital-resource-zoom-button, .digital-image-dialog-close { min-width: 44px; min-height: 44px; }
.digital-resource-zoom-button { margin-block: 0.45rem; }
.digital-image-dialog { box-sizing: border-box; width: min(94vw, 72rem); max-width: 94vw; max-height: 94vh; overflow: auto; overscroll-behavior: contain; padding: 1rem; border: 1px solid var(--line); border-radius: 0.85rem; color: var(--ink); background: var(--paper); }
.digital-image-dialog::backdrop { background: rgb(20 28 23 / 72%); }
.digital-image-dialog > h3 { margin-top: 0; }
.digital-image-dialog-close { position: sticky; top: 0; inset-inline-start: 0; z-index: 2; width: fit-content; }
.digital-image-dialog-image { display: block; width: min(88vw, 68rem); min-width: 44rem; max-width: none; max-height: none; margin: 0.8rem 0; object-fit: contain; }
.digital-image-zoom-fallback[hidden] { display: none; }
.digital-image-zoom-fallback { box-sizing: border-box; width: min(90vw, 70rem); max-width: 100%; max-height: 80vh; margin-block: 0.6rem; overflow: auto; overscroll-behavior: contain; }
.digital-image-zoom-fallback .digital-resource-image-expanded { width: min(88vw, 68rem); min-width: 44rem; max-width: none; max-height: none; object-fit: contain; }
.answer-choice { min-width: min(100%, 17rem); padding: 0.55rem; border: 1px solid var(--control-border); border-radius: 0.6rem; }
.answer-choice input { width: 1.1rem; min-height: 1.1rem; }
.hint-area { min-height: 0.25rem; }
.inline-validation-error { margin: 0; color: var(--danger); font-weight: 700; }
.inline-validation-error[hidden] { display: none; }
.attempt-feedback { margin: 0.8rem 0; padding: 0.9rem; border: 1px solid var(--success-border); border-left: 5px solid var(--success); border-radius: 0.7rem; background: var(--success-bg); overflow-wrap: anywhere; }
.attempt-feedback h4 { margin-top: 0; }
.feedback-incorrect { border-color: var(--danger-border); border-left-color: var(--danger); background: var(--danger-bg); }
.feedback-pending { border-color: var(--warning-border); border-left-color: var(--warning); background: var(--warning-bg); }
.misconception { font-weight: 700; color: var(--danger); }
.model-solution { margin-top: 0.7rem; padding: 0.7rem; border: 1px dashed #b8ad8b; border-radius: 0.6rem; background: #fffdf4; }
.guided-review { padding-top: 0.8rem; border-top: 1px solid var(--line); }
.review-criterion { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0.5rem; margin: 0; padding: 0.75rem; border: 1px solid var(--line); border-radius: 0.65rem; }
.review-criterion legend { padding: 0 0.35rem; font-weight: 700; }
.review-criterion .field { margin: 0; }
.saved-review { margin-top: 0.7rem; padding: 0.75rem; border-radius: 0.6rem; background: #edf3ee; }
.session-answer-history { display: grid; gap: 0.6rem; margin-top: 1rem; }
.session-answer-history h4 { margin: 0; }
.session-answer-record { min-width: 0; padding: 0.7rem; border: 1px solid var(--line); border-radius: 0.65rem; }
.session-answer-record summary { overflow-wrap: anywhere; }
.calculator-card { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 0.65rem; align-items: end; margin-top: 1rem; padding: 0.8rem; border: 1px solid var(--line); border-radius: 0.7rem; background: #f7f6f0; }
.calculator-card h4 { grid-column: 1 / -1; margin: 0; }
.calculator-card .field { margin: 0; }
.calculator-output { grid-column: 1 / -1; min-height: 1.5rem; font-weight: 700; overflow-wrap: anywhere; }
.exam-player { border: 2px solid #8b9b8e; }
.exam-support-details { min-width: 0; margin: 0.35rem 0 0.55rem; }
.exam-support-details > summary { min-height: 2.75rem; padding: 0.55rem 0.1rem; cursor: pointer; font-weight: 650; overflow-wrap: anywhere; }
.exam-support-details[open] > summary { margin-bottom: 0.3rem; }
.exam-delivery-bar { display: grid; gap: 0.55rem; min-width: 0; margin-top: 1rem; padding: 0.75rem; border: 1px solid var(--danger-border); border-radius: 0.7rem; background: var(--danger-bg); }
.exam-delivery-summary, .exam-delivery-note { min-width: 0; margin: 0; overflow-wrap: anywhere; }
.exam-delivery-bar > .button { justify-self: start; max-width: 100%; min-height: 2.75rem; white-space: normal; }
.exam-topline { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 0.8rem; margin-bottom: 1rem; }
.exam-clock-group { display: flex; align-items: center; gap: 0.7rem; font-weight: 700; }
.exam-countdown { display: inline-block; min-width: 6.1rem; padding: 0.35rem 0.55rem; border-radius: 0.5rem; background: #25392d; color: white; text-align: center; font: 700 1.4rem/1.2 ui-monospace, monospace; }
.exam-label { margin: 0; font-weight: 700; }
.exam-question-nav { display: flex; flex-wrap: wrap; gap: 0.35rem; margin: 0.8rem 0; }
.exam-question-button { min-width: 2.75rem; min-height: 2.75rem; border: 1px solid var(--control-border); border-radius: 0.55rem; background: #fff; color: inherit; font: inherit; cursor: pointer; }
.exam-question-button.is-current { outline: 3px solid var(--focus); outline-offset: 1px; }
.exam-question-button.is-answered { background: var(--success-bg); border-color: var(--success-border); }
.exam-source-page summary { color: var(--muted); }
.exam-correction-item { display: grid; gap: 0.65rem; margin: 1rem 0; min-width: 0; }
.exam-correction-item h3 { margin: 0; }
.exam-result-summary { border-left: 5px solid var(--success); }
.exam-basic-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.65rem; margin: 0.55rem 0 0.25rem; }
.exam-advanced-filters { min-width: 0; margin: 0.25rem 0 0.5rem; border: 1px solid var(--line); border-radius: 0.65rem; background: #fff; }
.exam-advanced-filters > summary { min-height: 2.75rem; padding: 0.55rem 0.7rem; cursor: pointer; font-weight: 650; line-height: 1.35; overflow-wrap: anywhere; }
.exam-advanced-filter-fields { margin: 0; padding: 0.1rem 0.65rem 0.65rem; }
.exam-results-count { margin: 0.45rem 0; font-weight: 700; overflow-wrap: anywhere; }
.exam-active-filter-summary { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.45rem 0.75rem; margin: 0.35rem 0 0.65rem; padding: 0.55rem 0.65rem; border-left: 3px solid var(--accent); border-radius: 0.45rem; background: #f2f5ef; min-width: 0; }
.exam-active-filters { flex: 1 1 18rem; min-width: 0; margin: 0; overflow-wrap: anywhere; }
.exam-active-filter-summary .button { min-height: 2.75rem; max-width: 100%; white-space: normal; }
.exam-assembly { padding: 0.7rem 0.8rem; }
.exam-assembly-meta { margin: 0 0 0.2rem; color: var(--ink-soft); font-size: 0.82rem; font-weight: 700; line-height: 1.35; overflow-wrap: anywhere; }
.exam-assembly .exam-assembly-scope { margin: 0 0 0.35rem; line-height: 1.25; }
.exam-parts-label { margin: 0.25rem 0 0.1rem; font-weight: 650; overflow-wrap: anywhere; }
.exam-parts { margin: 0.1rem 0 0.35rem; padding-inline-start: 1.25rem; overflow-wrap: anywhere; }
.exam-assembly-reference { margin: 0.25rem 0; }
.exam-source-details { margin-top: 0.4rem; padding: 0.45rem 0.55rem; }
.exam-source-details > summary { min-height: 2.75rem; padding-block: 0.55rem; cursor: pointer; font-weight: 650; overflow-wrap: anywhere; }
.exam-source-documents { padding-inline-start: 1.25rem; overflow-wrap: anywhere; }
.exam-history-row { margin: 0.65rem 0; }
.progress-metrics { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 10rem), 1fr)); gap: 0.65rem; margin: 1rem 0; }
.progress-metric { display: grid; gap: 0.3rem; padding: 0.8rem; border: 1px solid var(--line); border-radius: 0.7rem; background: #f5f6ef; }
.progress-metric strong { font-size: 1.45rem; }
.progress-metric span { color: var(--ink-soft); }
.progress-actions { margin-block: 0.5rem 0.75rem; }
.progress-actions > h3 { margin: 0 0 0.5rem; }
.progress-summary-metrics { margin: 0.5rem 0; }
.progress-summary-metrics .progress-metric { gap: 0.2rem; padding: 0.55rem 0.65rem; }
.progress-summary-metrics .progress-metric, .progress-domain-summary, .progress-metric-definitions, .progress-alternative-actions, .progress-extra-metrics, .progress-evidence, .progress-answer-history, .progress-timeline, .progress-local-search, .progress-reports { min-width: 0; overflow-wrap: anywhere; }
.progress-domain-summary { margin-block: 0.75rem; }
.progress-domain-summary > h3, .progress-domain-summary > p { margin-block: 0.25rem 0.5rem; }
.progress-domain-summary .scope-badge { min-width: 0; overflow-wrap: anywhere; }
.progress-quick-links { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; min-width: 0; margin-block: 0.75rem; }
.progress-quick-links .button { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
.progress-metric-definitions, .progress-alternative-actions, .progress-due-list, .progress-next-plan, .progress-extra-metrics, .progress-evidence, .progress-answer-history, .progress-timeline, .progress-local-search, .progress-reports { margin-top: 0.5rem; }
.progress-metric-definitions > summary, .progress-alternative-actions > summary, .progress-due-list > summary, .progress-next-plan > summary, .progress-extra-metrics > summary, .progress-evidence > summary, .progress-answer-history > summary, .progress-timeline > summary, .progress-local-search > summary, .progress-reports > summary { min-height: 2.75rem; padding-block: 0.55rem; cursor: pointer; font-weight: 700; line-height: 1.4; overflow-wrap: anywhere; }
.topic-evidence { padding: 0.5rem; border-bottom: 1px solid var(--line); overflow-wrap: anywhere; }
.attempt-archive, .event-timeline, .data-management { margin-top: 1rem; }
.attempt-detail, .timeline-row { padding: 0.7rem 0; border-bottom: 1px solid var(--line); overflow-wrap: anywhere; }
.timeline-row time { color: var(--ink-soft); font-size: 0.85rem; }
.timeline-row p { margin: 0.25rem 0; }
.legacy-history { margin-top: 1rem; }
.import-file { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; clip-path: inset(50%); }
.course-source-controls { display: grid; gap: 0.6rem; margin-top: 1rem; padding: 0.9rem; border: 1px solid #9db5a0; border-radius: 0.7rem; background: #f1f5ef; }
.course-source-controls h4, .course-source-controls p { margin: 0; }
.course-source-controls textarea { width: 100%; max-width: 100%; min-height: 5rem; padding: 0.65rem; border: 1px solid var(--control-border); border-radius: 0.6rem; font: inherit; }
.storage-healthy { background: var(--success-bg); border-color: var(--success-border); }
#course-storage-status { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; margin: 0 0 1rem; }
#course-storage-status p { flex: 1 1 28rem; margin: 0; overflow-wrap: anywhere; }
#course-storage-status:not(.storage-healthy) > p { flex: 1 1 auto; min-width: 0; min-height: 0; }
#course-storage-status.storage-healthy { width: fit-content; max-width: 100%; gap: 0.25rem 0.65rem; margin-bottom: 0.55rem; padding: 0.3rem 0.55rem; border-radius: 0.65rem; font-size: 0.82rem; line-height: 1.25; }
#course-storage-status.storage-healthy > p { flex: 0 1 auto; font-weight: 750; }
#course-storage-status.storage-healthy details { min-width: 0; }
#course-storage-status.storage-healthy summary { min-height: 2.75rem; padding: 0.65rem 0.2rem; cursor: pointer; font-weight: 700; }
#course-storage-status.storage-healthy details > p { flex: 0 1 100%; max-width: 65ch; margin: 0.25rem 0 0; font-weight: 400; }
.profile-form { gap: 0.62rem; }
.profile-form .profile-form-title { margin: 0; font-size: 1.25rem; line-height: 1.2; }
.profile-language-preview { min-width: 0; margin: 0; color: var(--ink); font-size: 0.9rem; font-weight: 650; line-height: 1.4; overflow-wrap: anywhere; }
.profile-essential-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: end; gap: 0.55rem; min-width: 0; }
.profile-essential-row > .field { min-width: 0; }
.profile-customize-details { display: grid; gap: 0.55rem; padding: 0.55rem 0.65rem; }
.profile-customize-details[open] > summary { margin-bottom: 0; }
.profile-customize-details > .field-help { margin: 0; }
.help-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr)); gap: 1rem; margin-top: var(--space-4); }
.help-grid .coverage-card { min-width: 0; overflow-wrap: anywhere; }
.help-grid .link-list { overflow-wrap: anywhere; }
.technical-details p { overflow-wrap: anywhere; }

@media (max-width: 700px) {
  .practice-basic-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .practice-basic-filters > .search-field { grid-column: 1 / -1; }
  .progress-actions { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: 0.35rem 0.5rem; margin-block: 0.35rem 0.55rem; }
  .progress-actions > h3 { grid-column: 1 / -1; margin: 0; }
  .progress-actions > .study-plan-action { display: grid; grid-column: 1 / -1; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 0.25rem 0.65rem; margin: 0; padding: 0.55rem 0.65rem; }
  .progress-actions > .study-plan-action > h4 { grid-column: 1 / -1; margin: 0; }
  .progress-actions > .study-plan-action > p { margin: 0; line-height: 1.35; }
  .progress-actions > .study-plan-action > .button { grid-column: 2; grid-row: 2; min-height: 44px; padding: 0.5rem 0.6rem; }
  .progress-actions > .study-plan-action.progress-profile-required { grid-template-columns: minmax(0, 1fr); }
  .progress-actions > .study-plan-action.progress-profile-required > .progress-profile-copy { grid-column: 1; }
  .progress-actions > .study-plan-action.progress-profile-required > .button { grid-column: 1; grid-row: auto; justify-self: start; }
  .progress-actions > .progress-alternative-actions { grid-column: 1; margin: 0; }
  .progress-actions > .button:last-child { grid-column: 2; min-width: 0; min-height: 44px; margin: 0; padding: 0.5rem 0.6rem; }
  .progress-summary-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.4rem; margin: 0.25rem 0; }
  .progress-summary-metrics .progress-metric { padding: 0.45rem 0.5rem; }
  .lesson-layout { grid-template-columns: minmax(0, 1fr); }
  .lesson-list { max-height: 18rem; }
  .learn-continue-card { padding: 0.85rem; }
  .learn-continue-button { width: 100%; min-height: 2.75rem; }
  .learn-filter-details .course-filter-row { grid-template-columns: minmax(0, 1fr); }
  .exam-basic-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .learn-position-block { scroll-margin-block-start: 0.5rem; }
  .calculator-card { grid-template-columns: minmax(0, 1fr); }
  .calculator-card h4, .calculator-output { grid-column: auto; }
  .course-actions:not(.active-session-actions-row) > .button { flex: 1 1 auto; }
  .exam-topline { align-items: flex-start; }
  .exam-correction-item { padding: 0.75rem; }

  body.has-course-profile .learn-heading { margin-bottom: 0.35rem; }
  body.has-course-profile .learn-heading h2 { margin-bottom: 0.1rem; font-size: 1.25rem; line-height: 1.15; }
  body.has-course-profile .learn-heading > p:last-child { font-size: var(--font-size-label); line-height: 1.35; }
  body.has-course-profile .active-practice-guide-return { gap: 0.25rem; margin: 0.3rem 0; padding: 0.45rem 0.6rem; border-radius: 0.65rem; }
  body.has-course-profile .active-practice-guide-return p { font-size: var(--font-size-label); line-height: 1.35; }
  body.has-course-profile .active-practice-guide-return .button { min-height: 44px; padding-block: 0.45rem; }
  body.has-course-profile .learn-continue-card { gap: 0.12rem; margin: 0.35rem 0; padding: 0.6rem; }
  body.has-course-profile .learn-continue-card h3 { font-size: 1rem; line-height: 1.2; }
  body.has-course-profile .learn-continue-card p { font-size: var(--font-size-label); line-height: 1.35; }
}

@media (max-width: 390px) {
  .course-card { padding: 0.75rem; border-radius: 0.75rem; }
  .course-filter-row { grid-template-columns: minmax(0, 1fr); }
  .course-filter-row.practice-basic-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .practice-basic-filters > .practice-search-field { grid-column: 1 / -1; }
  .exam-basic-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .course-actions { gap: 0.45rem; }
  .course-actions:not(.active-session-actions-row) > .button { flex-basis: 100%; }
  .practice-filter-controls { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: stretch; }
  .practice-filter-controls > .button { width: auto; }
  .exam-question-button { min-width: 2.5rem; min-height: 2.5rem; }
  .page-image-wrap { max-width: 100%; overflow: auto; }
}

@media (min-width: 320px) and (max-width: 390px) {
  .practice-digital-main { gap: 0.4rem; }
}

@media (max-width: 359px) {
  .practice-digital-main { grid-template-columns: minmax(0, 1fr); }
  .practice-result-controls { gap: 0.3rem; }
  .practice-result-action { flex: 1 1 8rem; justify-self: start; padding-inline: 0.35rem; }
  .practice-result-digital .practice-source-details { flex: 0 1 5.5rem; }
  .practice-result-digital .practice-source-details > summary { min-width: 0; padding-inline: 1rem 0.2rem; overflow-wrap: anywhere; }
  .exam-basic-filters { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 640px) {
  .profile-form input[type="date"] { min-inline-size: 0; }
  .profile-form .course-check-group > .check-option {
    min-inline-size: 0;
    max-inline-size: 100%;
    overflow-wrap: anywhere;
  }
  .profile-form > .button {
    min-width: min(100%, 150px);
    min-inline-size: min(100%, 150px);
    max-inline-size: 100%;
    white-space: normal;
  }
}

@media (max-width: 359px) {
  .profile-essential-row { grid-template-columns: minmax(0, 1fr); }
}
