@font-face{font-family:Session Serif;src:url(assets/instrument-serif.woff2) format('woff2');font-display:swap}
@font-face{font-family:Session Mono;src:url(assets/geist-mono.woff2) format('woff2');font-weight:400 600;font-display:swap}
/* The approved presentation is scoped to rooms, never the surrounding app. */
body.session-presentation{
  --presentation-paper:#f5f2ea;--presentation-green:#25473b;--presentation-muted:#c5d3ca;--presentation-accent:#e5ad8a;--presentation-rule:#a9c5b54d;
  --presentation-caption-gutter:24px;--presentation-caption-height:calc(2 * 13px * 1.8 + 26px);
  --room-frame:var(--presentation-green);--room-paper:var(--presentation-green);--room-ink:var(--presentation-paper);--room-muted:var(--presentation-muted);--room-rule:var(--presentation-rule);--room-brown:var(--presentation-accent);--room-button:#f5f2ea;
  --font-serif:'Session Serif',Georgia,serif;--font-ui:'Session Mono',monospace;--font-mono:'Session Mono',monospace;
  --cream:var(--presentation-paper);--ink-body:var(--presentation-paper);--ink-2:var(--presentation-muted);--ink-3:var(--presentation-muted);--brass:var(--presentation-accent);
  margin:0;padding:0;background:#25473b url(assets/green-tile.png) repeat 0 0/512px 512px;color:var(--presentation-paper);color-scheme:dark;font:12px/1.7 var(--font-ui);
}
body.session-presentation [hidden]{display:none!important}
body.session-presentation ::selection{background:var(--presentation-accent);color:var(--presentation-green)}
body.session-presentation :is(input,textarea,[contenteditable]){caret-color:var(--presentation-accent)}
body.session-presentation :is(button,a,input,textarea,select,[tabindex]):focus-visible{outline:2px solid var(--presentation-accent);outline-offset:4px}
body.session-presentation :is(.board-stage,.scratch-region,.nb-sheet-paper,.dialogue-scroll-text){scrollbar-color:#9fb5a7 transparent;scrollbar-width:thin;overscroll-behavior:contain}
body.session-presentation button{font-family:var(--font-ui);cursor:pointer}
body.session-presentation button:disabled{opacity:.45;cursor:default}
body.session-presentation .nb-topbar.product-room-header,body.session-presentation.player-body>.nb-topbar{
  flex:0 0 68px;min-height:68px;height:68px;padding:0 clamp(20px,3.6vw,54px);margin:0;border:0;border-bottom:1px solid var(--presentation-rule);background:transparent;box-shadow:none;
}
body.session-presentation .nb-brand-word{font:400 48px/1 'Instrument Serif',Georgia,serif!important;letter-spacing:-1px;color:var(--presentation-paper)!important;background:none;-webkit-text-fill-color:currentColor}
body.session-presentation :is(.session-room-subject,.session-room-header-label){color:var(--presentation-muted);font:11px var(--font-ui);border:0;position:absolute;left:50%;transform:translateX(-50%);padding:0;max-width:45%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.session-presentation .session-room-account-actions{display:none}
body.session-presentation .nb-page{padding:0!important;background:none}
body.session-presentation .nb-page-col{max-width:none;padding:0}
body.session-presentation .nb-tutor{border:0;border-radius:0;background:transparent;box-shadow:none;height:100%;min-height:0;overflow:hidden}
body.session-presentation .session-room-rail{position:fixed;inset:0 clamp(20px,3.6vw,54px) auto auto;height:68px;width:auto;display:flex;align-items:center;background:none;border:0;padding:0;z-index:90}
body.session-presentation .session-room-rail-bottom{display:none}
body.session-presentation .session-rail-action{width:auto;min-height:44px;padding:0 8px;display:flex;align-items:center;justify-content:center;flex-direction:row;gap:8px;border:0;background:none;color:#eac0b1;font:11px var(--font-ui);border-radius:4px}
body.session-presentation .session-rail-action svg{width:18px;height:18px}
body.session-presentation .session-rail-action:hover{background:#f5f2ea0d}
body.session-presentation .nb-tutor.teaching #tutor-board{inset:0;border:0;border-radius:0}
body.session-presentation .nb-tutor.teaching .presentation-student{display:none}
body.session-presentation #tutor-board iframe{background:transparent}
/* Four shared layouts; the caption and toolbar occupy their own bottom lane. */
body.session-presentation #tutor-live{position:absolute;inset:0;display:grid!important;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);align-items:center;justify-items:center;gap:24px;padding:24px clamp(20px,4vw,64px) calc(var(--presentation-controls-top,62px) + 20px + var(--presentation-caption-height) + 8px);overflow:visible}
body.session-presentation #tutor-live[hidden]{display:none!important}
body.session-presentation #tutor-zeno-group{position:relative!important;inset:auto!important;transform:none!important;translate:none!important;align-self:center;justify-self:center;width:clamp(150px,25vh,260px)!important;height:min(100%,350px)!important;min-height:0;display:flex;align-items:center;justify-content:center;padding-bottom:30px;transition:none}
body.session-presentation #tutor-zeno-wrap{width:100%;height:100%;animation:none!important;transform:none!important}
body.session-presentation #tutor-zeno{width:100%;height:100%;position:relative}
body.session-presentation #tutor-zeno>svg{width:100%;height:100%;display:block;overflow:visible}
body.session-presentation #tutor-zeno-name{display:none}
body.session-presentation #tutor-root[data-zeno-view=presentation][data-presentation-layout=side-by-side] #tutor-live{grid-template-columns:minmax(130px,.8fr) minmax(0,1fr);gap:clamp(24px,6vw,90px)}
body.session-presentation #tutor-root[data-zeno-view=presentation][data-presentation-layout=stacked] #tutor-live{grid-template-rows:minmax(100px,1fr) auto;gap:18px;padding-top:18px}
body.session-presentation #tutor-root[data-presentation-layout=stacked] #tutor-zeno-group{width:200px!important;max-height:260px!important}
body.session-presentation.orientation-room #tutor-root[data-presentation-layout=stacked] #tutor-live{grid-template-rows:auto minmax(0,1fr)}
body.session-presentation.orientation-room #tutor-root[data-presentation-layout=stacked] #tutor-sheet{max-height:100%!important}
body.session-presentation #tutor-sheet{position:relative!important;inset:auto!important;transform:none!important;width:100%!important;max-width:1100px!important;height:auto!important;max-height:100%!important;min-height:0;align-self:center;overflow:auto}
body.session-presentation #tutor-root:not([data-zeno-view=presentation]):not(.practice-mode) #tutor-sheet{display:none}
body.session-presentation #tutor-root[data-presentation-layout=stacked] #tutor-sheet{max-height:32vh!important}
body.session-presentation :is(.nb-sheet-paper,.nb-plan,.nb-plan-box,.nb-orientation-card){background:transparent!important;color:var(--presentation-paper);border:0!important;border-radius:0!important;box-shadow:none!important}
body.session-presentation .nb-sheet-paper{padding:8px 0;max-height:100%;overflow:auto;translate:none!important}
body.session-presentation :is(.nb-sheet-pin,.nb-sheet-paper::before,.nb-sheet-paper::after){display:none!important}
body.session-presentation .nb-plan-box{border-top:1px solid var(--presentation-rule)!important;padding:16px 0;animation:none}
body.session-presentation .nb-plan-box-title{color:var(--presentation-paper);font:28px/1.25 var(--font-serif)}
body.session-presentation :is(.nb-plan-box-index,.nb-plan-box-note){color:var(--presentation-accent);background:none;font-weight:400}
/* One caption slot. Its speaker changes; two transcripts never compete. */
body.session-presentation :is(#tutor-tutor-line,#tutor-student-line){position:absolute!important;top:auto!important;left:50%!important;right:auto!important;bottom:calc(var(--presentation-controls-top,62px) + 20px)!important;width:calc(100% - 2 * var(--presentation-caption-gutter))!important;max-width:none!important;max-height:var(--presentation-caption-height)!important;transform:translateX(-50%)!important;margin:0;text-align:center;overflow:auto;z-index:20}
body.session-presentation :is(.nb-zeno-said,.speech-bubble,.student-bubble){border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important;color:var(--presentation-paper)!important;padding:0!important;margin:0!important;min-width:0!important;max-width:none!important;font:13px/1.8 var(--font-ui);animation:none!important}
body.session-presentation :is(.nb-zeno-said,.speech-bubble,.nb-tutor-tutor-line,.nb-tutor-student-line)::before,body.session-presentation :is(.nb-zeno-said,.speech-bubble,.nb-tutor-tutor-line,.nb-tutor-student-line)::after{display:none!important}
body.session-presentation :is(.nb-zeno-said,#tutor-bubble)::before{content:'Zeno:';display:block!important;position:static!important;clip-path:none!important;transform:none!important;background:none!important;width:auto!important;height:auto!important;color:var(--presentation-accent);font:11px/1.7 var(--font-ui);margin-bottom:7px}
body.session-presentation :is(.speech-label,.speech-text,.dialogue-scroll-text){font-family:var(--font-ui);letter-spacing:0;text-transform:none;color:inherit}
body.session-presentation .speech-label{font:11px/1.7 var(--font-ui);color:var(--presentation-accent);margin-bottom:7px}
body.session-presentation .speech-label::after{content:':'}
body.session-presentation .dialogue-scroll-text{font:13px/1.8 var(--font-ui);max-height:2lh!important}
body.session-presentation[data-presentation-speaker=you] :is(#tutor-tutor-line,#tutor-bubble),body.session-presentation[data-presentation-speaker=zeno] :is(#tutor-student-line:not(.is-typing),#student-bubble),body.session-presentation[data-presentation-speaker=none] :is(#tutor-tutor-line,#tutor-student-line,#tutor-bubble,#student-bubble){visibility:hidden!important;pointer-events:none}
/* Actions retain their real event handlers and permission gates. */
body.session-presentation .session-room-response{position:absolute;inset:auto 20px 18px;display:flex;flex-direction:row;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:0;background:none;border:0;z-index:25}
body.session-presentation :is(#tutor-status-strip,#tutor-utility-controls){position:static!important;transform:none!important;inset:auto!important;display:flex;align-items:center;gap:8px;width:auto;padding:0;border:0;border-radius:0;background:none;box-shadow:none}
body.session-presentation #tutor-status-strip{order:0;flex-direction:column}body.session-presentation #tutor-utility-controls{order:1}
body.session-presentation .nb-tutor-voice-row{display:flex;align-items:center;gap:10px}
body.session-presentation :is(.lesson-control,.nb-tutor-mic-btn,.nb-tutor-type-btn,.nb-tutor-break-btn){display:inline-flex;flex-direction:row;align-items:center;justify-content:center;gap:9px;min-height:44px;width:auto;padding:0 12px;color:var(--presentation-paper);background:none;border:1px solid transparent;border-radius:4px;box-shadow:none;font:11px var(--font-ui);letter-spacing:0;text-transform:none}
body.session-presentation :is(.lesson-control,.nb-tutor-mic-btn,.nb-tutor-type-btn,.nb-tutor-break-btn):hover:not(:disabled){background:#f5f2ea10}
body.session-presentation :is(#raise-hand-button,#tutor-mic-btn){border-color:#a9c5b570;background:#18392f80}
body.session-presentation :is(#raise-hand-button,#tutor-mic-btn).is-recording,body.session-presentation[data-presentation-turn=hand] #raise-hand-button{background:var(--presentation-accent);border-color:var(--presentation-accent);color:#213d32}
body.session-presentation :is(.lesson-control-copy,.nb-tutor-mic-copy){display:flex;flex-direction:row;align-items:center;gap:8px;font:inherit}
body.session-presentation :is(.lesson-control,.nb-tutor-mic-btn,.nb-tutor-type-btn,.nb-tutor-break-btn) svg{width:18px;height:18px}
body.session-presentation kbd{font:9px var(--font-ui);border:1px solid currentColor;border-radius:3px;padding:2px 5px;opacity:.65;background:none;color:inherit;box-shadow:none;line-height:1.3}
body.session-presentation .presentation-redundant{display:none!important}
body.session-presentation .presentation-activity{color:var(--presentation-muted);font:11px/1.7 var(--font-ui);padding:0 12px}
body.session-presentation[data-presentation-turn=recording] :is(#tutor-type-btn,#type-button){display:none!important}
body.session-presentation:is([data-presentation-turn=thinking],[data-presentation-turn=transcribing],[data-presentation-turn=invitation],[data-presentation-turn=explaining]) :is(#raise-hand-button,#tutor-mic-btn){display:none!important}
body.session-presentation :is(#tutor-composer,.nb-room-composer-row){background:none!important;border:0!important;box-shadow:none!important;border-radius:0!important}
body.session-presentation #tutor-composer{position:relative!important;inset:auto!important;transform:none!important;width:100%;margin:auto;padding:0;border-bottom:1px solid var(--presentation-rule)!important}
body.session-presentation .session-room-response>#tutor-composer{position:absolute!important;bottom:66px!important;left:50%!important;transform:translateX(-50%)!important}
body.session-presentation :is(#tutor-composer-input,#interrupt-transcript[contenteditable=true]){color:var(--presentation-paper);background:none;border:0;border-bottom:1px solid var(--presentation-rule);border-radius:0;font:13px/1.8 var(--font-ui);padding:8px;min-height:44px;max-height:80px;resize:none}
body.session-presentation #tutor-composer-input::placeholder{color:var(--presentation-muted)}
body.session-presentation :is(#tutor-composer-send,#typed-enter){min-width:44px;min-height:44px;border:0;border-radius:4px;background:none;color:var(--presentation-accent)}
/* Teaching fills the available room; Zeno sits at its bottom-left edge. */
body.session-presentation.player-body{padding:0;height:100dvh;display:flex;flex-direction:column;overflow:hidden}
body.session-presentation .blackboard,body.session-presentation .board-main{background:none;border:0;border-radius:0;box-shadow:none;min-height:0}
body.session-presentation .board-header{padding:18px clamp(20px,3.6vw,54px) 10px;background:none;border:0}
body.session-presentation .board-lesson-title{font:34px/1.2 var(--font-serif);color:var(--presentation-paper);font-weight:400}
body.session-presentation .board-progress{color:var(--presentation-muted)}
body.session-presentation .board-stage{background:none;border:0}
body.session-presentation .board-footer{flex-shrink:0;min-height:158px;padding:10px clamp(20px,3.6vw,54px) 18px 150px;background:none;border:0;display:flex;flex-direction:column;justify-content:flex-end;gap:10px}
body.session-presentation .board-dialogue{display:block;width:100%;max-width:none;min-height:54px;margin:0 auto;gap:0}
body.session-presentation .board-dialogue>:is(#tutor-bubble,#student-bubble){width:100%;max-height:var(--presentation-caption-height);overflow:auto;text-align:left;float:none}
body.session-presentation .board-dialogue :is(.speech-label,#tutor-bubble::before){display:inline!important;margin-right:8px}
body.session-presentation .board-dialogue .speech-text{display:block;max-height:2lh;overflow:auto;overflow-wrap:anywhere}
body.session-presentation .board-dialogue #interrupt-transcript[contenteditable=true]{display:inline-block;width:calc(100% - 104px)}
body.session-presentation .board-controls,body.session-presentation #lesson-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:5px 8px;min-height:44px}
body.session-presentation #board-zeno{position:absolute;left:clamp(20px,3.6vw,54px);bottom:46px;top:auto;right:auto;width:88px;height:106px;margin:0;transform:none}
body.session-presentation #board-zeno>svg{width:100%;height:100%;overflow:visible}
body.session-presentation #hand-indicator{display:none!important}
body.session-presentation .scratch-region{background:transparent;border-left:1px solid var(--presentation-rule);border-radius:0;box-shadow:none;color:var(--presentation-paper)}
body.session-presentation .scratch-label{font:29px/1.2 var(--font-serif);color:var(--presentation-paper);letter-spacing:0;text-transform:none}
body.session-presentation .scratch-region :is(.scratch-inner,.live-tutor-panel){background:transparent;color:inherit}
/* Authored board contents keep their natural dimensions and source styles.
   Legacy token-based drawing inherits the room palette. */
body.session-presentation .blackboard{--board-ink:#f5f2ea;--board-ink-2:#c5d3ca;--board-ink-3:#c5d3ca;--board-bg:#25473b;--board-rule:#a9c5b54d;--accent:#e5ad8a}
body.session-presentation .presentation-voice{position:absolute;top:100%;left:50%;transform:translateX(-50%);height:22px;margin-top:6px}
.presentation-bars{height:22px;display:flex;align-items:center;gap:3px;color:#e5ad8a}
.presentation-bars i{display:block;width:2px;height:16px;border-radius:2px;background:currentColor;transform:scaleY(.18);transform-origin:center;transition:transform 40ms linear}.presentation-bars i:nth-child(3n){height:23px}.presentation-bars i:nth-child(3n + 1){height:11px}
body.session-presentation .presentation-student{position:absolute;right:clamp(20px,3.6vw,54px);bottom:18px;width:58px;display:flex;flex-direction:column;align-items:center;gap:4px;z-index:30;pointer-events:none}
.presentation-avatar{position:relative;display:grid;place-items:center;width:42px;height:42px;border:1px solid #a9c5b54d;border-radius:50%;background:#18392f80}
.presentation-avatar>svg{width:27px;height:27px}
.presentation-badge{position:absolute;right:-7px;bottom:-1px;display:grid;place-items:center;width:22px;height:22px;background:#e5ad8a;color:#25473b;border-radius:50%}
.presentation-badge svg{width:13px;height:13px}.presentation-student-name{font-size:10px;color:#c5d3ca}
.presentation-hand{animation:presentation-hand-arrives 380ms cubic-bezier(.16,1,.3,1)}
body.session-presentation[data-presentation-turn=hand] .presentation-student .presentation-bars{visibility:hidden}
body.session-presentation:is([data-presentation-turn=hand],[data-presentation-turn=recording]) .board-footer{padding-right:130px}
@keyframes presentation-hand-arrives{from{opacity:.4;transform:translateY(8px) rotate(-12deg)}to{opacity:1;transform:translateY(0) rotate(0)}}
/* Joining, setup, forms and end-of-session receipts use the same materials. */
body.session-presentation :is(.nb-tutor-card,.nb-tutor-card-sheet,.session-ended-receipt){background:none;border:0;box-shadow:none;color:var(--presentation-paper)}
body.session-presentation :is(.nb-tutor-card-name,.session-ended-receipt h1){font-family:var(--font-serif);color:var(--presentation-paper)}
body.session-presentation :is(.nb-tutor-card-who,.nb-tutor-card-when,.nb-tutor-card-span,.nb-tutor-card-caption,.nb-tutor-agenda){color:var(--presentation-muted)}
body.session-presentation :is(.primary-button,.zcr-submit){background:var(--presentation-paper);color:var(--presentation-green);border:0;border-radius:4px;box-shadow:none;font:12px var(--font-ui)}
body.session-presentation .primary-button:hover:not(:disabled){background:#e5ad8a;color:#25473b}
body.session-presentation.orientation-room main{padding:0;min-height:0}
body.session-presentation.orientation-room main>header{min-height:68px;padding:0 24px;border-bottom:1px solid var(--presentation-rule)}
body.session-presentation.orientation-room .eyebrow{display:none}
body.session-presentation.orientation-room h1{font:30px/1.1 var(--font-serif)}
body.session-presentation.orientation-room .lab-feedback{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;align-self:flex-start;max-width:calc(100% - 48px);margin:0 24px;background:transparent;color:var(--presentation-paper);font-size:13px}
body.session-presentation.orientation-room .lab-feedback:has(> :not([hidden])){margin-block:12px}
body.session-presentation.orientation-room .lab-feedback>div{margin:0;padding:4px 0 4px 12px;background:transparent;border:0;border-left:2px solid var(--presentation-rule);border-radius:0;color:inherit}
body.session-presentation.orientation-room .lab-feedback #error{background:transparent;color:var(--presentation-paper);border-left-color:var(--presentation-accent)}
body.session-presentation.orientation-room .lab-feedback #orientation-reconnect{min-height:44px;margin:0;padding:8px 12px;border:1px solid var(--presentation-rule);border-radius:4px;color:var(--presentation-paper);text-decoration:none}
body.session-presentation.orientation-room .lab-feedback #orientation-reconnect:hover:not(:disabled){background:#f5f2ea0d;border-color:var(--presentation-accent)}
body.session-presentation .nb-orientation-card :is(h2,h3){font-family:var(--font-serif);font-weight:400;color:var(--presentation-paper)}
body.session-presentation .nb-orientation-card :is(input,select,textarea){background:#18392f80!important;color:var(--presentation-paper)!important;border:1px solid var(--presentation-rule)!important;border-radius:4px!important}
body.session-presentation .nb-orientation-card :is(button,a.nb-orient-option){background:transparent!important;color:var(--presentation-paper)!important;border:1px solid var(--presentation-rule)!important;border-radius:4px!important;box-shadow:none!important}
body.session-presentation .nb-orientation-card button:hover:not(:disabled){border-color:var(--presentation-accent)!important;background:#f5f2ea0d!important}
body.session-presentation .nb-orientation-card :is(.field span,.note,small){color:var(--presentation-muted)!important}
body.session-presentation .nb-orientation-card :is(.tile,.summary,.overview-card){background:none;border:0;border-top:1px solid var(--presentation-rule);border-radius:0;color:var(--presentation-paper)}
body.session-presentation .nb-orientation-card .primary{background:var(--presentation-paper)!important;color:var(--presentation-green)!important}
body.session-presentation .lab-sidebar{color:#25473b;--muted:#4d6758;--line:#25473b30;--room-muted:#4d6758}
/* Practice uses the same bottom-left presenter and bottom caption lane. */
body.session-presentation #tutor-root[data-zeno-view=topic] #tutor-zeno-group{position:absolute!important;left:24px!important;bottom:46px!important;width:88px!important;height:106px!important;padding:0}
body.session-presentation #tutor-root[data-zeno-view=topic] :is(#tutor-tutor-line,#tutor-student-line){left:140px!important;right:28px!important;width:auto!important;transform:none!important;text-align:left}
@media(max-width:760px){
  body.session-presentation .nb-topbar.product-room-header,body.session-presentation.player-body>.nb-topbar{height:60px;min-height:60px;flex-basis:60px;padding-inline:15px}
  body.session-presentation .nb-brand-word{font-size:38px!important}body.session-presentation .session-room-subject{font-size:9px;max-width:38%}
  body.session-presentation .session-room-rail{height:60px;right:10px}body.session-presentation .session-rail-action{font-size:10px}
  body.session-presentation{--presentation-caption-gutter:18px;--presentation-caption-height:calc(2 * 12px * 1.8 + 26px)}
  body.session-presentation #tutor-live{padding:18px 18px calc(var(--presentation-controls-top,62px) + 20px + var(--presentation-caption-height) + 8px);gap:18px}
  body.session-presentation #tutor-zeno-group{width:180px!important;max-height:290px!important}
  body.session-presentation #tutor-root[data-zeno-view=presentation][data-presentation-layout=side-by-side] #tutor-live{grid-template-columns:100px minmax(0,1fr);gap:20px}
  body.session-presentation #tutor-root[data-zeno-view=presentation][data-presentation-layout=side-by-side] #tutor-zeno-group{width:112px!important;max-height:180px!important}
  body.session-presentation #tutor-root[data-presentation-layout=stacked] #tutor-zeno-group{width:140px!important;max-height:200px!important}
  body.session-presentation :is(.nb-zeno-said,.speech-text,.dialogue-scroll-text){font-size:12px}
  body.session-presentation .session-room-response{inset:auto 12px 18px;gap:3px}
  body.session-presentation :is(.lesson-control,.nb-tutor-mic-btn,.nb-tutor-type-btn,.nb-tutor-break-btn){font-size:10px;padding-inline:7px;gap:6px}
  body.session-presentation .board-header{padding:16px 16px 8px}body.session-presentation .board-lesson-title{font-size:26px}
  body.session-presentation #board-zeno{left:16px;width:64px;height:80px;bottom:46px}
  body.session-presentation .board-footer{min-height:190px;padding:8px 16px 18px 88px}
  body.session-presentation .board-dialogue{min-height:66px}
  body.session-presentation .board-controls,body.session-presentation #lesson-controls{gap:3px;justify-content:flex-start}
  body.session-presentation .presentation-student{right:15px;width:54px}.presentation-avatar{width:36px;height:36px}
  body.session-presentation:is([data-presentation-turn=hand],[data-presentation-turn=recording]) .board-footer{padding-right:78px}
  body.session-presentation.orientation-room main>header{padding-inline:14px;min-height:60px}body.session-presentation.orientation-room h1{font-size:24px}
  body.session-presentation .review-actions{flex-wrap:wrap;justify-content:flex-end;gap:2px}body.session-presentation .review-actions button{font-size:10px}
  body.session-presentation #tutor-root[data-zeno-view=topic] #tutor-zeno-group{left:16px!important;width:64px!important;height:80px!important}
  body.session-presentation #tutor-root[data-zeno-view=topic] :is(#tutor-tutor-line,#tutor-student-line){left:88px!important;right:16px!important}
}
@media(prefers-reduced-motion:reduce){body.session-presentation .presentation-hand{animation:none}.presentation-bars i{transition:none}}

/* Explicitly retire the old capsule and bubble sizing, including inline sizes
   used by the speech follower. Keep its scroll position and audio ownership. */
body.session-presentation #tutor-root{background:transparent!important}
body.session-presentation #tutor-root .session-room-response{left:20px;right:20px;bottom:18px;transform:none;width:auto;max-width:none;min-height:44px;padding:0;border:0;border-radius:0;background:none;box-shadow:none;flex-direction:row}
body.session-presentation #tutor-root .session-room-response .nb-tutor-voice-row{flex-direction:row}
body.session-presentation :is(#tutor-mic-btn,#tutor-type-btn,#tutor-break-btn){border-radius:4px;color:#f5f2ea;background:none;padding:0 12px}
body.session-presentation #tutor-mic-btn{border:1px solid #a9c5b570;background:#18392f80}
body.session-presentation #tutor-mic-btn.is-recording{background:#e5ad8a;color:#213d32;border-color:#e5ad8a}
body.session-presentation .nb-zeno-said{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important}
body.session-presentation #tutor-student-line .speech-text{max-height:2lh;overflow:auto;overflow-wrap:anywhere}
body.session-presentation #tutor-student-line.is-typing{max-height:none!important;overflow:visible}
body.session-presentation #tutor-student-line.is-typing>.student-bubble{display:none}
body.session-presentation .dialogue-scroll-text[data-caption-paged=true]{overflow:hidden!important}
/* Reading controls share the speaker-label row, preserving the two text lines. */
body.session-presentation :is(.nb-zeno-said,.student-bubble){position:relative}
body.session-presentation .caption-pages-controls{position:absolute;top:0;right:0;display:flex;gap:4px}
body.session-presentation .caption-pages-controls button{display:inline-flex;align-items:center;justify-content:center;width:28px;height:24px;padding:0;border:0;border-radius:4px;background:transparent;color:var(--presentation-muted);cursor:pointer}
body.session-presentation .caption-pages-controls button:hover:not(:disabled){background:#f5f2ea10;color:var(--presentation-paper)}
body.session-presentation .caption-pages-controls button:disabled{opacity:.35;cursor:default}
body.session-presentation .caption-pages-controls button:focus-visible{outline:2px solid var(--presentation-accent);outline-offset:2px}
body.session-presentation .caption-pages-controls svg{width:14px;height:14px}
body.session-presentation .dialogue-scroll-text{width:100%!important;max-width:100%!important;white-space:normal!important;overflow-wrap:anywhere;overflow-x:hidden;font-weight:400}
body.session-presentation .session-room-response{flex-wrap:wrap}
body.session-presentation :is(#tutor-status-strip,.nb-tutor-voice-row){min-width:0;max-width:100%;white-space:normal}
body.session-presentation #tutor-status{overflow-wrap:anywhere}
body.session-presentation.orientation-room #tutor-root:has(#microphone-preflight:not([hidden])) :is(#tutor-tutor-line,#tutor-student-line){bottom:calc(var(--presentation-controls-top,140px) + 20px)!important}
body.session-presentation .session-room-rail{flex-direction:row}
body.session-presentation:not([data-session-endable="1"]) .session-room-end{display:none}
body.session-presentation[data-session-endable="1"] .session-room-home{display:none}
body.session-presentation .lab-sidebar select{color:#25473b;color-scheme:light}
body.session-presentation .nb-orient-role-option .nb-orient-role-option-title{font:28px var(--font-serif)}
body.session-presentation #session-end-dialog{inset:0;padding:20px;background:transparent;border-radius:0;color:var(--presentation-green)}
body.session-presentation #session-end-dialog .nb-session-leave-backdrop{background:#102d2466;backdrop-filter:none;border-radius:0}
body.session-presentation #session-end-dialog .nb-session-leave-sheet{width:min(520px,100%);padding:46px 28px 28px;background:#f5f2ea;color:#25473b;border:0;border-radius:6px;box-shadow:0 18px 50px #071c2350}
body.session-presentation #session-end-dialog .session-overlay-close{position:absolute;inset:6px 6px auto auto;width:44px;height:44px;color:var(--presentation-green);border-radius:4px}
body.session-presentation #session-end-dialog .session-overlay-close:hover{background:#25473b0d}
body.session-presentation #session-end-dialog #session-end-error{color:#9a4535}
body.session-presentation #session-end-dialog :is(.session-overlay-zeno,.session-overlay-eyebrow){display:none}
body.session-presentation #session-end-title{font:38px/1.1 var(--font-serif);color:#25473b}
body.session-presentation #session-end-copy{font:12px/1.9 var(--font-ui);color:#526657}
body.session-presentation #session-end-dialog .nb-session-stay{background:#25473b;color:#f5f2ea;border-radius:4px;box-shadow:none;font:11px var(--font-ui)}
body.session-presentation #session-end-dialog .nb-session-confirm-leave{background:none;color:#9a4535;border:0;font:11px var(--font-ui)}
body.session-presentation.player-body{--chalk:#f5f2ea;--chalk-soft:#c5d3ca;--chalk-rule:#a9c5b54d;--chalk-box:#c5d3ca;--foil-first:#e5ad8a;--foil-outer:#a9c8e4;--foil-inner:#bdd6bb;--foil-last:#c9b7e3;--ballpoint:#a9c8e4;--accent:#e5ad8a;--board-surface:#25473b;--paper-grid:none}

body.session-presentation{--font-serif:'Session Serif',Georgia,serif!important;--font-ui:'Session Mono',monospace!important;--font-mono:'Session Mono',monospace!important}
body.session-presentation .session-rail-action svg{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
body.session-presentation #lesson-controls{background:none;border:0;border-radius:0;box-shadow:none;padding:0;min-height:44px}
body.session-presentation :is(#caption,#interrupt-transcript){font:13px/1.8 var(--font-ui)}
body.session-presentation :is(.nb-topbar-actions a,.board-back-link){color:var(--presentation-muted);font:11px var(--font-ui);background:none;border:0}
body.session-presentation #tutor-composer .nb-room-composer-row{display:flex;align-items:center;gap:12px}
body.session-presentation #tutor-composer-input{flex:1;min-width:0;width:auto!important}
body.session-presentation :is(#tutor-student-line,#tutor-tutor-line){overflow-x:hidden}
body.session-presentation .board-dialogue #tutor-bubble::before{display:inline!important;margin-right:8px}
body.session-presentation #tutor-begin-face>svg{width:100%;height:100%}
body.session-presentation .nb-tutor:has(#tutor-begin:not([hidden])) .session-room-response:not(:has(#microphone-preflight:not([hidden]))),body.session-presentation .nb-tutor.teaching .session-room-response,body.session-presentation.session-ended .session-room-response{display:none}
body.session-presentation .session-room-response:has(#microphone-preflight:not([hidden])){bottom:24px}
body.session-presentation #microphone-preflight{color:var(--presentation-paper);font:12px/1.7 var(--font-ui)}
body.session-presentation #microphone-preflight button{background:#f5f2ea;color:#25473b;border:0;border-radius:4px;font:11px var(--font-ui)}
body.session-presentation #microphone-preflight p{color:var(--presentation-muted)}
body.session-presentation.session-ended .session-room-end{display:none}
body.session-presentation .session-ended-receipt{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:15px;padding:24px;z-index:3}
body.session-presentation .session-ended-receipt h1{font:clamp(42px,5vw,64px)/1.1 var(--font-serif);margin:0}
body.session-presentation .session-ended-receipt p{color:var(--presentation-muted);font-size:12px;margin:0 0 10px}
body.session-presentation .session-ended-symbol{display:block;color:var(--presentation-accent);margin-bottom:5px}
body.session-presentation .session-ended-symbol svg{display:block;width:18px;height:18px}

body.session-presentation #tutor-zeno-group{--presenter-size:clamp(170px,25vh,260px);width:var(--presenter-size)!important;height:calc(var(--presenter-size)*1.267 + 30px)!important;max-height:100%}
body.session-presentation #tutor-root[data-presentation-layout=stacked] #tutor-zeno-group{--presenter-size:180px;width:var(--presenter-size)!important}
body.session-presentation #tutor-root[data-zeno-view=topic] #tutor-zeno-group{width:88px!important;height:106px!important}

/* Session entry follows the approved v0 waiting room, including the complete
   paper figure's arrival. Live conversation layouts remain independent. */
body.session-presentation #tutor-begin-face .presentation-voice{display:none}
body.session-presentation #tutor-begin-face [data-rig=balls]>circle{fill:#fcfaf6;stroke:#25221d;stroke-width:1}
body.session-presentation #tutor-begin-face [data-rig=balls]>circle:nth-child(2){fill:#c2402a}
body.session-presentation .presentation-arriving{transform-origin:50% 80%;animation:presentation-arrive 850ms cubic-bezier(.16,1,.3,1) both}
@keyframes presentation-arrive{from{opacity:0;transform:translateY(20px) scale(.96);filter:blur(3px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}
body.session-presentation.orientation-lab .lab-sidebar .wordmark{font:400 40px/1 'Instrument Serif',Georgia,serif;letter-spacing:-1px;color:#fcfaf6;background:none;-webkit-text-fill-color:currentColor}
body.session-presentation.orientation-lab .lab-sidebar .wordmark span{font:11px/1.5 'Geist Mono',monospace;letter-spacing:0;text-transform:none;color:#c5d3ca}
body.session-presentation.orientation-lab .lab-sidebar{background:#25473b url(assets/green-tile.png) repeat 0 0/512px;color:#fcfaf6;border-right:1px solid #a9c5b54d;--muted:#c5d3ca;--room-muted:#c5d3ca;--line:#a9c5b54d}
body.session-presentation.orientation-lab .lab-sidebar :is(a,button){color:#fcfaf6}
body.session-presentation.orientation-lab .lab-sidebar button{background:transparent;border-color:#a9c5b54d;border-radius:6px}
body.session-presentation.orientation-lab .lab-sidebar button:hover{background:#fcfaf612}
body.session-presentation.orientation-lab .lab-sidebar button[aria-current=step],body.session-presentation.orientation-lab .lab-sidebar button.active{background:#fcfaf61f;color:#fcfaf6}
@media(prefers-reduced-motion:reduce){body.session-presentation .presentation-arriving{animation:none}}
body.session-presentation .nb-topbar-actions a{letter-spacing:0;text-transform:none}
@media(max-width:760px){
 body.session-presentation :is(#caption,#interrupt-transcript){font-size:12px}
 body.session-presentation #tutor-zeno-group{--presenter-size:180px}
 body.session-presentation #tutor-root[data-presentation-layout=stacked] #tutor-zeno-group{--presenter-size:130px;width:var(--presenter-size)!important}
 body.session-presentation #tutor-root[data-zeno-view=presentation][data-presentation-layout=side-by-side] #tutor-zeno-group{--presenter-size:112px;width:var(--presenter-size)!important}
 body.session-presentation #tutor-root[data-zeno-view=topic] #tutor-zeno-group{width:64px!important;height:80px!important}
}
/* Orientation keeps the microphone presenter's scale when a form appears.
   The panel may move or scroll; it does not select a smaller mascot. */
body.session-presentation.orientation-room #tutor-root[data-presentation-layout] #tutor-zeno-group{--presenter-size:clamp(170px,25vh,260px);width:var(--presenter-size)!important;height:calc(var(--presenter-size)*1.267 + 30px)!important;max-height:none!important;flex-shrink:0}
@media(max-width:760px){body.session-presentation.orientation-room #tutor-root[data-presentation-layout] #tutor-zeno-group{--presenter-size:180px}}

body.session-presentation #lesson-controls :is(.lesson-control-copy>span,kbd){font:inherit;letter-spacing:0;text-transform:none;color:inherit}
body.session-presentation #lesson-controls kbd{font-size:9px}
body.session-presentation:is([data-presentation-turn=hand],[data-presentation-turn=recording]) .dev-workspace-launcher{visibility:hidden}
body.session-presentation .board-controls .primary-button{letter-spacing:0;text-transform:none}

body.session-presentation .nb-page-col{width:100%;min-width:0;flex:1}
body.session-presentation #tutor-root{width:100%}
body.session-presentation #structured-author-state-review{background:var(--presentation-green);border:1px solid var(--presentation-rule);box-shadow:none;border-radius:4px}
body.session-presentation #structured-author-state-review button{background:transparent;color:var(--presentation-paper);border:0;font:11px var(--font-ui);letter-spacing:0;text-transform:none}
body.session-presentation #structured-author-state-review .structured-author-state-button--next{background:var(--presentation-accent);color:var(--presentation-green)}
.orientation-lab .orientation-lab-exit{display:inline-flex;align-items:center;gap:9px;min-height:44px;margin-bottom:12px;font:11px var(--font-mono);color:inherit;text-decoration:none}.orientation-lab .orientation-lab-exit:hover{text-decoration:underline;text-underline-offset:4px}.orientation-lab .orientation-lab-exit:focus-visible{outline:2px solid currentColor;outline-offset:4px}
