/* =================================================================
 * main.css - obschie komponenty. Podklyuchaetsya na vseh stranitsah.
 * Stranichnye stili - v otdelnyh page-*.css
 * ================================================================= */

/* Авто-реклама Яндекса приходит как <a class="match-row"> БЕЗ data-match-id.
   Настоящие строки матчей всегда имеют data-match-id — по нему отличаем. */
.match-row:not([data-match-id]){
  display:block !important;
  grid-template-columns:none !important;   /* снять грид 62px 1fr 80px 1fr 90px */
  gap:0 !important;
  cursor:default !important;
}
.match-row:not([data-match-id]) > div{ width:100% !important; }

/* --- Reset & Base ------------------------------------------------ */
*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
  background: var(--bg); color: var(--text);
  font-family: var(--ff-sans); font-size: 14px; line-height: 1.45;
  -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility;
}
a { color: inherit; text-decoration: none; }
a:hover { color: var(--brand); }
a.btn:hover, a.btn--ghost:hover, a.wc-btn:hover { color: inherit; }
img { display: block; max-width: 100%; }

/* --- Layout ------------------------------------------------------ */
.container { max-width: 1320px; margin: 0 auto; padding: 0 16px; }
@media (min-width: 600px) { .container { padding: 0 24px; } }

/* --- Header ------------------------------------------------------ */
.site-header {
  position: sticky; top: 0; z-index: 50;
  background: rgba(10,13,18,.9);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--border);
}
[data-theme="light"] .site-header { background: rgba(255,255,255,.88); }

.site-header__row {
  display: flex; align-items: center; gap: 4px;
  height: 52px; overflow-x: auto; overflow-y: hidden;
}
.site-header__row::-webkit-scrollbar { display: none; }

.brand {
  display: inline-flex; align-items: baseline; gap: 2px;
  font-weight: 800; letter-spacing: -.02em; font-size: 19px;
  flex-shrink: 0;
}
.brand b { color: var(--brand); }
.brand small {
  font-family: var(--ff-mono); font-size:var(--fs-9);
  color: var(--text-mute); margin-left: 5px;
  letter-spacing: .08em; text-transform: uppercase;
}

.nav { display: flex; gap: 2px; flex-shrink: 0; }
.nav a {
  padding: 7px 10px; border-radius: var(--r-sm);
  font-weight: 600; color: var(--text-dim); font-size: 13px;
  white-space: nowrap;
}
.nav a.is-active { background: var(--bg-elev); color: var(--text); }
.nav a:hover:not(.is-active) { color: var(--text); }

.header-spacer { flex: 1; min-width: 12px; }

.search {
  display: flex; align-items: center; gap: 8px;
  height: 34px; padding: 0 10px 0 12px;
  background: var(--bg-elev); border: 1px solid var(--border);
  border-radius: var(--r-md); flex-shrink: 0;
}
.search input {
  background: transparent; border: 0; outline: none;
  color: var(--text); font: inherit; font-size: 13px; width: 160px;
}
.search input::placeholder { color: var(--text-mute); }
.search kbd {
  font-family: var(--ff-mono); font-size:var(--fs-10);
  padding: 2px 5px; border: 1px solid var(--border);
  border-radius: 3px; color: var(--text-dim);
}
@media (max-width: 700px) { .search { display: none; } }

.theme-toggle {
  width: 34px; height: 34px; border-radius: var(--r-md);
  background: var(--bg-elev); border: 1px solid var(--border);
  display: grid; place-items: center; cursor: pointer;
  color: var(--text-dim); flex-shrink: 0;
}
.theme-toggle:hover { color: var(--text); }

/* --- Breadcrumbs ------------------------------------------------- */
.breadcrumbs {
  display: flex; align-items: center; gap: 6px;
  font-family: var(--ff-mono); font-size:var(--fs-11);
  color: var(--text-mute); padding: 12px 0;
  overflow-x: auto; white-space: nowrap;
}
.breadcrumbs::-webkit-scrollbar { display: none; }
.breadcrumbs a { color: var(--text-dim); }
.breadcrumbs a:hover { color: var(--brand); }
a.btn:hover, a.btn--ghost:hover, a.wc-btn:hover { color: inherit; }
.breadcrumbs span { color: var(--text-mute); }

/* --- Section head ------------------------------------------------ */
.section-head {
  display: flex; align-items: center; gap: 12px; margin: 0 0 14px;
}
.section-head h2 { margin: 0; font-size: 15px; font-weight: 700; letter-spacing: -.01em; }
.section-head__rule { flex: 1; height: 1px; background: var(--border); }
.section-head__link {
  font-size: 12px; color: var(--text-dim);
  display: inline-flex; align-items: center; gap: 4px; white-space: nowrap;
}

