/* Editorial presentation system. Shared by the two CBO lectures. */
:root{--stage:#121b35;--stage-deep:#0b1226;--stage-soft:#223352;--ink:#f7f2e7;--muted:#c1ccdd;--paper:var(--stage);--white:#fffaf0;--line:#ffffff30;--purple:#eac789;--wash:#263650;--green:#eac789;--orange:#eac789;--gold:#eac789;--cream:#f5eedf;--dark-text:#172039;--stage-glow:#426ca426;color-scheme:dark;background:var(--stage)}
body[data-theme="concepts"]{--stage:#12382f;--stage-deep:#0a241e;--stage-soft:#214b3e;--muted:#c4d8cb;--wash:#234d3e;--dark-text:#16392f;--stage-glow:#68b08c21}
body{background:radial-gradient(ellipse at 100% 0,var(--stage-glow),transparent 65%),var(--stage);color:var(--ink);font-family:"Avenir Next",Avenir,"Segoe UI",sans-serif;line-height:1.4}
body::before{content:"";position:fixed;z-index:-1;inset:0;pointer-events:none;background-image:radial-gradient(#ffffff09 .8px,transparent .8px);background-size:6px 6px}
button{background:transparent;color:var(--ink);border-color:var(--line);border-radius:4px}button:hover:not(:disabled){background:#ffffff12}a{color:var(--gold)}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:5px}
.topbar{background:var(--stage-deep);border-bottom:1px solid var(--line);padding:12px 3.8vw;min-height:64px}.brand{color:var(--ink);font-size:22px;letter-spacing:-.03em}.brand>span:first-child{color:var(--gold)}.brand-divider{background:var(--line)}.brand-topic{color:var(--muted);font-size:14px;letter-spacing:0}.toolbar{gap:9px}.toolbar button{font-size:14px;padding:9px 13px;color:var(--muted);border-color:transparent}.toolbar button:hover{color:var(--ink);border-color:var(--line)}.toolbar button[aria-pressed=true]{background:var(--cream);color:var(--dark-text)}
main{max-width:1840px;padding:34px 3.8vw 118px}.slide{position:relative;isolation:isolate;background:transparent;border:0;border-radius:0;overflow:visible;box-shadow:none}.slide::before{content:attr(data-page-number);position:absolute;z-index:-1;right:0;top:-18px;color:#ffffff07;font:clamp(130px,17vw,280px)/.85 Georgia,serif;letter-spacing:-.08em;pointer-events:none}.slide-heading{padding:0 0 26px;background:none;border-bottom:1px solid var(--line)}.slide-heading .eyebrow{margin-bottom:16px;font-size:15px;letter-spacing:.12em;color:var(--gold)}.eyebrow .time{font-size:14px;color:var(--muted)}h1{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:clamp(48px,4.6vw,82px);line-height:1.04;letter-spacing:-.035em;max-width:1450px;text-wrap:balance}.subtitle{font-size:clamp(20px,1.6vw,28px);line-height:1.4;color:var(--muted);max-width:1250px;margin:16px 0 0}.lesson-grid{padding:30px 0 24px;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:clamp(36px,4vw,72px)}
.block-label{color:var(--gold);font-size:15px;letter-spacing:.12em;font-weight:650;margin-bottom:18px;gap:12px}.block-label .step{border:0;background:none;color:var(--gold);width:auto;height:auto;font:24px/1 Georgia,serif;letter-spacing:0;margin-right:3px}.explanation p{font-size:clamp(24px,1.85vw,32px);line-height:1.45;margin:0 0 22px;letter-spacing:-.018em}.explanation strong{font-weight:700;color:white}.example{border-left:3px solid var(--gold);border-radius:0;background:#ffffff07;padding:18px 23px;margin:24px 0}.explanation .example p{font-size:clamp(22px,1.6vw,28px);line-height:1.4;color:var(--ink)}.example-label{font-size:13px;letter-spacing:.1em;color:var(--gold);margin-bottom:12px;font-weight:650}.chips{margin-top:20px;gap:10px}.chip{padding:5px 0;font-size:16px;border:0;border-radius:0;background:none;color:var(--muted);font-weight:500}.chip+.chip::before{content:"/";margin-right:10px;color:var(--gold)}.sources{font-size:14px;line-height:1.6;color:var(--muted);margin-top:20px}.sources a{color:var(--gold)}
.practice{gap:28px}.question{padding:25px 28px 29px;border:0;border-radius:3px;background:var(--cream);color:var(--dark-text);box-shadow:7px 7px 0 #00000015}.question .block-label,.question .step{color:var(--dark-text)}.question p{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:clamp(30px,2.55vw,44px);line-height:1.16;letter-spacing:-.025em}.exercise{border:0;border-top:1px solid var(--line);border-radius:0;padding:25px 0 0}.exercise .block-label{color:var(--gold)}.exercise>p{font-size:clamp(24px,1.85vw,32px);line-height:1.4;margin-bottom:24px;letter-spacing:-.015em}.reveal{font-size:18px;padding:14px 20px;background:var(--gold);color:var(--dark-text);border:1px solid var(--gold);border-radius:4px;gap:22px;box-shadow:0 4px 12px #00000016}.reveal:hover:not(:disabled){background:var(--cream);color:var(--dark-text)}.reveal[aria-expanded=true]{background:transparent;color:var(--gold);border-color:var(--gold)}.answer{border-color:var(--gold);padding:22px 24px;background:#ffffff08;color:var(--ink);margin-top:22px}.answer .answer-label{color:var(--gold);font-size:14px;display:flex;align-items:center;gap:10px}.answer p{font-size:clamp(24px,1.85vw,32px);line-height:1.4;letter-spacing:-.015em;margin:0 0 16px}.prompt-copy{font-size:16px;padding:9px 12px;color:var(--gold)}.comparison{font-size:clamp(22px,1.7vw,30px);margin-top:24px;color:var(--ink)}.comparison caption{text-align:left}.comparison th{font-size:15px;color:var(--muted)}.comparison td,.comparison th{padding:13px 10px 13px 0;border-color:var(--line)}.comparison td:first-child{color:var(--gold);padding-right:22px}
.slide-footer{padding:17px 0;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}.slide-footer span:last-child{color:var(--gold)}.navigation{background:var(--stage-deep);border-top:1px solid var(--line);padding:14px 3.8vw max(14px,env(safe-area-inset-bottom));gap:24px}.progress-track{background:var(--line);height:3px}#progress{background:var(--gold)}.nav-button{font-size:17px;min-height:48px;padding:11px 20px;background:var(--cream);color:var(--dark-text);border:1px solid var(--cream);border-radius:4px}.nav-button:hover:not(:disabled){background:var(--gold);color:var(--dark-text)}.nav-button.secondary{background:transparent;color:var(--ink);border-color:var(--line)}.page-info strong{font:28px/1 Georgia,serif;color:var(--gold)}.page-info span{font-size:15px;color:var(--muted)}.timer-group output{font-size:16px;color:var(--muted)}.timer-group button{color:var(--muted)}.study main{max-width:1720px}.study .slide{margin-bottom:70px;padding-bottom:25px}.study .page-info::after{color:var(--muted);font-size:14px}.skip{background:var(--cream);color:var(--dark-text)}
dialog{background:var(--stage-deep);color:var(--ink);border:1px solid var(--line);border-radius:8px}dialog::backdrop{background:#030a12d9;backdrop-filter:blur(8px)}.dialog-heading h2{font-family:Georgia,serif;font-size:34px;font-weight:400}.dialog-heading button{color:var(--ink)}dialog>p{color:var(--muted);font-size:16px}#indexLinks a{color:var(--ink);font-size:18px;border-radius:3px;padding:13px}#indexLinks a span{color:var(--gold)}#indexLinks a:hover,#indexLinks a[aria-current=page]{background:#ffffff12}#notice{background:var(--cream);color:var(--dark-text);font-size:17px;border-radius:4px}
.focus-trigger{margin-left:auto;flex-shrink:0;display:inline-flex;align-items:center;gap:6px;border:1px solid #ffffff35;padding:6px 10px;border-radius:4px;color:var(--muted);font:500 13px/1.2 "Avenir Next","Segoe UI",sans-serif;letter-spacing:0;text-transform:none;min-height:32px}.focus-trigger svg{width:13px;height:13px}.focus-trigger:hover:not(:disabled){color:var(--ink);background:#ffffff14}.question .focus-trigger{color:var(--dark-text);border-color:#17203935}.question .focus-trigger:hover{color:var(--dark-text);background:#17203910}
#focusDialog{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;border:0;border-radius:0;padding:0;background:radial-gradient(ellipse at 100% 0,var(--stage-glow),transparent 70%),var(--stage);overflow:auto}body:has(#focusDialog[open]){overflow:hidden}.focus-shell{display:flex;flex-direction:column;min-height:100dvh;padding:25px 4.5vw 100px}.focus-top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:16px;border-bottom:1px solid var(--line)}.focus-kicker{font-size:17px;color:var(--gold);letter-spacing:.06em}.focus-close{color:var(--ink);padding:10px 16px;font-size:16px}.focus-title{font:400 clamp(42px,4vw,74px)/1.07 Georgia,serif;letter-spacing:-.035em;margin:28px 0 30px;max-width:1550px;text-wrap:balance}.focus-content{flex:1;display:flex;align-items:center;padding:0 0 26px}.focus-columns{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:5vw;align-items:start;width:100%}.focus-content p{font-size:clamp(29px,2.4vw,44px);line-height:1.38;letter-spacing:-.022em;margin:0 0 24px}.focus-content strong{color:#fff}.focus-content .example{margin:0;padding:22px 26px}.focus-content .example p{font-size:clamp(26px,2.1vw,38px)}.focus-content .example-label{font-size:16px}.focus-content .comparison{font-size:clamp(25px,2.1vw,37px);margin:0}.focus-content .comparison th{font-size:17px}.focus-question{max-width:1450px;border-left:5px solid var(--gold);padding:10px 0 10px 40px}.focus-content .focus-question p{font:400 clamp(48px,5.2vw,94px)/1.12 Georgia,serif;letter-spacing:-.025em;margin:0;color:var(--ink)}.focus-answer{max-width:1350px}.focus-content .focus-answer p{font-size:clamp(30px,2.5vw,46px)}.focus-answer .answer-label{font:600 17px/1.4 "Avenir Next","Segoe UI",sans-serif;color:var(--gold);letter-spacing:.1em;text-transform:uppercase}.focus-answer .copyable{padding:20px 25px;background:#ffffff08;border-left:3px solid var(--gold)}.focus-sources{font-size:15px;color:var(--muted);padding:8px 0;line-height:1.5}.focus-sources a{margin-right:14px}.focus-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;position:fixed;bottom:0;left:0;right:0;background:var(--stage-deep);border-top:1px solid var(--line);padding:15px 4.5vw;z-index:2}.focus-tabs{display:flex;gap:12px}.focus-tabs button{font-size:17px;padding:10px 16px;color:var(--muted)}.focus-tabs button[aria-pressed=true]{background:var(--cream);color:var(--dark-text);border-color:var(--cream)}.focus-next{background:var(--gold);color:var(--dark-text);border-color:var(--gold);font-size:18px;padding:12px 20px}.focus-next:hover:not(:disabled){background:var(--cream);color:var(--dark-text)}.focus-hint{font-size:14px;color:var(--muted)}
.focus-pages{display:flex;gap:8px;margin-left:auto}.focus-pages button{font-size:15px;padding:10px 14px;color:var(--muted)}
@media(max-width:760px){.focus-top{flex-wrap:wrap}.focus-pages{order:3;margin-left:0;width:100%;justify-content:space-between}.focus-pages button{font-size:13px;padding:8px 12px}.focus-close{margin-left:auto}}
@media(min-width:1800px){main{padding-top:44px}.lesson-grid{padding-top:38px}.block-label{font-size:18px}.question{padding:30px 34px}.focus-trigger{font-size:15px}.sources{font-size:16px}.chip{font-size:18px}.slide-footer{font-size:15px}}
@media(max-width:1100px){.brand-topic,.brand-divider{display:none}main{padding:26px 3vw 110px}.lesson-grid{gap:30px}.explanation p,.exercise>p,.answer p{font-size:24px}.explanation .example p{font-size:22px}.question p{font-size:30px}.question{padding:22px}.block-label{font-size:13px}.focus-trigger{font-size:12px;padding:6px}.focus-hint{display:none}.focus-columns{gap:30px}.focus-content p{font-size:29px}.focus-title{font-size:45px}}
@media(max-width:760px){.topbar{padding:13px 18px;gap:12px}.brand{font-size:20px}.toolbar{gap:3px}.toolbar button{padding:8px;font-size:12px}main{padding:26px 21px 105px}.slide-heading{padding:0 0 25px}.slide-heading .eyebrow{font-size:12px;gap:10px}.eyebrow .time{font-size:12px}h1{font-size:43px;line-height:1.08;text-wrap:initial}.subtitle{font-size:20px;margin-top:16px}.lesson-grid{grid-template-columns:1fr;gap:32px;padding:25px 0}.explanation p,.exercise>p,.answer p{font-size:22px;line-height:1.45}.explanation .example p{font-size:21px}.question p{font-size:33px}.block-label{font-size:13px}.block-label .step{font-size:22px}.example{padding:18px}.question{padding:23px}.exercise{padding-top:24px}.reveal{font-size:17px}.sources{font-size:13px}.chip{font-size:14px}.comparison{font-size:21px}.comparison th{font-size:13px}.slide-footer{padding:18px 0;font-size:12px;gap:8px}.navigation{padding:12px 18px max(12px,env(safe-area-inset-bottom));gap:12px}.nav-button{font-size:14px;padding:10px 14px;min-height:44px}.page-info strong{font-size:24px}.study .page-info::after{font-size:12px}.focus-trigger{font-size:12px;padding:7px 9px}.focus-shell{padding:18px 23px 165px}.focus-top{gap:12px}.focus-kicker{font-size:13px}.focus-close{font-size:13px;padding:9px 11px}.focus-title{font-size:36px;margin:24px 0}.focus-content{align-items:flex-start}.focus-columns{grid-template-columns:1fr;gap:22px}.focus-content p,.focus-content .focus-answer p{font-size:25px}.focus-content .example p,.focus-content .comparison{font-size:23px}.focus-question{padding-left:22px;border-left-width:3px}.focus-content .focus-question p{font-size:40px}.focus-bottom{padding:12px 18px max(12px,env(safe-area-inset-bottom));flex-wrap:wrap;gap:10px}.focus-tabs{gap:6px;flex:1}.focus-tabs button{padding:8px;font-size:13px}.focus-next{font-size:14px;padding:10px 14px}.focus-sources{font-size:13px}.focus-content .example-label{font-size:13px}}
@media(max-width:390px){.topbar{justify-content:center}h1{font-size:38px}.slide-heading .eyebrow .time{display:none}.nav-button.secondary span{display:none}.question{padding:19px}.question p{font-size:30px}.focus-shell{padding-left:18px;padding-right:18px}.focus-title{font-size:32px}.focus-content p,.focus-content .focus-answer p{font-size:23px}.focus-tabs button{font-size:12px}}
@media print{body{color:#14252b;background:white}body::before,.slide::before,.focus-trigger,#focusDialog{display:none!important}main,.study main{max-width:none;padding:0}.slide,.study .slide{margin:0;padding:0;background:white;color:#14252b}.slide-heading{padding:10px 0}.lesson-grid{display:block;padding:15px 0}h1{font-size:30px;color:#14252b}.subtitle{font-size:15px;color:#364b44}.explanation p,.exercise>p,.answer p{font-size:15px;color:#14252b}.explanation strong{color:#14252b}.question{background:#eee9dd;color:#14252b;box-shadow:none}.question p{font-size:22px}.example{background:#f3f3ee}.explanation .example p{font-size:14px;color:#14252b}.block-label,.block-label .step,.example-label,.sources,.sources a,.chip,.slide-footer,.slide-footer span:last-child,.comparison,.comparison td:first-child,.answer .answer-label{color:#314b40}.comparison{font-size:14px}.comparison th{font-size:12px;color:#314b40}.answer{background:#f3f3ee;color:#14252b}.slide-footer{font-size:10px}.slide-heading,.exercise,.slide-footer,.comparison td,.comparison th{border-color:#c8d0c8}}
