/* Platform shell and source adapters. Source documents are never served as course pages. */
:root{--ink-3:#505C70;--brass:#775910}:root[data-theme=dark]{--ink-3:#A1ABBC;--accent:#A9B5E4;--accent-2:#BFC9EE}
.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}
}