/* --- Panel ------------------------------------------------------- */
.panel {
  background: var(--bg-elev); border: 1px solid var(--border);
  border-radius: var(--r-lg); overflow: hidden;
}
.panel__head {
  display: flex; align-items: center; justify-content: center; gap: 10px;
  padding: 13px 16px; border-bottom: 1px solid var(--border-soft);
}
.panel__head h3 { margin: 0; font-size: 13px; font-weight: 700; }
.panel__head select {
  margin-left: auto; background: var(--bg-row);
  border: 1px solid var(--border); border-radius: var(--r-sm);
  color: var(--text-dim); font: inherit; font-size: 12px; padding: 4px 8px;
}
.panel__legend {
  display: flex; flex-wrap: wrap; gap: 10px;
  padding: 10px 16px; border-top: 1px solid var(--border-soft);
  font-family: var(--ff-mono); font-size:var(--fs-10); color: var(--text-mute);
}
.panel__legend i {
  display: inline-block; width: 8px; height: 8px;
  margin-right: 4px; vertical-align: 0;
}
.panel--scroll-x { overflow-x: auto; }

/* --- Tabs -------------------------------------------------------- */
.tabs { display: flex; gap: 2px; padding: 10px 14px; }
.tab {
  padding: 6px 14px; border-radius: var(--r-sm);
  font-size: 12px; font-weight: 600; color: var(--text-dim); cursor: pointer;
}
.tab.is-active { background: var(--bg-row); color: var(--text); }
.tab:hover:not(.is-active) { color: var(--text); }

/* --- Pill / tag -------------------------------------------------- */
.pill {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 3px 8px; border-radius: 999px;
  font-family: var(--ff-mono); font-size:var(--fs-10); font-weight: 700;
  letter-spacing: .08em; background: var(--bg-row);
  border: 1px solid var(--border); color: var(--text-dim);
}

/* --- Crest ------------------------------------------------------- */
.crest {
  width: 24px; height: 24px; flex: 0 0 24px;
  border-radius: 4px; background: var(--bg-row);
  border: 1px solid var(--border); display: grid; place-items: center;
  font-family: var(--ff-mono); font-weight: 700; font-size:var(--fs-8);
  color: var(--text-dim); overflow: hidden;
}
.crest img { width: 100%; height: 100%; object-fit: contain; }
.crest-s  { width: 20px; height: 20px; flex: 0 0 20px; font-size:var(--fs-7); }
.crest-m  { width: 32px; height: 32px; flex: 0 0 32px; font-size:var(--fs-10); }
.crest-lg { width: 48px; height: 48px; flex: 0 0 48px; font-size: 13px; }
.crest-xl { width: 64px; height: 64px; flex: 0 0 64px; font-size: 16px; }

