
.brand-logo{display:block;height:32px;width:auto}.brand-logo--d{display:none}
.wordmark .brand-logo{height:28px}.topnav__brand{display:flex;align-items:center}
[data-theme="dark"] .brand-logo--l{display:none}[data-theme="dark"] .brand-logo--d{display:block}
@media (prefers-color-scheme:dark){:root:not([data-theme]) .brand-logo--l{display:none}:root:not([data-theme]) .brand-logo--d{display:block}}
/* без горизонтальной прокрутки: спрятанные подсказки .tip__bubble не должны расширять страницу */
html,body{overflow-x:clip}
/* компьютер шире (Костя 18.10): контейнер 1440 вместо 1200 из макета */
:root{--page-max:1440px;--page-pad:clamp(24px,2.5vw,48px)}
/* базовый моушн (18.10) */
.mo .rv{opacity:0;transform:translateY(18px)}
.mo .rv-in{opacity:1;transform:none;transition:opacity .6s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
@media (hover:hover) and (prefers-reduced-motion:no-preference){
  main .card,main .match-row{transition:transform .25s cubic-bezier(.2,.7,.2,1),box-shadow .25s ease,opacity .6s,background-color .2s}
  main a.card:hover,main .card:has(> a.btn):hover{transform:translateY(-3px);box-shadow:0 14px 34px -18px rgba(18,46,34,.35)}
  main .match-row:hover{transform:translateX(3px)}
}
@media (prefers-reduced-motion:no-preference){
  .btn,.msgr__btn,.tab{transition:transform .15s ease}
  .btn:active,.msgr__btn:active{transform:scale(.97)}
}
/* «Набей мяч» */
.juggle{display:flex;flex-direction:column;gap:14px;overflow:hidden}
.juggle__head{display:flex;align-items:flex-start;gap:16px}
.juggle__head>div:first-child{flex:1;display:flex;flex-direction:column;gap:6px}
.juggle__score,.juggle__best{position:absolute;top:14px;display:flex;flex-direction:column;gap:2px;pointer-events:none;z-index:1}
.juggle__score{left:16px}.juggle__best{right:16px;align-items:flex-end}
.juggle__n,.juggle__b{font-family:var(--f-display);font-weight:500;font-size:34px;line-height:1;font-variant-numeric:tabular-nums}
.juggle__n{color:var(--c-accent-text,var(--c-accent))}
.juggle__b{color:var(--c-text-2);font-size:24px}
.juggle__n--bump{animation:jbump .28s cubic-bezier(.2,.7,.2,1)}
@keyframes jbump{40%{transform:scale(1.25)}}
.juggle__stage{position:relative;border-radius:18px;background:linear-gradient(180deg,color-mix(in srgb,var(--c-accent) 4%,transparent),color-mix(in srgb,var(--c-accent) 10%,transparent));}
.juggle__cv{display:block;width:100%;height:340px;touch-action:none;cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:18px}
.juggle__cv:focus-visible{outline:2px solid var(--c-accent);outline-offset:2px}
.juggle__hint{position:absolute;left:0;right:0;top:44%;text-align:center;font-size:14px;color:var(--c-text-2);pointer-events:none;transition:opacity .3s}
.juggle--on:not(.juggle--over) .juggle__hint{opacity:0}
@media (min-width:1024px){.juggle__cv{height:400px}}
.msgr--wide{width:100%}.msgr--wide .msgr__btn{flex:1;justify-content:center;height:48px;border-radius:24px}
/* видео в главном блоке — только светлая тема */
.hero__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .8s ease;pointer-events:none}
.hero__video.is-on{opacity:1}
[data-theme="dark"] .hero__video{display:none}
@media (prefers-color-scheme:dark){:root:not([data-theme]) .hero__video{display:none}}
/* рекордсмены «Набей мяч» */
.juggle__lead{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:14px;background:color-mix(in srgb,var(--c-accent) 8%,transparent);font-size:14px}
.juggle__crown{width:18px;height:18px;flex:none;background:var(--c-accent);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 7l4.5 4L12 4l4.5 7L21 7l-2 12H5z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 7l4.5 4L12 4l4.5 7L21 7l-2 12H5z'/%3E%3C/svg%3E") center/contain no-repeat}
.juggle__leadtxt{flex:1;min-width:0;line-height:1.35}
.juggle__leadtxt b{font-variant-numeric:tabular-nums}
.juggle__topbtn{flex:none;height:32px;padding:0 14px;border-radius:16px;border:1px solid var(--c-line);background:var(--c-card,#fff);color:var(--c-text);font:600 13px var(--f-ui);cursor:pointer}
.juggle__topbtn[aria-expanded="true"]{background:var(--c-text);color:var(--c-bg)}
.juggle__top{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;border:1px solid var(--c-line);border-radius:14px;overflow:hidden}
.juggle__top li{display:flex;align-items:center;gap:12px;padding:10px 14px;font-size:14px;border-top:1px solid var(--c-line)}
.juggle__top li:first-child{border-top:0}
.juggle__top li.is-me{background:color-mix(in srgb,var(--c-accent) 10%,transparent);font-weight:600}
.juggle__top li b{font-variant-numeric:tabular-nums}
.juggle__pl{width:22px;color:var(--c-text-2);font-variant-numeric:tabular-nums}
.juggle__nm{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.juggle__empty{color:var(--c-text-2)}
.juggle__claim{display:flex;flex-direction:column;gap:10px;padding:14px;border-radius:14px;border:1px dashed var(--c-accent)}
.juggle__claimtxt{margin:0;font-size:14px;line-height:1.45}

/* шапка компьютера: меню на всю ширину, крупнее; фирменные кнопки Telegram и MAX (Костя 18.10) */
@media (min-width:1024px){
:root{--nav-h:68px}
.topnav__in{gap:clamp(24px,3vw,48px)}
.topnav__brand{margin-right:0}
.topnav__brand .brand-logo{height:34px;width:auto}
.topnav__links{flex:1;justify-content:space-evenly;gap:8px}
.topnav__links a{font-size:16px;font-weight:500;padding:8px 4px;position:relative}
.topnav__links a[aria-current="page"]::after{content:"";position:absolute;left:4px;right:4px;bottom:0;height:2px;border-radius:1px;background:var(--c-accent,currentColor)}
}
.msgr{display:flex;gap:10px;flex:none}
.msgr__btn{display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 18px 0 12px;border-radius:21px;color:#fff;font-family:var(--f-ui);font-size:15px;font-weight:600;letter-spacing:.01em;white-space:nowrap;box-shadow:0 1px 0 rgba(255,255,255,.25) inset,0 6px 16px -6px var(--msgr-sh);transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}
.msgr__btn:hover{transform:translateY(-1px);filter:brightness(1.06);box-shadow:0 1px 0 rgba(255,255,255,.25) inset,0 10px 22px -8px var(--msgr-sh)}
.msgr__btn:active{transform:translateY(0)}
.msgr__btn--tg{background:linear-gradient(180deg,#37AEE2 0%,#1E96C8 100%);--msgr-sh:rgba(30,150,200,.55)}
.msgr__btn--max{background:linear-gradient(135deg,#00C6FF 0%,#1591FF 35%,#3C22FE 70%,#8419FF 100%);--msgr-sh:rgba(80,40,255,.5)}
.msgr__btn svg{flex:none}
/* site7: только то, чего нет в макете (значения токенов не менялись) */
[hidden] { display: none !important; }
html.has-main .tabbar { display: none; }
html.tma .theme-row { display: none; }
.hero__media picture { position: absolute; inset: 0; display: block; }
.hero__media picture img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.emblem--s, .emblem--l { overflow: hidden; }
.emblem--s { font-size: 0; }
.emblem img { display: block; }
.league-mark { overflow: hidden; }
.league-mark img { width: 100%; height: 100%; object-fit: contain; display: block; }
.col-main { gap: 24px; }
@media (min-width: 1024px) { .col-main { display: flex; flex-direction: column; min-width: 0; } }
.btn[aria-disabled="true"] { opacity: 0.4; pointer-events: none; }

/* ── SEO-этап: хабы дней, страницы команд (только токены макета) ── */
.pill-nav { display: flex; flex-wrap: wrap; gap: var(--s-2); }
.pill-nav a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 16px; border-radius: 22px; border: var(--hair) solid var(--c-line-strong); font-size: 14px; font-weight: 600; color: var(--c-text); }
.pill-nav a:hover { border-color: var(--c-accent); color: var(--c-accent-text); }
.pill-nav a[aria-current="page"] { background: var(--c-accent); border-color: var(--c-accent); color: var(--c-on-accent); }
.section > .pill-nav { padding: 0 6px; }
.seo-intro, .seo-text p { line-height: 1.6; }
.seo-intro { margin: 0; }
.t-team--link { display: inline-block; padding: 2px 0; text-align: center; }
.t-team--link:hover { color: var(--c-accent-text); }
.day-lg { padding: 0 0 var(--s-2); }
.day-lg__h { display: flex; align-items: center; justify-content: space-between; gap: var(--s-3); min-height: 44px; font-size: 15px; font-weight: 600; margin: 0; border-top: var(--hair) solid var(--c-line); }
.day-lg__h .link { min-height: 0; overflow-wrap: anywhere; }
.faq-plain + .faq-plain { border-top: var(--hair) solid var(--c-line); padding-top: 14px; }
.acc__lg[href] .t-caption { text-align: right; }

/* ── поиск по линии (в макете нет поля ввода: собрано из токенов — карточка, линия, r-pill, акцент) ── */
.search { position: relative; margin-top: var(--s-2); }
.search__box { display: flex; align-items: center; gap: var(--s-2); min-height: 48px; padding: 0 var(--s-4); background: var(--c-card); border: var(--hair) solid var(--c-line); border-radius: var(--r-pill); box-shadow: var(--shadow-control); color: var(--c-text-2); }
.search__box:focus-within { border-color: var(--c-accent); box-shadow: 0 0 0 2px var(--c-accent-soft); }
.search__mag { display: inline-flex; flex: none; }
.search__input { flex: 1; min-width: 0; height: 46px; border: 0; background: transparent; color: var(--c-text); font: inherit; font-size: 16px; outline: none; -webkit-appearance: none; appearance: none; }
.search__input::placeholder { color: var(--c-text-2); opacity: 1; }
.search__input::-webkit-search-cancel-button { height: 18px; width: 18px; }
.search__panel { position: absolute; z-index: 30; left: 0; right: 0; top: calc(100% + var(--s-2)); max-height: min(70vh, 480px); overflow-y: auto; background: var(--c-card); border: var(--hair) solid var(--c-line); border-radius: var(--r-inner); box-shadow: var(--shadow-card); padding: var(--s-1) 0; }
.search__list { display: flex; flex-direction: column; }
.search__head { padding: var(--s-3) var(--s-4) var(--s-1); color: var(--c-text-2); }
.search__item { display: flex; flex-direction: column; justify-content: center; gap: 2px; min-height: 48px; padding: var(--s-2) var(--s-4); }
.search__item:hover, .search__item.is-active { background: var(--c-accent-soft); }
.search__a { font-size: 15px; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.search__empty { padding: var(--s-4); }
.search__status { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media (min-width: 1024px) { .search { max-width: 520px; } }
/* ── «Вся линия»: страны-аккордеоны (details/summary, без JS работают) ── */
.acc { padding-top: 0; padding-bottom: 0; }
.acc__item { border-top: var(--hair) solid var(--c-line); }
.acc__item:first-child { border-top: 0; }
.acc__sum { display: flex; align-items: center; gap: var(--s-3); min-height: 56px; cursor: pointer; list-style: none; }
.acc__sum::-webkit-details-marker { display: none; }
.acc__name { flex: 1; min-width: 0; font-size: 16px; font-weight: 600; }
.acc__n { font-size: 13px; color: var(--c-text-2); font-variant-numeric: tabular-nums lining-nums; white-space: nowrap; }
.acc__chev { display: inline-flex; color: var(--c-text-2); transition: transform var(--t-base) var(--ease-out); }
.acc__item[open] > .acc__sum .acc__chev { transform: rotate(180deg); }
.acc__list { list-style: none; padding: 0 0 var(--s-2); margin: 0; display: flex; flex-direction: column; }
.acc__lg { display: flex; align-items: center; justify-content: space-between; gap: var(--s-3); min-height: 48px; padding: var(--s-2) 0 var(--s-2) var(--s-3); border-radius: var(--r-tile); }
.acc__lg:hover { background: var(--c-bg); }
.acc__lgname { flex: 1; min-width: 0; font-size: 15px; overflow-wrap: anywhere; }
.acc__lg .t-caption { white-space: nowrap; font-variant-numeric: tabular-nums lining-nums; }
/* ── карточка чемпионата в «Топ»: заголовок-ссылка ── */
.league__link { display: flex; align-items: center; gap: 10px; min-height: 44px; }
/* ── страница чемпионата / крошки ── */
.crumbs { font-size: 13px; color: var(--c-text-2); display: flex; gap: 6px; flex-wrap: wrap; }
.crumbs a { display: inline-flex; align-items: center; min-height: 24px; }
.lg-head { display: flex; align-items: center; gap: var(--s-4); }
.lg-head__txt { display: flex; flex-direction: column; gap: var(--s-1); min-width: 0; }
.league-mark--l { width: 56px; height: 56px; border-radius: var(--r-tile); font-size: 14px; flex: none; }
.topbar__cap { flex: 1; min-width: 0; text-align: center; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; padding: 0 var(--s-2); }
.topbar__gap { width: 44px; flex: none; }

/* ── тег «кэф выше справедливой линии» (подсказка .tip из макета, пузырь выровнен по левому краю) ── */
.edge-tip { vertical-align: middle; }
.edge-row { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 6px 10px; min-height: 36px; }
.edge-tag { position: relative; display: inline-flex; align-items: center; gap: 6px; min-height: 26px; padding: 0 10px; border-radius: var(--r-pill); background: var(--c-accent-soft); color: var(--c-accent-text); font-size: 12px; font-weight: 600; text-align: left; }
.edge-tag::after { content: ""; position: absolute; inset: -9px -4px; }
.tip.edge-tip .tip__bubble { left: 0; transform: translate(0, 4px); width: min(260px, calc(100vw - 64px)); }
.tip.edge-tip .tip__bubble::after { left: 24px; margin-left: -6px; }
.tip.edge-tip:hover .tip__bubble, .tip.edge-tip:focus-within .tip__bubble, .tip.edge-tip[data-open="true"] .tip__bubble { transform: translate(0, 0); }
/* ── точность ── */
.acc-tile { gap: 4px; padding: 18px; }
.calib__row--dim { opacity: 0.55; }
.acc-bars { display: flex; flex-direction: column; gap: 16px; }
.bar-row2 { display: grid; grid-template-columns: 120px minmax(0,1fr) 56px; align-items: center; gap: 4px 12px; }
.bar-row2 .bar { height: 10px; border-radius: 5px; background: var(--c-track); overflow: hidden; }
.bar-row2 .bar span { display: block; height: 100%; border-radius: 5px; }
.bar-row2__n { grid-column: 1 / -1; }
.kv { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 48px; padding: 8px 0; border-top: var(--hair) solid var(--c-line); }
.kv:first-of-type { border-top: 0; }
/* ── экспресс: описание и тег под исходом ── */
.leg__body { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.leg__story { font-size: 14px; line-height: 1.5; color: var(--c-text-2); }
.leg__tag { padding: 2px 0; }
.leg__link { align-self: flex-start; font-size: 14px; }
/* ── Ты против ИИ ── */
.vs-day { padding: var(--s-2) 6px 0; }
.vsrow { display: grid; grid-template-columns: 48px minmax(0,1fr) auto; align-items: center; gap: 12px; min-height: 72px; padding: 10px 0; border-top: var(--hair) solid var(--c-line); }
.vsrow:first-child { border-top: 0; }
.vsrow__teams { display: flex; flex-direction: column; gap: 4px; min-width: 0; min-height: 44px; justify-content: center; }
.vsrow__teams .match-row__team span:last-child { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.vsrow__add { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 44px; padding: 0 14px; border-radius: 22px; border: var(--hair) solid var(--c-line-strong); color: var(--c-text); font-size: 14px; font-weight: 600; white-space: nowrap; transition: background-color var(--t-base) var(--ease-out), color var(--t-base); }
.vsrow__add svg { display: none; }
.vsrow__add[aria-pressed="true"] { background: var(--c-accent); border-color: var(--c-accent); color: var(--c-on-accent); }
.vsrow__add[aria-pressed="true"] svg { display: block; }
.vsrow__add[aria-disabled="true"] { opacity: 0.4; pointer-events: none; }
.vs-aside { order: -1; }
.vs-set { display: flex; flex-direction: column; gap: var(--s-3); }
.vs-set:empty { display: none; }
.vs-card__side { display: flex; flex-direction: column; align-items: flex-end; gap: 2px; text-align: right; }
.vs-card__rm { min-height: 44px; min-width: 44px; padding: 0 4px; font-size: 13px; color: var(--c-text-2); }
.vs-card a.t-team { display: inline-block; }
.vs-card .seg button:disabled { opacity: 0.5; cursor: default; }
.vs-res { border-top: var(--hair) solid var(--c-line); padding-top: var(--s-3); min-height: 44px; }
.vs-score__big { display: flex; align-items: baseline; justify-content: center; gap: 16px; }
.vs-score__lab { display: flex; justify-content: space-between; padding: 0 12px; }
@media (min-width: 1024px) {
  .vs-main .vs-list { grid-column: 1; grid-row: 1; }
  .vs-main .vs-aside { grid-column: 2; grid-row: 1; order: 0; }
}
/* ── архив: матч после начала и «Итоги» на странице чемпионата (только токены макета) ── */
.score-big, .res-row__score, .verdict, .mark { font-variant-numeric: tabular-nums lining-nums; }
.score-big { font-family: var(--f-display); font-weight: 400; font-size: 44px; line-height: 1; letter-spacing: -0.02em; white-space: nowrap; color: var(--c-text); }
.result { gap: var(--s-3); }
.result__head { display: flex; align-items: center; gap: var(--s-3); min-width: 0; }
.result__ic { flex: none; width: 36px; height: 36px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--c-accent-soft); color: var(--c-accent-text); }
.result__ic--idle { background: var(--c-done); color: var(--c-text-2); }
.live-dot { width: 12px; height: 12px; border-radius: 50%; background: var(--c-accent); }
.result__title { margin: 0; min-width: 0; overflow-wrap: anywhere; }
.verdicts { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.verdict { display: flex; align-items: flex-start; gap: var(--s-3); min-height: 44px; padding: 10px 0; border-top: var(--hair) solid var(--c-line); font-size: 15px; line-height: 1.4; }
.verdict:first-child { border-top: 0; }
.verdict__ic { flex: none; width: 24px; height: 24px; margin-top: 0; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; }
.verdict--hit .verdict__ic { background: var(--c-accent); color: var(--c-on-accent); }
.verdict--miss .verdict__ic { background: var(--c-done); color: var(--c-text-2); box-shadow: inset 0 0 0 1px var(--c-line-strong); }
.verdict--info .verdict__ic { color: var(--c-text-2); }
.verdict b { font-weight: 600; }
.verdict--hit b { color: var(--c-accent-text); }
.miss-note { margin: 0; padding-top: var(--s-3); border-top: var(--hair) solid var(--c-line); line-height: 1.45; }
.fixed-note { display: flex; align-items: center; gap: var(--s-2); margin: 0; color: var(--c-text-2); font-size: 13px; line-height: 1.35; }
.fixed-note svg { flex: none; }
.chip { display: inline-flex; align-items: center; gap: 6px; min-height: 28px; padding: 0 10px; border-radius: var(--r-pill); font-size: 13px; font-weight: 600; white-space: nowrap; }
.chip--hit { background: var(--c-accent); color: var(--c-on-accent); }
.chip--miss { background: var(--c-done); color: var(--c-text-2); box-shadow: inset 0 0 0 1px var(--c-line-strong); }
.res-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 6px 12px; min-height: 64px; padding: 12px 0; border-top: var(--hair) solid var(--c-line); }
.res-row:first-child { border-top: 0; }
.res-row__teams { display: flex; flex-direction: column; gap: 2px; min-width: 0; font-size: 15px; font-weight: 600; }
.res-row__teams span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.res-row__sc { display: flex; flex-direction: column; align-items: flex-end; gap: 2px; }
.res-row__score { font-family: var(--f-display); font-size: 26px; line-height: 1; white-space: nowrap; }
.res-row__marks { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 6px 14px; }
.mark { display: inline-flex; align-items: center; gap: 6px; min-height: 24px; font-size: 13px; color: var(--c-text-2); }
.mark i { flex: none; width: 18px; height: 18px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-style: normal; }
.mark--hit i { background: var(--c-accent); color: var(--c-on-accent); }
.mark--miss i { background: var(--c-done); color: var(--c-text-2); box-shadow: inset 0 0 0 1px var(--c-line-strong); }
.mark--hit { color: var(--c-text); }
@media (min-width: 1024px) { .score-big { font-size: 56px; } }
/* ── симулятор (очки): купон, ставки, рейтинг — только токены макета ── */
.sim-num { font-variant-numeric: tabular-nums lining-nums; }
.sim-head { display: flex; flex-direction: column; gap: 10px; padding: 20px 4px 0; }
.sim-sub { display: flex; gap: var(--s-2); flex-wrap: wrap; }
.sim-sub a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 16px; border-radius: 22px; border: var(--hair) solid var(--c-line-strong); font-size: 14px; font-weight: 600; color: var(--c-text); }
.sim-sub a[aria-current="page"] { background: var(--c-accent); border-color: var(--c-accent); color: var(--c-on-accent); }
.sim-stack { display: flex; flex-direction: column; gap: var(--s-3); }
.seg--2 { grid-template-columns: repeat(2, minmax(0,1fr)); }
.sim-balance { gap: var(--s-2); }
.sim-balance__row { display: flex; align-items: baseline; gap: var(--s-3); flex-wrap: wrap; }
.sim-balance .t-num-xl { font-size: 64px; }
.sim-extra { display: flex; flex-direction: column; gap: var(--s-3); align-items: flex-start; }
.sim-extra:empty, #sim-login-slot:empty { display: none; }
.sim-tiles { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: var(--s-2); width: 100%; }
.sim-rules { margin: 0; padding-left: 20px; display: flex; flex-direction: column; gap: var(--s-2); }
.sim-login { display: flex; flex-direction: column; align-items: flex-start; gap: var(--s-3); }
.sim-login__widget { min-height: 44px; }
.sim-logincard { gap: var(--s-3); }
/* карточка «Поставить очки» на странице матча */
.sim-card { gap: var(--s-3); }
.sim-card__head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--s-3); flex-wrap: wrap; }
.sim-group { display: flex; flex-direction: column; gap: 6px; }
.sim-opts { display: grid; gap: var(--s-2); }
.sim-opts--3 { grid-template-columns: repeat(3, minmax(0,1fr)); }
.sim-opts--2 { grid-template-columns: repeat(2, minmax(0,1fr)); }
.sim-opt { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; min-height: 56px; padding: 6px 8px; border-radius: var(--r-tile); border: var(--hair) solid var(--c-line-strong); background: transparent; color: var(--c-text); transition: background-color var(--t-base) var(--ease-out), color var(--t-base), border-color var(--t-base); -webkit-tap-highlight-color: transparent; }
.sim-opt:active { transform: scale(0.97); }
.sim-opt__name { font-size: 13px; color: var(--c-text-2); }
.sim-opt__odds { font-family: var(--f-display); font-size: 20px; line-height: 1.1; font-variant-numeric: tabular-nums lining-nums; }
.sim-opt__ic { position: absolute; top: 6px; right: 8px; display: inline-flex; color: var(--c-text-2); }
.sim-opt__ic svg + svg, .sim-opt[aria-pressed="true"] .sim-opt__ic svg:first-child { display: none; }
.sim-opt[aria-pressed="true"] .sim-opt__ic svg + svg { display: block; }
.sim-opt[aria-pressed="true"] { background: var(--c-accent); border-color: var(--c-accent); color: var(--c-on-accent); }
.sim-opt[aria-pressed="true"] .sim-opt__name, .sim-opt[aria-pressed="true"] .sim-opt__ic { color: var(--c-on-accent); }
.sim-opt:disabled { opacity: 0.4; pointer-events: none; }
/* плавающий купон над таббаром */
.sim-coupon { position: fixed; z-index: 55; left: 50%; transform: translateX(-50%); bottom: calc(98px + env(safe-area-inset-bottom)); width: min(362px, calc(100% - 28px)); display: flex; flex-direction: column; background: var(--c-card); border: var(--hair) solid var(--c-line); border-radius: var(--r-inner); box-shadow: var(--shadow-sheet); overflow: hidden; }
html.has-main .sim-coupon { bottom: calc(14px + env(safe-area-inset-bottom)); }
html.sim-has .screen { padding-bottom: calc(190px + env(safe-area-inset-bottom)); }
.sim-coupon__bar { display: flex; align-items: center; gap: var(--s-2); min-height: 52px; padding: 0 var(--s-4); width: 100%; text-align: left; color: var(--c-text); font-family: var(--f-ui); font-size: 15px; font-weight: 600; }
.sim-coupon__ttl { flex: none; }
.sim-pill { display: inline-flex; align-items: center; justify-content: center; min-width: 22px; height: 22px; padding: 0 6px; border-radius: var(--r-pill); background: var(--c-accent); color: var(--c-on-accent); font-size: 12px; font-weight: 700; font-variant-numeric: tabular-nums lining-nums; }
.sim-coupon__tot { margin-left: auto; font-variant-numeric: tabular-nums lining-nums; color: var(--c-accent-text); }
.sim-coupon__chev { flex: none; width: 10px; height: 10px; border-right: 2px solid var(--c-text-2); border-bottom: 2px solid var(--c-text-2); transform: rotate(45deg) translate(-2px, -2px); }
.sim-coupon__bar[aria-expanded="true"] .sim-coupon__chev { transform: rotate(-135deg); }
.sim-coupon__body { display: flex; flex-direction: column; gap: var(--s-2); padding: 0 var(--s-4) var(--s-4); max-height: min(58vh, 460px); overflow-y: auto; border-top: var(--hair) solid var(--c-line); padding-top: var(--s-3); }
.sim-legs { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.sim-leg { display: grid; grid-template-columns: minmax(0,1fr) auto 44px; align-items: center; gap: var(--s-2); min-height: 52px; border-top: var(--hair) solid var(--c-line); }
.sim-leg:first-child { border-top: 0; }
.sim-leg__tx { display: flex; flex-direction: column; min-width: 0; }
.sim-leg__m { font-size: 14px; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sim-leg__o { font-size: 13px; color: var(--c-text-2); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sim-leg__k { font-family: var(--f-display); font-size: 18px; font-variant-numeric: tabular-nums lining-nums; }
.sim-x { width: 44px; height: 44px; font-size: 22px; line-height: 1; color: var(--c-text-2); }
.sim-row { display: flex; align-items: center; justify-content: space-between; min-height: 28px; }
.sim-lab { font-size: 13px; color: var(--c-text-2); }
.sim-input { height: 48px; width: 100%; padding: 0 var(--s-4); border-radius: var(--r-tile); border: var(--hair) solid var(--c-line-strong); background: var(--c-bg); color: var(--c-text); font-family: var(--f-ui); font-size: 16px; font-variant-numeric: tabular-nums lining-nums; -webkit-appearance: none; appearance: none; }
.sim-input:focus { outline: none; border-color: var(--c-accent); box-shadow: 0 0 0 2px var(--c-accent-soft); }
.sim-win { min-height: 16px; font-variant-numeric: tabular-nums lining-nums; }
.sim-toast { position: fixed; z-index: 120; left: 50%; transform: translateX(-50%); top: calc(12px + env(safe-area-inset-top)); width: min(420px, calc(100% - 24px)); padding: 14px var(--s-4); border-radius: var(--r-inner); background: var(--c-text); color: var(--c-bg); font-family: var(--f-ui); font-size: 14px; line-height: 1.4; box-shadow: var(--shadow-sheet); }
.sim-toast--err { background: var(--c-card); color: var(--c-text); border: var(--hair) solid var(--c-line-strong); }
.sim-chip-bal { display: inline-flex; align-items: center; min-height: 34px; padding: 0 12px; border-radius: 17px; background: var(--c-accent-soft); color: var(--c-accent-text); font-size: 13px; font-weight: 600; font-variant-numeric: tabular-nums lining-nums; white-space: nowrap; }
@media (min-width: 1024px) {
  .sim-coupon { left: auto; right: 24px; bottom: 24px; transform: none; width: 360px; }
  html.sim-has .screen { padding-bottom: 48px; }
  .sim-opts--3 { grid-template-columns: repeat(3, minmax(0,1fr)); }
}
/* карточка ставки */
.sim-bet { gap: var(--s-3); }
.sim-bet__head { display: flex; align-items: center; justify-content: space-between; gap: var(--s-3); }
.sim-chip { display: inline-flex; align-items: center; min-height: 28px; padding: 0 10px; border-radius: var(--r-pill); font-size: 13px; font-weight: 600; white-space: nowrap; }
.sim-chip--open { background: var(--c-accent-soft); color: var(--c-accent-text); }
.sim-chip--void { background: var(--c-done); color: var(--c-text-2); }
.sim-bl { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.sim-bl__i { display: flex; align-items: center; justify-content: space-between; gap: var(--s-3); min-height: 56px; padding: 8px 0; border-top: var(--hair) solid var(--c-line); }
.sim-bl__i:first-child { border-top: 0; }
.sim-bl__tx { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.sim-bl__m { font-size: 15px; font-weight: 600; overflow-wrap: anywhere; display: inline-flex; align-items: center; min-height: 24px; }
.sim-bl__r { display: flex; flex-direction: column; align-items: flex-end; gap: 2px; flex: none; }
.sim-mk { font-size: 12px; color: var(--c-text-2); }
.sim-mk--won { color: var(--c-accent-text); font-weight: 600; }
.sim-mk--lost { color: var(--c-text-2); text-decoration: line-through; }
.sim-bet__foot { display: grid; grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); gap: var(--s-2); border-top: var(--hair) solid var(--c-line); padding-top: var(--s-3); }
.sim-kv { display: flex; flex-direction: column; gap: 2px; }
/* рейтинг */
.sim-pin { display: flex; flex-direction: column; gap: var(--s-2); }
.sim-pin:empty { display: none; }
.sim-rr { display: grid; grid-template-columns: 36px minmax(0,1fr) auto; align-items: center; gap: 2px var(--s-3); min-height: 64px; padding: 10px 0; border-top: var(--hair) solid var(--c-line); }
.sim-rating > .sim-rr:first-child { border-top: 0; }
.sim-rr__p { font-family: var(--f-display); font-size: 20px; color: var(--c-text-2); text-align: center; }
.sim-rr__n { font-size: 16px; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sim-rr__roi { font-size: 15px; font-weight: 600; text-align: right; }
.sim-rr__m { grid-column: 2 / -1; }
.sim-rr--ai { background: var(--c-accent-soft); margin: 0 calc(-1 * var(--s-3)); padding-left: var(--s-3); padding-right: var(--s-3); border-radius: var(--r-tile); border-top-color: transparent; }
.sim-rr--ai .sim-rr__n { color: var(--c-accent-text); }
.sim-pin .sim-rr--ai { margin: 0; }
.sim-pin .sim-rr { background: var(--c-card); box-shadow: var(--shadow-card); border: 0; border-radius: var(--r-inner); padding-left: var(--s-4); padding-right: var(--s-4); margin: 0; }
.sim-rr--me .sim-rr__n { color: var(--c-accent-text); }

/* дуэль с ИИ */
.duel-score { display: flex; flex-direction: column; gap: var(--s-3); }
.duel-score__row { display: flex; align-items: baseline; justify-content: center; gap: var(--s-3); flex-wrap: wrap; font-family: var(--f-display); font-size: 40px; line-height: 1.1; font-variant-numeric: tabular-nums lining-nums; }
.duel-score__who { font-family: var(--f-ui); font-size: 14px; font-weight: 600; color: var(--c-text-2); }
.duel-score__sep { color: var(--c-text-2); }
.duel-score__lead { color: var(--c-accent-text); }
.duel-bar { height: 8px; border-radius: 4px; background: var(--c-bg); overflow: hidden; }
.duel-bar > i { display: block; height: 100%; width: 0; border-radius: 4px; background: var(--c-accent); }
.duel-meta { display: flex; justify-content: space-between; gap: var(--s-3); flex-wrap: wrap; font-variant-numeric: tabular-nums lining-nums; }
.duel-acts { display: flex; flex-direction: column; gap: var(--s-2); }
.duel-dist { display: grid; gap: var(--s-3); grid-template-columns: minmax(0,1fr); }
.duel-dist__c { gap: var(--s-2); }
.duel-dist__n { font-family: var(--f-display); font-size: 44px; line-height: 1; font-variant-numeric: tabular-nums lining-nums; }
.duel-day { padding-top: var(--s-2); }
.duel-match { display: flex; flex-direction: column; gap: var(--s-2); padding: var(--s-3) 0; border-top: var(--hair) solid var(--c-line); }
.duel-match:first-of-type { border-top: 0; }
.duel-match__t { font-size: 15px; font-weight: 600; overflow-wrap: anywhere; }
.duel-chips { display: grid; gap: var(--s-2); grid-template-columns: repeat(3, minmax(0,1fr)); }
.duel-chips .sim-opt { min-height: 52px; }
.duel-chips .sim-opt__name { font-weight: 600; color: var(--c-text); }
.duel-chips .sim-opt__odds { font-size: 18px; }
.duel-pick { font-size: 17px; line-height: 1.4; overflow-wrap: anywhere; }
.duel-move { gap: var(--s-2); }
.duel-side { display: grid; grid-template-columns: 36px minmax(0,1fr) auto; align-items: center; gap: var(--s-2); min-height: 36px; font-variant-numeric: tabular-nums lining-nums; }
.duel-side__w { font-size: 13px; color: var(--c-text-2); }
.duel-side__p { font-size: 15px; font-weight: 600; overflow-wrap: anywhere; }
.duel-hrow { display: flex; align-items: center; justify-content: space-between; gap: var(--s-3); min-height: 52px; padding: 8px 0; border-top: var(--hair) solid var(--c-line); font-variant-numeric: tabular-nums lining-nums; }
.duel-hlist > .duel-hrow:first-child { border-top: 0; }
@media (min-width: 640px) {
  .duel-dist { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .duel-score__row { font-size: 52px; }
  .duel-acts { flex-direction: row; }
  .duel-chips { grid-template-columns: repeat(auto-fill, minmax(92px, 1fr)); }
}

/* ── v3: три вероятности, таблица, срезы (только токены макета + один цвет «минус») ── */
:root { --c-neg: #A8483A; }
[data-theme="dark"] { --c-neg: #E39384; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) { --c-neg: #E39384; } }
.p3-wrap { overflow-x: auto; margin: 0 -4px; padding: 0 4px; }
table.p3 { width: 100%; border-collapse: collapse; font-size: 15px; font-variant-numeric: tabular-nums lining-nums; }
.p3 th, .p3 td { padding: 12px 0 12px 8px; text-align: right; vertical-align: middle; }
.p3 thead th { padding: 8px 0 8px 8px; font-size: 12px; font-weight: 500; color: var(--c-text-2); line-height: 1.2; }
.p3 th:first-child { text-align: left; padding-left: 0; min-width: 104px; }
.p3 td { white-space: nowrap; }
.p3 tbody tr { border-top: 1px solid var(--c-line); }
.p3 tbody th { font-family: var(--f-serif); font-weight: 400; font-size: 16px; }
.p3 tbody th small { display: block; font-family: var(--f-ui); font-size: 12px; color: var(--c-text-2); line-height: 1.3; margin-top: 2px; }
.p3 td.na { color: var(--c-text-2); }
.p3 .fav { color: var(--c-accent-text); font-weight: 600; }
.p3 tr.total { border-top: 1.5px solid var(--c-text); }
.p3 tr.total th { font-weight: 600; }
.p3 tr.total td { font-family: var(--f-display); font-size: 19px; }
.p3-notes { display: flex; flex-direction: column; gap: 6px; margin: 0; padding: 0; list-style: none; }
.st-team { display: flex; flex-direction: column; gap: 10px; padding-top: 14px; border-top: 1px solid var(--c-line); font-variant-numeric: tabular-nums lining-nums; }
.st-team:first-of-type { border-top: 0; padding-top: 0; }
.st-head { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.st-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.st-grid > div { background: var(--c-bg); border-radius: var(--r-tile); padding: 8px 10px; display: flex; flex-direction: column; gap: 2px; }
.st-grid b { font-size: 16px; font-weight: 600; }
.st-form { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.fchip { display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; border-radius: 8px; font-size: 12px; font-weight: 700; line-height: 1; }
.fchip--w { background: var(--c-accent); color: var(--c-on-accent); }
.fchip--d { background: var(--c-done); color: var(--c-text-2); box-shadow: inset 0 0 0 1px var(--c-line-strong); }
.fchip--l { background: transparent; color: var(--c-neg); box-shadow: inset 0 0 0 1.5px var(--c-neg); }
.sl-wrap { overflow-x: auto; margin: 0 -4px; padding: 0 4px; }
table.sl { width: 100%; min-width: 520px; border-collapse: separate; border-spacing: 0; font-size: 14px; font-variant-numeric: tabular-nums lining-nums; }
.sl th, .sl td { padding: 9px 0 9px 8px; text-align: right; vertical-align: top; border-top: 1px solid var(--c-line); white-space: nowrap; }
.sl thead th { border-top: 0; padding-top: 4px; padding-bottom: 6px; font-size: 12px; font-weight: 500; color: var(--c-text-2); }
.sl th:first-child { text-align: left; padding-left: 0; position: sticky; left: 0; background: var(--c-card); white-space: normal; min-width: 132px; max-width: 160px; font-weight: 400; z-index: 1; }
.sl tbody th { font-size: 13px; line-height: 1.3; }
.sl td small { display: block; font-size: 12px; color: var(--c-text-2); }
.sl td small.pos { color: var(--c-accent-text); }
.sl td small.neg { color: var(--c-neg); }
.sl tr.hint th, .sl tr.hint td { opacity: 0.55; }
.sl tr.hint th small { display: inline; font-size: 11px; font-weight: 600; margin-left: 4px; }
.sl td.mk { font-weight: 600; }
.verdict-box { display: flex; flex-direction: column; gap: 6px; padding: 14px; border-radius: var(--r-tile); background: var(--c-bg); }
.verdict-box--yes { background: var(--c-accent-soft); }
.verdict-box b { font-weight: 600; }

/* ── Эксперты: аватары, рейтинг, карточки прогнозов (только токены макета) ── */
.xava { flex: none; display: inline-block; border-radius: 50%; object-fit: cover; background: var(--c-emblem); }
.xava--m { display: inline-flex; align-items: center; justify-content: center; font-weight: 700; line-height: 1; color: var(--c-on-accent); background: var(--c-accent); }
.xava--c1 { background: var(--c-text); color: var(--c-bg); }
.xava--c2 { background: var(--c-text-2); }
.xava--c3 { background: var(--c-prob-line); color: var(--c-text); }
.xava--c4 { background: var(--c-range); color: var(--c-text); }
.xava--c5 { background: var(--c-accent-soft); color: var(--c-accent-text); box-shadow: inset 0 0 0 1px var(--c-range); }
.xava--c6 { background: color-mix(in srgb, var(--c-accent) 60%, var(--c-text)); }
.xava--c7 { background: color-mix(in srgb, var(--c-text-2) 70%, var(--c-accent)); }
.xava--c8 { background: color-mix(in srgb, var(--c-accent) 55%, var(--c-bg)); color: var(--c-text); }
.xava--c9 { background: color-mix(in srgb, var(--c-text) 70%, var(--c-accent)); color: var(--c-bg); }
.xava--c10 { background: color-mix(in srgb, var(--c-prob-line) 60%, var(--c-accent)); color: var(--c-text); }
.xava--c11 { background: color-mix(in srgb, var(--c-text-2) 55%, var(--c-bg)); color: var(--c-text); }
.xbadge { display: inline-flex; align-items: center; height: 20px; padding: 0 8px; border-radius: var(--r-pill); font-size: 11px; font-weight: 600; background: var(--c-accent-soft); color: var(--c-accent-text); white-space: nowrap; }
.xname { color: var(--c-text); font-weight: 600; text-decoration: none; }
.xwho { display: flex; flex-wrap: wrap; align-items: center; gap: 2px 8px; min-width: 0; }
.xwho .xstyle { flex-basis: 100%; color: var(--c-text-2); line-height: 1.35; }
.xtable td.l .who { min-width: 0; }
.xstyle { overflow-wrap: anywhere; }
@media (max-width: 1023px) { .xtable tr { grid-template-columns: repeat(4, minmax(0,1fr)); } }
.xplace { flex: none; width: 22px; font-weight: 700; font-variant-numeric: tabular-nums lining-nums; color: var(--c-text-2); }
.dtable td[data-k] { font-variant-numeric: tabular-nums lining-nums; }
.xlist { gap: 0; }
.xrow { display: flex; align-items: flex-start; gap: var(--s-3); padding: 14px 0; border-top: var(--hair) solid var(--c-line); }
.xrow:first-child { border-top: 0; }
.xrow__b { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.xrow__top { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; }
.xrow__r { flex: none; display: flex; flex-direction: column; align-items: flex-end; gap: 4px; text-align: right; }
.xrow--h { align-items: center; }
.xrow--m { border-top: var(--hair) solid var(--c-line); }
.xrow--m:first-of-type { border-top: 0; }
.xtext { margin: 0; line-height: 1.45; }
.xhero { display: flex; align-items: center; gap: var(--s-4); padding: 20px 4px 0; }
.xhero__b { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; min-width: 0; }
.xhero__h { margin: 0; overflow-wrap: anywhere; }
.xstats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
@media (min-width: 640px) { .xstats { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
@media (max-width: 1023px) { .dtable .xplace { width: auto; } }
