/* Вёрстка из front/css/today.css. Отличия, внесённые при переносе:
     • .board-filters button — продублировано на .board-filters a (у нас ссылки);
     • .warning/.yellow — ограничены таблицей (класс yellow висит ещё и на
       плитке статистики, где означает только оттенок свечения).
   Блок правок — перед медиазапросами, см. пояснение там. */

.today-page{background:#08090b}
.today-hero{min-height:617px;background:linear-gradient(90deg,rgba(8,9,11,.97) 0%,rgba(8,9,11,.9) 34%,rgba(8,9,11,.22) 72%,rgba(8,9,11,.08) 100%),linear-gradient(180deg,transparent 64%,#08090b 100%),url('../img/bg_today.webp') center/cover no-repeat}
.today-hero-inner{padding-top:105px}
.today-hero h1{font-size:48px;line-height:1.05;letter-spacing:-.035em;margin:0 0 37px}
.hero-date{color:#b4b5bc;font-size:16px;margin:0}
.hero-date span{padding:0 10px;color:#797a81}
.today-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:53px}
.today-stat{height:100px;position:relative;isolation:isolate;overflow:hidden;border:1px solid #27272a;box-shadow:0 0 0 1px #000;border-radius:10px;background:#18181b;padding:19px 17px}
.today-stat:after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 44%,rgba(13,105,253,.22));z-index:-2}
.today-stat img{position:absolute;width:136px;height:100px;right:-1px;top:-1px;object-fit:fill;z-index:-1}
.today-stat strong{display:block;font-size:28px;line-height:1.1}
.today-stat span{display:block;margin-top:10px;color:#9b9ca3;font-size:11px;font-weight:700;letter-spacing:.03em;text-transform:uppercase}
.today-stat.yellow:after{background:linear-gradient(105deg,transparent 44%,rgba(243,199,0,.2))}
.today-stat.green:after{background:linear-gradient(105deg,transparent 44%,rgba(132,204,22,.2))}
.today-stat.violet:after{background:linear-gradient(105deg,transparent 44%,rgba(99,102,241,.24))}
.hero-intro{max-width:690px;margin-top:34px}
.hero-intro h2{font-size:28px;line-height:1.1;margin:0 0 12px;letter-spacing:-.02em}
.hero-intro p{font-size:16px;color:#b9bac0;line-height:1.45;margin:0}
.today-content{padding:40px 0 48px}
.section-row{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:32px}
.section-row h2,.board h2,.scoring h2{font-size:28px;letter-spacing:-.02em;margin:0 0 7px}
.section-row p,.board-head p,.scoring-main>p{color:#82838b;margin:0}
.live-status{width:204px;text-align:center}
.live-status b{height:35px;display:flex;align-items:center;justify-content:center;gap:7px;border:1px solid #303137;border-radius:8px;background:#18191d;color:#84cc16;text-transform:uppercase;font-size:10px;letter-spacing:.04em}
.live-status i,.coverage i{width:7px;height:7px;background:#84cc16;border-radius:50%;box-shadow:0 0 10px #84cc16;animation:online-pulse 2.2s ease-out infinite}
.live-status small{display:block;color:#66676e;font-size:9px;margin-top:10px}
.top-pick{min-height:238px;border:1px solid #27272a;border-top:3px solid #0d69fd;box-shadow:0 0 0 1px #000;border-radius:12px;background:#18191d;display:grid;grid-template-columns:1.2fr 1.28fr .8fr;padding:24px 27px;margin-bottom:48px}
.top-pick>div{padding:2px 35px;border-right:1px solid #2a2b30}
.top-pick>div:first-child{padding-left:0}
.top-pick>div:last-child{border-right:0;padding-right:0}
.overline{display:block;text-transform:uppercase;color:#74757d;font-size:9px;font-weight:700;letter-spacing:.08em;margin-bottom:21px}
.top-pick-match .overline{color:#438dff}
.top-pick-match h3{font-size:25px;margin:0 0 8px}
.top-pick-match>p{font-size:11px;color:#73747c;margin:0}
.top-model{display:flex;align-items:center;gap:18px;margin-top:25px}
.crest-pair{display:flex}
.crest-pair>span,.table-crest{width:36px;height:36px;border-radius:50%;background:#27272a;display:flex;align-items:center;justify-content:center;border:2px solid #18191d}
.crest-pair>span+span,.table-crest+.table-crest{margin-left:-7px}
.crest-pair img{width:25px;height:25px;object-fit:contain}
.top-model small{display:block;text-transform:uppercase;color:#73747c;font-size:8px;font-weight:700;letter-spacing:.08em}
.top-model strong{display:block;color:#66a1ff;font-size:26px;line-height:1;margin-top:5px}
.top-model>b{font-size:12px;color:#d7d7da;margin-top:14px}
.split-values{display:flex;gap:36px}
.split-values b{font-size:25px}
.split-values small{display:block;text-transform:uppercase;color:#74757d;font-size:8px;letter-spacing:.08em;margin-top:6px}
.split-bar{display:grid;grid-template-columns:58fr 24fr 18fr;height:7px;border-radius:4px;overflow:hidden;margin:23px 0 21px}
.split-bar i{background:#0d69fd}
.split-bar i:nth-child(2){background:#a1a1aa}
.split-bar i:nth-child(3){background:#fb5d70}
.top-probability>p{font-size:11px;color:#74757d;margin:0}
.top-confidence{display:flex;flex-direction:column;align-items:flex-start}
.top-confidence strong{font-size:43px;line-height:1;color:#84cc16;margin-top:-1px}
.top-confidence small{font-size:10px;color:#5c9efb;margin-top:7px}
.top-confidence .btn{width:142px;margin-top:25px;text-align:center;text-transform:uppercase;font-size:10px;padding:12px 10px}
.board-head{display:flex;align-items:flex-end;justify-content:space-between;border-bottom:1px solid #27272a;padding-bottom:18px;margin-bottom:23px}
.board h2{font-size:22px}
.board-filters{display:flex;gap:10px}
.board-filters button,.board-filters a{height:36px;border:1px solid #303137;border-radius:22px;padding:0 18px;background:#191a1e;color:#8d8e96;font-weight:600;font-size:12px;cursor:pointer}
.board-filters button:hover,.board-filters a:hover{filter:brightness(1.15)}
.board-filters button.active,.board-filters a.active{background:#0d69fd;border-color:#0d69fd;color:#fff}
.table-shell{border:1px solid #27272a;box-shadow:0 0 0 1px #000;border-radius:12px;background:#18191d;padding:0 23px;overflow:hidden}
table{width:100%;border-collapse:collapse;table-layout:fixed}
th{text-transform:uppercase;color:#bbbcc2;font-size:9px;letter-spacing:.04em;text-align:left;height:53px}
th:first-child{width:26%}
th:nth-child(2){width:11%}
th:nth-child(3){width:17%}
th:nth-child(4){width:8%}
th:nth-child(5){width:6%}
th:nth-child(6){width:9%}
th:nth-child(7){width:11%}
th:nth-child(8){width:8%}
td{height:80px;border-top:1px solid #2a2b30;color:#c6c7cc;font-size:12px}
tr[hidden]{display:none}
.table-match{display:flex;align-items:center;gap:13px}
.table-crests{display:flex;flex:none}
.table-crest{width:34px;height:34px}
.table-crest img{width:23px;height:23px;object-fit:contain}
.table-match b{display:block;font-size:13px;color:#e4e4e7;white-space:nowrap}
.table-match small{display:block;color:#65666d;text-transform:uppercase;font-size:8px;margin-top:7px;letter-spacing:.05em}
.mini-split b{font-size:10px}
.mini-split span{display:block;width:100px;height:5px;margin-top:10px;background:#505158;border-radius:3px;overflow:hidden}
.mini-split i{display:block;height:100%;background:#0d69fd}
.table-pick{width:47px;height:30px;display:inline-flex;align-items:center;justify-content:center;border-radius:7px;background:#0d69fd;color:#fff;font-weight:700}
.table-pick.draw{background:#222329;color:#eab308;border:1px solid #313238}
.positive{color:#84cc16;font-weight:700}
.table-shell .warning,.table-shell .yellow{color:#eab308;font-weight:700}
.table-shell .blue{color:#84cc16}
.scoring{margin-top:36px;min-height:225px;display:grid;grid-template-columns:1fr 280px;border:1px solid #27272a;box-shadow:0 0 0 1px #000;border-radius:12px;background:#111214;padding:27px}
.scoring-main{padding-right:28px}
.scoring h2{font-size:20px}
.scoring-main>p{font-size:11px}
.score-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:28px}
.score-cards article{height:96px;position:relative;isolation:isolate;overflow:hidden;border:1px solid #27272a;border-radius:9px;background:#18191d;padding:18px}
.score-cards article:after{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(105deg,transparent 48%,rgba(13,105,253,.2))}
.score-cards article.yellow:after{background:linear-gradient(105deg,transparent 48%,rgba(234,179,8,.19))}
.score-cards article.green:after{background:linear-gradient(105deg,transparent 48%,rgba(132,204,22,.18))}
.score-cards img{position:absolute;right:-15px;top:-2px;width:136px;height:100px;z-index:-1}
.score-cards h3{font-size:16px;color:#f4f4f5;margin:0 0 7px}
.score-cards p{font-size:10px;color:#c2c2c7;line-height:1.25;margin:0;max-width:190px}
.coverage{border-left:1px solid #27272a;padding:5px 0 0 27px}
.coverage>span{text-transform:uppercase;color:#66676e;font-size:8px;font-weight:700;letter-spacing:.08em}
.coverage>div{display:flex;gap:45px;margin-top:39px}
.coverage strong{font-size:35px}
.coverage strong:last-child{color:#70a8ff}
.coverage small{display:block;font-size:9px;color:#777880;font-weight:400;margin-top:8px;white-space:nowrap}
.coverage>p{display:flex;align-items:center;gap:7px;color:#84cc16;font-size:9px;margin-top:35px}
.methodology-copy{margin-top:36px;border:1px solid #27272a;box-shadow:0 0 0 1px #000;border-radius:12px;background:#18191d;padding:39px 27px 32px}
.methodology-copy h2{font-size:34px;letter-spacing:-.03em;margin:0 0 24px}
.methodology-copy p{color:#c5c5ca;font-size:15px;line-height:1.43;margin:0 0 21px}
.methodology-copy p:last-child{margin-bottom:0}


/* ── Правки сайта поверх макета ────────────────────────────────────────────
   Стоят ДО медиазапросов намеренно: это исправление базовых значений, а не
   переопределение адаптивки. Если поставить их после, они перебьют размеры
   из брейкпоинтов вёрстки — при равной специфичности выигрывает последний. */

/* ── Блок «How the board is scored»: типографика по макету ───────────────── */

/* Подзаголовок секции. */
.scoring-main > p {
  font-weight: 400;
  font-size: 13px;
  line-height: 18px;
  letter-spacing: 0;
}

/* Карточки: заголовок и текст. */
.score-cards h3 {
  font-weight: 700;
  font-size: 20px;
  line-height: 100%;
  letter-spacing: 0;
}
.score-cards p {
  font-weight: 600;
  font-size: 13px;
  line-height: 100%;
  letter-spacing: 0;
  max-width: 220px;
}

/* Текст стал крупнее — фиксированная высота 96px его больше не вмещает. */
.score-cards article {
  height: auto;
  min-height: 96px;
}

/* Строка со следующим обновлением. Оставлено 11px по значению из макета,
   массовое правило «11 -> 12» сюда не применяем. */
.coverage > p {
  font-weight: 500;
  font-size: 11px;
  line-height: 14px;
  letter-spacing: 0;
}

/* Цифры покрытия центрируются над своими подписями, а не липнут влево. */
.coverage strong {
  text-align: center;
}

/* Заголовок и подписи блока покрытия. */
.coverage > span {
  font-weight: 600;
  font-size: 10px;
  line-height: 14px;
  letter-spacing: 0.6px;
}
.coverage small {
  font-weight: 400;
  font-size: 12px;
  line-height: 16px;
  letter-spacing: 0;
}

/* ── Блок топ-сигнала: типографика по макету ─────────────────────────────── */

/* Надзаголовки колонок: TOP SIGNAL, PROBABILITY SPLIT, CONFIDENCE — роль
   одна, поэтому правило на .overline целиком. */
/* 11px по значению из макета — массовое правило «11 -> 12» сюда не идёт. */
.overline {
  font-weight: 600;
  font-size: 11px;
  line-height: 14px;
  letter-spacing: 0.6px;
}

/* Подписи под процентами: HOME / DRAW / AWAY. */
.split-values small {
  font-weight: 500;
  font-size: 10px;
  line-height: 14px;
  letter-spacing: 0.4px;
}

/* Пояснение под полосой вероятностей. */
.top-probability > p {
  font-weight: 400;
  font-size: 12px;
  line-height: 16px;
  letter-spacing: 0;
}

/* Перевес над рынком под цифрой уверенности. */
.top-confidence small {
  font-weight: 500;
  font-size: 12px;
  line-height: 16px;
  letter-spacing: 0;
}

/* ── Таблица прогнозов: типографика по макету ────────────────────────────── */

/* Подписи колонок. */
th {
  font-weight: 700;
  font-size: 11px;
  line-height: 100%;
  letter-spacing: 0.5px;
}

/* Названия команд и лига под ними. */
.table-match b {
  font-weight: 600;
  font-size: 14px;
  line-height: 18px;
  letter-spacing: 0;
}
.table-match small {
  font-weight: 500;
  font-size: 10px;
  line-height: 13px;
  letter-spacing: 0.5px;
}

/* Время начала. */
td[data-col='kickoff'] {
  font-weight: 500;
  font-size: 14px;
  line-height: 18px;
  letter-spacing: 0;
}

/* Проценты сплита над полоской. */
.mini-split b {
  font-weight: 500;
  font-size: 12px;
  line-height: 16px;
  letter-spacing: 0;
}

/* Коэффициент. */
td[data-col='price'] b {
  font-weight: 700;
  font-size: 15px;
  line-height: 18px;
  letter-spacing: 0;
}

/* BTTS и тотал. */
td[data-col='btts'] span,
td[data-col='over'] span {
  font-weight: 600;
  font-size: 13px;
  line-height: 100%;
  letter-spacing: 0;
}

/*
 * Сигнал и уверенность. В макете расписан только сигнал, но колонки стоят
 * рядом и читаются парой — если оставить уверенность на 12px, разнобой
 * будет заметнее любой ошибки. Выравнивание по центру задано для сигнала,
 * поэтому центрируем колонку целиком, вместе с её заголовком.
 */
td[data-col='signal'] strong,
td[data-col='confidence'] strong {
  font-weight: 700;
  font-size: 15px;
  line-height: 18px;
  letter-spacing: 0;
}
th:nth-child(8),
th:nth-child(9),
td[data-col='signal'],
td[data-col='confidence'] {
  text-align: center;
}

/*
 * Ширины колонок. В вёрстке заданы только восемь из девяти, девятой
 * доставались остатки — из-за этого заголовок CONFIDENCE обрезался.
 * Пересобрал так, чтобы сумма давала ровно 100%.
 */
th:first-child { width: 23% }
th:nth-child(2) { width: 9% }
th:nth-child(3) { width: 15% }
th:nth-child(4) { width: 8% }
th:nth-child(5) { width: 7% }
th:nth-child(6) { width: 10% }
th:nth-child(7) { width: 11% }
th:nth-child(8) { width: 8% }
/* 9% — минимум, при котором CONFIDENCE не режется на суженной таблице
   (на планшете она уходит в горизонтальную прокрутку с min-width 1050px). */
th:nth-child(9) { width: 9% }

/* В макете названия короткие и стоят в одну строку, поэтому там nowrap.
   У нас попадаются «Bodø / Glimt — NEC Nijmegen» — такие обрезались.
   Разрешаем перенос: в 80px высоты строки две строки названия влезают. */
.table-match b { white-space: normal }
.table-match > span { min-width: 0 }

/* ── Правки после приёмки ────────────────────────────────────────────────── */

/*
 * Фильтры доски. В вёрстке они button, а у нас это ссылки: фильтр обязан
 * работать без JS и открываться в новой вкладке. Повторяем вид кнопки.
 */
/*
 * Вся строка таблицы ведёт на матч. Ссылка на названии команд остаётся
 * настоящей — ради поисковика, средней кнопки мыши и перехода по Tab,
 * а остальная площадь строки кликается скриптом.
 */
tbody tr[data-href] { cursor: pointer }
tbody tr[data-href]:hover { background: #1c1d22 }

@media(max-width:1000px){
  .today-hero{min-height:auto;padding-bottom:54px}
  .today-hero-inner{padding-top:72px}
  .today-stats{grid-template-columns:repeat(2,1fr)}
  .top-pick{grid-template-columns:1fr 1fr}
  .top-pick>div:nth-child(2){border-right:0}
  .top-confidence{grid-column:1/-1;border-top:1px solid #2a2b30!important;border-right:0!important;margin-top:22px;padding:22px 0 0!important;display:grid;grid-template-columns:1fr 1fr;align-items:center}
  .top-confidence .overline{grid-column:1/-1;margin-bottom:8px}
  .top-confidence small{grid-column:1}
  .top-confidence .btn{grid-column:2;grid-row:2/4;margin:0;justify-self:end}
  .table-shell{overflow-x:auto}
  table{min-width:1050px}
  .scoring{grid-template-columns:1fr}
  .coverage{border-left:0;border-top:1px solid #27272a;margin-top:27px;padding:24px 0 0}
  .coverage>div,.coverage>p{margin-top:20px}
}

@media(max-width:720px){
  .today-hero{background-position:65% center}
  .today-hero-inner{padding-top:54px}
  .today-hero h1{font-size:37px;max-width:360px;margin-bottom:21px}
  .hero-date{font-size:12px;line-height:1.5;max-width:330px}
  .hero-date span{padding:0 4px}
  .today-stats{gap:9px;margin-top:36px}
  .today-stat{height:86px;padding:15px 13px}
  .today-stat img{width:117px;height:86px}
  .today-stat strong{font-size:22px}
  .today-stat span{font-size:8px;margin-top:8px}
  .hero-intro{margin-top:34px}
  .hero-intro h2{font-size:22px}
  .hero-intro p{font-size:13px}
  .today-content{padding-top:31px}
  .section-row{display:block}
  .section-row h2{font-size:25px}
  .live-status{width:100%;display:flex;align-items:center;gap:10px;margin-top:20px}
  .live-status b{width:160px}
  .live-status small{margin:0}
  .top-pick{display:block;padding:20px;margin-bottom:38px}
  .top-pick>div{border-right:0;border-bottom:1px solid #2a2b30;padding:0 0 22px;margin-bottom:22px}
  .top-pick>div:last-child{border:0!important;margin:0;padding:0!important;display:flex}
  .top-confidence .overline{width:100%}
  .top-confidence strong{font-size:35px}
  .top-confidence .btn{margin-left:auto}
  .board-head{display:block}
  .board-filters{overflow-x:auto;margin-top:18px;padding-bottom:2px}
  .board-filters button,.board-filters a{white-space:nowrap}
  .table-shell{padding:0;background:transparent;border:0;box-shadow:none;overflow:visible}
  table,tbody{display:block;min-width:0}
  thead{display:none}
  tr{display:grid;grid-template-columns:repeat(2,1fr);gap:13px;margin-bottom:12px;border:1px solid #27272a;box-shadow:0 0 0 1px #000;border-radius:10px;background:#18191d;padding:17px}
  td{height:auto;border:0;display:flex;justify-content:space-between;align-items:center;font-size:12px}
  td:before{content:attr(data-label);color:#71727a;text-transform:uppercase;font-size:8px;font-weight:700;letter-spacing:.06em;margin-right:12px}
  td:first-child{grid-column:1/-1;padding-bottom:15px;border-bottom:1px solid #27272a}
  td:first-child:before{display:none}
  .mini-split span{width:72px}
  .table-pick{width:34px;height:25px}
  .scoring{padding:20px}
  .score-cards{grid-template-columns:1fr}
  .score-cards article{height:91px}
  .methodology-copy{padding:27px 20px}
  .methodology-copy h2{font-size:27px}
  .methodology-copy p{font-size:13px}
}

@media(max-width:390px){
  .today-stats{grid-template-columns:1fr 1fr}
  .top-pick-match h3{font-size:22px}
  .split-values{gap:25px}
  tr{grid-template-columns:1fr}
  td:first-child{grid-column:auto}
}

@media(prefers-reduced-motion:reduce){.live-status i,.coverage i{animation:none}}

@media (min-width:721px) and (max-width:1000px){
  .today-hero{min-height:370px;background-position:center}
  .today-hero-inner{padding-top:48px}.today-hero h1{font-size:38px;margin-bottom:8px}.hero-date{font-size:12px}
  .today-stats{grid-template-columns:repeat(4,1fr);gap:16px;margin-top:28px}.today-stat{height:88px;padding:15px}.today-stat img{height:88px}.today-stat strong{font-size:23px}.today-stat span{font-size:9px}
  .hero-intro{margin-top:28px}.hero-intro h2{font-size:23px}.hero-intro p{font-size:13px;max-width:660px}
  .today-content{padding-top:35px}.top-pick{grid-template-columns:1.25fr 1.25fr .75fr;padding:20px 17px}.top-pick>div{padding-inline:20px}.top-pick-match h3{font-size:22px}
  .table-shell{overflow:hidden}table{min-width:0}th:first-child{width:28%}th:nth-child(2){width:10%}th:nth-child(3){width:18%}td{font-size:9px}.table-match b{font-size:10px}.mini-split span{width:70px}.table-shell{padding:0 14px}
  .scoring{grid-template-columns:1fr 235px;padding:20px}.score-cards{gap:10px}.score-cards article{padding:14px}.coverage{padding-left:20px}
  .methodology-copy h2{font-size:27px}.methodology-copy p{font-size:13px}
}

@media (max-width:600px){
  .today-hero{min-height:281px;padding:0;background-position:70% center;text-align:center}.today-hero-inner{padding-top:18px}.today-hero h1{font-size:25px;max-width:none;margin:0 0 4px}.hero-date{font-size:8px;max-width:260px;margin:auto}.hero-date span{padding:0 3px}
  .today-stats{grid-template-columns:1fr 1fr;gap:5px;margin-top:12px}.today-stat{height:66px;padding:11px 9px;text-align:left}.today-stat img{width:92px;height:66px}.today-stat strong{font-size:17px}.today-stat span{font-size:7px;margin-top:7px}
  .hero-intro{margin-top:13px}.hero-intro h2{font-size:17px;margin-bottom:5px}.hero-intro p{font-size:8px;line-height:1.25;max-width:335px;margin:auto}
  .today-content{padding-top:20px}.section-row{text-align:center;margin-bottom:15px}.section-row h2{font-size:18px}.section-row p{font-size:8px}.live-status{margin:9px auto 0;display:block}.live-status b{height:22px;width:145px;margin:auto;font-size:7px}.live-status small{font-size:6px;margin-top:5px}
  .top-pick{display:block;padding:11px 9px;margin-bottom:20px;min-height:281px}.top-pick>div{border:0!important;margin:0;padding:0!important}.top-pick-match .overline{margin-bottom:7px;font-size:7px}.top-pick-match h3{font-size:17px;margin-bottom:5px}.top-pick-match>p{font-size:7px}.top-model{margin-top:9px;gap:9px}.crest-pair>span{width:28px;height:28px}.crest-pair img{width:20px;height:20px}.top-model small{font-size:6px}.top-model strong{font-size:17px}.top-model>b{font-size:8px;margin-top:9px}
  .top-probability{margin-top:10px!important;padding-top:9px!important;border-top:1px solid #27272a!important}.top-probability .overline{margin-bottom:7px}.split-values{gap:0;justify-content:space-between}.split-values b{font-size:17px}.split-values small{font-size:6px;margin-top:3px}.split-bar{margin:7px 0 6px;height:5px}.top-probability>p{font-size:7px}
  .top-confidence{display:grid!important;grid-template-columns:1fr 1fr;margin-top:8px!important;padding-top:8px!important;border-top:1px solid #27272a!important}.top-confidence .overline{grid-column:1/-1;margin-bottom:3px}.top-confidence strong{font-size:25px}.top-confidence small{font-size:7px}.top-confidence .btn{grid-column:2;grid-row:2/4;width:100%;height:30px;margin:0;padding:0;font-size:7px;align-self:center}
  .board-head{padding-bottom:10px;margin-bottom:10px}.board h2{font-size:18px}.board-head p{font-size:8px}.board-filters{gap:5px;margin-top:8px}.board-filters button,.board-filters a{height:25px;padding:0 12px;font-size:8px}
  .table-shell{display:block;padding:4px 8px 0;background:#18191d;border:1px solid #27272a;box-shadow:0 0 0 1px #000;overflow:hidden}
  table{display:table;width:100%;min-width:0;table-layout:fixed}thead{display:table-header-group}tbody{display:table-row-group}tr{display:table-row;background:transparent;border:0;padding:0;margin:0}th{display:table-cell;height:27px;font-size:5px}td{display:table-cell;height:48px;border-top:1px solid #27272a;padding:2px;font-size:6px}td:before{display:none}th:first-child{width:42%}th:nth-child(2){width:14%}th:nth-child(3){width:25%}th:nth-child(n+4),td:nth-child(n+4){display:none}.table-match{gap:4px}.table-crests{transform:scale(.72);transform-origin:left center;margin-right:-8px}.table-match b{font-size:7px}.table-match small{font-size:5px;margin-top:2px}.mini-split b{font-size:6px}.mini-split span{width:55px;height:3px;margin-top:4px}
  .scoring{display:block;margin-top:18px;padding:12px}.scoring h2{font-size:18px}.scoring-main{padding:0}.scoring-main>p{font-size:8px}.coverage{border:0;padding:0;margin:13px 0 0}.coverage>div{margin-top:9px;gap:28px}.coverage strong{font-size:24px}.coverage>p{margin-top:9px}.score-cards{display:block;margin-top:13px}.score-cards article{height:70px;margin-top:6px;padding:10px}.score-cards h3{font-size:12px}.score-cards p{font-size:7px;max-width:155px}
  .methodology-copy{margin-top:18px;padding:13px 10px}.methodology-copy h2{font-size:18px;margin-bottom:10px}.methodology-copy p{font-size:8px;line-height:1.35;margin-bottom:10px}
}

@media (max-width:600px){
  .today-hero{min-height:506px}.today-hero-inner{padding-top:27px}.today-hero h1{font-size:37px;line-height:1;max-width:340px;margin:0 auto 10px}.hero-date{font-size:12px;max-width:330px}
  .today-stats{gap:12px;margin-top:28px}.today-stat{height:90px;padding:17px 15px;border-radius:10px}.today-stat img{width:126px;height:90px}.today-stat strong{font-size:28px}.today-stat span{font-size:11px;margin-top:10px}
  .hero-intro{margin-top:27px}.hero-intro h2{font-size:24px;margin-bottom:9px}.hero-intro p{font-size:13px;line-height:1.35}
  .today-content{padding-top:42px}.section-row{margin-bottom:26px}.section-row h2{font-size:25px}.section-row p{font-size:13px;margin-top:8px}.live-status{margin-top:15px}.live-status b{width:215px;height:35px;font-size:10px}.live-status small{font-size:9px;margin-top:9px}
  .top-pick{min-height:0;padding:20px 16px;margin-bottom:38px}.top-pick-match .overline{font-size:10px;margin-bottom:18px}.top-pick-match h3{font-size:25px;margin-bottom:10px}.top-pick-match>p{font-size:12px}.top-model{margin-top:22px;gap:17px}.crest-pair>span{width:42px;height:42px}.crest-pair img{width:30px;height:30px}.top-model small{font-size:9px}.top-model strong{font-size:28px}.top-model>b{font-size:13px;margin-top:15px}
  .top-probability{margin-top:24px!important;padding-top:20px!important}.top-probability .overline{font-size:10px;margin-bottom:18px}.split-values b{font-size:27px}.split-values small{font-size:9px;margin-top:7px}.split-bar{height:12px;margin:18px 0 15px}.top-probability>p{font-size:12px;line-height:1.4}
  .top-confidence{margin-top:24px!important;padding-top:20px!important}.top-confidence .overline{font-size:10px;margin-bottom:15px}.top-confidence strong{font-size:43px}.top-confidence small{font-size:11px}.top-confidence .btn{height:50px;font-size:11px;border-radius:8px}
  .board-head{padding-bottom:16px;margin-bottom:16px}.board h2{font-size:25px}.board-head p{font-size:13px}.board-filters{gap:8px;margin-top:14px}.board-filters button,.board-filters a{height:38px;padding:0 17px;font-size:12px}
  .table-shell{padding:5px 16px 0}th{height:48px;font-size:8px}td{height:68px;font-size:10px;padding:4px}.table-match{gap:8px}.table-crests{transform:scale(.9);margin-right:-3px}.table-match b{font-size:12px}.table-match small{font-size:8px;margin-top:5px}.mini-split b{font-size:10px}.mini-split span{width:85px;height:5px;margin-top:8px}
  .scoring{display:flex;flex-direction:column;margin-top:48px;padding:24px 16px}.scoring-main{display:contents}.scoring h2{order:1;font-size:25px}.scoring-main>p{order:2;font-size:13px;line-height:1.35}.coverage{order:3;margin-top:24px;padding-top:24px;border-top:1px solid #27272a}.coverage>span{font-size:9px}.coverage>div{margin-top:26px;gap:50px}.coverage strong{font-size:38px}.coverage small{font-size:10px}.coverage>p{font-size:10px;margin-top:20px}.score-cards{order:4}
  .score-cards{margin-top:27px}.score-cards article{height:113px;margin-top:10px;padding:18px}.score-cards h3{font-size:18px}.score-cards p{font-size:11px;max-width:220px}
  .methodology-copy{margin-top:48px;padding:25px 16px}.methodology-copy h2{font-size:25px;margin-bottom:18px}.methodology-copy p{font-size:13px;line-height:1.42;margin-bottom:17px}
}

/* Чипы в вёрстке — <button>, у него текст центрируется сам. У ссылки нет:
   она становится флекс-элементом и текст прижимается влево. Заметнее всего
   на пагинации, где в кнопке одна цифра. */
.board-filters a{display:inline-flex;align-items:center;justify-content:center}

/* Тон Signal при сильном расхождении модели с рынком и нейтральный тон
   уверенности ниже 50% (src/web/presenter.js — boardRow, probabilityTone). */
.table-shell .diverges{color:#a1a1aa;font-weight:700}
.table-shell .neutral{color:#d4d4d8;font-weight:600}
.signal-note{display:block;margin-top:2px;font-size:10px;font-weight:500;letter-spacing:.02em;color:#71717a;text-transform:lowercase}

/* Легенда цветов под таблицей дня. */
.table-legend{display:flex;flex-wrap:wrap;gap:6px 20px;margin:14px 2px 0;font-size:12px;color:#8f9098}
.table-legend span{display:inline-flex;align-items:center;gap:6px}
.legend-dot{width:8px;height:8px;border-radius:50%;flex:none;background:#d4d4d8}
.legend-dot.positive{background:#84cc16}
.legend-dot.warning{background:#eab308}
.legend-dot.neutral{background:#a1a1aa}

/* Кнопка под текстом пустого дня: без отступа она прилипала к строке
   с датой ближайшего тура. */
.empty__action { margin-top: 20px; }

/* ── SEO-текст и FAQ (M1XB-3701) ───────────────────────────────────────────
   Длинный текст с подзаголовками и списками в той же панели, что и прежний
   «What’s Really Powering These AI Picks». Подзаголовки мельче заголовка
   панели: их в тексте семь-восемь, и на 34px страница превратилась бы
   в сплошные заголовки. */
.seo-copy h2 { font-size: 26px; margin: 34px 0 16px; }
.seo-copy > :first-child { margin-top: 0; }
.seo-copy ul,
.seo-copy ol { margin: 0 0 21px; padding-left: 22px; color: #c5c5ca; font-size: 15px; line-height: 1.43; }
.seo-copy ul { list-style: disc; }
.seo-copy ol { list-style: decimal; }
.seo-copy li { margin-bottom: 10px; }
.seo-copy li:last-child { margin-bottom: 0; }
.seo-copy strong { color: #fafafa; }
.seo-copy a { color: #3b8bff; }

/* Вступление tomorrow вместо «Start With the Strongest Picks» — абзац без
   заголовка, поэтому чуть крупнее обычного текста первого экрана. */
.hero-intro > p:only-child { font-size: 17px; }

/* FAQ — общий аккордеон (components.css). Рамку панели снимаем: у каждого
   вопроса она своя, панель в панели читалась бы тяжело. */
.day-faq.methodology-copy { background: none; border: 0; box-shadow: none; padding: 0; }
.day-faq h2 { margin-bottom: 24px; }
.day-faq .faq-item__a p { margin: 0 0 10px; font-size: inherit; line-height: inherit; color: inherit; }
.day-faq .faq-item__a p:last-child { margin-bottom: 0; }

@media (max-width: 600px) {
  .seo-copy h2 { font-size: 21px; margin: 26px 0 12px; }
  .seo-copy ul, .seo-copy ol { font-size: 13px; line-height: 1.42; }
  .hero-intro > p:only-child { font-size: 15px; }
}

/* Переводы страницы (M1XB-3730) длиннее английского. Плитки растут по
   тексту (русское «Процент выигрышных прогнозов (30 дней)» в три строки
   обрезалось), кнопка «Открыть матч» держит подпись по центру, а заголовки
   колонок таблицы не слипаются («PRONÓSTICO» + «BTTS»). */
.today-stat{height:auto!important;min-height:100px}
@media(max-width:1000px){.today-stat{min-height:88px}}
@media(max-width:600px){.today-stat{min-height:90px}}
.top-confidence .btn{display:inline-flex;align-items:center;justify-content:center;line-height:1.2}
/* Колонка прогноза на других языках шире: «PRONÓSTICO», «КОЭФФИЦИЕНТ» не влезали
   в 7–8%. Английская таблица — как была. */
@media(min-width:1001px){html:not([lang="en"]) th:nth-child(5){width:10%}html:not([lang="en"]) th:first-child{width:18%}html:not([lang="en"]) th:nth-child(4){width:10%}html:not([lang="en"]) th{padding-right:10px}}
