/* Platform shell and source adapters. Source documents are never served as course pages. */
.lesson-block .quiz button{color:var(--on-accent)}
.lesson-block #brActs button{color:var(--on-accent)}
.lesson-block .bring{opacity:1;border-style:dashed}.lesson-block .bring.lit{border-style:solid}
[hidden]{display:none!important}*,*::before,*::after{transition:none!important}
body{font-size:18px}.text-button{background:transparent;color:var(--accent);padding:8px}.header-inner nav form{margin:0}.messages{max-width:1152px;margin:16px auto;padding:0 16px}.small{font-size:15px;margin-top:16px}.enrollment{margin-top:32px}.card>h2,.card>h3{margin-top:16px}.card>h2:first-child,.card>h3:first-child{margin-top:0}.auth-links{display:flex;justify-content:space-between;gap:16px;margin-top:24px}.form-card input:not([type=checkbox]),.card form>input:not([type=hidden]):not([type=checkbox]),.card form>select{display:block;width:100%;margin-bottom:16px}.card form>label{margin-top:16px}.card form>button{margin-top:16px}.check-label{display:flex;align-items:center;gap:12px;margin:24px 0}.errorlist{color:var(--risk);padding-inline-start:24px}.helptext{display:block;font-size:15px;color:var(--ink-2)}.policy{max-width:800px}.qr{background:white;display:flex;justify-content:center;border-radius:10px;padding:16px;margin:24px 0}.qr svg{width:240px;height:240px}.metric{font:600 38px var(--f-mono);direction:ltr;text-align:right}.day-chart{display:flex;gap:8px;overflow:auto;padding:16px 0}.day-chart>div{min-width:56px;display:flex;flex-direction:column;align-items:center;padding:12px;background:var(--accent-soft);border-radius:8px}.day-chart span{font-size:14px}progress{width:100%;height:14px;accent-color:var(--accent)}.preview-page{max-width:840px}.preview-page article{margin-top:32px}.sourcelist a{overflow-wrap:anywhere}.copy-status{font-size:15px;color:var(--accent)}
.lesson-layout{max-width:1200px;grid-template-columns:240px minmax(0,760px);padding:40px 24px 80px;gap:48px}.lesson-intro h1{font-size:36px}.lesson-intro .topics,.lesson-intro .ltags{margin-top:16px}.lesson-block{margin-bottom:40px;scroll-margin-top:24px}.lesson-block>.col{max-width:100%}.lesson-block button{color:var(--ink);min-width:44px;min-height:44px}.lesson-block .btn,.lesson-block .copy{color:var(--on-accent);background:var(--accent)}.lesson-block .chk .go{background:var(--accent);color:var(--on-accent)}.lesson-block .chk.ran .go{display:inline-flex;visibility:visible;background:var(--surface-2);color:var(--ink)}.lesson-block .switch{position:relative;min-height:44px}.lesson-block .switch input{position:absolute;inset-inline-start:0;width:44px;height:44px;min-height:44px;opacity:0}.lesson-block .riskcard{color:var(--ink)}.lesson-block .cursor{animation:none!important}.lesson-block [class*=read]{scroll-margin:24px}.lesson-block .tablewrap{overflow:auto}.lesson-block input[type=range]{width:100%;padding:0}.lesson-block summary{min-height:44px}.quiz fieldset{min-width:0;margin:0 0 24px;padding:20px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.quiz legend{font-weight:700;padding:0 8px}.quiz-option{display:flex;gap:12px;padding:12px;margin:8px 0;border:1px solid var(--line);border-radius:8px;align-items:center;cursor:pointer;min-height:44px}.quiz-option:has(input:checked){background:var(--accent-soft);border-color:var(--accent)}.quiz-feedback{padding:16px;background:var(--surface-2);border-radius:8px;margin:16px 0}.quiz-feedback.correct{background:var(--ok-soft)}.quiz-feedback.incorrect{background:var(--warn-soft)}#issue-status{margin-top:16px}input[type=radio],input[type=checkbox]{flex:none}.muted,small{color:var(--ink-2)}
@media(min-width:1024px){.toc details{max-height:calc(100vh - 48px);overflow:auto}.toc{top:24px}}
@media(max-width:1023px){.lesson-layout{grid-template-columns:minmax(0,760px);gap:24px}.toc{position:static}}
@media(max-width:767px){.lesson-layout{padding:24px 16px 64px}.lesson-intro h1{font-size:28px}.wide-scroll table,.wide-scroll tbody,.wide-scroll tr,.wide-scroll td{display:block;width:100%}.wide-scroll thead{display:none}.wide-scroll tr{padding:16px;border-bottom:1px solid var(--line)}.wide-scroll td{border:0;padding:8px 0}.wide-scroll code{overflow-wrap:anywhere}.wide-scroll .actions{gap:8px}.lesson-block .chk{grid-template-columns:24px minmax(0,1fr)}.lesson-block .chk .go,.lesson-block .chk .verdict{grid-column:2}.lesson-block .panel-body{padding:16px}.lesson-block .wayfind{grid-template-columns:1fr}.lesson-block .risk-grid{grid-template-columns:1fr}.header-inner nav{gap:8px}.header-inner nav a,.header-inner nav button{font-size:16px}.auth-links{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.field-label{display:block;margin-top:16px}.file-picker{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:8px 0 16px}.file-picker-button{margin:0!important}.file-picker-input:focus-visible+.file-picker-button{outline:3px solid var(--accent);outline-offset:4px}.file-picker-status{color:var(--ink-2);overflow-wrap:anywhere}.version-actions{min-width:230px}.version-actions>.actions{align-items:flex-start}.version-actions form{margin:0}.version-actions form>button{margin:0}.blocked-reason{width:100%;margin:8px 0 0;color:var(--ink-2);font-size:15px;line-height:1.5}.badge.pending{background:var(--surface-2);color:var(--ink-2);border-color:var(--line-2)}
@media(max-width:767px){.screen-tabs{flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin;padding-bottom:4px}.screen-tabs a{flex:0 0 auto}.file-picker{align-items:flex-start;flex-direction:column}}
.operator-page{--accent:#33406E}.operator-narrow{max-width:680px;margin-inline:auto}.operator-filters{margin-bottom:24px}.operator-filters h2{font-size:24px}.filter-row{display:grid;grid-template-columns:minmax(220px,2fr) minmax(180px,1fr) auto auto;gap:16px;align-items:end}.filter-row input,.filter-row select{width:100%;margin:8px 0 0!important}.filter-row button{margin:0!important}.operator-count{color:var(--ink-2);font-size:16px}.operator-table td:first-child{min-width:210px}.operator-table td:nth-child(3){min-width:190px}.grant-line+.grant-line{border-top:1px solid var(--line);margin-top:10px;padding-top:10px}.grant-card{padding:16px 0;border-bottom:1px solid var(--line)}.grant-card:first-of-type{padding-top:0}.grant-card:last-child{border-bottom:0}.grant-card form+form{margin-top:8px}.back-link{display:inline-flex;align-items:center;min-height:44px;margin-bottom:12px}
@media(max-width:900px){.filter-row{grid-template-columns:1fr 1fr}.filter-row button,.filter-row .button{width:100%}}
@media(max-width:520px){.filter-row{grid-template-columns:1fr}.operator-page .section-heading .button{width:100%}.operator-narrow .actions{align-items:stretch;flex-direction:column}.operator-narrow .actions>*{width:100%}}

/* Lesson tables keep their semantic rows and RTL column order while the containing
   region, rather than the page, owns horizontal overflow. */
.lesson-layout>article,.preview-page article,.lesson-block{min-width:0}
.lesson-table-scroll{max-inline-size:100%;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin}
@media(max-width:767px){
 .lesson-block table:not(.tablewrap table):not(.dtab table):not(.lesson-table-scroll table){display:block;inline-size:100%;max-inline-size:100%;min-inline-size:0;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin}
}
.feedback-composer{max-width:1200px;margin:0 auto;padding:0 24px 24px}.feedback-composer details{max-width:560px;margin-inline-start:auto;border:1px solid var(--line);border-radius:10px;background:var(--surface);padding:8px 16px}.feedback-composer summary{color:var(--accent)}.feedback-composer form{padding:8px 0}.feedback-composer label{font-weight:700;margin-bottom:8px}.feedback-composer textarea{min-height:96px}.feedback-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.feedback-actions p{margin:0}.feedback-note{margin-bottom:16px}.feedback-note-heading{display:flex;justify-content:space-between;align-items:start;gap:16px}.feedback-note-heading p{margin:4px 0 16px}.page-path{direction:ltr;text-align:left;overflow-wrap:anywhere;font-family:var(--f-mono);font-size:15px}.feedback-note-text{white-space:normal;overflow-wrap:anywhere}.feedback-note form{margin-top:16px}.filter-row{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.filter-row>div{min-width:min(100%,300px)}.operator-count{color:var(--ink-2)}
@media(max-width:767px){.feedback-composer{padding:0 16px 24px}.feedback-composer details{max-width:none}.feedback-actions{align-items:stretch;flex-direction:column}.feedback-actions button{width:100%}.feedback-note-heading{flex-direction:column}.filter-row>*{width:100%}}
.usage-chart{display:flex;gap:8px;overflow-x:auto;padding:8px 0}.usage-chart>div{display:flex;flex:1 0 54px;min-height:76px;flex-direction:column;align-items:center;justify-content:center;border-radius:8px;background:var(--accent-soft);color:var(--accent)}.usage-chart span{font-size:14px}.usage-tables>.card{min-width:0}.usage-tables .card>.wide-scroll{margin-inline:-1px}@media(max-width:767px){.usage-summary{grid-template-columns:1fr}.usage-tables{grid-template-columns:1fr}.usage-chart>div{flex-basis:48px}}
.invitation-result{margin-bottom:24px}.invitation-link{align-items:stretch}.invitation-link code{direction:ltr;flex:1;min-width:0;padding:12px;background:var(--surface-2);border-radius:8px;overflow-wrap:anywhere;text-align:left}
.lesson-intro>a:first-child{display:inline-flex;align-items:center;min-height:44px}
.completion label{display:flex;align-items:center;gap:12px;min-height:44px;cursor:pointer}
.pilot-invitation h2{color:var(--ink)}.pilot-link-row{display:flex;gap:8px;align-items:center;margin-bottom:8px}.pilot-link-row input{min-width:0;flex:1}.pilot-link-row button{flex:none}.pilot-invitation .button{margin-top:8px}@media(max-width:520px){.pilot-link-row{align-items:stretch;flex-direction:column}.pilot-link-row button,.pilot-invitation .button{width:100%}}
