:root{color-scheme:light;--paper:#f7f7f2;--ink:#202e29;--muted:#606c65;--line:#d9dfd6;--accent:#245c47;--wash:#e9efe7;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink)}button,select,input{font:inherit}button,select{color:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button,summary{cursor:pointer}button{touch-action:manipulation}button:disabled{opacity:.45;cursor:default}a{color:var(--accent)}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}button:focus-visible,a:focus-visible,summary:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #52856e;outline-offset:4px}button,select{min-height:44px;border-radius:5px;border:1px solid transparent;background:none}button{transition:background .14s,color .14s}select{padding:0 28px 0 10px;max-width:100%}select:focus{background:white}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip{position:fixed;top:8px;left:12px;background:white;padding:12px;z-index:10;transform:translateY(-160%);opacity:0;pointer-events:none}.skip:focus{transform:none;opacity:1;pointer-events:auto}
.masthead{max-width:1320px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:26px 36px;border-bottom:1px solid var(--line)}.identity{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);font-size:14px;font-weight:650}.identity small{display:block;color:var(--muted);font-size:12px;font-weight:400;margin-top:4px}.brand-mark{display:grid;place-items:center;border:1px solid #aab9ab;width:40px;height:40px;font:500 19px Georgia,serif;letter-spacing:-1px}.language select{font-size:13px;border-color:var(--line);background:transparent}main{max-width:1320px;margin:auto;padding:32px 36px 24px;outline:none}.course-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:30px}.eyebrow{font-size:11px;letter-spacing:.13em;font-weight:650;color:var(--accent);margin:0 0 10px}h1{font-size:clamp(26px,3vw,38px);font-weight:580;letter-spacing:-.045em;line-height:1.12;margin:0}.intro{font-size:14px;color:var(--muted);margin:12px 0 0;line-height:1.5}.course-meta{font-size:13px;white-space:nowrap;line-height:1.5;margin:0;text-align:right;font-variant-numeric:tabular-nums}.meta-language{display:block;color:var(--muted);margin-top:4px}.dot{margin:0 9px;color:#8a958d}
.resume{border-left:3px solid var(--accent);background:var(--wash);padding:12px 18px;display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 24px}.resume p{font-size:14px;margin:0;line-height:1.5}.resume>div{display:flex;flex-wrap:wrap}.text-button{padding:9px 12px;color:var(--accent);font-size:13px;font-weight:650}.secondary{font-weight:400;color:var(--muted)}.player{border-top:1px solid var(--line)}.slide-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:58px}.slide-toolbar p{font-size:13px;margin:0;color:var(--muted)}#part-title{color:var(--ink);font-weight:600}.icon-label{display:inline-flex;align-items:center;gap:8px;font-size:12px;padding:8px;color:var(--muted)}.stage{display:grid;grid-template-columns:minmax(0,1fr) clamp(155px,17vw,228px);gap:16px;align-items:stretch}.stage.avatar-hidden{grid-template-columns:minmax(0,1fr)}.slide-figure{margin:0;position:relative;min-width:0;aspect-ratio:16/9;background:#fff;border:1px solid var(--line);overflow:hidden}.slide-figure>img{width:100%;height:100%;object-fit:contain;display:block}.image-error{position:absolute;inset:0;margin:0;padding:24px;background:var(--paper);display:grid;place-items:center;font-size:14px}.presenter{min-width:0;display:flex;flex-direction:column;justify-content:flex-end;position:relative}.presenter-name{font-size:14px;line-height:1.5;margin:auto 12px 10px;text-align:left}.presenter-name strong{font-weight:600}.presenter-name span{display:block;color:var(--muted);font-size:12px}.portrait{width:100%;aspect-ratio:1;position:relative;overflow:hidden}.portrait canvas,.portrait img{width:100%;height:100%;display:block;position:absolute;inset:0}.avatar-fallback{font-size:11px;line-height:1.5;color:var(--muted);margin:8px 0 0}.captions{padding:16px 24px 4px;min-height:56px;text-align:center}.captions p{max-width:780px;margin:0 auto;font-size:17px;line-height:1.55;min-height:1.55em}#media{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;overflow:hidden;clip-path:inset(50%)}
.controls{background:var(--paper);padding:18px 0 4px}.timeline{display:flex;align-items:center;gap:14px;font-size:12px;font-variant-numeric:tabular-nums;color:var(--muted)}.timeline output{min-width:34px}.timeline output:last-child{text-align:right}.timeline input{flex:1;min-width:0;accent-color:var(--accent);height:24px;margin:0;cursor:pointer}.control-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:9px}.transport,.options{display:flex;align-items:center;gap:7px}.icon-button{display:inline-grid;place-items:center;min-width:44px;padding:10px}.primary{background:var(--accent);color:white;display:inline-flex;align-items:center;justify-content:center;gap:9px;min-width:114px;padding:10px 18px;font-size:14px;font-weight:600}.play-icon{fill:currentColor;stroke-width:1}.pause-icon{display:none;stroke-width:3}.playing .play-icon{display:none}.playing .pause-icon{display:block}.option{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;font-size:12px;color:var(--muted)}.option[aria-pressed="true"]{background:var(--wash);color:var(--accent)}.cc-icon{font-size:10px;font-weight:800;border:1.4px solid currentColor;border-radius:3px;padding:1px 2px;letter-spacing:-.03em}.speed select{font-size:13px;min-width:62px;padding-left:8px;padding-right:20px}.options #mute{color:var(--muted)}#mute[aria-pressed="true"]{background:var(--wash);color:var(--accent)}#status{font-size:12px;line-height:1.5;color:var(--muted);min-height:18px;margin:10px 0 0}#status.error{color:#a03528}.outline{margin:24px 0 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.outline summary{display:flex;align-items:center;list-style:none;padding:18px 0;min-height:56px;font-size:14px;font-weight:600;gap:12px}.outline summary::-webkit-details-marker{display:none}.outline summary svg{margin-left:auto;transition:transform .18s}.outline[open] summary svg{transform:rotate(180deg)}.outline-meta{font-size:12px;font-weight:400;color:var(--muted)}#chapters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;padding-bottom:22px}.chapter h2{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin:4px 0 10px}.chapter ol{list-style:none;margin:0;padding:0}.chapter button{width:100%;text-align:left;display:flex;align-items:center;gap:12px;padding:10px 12px;font-size:13px;line-height:1.35;border-left:2px solid transparent;border-radius:0;min-height:48px}.chapter button[aria-current="true"]{color:var(--accent);border-left-color:var(--accent);background:var(--wash)}.chapter button span:first-child{font-size:11px;font-variant-numeric:tabular-nums;color:var(--muted);min-width:18px}.course-footer{display:flex;justify-content:space-between;gap:28px;font-size:11px;line-height:1.55;color:var(--muted);padding-top:10px}.course-footer p{max-width:620px}dialog{border:0;padding:0;width:min(96vw,1600px);max-width:96vw;max-height:94dvh;background:var(--paper);color:var(--ink);box-shadow:0 16px 80px #0003;border-radius:6px}dialog::backdrop{background:#17271edb}.dialog-bar{display:flex;align-items:center;justify-content:space-between;padding:8px 14px;gap:12px;border-bottom:1px solid var(--line)}.dialog-bar h2{font-size:14px;margin:0}.dialog-bar>div{display:flex;align-items:center;gap:8px}#zoom-scroll{overflow:auto;max-height:calc(90dvh - 62px);overscroll-behavior:contain;-webkit-overflow-scrolling:touch}#zoom-image{display:block;width:100%;height:auto}#zoom-scroll.actual #zoom-image{width:1600px;max-width:none}noscript{display:block;padding:24px}button:active:not(:disabled){transform:translateY(1px)}
@media(hover:hover){button:hover:not(:disabled),summary:hover{background:var(--wash)}.primary:hover:not(:disabled){background:#194431}}
@media(max-width:760px){.masthead{padding:16px 18px}.brand-mark{width:34px;height:34px;font-size:17px}.identity{font-size:13px;gap:9px}.identity small{font-size:11px}.language select{font-size:12px;padding-left:8px;padding-right:22px}main{padding:24px 18px 14px}.course-heading{display:block;margin-bottom:18px}.eyebrow{font-size:10px;margin-bottom:9px}h1{font-size:28px}.intro{font-size:13px;margin-top:9px;max-width:38ch}.course-meta{text-align:left;margin-top:12px;font-size:12px;display:flex;align-items:center;gap:0;flex-wrap:wrap}.meta-language{display:inline;margin:0 0 0 auto;font-size:11px}.slide-toolbar{min-height:52px;gap:4px}.slide-toolbar p{font-size:12px}.slide-toolbar .dot{margin:0 6px}.icon-label span{display:none}.icon-label{min-width:44px;justify-content:center}.stage{display:flex;flex-direction:column;gap:0}.slide-figure{margin:0 -18px;border-left:0;border-right:0}.presenter{display:flex;flex-direction:row-reverse;align-items:center;justify-content:flex-end;min-height:112px;gap:18px;padding:12px 12px 0}.portrait{width:112px;flex-shrink:0}.presenter-name{margin:0;font-size:14px}.presenter-name span{max-width:180px}.avatar-fallback{font-size:11px;max-width:150px}.captions{padding:14px 4px 0;min-height:48px}.captions p{font-size:16px}.controls{position:sticky;bottom:0;z-index:2;padding:10px 0 calc(8px + env(safe-area-inset-bottom,0px));box-shadow:0 -6px 12px var(--paper)}.control-row{flex-wrap:wrap;justify-content:center;gap:7px;margin-top:4px}.transport{justify-content:center;flex:1 1 100%;gap:16px}.primary{min-width:136px}.options{gap:9px;justify-content:center}.option{font-size:12px;padding:8px}.timeline{gap:10px}.timeline input{height:28px}#status{font-size:11px;min-height:16px;margin-top:5px;text-align:center}.outline{margin-top:14px}#chapters{display:block}.chapter+.chapter{margin-top:18px}.course-footer{display:block;padding-top:8px}.course-footer p{margin:6px 0}.resume{display:block;padding:12px}.resume>div{margin-top:5px}.dialog-bar h2{font-size:12px}dialog{width:96vw;max-width:96vw}.dialog-bar{padding:6px 8px}.dialog-bar .text-button{font-size:12px}}
@media(max-height:520px) and (orientation:landscape){.masthead{padding-top:8px;padding-bottom:8px}main{padding-top:14px}.course-heading{margin-bottom:12px}.intro,.course-meta{display:none}.stage{display:grid;grid-template-columns:minmax(0,1fr) 136px}.slide-figure{margin:0}.presenter{display:flex;flex-direction:column;justify-content:flex-end;padding:0;gap:0}.presenter-name{margin:0 auto auto;font-size:12px}.portrait{width:136px}.controls{position:static}.control-row{flex-wrap:nowrap;justify-content:space-between}.transport{flex:0 0 auto;gap:7px}.options{gap:0}.primary{min-width:105px}.option{padding:8px 6px}.option span:not(.cc-icon){display:none}.captions p{font-size:15px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}}

@media(min-width:761px) and (min-height:521px){.stage{width:min(100%,calc(max(240px,100svh - 450px)*1.7778 + clamp(155px,17vw,228px) + 16px));margin-inline:auto}.stage.avatar-hidden{width:min(100%,calc(max(240px,100svh - 450px)*1.7778))}}
@media(max-height:520px) and (orientation:landscape){.masthead,.course-heading{display:none}main{padding:4px 18px 14px}.slide-toolbar{min-height:40px}.stage{width:min(100%,calc(max(140px,100svh - 164px)*1.7778 + 152px));margin-inline:auto}.stage.avatar-hidden{width:min(100%,calc(max(140px,100svh - 164px)*1.7778))}.controls{padding-top:10px}#status{margin-top:4px}}

/* Questions extend the lesson, not a second dashboard. The microphone is never hidden in an overflow menu. */
.question-launch{display:flex;gap:12px;justify-content:center;align-items:center;margin-top:8px}.question-launch button{display:inline-flex;align-items:center;gap:9px}.microphone{border:1px solid var(--accent);padding:8px 15px;color:var(--accent);font-size:13px;font-weight:650;background:var(--wash)}.microphone svg{width:24px;height:24px}.microphone[aria-pressed=true]{background:#8c2929;border-color:#8c2929;color:white}.question-panel{border-top:1px solid var(--line);padding:22px 0;max-width:780px;margin:auto}.question-panel label{display:block;font-weight:650}.question-panel textarea{display:block;width:100%;resize:vertical;min-height:94px;border:1px solid #9aa99e;background:white;border-radius:5px;padding:12px;font:inherit;color:var(--ink)}#question-hint,.question-mode{font-size:13px;line-height:1.5;color:var(--muted)}.question-actions,.question-return{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:12px}.question-return{padding-top:16px;border-top:1px solid var(--line)}#question-status{font-size:14px;line-height:1.5}.answer-text{font-size:18px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}.question-privacy{font-size:11px;line-height:1.5;color:var(--muted);max-width:95ch}.question-panel:empty{display:none}@media(max-width:760px){.question-launch{gap:8px}.question-launch .text-button{padding-inline:7px;font-size:12px}.microphone{padding-inline:11px}.question-panel{padding:18px 0}.question-return .primary{flex:1}.answer-text{font-size:17px}.player:has(.question-panel:not([hidden])) .controls{position:static}}
