/* Additive Skill Loop controls retain existing theme tokens. */
#reader-root .v2-scene{display:block;width:100%;height:auto;object-fit:contain;max-width:100%}
#reader-root .v2-block{min-width:0;max-width:100%}
#reader-root .v2-canvas{position:relative;width:100%;line-height:0}
#reader-root .v2-zones{position:absolute;inset:0;pointer-events:none}
#reader-root .hotspot{position:absolute;pointer-events:auto;box-sizing:border-box;min-height:0;min-width:0;padding:0;border:3px solid #116b69;background:rgba(255,255,255,.8);color:#102d36;overflow:hidden;text-indent:-10000px;border-radius:5px}
#reader-root .hotspot:focus-visible{outline:3px solid #d66a00;outline-offset:1px;background:rgba(255,255,255,.95)}
#reader-root .v2-panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
#reader-root .v2-panel{padding:14px;border:1px solid var(--line)}
#reader-root .v2-tabs{display:flex;gap:8px;margin-bottom:12px}
#reader-root .v2-tabs [aria-selected=true]{background:#116b69;color:white}
#reader-root .target-list button,#reader-root .listen-controls button{margin:8px 8px 8px 0;white-space:normal;text-align:left;max-width:100%}
#reader-root .listen-controls{padding:16px;margin-block:20px;background:var(--wash);border:1px solid var(--line)}
#reader-root #skill-loop-phases{max-width:100%}
@media(max-width:700px){#reader-root .v2-panels{display:block}#reader-root .v2-panel:not(.selected){display:none}#reader-root .v2-block{padding:12px}body.skill-loop-active #reader-root{padding-inline:0;border-inline:0}body.skill-loop-active #reader-root .v2-block.scene_tap{padding-inline:0;border-inline:0}body.skill-loop-active #reader-root .v2-panel{padding:8px}body.skill-loop-active #reader-root .guided-lessons{display:flex;flex-wrap:wrap;gap:6px}body.skill-loop-active #reader-root .guided-lessons button{flex:1 1 130px;font-size:15px;padding:6px}body.skill-loop-active #reader-root .reader-toolbar{gap:6px;margin-block:10px}body.skill-loop-active #reader-root .reader-toolbar button{font-size:15px;padding:6px 10px}}
@media print{body.print-role-card *{visibility:hidden}body.print-role-card .role-card,body.print-role-card .role-card *{visibility:visible}body.print-role-card .role-card{position:absolute;inset:0}.v2-tabs,.v2-zones,.listen-controls{display:none!important}.v2-panel{display:block!important}}
@font-face{font-family:Mukta;src:url('fonts/Mukta-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
body{font-family:Mukta,'Segoe UI',Arial,sans-serif}button,select,textarea,input{font:inherit}button,select,.action{min-height:44px}button,select{border:1px solid var(--line);border-radius:5px;background:var(--paper);color:var(--ink);padding:8px 14px;cursor:pointer}button:disabled{cursor:not-allowed;opacity:1;color:var(--muted);background:var(--wash)}a,button,select,textarea{touch-action:manipulation}a:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #d66a00;outline-offset:3px}.skip{position:absolute;left:16px;top:-100px;min-height:44px;padding:10px 16px;background:var(--paper);color:var(--ink);z-index:20}.skip:focus{top:8px}.nav a{color:white;min-height:44px;display:flex;align-items:center}.nav .shell{flex-wrap:wrap;gap:12px 28px;padding-block:3px}h1{max-width:20ch}h2,h3,h4,a{overflow-wrap:break-word}p,li,td,legend,figcaption{hyphens:none;text-align:justify;overflow-wrap:normal}main{padding-bottom:40px}#load-status{padding-block:12px}.topicbody .actions{flex-wrap:wrap}.topicbody p{min-height:0}.progressbox p{color:white;margin-top:12px}.coming-soon-watermark{pointer-events:none}#released-courses,#reader-root{margin-top:32px}#reader-root:empty{display:none}.published-card,.settings,#reader-root{padding:22px;border:1px solid var(--line);border-radius:8px;background:var(--paper)}.published-card{margin:12px 0}.reader-layout{display:grid;grid-template-columns:200px minmax(0,1fr);gap:24px;margin-top:24px}.lesson-nav{display:flex;flex-direction:column;gap:10px}.lesson-nav button[aria-current=step]{background:var(--active-lesson-bg);color:var(--active-lesson-text)}.block{padding:20px;margin-block:20px;border:1px solid var(--line);border-radius:6px;background:var(--wash)}.block h3{margin-bottom:10px}.block.safety{background:var(--rosewash);border:2px solid var(--rose)}.block.example{display:block}.block.reflection{background:var(--violetwash)}.block textarea{width:100%;min-height:120px;margin-top:10px;border:1px solid var(--muted);border-radius:4px;background:var(--paper);color:var(--ink)}.citations{font-size:14px;margin-top:16px}.citations p{margin:6px 0}.citations a{display:inline-flex;min-height:44px;align-items:center}fieldset{min-width:0;padding:20px;margin:20px 0;border:1px solid var(--line)}legend{font-weight:bold;padding:0 6px}.option{display:flex;gap:12px;align-items:center;min-height:48px;padding:10px;border:1px solid var(--line);border-radius:4px;margin-block:8px;cursor:pointer}.option input{flex-shrink:0;width:20px;height:20px}[data-rationale]{padding:16px;margin-top:12px;background:var(--wash);border:1px solid var(--line)}#lineage{font-size:14px}.settings label{display:flex;min-height:44px;gap:12px;align-items:center}.settings input{width:20px;height:20px}#reader-root>section{margin-block:20px}#reader-root h2,#reader-root h3{margin-block:12px}details summary{cursor:pointer;min-height:44px;padding:10px}footer{padding-block:24px!important}#locale-review,#missing-course{padding-block:10px}#theme{margin-left:8px}.mast .shell>div:last-child{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.mast label{font-size:14px}
html[data-theme=dark]{--blue:#78c8ee;--deep:#123e54;--ink:#e5f0f3;--muted:#c2d2d9;--paper:#142b34;--wash:#0d2028;--line:#647a85;--teal:#8cdad1;--tealwash:#173d3a;--violet:#d3baf0;--violetwash:#352a45;--green:#a4d4b7;--greenwash:#193a2b;--rose:#ffaec0;--rosewash:#452531}html[data-theme=dark] .mast,html[data-theme=dark] .topicbody,html[data-theme=dark] .foundation-card,html[data-theme=dark] .pipeline-card,html[data-theme=dark] .mhgap-topic,html[data-theme=dark] .mhgap-providers>div,html[data-theme=dark] .providerbadge{background:var(--paper);color:var(--ink)}html[data-theme=dark] .nav,html[data-theme=dark] .action{background:#005b82;color:#fff}html[data-theme=dark] .mhgap{background:#153443}html[data-theme=dark] .topichead{background:var(--wash)}html[data-theme=dark] .foundation-card h3,html[data-theme=dark] .pipeline-card h3{color:var(--ink)}html[data-theme=dark] .planned{color:var(--ink)}html[data-theme=dark] .safety-spine{background:var(--wash);color:var(--ink)}html[data-theme=dark] .safety-spine strong{color:var(--ink)}html[data-theme=dark] .topichead svg{color:#116b69}html[data-theme=dark] .grief .topichead svg{color:#65518a}
@media(max-width:600px){.shell{padding-inline:16px}.mast .shell{align-items:flex-start;flex-direction:column}.intro{grid-template-columns:1fr}.reader-layout{grid-template-columns:minmax(0,1fr)}.lesson-nav{flex-direction:row;flex-wrap:wrap}.sectiontitle{align-items:flex-start;flex-direction:column;gap:12px}.topichead{gap:10px;padding:16px}.topichead svg{width:64px;height:64px;flex-shrink:0}.topichead h2{font-size:23px}.topics,.foundation-grid,.mhgap-grid,.mhgap-providers{grid-template-columns:minmax(0,1fr)}.mhgap{padding:16px}.topicbody,.foundation-card{padding:16px}#reader-root{padding:16px}.identity{font-size:24px}.actions{gap:8px}h1{font-size:34px}.pipeline-grid{grid-template-columns:minmax(0,1fr)}}
.topic{position:relative}.topic>.coming-soon-watermark{position:absolute;right:12px;top:9px;left:auto;width:auto;margin:0;z-index:1}.topic .topichead{padding-top:43px}.topic .action:disabled,html[data-theme=dark] .topic .action:disabled{background:var(--wash);color:var(--muted);border:1px solid var(--line)}.topicbody .actions{gap:12px}.topicbody .textlink{font-size:14px}.notice,.meta,.tag{font-size:14px}
:root{--active-lesson-bg:var(--blue);--active-lesson-text:#fff;--no-content-text:var(--muted)}html[data-theme=dark]{--active-lesson-text:#142b34}html[data-theme=dark] .topic.grief .topicbody .textlink,html[data-theme=dark] .remote-pfa .textlink{color:var(--no-content-text)}
/* Catalogue-only color weight: reader and assessment tokens stay unchanged. */
:root{--catalogue-teal:#116b69;--catalogue-violet:#65518a;--catalogue-blue:#006996}
.nav{background:#006996;border-bottom-color:#009fe3}
.intro h1{color:var(--blue)}
.progressbox{background:#004969;border-top:5px solid #009fe3}
.topics .topic{border-top:5px solid var(--catalogue-teal);box-shadow:0 4px 14px rgba(0,73,105,.09)}
.topics .topic.grief{border-top-color:var(--catalogue-violet)}
.topics .topic.pfa .topichead,.topics .topic.remote-pfa .topichead{background:var(--catalogue-teal);color:#fff}
.topics .topic.grief .topichead{background:var(--catalogue-violet);color:#fff}
.topics .topichead svg{color:#116b69}
.topics .grief .topichead svg{color:#65518a}
.topics .coming-soon-watermark{background:#fff;color:#65518a;border-style:solid;border-color:#fff}
.foundation-card,.pipeline-card{border-top:4px solid var(--topic)}
.pipeline-top svg{background:var(--topic);color:#fff}
.mhgap{border-top:5px solid #006996}
/* Approved 15% topic-color body tint; text and controls retain full opacity. */
html:not([data-theme=dark]) .topics .pfa,html:not([data-theme=dark]) .topics .remote-pfa,html:not([data-theme=dark]) .topics .pfa .topicbody,html:not([data-theme=dark]) .topics .remote-pfa .topicbody{background:color-mix(in srgb,var(--catalogue-teal) 15%,white)}
html:not([data-theme=dark]) .topics .grief,html:not([data-theme=dark]) .topics .grief .topicbody{background:color-mix(in srgb,var(--catalogue-violet) 15%,white)}
.mhgap-providers{display:flex;flex-direction:column;gap:16px;margin-block:18px}
.mhgap-providers>div{background:transparent;border:0;border-radius:0;padding:0;display:block}
html[data-theme=dark] .mhgap-providers>div{background:transparent}
.mhgap-providers p{margin:5px 0}
.mhgap-providers .action{background:transparent;color:var(--blue);padding:6px 0;justify-content:flex-start;text-decoration:underline;text-underline-offset:3px}
html[data-theme=dark] .mhgap-providers .action{background:transparent;color:var(--blue)}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
/* Guided learning: existing validation, source bytes and device-state contract are unchanged. */
body.learning-active main>section:not(#reader-root),body.learning-active #released-courses,body.learning-active #load-status{display:none}
body.learning-active #reader-root{margin-top:16px;border-top:6px solid #116b69}
body.learning-active #trial-boundary,body.learning-active #locale-review,body.learning-active main>.sectiontitle{display:none}
#reader-root .trial-details{font-size:16px;margin-bottom:18px}
#reader-root .course-name{font-size:20px;font-weight:400;margin-block:8px 14px;color:var(--muted)}
#reader-root .reader-toolbar{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:18px}
#reader-root .guided-lessons{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px}
#reader-root .guided-lessons button{flex:1 1 150px;text-align:left;line-height:1.35}
#reader-root .guided-lessons button[aria-current=step]{background:#116b69;color:#fff;border-color:#116b69}
#reader-root #course-content{font-size:21px;line-height:1.65;max-width:100%}
#reader-root #course-content h2{font-size:clamp(25px,3vw,34px);line-height:1.2;max-width:35ch;margin-bottom:16px}
#reader-root #course-content h3{font-size:25px;line-height:1.3;margin:20px 0 16px}
#reader-root #course-content p,#reader-root #course-content li{max-width:none;white-space:pre-line}
#reader-root .lesson-objective{font-size:18px;color:var(--muted)}
#reader-root .step-rail{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:16px 0;border-block:1px solid var(--line);font-size:17px}
#reader-root .step-rail p{flex:1 1 220px;margin:0}
#reader-root .step-rail select{max-width:100%;min-width:0;flex:1 1 260px;width:260px}
#reader-root .decision-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;align-items:start;max-width:none}
#reader-root .decision-grid:has(.learning-scene){grid-template-columns:minmax(180px,.7fr) minmax(0,1.3fr)}
#reader-root .activity-task{font-weight:700;margin-bottom:20px}
#reader-root .model-sequence,#reader-root .action-checklist{padding-left:30px;max-width:none}
#reader-root .model-sequence li{padding:14px;margin-block:12px;background:var(--paper);border:1px solid var(--line);border-radius:6px}
#reader-root .model-cue{display:block;font-size:18px;color:var(--ink);margin-bottom:8px}
#reader-root .model-sequence p{margin:0}
@media(max-width:700px){#reader-root .guided-block.activity-model{padding:12px}#reader-root .model-sequence{padding-left:24px}#reader-root .model-sequence li{padding:10px}}
#reader-root .model-sequence li::marker{color:var(--ink);font-weight:700}
#reader-root .action-checklist li{padding:10px 12px;margin-block:10px;border-left:4px solid var(--teal);background:var(--wash)}
#reader-root .source-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
#reader-root .source-comparison section{padding:18px;border-left:5px solid var(--green);background:var(--greenwash)}
#reader-root .source-comparison .comparison-avoid{border-color:var(--rose);background:var(--rosewash)}
#reader-root .lesson-goal{font-size:17px;color:var(--muted)}
#reader-root #quiz-content{font-size:21px;line-height:1.65;max-width:none}
#reader-root .quiz-question{margin-block:28px;padding-block:22px;border-bottom:1px solid var(--line)}
#reader-root #quiz-result{font-size:23px;font-weight:700;padding:18px;background:var(--tealwash);max-width:none}
#reader-root #quiz-error:not(:empty){padding:16px;border:2px solid var(--rose);background:var(--rosewash)}
#reader-root #quiz-submit,#reader-root #quiz-retry{margin:12px 12px 12px 0;max-width:100%;white-space:normal}
#reader-root #quiz-submit{background:#116b69;color:#fff;border-color:#116b69}
@media(max-width:700px){#reader-root .source-comparison{grid-template-columns:minmax(0,1fr)}#reader-root #quiz-content{font-size:19px}#reader-root .decision-grid:has(.learning-scene){grid-template-columns:minmax(0,1fr)}}
#reader-root .learning-scene{margin:0;min-width:0;background:#fff;color:#183744;border:1px solid var(--line);border-radius:6px;overflow:hidden}
#reader-root .learning-scene img{display:block;width:100%;height:auto;max-height:410px;object-fit:contain;background:#fff}
#reader-root .learning-scene figcaption{font-size:17px;line-height:1.5;padding:14px 18px}
#reader-root .learning-scene .media-note{font-size:15px;line-height:1.5;padding:0 18px 14px}
#reader-root .learning-scene .media-note p{margin-block:10px}
#reader-root .learning-scene a{color:#006996}
#reader-root .guided-question{min-width:0;margin:0;padding:0;border:0;font-size:20px}
#reader-root .guided-question legend{padding:0 0 18px;font-size:23px;line-height:1.45;font-weight:700;width:100%}
#reader-root .decision-cue{padding:14px 16px;margin-bottom:16px;background:var(--rosewash);border-left:4px solid var(--rose);font-size:18px;line-height:1.55}
#reader-root .decision-cue p{margin:4px 0 0}
#reader-root .guided-question .option{display:flex;align-items:flex-start;gap:12px;padding:16px;margin-bottom:12px;border:1px solid var(--line);background:var(--paper);border-radius:6px;line-height:1.5;cursor:pointer;min-height:44px}
#reader-root .guided-question .option:has(input:checked){border:2px solid var(--teal);background:var(--tealwash);padding:15px}
#reader-root .guided-question .option input{margin-top:8px;flex-shrink:0;width:18px;height:18px}
#reader-root .guided-feedback{margin-top:20px}
#reader-root .guided-feedback section{padding:16px;margin-block:12px;border-left:5px solid var(--rose);background:var(--rosewash)}
#reader-root .guided-feedback .feedback-correct{border-color:var(--green);background:var(--greenwash)}
#reader-root .guided-feedback h4{font-size:19px;line-height:1.5;margin-bottom:10px}
#reader-root .decision-safety{margin-block:24px;padding:20px;border-left:5px solid var(--rose);background:var(--rosewash);font-size:18px;line-height:1.6}
#reader-root .decision-safety h3,#reader-root .decision-safety h4{font-size:21px;margin:0 0 12px}
#reader-root .source-details{margin-top:18px;font-size:16px;line-height:1.5}
#reader-root summary{cursor:pointer;min-height:44px;padding-block:10px;line-height:1.5}
#reader-root summary:focus-visible{outline:3px solid #d66a00;outline-offset:3px}
#reader-root .citations{font-size:16px;line-height:1.55}
#reader-root .citations a,#reader-root .referral-link,#reader-root .media-note a{display:inline-flex;align-items:center;min-height:44px;min-width:44px;max-width:100%;white-space:normal}
#reader-root .guided-block{max-width:none;padding:20px 0}
#reader-root .guided-block.example{display:block;border-left:5px solid var(--teal);padding:20px;background:var(--tealwash)}
#reader-root .guided-block.reflection{padding:20px;background:var(--violetwash)}
#reader-root .takeaway{padding:20px;background:var(--tealwash);border-left:5px solid var(--teal)}
#reader-root .rehearsal{margin:22px 0;padding:16px 20px;background:var(--wash);border:1px solid var(--line)}
#reader-root .step-controls{display:flex;gap:12px;flex-wrap:wrap;justify-content:space-between;margin:24px 0}
#reader-root .step-controls button{white-space:normal;text-align:left;max-width:100%;line-height:1.5}
#reader-root .primary-forward{background:#116b69;color:#fff;border-color:#116b69}
#reader-root #learning-tools{border-top:1px solid var(--line);margin-top:24px;padding-top:14px}
#reader-root #learning-tools>summary{font-size:18px}
#reader-root #learning-tools .settings label{min-height:44px;display:flex;align-items:center;gap:12px;cursor:pointer}
#reader-root #lineage{overflow-wrap:break-word;word-break:break-word;font-size:14px}
#reader-root [tabindex="-1"]:focus{outline:3px solid #d66a00;outline-offset:3px;scroll-margin-top:16px}
@media(max-width:700px){
 #reader-root #course-content{font-size:19px}
 #reader-root .decision-grid{grid-template-columns:minmax(0,1fr);gap:20px}
 #reader-root .learning-scene img{max-height:270px}
 #reader-root .guided-question{font-size:19px}
 #reader-root .guided-question legend{font-size:22px}
 #reader-root .decision-safety{padding:16px;font-size:18px}
 #reader-root .guided-lessons button{flex-basis:110px;font-size:16px}
 #reader-root .step-rail{align-items:stretch;gap:8px}
 #reader-root .step-rail label{width:100%}
 #reader-root .step-rail select{width:100%;flex-basis:100%}
 #reader-root .lesson-objective{font-size:17px}
 #reader-root .step-controls button{flex:1 1 160px}
}

/* Compact course navigation stays available while reading long activities. */
#reader-root .course-position{position:sticky;top:0;z-index:10;background:var(--paper);border-bottom:1px solid var(--line);padding:6px 0;font-size:16px;line-height:1.3;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:10px}
#reader-root .course-position strong,#reader-root .course-position>span{grid-column:1;overflow-wrap:break-word}
#reader-root #lesson-menu{grid-column:2;grid-row:1 / 4;align-self:center}
#reader-root #lesson-menu>summary{min-height:44px;padding:10px 8px}
#reader-root #lesson-menu[open]{grid-column:1 / -1;grid-row:4}
#reader-root #lesson-menu .guided-lessons{margin:4px 0 8px}
#reader-root .course-details>summary{font-size:16px}
#reader-root #mark-read{background:var(--paper);color:var(--ink);border-color:var(--line)}
#reader-root .course-position #lesson-menu[open] .guided-lessons{max-height:45vh;overflow:auto;padding:4px}

/* Adib paragraph contract: running text uses its full container, without a measure. */
p,li,td,legend,figcaption,.option span{max-width:none;hyphens:none;text-align:justify;overflow-wrap:normal;word-break:normal}
#reader-root #course-content p,#reader-root #course-content li{max-width:none}
#reader-root .option span{flex:1;min-width:0}
#reader-root .citations p,#reader-root .trial-details p{max-width:none}
#reader-root #lineage,.mono,code,pre{overflow-wrap:break-word;text-align:start}

/* Bibliographic URLs are technical tokens: wrap only when an unbroken URL cannot fit. */
#reader-root .citations p{word-break:break-word}

/* Couple existing teaching art with its source activity rather than a full-width empty image panel. */
#reader-root .activity-with-scene{display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,.48fr);gap:24px;align-items:start}
#reader-root .activity-copy{min-width:0}
#reader-root .activity-with-scene .learning-scene{width:100%;align-self:start}
#reader-root .activity-with-scene .learning-scene img{width:100%;height:auto;max-height:none;object-fit:contain}
@media(max-width:800px){#reader-root .activity-with-scene{display:block}#reader-root .activity-with-scene .learning-scene{width:100%;max-width:360px;margin:20px 0 0}}
