
html,body{margin:0;width:100%;height:100%;background:#000;overflow:hidden;font-family:system-ui,sans-serif}
#stage{position:fixed;inset:0;background:#000;display:flex;align-items:center;justify-content:center;touch-action:none}
video,audio{width:100%;height:100%;object-fit:contain;background:#000}
#audio{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
#ui{position:fixed;inset:0;z-index:10;pointer-events:none;opacity:0;transition:opacity .2s;background:linear-gradient(to bottom,rgba(0,0,0,.45),transparent 25%,transparent 70%,rgba(0,0,0,.6))}
#stage.show #ui{opacity:1}
#title{position:absolute;left:16px;right:220px;bottom:12px;height:38px;line-height:38px;color:#fff;font-size:17px;text-shadow:0 1px 5px #000;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#bar{position:absolute;left:12px;right:12px;bottom:12px;height:38px;display:flex;align-items:center;justify-content:flex-end;gap:16px}
button{pointer-events:auto;border:0;background:rgba(0,0,0,.55);color:#fff;border-radius:22px;padding:7px 11px;font-size:20px;line-height:1;min-width:38px;min-height:38px;display:flex;align-items:center;justify-content:center}
#viewers{color:#fff;font-size:13px;text-shadow:0 1px 4px #000;margin-right:1px}#viewers.has-viewers:before{content:"•";display:inline-block;font-size:18px;line-height:1;vertical-align:-1px;margin-right:4px}
#bar button{width:38px;height:38px;padding:0;flex:0 0 38px}
#bar button svg{display:block;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
#play svg{width:23px;height:23px;stroke-width:1.55}
#play #playIcon path{vector-effect:non-scaling-stroke}
#eye{display:block}
#gap{position:fixed;inset:0;display:none;flex-direction:column;align-items:center;justify-content:center;color:#fff;font-size:clamp(24px,6vw,70px);font-weight:500;letter-spacing:.02em;text-align:center;padding:30px;gap:28px}
#gapBar{width:min(420px,60vw);height:2px;background:rgba(255,255,255,.18);overflow:hidden}
#gapBar i{display:block;height:100%;width:100%;background:#fff;transform-origin:left center}
#stage.gap #gap{display:flex}#stage.gap video,#stage.gap audio{display:none}
@media(max-width:600px){#title{left:12px;right:205px;bottom:12px;height:38px;line-height:38px;font-size:16px}#bar{left:8px;right:8px;gap:10px}button{font-size:19px}}


#stage.radio video{visibility:hidden}
