.voice-panel{margin:24px 0;padding:24px;background:#fff;border-top:4px solid #017991;font-size:16px}
.voice-panel h2{margin:0 0 12px;font:28px Georgia,serif}
.voice-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:14px 0}
.voice-row input[type=password],.voice-row input[type=text]{padding:10px;min-width:160px;max-width:100%;flex:1;border:1px solid #80908a}
.voice-row select{max-width:100%;min-width:0;padding:10px;flex:1}.voice-panel details{margin-top:16px}
.voice-row label{font-size:14px}.voice-status{min-height:1.5em}.voice-heard{color:#53605e;overflow-wrap:anywhere;min-height:1.5em}
.voice-proposal{padding:15px;border:2px solid #017991;background:#eaf4f4}
.voice-cue-buttons{display:flex;flex-wrap:wrap;gap:8px}.voice-cue-buttons button{font-size:13px;padding:7px 10px}
.voice-panel summary{cursor:pointer}.voice-panel .small{max-width:75ch}.voice-panel button:disabled{cursor:default}
.voice-emphasis{position:absolute;z-index:5;pointer-events:none;outline:.24cqw solid #ffca28;outline-offset:.3cqw;border-radius:.2cqw;background:#ffdc4520;box-shadow:0 0 0 .55cqw #ffdc450c}
.hero .voice-emphasis{outline-color:#fff;background:#fff2}
.voice-enlargement{position:absolute;z-index:6;pointer-events:none;overflow:hidden;transform:scale(1.22);border-radius:1.1cqw;box-shadow:0 .7cqw 2cqw #0007;outline:.24cqw solid #017991;animation:voice-enlarge .18s ease-out;background:white}
.course-slide.voice-card-source{position:absolute!important;width:100cqw!important;height:56.25cqw!important;max-width:none!important;margin:0!important;pointer-events:none}
@keyframes voice-enlarge{from{transform:scale(1)}to{transform:scale(1.22)}}
@media(prefers-reduced-motion:reduce){.voice-enlargement{animation:none}}
body.voice-audience{background:#111}.voice-audience .site-header,.voice-audience .site-footer,.voice-audience .toolbar,.voice-audience .module-heading,.voice-audience .viewer-note,.voice-audience .viewer-panel{display:none!important}
.voice-audience .viewer-shell{padding:0;max-width:none;min-height:100vh;display:grid;place-items:center}
.voice-audience .slide-frame{width:min(100vw,177.77778vh)}
.full .voice-panel{display:none}
@media(max-width:600px){.voice-panel{padding:16px}.voice-row{align-items:stretch}.voice-row input[type=password],.voice-row input[type=text]{flex-basis:100%}.voice-panel button{font-size:14px}.voice-panel h2{font-size:24px}}
@media print{.voice-panel,.voice-emphasis,.voice-enlargement{display:none!important}}
