.wrapper { width: 100%; height: 100%; display: flex; justify-content: center; align-items: center; } .viewport { position: relative; aspect-ratio: 16 / 9; width: 100%; max-height: 100%; background: #000; overflow: hidden; } .empty { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: #444; font-size: 13px; } .subtitleBar { position: absolute; bottom: 0; left: 0; right: 0; padding: 10px 20px 14px; background: linear-gradient(transparent, rgba(0,0,0,0.75)); text-align: center; } .speaker { font-size: 11px; font-weight: 600; color: #f0c060; margin-bottom: 4px; text-shadow: 0 1px 3px rgba(0,0,0,0.8); } .text { font-size: 14px; color: #fff; line-height: 1.5; text-shadow: 0 1px 4px rgba(0,0,0,0.9); }