.video-content > .twitch-player {
    width: 100%;
    height: 100%;
}
.player-privacy-placeholder { width:100%; height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; padding:20px; text-align:center; color:var(--text-main); background:var(--panel); box-sizing:border-box; }
.player-privacy-placeholder p { margin:0; font-size:18px; }
.player-privacy-placeholder small { max-width:460px; line-height:1.5; color:var(--text-muted); }
.video-stage { position:relative; width:100%; aspect-ratio:16/9; flex:0 0 auto; margin-top:auto; min-width:0; }
.video-stage > .video-content { width:100%; height:100%; aspect-ratio:auto; margin:0; }
.stream-emotions { position:absolute; inset:0; overflow:hidden; pointer-events:none; z-index:5; border-radius:16px; }
.stream-emotion { position:absolute; bottom:12%; font-size:clamp(32px,4vw,54px); text-shadow:0 2px 6px #0006; animation:stream-emotion-rise 3s ease-out forwards; }
.stream-emotion.reduced-motion { animation:stream-emotion-fade 3s ease-out forwards; bottom:28%; }
.video-stage:fullscreen { height:100%; width:100%; aspect-ratio:auto; background:#000; }
.video-stage:fullscreen > .video-content { height:100%; border-radius:0; }
@keyframes stream-emotion-rise { 0% { opacity:0; transform:translateY(12px) scale(.8); } 15%,65% { opacity:1; } 100% { opacity:0; transform:translateY(-160px) scale(1.15); } }
@keyframes stream-emotion-fade { 0%,100% { opacity:0; } 20%,70% { opacity:1; } }
@media(prefers-reduced-motion:reduce) { .stream-emotion { animation:stream-emotion-fade 3s ease-out forwards; bottom:28%; } }
@media(max-width:600px) { .stream-emotion { font-size:32px; } }
