:root{color:#1f302e;--teal:#198a7e;--gold:#c78636;background:#f5f4ef;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,sans-serif;line-height:1.6}*{box-sizing:border-box}body{margin:0}a{color:#0b7770;text-decoration:none}button,select,input{font:inherit}button,select{cursor:pointer}button:disabled{opacity:.55;cursor:wait}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline-offset:3px;outline:3px solid #c96e1b}.shell{max-width:1100px;margin:auto;padding:0 24px}header{border-bottom:1px solid #d7dfd7;justify-content:space-between;align-items:center;gap:15px;min-height:76px;display:flex}header>a:first-child{color:#213c37;font-size:21px}header>span{letter-spacing:.12em;color:#68776c;font-size:12px}.intro{justify-content:space-between;align-items:center;gap:20px;padding:26px 0 23px;display:flex}.eyebrow,.mini-label{letter-spacing:.08em;color:#65756e;font-size:12px;font-weight:600}.eyebrow{margin:0}h1{margin:8px 0;font-size:32px;line-height:1.3}.intro-note{color:#748078;max-width:24em;font-size:13px}.theatre{background:#fff;border:1px solid #d7dfd7;border-radius:20px;overflow:hidden;box-shadow:0 10px 35px #25453608}.scene-heading{border-bottom:1px solid #e6ebe5;align-items:center;gap:16px;padding:20px 24px;display:flex}#step{color:#77847a;font:13px monospace}.scene-heading h2{margin:0;font-size:23px}.scene-heading p{color:#77847a;margin:3px 0 0;font-size:13px}.live-label{white-space:nowrap;border:1px solid #e1e6df;border-radius:99px;margin-left:auto;padding:5px 12px;font-size:12px}.captions{background:#f5f7f1;border-top:1px solid #e6ebe5;align-items:baseline;gap:15px;min-height:96px;padding:18px 24px;display:flex}.captions>span{color:#77847a;white-space:nowrap;font-size:12px}.captions p{max-width:52em;margin:0;font-size:18px;line-height:1.8}.controls{z-index:4;background:#f5f4eff7;padding:20px 0 12px;position:sticky;bottom:12px}.progress{color:#64776b;align-items:center;gap:12px;font:12px ui-monospace,monospace;display:flex}.progress input{accent-color:#137c70;flex:1;min-width:0}.buttons{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin-top:13px;display:flex}.buttons button,.buttons select{color:#344f42;background:#fff;border:1px solid #ccd7cc;border-radius:9px;padding:9px 13px}.buttons .primary{color:#fff;background:#146f62;border-color:#146f62;min-width:155px;font-weight:650}.buttons label{color:#667c6b;font-size:12px}.buttons select{padding:7px}#status{text-align:center;color:#7b867b;margin:12px 0 0;font-size:12px}.chapters{border-top:1px solid #d7dfd7;margin:10px 0 20px;padding-top:16px}.chapters summary{cursor:pointer;color:#64766b;font-size:14px}.chapters>div{grid-template-columns:1fr 1fr;gap:10px;margin-top:14px;display:grid}.chapter{text-align:left;color:#354c40;background:#fff;border:1px solid #dce3d8;border-radius:10px;gap:12px;padding:13px;display:flex}.chapter>span{color:#7e8b7d;font:12px monospace}.chapter p{color:#738171;margin:5px 0 0;font-size:12px;line-height:1.7}.chapter[aria-current=true]{background:#f1f8f3;border-color:#198a7e}footer{color:#7b857b;border-top:1px solid #d7dfd7;justify-content:space-between;gap:20px;padding:20px 0 28px;font-size:12px;display:flex}footer p{max-width:65em;margin:0}footer>div{flex-wrap:wrap;align-items:center;gap:12px 18px;max-width:30em;display:flex}.audio-only .lesson-visual{display:none}.audio-only .captions{align-items:center;min-height:250px}.audio-only .captions p{font-size:24px}@media (width<=650px){.shell{padding:0 14px}header{gap:8px;min-height:58px}header>a:first-child{font-size:17px}header>span{display:none}header>a{font-size:12px}.intro{padding:18px 0 16px;display:block}h1{font-size:25px}.intro-note{display:none}.scene-heading{gap:10px;padding:14px}.scene-heading h2{font-size:19px}.scene-heading p{font-size:11px}.live-label{display:none}#step{font-size:11px}.captions{gap:9px;min-height:104px;padding:14px}.captions p{font-size:16px;line-height:1.7}.captions>span{font-size:10px}.controls{z-index:5;backdrop-filter:blur(12px);border-top:1px solid #e0e5db;padding:13px 0 10px;position:sticky;bottom:0}.buttons{gap:7px;margin-top:10px}.buttons button{padding:8px 10px;font-size:12px}.buttons .primary{min-width:115px}.buttons label{font-size:10px}.buttons select{padding:5px;font-size:12px}#status{margin-top:7px;font-size:10px}.chapters>div{grid-template-columns:1fr}footer{display:block}footer>div{margin-top:12px}.audio-only .captions p{font-size:21px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
