/* Presentation edition: a 1920 x 1080 design canvas scaled uniformly to the viewport.
   Type scale, safe area, density, and figure placements follow
   course_design/27_lecture_presentation_edition_policy_draft.md (revision 2); the
   visual treatment follows the Lecture 1 prototype of 2026-09-02. */

.deck-viewport { position: fixed; inset: 0; z-index: 120; overflow: hidden; background: #2b2f2e; color: var(--ink); cursor: default; }
.optional-route-chrome { position: absolute; inset: 0; pointer-events: none; z-index: 12; font: 15px/1.5 var(--font-interface); }
.optional-route-chrome button { pointer-events: auto; font: inherit; color: inherit; background: var(--paper); border: 1px solid var(--line); border-radius: 4px; padding: 8px 12px; cursor: pointer; }
.optional-route-chrome button:focus-visible { outline: 2px solid var(--blue); outline-offset: 3px; }
.optional-route-outline { pointer-events: auto; position: absolute; left: 16px; top: 50px; bottom: 50px; width: min(268px, 19vw); overflow: auto; overscroll-behavior: contain; padding: 14px; background: var(--paper); color: var(--ink); border-radius: 4px; }
.optional-route-outline ol { padding-left: 22px; }
.optional-route-outline > [data-route-return] { position: sticky; top: 0; z-index: 2; background: var(--paper); box-shadow: 0 -14px 0 14px var(--paper); }
.optional-route-outline li { margin: 8px 0; }
.optional-route-outline li button { border-color: transparent; text-align: left; width: 100%; }
.optional-route-outline [aria-current] { border-left: 3px solid var(--blue); font-weight: 600; }
.optional-route-launches { inset: auto 280px 28px 380px; display: flex; justify-content: center; align-items: center; gap: 32px; font: 24px/1.3 var(--font-interface); }
.optional-route-launches button { display: inline-flex; align-items: center; gap: 10px; min-height: 48px; padding: 4px 0; border: 0; border-radius: 0; background: transparent; color: var(--blue); white-space: nowrap; }
.optional-route-launches button:hover .route-link-label { text-decoration: underline; text-underline-offset: 5px; }
.optional-route-launches svg { width: 22px; height: 22px; flex: none; }
.optional-route-launches .route-link-count { color: var(--muted); font-size: 20px; }
.optional-route-context { position:relative; inset:auto; margin-top:24px; font:26px/1.5 var(--font-interface); color:var(--muted); flex:none; }
.optional-route-context:empty { display:none; }
.optional-route-context button { display:inline; padding:0; border:0; border-radius:0; background:transparent; color:var(--blue); text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:4px; }
.optional-route-context button:hover { color:var(--ink); }
.optional-route-context button span { font-size:.75em; }
.deck-viewport [hidden] { display: none !important; }

/* Shared offline/live teaching interface. This layer never resizes individual
   scientific primitives: the slide and every artwork use uniform scaling. */
.deck-viewport[data-teaching-ready] > .deck-toolbar { display: none; }
.deck-viewport { --teaching-dock-height: 112px; }
.deck-viewport[data-teaching-ready][data-console-paired="false"] .deck-progress-track { display: none; }
.teaching-dock { position: absolute; z-index: 20; left: 0; right: 0; bottom: 0; height: var(--teaching-dock-height); padding: 6px 24px; color: var(--ink); background: var(--paper); border-top: 1px solid var(--line); font: 500 14px/1.4 var(--font-interface); }
.teaching-dock:not([data-open="true"]) { visibility: hidden; pointer-events: none; }
.teaching-edge { position: absolute; z-index: 20; bottom: 0; left: 0; width: 100%; height: 12px; margin: 0; padding: 0; border: 0; background: transparent; cursor: default; }
.teaching-edge:focus-visible { outline: 2px solid var(--blue); outline-offset: -2px; }
.teaching-dock-row { display: flex; align-items: center; justify-content: center; gap: 10px; height: 40px; }
.teaching-pointer-tools { display:flex; justify-content:center; align-items:center; gap:6px; height:38px; }
.teaching-pointer-tools button { padding:5px 12px !important; }
.teaching-pointer-tools [aria-pressed="true"] { background:var(--ink); color:var(--paper); border-color:var(--ink); }
.teaching-mode-badge { position:absolute; right:12px; top:12px; z-index:22; border:1px solid var(--line); border-radius:5px; padding:6px 10px; background:var(--paper); color:var(--muted); font:13px var(--font-interface); cursor:pointer; }
.teaching-controls-toggle { position:absolute; right:12px; bottom:14px; z-index:31; width:36px; height:36px; display:grid; place-items:center; padding:0; border:1px solid var(--line); border-radius:6px; background:var(--paper); color:var(--muted); cursor:pointer; }
.teaching-controls-toggle:hover, .teaching-controls-toggle[data-open="true"] { color:var(--ink); }
@media(pointer:coarse) { .teaching-controls-toggle { width:44px; height:44px; } }
.teaching-controls-toggle[data-open="true"] { bottom:calc(var(--teaching-dock-height) + 8px); }
.teaching-controls-toggle:focus-visible { outline:3px solid var(--blue); outline-offset:2px; }
.teaching-quick-nav { position:absolute; right:56px; bottom:10px; z-index:31; display:flex; align-items:center; gap:2px; background:var(--paper); color:var(--ink); border:1px solid var(--line); border-radius:6px; }
.teaching-quick-nav[hidden] { display:none; }
.deck-slide { touch-action:pan-y pinch-zoom; }
/* Optional routes are continuous articles; main slides retain their geometry. */
.route-scroll { position:absolute; inset:20px 20px 76px 292px; overflow:auto; overscroll-behavior:contain; }
.route-document.deck-canvas { position:relative; left:auto!important; top:auto!important; transform:none!important; width:960px; height:auto; min-height:0; margin:0 auto; padding:36px 40px 56px; box-sizing:border-box; transform-origin:top left; font-size:26px; }
.route-document-section { position:relative; padding:24px 0; border-bottom:1px solid var(--line); }
.route-document-section>.deck-slide { position:relative; inset:auto; display:block; }
.route-document-section>.deck-slide>.deck-running { display:none; }
.route-document :is(.deck-stage,.deck-body,.deck-teaching-host) { display:block; overflow:visible; height:auto; min-height:0; }
.route-document :is(.deck-stage,.deck-body)>*+* { margin-top:24px; }
.route-document .deck-teaching-figure { display:flex; flex-direction:column; height:auto; align-items:stretch; }
.route-document .deck-artwork { max-width:100%; height:auto!important; margin:0 auto; }
.route-document .deck-svg { max-width:100%; height:auto!important; }
.route-document .deck-svg svg { width:100%; height:auto; }
.route-document :is(.deck-headline,h1) { font-size:42px; }
.route-document h2 { font-size:34px; }
.route-document.deck-canvas mjx-container[display="true"] { width:100%!important; min-width:0!important; max-width:100%!important; overflow-x:auto!important; overflow-y:hidden!important; text-align:left!important; }
.route-document.deck-canvas .cw-operation { display:block; }
.route-document.deck-canvas .cw-operation-source { min-width:0; width:100%; }
.route-document.deck-canvas figure.deck-artwork { max-width:none!important; }
.route-document .cw-board,.route-document .cw-work,.route-document .cw-reason,.route-document .cw-rowgroup { display:block; height:auto!important; max-height:none; overflow:visible; }
.route-document .cw-fragment { margin:16px 0; }
.route-document .deck-annotation-layer { inset:0; }
.route-document-outline { position:absolute; inset:20px auto 76px 16px; width:252px; overflow:auto; pointer-events:auto; overscroll-behavior:contain; padding:12px; background:var(--paper); color:var(--ink); }
.route-document-outline button { text-align:left; }
.route-document-outline li { margin:10px 0; }
.route-document-outline summary { cursor:pointer; padding:10px 0; }
@media(max-width:999px){.route-scroll{inset:76px 16px 76px}.route-document-outline{inset:8px 16px auto; width:auto; max-height:60vh; display:flex; gap:18px; z-index:20}.route-document-outline details[open]{background:var(--paper)}}
@media print{.route-scroll{position:static;overflow:visible}.route-document.deck-canvas{zoom:1!important;width:100%;padding:0}.route-document-section{break-inside:auto}}
.teaching-quick-nav button { min-width:44px; min-height:44px; padding:4px 9px; border:0; border-radius:4px; background:transparent; color:inherit; font:14px var(--font-interface); cursor:pointer; }
.teaching-quick-nav button[data-quick="previous"], .teaching-quick-nav button[data-quick="next"] { font-size:26px; }
.teaching-quick-nav button:disabled { opacity:.35; cursor:default; }
.teaching-quick-nav button:focus-visible { outline:2px solid var(--blue); outline-offset:-3px; }
.teaching-quick-nav[data-open="true"] { bottom:calc(var(--teaching-dock-height) + 8px); }
@media(pointer:coarse) { .teaching-quick-nav { right:62px; bottom:14px; } }
.teaching-dock [data-teach="pin-controls"][aria-pressed="true"] { background:var(--ink); color:var(--paper); }
.deck-viewport[data-teaching-mode="laser"] .deck-canvas,
.deck-viewport[data-teaching-mode="laser"] .deck-canvas * { cursor:none !important; }
.deck-viewport[data-teaching-mode="laser"] .deck-canvas :is(button,input,select,textarea,a,summary,[role="slider"],[role="button"]),
.deck-viewport[data-teaching-mode="laser"] .deck-canvas :is(button,a,summary,[role="button"]) * { cursor:auto !important; }
.teaching-annotation-slot .deck-annotation-modes [data-mode]:not([data-mode="highlight"]),
.teaching-annotation-slot [data-annotation="pointer"] { display:none; }
@media(max-width:600px) {
  .teaching-pointer-tools { gap:3px; overflow-x:auto; justify-content:flex-start; }
  .teaching-pointer-tools button { white-space:nowrap; padding:6px 8px !important; }
}
.teaching-dock button, .teaching-modal button, .teaching-modal select, .teaching-modal input { font: inherit; padding: 9px 13px; border: 1px solid var(--line); border-radius: 6px; color: var(--ink); background: var(--surface); }
.teaching-dock button, .teaching-modal button { cursor: pointer; }
.teaching-dock button:hover:not(:disabled), .teaching-modal button:hover:not(:disabled) { border-color: var(--blue); background: var(--blue-soft); }
.teaching-dock :focus-visible, .teaching-modal :focus-visible { outline: 3px solid var(--blue); outline-offset: 3px; }
.teaching-dock button:disabled, .teaching-modal button:disabled { opacity: .45; cursor: default; }
.teaching-dock [data-teach="next"] { color: var(--paper); background: var(--ink); min-width: 130px; }
.teaching-dock [data-teach="next"]:hover:not(:disabled) { color: var(--paper); background: var(--blue); }
.teaching-location { min-width: 180px; font-variant-numeric: tabular-nums; }
.teaching-mode { color: var(--muted); font-size: 12px; min-width: 80px; }
.teaching-progress { position: absolute; bottom: 0; left: 0; right: 0; height: 24px; --seek-fill: 0%; }
.teaching-progress input { appearance: none; -webkit-appearance: none; display: block; width: 100%; height: 24px; margin: 0; padding: 0 7px; border: 0; border-radius: 0; background: transparent; cursor: pointer; touch-action: none; }
.teaching-progress input::-webkit-slider-runnable-track { height: 3px; background: linear-gradient(to right,var(--blue) var(--seek-fill),var(--line) var(--seek-fill)); }
.teaching-progress input::-moz-range-track { height: 3px; background: linear-gradient(to right,var(--blue) var(--seek-fill),var(--line) var(--seek-fill)); }
.teaching-progress input::-webkit-slider-thumb { appearance: none; -webkit-appearance: none; width: 14px; height: 14px; margin-top: -5.5px; border: 2px solid var(--paper); border-radius: 50%; background: var(--blue); }
.teaching-progress input::-moz-range-thumb { width: 10px; height: 10px; border: 2px solid var(--paper); border-radius: 50%; background: var(--blue); }
.teaching-progress input:focus-visible { outline-offset: -3px; }
.teaching-progress input:disabled { opacity: .45; cursor: default; }
.teaching-progress-preview { position: absolute; bottom: calc(var(--teaching-dock-height) + 4px); left: 12px; right: 12px; margin: 0 auto; width: max-content; max-width: calc(100% - 24px); padding: 6px 12px; border: 1px solid var(--line); border-radius: 6px; background: var(--paper); color: var(--ink); box-shadow: 0 2px 10px #0002; pointer-events: none; text-overflow: ellipsis; white-space: nowrap; overflow: hidden; visibility: hidden; }
.teaching-progress:has(input:enabled):is(:hover,[data-seeking="true"]) .teaching-progress-preview { visibility: visible; }
.teaching-toolbox { position: absolute; right: 24px; bottom: calc(var(--teaching-dock-height) + 10px); width: min(880px, calc(100vw - 48px)); max-height: calc(100vh - var(--teaching-dock-height) - 43px); overflow: auto; padding: 22px; border: 1px solid var(--line); border-radius: 12px; background: var(--paper); box-shadow: var(--shadow); }
.teaching-tools-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.teaching-tools-grid section { display: flex; flex-direction: column; gap: 6px; }
.teaching-tools-grid h3 { margin: 0 0 8px; color: var(--muted); font: 600 13px var(--font-interface); }
.teaching-tools-grid button { text-align: left; font-size: 13px; padding: 8px; }
.teaching-dock kbd, .teaching-modal kbd { font-size: .85em; opacity: .65; margin-left: 6px; }
.teaching-message { font-size: 13px; margin: 12px 0 0; }
.teaching-message:empty { display: none; }
.teaching-notes { white-space: pre-wrap; }
.teaching-annotation-slot .deck-annotations-ui { position: absolute; top: auto; bottom: calc(var(--teaching-dock-height) + 10px); left: 24px; }
.teaching-annotation-slot [data-annotation="toggle"] { display: none; }
.teaching-annotation-slot .deck-annotation-tools { margin: 0; }
.teaching-modal { position: absolute; z-index: 30; inset: 24px 24px calc(var(--teaching-dock-height) + 14px); display: flex; flex-direction: column; background: var(--paper); color: var(--ink); border: 1px solid var(--line); border-radius: 12px; box-shadow: 0 20px 100px #0008; font: 17px/1.5 var(--font-interface); }
.teaching-modal-head { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 16px 24px; border-bottom: 1px solid var(--line); }
.teaching-modal h2 { font: 600 22px/1.3 var(--font-interface); margin: 0; }
.teaching-modal-content { padding: 24px; overflow: auto; overscroll-behavior: contain; min-height: 0; flex: 1; }
.teaching-modal-content > p:first-child { margin-top: 0; }
.teaching-modal-content label { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }
.teaching-search input { flex: 1; min-width: 200px; }
.teaching-overview-results { display: grid; grid-template-columns: repeat(auto-fill,minmax(300px,1fr)); gap: 18px; margin-top: 20px; }
.teaching-overview-results > h3 { grid-column: 1/-1; margin: 18px 0 0; font-size: 17px; }
.teaching-overview-results .teaching-slide-card { min-width: 0; padding: 8px; text-align: left; overflow: hidden; }
.teaching-slide-card > span:last-child { display: block; margin-top: 8px; font-size: 13px; }
.teaching-thumb { position: relative; display: block; width: 288px; height: 162px; overflow: hidden; margin: auto; pointer-events: none; }
.teaching-thumb > .deck-canvas { position: absolute; left: 0; top: 0; transform: scale(.15); transform-origin: 0 0; box-shadow: none; }
.teaching-inline-actions, .teaching-inspect-controls { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin: 14px 0; }
.teaching-inspect-stage { height: min(64vh,700px); min-height: 250px; overflow: hidden; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 6px; background: var(--panel); touch-action: none; cursor: grab; }
.teaching-inspect-art { width: min(100%,1000px); max-height: 100%; transform-origin: center; }
.teaching-inspect-art > .deck-svg { max-height: min(62vh,680px); }
.teaching-figure-info { margin-top: 16px; }
.teaching-board { position: absolute; inset: 0; z-index: 1; padding: 64px 96px; background-color: var(--paper); background-image: radial-gradient(var(--line) 1px,transparent 1px); background-size: 32px 32px; }
.teaching-board h2 { font: 600 34px var(--font-interface); margin: 0; }
.teaching-board p { font: 24px var(--font-interface); color: var(--muted); }
.teaching-discussion { position: absolute; inset: 0; z-index: 15; background: #080f13; color: #f7fafb; display: grid; place-items: center; padding: 9vw; }
.teaching-discussion-question { max-width: 1100px; font: 500 clamp(24px,3vw,54px)/1.45 var(--font-reading); }
.teaching-discussion-question .lecture-html { padding: 0; color: inherit; background: transparent; font: inherit; max-width: none; }
.teaching-prediction-question .lecture-html { padding: 0; color: var(--ink); background: transparent; font: 26px/1.5 var(--font-reading); margin-bottom: 24px; }
.teaching-laser { position: fixed; z-index: 40; width: var(--laser-size,24px); height: var(--laser-size,24px); border: 3px solid white; border-radius: 50%; background: #f33b36; box-shadow: 0 0 0 2px #ab0808,0 0 20px #f3383880; transform: translate(-50%,-50%); pointer-events: none; }
.teaching-timer { position: absolute; z-index: 21; top: 18px; right: 24px; padding: 8px 16px; background: var(--ink); color: var(--paper); border-radius: 8px; font: 600 20px var(--font-interface); font-variant-numeric: tabular-nums; pointer-events: none; }
.teaching-settings { display: grid; gap: 22px; max-width: 650px; }
.teaching-settings input[type="checkbox"] { width: 22px; height: 22px; accent-color: var(--blue); }
.teaching-keys { display: grid; grid-template-columns: minmax(200px,1fr) 2fr; gap: 16px; }
.teaching-keys dt { font-weight: 600; }.teaching-keys dd { margin: 0; }
.teaching-step-list { display: grid; grid-template-columns: repeat(auto-fill,minmax(240px,1fr)); gap: 12px; }
.teaching-step-list [aria-current] { border-color: var(--blue); background: var(--blue-soft); font-weight: 600; }
.teaching-demo-values, .teaching-comparison pre { white-space: pre-wrap; overflow-wrap: anywhere; color: var(--muted); font-size: 14px; }
.teaching-comparison { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.teaching-comparison > section { min-width: 0; }
.teaching-comparison.is-enlarged { display: block; max-width: 1100px; margin: auto; }
.teaching-snapshot-values { color: var(--muted); font-size: 17px; }
.teaching-comparison-frame { width: 100%; aspect-ratio: 1100/760; overflow: hidden; position: relative; background: #fbfaf7; }
.teaching-comparison iframe { width: 1100px; height: 760px; border: 0; transform-origin: 0 0; position: absolute; left: 0; top: 0; pointer-events: none; }
.teaching-reading.lecture-html, .teaching-equations.lecture-html, .teaching-figure-info.lecture-html { padding: 0; max-width: 1250px; margin: auto; color: var(--ink); background: transparent; container-type: normal; font: 30px/1.55 var(--font-reading); }
.teaching-reading .deck-stage, .teaching-reading .deck-body { display: block; overflow: visible; }
.teaching-modal :is(.teaching-reading,.teaching-equations) .lecture-html { font: inherit; max-width: none; margin: 0; padding: 0; color: var(--ink); background: transparent; container-type: normal; }
.teaching-reading .cw-fragment { margin: 18px 0; }
.teaching-reading .cw-task { font-weight: 600; }
.teaching-modal .teaching-reading mjx-container[display="true"] { font-size: 100% !important; }
.teaching-reading .deck-running { display: none; }
.teaching-reading :is(.cw-layout,.cw-columns,.cw-board) { display: block; }
.teaching-reading :is(.cw-context,.cw-work,.cw-reason) { max-height: none; overflow: visible; margin-bottom: 30px; }
.teaching-reading .deck-artwork { max-width: 100%; height: auto !important; }
.teaching-reading .deck-svg { max-width: 100%; height: auto !important; aspect-ratio: 16/9; }
.teaching-equations > section { margin: 20px 0 40px; padding: 24px; border: 1px solid var(--line); border-radius: 8px; overflow-x: auto; }
.teaching-equations mjx-container { font-size: 125% !important; }
.teaching-equations mark { background: var(--criterion-soft); color: var(--ink); text-decoration: underline 3px var(--criterion); }
[data-large-type="true"] :is(.teaching-reading,.teaching-equations) { font-size: 38px; }
[data-presentation-theme="dark"] :is(.deck-canvas,.teaching-modal) :is(strong,h1,h2,h3,h4,th) { color: var(--ink); }
[data-presentation-theme="dark"] .deck-canvas :is(.worked-example,.definition,.theorem,.proposition,.remark,.example) { background: var(--panel); color: var(--ink); }
[data-presentation-theme="dark"] .deck-canvas .lecture-html.deck-caption, [data-presentation-theme="dark"] .deck-canvas .deck-caption p { color: var(--muted); }
.deck-artwork, .deck-demo, .teaching-inspect-art { background: #fff; color: #14201d; color-scheme: light; border-radius: 3px; }
[data-presentation-theme="dark"] .deck-viewport { background: #070d11; }
[data-console-paired="true"] :is(.deck-toolbar,.deck-annotations-ui,.teaching-modal,.teaching-dock) { display: none !important; }
[data-reduced-motion="true"] *, [data-reduced-motion="true"] *::before, [data-reduced-motion="true"] *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
@media (prefers-reduced-motion: reduce) { .deck-viewport *, .deck-viewport *::before, .deck-viewport *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; } }
@media (max-width: 760px) { .teaching-dock { padding: 6px 8px; }.teaching-dock-row { gap: 4px; }.teaching-dock button { padding: 8px; font-size: 11px; }.teaching-location { min-width: 0; }.teaching-mode { display: none; }.teaching-tools-grid { grid-template-columns: 1fr 1fr; }.teaching-modal { inset: 8px 8px calc(var(--teaching-dock-height) + 8px); }.teaching-modal-content { padding: 16px; }.teaching-comparison { grid-template-columns: 1fr; } }

@media (max-width: 600px) {
  .deck-viewport { --teaching-dock-height: 172px; }
  .teaching-dock-row { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); height: 80px; gap: 4px; }
  .teaching-dock-row button, .teaching-dock [data-teach="next"] { min-width: 0; min-height: 36px; padding: 6px; }
  .teaching-dock-row .teaching-location { overflow-wrap: anywhere; }
  .teaching-toolbox { right: 8px; width: calc(100vw - 16px); padding: 12px; }
  .teaching-annotation-slot .deck-annotations-ui { left: 8px; }
}

/* Presenter-owned ink is outside the measured slide/source DOM. It shares the
   fixed design canvas, so resize/full screen cannot distort its coordinates. */
.deck-annotation-layer { position: absolute; inset: 0; z-index: 1; pointer-events: none; }
.deck-annotation-ink { display: block; width: 100%; height: 100%; touch-action: none; }
.deck-annotation-ink[data-mode="pen"], .deck-annotation-ink[data-mode="marker"] { cursor: crosshair; }
.deck-annotation-ink[data-mode="eraser"] { cursor: cell; }
.deck-annotating-text .deck-slide { user-select: text; cursor: text; }
.deck-annotating-text .deck-slide ::selection { background: #e5b72e55; }
.deck-annotations-ui { position: fixed; top: 12px; left: 12px; z-index: 6; font: 500 13px/1.4 var(--font-interface); color: var(--ink); }
.deck-annotations-ui button, .deck-annotations-ui select { font: inherit; color: inherit; border: 1px solid var(--line); border-radius: var(--radius-control, 5px); background: var(--paper, #fbfaf6); padding: 7px 10px; cursor: pointer; }
.deck-annotations-ui button:focus-visible, .deck-annotations-ui select:focus-visible { outline: 2px solid var(--blue, #087db3); outline-offset: 2px; }
.deck-annotations-ui button[aria-pressed="true"] { background: var(--ink, #233943); color: var(--paper, #fbfaf6); border-color: var(--ink); }
.deck-annotations-ui button:disabled { opacity: .45; cursor: default; }
.deck-annotation-tools { width: min(360px, calc(100vw - 32px)); max-height: calc(100vh - 70px); overflow: auto; overscroll-behavior: contain; margin-top: 8px; padding: 14px; background: var(--paper, #fbfaf6); border: 1px solid var(--line); border-radius: 8px; box-shadow: 0 6px 24px #23394324; }
.deck-annotation-page { margin: 0 0 10px; font-weight: 600; }
.deck-annotation-modes, .deck-annotation-actions { display: flex; flex-wrap: wrap; gap: 6px; margin: 8px 0; }
.deck-annotation-options { display: flex; flex-wrap: wrap; gap: 12px; margin: 12px 0; }
.deck-annotation-options label { display: flex; align-items: center; gap: 6px; }
.deck-annotation-hint { margin: 12px 0 0; color: var(--muted); font-size: 12px; }
.deck-annotation-message { margin: 8px 0 0; font-size: 12px; }
@media print { .deck-annotations-ui, .deck-annotation-layer { display: none !important; } }
.mode-switch button.is-present { color: var(--green); }
.mode-switch button.is-present:disabled { opacity: .5; cursor: default; }
.deck-status-button { margin-top: 10px; padding: 6px 12px; border: 1px solid var(--line); border-radius: var(--radius-control); background: #fff; color: var(--ink); font: inherit; cursor: pointer; }
.deck-canvas {
  position: absolute; left: 50%; top: 50%; width: 1920px; height: 1080px;
  transform-origin: center center; background: var(--paper); color: var(--ink);
  box-shadow: 0 0 0 1px rgba(0, 0, 0, .25);
  font: 36px/1.45 var(--font-reading);
}
.deck-slide { position: absolute; inset: 96px; display: grid; grid-template-rows: auto minmax(0, 1fr); row-gap: 28px; }
.deck-headline { margin: 0; font: 600 44px/1.2 var(--font-reading); color: var(--ink); text-wrap: balance; max-width: 1500px; }
.deck-canvas .lecture-html .deck-phrasing, .deck-canvas .deck-phrasing { font-size: 40px; line-height: 1.4; max-width: 1500px; text-wrap: pretty; }
.deck-running { display: flex; justify-content: space-between; align-items: baseline; gap: 32px; min-height: 42px; color: var(--muted); font: 500 34px/1.25 var(--font-interface); letter-spacing: .01em; }
.deck-running { min-width: 0; overflow: hidden; }
.deck-running > * { min-width: 0; }
.deck-running .deck-running-section { flex: 1 1 0; }
.deck-running .deck-running-kind { flex: 0 1 auto; max-width: 46%; }
.deck-running .deck-running-subsection { font-size: 28px; font-weight: 400; }
.deck-running .deck-running-subsection::before { content: "\00B7\00A0"; }
.deck-divider-fallback { color: var(--muted); font-weight: 400; }
.deck-canvas .lecture-html .deck-lead-partial { margin: 0; }
.deck-closing-heading { margin: 0 0 8px; font: 600 44px/1.2 var(--font-reading); color: var(--ink); }
.deck-running .deck-running-section { flex: 1 1 auto; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--ink); font-weight: 600; }
.deck-running .deck-running-kind { flex: 0 1 auto; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.deck-body { min-height: 0; overflow: hidden; display: flex; flex-direction: column; gap: 28px; }
.deck-body.is-centered { justify-content: center; }
/* Source-bound author-preview companion: preserve text size; review overflow,
   never silently shrink scientific content to accommodate the new artwork. */
.deck-companion-layout { display:grid; flex:1; gap:24px; min-width:0; min-height:0; width:100%; }
.deck-companion-layout.companion-below { grid-template-rows:minmax(0,1fr) var(--companion-height); }
.deck-companion-layout.companion-right { grid-template-columns:minmax(0,1fr) var(--companion-width); }
.deck-companion-text { min-width:0; min-height:0; }
.deck-companion-text > .deck-body { height:100%; overflow:visible; }
.companion-below .deck-teaching-content { gap:16px; }
.companion-below .deck-teaching-items { gap:10px; }
.companion-below .deck-teaching-content.layout-comparison .deck-teaching-item { padding:0; border:0; }
.deck-canvas .companion-below .deck-teaching-items.lecture-html { font-size:32px; line-height:1.25; }
.companion-below .deck-teaching-context { padding-bottom:12px; gap:10px; }
.deck-canvas .companion-below .deck-teaching-context.lecture-html { font-size:32px; line-height:1.25; }
.deck-canvas .companion-below .deck-prose.lecture-html { max-width:100%; font-size:32px; line-height:1.25; }
.companion-below .deck-body { gap:16px; }
.companion-below .optional-route-context { margin-top:8px; line-height:1.3; }
.deck-canvas .companion-below .deck-teaching-context mjx-container[display="true"] { margin:.35em 0!important; }
.deck-canvas .companion-below .deck-teaching-context ul { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; margin:8px 0; padding-left:28px; max-width:none; width:100%; box-sizing:border-box; }
.companion-below[data-companion="fig_l05_wavepacket_widths"] .deck-teaching-context { grid-template-columns:1.2fr 1fr; align-items:center; }
.companion-below[data-companion="fig_l04_explanation_10"] .deck-body,
.companion-below[data-companion="fig_l04_explanation_10"] .deck-teaching-content { gap:8px; }
.companion-below[data-companion="fig_l04_explanation_10"] .optional-route-context { margin-top:0; }
/* Preserve the original figure scale and the complete occupation qualification. */
.companion-below[data-companion="fig_l04_explanation_11"] .deck-body,
.companion-below[data-companion="fig_l04_explanation_11"] .deck-teaching-content { gap:4px; }
.deck-companion-art { display:flex; align-items:center; justify-content:center; min-width:0; min-height:0; }
.deck-teaching-content[data-teaching-frame="operator_vs_its_frame"] { gap:20px; }
.deck-canvas .deck-teaching-content[data-teaching-frame="operator_vs_its_frame"] .deck-teaching-items.lecture-html { font-size:32px; line-height:1.25; gap:16px; }
.deck-teaching-content[data-teaching-frame="operator_vs_its_frame"] .deck-teaching-item:last-child { display:block; }
.deck-teaching-content[data-teaching-frame="operator_vs_its_frame"] .deck-teaching-item:last-child .deck-teaching-label { margin-bottom:10px; }
.deck-teaching-content[data-teaching-frame="operator_vs_its_frame"] .deck-teaching-statement p { margin:0 0 .45em; }
.deck-teaching-content[data-teaching-frame="operator_vs_its_frame"] mjx-container[display="true"] { margin:.3em 0!important; }
.deck-companion-art.is-unrevealed { visibility:hidden; }
.deck-companion-layout .deck-artwork { margin:0; }
.deck-companion-phase { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:18px; min-width:0; min-height:0; }
.deck-companion-phase .deck-artwork { margin:0; flex:none; }
.deck-companion-phase .deck-companion-art { flex:none; }
.deck-companion-caption { margin:0; max-width:1600px; font:32px/1.3 var(--font-reading); color:var(--ink); white-space:pre-line; }
/* Keep the optical activity, caption and route sentence inside one figure phase.
   The generic route margin adds a second gap and used to clip the last line. */
.deck-companion-phase:has(iframe[title="Optical pulse-delay scan and wavepacket"]) { justify-content:flex-start; gap:10px; }
.deck-companion-phase:has(iframe[title="Optical pulse-delay scan and wavepacket"]) .optional-route-context { margin-top:0; line-height:1.3; }
.deck-canvas .deck-companion-text mjx-container[display="true"] { max-width:100%; width:auto; }
.deck-footer { position: absolute; left: 96px; right: 96px; bottom: 40px; display: flex; justify-content: space-between; align-items: center; color: var(--muted); font: 22px/1 var(--font-interface); font-variant-numeric: tabular-nums; }
.deck-footer .deck-footer-warn { color: var(--accent); font-weight: 600; }
.deck-progress-track { position: absolute; left: 0; right: 0; bottom: 0; height: 6px; background: var(--line); }
.deck-progress { height: 100%; background: var(--ink); transition: none; }

/* Reader markup inside the canvas: Margin's semantics, the prototype's type. */
/* Reader columns use inline-size containment for native figure scrolling.
   Deck prose must retain intrinsic width, especially centered grid captions. */
.deck-canvas .lecture-html { container-type: normal; container-name: none; max-width: none; margin: 0; padding: 0; color: var(--ink); background: transparent; font: inherit; }
.deck-canvas .deck-prose.lecture-html { max-width: 1320px; }
.deck-canvas .deck-prose.lecture-html:has(> table) { max-width:1728px; width:100%; }
.deck-canvas .deck-prose.lecture-html > table { width:100%; }
/* MathJax's inline glyph boxes extend below their container's box (line-height 0 with the font's ascent and descent) and count as scroll extent though nothing paints there; the fit check is therefore geometric, not scroll-based. */
.deck-svg { display: block; }
/* A display may be wider than the text column; it takes the safe width, centred on the slide, instead of being clipped by the column. */
/* Only in the plain prose column, which starts at the body's left edge; a tinted activity box starts further right and keeps its own width. */
.deck-canvas .deck-body:not(.deck-pause):not(.deck-activity) > .deck-prose.lecture-html mjx-container[display="true"] { width: 1728px; max-width: 1728px; }
/* With a headline the body sits under it rather than floating mid-slide. */
.deck-stage { display: flex; flex-direction: column; min-height: 0; gap: 24px; }
.deck-stage.is-centered { justify-content: center; }
.deck-stage .deck-body.is-centered { justify-content: flex-start; flex: 0 1 auto; }
.deck-stage .deck-body { flex: 0 1 auto; }
.deck-canvas .lecture-html table { font-size: 34px; line-height: 1.35; }
.deck-canvas .deck-body .lecture-html table th, .deck-canvas .deck-body .lecture-html table td { font-size: 34px; line-height: 1.35; }
.deck-kind-equation .deck-body .deck-prose { max-width: 1320px; }
.deck-kind-equation .deck-body .deck-prose mjx-container[display="true"] { width: 1728px; max-width: 1728px; }
.deck-kind-equation .deck-body .deck-prose mjx-container[display="true"] { width: 1728px; max-width: 1728px; }
.deck-canvas .lecture-html p { margin: 0; text-wrap: pretty; }
.deck-canvas .lecture-html p + p, .deck-canvas .lecture-html .deck-reveal { margin-top: 20px; }
/* A part not yet revealed keeps its place in the layout, so the parts already shown never move when it appears (policy job 1: the object on the wall stays where the room is looking). */
.deck-canvas .deck-reveal.is-unrevealed, .deck-canvas .deck-step.is-unrevealed { visibility: hidden; }
.deck-canvas .lecture-html li { margin-bottom: 10px; }
.deck-canvas .lecture-html ul, .deck-canvas .lecture-html ol { padding-left: 1.1em; margin: 0; max-width: 1320px; }
.deck-canvas .lecture-html blockquote { margin: 0; padding: 0 0 0 40px; border-left: 4px solid var(--ink); background: transparent; color: var(--ink); max-width: 1320px; }
.deck-canvas .lecture-html blockquote p { font-size: 44px; line-height: 1.4; font-style: italic; }
.deck-canvas .lecture-html table { font-size: 30px; line-height: 1.35; margin: 0; }
.deck-canvas .lecture-html th, .deck-canvas .lecture-html td { padding: 12px 16px; }
.deck-canvas .lecture-html th { font-size: 22px; }
.deck-canvas .lecture-html a, .deck-caption a { color: inherit; text-decoration: underline; text-decoration-thickness: .045em; text-underline-offset: .15em; cursor: pointer; }
.deck-canvas .lecture-html a:hover, .deck-caption a:hover { text-decoration-thickness: .09em; }
.deck-canvas .lecture-html a:focus-visible, .deck-caption a:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; border-radius: 2px; }
.deck-canvas .lecture-html .citation { color: var(--muted); }
.deck-canvas .lecture-html .course-perspective { margin: 0; padding: 40px 48px; border: 1px solid var(--line); border-radius: 12px; background: var(--panel); color: var(--ink); font-size: 34px; line-height: 1.45; max-width: 1728px; }
.deck-canvas .lecture-html .course-perspective-label { display: block; margin: 0 0 14px; color: var(--muted); font: 400 26px/1.3 var(--font-interface); letter-spacing: 0; text-transform: none; }
.deck-canvas .lecture-html .semantic-block { margin: 0; padding: 28px 40px; border: 0; border-left: 6px solid var(--line); border-radius: 0; background: transparent; font-size: 34px; line-height: 1.45; max-width: 1728px; }
.deck-canvas .lecture-html .semantic-block.definition { border-left-color: var(--green); background: var(--green-soft); }
.deck-canvas .lecture-html .semantic-block.theorem, .deck-canvas .lecture-html .semantic-block.lemma, .deck-canvas .lecture-html .semantic-block.proposition, .deck-canvas .lecture-html .semantic-block.corollary { border-left-color: var(--blue); background: var(--blue-soft); }
.deck-canvas .lecture-html .semantic-block[data-semantic-kind="criterion"] { border-left-color: var(--criterion); background: var(--criterion-soft); }
.deck-canvas .lecture-html .semantic-block-label { margin: 0 0 14px; font: 600 28px/1.3 var(--font-interface); color: var(--ink); }
.deck-canvas .lecture-html .semantic-block.definition .semantic-block-label { color: var(--green); }
.deck-canvas .lecture-html .semantic-block.theorem .semantic-block-label, .deck-canvas .lecture-html .semantic-block.lemma .semantic-block-label, .deck-canvas .lecture-html .semantic-block.proposition .semantic-block-label, .deck-canvas .lecture-html .semantic-block.corollary .semantic-block-label { color: var(--blue); }
.deck-canvas .lecture-html .semantic-block[data-semantic-kind="criterion"] .semantic-block-label { color: var(--criterion); }
.deck-canvas .lecture-html .semantic-block > :last-child { margin-bottom: 0; }
.deck-canvas .lecture-html .semantic-block p + p { margin-top: 16px; }
.deck-canvas .lecture-html .worked-example-part { margin: 0; padding: 24px 36px; border: 0; border-left: 2px solid var(--line); background: var(--panel); font-size: 34px; line-height: 1.45; max-width: 1728px; }
.deck-canvas .lecture-html .worked-example-part > :last-child { margin-bottom: 0; }
.deck-canvas .lecture-html .worked-example-part p + p { margin-top: 16px; }
.deck-canvas .lecture-html .deck-step { padding: 8px 36px 0; border-top: 1px solid var(--line); font-size: 34px; line-height: 1.45; max-width: 1728px; }
.deck-canvas .lecture-html .deck-step + .deck-step { margin-top: 18px; }
.deck-canvas .lecture-html .deck-step > :last-child { margin-bottom: 0; }
.deck-canvas .lecture-html .deck-step-number { display: block; margin: 8px 0; color: var(--muted); font: 400 22px/1 var(--font-interface); letter-spacing: .04em; text-transform: uppercase; }

/* Source-bound worked reasoning: one persistent board, not disconnected cards.
   No opacity reduction for old work and no non-uniform equation scaling. */
.deck-cumulative-host { display: flex; flex: 1; min-height: 0; }
.deck-stage .deck-body.deck-cumulative, .deck-body.deck-cumulative { flex: 1; gap: 14px; width: 100%; overflow: visible; }
.deck-canvas .deck-cumulative .cw-context { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 28px; padding-bottom: 14px; border-bottom: 1px solid var(--line); font-size: 34px; line-height: 1.35; }
.deck-canvas .deck-cumulative p { margin: 0; font-size: inherit; line-height: inherit; }
.deck-canvas .deck-cumulative .cw-task { flex-basis: 100%; font-weight: 600; }
.cw-progress { display: flex; justify-content: space-between; font: 24px/1.2 var(--font-interface); color: var(--muted); }
.cw-board { display: grid; grid-template-columns: minmax(0,3fr) minmax(0,2fr); column-gap: 64px; align-items: start; min-height: 0; }
.deck-canvas .deck-cumulative .cw-work, .deck-canvas .deck-cumulative .cw-reason { min-width: 0; font-size: 34px; line-height: 1.4; }
.deck-canvas .deck-cumulative .cw-label { flex-basis: 100%; margin: 0 0 4px; font: 500 24px/1.2 var(--font-interface); letter-spacing: .04em; color: var(--muted); }
.deck-canvas .deck-cumulative .cw-work { display: flex; flex-direction: column; align-items: stretch; gap: 14px; }
.deck-canvas .deck-cumulative .cw-work > .cw-fragment { padding: 4px 0 4px 16px; border-left: 3px solid var(--line); max-width: 100%; }
.deck-canvas .deck-cumulative .cw-work > .cw-fragment:has(p), .deck-canvas .deck-cumulative .cw-work > .cw-fragment:has(mjx-container[display="true"]) { flex-basis: 100%; }
.deck-canvas .deck-cumulative .cw-work > .cw-fragment.is-current { border-left-color: var(--accent); }
.deck-canvas .deck-cumulative .cw-reason { border-top: 3px solid var(--accent); padding-top: 14px; }
.deck-canvas .deck-cumulative .cw-reason > .cw-fragment { margin-top: 14px; }
.deck-canvas .deck-cumulative .cw-work mjx-container { font-size: 38px !important; }
.deck-canvas .deck-cumulative mjx-container[display="true"] { margin: 4px 0; text-align: center; width: 100%; max-width: 100%; overflow: visible; }
.deck-canvas .deck-cumulative .equation { margin: 0; padding: 0; }
.deck-cumulative.is-wide .cw-board { grid-template-columns: minmax(0,1fr); row-gap: 22px; }
.deck-cumulative.is-wide .cw-reason { max-width: 1640px; }
.deck-cumulative.is-wide .cw-reason > .cw-fragment { display: inline; }
.deck-cumulative.is-wide .cw-reason > .cw-fragment + .cw-fragment::before { content: ' '; }
.deck-cumulative.is-wide .cw-reason > .cw-fragment > p { display: inline; }
/* Revision 23: a labelled, stable derivation ledger. All L1–4 examples use
   full-width rows so matrices and prose do not change lanes between phases. */
.deck-canvas .deck-cumulative .cw-task { flex: 0 0 auto; margin: 0; }
.deck-canvas .deck-cumulative .cw-context { gap: 6px 32px; padding: 0 0 12px; font-size: 32px; line-height: 1.3; }
.deck-canvas .deck-cumulative .cw-context, .deck-canvas .deck-cumulative .cw-progress { flex: 0 0 auto; }
.deck-canvas .deck-cumulative .cw-context .cw-fragment { display: flex; align-items: baseline; gap: 12px; }
.deck-canvas .deck-cumulative .cw-context .cw-row-label { color: var(--muted); font: 500 24px/1.3 var(--font-interface); }
.deck-canvas .deck-cumulative .cw-progress { align-items: baseline; color: var(--ink); font: 500 28px/1.2 var(--font-interface); padding-top: 4px; }
.deck-canvas .deck-cumulative .cw-progress [role="status"] { color: var(--muted); font-size: 24px; }
.deck-canvas .deck-cumulative .cw-board { flex: 1; display: grid; grid-template-columns: minmax(0,1fr); grid-template-rows: minmax(0,1fr) var(--cw-reason-height,190px); gap: 24px; }
.deck-canvas .deck-cumulative .cw-work { gap: 12px; }
.deck-canvas .deck-cumulative .cw-work > .cw-fragment { flex: none; padding: 5px 0 5px 18px; border-left: 3px solid transparent; }
.deck-canvas .deck-cumulative .cw-work > .cw-fragment.has-label { display: grid; grid-template-columns: 225px minmax(0,1fr); column-gap: 24px; align-items: center; }
.deck-canvas .deck-cumulative .cw-work .cw-row-label { color: var(--muted); font: 500 26px/1.25 var(--font-interface); }
.deck-canvas .deck-cumulative .cw-work .cw-rowgroup { display: grid; gap: 28px; align-items: start; }
.deck-canvas .deck-cumulative .cw-work .cw-rowgroup .cw-fragment { display: block; padding: 5px 0 5px 18px; border-left: 3px solid transparent; min-width: 0; }
.deck-canvas .deck-cumulative .cw-work .cw-rowgroup .cw-row-label { display: block; margin-bottom: 6px; }
.deck-canvas .deck-cumulative .cw-work .cw-rowgroup .cw-fragment.is-current { border-left-color: var(--accent); }
.deck-canvas .deck-cumulative .cw-work > .cw-fragment.is-full { display: block; }
.deck-canvas .deck-cumulative .cw-work > .cw-fragment.is-full .cw-row-label { display: block; margin-bottom: 4px; }
.deck-canvas .deck-cumulative .cw-introduction { font-size: 34px; line-height: 1.3; margin-bottom: 8px; }
.deck-canvas .deck-cumulative .cw-continuation { font-size: 34px; line-height: 1.3; margin-top: 8px; }
.deck-canvas .deck-cumulative .cw-work > .cw-fragment.is-current { border-left-color: var(--accent); }
.deck-canvas .deck-cumulative .cw-source { min-width: 0; }
.deck-canvas .deck-cumulative .cw-reason { padding-top: 16px; border-top: 1px solid var(--line); max-width: none; font-size: 34px; line-height: 1.35; }
.deck-canvas .deck-cumulative .cw-reason > .cw-fragment { display: inline; margin: 0; }
.deck-canvas .deck-cumulative .cw-reason .cw-source, .deck-canvas .deck-cumulative .cw-reason p { display: inline; }
.deck-canvas .deck-cumulative .cw-reason > .cw-fragment + .cw-fragment::before { content: ' '; }
.deck-canvas .deck-cumulative .cw-work .cw-fragment.is-discussed:not(.is-current) { border-left: 3px dashed var(--accent); }
.deck-canvas .deck-cumulative .cw-fragment.is-discussed .cw-row-label { color: var(--ink); }
.deck-canvas .deck-cumulative .cw-reason:not(:has(.cw-fragment)) { border-top-color: transparent; }
/* Keep the normalization diagram together with its worked calculation. */
.deck-canvas .companion-below[data-companion="fig_l05_occupation_weights"] .deck-cumulative { gap: 6px; }
.deck-canvas .companion-below[data-companion="fig_l05_occupation_weights"] .cw-work { font-size: 30px; line-height: 1.2; gap: 4px; }
.deck-canvas .companion-below[data-companion="fig_l05_occupation_weights"] .cw-work mjx-container { font-size: 34px!important; }
.deck-canvas .companion-below[data-companion="fig_l05_occupation_weights"] .cw-context { padding-bottom: 4px; }
.deck-canvas .companion-below[data-companion="fig_l05_occupation_weights"] .cw-context p { margin: 0; }
.deck-canvas .companion-below[data-companion="fig_l05_occupation_weights"] .cw-work p { margin-top: 0; margin-bottom: 0; }
.cw-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.deck-canvas .deck-cumulative .cw-source mjx-container[display="true"] { text-align: center; justify-content: center; width: 100%; padding-block: 2px; }
.deck-canvas .deck-kind-example-problem .deck-stage.is-centered { justify-content: flex-start; }
.deck-canvas .deck-kind-example-problem .deck-body { width: 100%; }
.deck-canvas .deck-kind-example-problem .deck-prose { max-width: none; }
/* One title identity from problem to every derivation state. Source labels
   contain <strong>; it must not silently increase the shared heading weight. */
.deck-canvas .deck-kind-example-problem .semantic-block-label,
.deck-canvas .deck-cumulative .cw-task { font: 600 44px/1.15 var(--font-reading); }

/* Selected density design B: completed reasoning, revealed operation by operation. */
.deck-canvas .deck-route-reading { font:26px/1.35 var(--font-interface); color:var(--muted); margin-top:18px; }
.deck-canvas .deck-body.cw-progressive { gap:12px; }
.deck-canvas .cw-operations { display:flex; flex-direction:column; gap:18px; font:34px/1.3 var(--font-reading); min-width:0; }
.deck-canvas .cw-operation { display:grid; grid-template-columns:250px minmax(0,1fr); gap:22px; border-left:3px solid transparent; padding-left:16px; min-width:0; }
.deck-canvas .cw-operation.is-current { border-color:var(--accent); }
.deck-canvas .cw-operation h3 { margin:0; padding:2px 14px 0 0; box-sizing:border-box; font:500 26px/1.3 var(--font-interface); color:var(--muted); }
.deck-canvas .cw-operation-source { min-width:0; }
.deck-canvas .cw-operation-source :is(.cw-fragment,.cw-source,p) { display:inline; }
.deck-canvas .cw-operation-source .cw-fragment + .cw-fragment::before { content:' '; }
.deck-canvas .cw-operation-source mjx-container[display="true"] { font-size:38px!important; margin:10px 0!important; width:auto!important; max-width:100%!important; }
.deck-canvas .deck-body.cw-figure-reading { gap:12px; }
.cw-figure-art { display:flex; justify-content:center; flex:0 0 auto; }
.cw-figure-art .deck-artwork { margin:0; flex:0 0 auto; }
.cw-figure-art img { display:block; width:100%; height:100%; object-fit:contain; }
.deck-canvas .cw-figure-prose { font:32px/1.3 var(--font-reading); }
.deck-canvas .cw-figure-prose :is(.cw-fragment,.cw-source,p) { display:inline; }
.deck-canvas .cw-figure-prose .cw-fragment + .cw-fragment::before { content:' '; }
.deck-canvas .cw-carried { flex:0 0 auto; display:flex; flex-direction:column; gap:8px; font:34px/1.3 var(--font-reading); }
.deck-canvas .cw-carried .cw-fragment.has-label { display:grid; grid-template-columns:250px minmax(0,1fr); gap:22px; align-items:baseline; }
.deck-canvas .cw-carried .cw-row-label { color:var(--muted); font:500 26px/1.3 var(--font-interface); }
.deck-canvas .cw-carried .cw-rowgroup { display:grid; gap:24px; }
.deck-canvas .cw-carried .cw-rowgroup .cw-fragment { display:block; }
.deck-canvas .cw-carried .cw-rowgroup .cw-row-label { display:block; margin-bottom:6px; }
.deck-canvas .cw-carried .cw-rowgroup .cw-fragment:has(> .cw-source > mjx-container:not([display="true"])) { display:flex; flex-wrap:wrap; align-items:baseline; gap:10px; }
.deck-canvas .cw-carried .cw-rowgroup .cw-fragment:has(> .cw-source > mjx-container:not([display="true"])) .cw-row-label { margin-bottom:0; }
.deck-canvas .cw-carried mjx-container[display="true"] { font-size:38px!important; margin:4px 0!important; }
.deck-canvas .teaching-progressive { display:flex; flex-direction:column; gap:24px; }
.deck-canvas .teaching-progressive-premise { font:32px/1.3 var(--font-reading); padding-bottom:14px; border-bottom:1px solid var(--line); }
.deck-canvas .teaching-progressive .cw-operations { gap:42px; }
.deck-canvas .teaching-progressive .cw-operation { grid-template-columns:1fr; gap:15px; }
.deck-canvas .teaching-progressive .cw-operation h3 { font:600 38px/1.25 var(--font-reading); color:var(--ink); }
.teaching-reading :is(.cw-operation,.cw-carried,.cw-operations) { display:block; }
.teaching-reading .cw-operation { margin:24px 0; }
.deck-canvas .deck-kind-example-problem .semantic-block-label { margin: 0 0 28px; }
.deck-canvas .deck-kind-example-problem .semantic-block-label :is(strong, b) { font-weight: inherit; }
.deck-canvas .deck-kind-example-problem .worked-example-part { background: transparent; border: 0; padding: 0; font-size: 36px; line-height: 1.5; }
.deck-canvas .deck-kind-example-problem .worked-example-part p + p { margin-top: 24px; }
.deck-canvas .lecture-html .equation { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 40px; align-items: center; margin: 0; font-size: 38px; max-width: 1728px; }
.deck-canvas .lecture-html .equation > :not(.equation-number) { grid-column: 1; min-width: 0; }
.deck-demo { width: 1595px; height: 797.5px; position: relative; margin: 0 auto; }
.deck-demo-frame { display: block; width: 1100px; height: 550px; border: 0; transform: scale(1.45); transform-origin: top left; }
.deck-canvas .lecture-html .equation-number { position: static; grid-column: 2; grid-row: 1; transform: none; color: var(--muted); font: 30px/1.2 var(--font-reading); font-variant-numeric: tabular-nums; }
.deck-canvas .lecture-html .equation p { margin: 0; }
.deck-canvas .deck-body > .deck-prose.lecture-html .section3-density-equation mjx-container[display="true"] { width:100%!important; max-width:100%!important; }
/* Projection is a fitted canvas, never a scrollable equation viewport. Set
   both axes: changing only x can silently turn visible y into auto. Keep tall
   MathJax glyph ink visible rather than hiding the scrollbar by clipping it. */
.deck-canvas .lecture-html mjx-container[jax="CHTML"][display="true"] { margin: .3em 0; overflow: visible; }
.deck-canvas .lecture-html .check { margin: 0; padding: 0; border: 0; background: transparent; }

/* Slide kinds */
.deck-eyebrow { margin: 0 0 24px; color: var(--muted); font: 400 26px/1.3 var(--font-interface); letter-spacing: .04em; text-transform: uppercase; }
.deck-title { margin: 0 0 16px; font: 600 72px/1.15 var(--font-reading); text-wrap: balance; max-width: 1500px; }
.deck-section-list { margin: 40px 0 0; padding: 0; list-style: none; columns: 2; column-gap: 64px; max-width: 1500px; color: var(--muted); font: 400 26px/1.6 var(--font-interface); }
.deck-section-list li { break-inside: avoid; display: grid; grid-template-columns: minmax(3ch, max-content) minmax(0, 1fr); column-gap: .65em; }
.deck-section-list li + li { margin-top: .25em; }
.deck-section-list li b { color: var(--ink); font-weight: 400; font-variant-numeric: tabular-nums; white-space: nowrap; }
.deck-section-list li span { min-width: 0; }
.deck-divider-number { margin: 0 0 12px; color: var(--muted); font: 400 34px/1.2 var(--font-interface); font-variant-numeric: tabular-nums; }
.deck-divider-title { margin: 0; font: 600 60px/1.2 var(--font-reading); text-wrap: balance; max-width: 1500px; }
.deck-divider-rule { width: 160px; height: 3px; margin-top: 36px; background: var(--ink); }
.deck-cue { margin: 0; color: var(--accent); font: 600 28px/1.2 var(--font-interface); letter-spacing: .04em; text-transform: uppercase; }
.deck-pause .lecture-html, .deck-activity .lecture-html { padding: 32px 40px; border-left: 6px solid var(--accent); background: var(--accent-soft); max-width: none; }
/* Pause prompts stay verbatim. Their box uses the safe width, not the narrower
   generic prose column above; match its specificity so this rule takes effect. */
.deck-canvas .deck-pause .deck-prose.lecture-html { max-width: none; }
.deck-canvas .deck-pause .lecture-html > ul,
.deck-canvas .deck-pause .lecture-html > ol { max-width: none; }
.deck-pause .lecture-html p, .deck-activity .lecture-html p { font-size: 38px; }
.deck-after { margin: 0; color: var(--muted); font: 400 26px/1.3 var(--font-interface); }
.deck-closing-groups { display: grid; grid-template-columns: 1fr 1fr; column-gap: 64px; }
.deck-closing-groups h3 { margin: 0 0 18px; color: var(--muted); font: 400 26px/1.2 var(--font-interface); letter-spacing: .04em; text-transform: uppercase; }
.deck-closing-groups ul { margin: 0; padding-left: 1.2em; font: 32px/1.45 var(--font-reading); }
.deck-closing-groups li { margin-bottom: 10px; }
.deck-closing-note { margin: 0; color: var(--muted); font: 26px/1.4 var(--font-interface); }

/* Figures (policy 4.4): explicit artwork boxes computed at build time. */
.deck-figure { display: grid; min-height: 0; }
.deck-figure.placement-stacked { grid-template-rows: auto auto; justify-items: center; row-gap: 24px; }
.deck-figure.placement-side { grid-template-columns: 1141px 555px; column-gap: 32px; align-items: center; justify-items: center; }
.deck-figure.placement-side .deck-caption { justify-self: start; }
.deck-figure.placement-figure-only, .deck-figure.placement-flagged { justify-items: center; }
.deck-artwork { display: block; margin: 0; background: #fff; }
.deck-artwork img { display: block; }
/* The caption also carries the lecture-html class; the canvas-wide rule for that
   class would set 36 px, so the caption's own scale is declared at higher specificity. */
.deck-caption, .deck-canvas .lecture-html.deck-caption, .deck-canvas .deck-caption p { margin: 0; color: #46514d; font: 28px/1.4 var(--font-reading); text-align: left; }
.deck-caption .figure-label, .deck-canvas .lecture-html.deck-caption .figure-label { color: var(--ink); font: 600 28px/1.4 var(--font-interface); margin-right: .3em; }
.deck-caption .citation { color: var(--muted); }
.placement-stacked .deck-caption { max-width: 1500px; }
.deck-illustration { display: grid; grid-template-rows: auto auto auto; justify-items: center; row-gap: 20px; min-height: 0; }
.deck-illustration-caption, .deck-canvas .lecture-html.deck-caption.deck-illustration-caption { max-width: 1500px; font-size: 36px; line-height: 1.35; text-align: center; color: var(--ink); }
.deck-illustration-caption .deck-phrasing { margin: 0; font-size: 36px; line-height: 1.35; }
.deck-credit { margin: 0; color: var(--muted); font: 20px/1.3 var(--font-interface); text-align: center; }
.deck-caption-slide { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 48px; align-items: center; }
/* A caption alone on a slide is set at the body scale (policy section 4.4). */
.deck-caption-slide .deck-caption, .deck-canvas .deck-caption-slide .lecture-html.deck-caption { font-size: 36px; line-height: 1.4; }
.deck-kind-caption .deck-body { justify-content: center; }
.deck-caption-slide .deck-caption { max-width: 1100px; }
.deck-caption-slide .deck-artwork { justify-self: end; }

/* Source-bound argument frames: typographic relationships, not UI cards. */
.deck-teaching-body { min-height: 0; width: 100%; }
.deck-teaching-host { min-width: 0; max-width: 100%; }
.deck-teaching-content { display: grid; gap: 24px; width: 100%; color: var(--ink); }
.deck-teaching-heading { margin: 0; font: 600 42px/1.2 var(--font-reading); text-wrap: balance; }
.deck-teaching-context { display: grid; gap: 16px; padding-bottom: 20px; border-bottom: 1px solid var(--line); }
.deck-teaching-context-item { min-width: 0; }
.deck-canvas .deck-teaching-context.lecture-html { font-size: 36px; line-height: 1.3; }
.deck-canvas .deck-teaching-context.lecture-html p, .deck-canvas .deck-teaching-context.lecture-html .equation { margin: 0; }
.deck-teaching-items { display: grid; gap: 20px; }
.deck-teaching-item { display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; min-width: 0; }
.deck-teaching-item:has(.deck-teaching-label) { grid-template-columns: 280px minmax(0, 1fr); gap: 24px; align-items: baseline; }
/* Structural labels stay neutral; layout selection carries no color meaning. */
.deck-teaching-label { min-width: 0; overflow-wrap: anywhere; font: 600 28px/1.3 var(--font-interface); color: var(--muted); }
.deck-canvas .deck-teaching-items.lecture-html { font: 36px/1.3 var(--font-reading); max-width: 100%; }
.deck-teaching-statement { min-width: 0; text-wrap: pretty; }
.deck-teaching-statement > p { margin: 0; }
.deck-teaching-content.layout-comparison .deck-teaching-item { padding: 12px 0; border-bottom: 1px solid var(--line); }
.deck-teaching-citations { font-size: 28px; }
.deck-teaching-figure { display: grid; gap: 12px; align-items: center; justify-items: center; }
.deck-teaching-figure.placement-stacked { grid-template-columns: minmax(0, 1fr); }
.deck-teaching-figure.placement-stacked .deck-teaching-host { width: 1640px; max-width: 100%; }
.deck-teaching-figure.placement-side { grid-template-columns: 1141px 555px; gap: 32px; }
.deck-teaching-figure .deck-teaching-content { gap: 8px; }
.deck-teaching-figure .deck-teaching-items { gap: 8px; }
.deck-teaching-figure .deck-teaching-item { row-gap: 6px; }
.deck-teaching-figure.placement-side .deck-teaching-item:has(.deck-teaching-label) { grid-template-columns: minmax(0, 1fr); }
.deck-teaching-figure .deck-teaching-heading { font-size: 38px; }
.deck-canvas .deck-teaching-figure .deck-teaching-items.lecture-html { font-size: 32px; line-height: 1.25; }
.deck-teaching-figure .layout-comparison .deck-teaching-item { padding: 0; border: 0; }
.deck-teaching-figure .deck-teaching-context { padding-bottom: 12px; }
.deck-running.has-teaching-claim { overflow: visible; height: 42.5px; }
.deck-canvas .deck-running-claim.lecture-html { flex: 0 0 1336px; width: 1336px; font: 600 32px/40px var(--font-reading); white-space: nowrap; overflow: visible; }
.deck-running.has-teaching-claim .deck-running-kind { flex: 0 0 360px; max-width: 360px; text-align: right; overflow: visible; text-overflow: clip; }
.deck-teaching-header { display: inline; }
.deck-teaching-figure.placement-header { width: 100%; }

/* Overlays live inside the canvas so they scale with it. */
.deck-overlay { position: absolute; inset: 0; z-index: 2; padding: 96px; overflow: auto; background: rgba(251, 250, 246, .96); color: var(--ink); font: 26px/1.5 var(--font-interface); }
.deck-overlay h2 { margin: 0 0 32px; font: 600 40px/1.2 var(--font-interface); }
.deck-overlay .deck-overlay-hint { margin: 0 0 32px; color: var(--muted); font-size: 22px; }
.deck-index { margin: 0; padding: 0; list-style: none; columns: 2; column-gap: 64px; }
.deck-index li { break-inside: avoid; margin-bottom: 12px; }
.deck-index button { display: grid; grid-template-columns: 3.4em 1fr auto; column-gap: 20px; width: 100%; padding: 10px 14px; border: 1px solid transparent; border-radius: 8px; background: transparent; color: inherit; font: inherit; text-align: left; cursor: pointer; }
.deck-index button:hover, .deck-index button:focus-visible { border-color: var(--line); background: #fff; outline: 0; }
.deck-index button.is-current { border-color: var(--green); }
.deck-index b { color: var(--muted); font-weight: 600; font-variant-numeric: tabular-nums; }
.deck-index small { color: var(--muted); font-size: 22px; }
.deck-index .deck-index-fallback { color: var(--accent); font-style: normal; font-size: 22px; }
.deck-notes { background: rgba(241, 240, 234, .98); }
.deck-notes h2 { font-size: 34px; }
.deck-notes dl { display: grid; grid-template-columns: 12em 1fr; column-gap: 24px; row-gap: 10px; margin: 0; max-width: 1600px; }
.deck-notes dt { color: var(--muted); }
.deck-notes dd { margin: 0; }
.deck-notes code { font: 22px/1.5 ui-monospace, Consolas, monospace; overflow-wrap: anywhere; }
.deck-notes ul { margin: 0; padding-left: 1.2em; }
.deck-notes .deck-reading { font: 26px/1.45 var(--font-reading); }
.deck-notes .deck-reading li + li { margin-top: 10px; }
.deck-help dl { display: grid; grid-template-columns: max-content 1fr; column-gap: 40px; row-gap: 12px; margin: 0; }
.deck-help kbd { display: inline-block; min-width: 1.6em; padding: 2px 10px; border: 1px solid var(--line); border-radius: 6px; background: #fff; font: 24px/1.5 var(--font-interface); text-align: center; }

/* Deck chrome outside the canvas (unscaled). */
.deck-toolbar { position: fixed; top: 12px; right: 12px; z-index: 5; display: flex; gap: 6px; opacity: .35; transition: opacity .15s; font: 600 12px/1 var(--font-interface); }
.deck-toolbar:hover, .deck-toolbar:focus-within { opacity: 1; }
.deck-toolbar a, .deck-toolbar button { padding: 7px 10px; border: 1px solid var(--line); border-radius: var(--radius-control); background: #fff; color: var(--muted); text-decoration: none; cursor: pointer; font: inherit; }
.deck-toolbar a:hover, .deck-toolbar button:hover { color: var(--ink); }
.deck-navigation { opacity: 1; }
.deck-navigation > button { min-height: 44px; font-size: 14px; background: var(--paper); color: var(--ink); box-shadow: 0 1px 5px #00000012; }
.deck-navigation button:focus-visible { outline: 2px solid var(--green); outline-offset: 3px; }
.deck-navigation button:disabled { opacity: .45; cursor: default; }
.deck-navigation-panel { position: absolute; top: calc(100% + 8px); right: 0; width: min(310px, calc(100vw - 24px)); max-height: calc(100dvh - 76px); overflow-y: auto; box-sizing: border-box; padding: 16px; border: 1px solid var(--line); border-radius: 10px; background: var(--paper); box-shadow: 0 6px 28px #00000022; color: var(--ink); font: 14px/1.4 var(--font-interface); }
.deck-navigation-position { margin: 0 0 12px; font-weight: 600; font-variant-numeric: tabular-nums; }
.deck-navigation-row { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 8px; }
.deck-navigation-row button { min-height: 44px; padding: 8px; color: var(--ink); background: transparent; }
.deck-navigation-row button:not(:disabled):hover { background: #fff; border-color: var(--green); }
.deck-navigation-hint, .deck-navigation-message { margin: 14px 0 0; font-size: 12px; line-height: 1.5; color: var(--muted); }
.deck-status { position: fixed; inset: 0; z-index: 120; background: var(--paper); display: grid; place-items: center; padding: 24px; color: var(--muted); font: 15px/1.5 var(--font-interface); text-align: center; }
.deck-status strong { display: block; margin-bottom: 8px; color: var(--ink); font-size: 18px; }

/* Audit view: every slide at a fixed scale with its fit result. */
.deck-audit { position: fixed; inset: 0; z-index: 120; overflow: auto; padding: 24px; background: var(--panel); font: 14px/1.5 var(--font-interface); color: var(--ink); }
.deck-audit-head { display: grid; grid-template-columns: 1fr auto; gap: 16px; align-items: start; margin-bottom: 20px; }
.deck-audit-head h1 { margin: 0 0 6px; font-size: 20px; }
.deck-audit-head p { margin: 0; color: var(--muted); }
.deck-audit-report { margin: 0 0 24px; padding: 14px 16px; border: 1px solid var(--line); border-radius: 8px; background: #fff; }
.deck-audit-report h2 { margin: 0 0 8px; font-size: 14px; }
.deck-audit-report ul { margin: 0; padding-left: 1.2em; }
.deck-audit-report li.is-bad { color: var(--accent); }
.deck-audit-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(432px, 1fr)); gap: 20px; }
.deck-audit-item { display: grid; gap: 6px; }
.deck-audit-item header { display: flex; justify-content: space-between; gap: 8px; font-size: 12px; color: var(--muted); }
.deck-audit-item header b { color: var(--ink); }
.deck-audit-item header .is-bad { color: var(--accent); font-weight: 700; }
.deck-audit-frame { position: relative; width: 432px; height: 243px; overflow: hidden; border: 1px solid var(--line); background: var(--paper); }
.deck-audit-frame .deck-canvas { left: 0; top: 0; transform-origin: top left; transform: scale(0.225); box-shadow: none; }
.deck-audit-frame.is-overflow { border-color: var(--accent); box-shadow: 0 0 0 2px var(--accent-soft); }

@media print {
  .deck-toolbar, .deck-overlay, [data-qv-print-chrome="true"] { display: none !important; }
  .deck-viewport { position: static; overflow: visible; background: #fff; }
  .deck-canvas { position: relative; left: 0; top: 0; transform: none !important; page-break-after: always; box-shadow: none; }
  @page { size: 1920px 1080px; margin: 0; }
}
/* A quiz's printed answer is reader material, never on a slide (Document 27 §3.3). */
.deck-canvas .lecture-html .check-answer { display: none; }

/* Detour reading edition: source content, note-like rhythm, no slide ledger. */
.route-document.deck-canvas { font:26px/1.55 var(--font-reading); }
.route-document.deck-canvas :is(.deck-body,.lecture-html,.deck-prose,.cw-context,.cw-carried,.cw-work,.cw-reason,.cw-operations,.cw-figure-prose,.cw-introduction,.cw-continuation,.deck-teaching-items,.deck-teaching-context,.teaching-progressive-premise,.route-section-claim) { font-size:26px; line-height:1.55; }
.route-document.deck-canvas :is(.deck-stage,.deck-body,.deck-prose,.deck-teaching-host,.cw-context,.cw-carried,.cw-work,.cw-reason,.cw-operations,.cw-operation,.cw-fragment,.cw-source,.cw-operation-source,.deck-teaching-item,.deck-teaching-statement) { min-width:0; max-width:100%; }
.route-document.deck-canvas :is(h1,h2,h3,.cw-task,.deck-headline,.deck-teaching-heading) { font-family:var(--font-reading); font-weight:600; line-height:1.25; text-wrap:pretty; }
.route-document.deck-canvas > h1 { font-size:36px; margin:0 0 28px; }
.route-document.deck-canvas :is(h2,.cw-task,.deck-headline,.deck-teaching-heading) { font-size:29px; margin:0 0 18px; }
.route-document.deck-canvas h3 { font-size:24px; margin:22px 0 8px; padding:0; color:var(--ink); }
.route-document.deck-canvas .route-document-section { padding:22px 0; border:0; }
.route-document.deck-canvas .deck-teaching-content { display:block; }
.route-document.deck-canvas :is(.deck-teaching-item,.cw-fragment.has-label,.cw-context .cw-fragment,.cw-carried .cw-fragment) { display:block; padding:0; border:0; }
.route-document.deck-canvas :is(.deck-teaching-label,.cw-row-label) { display:block; margin:0 0 4px; font:600 22px/1.4 var(--font-reading); color:var(--ink); }
.route-document.deck-canvas :is(.deck-teaching-item,.cw-operation,.cw-fragment) { margin:0 0 18px; }
.route-document.deck-canvas :is(.cw-operation,.cw-work > .cw-fragment,.cw-work .cw-fragment.is-discussed,.cw-reason,.cw-context,.cw-carried,.deck-teaching-context) { border:0; padding:0; }
.route-document.deck-canvas :is(.cw-operations,.cw-context,.cw-carried,.cw-work,.cw-reason,.cw-rowgroup,.cw-operation-source,.cw-operation-source .cw-fragment,.cw-operation-source .cw-source,.cw-reason .cw-source,.cw-reason p,.cw-operation-source p) { display:block; }
.route-document.deck-canvas .cw-fragment + .cw-fragment::before { content:none; }
.route-document.deck-canvas .lecture-html p + p { margin-top:14px; }
.route-document.deck-canvas :is(.cw-source,.cw-work,.cw-carried,.cw-operation-source,.lecture-html) mjx-container { font-size:100%!important; }
.route-document.deck-canvas mjx-container[display="true"] { margin:16px 0!important; padding:3px 0; }
.route-document.deck-canvas .lecture-html :is(table,th,td) { font-size:24px; line-height:1.45; }
.route-document.deck-canvas .lecture-html :is(.semantic-block,.worked-example-part,.course-perspective,.deck-step) { font-size:26px; line-height:1.55; padding:16px 20px; }
.route-document.deck-canvas .lecture-html :is(.semantic-block-label,.course-perspective-label) { font-size:23px; margin-bottom:12px; }
.route-document.deck-canvas :is(.deck-caption,.deck-caption p,.deck-caption .figure-label) { font-size:24px; line-height:1.5; }
.route-document.deck-canvas .route-conclusion { margin:28px 0 18px; padding-top:20px; border-top:1px solid var(--line); }
.route-document.deck-canvas > button[data-route-return] { font:16px/1.3 var(--font-interface); min-height:44px; padding:10px 16px; border:1px solid var(--line); border-radius:4px; background:var(--paper); color:var(--ink); cursor:pointer; }
.route-document [hidden] { display:none!important; }
.route-document-outline ol { padding-left:20px; }
.route-document-outline li { margin:4px 0; }
.route-document-outline li button { border:0; background:transparent; padding:7px 6px; line-height:1.4; }
.route-document-outline li button:hover { text-decoration:underline; }
.route-document.deck-canvas .deck-teaching-items { display:block; }
.route-document.deck-canvas .route-reading-paragraph { margin:0 0 14px; }
.route-document.deck-canvas .route-reading-paragraph > .deck-teaching-label { display:inline; font:600 26px/1.55 var(--font-reading); }
.route-document.deck-canvas .route-reading-paragraph > .deck-teaching-label::after { content:': '; }
.route-document.deck-canvas .route-reading-paragraph > .deck-teaching-statement { display:inline; }
.route-document.deck-canvas .route-reading-paragraph > .deck-teaching-statement > p:first-child:not(:has(mjx-container[display="true"])) { display:inline; }
.route-document.deck-canvas .cw-context .cw-fragment.has-label { margin:0 0 10px; }
.route-document.deck-canvas .cw-context .cw-row-label { display:inline; }
.route-document.deck-canvas .cw-context .cw-row-label::after { content:': '; }
.route-document.deck-canvas .cw-context .cw-source { display:inline; }
.route-document.deck-canvas .lecture-html .equation { font-size:26px; column-gap:20px; }
.route-document.deck-canvas .lecture-html .equation-number { font-size:22px; }
.route-document.deck-canvas :is(.deck-pause,.deck-activity) .lecture-html p { font-size:26px; }
.deck-canvas .symmetry-equation-pair { display:grid; grid-template-columns:1fr 1fr; gap:48px; margin-top:24px; text-align:center; }
.deck-canvas .symmetry-equation-pair p { margin:12px 0; }
.deck-canvas .symmetry-equation-pair mjx-container[display="true"] { width:100%; text-align:center; }

    body.deck-page { margin: 0; overflow: hidden; background: #2b2f2e; }
    .deck-page .deck-viewport, .deck-page .deck-audit { position: fixed; }
  