/* Presentation uses a 16:9 canvas fitted inside the visible browser area. */
html.tv-view,html.tv-view body{width:100%;height:100%;overflow:hidden;overscroll-behavior:none}
html.tv-view #app{width:100%;height:100%;overflow:hidden}
.tv-viewport{position:fixed;inset:0 auto auto 0;overflow:hidden;background:#f8f8f0}
.tv-viewport>.display-page{position:absolute;left:50%;top:50%;width:1600px;height:900px;min-width:0;min-height:0;padding:28px 40px;display:grid;grid-template-rows:60px minmax(0,1fr);gap:18px;transform-origin:center center;overflow:visible}
.tv-viewport .display-header{min-width:0;min-height:0;gap:20px;flex-wrap:nowrap}
.tv-viewport .display-header .brand{font-size:48px;line-height:1}
.tv-viewport .display-header .brand span{font-size:24px}
.tv-viewport .display-header .connection{font-size:15px;margin-left:auto;margin-right:20px}
.tv-viewport .display-header button{font-size:16px;min-height:48px;padding:12px 20px;flex-shrink:0}
.tv-viewport #display-content{position:relative;display:block;min-width:0;min-height:0;padding:0;overflow:visible}
.tv-content-stage{position:absolute;top:0;left:0;min-height:100%;display:flex;flex-direction:column;gap:16px;transform-origin:top left;overflow:visible}
.tv-viewport [hidden]{display:none!important}
.tv-viewport .tv-setup,.tv-viewport .display-wait{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.85fr);align-items:center;justify-content:normal;flex:1;gap:60px;padding:10px 0;text-align:left}
.tv-viewport .tv-setup-copy,.tv-viewport .display-wait>div{min-width:0}
.tv-viewport .tv-setup h1{font:64px/1.14 Georgia,serif;letter-spacing:-2px;margin:18px 0 26px;max-width:none}
.tv-viewport .tv-setup .eyebrow{font-size:14px}
.tv-viewport .tv-setup ol{font-size:24px;line-height:1.55;padding-left:30px;margin:0;max-width:none;text-align:left}
.tv-viewport .tv-setup li{margin-bottom:12px;padding-left:8px}
.tv-viewport .tv-setup p{font-size:23px;line-height:1.5;margin:24px 0 12px;max-width:none}
.tv-viewport .tv-pair-code{font-size:68px;line-height:1.2;letter-spacing:10px;white-space:nowrap}
.tv-viewport .tv-setup small{font-size:15px;margin-top:12px}
.tv-viewport .display-qr{padding:22px;justify-self:center;max-width:100%;border-radius:20px;text-align:center}
.tv-viewport .display-qr img{display:block;width:380px;height:380px;max-width:100%;object-fit:contain}
.tv-viewport .tv-pair-qr img{width:360px;height:360px}
.tv-viewport .display-qr span{font-size:18px;line-height:1.5;margin:14px 0 0}
.tv-viewport .display-wait h1{font:104px/1.06 Georgia,serif;letter-spacing:-3px;margin:22px 0 26px}
.tv-viewport .display-wait .eyebrow{font-size:14px}
.tv-viewport .display-wait p{font-size:27px;line-height:1.5;margin-bottom:18px}
.tv-viewport .display-wait .big-code{font-size:64px;line-height:1.2;letter-spacing:8px}
.tv-viewport .display-title{gap:24px;margin:0;align-items:flex-start}
.tv-viewport .display-title>div:first-child{min-width:0;flex:1}
.tv-viewport .display-title .eyebrow{font-size:14px}
.tv-viewport .display-title h1{font-size:48px;line-height:1.15;margin:10px 0;max-width:1100px;overflow-wrap:anywhere}
.tv-viewport .display-title p{font-size:24px;line-height:1.5;margin:0;max-width:none;overflow-wrap:anywhere}
.tv-viewport .display-timer{font-size:68px;line-height:1.1}
.tv-viewport .display-results{padding:0;flex:1;min-height:0}
.tv-viewport .display-results .response-wall{display:grid;gap:18px}
.tv-viewport .display-results .response-card{padding:22px;min-width:0}
.tv-viewport .display-results .response-card p{font-size:26px;line-height:1.4;margin:0 0 18px;overflow-wrap:anywhere}
.tv-viewport .display-results .response-card footer{font-size:15px;line-height:1.5}
.tv-viewport .display-results .response-card img{width:100%;height:270px;object-fit:contain}
.tv-viewport .display-results .bars{gap:18px;margin:12px auto;max-width:1200px}
.tv-viewport .display-results .bar-row>div:first-child{font-size:24px;margin-bottom:9px}
.tv-viewport .display-results .bar-row small{font-size:18px}
.tv-viewport .display-results .bar-track{height:20px}
.tv-viewport .collecting{padding:25px 0;text-align:center}
.tv-viewport .pulse-orb{width:80px;height:80px}
.tv-viewport .collecting h2{font-size:34px;margin:20px 0 15px}
.tv-viewport .collecting p{font-size:24px;margin-bottom:15px}
.tv-viewport .collecting>strong{font-size:48px;margin-top:20px}
.tv-viewport .display-results .teaching{margin:0 auto}
.tv-viewport .display-results .teaching>p{font-size:27px;line-height:1.5}
.tv-viewport .display-results .practice-tip{padding:24px}
.tv-viewport .display-results .practice-tip p{font-size:25px;line-height:1.5}
.tv-viewport .display-results .story-card .opening{font-size:27px;line-height:1.5}
.tv-viewport .display-results .story-card ol{font-size:24px;line-height:1.5}
.tv-viewport .display-results .speech-stage h2{font-size:52px}
.tv-viewport .display-footer{min-width:0;margin-top:auto;gap:20px;padding:14px 0 0;flex-wrap:nowrap;font-size:14px;line-height:1.5}
.tv-viewport .display-footer>span{display:flex;min-width:0}
.tv-viewport .display-footer>span:first-child{max-width:45%;overflow-wrap:anywhere}
.tv-viewport .display-footer>span:last-child{white-space:nowrap}
.tv-viewport .display-footer strong{font-size:24px;letter-spacing:3px}
.tv-viewport .rehearsal-notice{font-size:18px;padding:10px 16px;margin:0;text-align:center}
.tv-page-status{font-size:16px;line-height:1.5;text-align:center;color:#6e825d;margin-top:14px}
