/* ИМБАЙТ match-v2 — изолированные стили страницы матча.
   Префикс .mv2 и .mv2-*. Все цвета/spacing — через --ql-* токены. */

.mv2 {
    display: flex;
    flex-direction: column;
    gap: var(--ql-sp-5);
    color: var(--ql-fg);
}

/* ════════════════════════════════════════════════════════════
   HERO
   ════════════════════════════════════════════════════════════ */
.mv2-hero {
    position: relative;
    background:
        radial-gradient(120% 80% at 0% 0%, rgba(0,255,91,0.06) 0%, transparent 60%),
        radial-gradient(120% 80% at 100% 100%, rgba(102,192,244,0.05) 0%, transparent 60%),
        var(--ql-bg-2, #151D2B);
    border: 1px solid var(--ql-border);
    border-radius: 16px;
    padding: var(--ql-sp-5);
    overflow: hidden;
}
.mv2-hero--live {
    border-color: var(--ql-danger, #ef4444);
    box-shadow: 0 0 0 1px rgba(239,68,68,0.15), 0 8px 24px rgba(239,68,68,0.08);
}
.mv2-hero--finished {
    border-color: var(--ql-border);
}
.mv2-hero__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--ql-sp-3);
    margin-bottom: var(--ql-sp-4);
    flex-wrap: wrap;
}
.mv2-hero__context {
    display: flex;
    align-items: center;
    gap: var(--ql-sp-3);
    flex-wrap: wrap;
}
.mv2-hero__tournament {
    color: var(--ql-fg);
    text-decoration: none;
    font-weight: 700;
    font-size: 14px;
    padding: 6px 12px;
    border-radius: 999px;
    background: var(--ql-bg-3, rgba(255,255,255,0.04));
    border: 1px solid var(--ql-border);
    transition: background .15s ease, border-color .15s ease;
}
.mv2-hero__tournament:hover {
    background: var(--ql-accent-soft, rgba(0,255,91,0.10));
    border-color: var(--ql-accent, #00ff5b);
    color: var(--ql-accent, #00ff5b);
}
.mv2-hero__tournament--solo { cursor: default; }
.mv2-hero__tournament--solo:hover { background: var(--ql-bg-3); border-color: var(--ql-border); color: var(--ql-fg); }
.mv2-hero__stage {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: var(--ql-fg-muted);
}
.mv2-hero__bo {
    font-family: var(--ql-font-mono, monospace);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1.5px;
    padding: 4px 10px;
    border-radius: 6px;
    background: var(--ql-accent-soft, rgba(0,255,91,0.10));
    color: var(--ql-accent, #00ff5b);
    border: 1px solid rgba(0,255,91,0.25);
}

.mv2-hero__status {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 14px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    background: var(--ql-bg-3);
    color: var(--ql-fg-muted);
    border: 1px solid var(--ql-border);
}
.mv2-hero__status--live {
    background: rgba(239,68,68,0.12);
    color: var(--ql-danger, #ef4444);
    border-color: rgba(239,68,68,0.35);
}
.mv2-hero__status--finished {
    background: rgba(102,192,244,0.10);
    color: var(--ql-steam, #66c0f4);
    border-color: rgba(102,192,244,0.25);
}
.mv2-hero__dot {
    width: 8px; height: 8px; border-radius: 50%;
    background: var(--ql-danger, #ef4444);
    box-shadow: 0 0 8px var(--ql-danger, #ef4444);
    animation: mv2-pulse 1.4s ease-in-out infinite;
}
@keyframes mv2-pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.4; } }

.mv2-hero__main {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: var(--ql-sp-5);
}
.mv2-hero__team {
    display: flex;
    align-items: center;
    gap: var(--ql-sp-4);
    min-width: 0;
    padding: var(--ql-sp-3);
    border-radius: 12px;
    transition: background .2s ease;
}
.mv2-hero__team--a { justify-content: flex-end; text-align: right; flex-direction: row-reverse; }
.mv2-hero__team--b { justify-content: flex-start; text-align: left; }
.mv2-hero__team.is-mine {
    background: var(--ql-accent-soft, rgba(0,255,91,0.06));
    box-shadow: inset 0 0 0 1px rgba(0,255,91,0.25);
}
.mv2-hero__team.is-win .mv2-hero__name { color: var(--ql-accent, #00ff5b); }
.mv2-hero__logo {
    width: 96px; height: 96px;
    border-radius: 50%;
    background: var(--ql-bg-3);
    overflow: hidden;
    border: 2px solid var(--ql-border);
    flex-shrink: 0;
    display: flex; align-items: center; justify-content: center;
}
.mv2-hero__team.is-win .mv2-hero__logo {
    border-color: var(--ql-accent, #00ff5b);
    box-shadow: 0 0 20px rgba(0,255,91,0.20);
}
.mv2-hero__logo img { width: 100%; height: 100%; object-fit: cover; }
.mv2-hero__teamtext { min-width: 0; }
.mv2-hero__name {
    color: var(--ql-fg);
    text-decoration: none;
    font-weight: 800;
    font-size: 22px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    display: block;
    line-height: 1.2;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.mv2-hero__name:hover { color: var(--ql-accent, #00ff5b); }
.mv2-hero__meta {
    display: flex; align-items: center; gap: 6px;
    margin-top: 4px;
    font-size: 12px;
    color: var(--ql-fg-muted);
    justify-content: inherit;
}
.mv2-hero__team--a .mv2-hero__meta { justify-content: flex-end; }
.mv2-hero__flag { font-size: 14px; line-height: 1; }
.mv2-hero__tag { font-weight: 700; color: var(--ql-accent, #00ff5b); }

.mv2-hero__center { text-align: center; min-width: 200px; }
.mv2-hero__score {
    font-family: var(--ql-font-mono, monospace);
    font-size: 64px;
    font-weight: 800;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
}
.mv2-hero__score .is-win { color: var(--ql-accent, #00ff5b); text-shadow: 0 0 20px rgba(0,255,91,0.30); }
.mv2-hero__score .is-loss { color: var(--ql-fg-muted); }
.mv2-hero__score-sep { color: var(--ql-fg-muted); font-size: 40px; }
.mv2-hero__vs {
    font-size: 28px;
    letter-spacing: 8px;
    color: var(--ql-fg-muted);
    font-weight: 700;
}
.mv2-hero__map {
    margin-top: var(--ql-sp-3);
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 12px;
    border-radius: 6px;
    background: var(--ql-bg-3);
    border: 1px solid var(--ql-border);
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 700;
    color: var(--ql-fg);
}
.mv2-hero__map--thumb {
    background-size: cover;
    background-position: center;
    padding: 6px 14px 6px 36px;
    position: relative;
    overflow: hidden;
    text-shadow: 0 1px 2px rgba(0,0,0,0.8);
    border-color: rgba(255,255,255,0.20);
}
.mv2-hero__map--thumb::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(0,0,0,0.55), rgba(0,0,0,0.25));
}
.mv2-hero__map-icon {
    position: absolute;
    left: 12px;
    color: rgba(255,255,255,0.85);
    font-size: 14px;
    z-index: 1;
}
.mv2-hero__map-name {
    position: relative;
    z-index: 1;
    color: #fff;
}
.mv2-hero__date {
    margin-top: 6px;
    font-size: 12px;
    color: var(--ql-fg-muted);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
}

.mv2-hero__actions {
    margin-top: var(--ql-sp-4);
    padding-top: var(--ql-sp-4);
    border-top: 1px solid var(--ql-border);
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--ql-sp-2);
}
.mv2-hero__role {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 1.2px;
    color: var(--ql-fg-muted);
    font-weight: 700;
    margin-right: auto;
}
.mv2-hero__mvp {
    margin-top: var(--ql-sp-3);
    padding: var(--ql-sp-3) var(--ql-sp-4);
    border-radius: 10px;
    background: var(--ql-bg-3);
    border: 1px solid var(--ql-gold, #f59e0b);
    display: flex;
    align-items: center;
    gap: 12px;
    color: var(--ql-gold, #f59e0b);
}
.mv2-hero__mvp-name { color: var(--ql-fg); text-decoration: none; font-weight: 700; }
.mv2-hero__mvp-name:hover { color: var(--ql-accent); }
.mv2-hero__mvp-rating { margin-left: auto; font-family: var(--ql-font-mono); color: var(--ql-fg-muted); }

/* ════════════════════════════════════════════════════════════
   BUTTONS (локальные для match-v2)
   ════════════════════════════════════════════════════════════ */
.mv2-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
    border: 1px solid var(--ql-border);
    background: var(--ql-bg-3);
    color: var(--ql-fg);
    transition: background .15s ease, border-color .15s ease, transform .1s ease;
}
.mv2-btn:hover { background: var(--ql-bg-4, rgba(255,255,255,0.06)); }
.mv2-btn:active { transform: translateY(1px); }
.mv2-btn--primary {
    background: var(--ql-accent, #00ff5b);
    color: var(--ql-bg-0, #0b0f14);
    border-color: var(--ql-accent, #00ff5b);
    font-weight: 700;
}
.mv2-btn--primary:hover { background: var(--ql-accent-strong, #00cc4a); }
.mv2-btn--ghost { background: transparent; }
.mv2-btn--danger-ghost { color: var(--ql-danger, #ef4444); border-color: rgba(239,68,68,0.30); }
.mv2-btn--danger-ghost:hover { background: rgba(239,68,68,0.10); }
.mv2-btn--sm { padding: 6px 10px; font-size: 12px; }

/* ════════════════════════════════════════════════════════════
   LAYOUT (main + sidebar)
   ════════════════════════════════════════════════════════════ */
.mv2-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: var(--ql-sp-5);
    align-items: start;
}
.mv2-layout--single { grid-template-columns: 1fr; }
.mv2-layout__main { display: flex; flex-direction: column; gap: var(--ql-sp-5); min-width: 0; }
.mv2-layout__side { display: flex; flex-direction: column; gap: var(--ql-sp-5); position: sticky; top: var(--ql-sp-4); }

/* ════════════════════════════════════════════════════════════
   SECTION (general card)
   ════════════════════════════════════════════════════════════ */
.mv2-section {
    background: var(--ql-bg-2);
    border: 1px solid var(--ql-border);
    border-radius: 12px;
    padding: var(--ql-sp-4);
}
.mv2-section--locked {
    border-color: rgba(0,255,91,0.20);
    background:
        linear-gradient(180deg, rgba(0,255,91,0.04) 0%, transparent 30%),
        var(--ql-bg-2);
}
.mv2-section--chat { padding: 0; overflow: hidden; }
.mv2-section__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--ql-sp-3);
    margin-bottom: var(--ql-sp-3);
    padding: 0;
}
.mv2-section--chat .mv2-section__head { padding: var(--ql-sp-3) var(--ql-sp-4); border-bottom: 1px solid var(--ql-border); margin-bottom: 0; }
.mv2-section__title {
    margin: 0;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: var(--ql-fg);
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: 8px;
}
.mv2-section__title i { color: var(--ql-accent, #00ff5b); }
.mv2-section__more { font-size: 12px; text-decoration: none; }
.mv2-section__more:hover { color: var(--ql-accent); }
.mv2-text-dim { color: var(--ql-fg-muted); font-size: 12px; }

.mv2-empty {
    padding: var(--ql-sp-5) var(--ql-sp-3);
    text-align: center;
    color: var(--ql-fg-muted);
}
.mv2-empty i { font-size: 32px; opacity: 0.3; display: block; margin-bottom: var(--ql-sp-2); }
.mv2-empty--compact { padding: var(--ql-sp-3); font-size: 12px; }
.mv2-empty--compact i { font-size: 24px; }
.mv2-empty--compact p { margin: 4px 0 0; font-size: 12px; }

/* Sub-section внутри одной секции (CSTV + Demo) */
.mv2-section__sep {
    height: 1px;
    background: var(--ql-border);
    margin: var(--ql-sp-3) calc(var(--ql-sp-4) * -1);
}
.mv2-section__sub {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: var(--ql-sp-2);
}
.mv2-section__subtitle {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 1.2px;
    color: var(--ql-fg);
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: 6px;
}
.mv2-section__subtitle i { color: var(--ql-gold, #f59e0b); }

/* ════════════════════════════════════════════════════════════
   SERVER / CSTV
   ════════════════════════════════════════════════════════════ */
.mv2-server { display: flex; flex-direction: column; gap: var(--ql-sp-3); }
.mv2-server__row {
    display: flex;
    align-items: center;
    gap: var(--ql-sp-2);
    padding: 8px 12px;
    background: var(--ql-bg-3);
    border-radius: 8px;
    border: 1px solid var(--ql-border);
}
.mv2-server__label {
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 1.2px;
    color: var(--ql-fg-muted);
    font-weight: 700;
    flex-shrink: 0;
    width: 90px;
}
.mv2-server__value {
    font-family: var(--ql-font-mono, monospace);
    color: var(--ql-fg);
    font-size: 13px;
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.mv2-server__copy {
    background: transparent;
    border: 1px solid var(--ql-border);
    border-radius: 6px;
    padding: 4px 8px;
    color: var(--ql-fg-muted);
    cursor: pointer;
    transition: all .15s ease;
}
.mv2-server__copy:hover { color: var(--ql-accent); border-color: var(--ql-accent); }
.mv2-server__copy.is-copied { color: var(--ql-accent); border-color: var(--ql-accent); }
.mv2-server__status {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 999px;
}
.mv2-server__status--live { background: rgba(239,68,68,0.12); color: var(--ql-danger); border: 1px solid rgba(239,68,68,0.30); }
.mv2-server__status--available,
.mv2-server__status--ready { background: rgba(0,255,91,0.12); color: var(--ql-accent); border: 1px solid rgba(0,255,91,0.30); }
.mv2-server__status--connecting { background: rgba(245,158,11,0.12); color: var(--ql-gold, #f59e0b); border: 1px solid rgba(245,158,11,0.30); }
.mv2-server__status--creating,
.mv2-server__status--pending { background: var(--ql-bg-3); color: var(--ql-fg-muted); border: 1px solid var(--ql-border); }
.mv2-server__status--finished,
.mv2-server__status--unavailable { background: var(--ql-bg-3); color: var(--ql-fg-muted); border: 1px solid var(--ql-border); }

.mv2-server__players {
    display: grid;
    grid-template-columns: 90px 1fr;
    align-items: center;
    gap: var(--ql-sp-2);
    padding: 8px 12px;
    background: var(--ql-bg-3);
    border-radius: 8px;
    border: 1px solid var(--ql-border);
}
.mv2-server__players .mv2-server__value { font-weight: 700; }
.mv2-server__progress {
    grid-column: 1 / -1;
    height: 4px;
    background: var(--ql-bg-2);
    border-radius: 2px;
    overflow: hidden;
}
.mv2-server__progress-fill { height: 100%; background: var(--ql-accent); transition: width .3s ease; }

.mv2-server__note {
    margin-top: var(--ql-sp-2);
    padding: 8px 12px;
    border-radius: 8px;
    background: var(--ql-accent-soft, rgba(0,255,91,0.06));
    border: 1px dashed rgba(0,255,91,0.30);
    font-size: 11px;
    color: var(--ql-fg-muted);
    display: flex;
    align-items: flex-start;
    gap: 8px;
    line-height: 1.5;
}
.mv2-server__note i { color: var(--ql-accent); margin-top: 2px; }

/* ════════════════════════════════════════════════════════════
   VETO
   ════════════════════════════════════════════════════════════ */
.mv2-section--veto-in_progress {
    border-color: rgba(245,158,11,0.30);
    box-shadow: 0 0 0 1px rgba(245,158,11,0.10);
}
.mv2-section--veto-pending {
    border-style: dashed;
}
.mv2-veto { display: flex; flex-direction: column; gap: var(--ql-sp-3); }
.mv2-veto__status {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--ql-fg-muted);
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 10px;
    border-radius: 999px;
    background: var(--ql-bg-3);
}
.mv2-veto__status--in_progress {
    color: var(--ql-gold, #f59e0b);
    background: rgba(245,158,11,0.10);
    border: 1px solid rgba(245,158,11,0.30);
}
.mv2-veto__status--pending {
    color: var(--ql-fg-muted);
    border: 1px dashed var(--ql-border);
}
.mv2-veto__status--finished {
    color: var(--ql-accent, #00ff5b);
    background: rgba(0,255,91,0.10);
}
.mv2-veto__pulse {
    width: 7px; height: 7px;
    border-radius: 50%;
    background: var(--ql-gold, #f59e0b);
    box-shadow: 0 0 8px var(--ql-gold, #f59e0b);
    animation: mv2-pulse 1.4s ease-in-out infinite;
}

/* Active turn */
.mv2-veto__turn {
    padding: var(--ql-sp-3) var(--ql-sp-4);
    border-radius: 10px;
    background:
        linear-gradient(90deg, rgba(245,158,11,0.08) 0%, transparent 100%),
        var(--ql-bg-3);
    border: 1px solid rgba(245,158,11,0.25);
}
.mv2-veto__turn--team2 {
    background:
        linear-gradient(270deg, rgba(102,192,244,0.08) 0%, transparent 100%),
        var(--ql-bg-3);
    border-color: rgba(102,192,244,0.25);
}
.mv2-veto__turn-text { font-size: 14px; }
.mv2-veto__turn-label {
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 1.2px;
    color: var(--ql-fg-muted);
    font-weight: 700;
    margin-right: 4px;
}
.mv2-veto__turn-text strong { color: var(--ql-fg); }
.mv2-veto__turn-action {
    font-weight: 700;
    padding: 2px 6px;
    border-radius: 4px;
    font-size: 12px;
}
.mv2-veto__turn-action--ban { color: var(--ql-danger); background: rgba(239,68,68,0.10); }
.mv2-veto__turn-action--pick { color: var(--ql-accent); background: rgba(0,255,91,0.10); }
.mv2-veto__turn-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: var(--ql-sp-3);
}
.mv2-veto__map-btn {
    padding: 6px 12px;
    border-radius: 6px;
    background: var(--ql-bg-2);
    border: 1px solid var(--ql-border);
    color: var(--ql-fg);
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: all .15s ease;
}
.mv2-veto__map-btn--ban:hover { border-color: var(--ql-danger); color: var(--ql-danger); }
.mv2-veto__map-btn--pick:hover { border-color: var(--ql-accent); color: var(--ql-accent); }

/* Map pool */
.mv2-veto__pool {
    padding: var(--ql-sp-3);
    border-radius: 8px;
    background: var(--ql-bg-3);
    border: 1px solid var(--ql-border);
}
.mv2-veto__pool-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 6px;
}
.mv2-veto__pool-chip {
    padding: 4px 10px;
    border-radius: 6px;
    background: var(--ql-bg-2);
    border: 1px solid var(--ql-border);
    font-size: 12px;
    font-weight: 600;
    color: var(--ql-fg);
}
.mv2-veto__pool-chip.is-decider {
    background: rgba(245,158,11,0.10);
    border-color: rgba(245,158,11,0.30);
    color: var(--ql-gold);
}
.mv2-veto__feed {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.mv2-veto__action {
    display: grid;
    grid-template-columns: 32px 1fr auto auto auto;
    align-items: center;
    gap: var(--ql-sp-3);
    padding: 10px 14px;
    background: var(--ql-bg-3);
    border-radius: 8px;
    border: 1px solid var(--ql-border);
    border-left: 3px solid var(--ql-border);
}
.mv2-veto__action--ban { border-left-color: var(--ql-danger, #ef4444); }
.mv2-veto__action--pick { border-left-color: var(--ql-accent, #00ff5b); }
.mv2-veto__action--decider { border-left-color: var(--ql-gold, #f59e0b); background: rgba(245,158,11,0.06); }
.mv2-veto__step {
    width: 24px; height: 24px;
    border-radius: 50%;
    background: var(--ql-bg-2);
    color: var(--ql-fg-muted);
    font-size: 11px;
    font-weight: 700;
    display: flex; align-items: center; justify-content: center;
    font-family: var(--ql-font-mono);
}
.mv2-veto__team-label { font-weight: 700; color: var(--ql-fg); font-size: 13px; }
.mv2-veto__verb {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 1.2px;
    color: var(--ql-fg-muted);
    font-weight: 700;
}
.mv2-veto__action--ban .mv2-veto__verb { color: var(--ql-danger); }
.mv2-veto__action--pick .mv2-veto__verb { color: var(--ql-accent); }
.mv2-veto__map { font-weight: 700; color: var(--ql-fg); font-size: 14px; }
.mv2-veto__action--ban .mv2-veto__map { text-decoration: line-through; color: var(--ql-fg-muted); }
.mv2-veto__time { font-family: var(--ql-font-mono); font-size: 11px; color: var(--ql-fg-muted); }

.mv2-veto__summary {
    padding-top: var(--ql-sp-3);
    border-top: 1px solid var(--ql-border);
    display: flex;
    flex-wrap: wrap;
    gap: var(--ql-sp-4);
}
.mv2-veto__picks { display: flex; align-items: center; gap: var(--ql-sp-2); flex-wrap: wrap; }
.mv2-veto__sumlabel {
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 1.2px;
    color: var(--ql-fg-muted);
    font-weight: 700;
}
.mv2-veto__pick-chip {
    padding: 4px 10px;
    border-radius: 6px;
    background: var(--ql-accent-soft, rgba(0,255,91,0.10));
    color: var(--ql-accent);
    border: 1px solid rgba(0,255,91,0.30);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.mv2-veto__pick-chip--decider {
    background: rgba(245,158,11,0.12);
    color: var(--ql-gold);
    border-color: rgba(245,158,11,0.30);
}
.mv2-veto__hint {
    padding: 8px 12px;
    border-radius: 8px;
    background: var(--ql-bg-3);
    border: 1px dashed var(--ql-border);
    font-size: 11px;
    color: var(--ql-fg-muted);
    display: flex;
    align-items: center;
    gap: 8px;
}

/* ── Compact veto strip (главный визуал для finished/in_progress) ──── */
.mv2-veto__strip {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 6px;
    margin-top: 4px;
}
@media (max-width: 980px) {
    .mv2-veto__strip { grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 560px) {
    .mv2-veto__strip { grid-template-columns: repeat(2, 1fr); }
}

.mv2-veto__chip {
    position: relative;
    display: grid;
    grid-template-columns: auto 32px 1fr;
    align-items: center;
    gap: 6px;
    padding: 6px 8px 6px 6px;
    background: var(--ql-bg-3);
    border: 1px solid var(--ql-border);
    border-radius: 6px;
    border-left: 3px solid var(--ql-fg-muted);
    overflow: hidden;
    min-width: 0;
}
.mv2-veto__chip--ban     { border-left-color: var(--ql-danger, #ef4444); }
.mv2-veto__chip--pick    { border-left-color: var(--ql-accent, #00ff5b); }
.mv2-veto__chip--decider { border-left-color: var(--ql-gold, #f59e0b); background: rgba(245,158,11,0.06); }

.mv2-veto__chip-step {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: var(--ql-bg-2);
    color: var(--ql-fg-muted);
    font-size: 9px;
    font-weight: 800;
    font-family: var(--ql-font-mono);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.mv2-veto__chip--decider .mv2-veto__chip-step { color: var(--ql-gold); }
.mv2-veto__chip-step i { font-size: 9px; }

.mv2-veto__chip-thumb {
    width: 32px;
    height: 22px;
    border-radius: 3px;
    background-size: cover;
    background-position: center;
    flex-shrink: 0;
    position: relative;
}
.mv2-veto__chip-thumb::after {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.30);
    border-radius: 3px;
}
.mv2-veto__chip--ban .mv2-veto__chip-thumb { filter: grayscale(0.8) brightness(0.5); }

.mv2-veto__chip-body {
    display: flex;
    flex-direction: column;
    gap: 0;
    min-width: 0;
    line-height: 1.15;
}
.mv2-veto__chip-action {
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1px;
    color: var(--ql-fg-muted);
    text-transform: uppercase;
}
.mv2-veto__chip--ban  .mv2-veto__chip-action { color: var(--ql-danger); }
.mv2-veto__chip--pick .mv2-veto__chip-action { color: var(--ql-accent); }
.mv2-veto__chip--decider .mv2-veto__chip-action { color: var(--ql-gold); }

.mv2-veto__chip-map {
    font-size: 12px;
    font-weight: 700;
    color: var(--ql-fg);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.mv2-veto__chip--ban .mv2-veto__chip-map {
    text-decoration: line-through;
    color: var(--ql-fg-muted);
}
.mv2-veto__chip-team {
    font-size: 10px;
    color: var(--ql-fg-muted);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* ── Collapsed история ──────────────────────────────────────────────── */
.mv2-veto__history {
    margin-top: 8px;
    border-top: 1px solid var(--ql-border);
    padding-top: 6px;
}
.mv2-veto__history summary {
    cursor: pointer;
    font-size: 11px;
    font-weight: 700;
    color: var(--ql-fg-muted);
    text-transform: uppercase;
    letter-spacing: 1px;
    padding: 4px 0;
    list-style: none;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    user-select: none;
}
.mv2-veto__history summary::-webkit-details-marker { display: none; }
.mv2-veto__history summary:hover { color: var(--ql-fg); }
.mv2-veto__history summary i { font-size: 10px; }
.mv2-veto__history summary::after {
    content: '▼';
    font-size: 8px;
    margin-left: 4px;
    transition: transform .15s ease;
}
.mv2-veto__history[open] summary::after { transform: rotate(180deg); }
.mv2-veto__history .mv2-veto__feed {
    margin-top: 8px;
}

/* ── Pending: pool как chip-row (без больших превью) ────────────────── */
.mv2-veto__pool-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    margin-top: 6px;
}
.mv2-veto__pool-row .mv2-veto__sumlabel { margin-right: 4px; }
.mv2-veto__pool-row .mv2-veto__pool-chip {
    padding: 4px 10px;
    border-radius: var(--ql-r-pill);
    background: var(--ql-bg-3);
    border: 1px solid var(--ql-border);
    font-size: 12px;
    font-weight: 600;
    color: var(--ql-fg);
}

/* ════════════════════════════════════════════════════════════
   ROUND HISTORY
   ════════════════════════════════════════════════════════════ */
.mv2-rounds { display: flex; flex-direction: column; gap: var(--ql-sp-3); }
.mv2-rounds__row {
    display: flex;
    align-items: center;
    gap: var(--ql-sp-3);
}
.mv2-rounds__team {
    flex-shrink: 0;
    width: 140px;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 700;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.mv2-rounds__row--a .mv2-rounds__team { color: var(--ql-accent, #00ff5b); }
.mv2-rounds__row--b .mv2-rounds__team { color: var(--ql-steam, #66c0f4); }
.mv2-rounds__grid {
    display: flex;
    gap: 3px;
    flex-wrap: wrap;
    flex: 1;
    min-width: 0;
}
.mv2-round {
    width: 22px; height: 22px;
    border-radius: 3px;
    font-size: 9px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--ql-font-mono);
    transition: transform .1s ease;
}
.mv2-round:hover { transform: scale(1.1); }
.mv2-round--win-a { background: var(--ql-accent, #00ff5b); color: var(--ql-bg-0, #0b0f14); }
.mv2-round--win-b { background: var(--ql-steam, #66c0f4); color: var(--ql-bg-0); }
.mv2-round--loss { background: var(--ql-bg-3); color: var(--ql-fg-muted); }
.mv2-round--empty { background: var(--ql-bg-3); color: var(--ql-fg-muted); opacity: 0.4; }

.mv2-rounds__details {
    margin-top: var(--ql-sp-3);
    padding-top: var(--ql-sp-3);
    border-top: 1px solid var(--ql-border);
}
.mv2-rounds__details summary {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--ql-fg-muted);
    font-weight: 700;
    cursor: pointer;
    padding: 6px 0;
}
.mv2-rounds__details summary:hover { color: var(--ql-accent); }
.mv2-rounds__table {
    width: 100%;
    border-collapse: collapse;
    margin-top: var(--ql-sp-2);
    font-size: 13px;
}
.mv2-rounds__table th,
.mv2-rounds__table td {
    text-align: left;
    padding: 8px 12px;
    border-bottom: 1px solid var(--ql-border);
}
.mv2-rounds__table th {
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--ql-fg-muted);
    font-weight: 700;
}
.mv2-rounds__table .num { text-align: right; font-family: var(--ql-font-mono); }
.mv2-rounds__winner--1 { color: var(--ql-accent, #00ff5b); font-weight: 700; }
.mv2-rounds__winner--2 { color: var(--ql-steam, #66c0f4); font-weight: 700; }
.mv2-rounds__table--full { display: table; }

/* ════════════════════════════════════════════════════════════
   SCOREBOARD
   ════════════════════════════════════════════════════════════ */
.mv2-scoreboard__teamhead {
    padding: 10px 14px;
    margin: var(--ql-sp-4) 0 var(--ql-sp-2);
    border-radius: 8px;
    background: var(--ql-bg-3);
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    display: flex;
    align-items: center;
    gap: var(--ql-sp-2);
}
.mv2-scoreboard__teamhead--1 { color: var(--ql-accent, #00ff5b); border-left: 3px solid var(--ql-accent); }
.mv2-scoreboard__teamhead--2 { color: var(--ql-steam, #66c0f4); border-left: 3px solid var(--ql-steam); }
.mv2-scoreboard__teamhead:first-child { margin-top: 0; }
.mv2-scoreboard__winbadge {
    font-size: 10px;
    padding: 2px 8px;
    border-radius: 4px;
    background: var(--ql-accent);
    color: var(--ql-bg-0);
    font-weight: 800;
    letter-spacing: 1px;
}
.mv2-scoreboard__wrap { overflow-x: auto; }
.mv2-scoreboard {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}
.mv2-scoreboard th,
.mv2-scoreboard td {
    padding: 10px 8px;
    border-bottom: 1px solid var(--ql-border);
}
.mv2-scoreboard th {
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 1.2px;
    color: var(--ql-fg-muted);
    font-weight: 700;
    text-align: right;
    background: var(--ql-bg-2);
    position: sticky;
    top: 0;
}
.mv2-scoreboard th.left { text-align: left; padding-left: 14px; }
.mv2-scoreboard td.num { text-align: right; font-family: var(--ql-font-mono); font-weight: 600; }
.mv2-scoreboard tbody tr:hover { background: var(--ql-bg-3); }
.mv2-scoreboard__player {
    display: flex;
    align-items: center;
    gap: 10px;
    padding-left: 14px;
}
.mv2-scoreboard__player img {
    width: 32px; height: 32px;
    border-radius: 50%;
    object-fit: cover;
    background: var(--ql-bg-3);
}
.mv2-scoreboard__name { color: var(--ql-fg); text-decoration: none; font-weight: 700; font-size: 13px; }
.mv2-scoreboard__name:hover { color: var(--ql-accent); }
.mv2-scoreboard__country { font-size: 10px; text-transform: uppercase; letter-spacing: 1px; }
.mv2-scoreboard__diff.is-pos { color: var(--ql-accent); }
.mv2-scoreboard__diff.is-neg { color: var(--ql-danger); }
.mv2-scoreboard__rating.is-hot { color: var(--ql-accent); font-weight: 700; }
.mv2-scoreboard__rating.is-cold { color: var(--ql-danger); }
.mv2-scoreboard__mvp { color: var(--ql-gold, #f59e0b); }
.mv2-scoreboard--sortable th[data-sort] { cursor: pointer; user-select: none; }
.mv2-scoreboard--sortable th[data-sort]:hover { color: var(--ql-accent); }
.mv2-scoreboard--sortable th[data-sort].is-sorted-asc::after { content: ' ▲'; font-size: 9px; }
.mv2-scoreboard--sortable th[data-sort].is-sorted-desc::after { content: ' ▼'; font-size: 9px; }

/* ════════════════════════════════════════════════════════════
   EVENTS TIMELINE
   ════════════════════════════════════════════════════════════ */
.mv2-events {
    list-style: none;
    padding: 0;
    margin: 0;
    position: relative;
}
.mv2-events::before {
    content: '';
    position: absolute;
    left: 13px;
    top: 12px;
    bottom: 12px;
    width: 2px;
    background: var(--ql-border);
}
.mv2-events__item {
    display: grid;
    grid-template-columns: 28px 1fr;
    gap: var(--ql-sp-3);
    padding: 8px 0;
    position: relative;
}
.mv2-events__dot {
    width: 28px; height: 28px;
    border-radius: 50%;
    background: var(--ql-bg-3);
    border: 2px solid var(--ql-border);
    color: var(--ql-fg-muted);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    position: relative;
    z-index: 1;
}
.mv2-events__item--live_start .mv2-events__dot,
.mv2-events__item--finished .mv2-events__dot {
    border-color: var(--ql-accent);
    color: var(--ql-accent);
}
.mv2-events__body {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 6px;
}
.mv2-events__label { font-size: 13px; font-weight: 600; color: var(--ql-fg); }
.mv2-events__time { font-size: 11px; color: var(--ql-fg-muted); font-family: var(--ql-font-mono); }

/* Compact events — для правого сайдбара */
.mv2-events--compact { font-size: 12px; }
.mv2-events--compact .mv2-events__item { padding: 5px 0; grid-template-columns: 22px 1fr; gap: 8px; }
.mv2-events--compact::before { left: 10px; top: 8px; bottom: 8px; }
.mv2-events--compact .mv2-events__dot { width: 22px; height: 22px; font-size: 9px; }
.mv2-events--compact .mv2-events__body { padding-top: 2px; flex-direction: column; align-items: flex-start; gap: 0; }
.mv2-events--compact .mv2-events__label { font-size: 12px; font-weight: 500; }
.mv2-events--compact .mv2-events__time { font-size: 10px; }

/* ════════════════════════════════════════════════════════════
   CHAT
   ════════════════════════════════════════════════════════════ */
.mv2-chat { display: flex; flex-direction: column; }
.mv2-chat__list {
    max-height: 360px;
    overflow-y: auto;
    padding: var(--ql-sp-3) var(--ql-sp-4);
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.mv2-chat__msg {
    display: flex;
    align-items: baseline;
    gap: 8px;
    font-size: 13px;
    line-height: 1.4;
}
.mv2-chat__time {
    font-family: var(--ql-font-mono);
    color: var(--ql-fg-muted);
    font-size: 10px;
    flex-shrink: 0;
    width: 36px;
}
.mv2-chat__role {
    font-size: 9px;
    font-weight: 800;
    padding: 2px 6px;
    border-radius: 4px;
    letter-spacing: 1px;
    flex-shrink: 0;
}
.mv2-chat__role--captain { background: rgba(0,255,91,0.12); color: var(--ql-accent); border: 1px solid rgba(0,255,91,0.30); }
.mv2-chat__role--judge { background: rgba(245,158,11,0.12); color: var(--ql-gold); border: 1px solid rgba(245,158,11,0.30); }
.mv2-chat__role--admin { background: rgba(239,68,68,0.12); color: var(--ql-danger); border: 1px solid rgba(239,68,68,0.30); }
.mv2-chat__role--player { background: var(--ql-bg-3); color: var(--ql-fg-muted); border: 1px solid var(--ql-border); }
.mv2-chat__author { color: var(--ql-fg); font-weight: 600; font-size: 12px; flex-shrink: 0; }
.mv2-chat__text { color: var(--ql-fg); word-break: break-word; }
.mv2-chat__system {
    color: var(--ql-fg-muted);
    font-style: italic;
    font-size: 12px;
}
.mv2-chat__system i { margin-right: 6px; color: var(--ql-accent); font-size: 10px; }

.mv2-chat__form {
    display: flex;
    gap: 6px;
    padding: var(--ql-sp-3);
    border-top: 1px solid var(--ql-border);
    background: var(--ql-bg-3);
}
.mv2-chat__input {
    flex: 1;
    padding: 8px 12px;
    background: var(--ql-bg-2);
    border: 1px solid var(--ql-border);
    border-radius: 8px;
    color: var(--ql-fg);
    font-size: 13px;
    font-family: inherit;
}
.mv2-chat__input:focus {
    outline: none;
    border-color: var(--ql-accent);
}
.mv2-chat__locked {
    padding: 10px var(--ql-sp-3);
    border-top: 1px solid var(--ql-border);
    background: var(--ql-bg-3);
    font-size: 11px;
    color: var(--ql-fg-muted);
    display: flex;
    align-items: center;
    gap: 8px;
}

/* ════════════════════════════════════════════════════════════
   DEMO
   ════════════════════════════════════════════════════════════ */
.mv2-demo {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: var(--ql-sp-4);
    align-items: center;
}
.mv2-demo__info { display: flex; flex-direction: column; gap: 6px; }
.mv2-demo__row { display: flex; align-items: center; gap: var(--ql-sp-2); }
.mv2-demo__label {
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 1.2px;
    color: var(--ql-fg-muted);
    font-weight: 700;
    width: 90px;
    flex-shrink: 0;
}
.mv2-demo__value { font-size: 13px; color: var(--ql-fg); font-weight: 600; }
.mv2-demo__actions { display: flex; flex-direction: column; gap: 6px; }
.mv2-demo--compact { grid-template-columns: 1fr; gap: var(--ql-sp-2); }
.mv2-demo--compact .mv2-demo__label { width: 70px; font-size: 9px; }
.mv2-demo--compact .mv2-demo__value { font-size: 12px; }
.mv2-demo--compact .mv2-demo__actions { flex-direction: row; }

/* ════════════════════════════════════════════════════════════
   STREAM
   ════════════════════════════════════════════════════════════ */
.mv2-stream {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    background: #000;
    border-radius: 8px;
    overflow: hidden;
}
.mv2-stream iframe {
    position: absolute;
    inset: 0;
    width: 100%; height: 100%;
    border: 0;
}

/* ════════════════════════════════════════════════════════════
   STATS-page totals table
   ════════════════════════════════════════════════════════════ */
.mv2-totals { width: 100%; border-collapse: collapse; }
.mv2-totals th, .mv2-totals td { padding: 10px; border-bottom: 1px solid var(--ql-border); }
.mv2-totals th { font-size: 10px; text-transform: uppercase; letter-spacing: 1.2px; color: var(--ql-fg-muted); font-weight: 700; }
.mv2-totals th.num { text-align: right; }
.mv2-totals .num { text-align: right; font-family: var(--ql-font-mono); font-weight: 700; font-size: 18px; }
.mv2-totals__label { text-align: center; font-size: 11px; text-transform: uppercase; letter-spacing: 1.2px; color: var(--ql-fg-muted); font-weight: 700; }
.mv2-totals__val.is-leader { color: var(--ql-accent); }

/* ════════════════════════════════════════════════════════════
   MAP CARDS — единообразные плитки в FACEIT-style.
   Сетка строится снаружи (.mv2-veto__turn-actions / .mv2-mapcards).
   Сама карточка имеет ровные пропорции через aspect-ratio.
   ════════════════════════════════════════════════════════════ */
.mv2-mapcards {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
    gap: var(--ql-sp-2);
    margin-top: 8px;
}
.mv2-mapcards--sm {
    grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
    gap: 6px;
}

.mv2-mapcard {
    position: relative;
    aspect-ratio: 16 / 9;
    border-radius: 8px;
    background-color: var(--ql-bg-3);
    background-size: cover;
    background-position: center;
    border: 1px solid var(--ql-border);
    overflow: hidden;
    display: flex;
    align-items: flex-end;
    padding: 8px 10px;
    cursor: default;
    transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease;
    color: #fff;
}
.mv2-mapcard::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,0.05) 0%, rgba(0,0,0,0.70) 100%);
}
.mv2-mapcard__icon {
    position: absolute;
    top: 8px; right: 10px;
    color: rgba(255,255,255,0.55);
    font-size: 14px;
    z-index: 1;
    opacity: 0.7;
}
.mv2-mapcard__name {
    position: relative;
    z-index: 1;
    font-weight: 700;
    font-size: 13px;
    color: #fff;
    text-shadow: 0 1px 3px rgba(0,0,0,0.85);
}
.mv2-mapcard__action {
    position: absolute;
    top: 8px; left: 10px;
    z-index: 1;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1.5px;
    padding: 3px 8px;
    border-radius: 4px;
    background: rgba(0,0,0,0.65);
    color: #fff;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}
.mv2-mapcard__action i { font-size: 10px; }

.mv2-mapcard--sm {
    aspect-ratio: 16 / 9;
    padding: 6px 8px;
}
.mv2-mapcard--sm .mv2-mapcard__name { font-size: 11px; }

/* Button-варианты */
.mv2-mapcard--btn {
    cursor: pointer;
    border: 1px solid var(--ql-border);
}
.mv2-mapcard--btn:not(:disabled):hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 14px rgba(0,0,0,0.40);
}
.mv2-mapcard--ban:not(:disabled):hover {
    border-color: var(--ql-danger);
    box-shadow: 0 6px 14px rgba(239,68,68,0.30);
}
.mv2-mapcard--pick:not(:disabled):hover {
    border-color: var(--ql-accent);
    box-shadow: 0 6px 14px rgba(0,255,91,0.30);
}
.mv2-mapcard--btn:disabled { opacity: 0.65; cursor: not-allowed; }

.mv2-mapcard--decider {
    border-color: var(--ql-gold, #f59e0b);
    box-shadow: 0 0 0 1px rgba(245,158,11,0.20), 0 4px 14px rgba(245,158,11,0.15);
}
.mv2-mapcard--decider .mv2-mapcard__action--decider {
    background: var(--ql-gold, #f59e0b);
    color: #000;
}
.mv2-mapcard--picked {
    border-color: rgba(0,255,91,0.40);
}

/* Сетка кнопок активного хода: 3 в ряд (как у FastCup/FACEIT) */
.mv2-veto__turn-actions {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--ql-sp-2);
    margin-top: var(--ql-sp-3);
}
.mv2-veto__turn-actions .mv2-mapcard {
    margin: 0;
    width: 100%;
}
@media (max-width: 720px) {
    .mv2-veto__turn-actions { grid-template-columns: repeat(2, 1fr); }
}

/* Thumb внутри списка действий veto */
.mv2-veto__thumb {
    width: 40px; height: 28px;
    border-radius: 4px;
    background-size: cover;
    background-position: center;
    border: 1px solid rgba(255,255,255,0.10);
    display: flex; align-items: center; justify-content: center;
    color: rgba(255,255,255,0.85);
    font-size: 11px;
    position: relative;
    overflow: hidden;
    flex-shrink: 0;
}
.mv2-veto__thumb::before {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.35);
}
.mv2-veto__thumb i { position: relative; z-index: 1; }
.mv2-veto__action--ban .mv2-veto__thumb { filter: grayscale(0.7) brightness(0.5); }

/* Update grid layout veto__action — добавили thumb колонку */
.mv2-veto__action {
    grid-template-columns: 32px 40px 1fr auto auto auto;
}

/* ════════════════════════════════════════════════════════════
   LIVE PILL — индикатор активного polling
   ════════════════════════════════════════════════════════════ */
.mv2-live-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 10px;
    border-radius: 999px;
    background: rgba(239,68,68,0.10);
    border: 1px solid rgba(239,68,68,0.30);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 700;
    color: var(--ql-danger, #ef4444);
}
.mv2-live-pill__dot {
    width: 7px; height: 7px;
    border-radius: 50%;
    background: var(--ql-danger);
    animation: mv2-pulse 1.4s ease-in-out infinite;
    box-shadow: 0 0 6px var(--ql-danger);
}
.mv2-live-pill__last { color: var(--ql-fg-muted); margin-left: 2px; font-family: var(--ql-font-mono); font-weight: 500; }

/* ════════════════════════════════════════════════════════════
   SCOREBOARD: empty state + captain crown
   ════════════════════════════════════════════════════════════ */
.mv2-scoreboard__empty {
    text-align: center !important;
    padding: var(--ql-sp-4) !important;
    color: var(--ql-fg-muted);
    font-size: 12px;
}
.mv2-scoreboard__empty i { margin-right: 6px; opacity: 0.5; }
.mv2-scoreboard__captain {
    color: var(--ql-gold, #f59e0b);
    font-size: 10px;
    margin-left: 4px;
}

/* ════════════════════════════════════════════════════════════
   STATS PAGE — charts, compare bars, advanced metrics, weapons
   ════════════════════════════════════════════════════════════ */
.mv2-charts {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: var(--ql-sp-4);
}
.mv2-chart {
    background: var(--ql-bg-2);
    border: 1px solid var(--ql-border);
    border-radius: 12px;
    padding: var(--ql-sp-4);
    min-width: 0;
}
.mv2-chart__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: var(--ql-sp-3);
}
.mv2-chart__title {
    margin: 0;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: var(--ql-fg);
    font-weight: 700;
    display: flex; align-items: center; gap: 8px;
}
.mv2-chart__title i { color: var(--ql-accent); }
.mv2-chart__canvas-wrap { position: relative; height: 240px; }
.mv2-chart__canvas-wrap--sq { height: 280px; }

/* Horizontal compare bars (team vs team) */
.mv2-compare {
    display: flex;
    flex-direction: column;
    gap: var(--ql-sp-2);
}
.mv2-compare__row {
    display: grid;
    grid-template-columns: 70px 1fr 70px 120px;
    align-items: center;
    gap: var(--ql-sp-3);
}
.mv2-compare__v1, .mv2-compare__v2 {
    font-family: var(--ql-font-mono);
    font-size: 16px;
    font-weight: 700;
    color: var(--ql-fg-muted);
    text-align: right;
}
.mv2-compare__v2 { text-align: left; }
.mv2-compare__v1.is-leader { color: var(--ql-accent); }
.mv2-compare__v2.is-leader { color: var(--ql-steam); }
.mv2-compare__bars {
    display: flex;
    height: 8px;
    background: var(--ql-bg-3);
    border-radius: 999px;
    overflow: hidden;
}
.mv2-compare__bar { height: 100%; transition: width .3s ease; }
.mv2-compare__bar--a { background: var(--ql-accent); }
.mv2-compare__bar--b { background: var(--ql-steam); }
.mv2-compare__label {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 1.2px;
    color: var(--ql-fg-muted);
    font-weight: 700;
}

/* HS% ring (CSS conic-gradient) */
.mv2-hs-ring {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px; height: 36px;
    border-radius: 50%;
    background: conic-gradient(var(--ql-accent) calc(var(--p, 0deg) * 1), var(--ql-bg-3) 0deg);
    position: relative;
    font-size: 9px;
    font-weight: 800;
    color: var(--ql-fg);
}
.mv2-hs-ring::before {
    content: '';
    position: absolute;
    inset: 3px;
    border-radius: 50%;
    background: var(--ql-bg-2);
}
.mv2-hs-ring span { position: relative; z-index: 1; }

/* Weapons row под именем игрока */
.mv2-scoreboard__weapons {
    display: flex;
    gap: 6px;
    margin-top: 3px;
}
.mv2-weapon {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    padding: 1px 5px;
    border-radius: 4px;
    background: var(--ql-bg-3);
    border: 1px solid var(--ql-border);
    font-size: 10px;
    color: var(--ql-fg-muted);
    font-family: var(--ql-font-mono);
}
.mv2-weapon i { font-size: 9px; color: var(--ql-accent); }

/* Advanced stats grid */
.mv2-adv {
    margin-top: var(--ql-sp-4);
    padding-top: var(--ql-sp-4);
    border-top: 1px solid var(--ql-border);
}
.mv2-adv__head {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: var(--ql-fg-muted);
    font-weight: 700;
    margin-bottom: var(--ql-sp-3);
    display: flex; align-items: center; gap: 6px;
}
.mv2-adv__head i { color: var(--ql-accent); }
.mv2-adv__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: var(--ql-sp-3);
}
.mv2-adv__card {
    padding: var(--ql-sp-3);
    background: var(--ql-bg-3);
    border: 1px solid var(--ql-border);
    border-radius: 10px;
    transition: border-color .15s ease, transform .1s ease;
}
.mv2-adv__card:hover {
    border-color: rgba(0,255,91,0.30);
    transform: translateY(-1px);
}
.mv2-adv__name {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: var(--ql-sp-3);
    padding-bottom: var(--ql-sp-2);
    border-bottom: 1px solid var(--ql-border);
}
.mv2-adv__name img {
    width: 28px; height: 28px;
    border-radius: 50%;
    object-fit: cover;
    background: var(--ql-bg-2);
}
.mv2-adv__name a {
    color: var(--ql-fg);
    text-decoration: none;
    font-weight: 700;
    font-size: 13px;
}
.mv2-adv__name a:hover { color: var(--ql-accent); }
.mv2-adv__metrics {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--ql-sp-2);
}
.mv2-adv__metric {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    padding: 6px 4px;
    border-radius: 6px;
    background: var(--ql-bg-2);
    text-align: center;
    transition: background .15s ease;
}
.mv2-adv__metric:hover { background: rgba(0,255,91,0.06); }
.mv2-adv__metric i {
    font-size: 12px;
    color: var(--ql-accent);
    margin-bottom: 2px;
}
.mv2-adv__metric-val {
    font-family: var(--ql-font-mono);
    font-weight: 800;
    font-size: 14px;
    color: var(--ql-fg);
}
.mv2-adv__metric-lbl {
    font-size: 9px;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--ql-fg-muted);
    font-weight: 700;
}

/* Round history details improvements */
.mv2-rounds__method-icon { color: var(--ql-accent); margin-right: 4px; opacity: 0.6; }
.mv2-rounds__after {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-family: var(--ql-font-mono);
}
.mv2-rounds__sep { color: var(--ql-fg-muted); }
.mv2-rounds__winner i { opacity: 0.5; font-size: 11px; }

/* ════════════════════════════════════════════════════════════
   RESPONSIVE
   ════════════════════════════════════════════════════════════ */
@media (max-width: 1100px) {
    .mv2-layout { grid-template-columns: 1fr; }
    .mv2-layout__side { position: static; }
    .mv2-charts { grid-template-columns: 1fr; }
    .mv2-compare__row { grid-template-columns: 50px 1fr 50px 100px; }
}
@media (max-width: 720px) {
    .mv2-hero {
        position: sticky;
        top: 0;
        z-index: 10;
        border-radius: 0;
        padding: var(--ql-sp-3);
        margin: calc(var(--ql-sp-5) * -1) calc(var(--ql-sp-3) * -1) 0;
    }
    .mv2-hero__main {
        grid-template-columns: 1fr;
        gap: var(--ql-sp-3);
    }
    .mv2-hero__team {
        flex-direction: row !important;
        text-align: left !important;
        justify-content: flex-start !important;
    }
    .mv2-hero__logo { width: 56px; height: 56px; }
    .mv2-hero__name { font-size: 16px; }
    .mv2-hero__score { font-size: 44px; }
    .mv2-hero__actions { gap: 6px; }
    .mv2-hero__role { width: 100%; margin-right: 0; margin-bottom: 4px; }
    .mv2-veto__action {
        grid-template-columns: 28px 1fr;
        gap: 8px;
    }
    .mv2-veto__time { display: none; }
    .mv2-demo { grid-template-columns: 1fr; }
    .mv2-rounds__row { flex-direction: column; align-items: flex-start; }
    .mv2-rounds__team { width: auto; }
}

/* ════════════════════════════════════════════════════════════
   MV2 MODAL — модальное окно «Открыть спор» и др.
   ════════════════════════════════════════════════════════════ */
.mv2-modal {
    position: fixed;
    inset: 0;
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--ql-sp-4);
}
.mv2-modal[hidden] { display: none; }
.mv2-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(6, 8, 22, 0.78);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    animation: mv2-modal-fade 0.18s ease-out;
}
.mv2-modal__panel {
    position: relative;
    width: 100%;
    max-width: 520px;
    max-height: 90vh;
    overflow-y: auto;
    background: var(--ql-bg-2, #111827);
    border: 1px solid var(--ql-border-soft, rgba(255,255,255,0.05));
    border-radius: var(--ql-r-lg, 14px);
    padding: var(--ql-sp-5, 20px);
    box-shadow: var(--ql-shadow-3, 0 12px 40px rgba(0,0,0,0.60));
    animation: mv2-modal-pop 0.22s cubic-bezier(.16, 1, .3, 1);
}
@keyframes mv2-modal-fade {
    from { opacity: 0; }
    to   { opacity: 1; }
}
@keyframes mv2-modal-pop {
    from { opacity: 0; transform: translateY(8px) scale(0.98); }
    to   { opacity: 1; transform: translateY(0)  scale(1); }
}

.mv2-modal__close {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--ql-bg-3, #162033);
    border: 1px solid var(--ql-border-soft, rgba(255,255,255,0.05));
    color: var(--ql-fg-2, #9CA3AF);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background .15s ease, color .15s ease;
    font-size: 12px;
}
.mv2-modal__close:hover {
    background: var(--ql-bg-4, #1F2937);
    color: var(--ql-fg, #fff);
}

.mv2-modal__title {
    margin: 0 0 var(--ql-sp-2) 0;
    font-family: var(--ql-font-display, sans-serif);
    font-size: 20px;
    font-weight: 800;
    color: var(--ql-fg, #fff);
    display: flex;
    align-items: center;
    gap: 8px;
}
.mv2-modal__sub {
    margin: 0 0 var(--ql-sp-4) 0;
    font-size: 13px;
    color: var(--ql-fg-2, #9CA3AF);
    line-height: 1.5;
}

.mv2-modal__form { display: flex; flex-direction: column; gap: var(--ql-sp-3); }
.mv2-modal__field { display: flex; flex-direction: column; gap: 6px; }
.mv2-modal__label {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: var(--ql-fg-2, #9CA3AF);
    font-weight: 700;
}
.mv2-modal__input {
    width: 100%;
    padding: 10px 14px;
    border-radius: var(--ql-r-md, 10px);
    background: var(--ql-bg-1, #0A0F1F);
    border: 1px solid var(--ql-border-soft, rgba(255,255,255,0.05));
    color: var(--ql-fg, #fff);
    font-family: var(--ql-font-body, sans-serif);
    font-size: 13px;
    transition: border-color .15s ease, box-shadow .15s ease;
    resize: vertical;
    box-sizing: border-box;
}
.mv2-modal__input:focus {
    outline: none;
    border-color: var(--ql-accent, #00FFB2);
    box-shadow: 0 0 0 3px rgba(0,255,178,0.10);
}

.mv2-modal__error {
    padding: 10px 12px;
    background: rgba(239,68,68,0.10);
    border: 1px solid rgba(239,68,68,0.30);
    border-radius: var(--ql-r-md, 10px);
    color: var(--ql-danger, #EF4444);
    font-size: 12px;
    display: flex;
    align-items: center;
    gap: 8px;
}
.mv2-modal__error::before {
    content: '\f06a';
    font-family: 'Font Awesome 5 Free', 'Font Awesome 6 Free';
    font-weight: 900;
}

.mv2-modal__actions {
    display: flex;
    justify-content: flex-end;
    gap: var(--ql-sp-2);
    margin-top: var(--ql-sp-3);
    padding-top: var(--ql-sp-3);
    border-top: 1px solid var(--ql-border-soft, rgba(255,255,255,0.05));
}
.mv2-modal__actions button[disabled] { opacity: 0.5; cursor: not-allowed; }

@media (max-width: 600px) {
    .mv2-modal__panel {
        max-height: 100vh;
        border-radius: 0;
        padding: var(--ql-sp-4);
    }
}
