/* Эфир на странице турнира: карточка «В эфире · Корт N» и полноэкранный просмотр («план А», docs/PLAN-streams.md). */
.live-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: 12px; }
.live-card { display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; background: #fff; }
.lc-thumb { position: relative; aspect-ratio: 16 / 9; background: var(--navy) center / cover no-repeat; }
.lc-thumb::after { content: ''; position: absolute; inset: 0; background: linear-gradient(rgba(1, 34, 85, .15), rgba(1, 34, 85, .55)); }
.lc-body { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; padding: 12px 14px; }
.lc-title { font-weight: 800; margin-right: auto; }
.lc-watch { flex: none; }

/* Полноэкранный просмотр: слой поверх страницы (не Fullscreen API: на iPhone его нет), тёмный фон, крестик, Escape. */
html.vwv-open, html.vwv-open body { overflow: hidden; }
.vw-viewer { position: fixed; inset: 0; z-index: 2000; display: flex; flex-direction: column; background: #02060f; color: #fff; }
.vwv-bar { flex: none; display: flex; align-items: center; gap: 10px; padding: max(10px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) 10px max(12px, env(safe-area-inset-left)); }
.vwv-tabs { display: flex; gap: 6px; flex-wrap: wrap; margin-right: auto; }
.vwv-tabs button { height: 36px; padding: 0 14px; border-radius: 999px; border: 2px solid #fff; background: transparent; color: #fff; font: 800 14px 'Manrope', sans-serif; cursor: pointer; }
.vwv-tabs button.on { background: #fff; color: var(--navy); }
.vwv-ttl { font-weight: 800; margin-right: auto; }
.vwv-bar > button { flex: none; width: 44px; height: 44px; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .16); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 28px; line-height: 1; cursor: pointer; }
.vwv-bar > button:hover { background: rgba(255, 255, 255, .3); }
.vwv-bar > button:focus-visible, .vwv-tabs button:focus-visible { outline: 3px solid #fff; outline-offset: 2px; }
.vwv-stage { flex: 1; min-height: 0; position: relative; display: flex; align-items: center; justify-content: center; background: #000 center / contain no-repeat; }
.vwv-stage iframe { border: 0; width: min(100vw, calc((100vh - 64px) * 16 / 9)); width: min(100vw, calc((100dvh - 64px) * 16 / 9)); aspect-ratio: 16 / 9; pointer-events: none; }
