/* Learning controls are scoped beneath the shared Prism website shell. */
.prism-learning{--focus:#147D80}
.prism-learning section{padding:0}
.prism-learning .learning-context{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding-top:22px;padding-bottom:22px;border-bottom:1px solid var(--line)}
.prism-learning .learning-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;font-size:.88rem;line-height:1.5;color:var(--muted)}
.prism-learning .learning-breadcrumb a{color:var(--ink)}
.prism-learning .learning-breadcrumb [aria-current=page]{font-weight:600;color:var(--ink)}
.prism-learning .learning-status{flex:0 0 auto;text-align:right;font-size:.78rem;line-height:1.45;color:var(--muted)}
.prism-learning .learning-review,.prism-learning .save-state{margin:0;color:var(--muted);font-size:inherit;line-height:inherit}
.prism-learning *,.prism-learning *::before,.prism-learning *::after{box-sizing:border-box}
.prism-learning{margin:0;background:var(--paper);color:var(--text);font-family:var(--sans);font-size:17px;line-height:1.65}
.prism-learning ::selection{background:#F7D98D;color:var(--ink)}
.prism-learning ::-webkit-scrollbar{width:11px;height:11px}
.prism-learning ::-webkit-scrollbar-track{background:var(--mist)}
.prism-learning ::-webkit-scrollbar-thumb{background:#9CAFA9;border:3px solid var(--mist);border-radius:8px}
.prism-learning button,.prism-learning input,.prism-learning textarea,.prism-learning select{font:inherit;caret-color:var(--ink)}
.prism-learning button,.prism-learning a,.prism-learning input,.prism-learning label,.prism-learning select,.prism-learning textarea{touch-action:manipulation}
.prism-learning button{cursor:pointer}
.prism-learning a{color:inherit;text-underline-offset:.22em;text-decoration-thickness:1px}
.prism-learning button,.prism-learning a{-webkit-tap-highlight-color:rgba(20,125,128,.16)}
.prism-learning :focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.prism-learning button:disabled,.prism-learning input:disabled,.prism-learning textarea:disabled{cursor:not-allowed;opacity:.58}
.prism-learning img,.prism-learning svg,.prism-learning video{max-width:100%;display:block}
.prism-learning h1,.prism-learning h2,.prism-learning h3,.prism-learning h4{color:var(--ink);margin:0 0 .55em;text-wrap:balance}
.prism-learning h1,.prism-learning h2{font-family:var(--serif);font-weight:500;line-height:1.15}
.prism-learning h1{font-size:clamp(2.25rem,4.5vw,3.45rem);letter-spacing:-.025em;max-width:23ch}
.prism-learning h2{font-size:clamp(1.65rem,2.7vw,2.1rem);letter-spacing:-.012em}
.prism-learning h3{font-size:1.1rem;line-height:1.35;font-weight:650}
.prism-learning h4{font-size:1rem;line-height:1.4;font-weight:650}
.prism-learning p{margin:0 0 1em;max-width:72ch}
.prism-learning ul,.prism-learning ol{padding-inline-start:1.35em}
.prism-learning li+li{margin-top:.4em}
.prism-learning .learning-shell{max-width:var(--wrap);margin:0 auto;display:grid;grid-template-columns:244px minmax(0,1fr);gap:clamp(32px,4.5vw,64px);padding:40px var(--gutter) 80px;align-items:start}
.prism-learning .course-nav{position:sticky;top:96px;padding:0 24px 28px 0;border-inline-end:1px solid var(--line);min-height:500px}
.prism-learning #lesson-main{min-width:0;min-height:calc(100svh - 230px)}
.prism-learning .path-header{padding:0 10px 20px 0}
.prism-learning .path-header h2{font:650 1rem/1.4 var(--sans);margin-bottom:8px;letter-spacing:0}
.prism-learning .path-header p{font-size:.87rem;color:var(--muted);line-height:1.5;margin-bottom:0}
.prism-learning .lesson-list{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.prism-learning .lesson-list li+li{margin:0}
.prism-learning .lesson-link{display:flex;flex-direction:column;gap:5px;padding:14px 12px;border:1px solid transparent;border-radius:var(--radius);text-decoration:none;font-size:.95rem;line-height:1.4;transition:background-color .15s,color .15s,border-color .15s}
.prism-learning .lesson-link:hover{background:var(--mist)}
.prism-learning .lesson-link.current,.prism-learning .lesson-link[aria-current="page"]{background:#F8F3E7;border-color:#DDC98D;color:var(--ink)}
.prism-learning .lesson-link strong{font-weight:650}
.prism-learning .lesson-status{font-size:.78rem;color:var(--muted);line-height:1.4}
.prism-learning .course-nav>.quiet{font-size:.78rem;margin-top:26px;line-height:1.5}
.prism-learning .page-head{margin-bottom:30px}
.prism-learning .page-head h1{margin-bottom:16px}
.prism-learning .page-title{margin-bottom:18px}
.prism-learning .lead{font-size:1.17rem;line-height:1.6;color:var(--muted);max-width:65ch}
.prism-learning .meta{display:flex;flex-wrap:wrap;gap:8px 18px;margin:14px 0 0;color:var(--muted);font-size:.87rem;line-height:1.5}
.prism-learning .step-track{list-style:none;display:flex;flex-wrap:wrap;gap:0;padding:0;margin:28px 0 34px;border-bottom:1px solid var(--line);font-size:.88rem;line-height:1.35}
.prism-learning .step-track li{margin:0;padding:0 22px 12px 0;color:var(--muted);border-bottom:2px solid transparent;display:grid;gap:5px}
.prism-learning .step-track li.current{color:var(--ink);font-weight:650;border-bottom-color:var(--gold)}
.prism-learning .step-name{display:block}
.prism-learning .step-number{font-variant-numeric:tabular-nums}
.prism-learning .step-state{font-size:.73rem;font-weight:400;color:var(--muted)}
.prism-learning .step-track li.current .step-state{color:var(--ink)}
.prism-learning .content-stack{animation:prism-read-enter .28s cubic-bezier(.16,1,.3,1) both}
.prism-learning .content-stack>h2{margin-top:36px}
.prism-learning .reading-section{max-width:74ch;margin:0 0 32px}
.prism-learning .reading-section h2{margin-bottom:14px}
.prism-learning .reading-section h3{margin-top:25px;margin-bottom:10px}
.prism-learning .reading-section p:last-child{margin-bottom:0}
.prism-learning .reading-section ul{margin:12px 0 0}
.prism-learning .reference-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin:24px 0 32px}
.prism-learning .reference-item,.prism-learning .lane{padding:20px 18px;border:1px solid var(--line);border-radius:var(--radius);background:#F8FAF9;min-width:0}
.prism-learning .reference-item h3,.prism-learning .lane h3{font-size:1.03rem;margin-bottom:10px}
.prism-learning .reference-item p,.prism-learning .lane p{font-size:.94rem;line-height:1.55;margin-bottom:0}
.prism-learning .reference-item ul,.prism-learning .lane ul{font-size:.94rem;margin:0}
.prism-learning .lane-green{background:#EFF7F1;border-color:#B8D3BF}
.prism-learning .lane-green h3{color:#185E36}
.prism-learning .lane-amber{background:#FFF7E5;border-color:#E2CE9E}
.prism-learning .lane-amber h3{color:#79500B}
.prism-learning .lane-red{background:#FCF1EF;border-color:#E0BFBB}
.prism-learning .lane-red h3{color:#963B31}
.prism-learning .practice-source{margin:24px 0 30px;border-block:1px solid var(--line)}
.prism-learning .source-row{padding:18px 0;font-size:.97rem;line-height:1.6}
.prism-learning .source-row+.source-row{border-top:1px solid var(--line)}
.prism-learning .source-row h3{font-size:1rem;margin-bottom:7px}
.prism-learning .source-row p{margin:0}
.prism-learning .field{display:grid;gap:8px;margin:22px 0}
.prism-learning .field>label,.prism-learning .field>legend{font-weight:650;font-size:1rem}
.prism-learning .field small{color:var(--muted);font-size:.87rem;line-height:1.5}
.prism-learning input[type="text"],.prism-learning textarea,.prism-learning select{width:100%;border:1px solid #9CB1A9;border-radius:var(--radius);padding:12px;background:var(--paper);color:var(--text);line-height:1.55;min-height:48px}
.prism-learning textarea{resize:vertical;min-height:200px;max-width:100%}
.prism-learning input::placeholder,.prism-learning textarea::placeholder{color:#5B6B65;opacity:1}
.prism-learning .workpad{width:100%;min-height:230px;background:#FCFDFC}
.prism-learning .check-line{display:flex;align-items:flex-start;gap:11px;margin:24px 0;font-size:.96rem;line-height:1.6}
.prism-learning .check-line input{margin:5px 0 0;flex:0 0 auto}
.prism-learning input[type="checkbox"],.prism-learning input[type="radio"]{width:18px;height:18px;accent-color:var(--ink);cursor:pointer}
.prism-learning .question{margin:0;padding:0 0 30px;border:0;min-width:0}
.prism-learning .question+.question{padding-top:25px;border-top:1px solid var(--line)}
.prism-learning .question>legend,.prism-learning .question h2,.prism-learning .question h3{font:650 1.06rem/1.55 var(--sans);letter-spacing:0;max-width:72ch;margin-bottom:16px;padding:0}
.prism-learning .options{display:grid;gap:10px;margin:12px 0 0}
.prism-learning .option{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border:1px solid #C8D5CF;border-radius:var(--radius);background:var(--paper);font-size:.98rem;line-height:1.5;cursor:pointer;transition:background-color .15s,border-color .15s}
.prism-learning .option input{flex:0 0 auto;margin:4px 0 0}
.prism-learning .option:hover{background:#F4F7F6;border-color:#8BA49A}
.prism-learning .option.selected,.prism-learning .option:has(input:checked){background:#FAF3E1;border-color:#AB8230}
.prism-learning .option:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:3px}
.prism-learning .option:has(input:disabled){cursor:not-allowed;opacity:.7}
.prism-learning .feedback-list{list-style:none;padding:0;margin:26px 0}
.prism-learning .feedback-item{padding:24px 0;border-top:1px solid var(--line)}
.prism-learning .feedback-item:last-child{border-bottom:1px solid var(--line)}
.prism-learning .feedback-item h3{margin-bottom:10px}
.prism-learning .feedback-item p{margin-bottom:8px}
.prism-learning .feedback-item.correct h3,.prism-learning .correct{color:#185E36}
.prism-learning .feedback-item.incorrect h3,.prism-learning .incorrect{color:#963B31}
.prism-learning .score{font-family:var(--serif);font-size:clamp(3rem,7vw,4.4rem);font-variant-numeric:tabular-nums;line-height:1.1;color:var(--ink);margin:18px 0 10px}
.prism-learning .score small{font:400 1.05rem/1.4 var(--sans);color:var(--muted);margin-left:10px}
.prism-learning .badge-preview{max-width:650px;margin:28px 0;padding:32px;border:1px solid #BCCDC6;border-radius:var(--radius);background:#F5F8F7;text-align:center}
.prism-learning .badge-preview h2{margin:18px auto 12px;max-width:25ch}
.prism-learning .badge-preview p{margin-inline:auto}
.prism-learning .badge-mark{width:88px;height:88px;margin:0 auto;color:var(--ink)}
.prism-learning .badge-mark svg{width:100%;height:100%}
.prism-learning .actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:30px;padding-bottom:10px}
.prism-learning .actions .back-link{font-size:.94rem;min-height:44px;display:inline-flex;align-items:center;padding:7px 4px}
.prism-learning .btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;max-width:100%;padding:12px 20px;border:1px solid transparent;border-radius:var(--radius);font:650 .96rem/1.3 var(--sans);text-align:center;text-decoration:none;transition:background-color .15s,border-color .15s,color .15s}
.prism-learning .btn-primary{background:var(--gold);color:var(--ink)}
.prism-learning .btn-primary:hover:not(:disabled){background:#F2C451}
.prism-learning .btn-secondary{border-color:#8DA49A;background:var(--paper);color:var(--ink)}
.prism-learning .btn-secondary:hover:not(:disabled){background:var(--mist);border-color:var(--ink)}
.prism-learning .btn-text{padding-inline:7px;background:transparent;color:var(--ink);text-decoration:underline;text-underline-offset:.25em}
.prism-learning .btn-text:hover:not(:disabled){color:#296D67}
.prism-learning .quiet{font-size:.9rem;color:var(--muted);line-height:1.6}
.prism-learning .empty-state,.prism-learning .error-state{padding:28px 0;max-width:70ch}
.prism-learning .error-state h1,.prism-learning .error-state h2{color:#963B31}
.prism-learning .progress-summary{display:flex;flex-wrap:wrap;gap:8px 24px;padding:18px 0;margin-bottom:22px;border-block:1px solid var(--line);font-size:.91rem;color:var(--muted)}
.prism-learning .progress-summary p{margin:0}
.prism-learning .progress-summary strong{font-weight:650;color:var(--ink)}
.prism-learning .path-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px 28px;align-items:center;padding:28px 0;border-top:1px solid var(--line)}
.prism-learning .path-row:last-child{border-bottom:1px solid var(--line)}
.prism-learning .path-row h2{font-size:1.7rem;margin-bottom:10px;max-width:30ch}
.prism-learning .path-row p{font-size:.96rem;margin-bottom:8px}
.prism-learning .path-row .meta{margin-top:12px;font-size:.83rem}
.prism-learning .path-row .btn{min-width:142px}
.prism-learning .course-progress{padding:20px 0 24px;border-block:1px solid var(--line)}
.prism-learning .course-progress>div{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 24px;font-size:.91rem;line-height:1.5}
.prism-learning .course-progress strong{color:var(--ink);font-weight:650}
.prism-learning .course-progress span{color:var(--muted)}
.prism-learning .course-progress progress{display:block;width:100%;height:6px;margin-top:16px;appearance:none;border:0;background:var(--mist);border-radius:0}
.prism-learning .course-progress progress::-webkit-progress-bar{background:var(--mist)}
.prism-learning .course-progress progress::-webkit-progress-value{background:var(--focus)}
.prism-learning .course-progress progress::-moz-progress-bar{background:var(--focus)}
.prism-learning .course-note{margin-top:32px}
.prism-learning .module-choice{font-size:.91rem;color:var(--muted);margin:24px 0 0;max-width:68ch}
.prism-learning .learning-access{max-width:660px;padding:4px 0 30px}
.prism-learning .diagnostic-checklist{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
.prism-learning .diagnostic-checklist li{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 0;margin:0;border-bottom:1px solid var(--line)}
.prism-learning .diagnostic-checklist strong{font-size:.88rem;color:var(--muted);font-weight:600;white-space:nowrap}
.prism-learning .module-intro{max-width:65ch;margin:0 0 26px;color:var(--muted)}
.prism-learning .lecture-path .path-row h2{font-size:1.55rem}
.prism-learning .format-switch{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 26px}
.prism-learning .format-switch button{border:1px solid #B6C8BF;background:var(--paper);color:var(--ink);padding:9px 14px;border-radius:var(--radius);font-size:.88rem;font-weight:600;min-height:42px}
.prism-learning .format-switch button:hover{background:var(--mist)}
.prism-learning .format-switch button[aria-pressed="true"]{background:var(--gold);border-color:var(--ink);color:var(--ink)}
.prism-learning .text-link{color:#1E655F;text-decoration:underline}
.prism-learning .text-link:hover{color:var(--ink)}
.prism-learning .pending{color:#79500B}
.prism-learning .status-chip{display:inline-flex;align-items:center;padding:3px 8px;border-radius:4px;background:var(--mist);color:#36544A;font-size:.77rem;line-height:1.4;font-weight:600}
.prism-learning .notice{position:fixed;right:24px;bottom:24px;z-index:80;max-width:min(420px,calc(100vw - 40px));padding:14px 18px;background:var(--ink);color:var(--cream);border-radius:var(--radius);font-size:.92rem;line-height:1.5;box-shadow:0 10px 28px rgba(11,42,54,.16)}
.prism-learning .notice:empty{display:none}
.prism-learning .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.prism-learning [hidden]{display:none!important}
@keyframes prism-read-enter{from{opacity:.84;clip-path:inset(6px 0 0 0)}to{opacity:1;clip-path:inset(0)}}
@media(max-width:1000px){
.prism-learning .learning-shell{grid-template-columns:210px minmax(0,1fr);gap:32px}
.prism-learning .course-nav{padding-inline-end:18px}
.prism-learning .reference-grid{grid-template-columns:1fr}
.prism-learning .reference-item,.prism-learning .lane{padding:18px 20px}
}
@media(max-width:780px){
.prism-learning .learning-shell{display:block;padding-top:26px}
.prism-learning .course-nav{position:static;min-height:0;padding:0 0 24px;margin-bottom:30px;border-inline-end:0;border-bottom:1px solid var(--line)}
.prism-learning .path-header{padding-bottom:12px}
.prism-learning .path-header h2{margin-bottom:5px}
.prism-learning .lesson-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.prism-learning .lesson-link{height:100%;padding:12px 10px;font-size:.88rem}
.prism-learning .lesson-status{font-size:.75rem}
.prism-learning .course-nav>.quiet{margin:12px 0 0;font-size:.78rem}
.prism-learning .page-head{margin-bottom:24px}
.prism-learning .path-row{grid-template-columns:minmax(0,1fr);gap:14px;padding-block:25px}
.prism-learning .path-row .btn{justify-self:start}
.prism-learning .step-track{margin-top:24px;margin-bottom:26px}
.prism-learning .step-track li{font-size:.83rem;padding-right:16px}
.prism-learning .reference-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.prism-learning .page-head h1{max-width:25ch}
.prism-learning .badge-preview{padding:26px 20px}
}
@media(max-width:480px){
.prism-learning{font-size:16px}
.prism-learning .learning-shell{padding-bottom:60px}
.prism-learning .lesson-list{gap:5px}
.prism-learning .lesson-link{padding:11px 8px}
.prism-learning .lead{font-size:1.06rem}
.prism-learning .meta{font-size:.83rem;gap:6px 12px}
.prism-learning .step-track li{padding-right:13px;font-size:.79rem}
.prism-learning .reference-grid{grid-template-columns:1fr;gap:12px}
.prism-learning .actions{gap:10px}
.prism-learning .actions .btn{flex:1 1 160px}
.prism-learning .actions .btn-text{flex:0 1 auto}
.prism-learning .option{padding:13px 12px;gap:10px}
.prism-learning .question{padding-bottom:24px}
.prism-learning .feedback-item{padding-block:20px}
.prism-learning .notice{right:20px;bottom:20px}
.prism-learning .progress-summary{font-size:.86rem}
}
@media(prefers-reduced-motion:reduce){
.prism-learning *,.prism-learning *::before,.prism-learning *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
/* Supplementary video uses the same quiet reading surface; it never gates progress. */
.prism-learning .lesson-videos{margin:8px 0 36px;max-width:78ch}
.prism-learning .lesson-videos>h2{margin-bottom:10px}
.prism-learning .lesson-videos>.quiet{margin-bottom:18px}
.prism-learning .lesson-video{margin:0 0 28px;min-width:0}
.prism-learning .lesson-video video{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;background:var(--ink);border:1px solid var(--line);border-radius:var(--radius)}
.prism-learning .lesson-video figcaption{padding:14px 0 0}
.prism-learning .lesson-video figcaption h3{font-size:1.03rem;margin-bottom:5px}
.prism-learning .lesson-video figcaption p{margin-bottom:10px}
.prism-learning .video-transcript{padding:12px 0;border-block:1px solid var(--line)}
.prism-learning .video-transcript summary{cursor:pointer;font-weight:600;text-underline-offset:.2em}
.prism-learning .video-transcript[open] summary{margin-bottom:12px}
.prism-learning .video-transcript p{font-size:.94rem;line-height:1.6;margin:0;max-width:72ch}
.prism-learning .video-error{padding:12px 0;color:#963B31}
.prism-learning .lesson-video figcaption h2{font:650 1.15rem/1.4 var(--sans);margin:0 0 8px}
@media(max-width:780px){
.prism-learning.entry-mode .learning-shell .course-nav{min-height:0;padding-bottom:18px;margin-bottom:26px}
.prism-learning:not(.entry-mode) .lesson-list{display:flex;gap:8px;overflow-x:auto;max-height:none;padding-bottom:10px;scroll-snap-type:x proximity}
.prism-learning:not(.entry-mode) .lesson-list>li{flex:0 0 175px;scroll-snap-align:start}
.prism-learning:not(.entry-mode) .course-nav>.quiet{display:none}
}
/* Foundation path extension keeps the existing Prism visual system. */
.prism-learning .foundation-path{list-style:none;padding:0;margin:28px 0}
.prism-learning .role-choice{display:grid;grid-template-columns:minmax(160px,220px) minmax(200px,1fr);gap:12px 20px;align-items:center;margin:26px 0 34px}
.prism-learning .role-choice label{font-weight:650}
.prism-learning .role-choice select{font:inherit;color:var(--ink,#0b2a36);background:#fff;border:1px solid #a8b9b4;border-radius:6px;padding:12px;min-height:48px;max-width:100%}
.prism-learning .role-choice p{grid-column:1/-1;margin:0;color:#4c605b}
.prism-learning .role-preview{padding:28px 0;border-top:1px solid #d3deda;margin-top:42px}
.prism-learning .role-preview ol{padding-left:24px}
.prism-learning .role-preview li{margin:10px 0}
.prism-learning .lesson-list{max-height:68vh;overflow:auto}
.prism-learning .path-row h2{margin-top:8px}
@media(max-width:779px){
.prism-learning .role-choice{grid-template-columns:1fr}
.prism-learning .lesson-list{max-height:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.prism-learning .lesson-link{height:100%}
}
@media(max-width:420px){
.prism-learning .lesson-list{grid-template-columns:1fr}
}
/* Entry check and path extend the same Prism learning surface. */
.prism-learning.entry-mode .learning-shell{display:block;max-width:1040px}
.prism-learning.entry-mode .course-nav{display:none}
.prism-learning .entry-nav{display:grid;gap:10px}
.prism-learning .entry-nav a{padding:13px 12px;text-decoration:none;border-radius:6px;font-weight:550}
.prism-learning .entry-nav a:hover{background:var(--mist)}
.prism-learning .entry-nav a[aria-current=page]{background:#f8f3e7;box-shadow:inset 0 -2px var(--gold)}
.prism-learning .entry-start{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(220px,1fr);gap:40px;padding:8px 0 35px}
.prism-learning .entry-start .actions{align-items:center}
.prism-learning .entry-start h2{max-width:24ch}
.prism-learning .entry-sequence{padding-left:22px;margin:0}
.prism-learning .entry-sequence li{padding:0 0 24px 10px}
.prism-learning .entry-sequence strong,.prism-learning .entry-sequence span{display:block}
.prism-learning .entry-sequence span{font-size:.94rem;color:var(--muted);margin-top:8px;line-height:1.5}
.prism-learning .entry-boundary{border-top:1px solid var(--line);padding-top:30px}
.prism-learning .entry-progress{width:100%;height:7px;border:0;appearance:none;background:var(--mist);margin-top:24px}
.prism-learning .entry-progress::-webkit-progress-bar{background:var(--mist)}
.prism-learning .entry-progress::-webkit-progress-value{background:var(--focus)}
.prism-learning .entry-progress::-moz-progress-bar{background:var(--focus)}
.prism-learning .profile-areas{margin:32px 0 38px;border-top:1px solid var(--line)}
.prism-learning .profile-area{display:flex;align-items:center;gap:25px;justify-content:space-between;padding:22px 0;border-bottom:1px solid var(--line)}
.prism-learning .profile-area h2{font:650 1.1rem/1.35 var(--sans);margin-bottom:7px}
.prism-learning .profile-area p{margin:0;font-size:.94rem;color:var(--muted)}
.prism-learning .profile-count{font-size:1.6rem;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}
.prism-learning .profile-count small{font-size:1rem;color:var(--muted)}
.prism-learning .profile-context{max-width:580px;margin:35px 0}
.prism-learning .profile-context label{display:block;font-weight:650;margin:18px 0 8px}
.prism-learning .profile-context .quiet{margin-top:12px}
.prism-learning .entry-details{margin-top:32px;border-top:1px solid var(--line);padding-top:18px}
.prism-learning .entry-details summary{font-weight:600;cursor:pointer}
.prism-learning .recommended-path{list-style:none;margin:34px 0;padding:0}
.prism-learning .recommended-path>li{padding:28px 0;display:flex;align-items:center;justify-content:space-between;gap:30px;border-top:1px solid var(--line)}
.prism-learning .recommended-path>li:last-child{border-bottom:1px solid var(--line)}
.prism-learning .recommended-path p{max-width:62ch}
.prism-learning .recommended-path .btn{flex-shrink:0}
.prism-learning .recommended-path h2{margin-top:10px}
.prism-learning .recommended-path li+li{margin-top:0}
@media(max-width:1050px){
.prism-learning .entry-start{grid-template-columns:1fr}
.prism-learning .entry-sequence{margin-top:14px}
.prism-learning .recommended-path>li{display:block}
.prism-learning .recommended-path .btn{margin-top:6px}
}
@media(max-width:779px){
.prism-learning.entry-mode .learning-shell{display:block}
.prism-learning .entry-nav{display:flex;flex-wrap:wrap;gap:6px}
.prism-learning .entry-nav a{padding:11px 12px}
.prism-learning.entry-mode .course-nav{padding-bottom:18px;margin-bottom:32px;min-height:0}
.prism-learning.entry-mode .course-nav>.quiet{margin-top:10px}
.prism-learning .profile-area{gap:15px}
.prism-learning .entry-start{gap:24px}
}
@media(prefers-reduced-motion:reduce){
.prism-learning .entry-progress{scroll-behavior:auto}
}
.prism-learning .learning-shell{grid-template-columns:220px minmax(0,1fr);gap:40px;padding-top:32px}
.prism-learning .page-head{padding:0}
.prism-learning #lesson-main{scroll-margin-top:100px}
@media(max-width:780px){
  .prism-learning .learning-context{display:block;padding-block:18px}
  .prism-learning .learning-status{display:flex;flex-wrap:wrap;gap:5px 14px;text-align:left;margin-top:12px}
  .prism-learning .learning-shell{display:block;padding-top:24px}
  .prism-learning .course-nav{padding-bottom:18px;margin-bottom:26px}
}

/* Planned modules remain separate from available lectures and completion evidence. */
.prism-learning .coming-soon-label{display:inline-block;font-size:.81rem;font-weight:600;line-height:1.5;padding:3px 9px;color:var(--ink);background:#F8EAC2;border-radius:3px;vertical-align:middle}
.prism-learning .planned-module .meta{display:flex;align-items:center;gap:8px}
.prism-learning .coming-soon-page{max-width:760px;margin:0 auto;padding:50px 16px 70px;text-align:center}
.prism-learning .coming-soon-mark{width:96px;height:80px;margin:30px auto 24px;color:var(--ink)}
.prism-learning .coming-soon-page h1{max-width:18ch;margin:0 auto 20px;font-size:clamp(2.2rem,4vw,3.5rem);line-height:1.1}
.prism-learning .coming-soon-page .lead{max-width:49ch;margin:0 auto 28px;font-size:1.08rem}
.prism-learning .coming-soon-page .meta{margin:0 auto 14px;font-size:.91rem;justify-content:center;text-align:center}
.prism-learning .coming-soon-page .actions{justify-content:center;margin-top:28px}
@media(max-width:620px){.prism-learning .coming-soon-page{padding:28px 0 44px}.prism-learning .coming-soon-page .actions .btn{width:100%;text-align:center}}

/* Lecture notes and diagrams: use the existing Prism reading surface. */
.prism-learning .lecture-outcomes{padding:0 0 26px;border-bottom:1px solid var(--line);margin-bottom:32px}
.prism-learning .lecture-notes{margin-bottom:42px}
.prism-learning .lecture-notes p{max-width:70ch}
.prism-learning .lecture-notes p+p{margin-top:18px}
.prism-learning .lecture-summary{margin-top:36px}
.prism-learning .summary-section{margin:22px 0;padding:0 0 22px;border-bottom:1px solid var(--line)}
.prism-learning .summary-section:last-child{border-bottom:0;padding-bottom:0}
.prism-learning .summary-section h3{margin:0 0 10px}
.prism-learning .concept-visual{margin:0 0 34px;padding:24px 22px;background:#F5F8F7;border-block:1px solid var(--line)}
.prism-learning .concept-visual figcaption h3{margin:0 0 24px;font:650 1.12rem/1.4 var(--sans);letter-spacing:0}
.prism-learning .concept-flow{display:grid;grid-template-columns:repeat(var(--flow-columns,3),minmax(0,1fr));gap:20px;list-style:none;margin:0;padding:0}
.prism-learning .concept-flow>li{position:relative;min-width:0;margin:0;display:flex}
.prism-learning .concept-flow>li>div{width:100%;padding:16px 13px;background:var(--paper);border:1px solid #A7BEB5;border-radius:3px}
.prism-learning .concept-flow h4{font-size:.95rem;line-height:1.4;margin:10px 0 8px}
.prism-learning .concept-flow p{font-size:.87rem;line-height:1.5;margin:0}
.prism-learning .flow-number{font-size:.76rem;font-weight:650;color:#486259;font-variant-numeric:tabular-nums}
.prism-learning .concept-arrow{position:absolute;right:-21px;top:39px;width:20px;height:16px;z-index:1;color:#456B5E}
.prism-learning .concept-flow.flow-vertical{display:block}
.prism-learning .concept-flow.flow-vertical>li{margin-bottom:30px}
.prism-learning .concept-flow.flow-vertical>li:last-child{margin-bottom:0}
.prism-learning .concept-flow.flow-vertical .concept-arrow{top:auto;bottom:-23px;right:calc(50% - 10px);transform:rotate(90deg)}
.prism-learning .concept-comparison{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:18px}
.prism-learning .concept-comparison>section{padding:18px;background:var(--paper);border:1px solid #B9CBC3;min-width:0}
.prism-learning .concept-comparison h4{font-size:1rem;margin-bottom:12px}
.prism-learning .concept-comparison ul{font-size:.91rem;line-height:1.55;margin:0;padding-inline-start:1.2em}
.prism-learning .concept-decision{padding:0 2px 4px}
.prism-learning .decision-question{position:relative;margin:0 auto;padding:13px 18px;max-width:32ch;text-align:center;border:1px solid #8BA99B;background:var(--paper);font-weight:650;font-size:.97rem;line-height:1.45}
.prism-learning .decision-question::after{content:"";position:absolute;width:1px;height:18px;background:#8BA99B;top:100%;left:50%}
.prism-learning .decision-branches{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:18px;position:relative;margin-top:34px}
.prism-learning .decision-branches::before{content:"";position:absolute;top:-17px;left:16%;right:16%;height:1px;background:#8BA99B}
.prism-learning .decision-branches>section{position:relative;padding:16px;background:var(--paper);border:1px solid #A7BEB5;min-width:0}
.prism-learning .decision-branches>section::before{content:"";position:absolute;top:-17px;left:50%;width:1px;height:16px;background:#8BA99B}
.prism-learning .decision-branches h4{font-size:.96rem;margin-bottom:8px}
.prism-learning .decision-branches p{font-size:.9rem;line-height:1.55;margin:0}
.prism-learning .visual-caption{font-size:.85rem;line-height:1.5;color:#3E5C50;margin:20px 0 0;max-width:76ch}
.prism-learning .lecture-glossary{margin:0;border-top:1px solid var(--line)}
.prism-learning .lecture-glossary>div{display:grid;grid-template-columns:minmax(120px,1fr) minmax(0,3fr);gap:20px;padding:17px 0;border-bottom:1px solid var(--line)}
.prism-learning .lecture-glossary dt{font-weight:650}
.prism-learning .lecture-glossary dd{margin:0}
.prism-learning .worked-example{padding:26px 0;border-block:1px solid var(--line)}
.prism-learning .example-source,.prism-learning .example-output{white-space:pre-wrap;overflow-wrap:anywhere;padding:18px 20px;margin:14px 0 24px;background:#F5F8F7;border:1px solid var(--line);border-radius:3px;line-height:1.65;font-size:.97rem;max-width:100%}
.prism-learning .example-output{background:#FBF7ED}
.prism-learning .task-hints,.prism-learning .model-answer,.prism-learning .earlier-work{max-width:74ch;margin:26px 0;padding:18px 0;border-block:1px solid var(--line)}
.prism-learning .task-hints summary,.prism-learning .model-answer summary,.prism-learning .earlier-work summary{cursor:pointer;min-height:32px;font-weight:650;line-height:1.5}
.prism-learning .task-hints[open] summary,.prism-learning .model-answer[open] summary,.prism-learning .earlier-work[open] summary{margin-bottom:14px}
.prism-learning .task-hints ul{margin:10px 0 0}
.prism-learning .module-finish{margin:28px 0}
.prism-learning .planned-lecture-outline{padding:20px 0 0;max-width:76ch;border-top:1px solid var(--line)}
.prism-learning .planned-lecture-outline h2{margin-bottom:26px}
.prism-learning .planned-lecture-outline>ol{padding:0;list-style:none;margin:0}
.prism-learning .planned-lecture-outline>ol>li{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:20px 0;border-bottom:1px solid var(--line);margin:0}
.prism-learning .planned-lecture-outline h3{font-size:1.02rem;line-height:1.45;margin-bottom:8px}
.prism-learning .planned-lecture-outline p{font-size:.93rem;line-height:1.55;margin-bottom:0}
.prism-learning .planned-lecture-outline .coming-soon-label{flex:0 0 auto;margin-top:3px}
@media(max-width:620px){
.prism-learning .concept-visual{padding:21px 16px}
.prism-learning .concept-flow{display:block}
.prism-learning .concept-flow>li{margin-bottom:30px}
.prism-learning .concept-flow>li:last-child{margin-bottom:0}
.prism-learning .concept-arrow{top:auto;bottom:-23px;right:calc(50% - 10px);transform:rotate(90deg)}
.prism-learning .concept-flow>li>div{padding:15px 16px}
.prism-learning .concept-flow h4{margin-top:6px}
.prism-learning .concept-comparison,.prism-learning .decision-branches{grid-template-columns:1fr}
.prism-learning .decision-branches::before{left:50%;right:auto;width:1px;height:calc(100% + 16px)}
.prism-learning .decision-branches>section{z-index:1}
.prism-learning .lecture-glossary>div{grid-template-columns:1fr;gap:6px}
.prism-learning .planned-lecture-outline>ol>li{display:block}
.prism-learning .planned-lecture-outline .coming-soon-label{margin-top:14px}
}
.prism-learning .suggested-note{font-size:.84rem;color:var(--muted);margin-top:10px}
.prism-learning .suggested-module{border-color:var(--accent,#6a5a36)}
