html,body{height:100%;overflow:hidden}
.stage{height:100vh;height:100dvh;min-height:0;overflow:hidden;grid-template-rows:76px minmax(0,1fr) 78px}
.workspace{min-height:0;overflow:hidden}
.workspace>aside{min-height:0;overflow-y:auto;overscroll-behavior:contain}
.workspace main{min-height:0;overflow-y:auto;padding:18px 32px 12px;display:flex;flex-direction:column}
.slide{width:100%;max-width:890px;min-height:min(510px,calc(100dvh - 205px));margin:0 auto}
.instructor{min-height:0;overflow-y:auto}
footer{position:relative;z-index:6}
.captions{position:relative;left:auto;right:auto;bottom:auto;flex:none;width:min(780px,94%);height:64px;overflow:hidden;margin:10px auto 0;padding:8px 24px;background:#090b0eea;color:#fff;border-radius:6px;font-size:18px;font-weight:600;line-height:1.3;letter-spacing:.01em;text-align:center;text-shadow:0 1px 2px #000;box-shadow:0 3px 14px #0003;display:flex;align-items:center;justify-content:center;white-space:normal;word-break:normal}
.captions.hidden{display:none}
@media(max-height:760px) and (min-width:701px){.stage{grid-template-rows:68px minmax(0,1fr) 70px}header{padding-top:0;padding-bottom:0}.workspace main{padding-top:10px}.slide{min-height:440px;padding:30px 42px}.slide h1{font-size:34px;margin-bottom:24px}.slide li{padding:9px 0}.visual{min-height:210px}.captions{font-size:16px;min-height:48px;margin-top:7px}}
@media(max-width:700px){html,body{overflow:auto}.stage{height:auto;min-height:100dvh;overflow:visible}.workspace{overflow:visible}.workspace main{padding:12px 10px 8px}.slide{min-height:calc(100dvh - 210px)}.captions{position:relative;left:auto;right:auto;bottom:auto;width:96%;font-size:16px;margin:8px auto 0}footer{position:sticky;bottom:0}}