.crest[data-tint="red"]    { background: linear-gradient(135deg,#7a1a1a,#2a0c0c); color:#ffd7d7; border-color:#4d1414; }
.crest[data-tint="blue"]   { background: linear-gradient(135deg,#143a7a,#0a1830); color:#cfe0ff; border-color:#1f4a99; }
.crest[data-tint="green"]  { background: linear-gradient(135deg,#155c2a,#08230f); color:#cdf2d3; border-color:#1e7a39; }
.crest[data-tint="white"]  { background: linear-gradient(135deg,#dadde3,#9da3ad); color:#1a1d22; border-color:#9da3ad; }
.crest[data-tint="dark"]   { background: linear-gradient(135deg,#222,#050505);   color:#cdd1d8; border-color:#2a2a2a; }
.crest[data-tint="navy"]   { background: linear-gradient(135deg,#0b1f4a,#060f24); color:#cfe0ff; border-color:#16306b; }
.crest[data-tint="orange"] { background: linear-gradient(135deg,#7a3b0c,#2a1606); color:#ffe2c7; border-color:#a35315; }
.crest[data-tint="yellow"] { background: linear-gradient(135deg,#7a6a0c,#2e2806); color:#fff2b3; border-color:#a39015; }

/* --- Match row --------------------------------------------------- */
.match-row {
  display: grid;
  grid-template-columns: 62px 1fr 80px 1fr 90px;
  align-items: center; gap: 10px;
  padding: 11px 16px;
  border-top: 1px solid var(--border-soft);
  transition: background .12s; cursor: pointer;
}
.match-row:first-of-type { border-top: 0; }
.match-row:hover { background: var(--bg-row-hov); }

.match-row__status {
  font-family: var(--ff-mono); font-size:var(--fs-11);
  color: var(--text-mute); letter-spacing: .04em;
}
.match-row__status.is-live { color: var(--color-live); font-weight: 700; }
.match-row__status .min { display: inline-block; font-weight: 700; font-size: 12px; }

.match-row__team { display: flex; align-items: center; gap: 8px; min-width: 0; }
.match-row__team--away { justify-content: flex-end; }
.match-row__team--away .crest { order: 2; }
.match-row__team-name {
  font-weight: 600; font-size: 13px;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}

.match-row__score {
  display: flex; justify-content: center; align-items: center; gap: 8px;
  flex-wrap: wrap;
  font-family: var(--ff-mono); font-weight: 700; font-size: 20px;
  letter-spacing: -.02em;
}
.match-row__score .sep { color: var(--text-mute); font-weight: 400; }
.match-row__score .pending {
  font-family: var(--ff-mono); font-size: 12px;
  font-weight: 500; color: var(--text-dim);
}
.match-row__score--live .num.scoring { color: var(--brand); }
/* Pod-stroki scheta (penalti, summa dvuh matchey) - na novuyu stroku, po tsentru */
.match-row__score > div { flex: 0 0 100%; text-align: center; }
.match-row__agg {
  font-family: var(--ff-mono); font-size: var(--fs-9);
  font-weight: 500; color: var(--text-mute); line-height: 1.3; margin-top: 1px;
}
.match-row__agg .match-row__agg-label { color: var(--text-dim); font-weight: 400; }
.match-row__agg b { font-weight: 700; color: var(--text-dim); }
.match-row__agg b.lead { color: var(--brand); }

.match-row__extras {
  display: flex; flex-direction: column; align-items: flex-end;
  gap: 2px; font-family: var(--ff-mono); font-size:var(--fs-10); color: var(--text-mute);
}
.match-row__extras b { color: var(--text-dim); font-weight: 600; }

.match-row__scorers {
  grid-column: 1 / -1;
  display: flex; gap: 12px; justify-content: space-between;
  padding-top: 5px; margin-top: 2px; font-size:var(--fs-11); color: var(--text-dim);
  border-top: 1px dashed var(--border-soft);
}
.match-row.has-scorers {
  grid-template-rows: auto auto; row-gap: 6px;
}

/* Mobilnyy match-row */
@media (max-width: 520px) {
  .match-row {
    grid-template-columns: 52px 1fr 68px 1fr;
    gap: 6px; padding: 10px 12px;
  }
  .match-row__extras { display: none; }
  .match-row__score { font-size: 17px; gap: 6px; }
  .match-row__team-name { font-size: 12px; }
}


.match-day__label {
  font-family: var(--ff-mono); font-size:var(--fs-10);
  letter-spacing: .12em; color: var(--text-mute);
  padding: 12px 16px 5px; text-transform: uppercase;
  display: flex; gap: 10px; align-items: center;
}
.match-day__label::after {
  content: ""; flex: 1; height: 1px;
  background: linear-gradient(90deg, var(--border-soft), transparent);
}

/* --- Live pill --------------------------------------------------- */
.live-pill {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 4px 10px 4px 8px;
  background: color-mix(in oklab, var(--color-live) 14%, transparent);
  color: var(--color-live); border-radius: 999px;
  font-family: var(--ff-mono); font-size:var(--fs-11); font-weight: 700;
  letter-spacing: .12em;
}
.live-pill__dot {
  width: 7px; height: 7px; border-radius: 50%;
  background: var(--color-live);
  animation: livePulse 1.6s ease-out infinite;
}
@keyframes livePulse {
  0%   { box-shadow: 0 0 0 0   rgba(230,57,70,.55); }
  70%  { box-shadow: 0 0 0 8px rgba(230,57,70,0); }
  100% { box-shadow: 0 0 0 0   rgba(230,57,70,0); }
}

/* --- Standings table --------------------------------------------- */
.standings { width: 100%; border-collapse: collapse; font-size: 12.5px; }
.standings thead th {
  text-align: right;
  font-family: var(--ff-mono); font-weight: 500; font-size:var(--fs-10);
  letter-spacing: .08em; text-transform: uppercase;
  color: var(--text-mute); padding: 8px 10px;
  border-bottom: 1px solid var(--border-soft);
}
.standings thead th:nth-child(1),
.standings thead th:nth-child(2) { text-align: left; }
.standings tbody td {
  padding: 8px 10px; border-bottom: 1px solid var(--border-soft);
  text-align: right; font-variant-numeric: tabular-nums;
}
.standings tbody tr:last-child td { border-bottom: 0; }
.standings tbody tr:hover { background: var(--bg-row-hov); cursor: pointer; }
.standings .pos {
  width: 26px; text-align: center;
  font-family: var(--ff-mono); font-size:var(--fs-11); color: var(--text-dim);
}
.standings .pos--ucl { box-shadow: inset 3px 0 0 var(--brand-2); }
.standings .pos--uel { box-shadow: inset 3px 0 0 var(--brand); }
.standings .pos--rel { box-shadow: inset 3px 0 0 var(--color-live); }
.standings .team-cell {
  text-align: left; display: flex; align-items: center; gap: 8px; font-weight: 600;
}
.standings .pts { color: var(--text); font-weight: 700; }

/* Forma */
.form { display: inline-flex; gap: 2px; }
.form-dot {
  width: 13px; height: 13px; border-radius: 3px;
  font-family: var(--ff-mono); font-size:var(--fs-8); font-weight: 700;
  display: inline-grid; place-items: center; color: #0a0d12;
}
.form-dot[data-r="W"] { background: var(--win); }
.form-dot[data-r="D"] { background: var(--draw); }
.form-dot[data-r="L"] { background: var(--loss); color: #fff; }

/* Skryvaem vspomogatelnye kolonki na mobilke */
@media (max-width: 520px) {
  .standings .col-gd,
  .standings .col-form { display: none; }
}

/* --- Buttons ----------------------------------------------------- */
.btn {
  display: inline-flex; align-items: center; gap: 7px;
  padding: 8px 16px; border-radius: var(--r-md);
  font: 600 13px/1 var(--ff-sans);
  background: var(--brand); color: #0a0d12 !important; border: 0; cursor: pointer;
  text-decoration: none !important;
}
.btn:hover { filter: brightness(1.08); color: #0a0d12 !important; }
.btn--ghost {
  background: transparent; color: var(--text-dim) !important;
  border: 1px solid var(--border);
  text-decoration: none !important;
}
.btn--ghost:hover { color: var(--text) !important; border-color: var(--text-dim); filter: none; }

/* --- Icons ------------------------------------------------------- */
.ico { width: 14px; height: 14px; stroke: currentColor; fill: none; stroke-width: 1.6; flex-shrink: 0; }
.ico--filled { fill: currentColor; stroke: none; }
.ico--lg { width: 18px; height: 18px; }

/* --- Footer note ------------------------------------------------- */
.foot-note {
  margin-top: 48px; padding: 20px 0;
  border-top: 1px solid var(--border-soft);
  display: flex; flex-wrap: wrap; gap: 8px; justify-content: space-between;
  font-family: var(--ff-mono); font-size:var(--fs-11); color: var(--text-mute);
}

/* --- Utility ----------------------------------------------------- */
.visually-hidden {
  position: absolute; width: 1px; height: 1px;
  overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap;
}
.text-dim   { color: var(--text-dim); }
.text-mute  { color: var(--text-mute); }
.text-brand { color: var(--brand); }
.text-live  { color: var(--color-live); }
.text-win   { color: var(--win); }
.text-loss  { color: var(--loss); }
.mono       { font-family: var(--ff-mono); }
.fw700      { font-weight: 700; }
.mt0 { margin-top: 0; }
.mt8 { margin-top: 8px; }
.mt16 { margin-top: 16px; }
.mt24 { margin-top: 24px; }
.mt32 { margin-top: 32px; }
/* =================================================================
 * OBSchIE BLOKI: glavnaya + match-tsentr
 * Ranshe zhili v <style> vnutri home/index.php. Vyneseny syuda,
 * chtoby obe stranitsy ispolzovali odnu i tu zhe verstku.
 * ================================================================= */

/* --- Hero -------------------------------------------------------- */
.hero{position:relative;overflow:hidden;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--r-lg);padding:22px 24px 20px;margin:12px 0 16px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center}
.hero::after{content:'';position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,transparent,var(--brand) 40%,var(--brand-2) 60%,transparent);background-size:250% 100%;animation:heroSweep 7s linear infinite;opacity:.8}
.hero-pitch{position:absolute;top:50%;right:-70px;width:430px;height:430px;transform:translateY(-50%);color:var(--brand);opacity:.055;pointer-events:none}
.hero-pitch .spin{transform-origin:200px 200px;animation:pitchSpin 90s linear infinite}
.hero-l{position:relative;z-index:1;min-width:0}
.hero-eyebrow{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-family:var(--ff-mono);font-size:var(--fs-9);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text-mute);margin-bottom:8px}
.hero-eyebrow .he-dot{width:6px;height:6px;border-radius:50%;background:var(--brand);box-shadow:0 0 0 0 color-mix(in oklab,var(--brand) 55%,transparent);animation:pulse 2.4s ease-out infinite;flex-shrink:0}
.hero-eyebrow .he-live{color:var(--color-live);display:inline-flex;align-items:center;gap:5px}
.hero-eyebrow .he-live::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--color-live);box-shadow:0 0 0 0 color-mix(in oklab,var(--color-live) 55%,transparent);animation:pulse 1.6s ease-out infinite}
.hero h1{margin:0 0 6px;font-size:clamp(19px,3.4vw,26px);font-weight:800;letter-spacing:-.025em;line-height:1.15;color:var(--text)}
.hero h1 em{font-style:normal;color:var(--brand);position:relative;white-space:nowrap}
.hero h1 em::after{content:'';position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--brand);transform:scaleX(0);transform-origin:left;animation:underSweep .9s .5s cubic-bezier(.2,.8,.2,1) forwards}
.hero-sub{font-size:12px;color:var(--text-dim);margin-bottom:14px;max-width:52ch}
.hero-sub--wide{max-width:88ch;font-size:12.5px;line-height:1.65}
.hero-chips{display:flex;gap:4px;flex-wrap:wrap}
.hero-chips a{position:relative;padding:6px 11px;border-radius:var(--r-sm);font:600 var(--fs-11)/1 var(--ff-sans);text-decoration:none;white-space:nowrap;color:var(--text-dim);border:1px solid var(--border);background:var(--bg-row);transition:color .18s,border-color .18s,transform .18s;overflow:hidden}
.hero-chips a::after{content:'';position:absolute;left:10px;right:10px;bottom:3px;height:1.5px;background:var(--brand);transform:scaleX(0);transform-origin:left;transition:transform .22s cubic-bezier(.2,.8,.2,1)}
.hero-chips a:hover{color:var(--text);border-color:color-mix(in oklab,var(--brand) 35%,var(--border));transform:translateY(-1px)}
.hero-chips a:hover::after{transform:scaleX(1)}
.hero-chips a:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
.hero-stats{position:relative;z-index:1;display:grid;grid-auto-flow:column;align-items:center}
.hstat{padding:4px 22px;text-align:center;position:relative}
.hstat + .hstat::before{content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);height:56%;width:1px;background:var(--border)}
.hstat b{display:block;font-family:var(--ff-mono);font-variant-numeric:tabular-nums;font-size:clamp(24px,3vw,34px);font-weight:800;letter-spacing:-.02em;color:var(--text);line-height:1}
.hstat span{display:block;margin-top:5px;font-family:var(--ff-mono);font-size:var(--fs-9);letter-spacing:.12em;text-transform:uppercase;color:var(--text-mute);white-space:nowrap}
.hstat--brand b{color:var(--brand);text-shadow:0 0 22px color-mix(in oklab,var(--brand) 30%,transparent)}
.hstat--live b{color:var(--color-live)}
@media(max-width:900px){
  .hero{grid-template-columns:1fr;gap:16px;padding:18px 16px 16px}
  .hero-pitch{width:300px;right:-110px;opacity:.045}
  .hero-stats{justify-content:start}
  .hstat{padding:0 16px}
  .hstat:first-child{padding-left:0}
}

/* --- Lenta matchey: dvuhetazhnye stroki ---------------------------- */
.feed{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden}
.feed + .feed{margin-top:12px}
.feed-day{padding:9px 16px;background:var(--bg-row);border-bottom:1px solid var(--border-soft);display:flex;align-items:center;gap:8px;font-family:var(--ff-mono);font-size:var(--fs-9);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim)}
.feed-day::before{content:'';width:8px;height:2px;background:var(--brand);flex-shrink:0}
.feed-day:not(:first-child){border-top:1px solid var(--border-soft)}

/* Shapka turnira vnutri lenty (match-tsentr) */
.feed-lg{display:flex;align-items:center;gap:10px;padding:11px 16px;border-bottom:1px solid var(--border);background:linear-gradient(90deg,color-mix(in oklab,var(--brand) 5%,transparent),transparent 55%)}
.feed-lg__logo{width:22px;height:22px;object-fit:contain;flex-shrink:0}
.feed-lg__ph{width:22px;height:22px;border-radius:5px;background:var(--bg-row);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-family:var(--ff-mono);font-size:var(--fs-9);font-weight:800;color:var(--text-mute);flex-shrink:0}
.feed-lg__name{font-size:13px;font-weight:800;letter-spacing:-.01em;color:var(--text);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.feed-lg__name:hover{color:var(--brand)}
.feed-lg__cnt{margin-left:auto;font-family:var(--ff-mono);font-size:var(--fs-9);letter-spacing:.08em;text-transform:uppercase;color:var(--text-mute);white-space:nowrap}

.mrh{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:9px 16px 9px 12px;text-decoration:none;color:inherit;border-bottom:1px solid var(--border-soft);transition:background .15s}
.mrh:last-child{border-bottom:none}
.mrh:hover{background:var(--bg-row-hov)}
.mrh[data-status="live"],.mrh[data-status="ht"]{box-shadow:inset 3px 0 0 var(--color-live);background:color-mix(in oklab,var(--color-live) 4%,transparent)}

/* Kolonka statusa - zhestkie 10ch. Shrift monoshirinnyy, poetomu 10ch = rovno 10
   znakov: samoe dlinnoe ("Perenesen", 9 znakov + letter-spacing) vlezaet, a
   shirina odinakova vo vseh strokah -> komandy stoyat po odnoy vertikali.
   Privyazka k --fs-10, a ne k px: na mobile token rastet do 12px - kolonka s nim. */
.mrh__status{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;width:10ch;font-family:var(--ff-mono);font-size:var(--fs-10);text-align:center}
.mrh__status>*{max-width:100%}
.mrh__time{font-size:12px;font-weight:700;color:var(--text-dim);letter-spacing:.02em}
.mrh__tz{font-size:var(--fs-8);color:var(--text-mute);letter-spacing:.08em}
/* Status "Zavershen": beguschaya brendovaya liniya nad tekstom.
   Ranshe priletala sluchayno ot .ft::before futera (span nosil class="ft"),
   a t.k. .ft{position:relative} - schitalas ot samogo spana, ne ot stroki. Povtoryayu 1:1. */
.mrh__ft{position:relative;font-size:var(--fs-10);font-weight:700;color:var(--text-mute);letter-spacing:.04em;white-space:nowrap;border-top:1px solid var(--border)}
.mrh__ft::before{content:'';position:absolute;left:0;right:0;top:-1px;height:2px;background:linear-gradient(90deg,transparent,var(--brand) 40%,var(--brand-2) 60%,transparent);background-size:250% 100%;animation:heroSweep 9s linear infinite;opacity:.7;pointer-events:none}
.mrh__ft--off{color:var(--text-mute);opacity:.75}
.mrh__status.is-live .min{font-size:var(--fs-11);font-weight:800;color:var(--color-live);line-height:1.25}
.mrh__status.is-live .lbl{font-size:var(--fs-9);font-weight:700;color:var(--color-live);letter-spacing:.08em;text-transform:uppercase}
.mrh__live-dot{width:5px;height:5px;border-radius:50%;background:var(--color-live);animation:pulse 1.6s ease-out infinite}
.mrh__teams{display:flex;flex-direction:column;gap:5px;min-width:0}
.mrh__team{display:flex;align-items:center;gap:7px;min-width:0}
.mrh__name{flex:0 1 auto;max-width:100%;min-width:0;font-size:13px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mrh__name--tbd{color:var(--text-mute);font-style:italic;font-weight:500}
.mrh__team.lose .mrh__name{color:var(--text-dim);font-weight:500}
.mrh__team.win .mrh__name{font-weight:700}
.mrh__crest{width:20px;height:20px;flex-shrink:0;display:inline-block}
/* Schet - svoya kolonka u pravogo kraya kartochki. Vysota strok = 20px (gerb),
   gap = 5px - tsifry stoyat rovno naprotiv svoih komand. */
.mrh__score{display:flex;flex-direction:column;gap:5px;align-items:flex-end;flex-shrink:0}
.mrh__g{font-family:var(--ff-mono);font-variant-numeric:tabular-nums;font-size:13px;font-weight:800;color:var(--text);min-width:16px;height:20px;display:flex;align-items:center;justify-content:flex-end}
.mrh__g--lose{color:var(--text-dim);font-weight:600}
.mrh__score.is-live .mrh__g{color:var(--color-live)}
.mrh__g.scoring{color:var(--brand) !important}
.mrh__meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0}
.mrh__lg{font-family:var(--ff-mono);font-size:var(--fs-9);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-mute);border:1px solid var(--border);border-radius:3px;padding:2.5px 6px;white-space:nowrap;max-width:150px;overflow:hidden;text-overflow:ellipsis}
.mrh__agg{font-family:var(--ff-mono);font-size:var(--fs-9);color:var(--text-mute);white-space:nowrap}
.mrh .match-row__scorers{grid-column:1/-1}
@media(max-width:520px){
  .mrh{grid-template-columns:minmax(48px,auto) minmax(0,1fr) auto auto;gap:9px;padding:9px 12px 9px 8px}
  .mrh__lg{max-width:88px}
}

/* --- Reveal-on-scroll + animatsii (видимы сразу, плавный fallback) --- */
.rv{opacity:1;transform:none}
.rv.in{opacity:1;transform:none}
@keyframes pulse{0%{box-shadow:0 0 0 0 color-mix(in oklab,currentColor 45%,transparent)}70%{box-shadow:0 0 0 7px transparent}100%{box-shadow:0 0 0 0 transparent}}
@keyframes heroSweep{0%{background-position:200% 0}100%{background-position:-50% 0}}
@keyframes underSweep{to{transform:scaleX(1)}}
@keyframes pitchSpin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){
  .rv{opacity:1;transform:none;transition:none}
  .hero::after,.hero-pitch .spin,.hero-eyebrow .he-dot,.hero-eyebrow .he-live::before,.mrh__live-dot,
  .mrh__ft::before{animation:none}
  .hero h1 em::after{animation:none;transform:scaleX(1)}
}

/* === Stranitsa komandy: "Sleduyuschiy turnir" i "Proshlye turniry" ===
   Stroki vnutri .feed, v stile lenty matchey na glavnoy. */
.th-nextrow{display:flex;align-items:center;gap:12px;padding:11px 16px;text-decoration:none;color:inherit;border-bottom:1px solid var(--border-soft);transition:background .15s}
.th-nextrow:hover{background:var(--bg-row)}
.th-nextrow__date{font-family:var(--ff-mono);font-size:var(--fs-11);line-height:1.25;color:var(--text-mute);text-align:center;flex-shrink:0;min-width:38px}
.th-nextrow__team{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;flex:1;min-width:0}
.th-nextrow__team span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.th-nextrow__team--away{justify-content:flex-end;text-align:right}
.th-nextrow__dash{color:var(--text-mute);flex-shrink:0}
.th-more{display:block;padding:10px 16px;font-size:12px;font-family:var(--ff-mono);color:var(--text-mute);text-decoration:none;transition:color .15s}
.th-more:hover{color:var(--brand)}

.th-archrow{display:flex;align-items:center;gap:10px;padding:11px 16px;text-decoration:none;color:inherit;border-bottom:1px solid var(--border-soft);transition:background .15s}
.th-archrow:last-child{border-bottom:none}
.th-archrow:hover{background:var(--bg-row)}
.th-archrow__badge{font-family:var(--ff-mono);font-size:var(--fs-10);font-weight:700;padding:2px 7px;border-radius:3px;background:var(--bg-row);border:1px solid var(--border);color:var(--text-dim);flex-shrink:0}
.th-archrow__name{flex:1;min-width:0;font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.th-archrow__result{font-size:12px;color:var(--text-mute);flex-shrink:0}
.th-archrow__arr{color:var(--text-mute);flex-shrink:0}
.matches-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:640px){.matches-grid{grid-template-columns:1fr}}

/* --- Красные карточки команд в сетке матчей ---------------------- */
.rc-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 8px;
  height: 12px;
  padding: 0 2px;
  background: #e63946;
  color: #fff;
  font-family: var(--ff-mono);
  font-size: 8.5px;
  font-weight: 800;
  line-height: 1;
  border-radius: 1.5px;
  box-shadow: 0 1px 3px rgba(230, 57, 70, 0.45);
  flex-shrink: 0;
  margin-left: 6px;
  margin-right: 0;
  vertical-align: middle;
  letter-spacing: 0;
}
.match-row__team--away .rc-badge {
  margin-left: 6px;
  margin-right: 0;
}

/* --- Плашка ГОЛ! (Flashscore-стиль) ------------------------------ */
.goal-badge {
  display: inline-flex;
  align-items: center;
  gap: 3.5px;
  padding: 2px 7px 2px 5px;
  background: linear-gradient(135deg, #ff7a00, #ea580c);
  color: #fff;
  font-family: var(--ff-sans);
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
  border-radius: 4px;
  box-shadow: 0 0 10px rgba(255, 122, 0, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.3);
  margin-left: 6px;
  flex-shrink: 0;
  animation: goalPop .35s cubic-bezier(0.34, 1.56, 0.64, 1), goalGlow 1.8s ease-in-out infinite;
  z-index: 2;
  white-space: nowrap;
}
.goal-badge .goal-ico {
  font-size: 11px;
  line-height: 1;
  display: inline-block;
  animation: goalSpin 1.4s ease-out;
}
.match-row__team--away .goal-badge {
  margin-left: 0;
  margin-right: 6px;
}

/* Подсветка строки при голе */
.mrh.is-goal-flash,
.match-row.is-goal-flash {
  position: relative;
  background: linear-gradient(90deg, color-mix(in oklab, var(--brand) 12%, transparent), transparent 70%) !important;
  border-color: color-mix(in oklab, var(--brand) 45%, var(--border)) !important;
}
.mrh__team.is-goal-team .mrh__name,
.match-row__team.is-goal-team .match-row__team-name {
  color: var(--brand) !important;
  font-weight: 800 !important;
  text-shadow: 0 0 12px color-mix(in oklab, var(--brand) 40%, transparent);
}

@keyframes goalPop {
  0%   { transform: scale(0.4); opacity: 0; }
  70%  { transform: scale(1.15); opacity: 1; }
  100% { transform: scale(1); opacity: 1; }
}
@keyframes goalGlow {
  0%, 100% { box-shadow: 0 0 8px rgba(255, 122, 0, 0.45); }
  50%      { box-shadow: 0 0 16px rgba(255, 122, 0, 0.85), 0 0 4px #ffedd5; }
}
@keyframes goalSpin {
  0%   { transform: rotate(-180deg) scale(0.5); }
  100% { transform: rotate(0deg) scale(1); }
}

/* ── Двухматчевое противостояние (еврокубки / плей-офф) ── */
.sb-tie{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;padding:10px 18px;border-top:1px solid rgba(255,255,255,.08);background:rgba(0,0,0,.22);font-size:12.5px}
.sb-tie__card{display:inline-flex;align-items:center;gap:10px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:3px 12px 3px 6px;text-decoration:none;transition:background .15s,border-color .15s,transform .15s;cursor:pointer}
.sb-tie__card:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.22);transform:translateY(-1px);color:var(--text)}
.sb-tie__tag{font-family:var(--ff-mono);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;background:rgba(255,255,255,.1);color:var(--text-dim);padding:3px 8px;border-radius:12px;white-space:nowrap}
.sb-tie__score{display:inline-flex;align-items:center;gap:8px}
.sb-tie__side{display:inline-flex;align-items:center;gap:6px;color:var(--text)}
.sb-tie__side img{width:18px;height:18px;object-fit:contain;flex-shrink:0;vertical-align:middle}
.sb-tie__side b{font-weight:600;max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sb-tie__num{font-family:var(--ff-mono);font-size:13px;font-weight:800;color:#fff;background:rgba(0,0,0,.35);padding:2px 7px;border-radius:6px;letter-spacing:.02em}
.sb-tie__num i{font-style:normal;opacity:.6;margin:0 1px}
.sb-tie__agg{display:inline-flex;align-items:center;gap:8px}
.sb-tie__agg .agg-num{font-size:12.5px;color:var(--text-dim)}
.sb-tie__agg .agg-num b{font-family:var(--ff-mono);font-size:13.5px;font-weight:800;color:var(--text);background:rgba(255,255,255,.08);padding:2px 7px;border-radius:6px;margin-left:4px}
.sb-tie__adv{font-size:11.5px;font-weight:700;padding:3px 9px;border-radius:12px;background:rgba(255,255,255,.08);color:var(--text)}
.sb-tie__adv--go{background:rgba(16,185,129,.15);color:#10b981;border:1px solid rgba(16,185,129,.35)}

@media(max-width:640px){
  .sb-tie{padding:10px 12px;gap:8px}
  .sb-tie__side b{max-width:90px}
}

/* Светлая тема для двухматчевой пары */
[data-theme="light"] .sb-tie{background:#f8fafc !important;border-top-color:#e2e8f0 !important}
[data-theme="light"] .sb-tie__card{background:#fff !important;border-color:#e2e8f0 !important;box-shadow:0 1px 4px rgba(0,0,0,.04) !important}
[data-theme="light"] .sb-tie__card:hover{background:#f1f5f9 !important;border-color:#cbd5e1 !important;color:#0f172a !important}
[data-theme="light"] .sb-tie__tag{background:#f1f5f9 !important;color:#64748b !important}
[data-theme="light"] .sb-tie__side{color:#0f172a !important}
[data-theme="light"] .sb-tie__num{color:#0f172a !important;background:#f1f5f9 !important;border:1px solid #e2e8f0 !important}
[data-theme="light"] .sb-tie__agg .agg-num{color:#64748b !important}
[data-theme="light"] .sb-tie__agg .agg-num b{color:#0f172a !important;background:#fff !important;border:1px solid #e2e8f0 !important}
[data-theme="light"] .sb-tie__adv{background:#f1f5f9 !important;color:#334155 !important;border:1px solid #e2e8f0 !important}
[data-theme="light"] .sb-tie__adv--go{background:#ecfdf5 !important;color:#059669 !important;border-color:#a7f3d0 !important}

/* ── Блок личных встреч (UEFA Style Head-to-Head) ── */
.uefa-h2h{padding:16px 18px 18px;display:flex;flex-direction:column;gap:16px}
.uefa-h2h__teams{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--border-soft)}
.uefa-h2h__team{display:flex;align-items:center;gap:8px;min-width:0;max-width:48%}
.uefa-h2h__team--at{justify-content:flex-end}
.uefa-h2h__crest{width:26px;height:26px;object-fit:contain;flex-shrink:0}
.uefa-h2h__tname{font-size:14px;font-weight:700;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.uefa-h2h__grid{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;text-align:center;gap:8px}
.uefa-h2h__col{display:flex;flex-direction:column;align-items:center;gap:2px}
.uefa-h2h__num{font-family:var(--ff-mono);font-size:26px;font-weight:800;line-height:1.1;color:var(--text)}
.uefa-h2h__num--ht{color:var(--brand)}
.uefa-h2h__num--at{color:var(--brand-2, #38bdf8)}
.uefa-h2h__num--dr{color:var(--text-dim)}
.uefa-h2h__lbl{font-size:12px;font-weight:600;color:var(--text-mute)}
.uefa-h2h__bar{display:flex;height:6px;border-radius:3px;overflow:hidden;background:var(--bg-row);gap:2px}
.uefa-h2h__bar-ht{background:var(--brand);border-radius:3px 0 0 3px}
.uefa-h2h__bar-dr{background:var(--text-mute)}
.uefa-h2h__bar-at{background:var(--brand-2, #38bdf8);border-radius:0 3px 3px 0}
.uefa-h2h__goals{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:var(--bg-row);border:1px solid var(--border-soft);border-radius:var(--r-md)}
.uefa-h2h__g-num{font-family:var(--ff-mono);font-size:20px;font-weight:800;color:var(--text)}
.uefa-h2h__g-num--ht{color:var(--brand)}
.uefa-h2h__g-num--at{color:var(--brand-2, #38bdf8)}
.uefa-h2h__g-lbl{font-size:12px;font-weight:700;color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;font-family:var(--ff-mono)}
.uefa-h2h__details{border-top:1px solid var(--border-soft);padding-top:8px}
.uefa-h2h__more{display:flex;align-items:center;justify-content:space-between;cursor:pointer;padding:6px 0;font-size:13px;font-weight:700;color:var(--brand);user-select:none;list-style:none}
.uefa-h2h__more::-webkit-details-marker{display:none}
.uefa-h2h__more svg{transition:transform .2s ease}
.uefa-h2h__details[open] .uefa-h2h__more svg{transform:rotate(90deg)}
.uefa-h2h__list{display:flex;flex-direction:column;gap:6px;margin-top:8px}
.uefa-h2h__row{display:grid;grid-template-columns:75px 1fr auto 1fr;align-items:center;gap:8px;padding:8px 10px;background:var(--bg-row);border-radius:var(--r-sm);font-size:12px;text-decoration:none;color:var(--text-dim);transition:background .15s,color .15s}
.uefa-h2h__row--link{cursor:pointer}
.uefa-h2h__row--link:hover{background:color-mix(in oklab, var(--brand) 10%, var(--bg-row));color:var(--text)}
.uefa-h2h__row-dt{font-family:var(--ff-mono);font-size:11px;color:var(--text-mute)}
.uefa-h2h__row-t1{text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.uefa-h2h__row-t1.is-win{font-weight:700;color:var(--text)}
.uefa-h2h__row-score{font-family:var(--ff-mono);font-weight:800;color:var(--text);background:rgba(0,0,0,.25);padding:2px 6px;border-radius:4px}
.uefa-h2h__row-t2{text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.uefa-h2h__row-t2.is-win{font-weight:700;color:var(--text)}

[data-theme="light"] .uefa-h2h__crest{filter:drop-shadow(0 1px 2px rgba(0,0,0,.1))}
[data-theme="light"] .uefa-h2h__row-score{background:#e2e8f0;color:#0f172a}
[data-theme="light"] .uefa-h2h__goals{background:#f8fafc;border-color:#e2e8f0}
[data-theme="light"] .uefa-h2h__row{background:#f8fafc}
[data-theme="light"] .uefa-h2h__row--link:hover{background:#f1f5f9}