/* Шрифты — свои файлы (с Google Fonts 23.10.2026, лицензия OFL): кириллица, латиница, расширенная латиница. */
/* cyrillic */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/img/fonts/ibm-plex-mono-cyrillic-758b9f.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/img/fonts/ibm-plex-mono-latin-ext-93cfae.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/img/fonts/ibm-plex-mono-latin-0bc96c.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/img/fonts/onest-cyrillic-dea2c9.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/img/fonts/onest-latin-ext-3a614f.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/img/fonts/onest-latin-f5814c.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/img/fonts/onest-cyrillic-dea2c9.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/img/fonts/onest-latin-ext-3a614f.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/img/fonts/onest-latin-f5814c.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/img/fonts/onest-cyrillic-dea2c9.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/img/fonts/onest-latin-ext-3a614f.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/img/fonts/onest-latin-f5814c.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic */
@font-face {
  font-family: 'Oswald';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/img/fonts/oswald-cyrillic-a8499a.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
  font-family: 'Oswald';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/img/fonts/oswald-latin-ext-8cf70e.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Oswald';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/img/fonts/oswald-latin-78c7a4.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic */
@font-face {
  font-family: 'Oswald';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/img/fonts/oswald-cyrillic-a8499a.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
  font-family: 'Oswald';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/img/fonts/oswald-latin-ext-8cf70e.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Oswald';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/img/fonts/oswald-latin-78c7a4.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
:root{
  --bg:#F2F4F7; --surface:#FFFFFF; --surface-2:#E9EDF3; --ink:#131922; --muted:#5A6475; --faint:#8A93A3;
  --line:#DCE1E9; --up:#1D8A57; --down:#BE3F2A; --new:#8A5A00; --new-bg:#FBF0D9; --gold:#A87800;
  --shadow:0 1px 2px rgba(19,25,34,.06),0 4px 16px rgba(19,25,34,.05);
  --band:#0E1A1F; --band-2:#17323A; --on-band:#F3F1EC; --on-band-muted:rgba(243,241,236,.66);
  --accent:#12B5A3; --on-accent:#04201C; --accent-text:#0B7F72; --accent-soft:#DDF6F2;
  --lc-brand:#2EE6D0;   /* фирменный цвет Cyber Ladder всегда — страницы игр его не подменяют (джойстик матч-центра) */
  --brand:#2EE6D0;   /* кибер-бирюза Cyber Ladder (BRAND_V1): знак и точка в названии на общих страницах */
  --display:"Oswald","Arial Narrow",Arial,sans-serif;
  --body:"Onest",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,Consolas,monospace;
}
/* Цвета игр: полоса шапки и акцент. Текстовый акцент и мягкая подложка — свои для тёмной темы. */
body[data-game]:not([data-game=""]){--brand:var(--accent)}
body[data-game="dota"]{--band:#1C0D0B;--band-2:#4A1710;--accent:#D33A26;--on-accent:#FFFFFF;--accent-text:#B02E1C;--accent-soft:#FBE7E3}
body[data-game="cs2"]{--band:#10151C;--band-2:#2A3644;--accent:#DE9B35;--on-accent:#1A1206;--accent-text:#9A5F0C;--accent-soft:#FBF0DE}
body[data-game="hs"]{--band:#2A1A10;--band-2:#563619;--accent:#3D7BE0;--on-accent:#FFFFFF;--accent-text:#2E62BE;--accent-soft:#E3ECFB}
body[data-game="wow"]{--band:#0B1424;--band-2:#1D3150;--accent:#C9A227;--on-accent:#1A1404;--accent-text:#8A6B00;--accent-soft:#F7F0D6}
body[data-game="w3"]{--band:#140E07;--band-2:#3D2A10;--accent:#B8862B;--on-accent:#FFFFFF;--accent-text:#8A5E12;--accent-soft:#F6EBD5}   /* W3C_V1: золото Warcraft III */
body[data-game="pubg"]{--band:#15120A;--band-2:#3A2E10;--accent:#E8A33D;--on-accent:#1A1406;--accent-text:#9A6510;--accent-soft:#FBEFD9}   /* PUBG_V1: жёлтый знак PUBG */
body[data-game="sc2"]{--band:#0A1220;--band-2:#173057;--accent:#2E78D2;--on-accent:#FFFFFF;--accent-text:#1F5FB0;--accent-soft:#E2EDFB}   /* SC2_V1: синий Blizzard */
body[data-game="dl"]{--band:#17120D;--band-2:#3B2E20;--accent:#B98A45;--on-accent:#1A1206;--accent-text:#7E5A20;--accent-soft:#F4EAD8}   /* DEADLOCK_V1: латунь и сепия */
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#0E1218; --surface:#161B23; --surface-2:#1E2530; --ink:#E5E9F0; --muted:#9AA3B2; --faint:#6E7787;
    --line:#29313D; --up:#4CC48A; --down:#F07A64; --new:#E9B95A; --new-bg:#33280F; --gold:#E2B33C;
    --shadow:none; --accent-text:#2EE6D0; --accent-soft:#0F2B29; color-scheme:dark;
  }
  :root:not([data-theme="light"]) body[data-game="dota"]{--accent-text:#FF7A63;--accent-soft:#3A1A15}
  :root:not([data-theme="light"]) body[data-game="cs2"]{--accent-text:#F2B65C;--accent-soft:#33260F}
  :root:not([data-theme="light"]) body[data-game="hs"]{--accent-text:#8DB4FF;--accent-soft:#172846}
  :root:not([data-theme="light"]) body[data-game="wow"]{--accent-text:#E8C452;--accent-soft:#2E2610}
  :root:not([data-theme="light"]) body[data-game="dl"]{--accent-text:#E2B56E;--accent-soft:#2D2416}
  :root:not([data-theme="light"]) body[data-game="w3"]{--accent-text:#E3B860;--accent-soft:#2A1F0E}
  :root:not([data-theme="light"]) body[data-game="pubg"]{--accent-text:#F2C46E;--accent-soft:#2E2410}
  :root:not([data-theme="light"]) body[data-game="sc2"]{--accent-text:#7FB2F5;--accent-soft:#132642}
}
:root[data-theme="dark"]{
  --bg:#0E1218; --surface:#161B23; --surface-2:#1E2530; --ink:#E5E9F0; --muted:#9AA3B2; --faint:#6E7787;
  --line:#29313D; --up:#4CC48A; --down:#F07A64; --new:#E9B95A; --new-bg:#33280F; --gold:#E2B33C;
  --shadow:none; --accent-text:#2EE6D0; --accent-soft:#0F2B29; color-scheme:dark;
}
:root[data-theme="dark"] body[data-game="dota"]{--accent-text:#FF7A63;--accent-soft:#3A1A15}
:root[data-theme="dark"] body[data-game="cs2"]{--accent-text:#F2B65C;--accent-soft:#33260F}
:root[data-theme="dark"] body[data-game="hs"]{--accent-text:#8DB4FF;--accent-soft:#172846}
:root[data-theme="dark"] body[data-game="wow"]{--accent-text:#E8C452;--accent-soft:#2E2610}
:root[data-theme="dark"] body[data-game="dl"]{--accent-text:#E2B56E;--accent-soft:#2D2416}
:root[data-theme="dark"] body[data-game="w3"]{--accent-text:#E3B860;--accent-soft:#2A1F0E}
:root[data-theme="dark"] body[data-game="pubg"]{--accent-text:#F2C46E;--accent-soft:#2E2410}
:root[data-theme="dark"] body[data-game="sc2"]{--accent-text:#7FB2F5;--accent-soft:#132642}

*{box-sizing:border-box}
body{background:var(--bg);color:var(--ink);font:15px/1.5 var(--body);margin:0}
.wrap{max-width:1240px;margin:0 auto;padding-inline:20px}
button{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}

/* Полоса игры */
.band{background:linear-gradient(115deg,var(--band) 0%,var(--band) 45%,var(--band-2) 100%);color:var(--on-band)}
/* STICKY_HEAD_V1 (26.10.2026, владелец: «шапку фиксируй»): строка со знаком, матч-центром и (на десктопе) играми —
   закреплена; на телефоне вкладки игр — отдельной строкой в полосе ниже, уезжают со страницей: высота закреплённой
   строки не меняется при прокрутке, контент не дёргается. */
.topbar{position:sticky;top:0;z-index:60;background:var(--band);color:var(--on-band);box-shadow:0 1px 0 rgba(255,255,255,.06)}
.games.games-m{display:none}   /* .games{display:flex} ниже — без двойного класса перебивал */
html{scroll-padding-top:72px}
.bar-top{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding-block:12px;border-bottom:1px solid rgba(255,255,255,.08)}
.brand{font:600 20px/1 var(--display);letter-spacing:.04em;text-transform:uppercase;display:flex;align-items:baseline;gap:8px;color:var(--on-band)}
.brand b{color:var(--brand);font-weight:600}
.brand .mark{flex:none;align-self:center;width:28px;height:28px;color:var(--on-band)}
.brand .mark .top{fill:var(--brand)}
.brand .name{white-space:nowrap}
.brand small{font:500 12px/1 var(--body);color:var(--on-band-muted);text-transform:none;letter-spacing:0}
.games{display:flex;gap:6px;flex-wrap:wrap}   /* LEFT_ALIGN_V1 (04.11, владелец): вкладки игр и подпись под H1 — по левому краю */
.games a{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04);padding:6px 13px 6px 8px;border-radius:999px;cursor:pointer;font-weight:500;color:var(--on-band-muted);text-decoration:none}
.games a:hover{color:var(--on-band);border-color:rgba(255,255,255,.3)}
.games a[aria-selected="true"]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.brand a{color:inherit;text-decoration:none;display:inherit;align-items:inherit;gap:inherit}
/* MC_LINK_V1 (26.10.2026, владелец: «в шапке ссылку на матч-центр через логотип»): рядом со знаком, точка — как у LIVE */
.mc-link{display:inline-flex;align-items:center;gap:7px;padding:5px 12px 5px 9px;border-radius:999px;border:1px solid color-mix(in srgb,var(--lc-brand) 60%,transparent);
  background:color-mix(in srgb,var(--lc-brand) 12%,transparent);color:var(--on-band);font-weight:600;font-size:14px;text-decoration:none;white-space:nowrap}
.mc-joy{flex:none;color:var(--lc-brand)}   /* MC_JOYSTICK_V2: в цвет сайта (владелец 26.10) */
.mc-joy .live{fill:var(--lc-brand);animation:mcblink 1.6s infinite}
.mc-link:hover{background:color-mix(in srgb,var(--lc-brand) 22%,transparent)}
@keyframes mcblink{0%,100%{opacity:1}50%{opacity:.35}}
@media (prefers-reduced-motion:reduce){.mc-joy .live{animation:none}}
@media (max-width:380px){.mc-link{padding:5px 9px}.mc-lt{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}}   /* узко: только джойстик, подпись — в title и для скринридера */
.games img{width:20px;height:20px;border-radius:4px;object-fit:contain}
.games a[data-game="pubg"] img,.hero img.logo[src$="pubg.png"],.games a[data-game="w3"] img{background:#1A1406}   /* PUBG_V1: жёлтый знак на жёлтой активной вкладке пропадал */
.hero{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding-block:26px 24px}
.hero img.logo{width:56px;height:56px;object-fit:contain;border-radius:10px;background:rgba(255,255,255,.06);padding:6px}
.hero img.logo.pphoto{object-fit:cover;object-position:50% 20%;padding:0;background:none}   /* PHOTO_V1: фото игрока */
.bio-ph{float:right;width:132px;margin:0 0 10px 14px}
.bio-ph img{display:block;width:132px;height:auto;border-radius:10px}
.bio-ph figcaption{font-size:11px;line-height:1.3;color:var(--muted);margin-top:4px;overflow-wrap:anywhere}
.bio-ph figcaption a{color:inherit}
/* ITOGI_V1: итоги месяца — видео-карточка рядом с текстом, на телефоне друг под другом */
.it-row{display:grid;grid-template-columns:minmax(0,380px) 1fr;gap:26px;align-items:start}
.it-v{margin:0}.it-v video{display:block;width:100%;height:auto;aspect-ratio:4/5;border-radius:16px;background:#060A11;box-shadow:0 12px 40px rgba(0,0,0,.25)}
.it-t p{margin:0 0 10px;line-height:1.55}
.it-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px}
.it-card{display:block;border-radius:16px;overflow:hidden;border:1px solid var(--line);text-decoration:none;color:inherit;background:var(--panel,#fff)}
.it-card img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}
.it-c{display:block;padding:12px 14px}.it-c b{display:block;font-size:18px;margin-bottom:4px}.it-c span{font-size:14px;color:var(--muted)}
@media (max-width:760px){.it-row{grid-template-columns:1fr}.it-v{max-width:420px;margin:0 auto}}
@media (max-width:480px){.bio-ph{width:104px;margin-left:10px}.bio-ph img{width:104px}}
.hero h1{font:600 clamp(30px,5vw,48px)/1 var(--display);text-transform:uppercase;letter-spacing:.01em;margin:0}
.hero .meta{color:var(--on-band-muted);font-size:13px;max-width:60ch;flex-basis:100%}
.hero .meta a,.aka a.src{color:var(--on-band);text-decoration-color:rgba(255,255,255,.45)}   /* ссылка на источник (SC2 Pulse) в тёмной полосе */
.hero .meta b{color:var(--on-band);font-weight:500}
/* HERO_V2 (03.11): шапка игрока — значок + имя одной строкой, под ними «таблетки» фактов и ссылок, ниже тонкая сноска */
.hero.ph{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px 16px;padding-block:20px 22px}
.ph h1{overflow-wrap:anywhere}
.ph-tags,.ph-note{grid-column:2}
.ph-tags{display:flex;flex-wrap:wrap;gap:6px}
.pt{display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:3px 11px;border-radius:999px;background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.11);color:var(--on-band);font-size:13px;line-height:1.2;min-width:0;max-width:100%}
.pt .team .tag,.pt .team .tlogo + .tag{display:inline}   /* в шапке игрока тег команды виден и на телефоне */
.pt .tlogo{max-height:18px;width:auto}
.pt img.flag{flex:none;border-radius:2px}
.pt-cn{white-space:normal}
a.pt-ln{text-decoration:none;font-weight:500;transition:background .15s,border-color .15s}
a.pt-ln:hover{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.25)}
.pt-sm{padding:3px 6px;gap:4px}
.pt-sm .sm{margin-left:0}
.ph-note{font-size:12px;color:var(--on-band-muted);opacity:.85}
.ph-note a{color:var(--on-band)}
@media (max-width:640px){.hero.ph{gap:10px 12px;padding-block:14px 16px}.ph-tags,.ph-note{grid-column:1/-1}.pt{font-size:12.5px;min-height:26px;padding:2px 9px}}

/* Период */
.period{display:flex;align-items:center;gap:10px 14px;flex-wrap:wrap;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px 14px;margin-block:20px 18px;box-shadow:var(--shadow)}
.period .lbl{font:600 13px/1 var(--display);text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.period select{font:inherit;font-size:14px;color:var(--ink);background:var(--surface-2);border:1px solid var(--line);border-radius:8px;padding:6px 8px}
.period .note{font-size:12.5px;color:var(--muted);margin-left:auto}

/* Итоги */
.tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:20px}
.tile{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px 16px;box-shadow:var(--shadow);min-width:0;border-top:3px solid var(--accent)}
.tile .k{font-size:12px;color:var(--muted);letter-spacing:.04em;text-transform:uppercase}
.tile .v{font:600 22px/1.15 var(--display);margin-top:6px;overflow-wrap:anywhere}
.tile .s{font-size:13px;color:var(--muted);margin-top:4px}
.tile.go{cursor:pointer;transition:border-color .15s}
.tile .nm-s{display:none}
.tile.go:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}
.panel[id]{scroll-margin-top:76px}   /* под закреплённой шапкой */

/* Сетка */
.grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:20px;align-items:start}
.stack{display:grid;gap:20px;min-width:0}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);min-width:0}
.panel>header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px 16px 10px}
.panel h2{font:600 18px/1.2 var(--display);text-transform:uppercase;letter-spacing:.03em;margin:0}
.panel .hint{font-size:12.5px;color:var(--muted);padding:0 16px 12px;max-width:72ch}
.panel .foot{font-size:12.5px;color:var(--muted);padding:10px 16px 14px;border-top:1px solid var(--line)}
.full{grid-column:1/-1}
.seg{display:inline-flex;background:var(--surface-2);border-radius:9px;padding:3px;gap:2px;flex-wrap:wrap}
.seg button{border:0;background:none;padding:5px 10px;border-radius:7px;cursor:pointer;font-size:13px;color:var(--muted);font-weight:500}
.seg button[aria-pressed="true"]{background:var(--accent);color:var(--on-accent)}
.controls{display:flex;gap:8px;flex-wrap:wrap;align-items:center}

/* Поиск */
.search{position:relative}
.search input{font:inherit;font-size:13.5px;width:210px;max-width:100%;padding:6px 10px;border-radius:8px;border:1px solid var(--line);background:var(--surface-2);color:var(--ink)}
.search .res{position:absolute;right:0;top:calc(100% + 4px);z-index:10;width:260px;max-width:80vw;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 28px rgba(0,0,0,.18);padding:4px;display:grid}
.search .res[hidden]{display:none}
.search .res button{all:unset;cursor:pointer;padding:7px 9px;border-radius:7px;display:flex;justify-content:space-between;gap:10px;font-size:13.5px}
.search .res button:hover,.search .res button:focus-visible{background:var(--accent-soft)}
.search .res span{color:var(--muted);font-variant-numeric:tabular-nums}

/* Таблицы */
.tw{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
th{font-size:11.5px;font-weight:500;letter-spacing:.05em;text-transform:uppercase;color:var(--faint);text-align:left;padding:8px 10px;border-bottom:1px solid var(--line);white-space:nowrap}
td{padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:middle}
tbody tr:last-child td{border-bottom:0}
tbody tr:hover td{background:color-mix(in srgb,var(--accent-soft) 55%,transparent)}
th.r,td.r{text-align:right}
td.pos{font:600 16px/1 var(--display);width:44px;color:var(--muted)}
tr.p1 td.pos{color:var(--gold)} tr.p2 td.pos,tr.p3 td.pos{color:var(--ink)}
td.name{font-weight:500;max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
td.sub{color:var(--muted);font-size:13px}
td.nw{white-space:nowrap}
.plink{all:unset;cursor:pointer;font-weight:500;color:var(--ink);border-bottom:1px dashed color-mix(in srgb,var(--accent-text) 50%,transparent)}
.plink:hover{color:var(--accent-text);border-bottom-style:solid}
.plink:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}
/* Изменение мест/рейтинга: шрифт как у колонки «#», мельче; знак — шеврон (маска, цвет = цвет текста) */
.d{font:500 14px/1 var(--display);letter-spacing:.01em;white-space:nowrap;font-variant-numeric:tabular-nums;display:inline-flex;align-items:center;gap:2px}
.d.up::before,.d.down::before{content:"";flex:none;width:10px;height:10px;background:currentColor;-webkit-mask:var(--chev) center/contain no-repeat;mask:var(--chev) center/contain no-repeat}
.d.up::before{--chev:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M1.8 6.6 5 3.4l3.2 3.2' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.d.down::before{--chev:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M1.8 3.4 5 6.6l3.2-3.2' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.d.up{color:var(--up)} .d.down{color:var(--down)} .d.eq,.d.na{color:var(--faint)}
.roster .d{font:500 12px/1 var(--body);letter-spacing:0}   /* места игроков в составе — тихо, не как сдвиг */
.pill{display:inline-block;font:600 10.5px/1 var(--body);letter-spacing:.04em;text-transform:uppercase;padding:3px 6px;border-radius:5px;background:var(--new-bg);color:var(--new)}
.tag{display:inline-block;font:600 11.5px/1 var(--body);padding:3px 6px;border-radius:5px;background:var(--surface-2);color:var(--ink)}
/* Логотип команды: рамка 3:2 у всех (файл уже вписан на равную площадь). Тон из build_data.logo_tone:
   tl — одноцветный светлый (белый дракон Spirit): на светлой теме инвертируем в чёрный; td — одноцветный тёмный:
   инвертируем на тёмной; tcl/tcd — цветной слишком светлый/тёмный: плашка на «своей» теме; без класса — как есть */
.team{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;vertical-align:middle}
.tlogo{flex:none;object-fit:contain}
.tlogo.tl{filter:var(--inv-l)} .tlogo.td{filter:var(--inv-d)}
.tlogo.tcl{background:var(--chip-cl);border-radius:4px} .tlogo.tcd{background:var(--chip-cd);border-radius:4px}
:root{--inv-l:invert(1);--inv-d:none;--chip-cl:#2A313D;--chip-cd:transparent}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--inv-l:none;--inv-d:invert(1);--chip-cl:transparent;--chip-cd:#DCE1E9}}
:root[data-theme="dark"]{--inv-l:none;--inv-d:invert(1);--chip-cl:transparent;--chip-cd:#DCE1E9}
.flag{width:20px;height:15px;object-fit:cover;border-radius:2px;vertical-align:-2px;box-shadow:0 0 0 1px rgba(0,0,0,.12)}
.flagtxt{display:inline-block;font:600 10.5px/1 var(--mono);padding:2px 4px;border-radius:3px;border:1px solid var(--line);color:var(--muted)}
.cn{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.cicon{width:18px;height:18px;border-radius:4px;vertical-align:-4px;margin-right:7px;box-shadow:0 0 0 1.5px var(--c,#999);object-fit:cover}
.tile .v .cicon{width:24px;height:24px;vertical-align:-3px}
.rkico{width:24px;height:24px;object-fit:contain;vertical-align:-6px;margin-right:6px}   /* RANKS_V1: значки рангов Deadlock */
.dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px;vertical-align:0;box-shadow:0 0 0 1px rgba(0,0,0,.25)}
.dup{color:var(--faint);font-size:12px;margin-left:4px;cursor:help}
.more{display:block;width:100%;border:0;border-top:1px solid var(--line);background:none;padding:10px;cursor:pointer;color:var(--accent-text);font-weight:500;border-radius:0 0 14px 14px}
.more:hover{background:var(--surface-2)}
.empty{padding:22px 16px 26px;color:var(--muted);font-size:14px}
.empty .retry{margin-left:6px;font:inherit;font-weight:600;color:var(--accent-text);background:none;border:1px solid currentColor;border-radius:6px;padding:3px 12px;cursor:pointer}
.empty b{color:var(--ink);font-weight:500}
.roster{font-size:12px;color:var(--muted);margin-top:3px;white-space:normal;overflow-wrap:anywhere}
.bars{display:grid;gap:7px;padding:4px 16px 16px}
.barrow{display:grid;grid-template-columns:150px minmax(0,1fr) 54px;align-items:center;gap:10px;font-size:13px}
.barrow .t{height:12px;border-radius:3px;background:var(--surface-2);overflow:hidden}
.barrow .t i{display:block;height:100%;border-radius:3px}
.barrow .n{text-align:right;font-variant-numeric:tabular-nums;color:var(--muted)}
/* CYBER_MC_V1: матч-центр киберспорта (/match-centr/) */
.mc{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;margin-block:14px 20px}   /* minmax: лента вкладок не распирает колонку */
/* MC_PANEL_V1: фильтры одной серой панелью с зонами, как матч-центр freebety (MC_FILTER_PANEL_V1) */
.mc-panel{background:var(--surface-2);border:1px solid var(--line);border-radius:14px;position:relative;min-width:0}
.mc-tabs{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;padding:6px 6px 0;-webkit-mask:linear-gradient(90deg,#000 calc(100% - 28px),transparent);mask:linear-gradient(90deg,#000 calc(100% - 28px),transparent)}
.mc-tabs::-webkit-scrollbar{display:none}
.mc-tab{flex:none;display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px 10px 8px;border:0;background:none;color:var(--muted);cursor:pointer;font:inherit;font-size:12.5px;border-bottom:2px solid transparent;margin-bottom:-1px}
.mc-tab:last-child{margin-right:22px}
.mc-tab[aria-pressed="true"]{color:var(--ink);border-bottom-color:#E5484D;font-weight:600}
.mc-tab .n{display:inline-block;min-width:18px;margin-left:3px;padding:1px 6px;border-radius:999px;background:var(--surface);color:var(--muted);font:600 11px/16px var(--body);text-align:center;font-variant-numeric:tabular-nums;border:1px solid var(--line)}
.mc-tab[aria-pressed="true"] .n{background:var(--ink);color:var(--surface);border-color:var(--ink)}   /* MC_TAB_N_V1 */
.mc-tl{white-space:nowrap}
.mc-gi{width:20px;height:20px;flex:none;border-radius:4px;object-fit:contain}
.mc-gi[src="/img/dota.png"]{background:#1C0D0B;padding:2px}
.mc-ab{display:inline-grid;place-items:center;font:700 8.5px/1 var(--body);letter-spacing:-.02em;color:#fff;background:var(--c)}
.mc-z{border-top:1px solid var(--line);padding:8px}
.mc-z2{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.mc-day{flex:1 1 150px;min-width:150px;display:flex;align-items:center;height:34px;background:var(--surface);border:1px solid var(--line);border-radius:999px;overflow:hidden}
.mc-arr{flex:none;width:36px;height:100%;border:0;background:none;color:var(--ink);font:600 18px/1 var(--body);cursor:pointer}
.mc-arr:disabled{color:var(--faint);cursor:default}
.mc-dsel{position:relative;flex:1;height:100%;display:flex;align-items:center;justify-content:center;gap:5px;font-size:14px;font-weight:600;border-inline:1px solid var(--line);cursor:pointer}
.mc-dsel svg{width:12px;height:12px;color:var(--muted)}
.mc-dsel select{position:absolute;inset:0;opacity:0;cursor:pointer;font-size:16px}
.mc-seg{display:flex;height:34px;background:var(--surface);border:1px solid var(--line);border-radius:999px;overflow:hidden}
.mc-seg button{display:inline-flex;align-items:center;gap:5px;padding:0 12px;border:0;background:none;color:var(--ink);font:inherit;font-size:13px;cursor:pointer;white-space:nowrap}
.mc-seg button + button{border-left:1px solid var(--line)}
.mc-seg button[aria-pressed="true"]{background:var(--ink);color:var(--surface)}
.mc-seg svg{width:14px;height:14px}
.mc-seg .n{color:var(--muted);font-variant-numeric:tabular-nums}
.mc-seg button[aria-pressed="true"] .n{color:inherit;opacity:.75}
.mc-dot{width:8px;height:8px;border-radius:50%;background:#E5484D;flex:none}
.mc-lgw{position:relative}
.mc-lgb{width:100%;display:flex;align-items:center;gap:8px;height:36px;padding:0 12px;background:var(--surface);border:1px solid var(--line);border-radius:999px;color:var(--ink);font:inherit;font-size:13.5px;cursor:pointer;text-align:left}
.mc-lgb>svg:first-child{width:17px;height:17px;flex:none}
.mc-lgb b{font-weight:600;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mc-lgn{color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}
.mc-lgb .chev{width:12px;height:12px;color:var(--muted);flex:none}
.mc-lgb[aria-expanded="true"] .chev{transform:rotate(180deg)}
.mc-lgpop{position:absolute;z-index:20;left:0;right:0;top:calc(100% + 6px);background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.18);max-height:min(60vh,420px);overflow:auto;padding:6px}
.mc-lgi{display:flex;align-items:center;gap:8px;padding:8px;border-radius:8px;cursor:pointer;font-size:13.5px}
.mc-lgi:hover{background:var(--surface-2)}
.mc-lgi input{width:16px;height:16px;accent-color:var(--accent);flex:none}
.mc-lgi .mc-gi{width:18px;height:18px}
.mc-lgi .t{flex:1;min-width:0}
.mc-lgi .n{color:var(--muted);font-variant-numeric:tabular-nums}
.mc-lgact{position:sticky;bottom:-6px;display:flex;gap:8px;justify-content:flex-end;padding:8px;margin:4px -6px -6px;background:var(--surface);border-top:1px solid var(--line)}
.mc-lgact button{font:inherit;font-size:13px;padding:7px 12px;border-radius:8px;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer}
.mc-lgact button.on{background:var(--ink);color:var(--surface);border-color:var(--ink)}
.mc-group>header h2 .mc-gi{width:18px;height:18px}
/* LC_TEAM_LOGOS_V1: логотип команды в строке матча; у Liquipedia два варианта — для светлой и тёмной темы */
.mc-tm{display:inline-flex;align-items:center;gap:7px;min-width:0;max-width:100%;color:inherit;text-decoration:none}
.mc-tm .mc-tn{min-width:0;overflow:hidden;text-overflow:ellipsis}
.mc-tlg{flex:none;width:20px;height:20px;display:inline-grid;place-items:center}
.mc-tlg img{width:20px;height:20px;object-fit:contain}
.mc-tlg .tlogo{width:24px;height:16px}
.mc-tlg .lg-d{display:none}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .mc-tlg .lg-d{display:block}:root:not([data-theme="light"]) .mc-tlg .lg-d + *,:root:not([data-theme="light"]) .mc-tlg .lg-l:has(+ .lg-d){display:none}}
:root[data-theme="dark"] .mc-tlg .lg-d{display:block}
:root[data-theme="dark"] .mc-tlg .lg-l:has(+ .lg-d){display:none}
@media (max-width:400px){.mc-sw{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.mc-seg button{padding:0 10px}.mc-arr{width:30px}}
.mc-foot{font-size:12px;color:var(--muted);line-height:1.45;padding:2px 2px 0}
.mc-warn{display:block;margin-top:6px;color:var(--ink)}
.mc-warn b{color:#E5484D;margin-right:4px}
.mc-group>header h2{display:flex;align-items:center;gap:8px;font-size:15px}
.mc-group>header h2 img{border-radius:4px}
.mc-group>header h2 img[src="/img/dota.png"]{background:#1C0D0B;padding:2px}   /* значок Dota белый */
.mc-row{display:grid;grid-template-columns:52px minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:8px 16px;border-top:1px solid var(--line)}
.mc-st{text-align:center;font-size:12px;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:3px}
.mc-time{font:600 13px/1 var(--body);color:var(--ink);font-variant-numeric:tabular-nums}
.mc-live{font:700 10px/1 var(--body);letter-spacing:.05em;color:#fff;background:#E5484D;border-radius:4px;padding:3px 5px}
.mc-map{font:700 11px/1 var(--body);color:#E5484D}
.mc-fin{font-size:11.5px;line-height:1.2}
.mc-teams{min-width:0;display:grid;gap:5px;font-size:14px}
.mc-teams>div{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mc-teams .plink{text-decoration:none}
.mc-score{display:grid;gap:5px;text-align:right;font:600 14px/1.2 var(--body);font-variant-numeric:tabular-nums;min-width:12px}
.mc-odds{display:flex;gap:6px}
.odd{display:inline-block;min-width:48px;text-align:center;font:600 13px/1 var(--body);padding:8px 6px;border-radius:7px;background:var(--surface-2);color:var(--ink);text-decoration:none;font-variant-numeric:tabular-nums}
a.odd:hover{background:color-mix(in srgb,var(--accent) 22%,var(--surface-2))}
.odd.na{color:var(--faint)}
.mc-note{padding:0 16px 8px 78px;font-size:12px;color:var(--muted);margin-top:-3px;overflow-wrap:anywhere}
/* MC_STAGE_GROUP_V1: стадия турнира — подписью в шапке или подзаголовком подгруппы */
.mc-stg{font-size:12px;color:var(--muted);white-space:nowrap}
.mc-sub{display:flex;align-items:center;gap:6px;padding:6px 16px;border-top:1px solid var(--line);background:var(--surface-2);font:600 12.5px/1.3 var(--body);color:var(--muted)}   /* без uppercase: «BO3» читается как «ВОЗ» */
.mc-sub .n{font-weight:500;color:var(--faint)}
/* DEADLOCK_V1: любимые герои — значок + имя */
.dlhero{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.dlh{flex:none;width:22px;height:22px;border-radius:5px;object-fit:cover;background:var(--surface-2)}
/* SC2_V1: значок расы у имени */
.rcicon{width:17px;height:15px;margin-right:6px;vertical-align:-2px}
.rcicon.w3r{width:16px;height:16px;vertical-align:-3px}   /* W3C_V1: значки рас Warcraft III квадратные */
.mc-note a{color:var(--accent-text)}
@media (max-width:560px){
  .mc-row{grid-template-columns:42px minmax(0,1fr) auto auto;gap:8px;padding:8px 10px}
  .odd{min-width:42px;padding:8px 4px}
  .mc-note{padding-left:60px;padding-right:10px}
  .mc-sub{padding:6px 10px}
}
/* на узких Android (Roboto шире) длинные названия рядом с кэфами резались «…» — переносим по пробелам */
@media (max-width:420px){.mc-teams>div{white-space:normal;line-height:1.25}}
/* LADDER_FILTER_V1: строки-фильтры (команды, гильдии, страны, классы) и полоска «Только …» над ладдером */
.fl{cursor:pointer}
tr.fl:hover td,.barrow.fl:hover{background:var(--surface-2)}
.barrow.fl{border-radius:6px;padding:2px 4px;margin:0 -4px}
tr.fl.on td,.barrow.fl.on{background:var(--accent-soft)}
tr.fl.on td:first-child{box-shadow:inset 3px 0 0 var(--accent)}
.barrow.fl.on{box-shadow:inset 3px 0 0 var(--accent)}
.fl:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.fbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px 16px;background:var(--accent-soft);font-size:14px}
.fbar > span{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px;min-width:0}
.unf{margin-left:auto;font:600 13px/1 var(--body);padding:7px 10px;border-radius:8px;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer}

/* Страница игрока */
.back{all:unset;cursor:pointer;color:var(--on-band-muted);font-size:13.5px;display:inline-flex;gap:6px;align-items:center;margin-top:18px}
.back:hover{color:var(--on-band)}
.chart{padding:4px 12px 12px}
.chart svg{width:100%;height:auto;display:block}
.chart .grid-l{stroke:var(--line)}
.chart .ax{fill:var(--faint);font:11px var(--body)}
.chart .ln{fill:none;stroke:var(--accent);stroke-width:2.2;stroke-linejoin:round;stroke-linecap:round}
.chart .area{fill:var(--accent);opacity:.09}
.chart .kp{fill:var(--surface);stroke:var(--accent);stroke-width:2.2}
.chart .key.now .kp{fill:var(--accent)}
.chart .kl{font:600 12px var(--body);fill:var(--ink);paint-order:stroke;stroke:var(--surface);stroke-width:4px;stroke-linejoin:round}
.chart .kl .kn{font-weight:500;fill:var(--muted)}
/* NICK_BAND_V1: лента ников над графиком и легенда под ним */
.chart .nb rect{fill:var(--accent)}
.chart .nb text{font:600 11.5px var(--body);fill:var(--ink)}
.chart .nb0 text{fill:var(--on-accent)}
.chart .nb1 rect{fill-opacity:.16} .chart .nb2 rect{fill-opacity:.3} .chart .nb3 rect{fill-opacity:.44}
.chart .nb-cut{stroke:var(--accent);stroke-width:1.2;stroke-dasharray:3 3;opacity:.55}
.nb-leg{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin-top:8px;font-size:13px;color:var(--muted)}
.nb-leg .lbl{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--faint)}
.nb-chip{display:inline-flex;align-items:center;gap:6px;min-width:0}
.nb-chip b{color:var(--ink);font-weight:600;overflow-wrap:anywhere}
.nb-chip i{flex:none;width:12px;height:12px;border-radius:3px;background:var(--accent)}
.nb-chip i.nb1{opacity:.16} .nb-chip i.nb2{opacity:.3} .nb-chip i.nb3{opacity:.44}
.chart .ax{font-size:11px}
.chart .pt{fill:var(--accent)}
.chart .last{fill:var(--surface);stroke:var(--accent);stroke-width:2.5}
.chart .band-r{fill:var(--accent-soft)}
.chart .lbl{fill:var(--ink);font:600 12px var(--body)}
.chart .hit{fill:transparent}
.chart .hit:hover+.pt{r:5}
.aka{font-size:13px;color:var(--on-band-muted)}

.method{margin-block:28px 48px;color:var(--muted);font-size:13px;max-width:82ch}
.method h3{font:600 14px/1.2 var(--display);text-transform:uppercase;letter-spacing:.04em;color:var(--ink);margin:0 0 6px}
.method p{margin:0 0 6px}
.seo .method{margin-block:8px 48px}
.seo h2{font:600 16px/1.2 var(--display);text-transform:uppercase;letter-spacing:.04em;color:var(--ink);margin:0 0 8px}
.seo h3{margin-top:14px}
/* LADDER_SEO_V1: выводы из истории — чипы с числами, таблицы фактов, FAQ раскрыт по умолчанию */
.seo{display:grid;gap:20px;padding-top:8px}
.seo .method{margin-block:0}
.seo .method:last-child{margin-bottom:48px}
.fact{background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:16px;min-width:0}
.fact h2{font:600 16px/1.2 var(--display);text-transform:uppercase;letter-spacing:.04em;color:var(--ink);margin:0 0 12px}
.fact h3{font:600 13px/1.2 var(--display);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:18px 0 6px}
.fact p{margin:10px 0 0;font-size:14px;max-width:82ch}
.fact .note{font-size:12.5px;color:var(--muted)}
.fact .tw{margin-inline:-16px}
.chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.chips li{background:var(--surface-2);border-radius:10px;padding:8px 12px;display:grid;gap:2px;min-width:0;max-width:100%}
.chips .k{font-size:11.5px;color:var(--muted);letter-spacing:.03em;text-transform:uppercase}
.chips b{font-weight:600;font-size:14.5px;overflow-wrap:anywhere}
.chips .sub{font-weight:400}
/* BIO_V1: биография игрока — коронные герои, прежние ники, ссылки */
.bio-h{margin-top:12px}
.bio-h .k,.bio-aka .k{display:block;font-size:11.5px;color:var(--muted);letter-spacing:.03em;text-transform:uppercase;margin-bottom:6px}
.bio-h ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.bio-h li{display:flex;align-items:center;gap:8px;background:var(--surface-2);border-radius:10px;padding:5px 12px 5px 5px;font-weight:600;font-size:14px}
.bio-h img{width:48px;height:27px;border-radius:6px;object-fit:cover;display:block}
.bio-aka{margin:12px 0 0;overflow-wrap:anywhere}
.bio-ln{display:flex;flex-wrap:wrap;gap:6px 14px;margin:12px 0 0}
.bio-ln a{font-weight:500}
/* PM_V1 (03.11): «По месяцам» на странице игрока — плитки с долями дней, карточки месяцев со шкалой мест,
   переключатель «Карточки / Таблица» на радиокнопках (без JS) */
.pm>input{position:absolute;opacity:0;pointer-events:none}
.pm-hd{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.pm-hd h2{margin:0}
.pm-sw{display:inline-flex;background:var(--surface-2);border-radius:999px;padding:3px}
.pm-sw label{font-size:12.5px;font-weight:500;color:var(--muted);padding:5px 12px;border-radius:999px;cursor:pointer;transition:background .15s,color .15s}
#pmv-c:checked~.pm-hd label[for=pmv-c],#pmv-t:checked~.pm-hd label[for=pmv-t]{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px rgba(19,25,34,.12)}
#pmv-c:focus-visible~.pm-hd label[for=pmv-c],#pmv-t:focus-visible~.pm-hd label[for=pmv-t]{outline:2px solid var(--accent);outline-offset:1px}
.pm-tbl,#pmv-t:checked~.pm-list,#pmv-t:checked~.pm-lg{display:none}
#pmv-t:checked~.pm-tbl{display:block}
.pm-kpi{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
@media (min-width:1000px){.pm-kpi{grid-template-columns:repeat(6,minmax(0,1fr))}}
.pmk{background:var(--surface-2);border-radius:10px;padding:7px 9px 8px;display:flex;flex-direction:column;gap:2px;min-width:0}
.pmk .k{font-size:10.5px;line-height:1.2;color:var(--muted);letter-spacing:.03em;text-transform:uppercase}
.pmk b{font:600 20px/1.3 var(--display);font-variant-numeric:tabular-nums;color:var(--ink);margin-top:auto;white-space:nowrap}
.pmk b small{font:500 11.5px var(--body);color:var(--muted)}
.pmk .sub{font-size:11px;line-height:1.25}
.pmk .mt{margin-top:2px;height:3px}
.pmk.gold{background:linear-gradient(135deg,var(--new-bg),var(--surface-2) 80%)}
.pmk.gold b{color:var(--gold)}
.pmk.gold .mt s{background:var(--gold)}
.mt{display:block;height:4px;border-radius:2px;background:color-mix(in srgb,var(--faint) 22%,transparent);overflow:hidden}
.mt s{display:block;height:100%;width:var(--v);background:var(--accent);border-radius:inherit;text-decoration:none}
.pm-lg{display:flex;flex-wrap:wrap;gap:4px 14px;margin:14px 0 8px!important;font-size:12px!important;color:var(--muted)}
.pm-lg span{display:inline-flex;align-items:center;gap:6px}
.pm-lg i.bar{width:18px;height:6px;border-radius:3px;background:var(--accent);opacity:.35}
.pm-lg i.dot{position:static;transform:none}
.pm-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
@media (min-width:880px){.pm-list{grid-template-columns:repeat(2,minmax(0,1fr))}.pm-more{grid-column:1/-1}}
.pm-m{border:1px solid var(--line);border-radius:12px;padding:12px 14px 14px;display:grid;gap:10px;min-width:0}
.pm-m.now{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));background:linear-gradient(180deg,var(--accent-soft),transparent 70%)}
.pm-h{display:flex;align-items:center;flex-wrap:wrap;gap:6px 8px}
.pm-h b{font:600 16px/1.2 var(--display);text-transform:uppercase;letter-spacing:.04em}
.pm-tag{font-size:11px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;padding:2px 8px;border-radius:999px;background:var(--accent);color:var(--on-accent)}
.pm-tag.gold{background:var(--new-bg);color:var(--new)}
.pm-s{display:grid;grid-template-columns:repeat(auto-fit,minmax(60px,1fr));gap:6px 10px;margin:0}
.pm-s div{min-width:0}
.pm-s dt{font-size:11px;color:var(--muted);letter-spacing:.03em;text-transform:uppercase}
.pm-s dd{margin:0;font:600 18px/1.25 var(--display);font-variant-numeric:tabular-nums;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.pm-s dd .d{font-size:13px}
.pm-sc{padding:4px 6px 0}
.pm-rng{position:relative;height:14px}
.pm-rng::before{content:"";position:absolute;left:0;right:0;top:6px;height:2px;border-radius:1px;background:var(--line)}
.pm-rng .bar{position:absolute;top:3px;height:8px;min-width:8px;border-radius:4px;background:color-mix(in srgb,var(--accent) 35%,transparent);transform:translateX(-4px);cursor:help}
.dot{position:absolute;top:7px;width:10px;height:10px;border-radius:50%;transform:translate(-50%,-50%);cursor:help;display:inline-block}
.dot.avg{background:var(--muted);width:8px;height:8px}
.dot.end{background:var(--surface);border:2.5px solid var(--accent-text);width:13px;height:13px;z-index:1}
.pm-rng [data-tip]:hover::after,.pm-rng [data-tip]:focus::after{content:attr(data-tip);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);white-space:nowrap;
  background:var(--ink);color:var(--surface);font:500 12px/1.3 var(--body);padding:5px 8px;border-radius:6px;pointer-events:none;z-index:5}
.pm-rng .bar[data-tip]:hover::after,.pm-rng .bar[data-tip]:focus::after{left:0;transform:none}
.pm-rng .rt[data-tip]:hover::after,.pm-rng .rt[data-tip]:focus::after{left:auto;right:0;transform:none}
.pm-rng [data-tip]:focus{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 40%,transparent)}
.pm-ax{position:relative;height:16px;margin-top:4px;font-size:10.5px;color:var(--faint);font-variant-numeric:tabular-nums}
.pm-ax span{position:absolute;transform:translateX(-50%);white-space:nowrap}
.pm-ax span:first-child{transform:none;margin-left:-6px}
.pm-ax span:last-child{transform:translateX(-100%);margin-left:6px}
.pm-t100{display:grid;grid-template-columns:auto minmax(40px,1fr) auto;align-items:center;gap:10px;font-size:12.5px;color:var(--muted)}
.pm-t100 .mt{height:6px;border-radius:3px}
.pm-t100 b{color:var(--ink);font-weight:600;white-space:nowrap}
.pm .note{margin-top:12px}
/* OD_V2 (03.11): «Аккаунт в OpenDota» — медаль, полоса побед, герои со значками, атрибуты одной полосой */
.od{--a-str:#D9472B;--a-agi:#2FA84F;--a-int:#2B8FD6;--a-all:#A07CE0}
.od-ln{font-size:13px;font-weight:600;color:var(--accent-text);text-decoration:none;padding:5px 12px;border-radius:999px;background:var(--surface-2)}
.od-ln:hover{background:var(--accent-soft)}
.od-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:8px}
.od-md,.od-wl{background:var(--surface-2);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:3px;min-width:0}
.od-md{background:linear-gradient(135deg,var(--new-bg),var(--surface-2) 85%)}
.od-md b{font:600 22px/1.15 var(--display);color:var(--gold);text-transform:uppercase;letter-spacing:.02em}
.od .k{font-size:11px;color:var(--muted);letter-spacing:.03em;text-transform:uppercase}
.od-md .sub{font-size:12px;line-height:1.35}
.od-wl-h{display:flex;align-items:baseline;flex-wrap:wrap;gap:2px 10px}
.od-wl-h .k{flex-basis:100%}
.od-wl-h b{font:600 22px/1.15 var(--display);font-variant-numeric:tabular-nums}
.od-pc{font-size:13px;font-weight:600;color:var(--up)}
.wl{display:flex;height:8px;border-radius:4px;overflow:hidden;margin-top:4px;gap:2px}
.wl s{display:block;height:100%;text-decoration:none}
.wl .w{background:var(--up)} .wl .l{flex:1;background:var(--down);opacity:.8}
.od-wl-f{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:12px;font-variant-numeric:tabular-nums}
.od-wl-f .w{color:var(--up)} .od-wl-f .l{color:var(--down)}
.od-hh,.od-h li{display:grid;grid-template-columns:64px minmax(0,1fr) 74px 66px;align-items:center;column-gap:12px}
.od-hh{font-size:11px;color:var(--faint);text-transform:uppercase;letter-spacing:.03em;padding:0 0 6px}
.od-hh span:first-child{grid-column:1/3}
.od-hh span:not(:first-child){text-align:right}
.od-h{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.od-h li{row-gap:6px;padding:8px 0;border-top:1px solid var(--line)}
.od-h .hi{width:64px;height:36px;border-radius:6px;object-fit:cover;background:var(--surface-2);display:block}
.od-hn{min-width:0;display:flex;flex-direction:column;gap:2px}
.od-hn b{font-weight:600;font-size:14.5px;line-height:1.2;overflow-wrap:anywhere}
.od-hn .sub{font-size:12px;line-height:1.35}
.od-hn .at{vertical-align:0;margin-right:5px}
.od-hv{text-align:right;display:flex;flex-direction:column;gap:1px}
.od-hv b{font:600 16px/1.2 var(--display);font-variant-numeric:tabular-nums}
.od-hv span{font-size:11.5px;color:var(--muted);white-space:nowrap}
.od-dv.up{color:var(--up)} .od-dv.down{color:var(--down)}
.od-h .mt{grid-column:2/-1;height:3px}
.at{display:inline-block;width:9px;height:9px;border-radius:50%;flex:none;background:var(--muted)}
.at-str{background:var(--a-str)} .at-agi{background:var(--a-agi)} .at-int{background:var(--a-int)} .at-all{background:var(--a-all)}
.od-at{margin-top:14px;display:grid;gap:6px}
.ab{display:flex;height:10px;border-radius:5px;overflow:hidden;gap:2px}
.ab s{display:block;height:100%;text-decoration:none}
.ab-l{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:12.5px;color:var(--muted)}
.ab-l span{display:inline-flex;align-items:center;gap:6px}
@media (max-width:480px){
  .od-top{grid-template-columns:minmax(0,1fr)}
  .od-hh,.od-h li{grid-template-columns:52px minmax(0,1fr) 62px 54px;column-gap:8px}
  .od-h .hi{width:52px;height:29px}
  .od-hn b{font-size:13.5px}
}
.pm-more summary{list-style:none;cursor:pointer;text-align:center;font-size:13.5px;font-weight:600;color:var(--accent-text);padding:9px;border:1px dashed var(--line);border-radius:12px}
.pm-more summary::-webkit-details-marker{display:none}
.pm-more summary::after{content:" ▾"}
.pm-more details[open] summary{margin-bottom:10px}
.pm-more details[open] summary::after{content:" ▴"}
table.facts td{font-size:14px}
table.facts td:first-child,table.facts th:first-child{padding-left:16px}
table.facts td:last-child,table.facts th:last-child{padding-right:16px}
table.facts .plink{white-space:nowrap}
table.facts td.r{white-space:nowrap}   /* PUBG_V1: «3 из 17» не ломать в две строки */
/* DOTA_PRO_V1: форма команды — последние карты, «В»/«П» */
.form{display:inline-flex;flex-wrap:wrap;gap:3px;vertical-align:middle}
.form i{font:600 11.5px/20px var(--body);font-style:normal;min-width:20px;text-align:center;border-radius:5px;color:var(--surface)}
.form i.w{background:var(--up)} .form i.l{background:var(--down)}
.res-w{color:var(--up);font-weight:600} .res-l{color:var(--down);font-weight:600}
.team.opp{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}
.team.opp .tlogo + .tag{display:inline-block}   /* соперник: название и на телефоне, не только логотип */
.faq{display:grid;gap:0}
.faq details{border-top:1px solid var(--line);padding:10px 0}
.faq details:first-child{border-top:0;padding-top:0}
.faq summary{font-weight:600;color:var(--ink);list-style:none;pointer-events:none}
.faq summary::-webkit-details-marker{display:none}
.faq details p{margin:6px 0 0;color:var(--muted);font-size:14px;max-width:82ch}
/* LADDER_PAGES_V1: статичные разделы (архив, страны, команды, Россия, методика), подвал */
main .fact{margin-block:20px}
main .fact:first-child{margin-top:24px}
.fact .links{padding-left:18px}
.pager-links{display:flex;gap:10px 18px;flex-wrap:wrap;margin:8px 0 28px;font-weight:500}
.pager-links a,.fact p a,.fact td a:not(.plink){color:var(--accent-text)}
.team-big{margin-bottom:12px}
.team-big .tlogo{width:54px;height:36px}
.team-big .tag{font-size:13px}
.foot-nav{border-top:1px solid var(--line);background:var(--surface);margin-top:8px}
.foot-nav nav{display:flex;flex-wrap:wrap;gap:8px 18px;padding-top:18px}
.foot-nav a{color:var(--accent-text);font-weight:500;font-size:14px}
.foot-nav p{color:var(--muted);font-size:12.5px;margin:10px 0 0;padding-bottom:24px;max-width:82ch}
/* ники иероглифами и хангылем: не рвать посреди ника (CJK браузер иначе переносит в любом месте) */
.fact p,.faq summary,.faq details p,.chips b{word-break:keep-all;overflow-wrap:break-word}
.links{margin:6px 0 0;padding-left:18px;display:grid;gap:3px}
.links a,.hint a,.game-card h2 a{color:var(--accent-text)}
.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-block:24px}
.game-card h2 a{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}
.game-card[data-g="dota"] h2 img{background:#1C0D0B;border-radius:5px;padding:3px}   /* значок Dota белый — на белой карточке пропадал */
.game-card .links{padding:0 16px 16px 34px}
.game-card .plink{white-space:nowrap}   /* ники иероглифами браузер иначе переносит посреди слова */
@media (max-width:760px){.cards{grid-template-columns:minmax(0,1fr)}}

/* Листалка ладдера и метка опознанного игрока */
.pager{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 16px 14px;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}
.pager button{border:1px solid var(--line);background:var(--surface-2);border-radius:8px;width:32px;height:30px;cursor:pointer;font-size:16px;line-height:1}
.pager button:disabled{opacity:.4;cursor:default}
.pager select{font:inherit;font-size:13.5px;color:var(--ink);background:var(--surface-2);border:1px solid var(--line);border-radius:8px;padding:5px 8px}
.sub{color:var(--muted);font-size:12.5px}
.vrs-r{line-height:1.35;margin-top:2px;white-space:normal}   /* HUBS_V1: состав под командой в рейтинге VRS */
/* STREAMS_V1: значок канала у ника — плашка цвета площадки, знак белым (Kick — чёрным); в эфире — красная точка */
.sm{display:inline-block;position:relative;flex:none;width:18px;height:18px;margin-left:6px;border-radius:4px;vertical-align:-4px;background:var(--smc) var(--smi) center/12px 12px no-repeat;border:0;text-decoration:none}
.sm-tw{--smc:#9146FF;--smi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='white'%3E%3Cpath d='M3.857 0 1 2.857v10.286h3.429V16l2.857-2.857H9.57L14.714 8V0zm9.714 7.429-2.285 2.285H9l-2 2v-2H4.429V1.143h9.142z'/%3E%3Cpath d='M11.857 3.143h-1.143V6.57h1.143zm-3.143 0H7.571V6.57h1.143z'/%3E%3C/svg%3E")}
.sm-kick{--smc:#53FC18;--smi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='black'%3E%3Cpath d='M2 1h4v4h2V3h2V1h4v5h-2v1h-2v2h2v1h2v5h-4v-2H8v-2H6v4H2z'/%3E%3C/svg%3E")}
.sm-vk{--smc:#0077FF;--smi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='white'%3E%3Cpath d='M5.5 3.8v8.4c0 .5.5.8.9.5l6.6-4.2c.4-.2.4-.8 0-1L6.4 3.3c-.4-.3-.9 0-.9.5z'/%3E%3C/svg%3E")}
.sm.live::after{content:"";position:absolute;right:-3px;top:-3px;width:8px;height:8px;border-radius:50%;background:#FF2E4D;box-shadow:0 0 0 2px var(--surface);animation:sm-pulse 2s ease-in-out infinite}
@keyframes sm-pulse{50%{box-shadow:0 0 0 2px var(--surface),0 0 0 5px rgba(255,46,77,.25)}}
@media (prefers-reduced-motion:reduce){.sm.live::after{animation:none}}
.onair{display:inline-block;margin-left:6px;font:600 11px/1 var(--mono);padding:3px 5px;border-radius:4px;color:#fff;background:#E0243F;vertical-align:1px;white-space:nowrap}
.sm-list .sm{margin:0 8px 0 0}
.sm-list li{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px}
.sm-link{display:inline-flex;align-items:center}
.sm-st:empty{display:none}
.sm-st{font-size:13px;color:var(--muted)} .sm-st b{color:#E0243F}
.smbar{display:flex;flex-wrap:wrap;gap:8px;padding:10px 16px;border-bottom:1px solid var(--line)}
/* LAD_CTL_V1 (03.11): переключатели ладдера и «В эфире» — одной группой в шапке панели; на телефоне — одна строка с прокруткой */
.ctl-row{display:contents}
.t-n5{color:var(--muted);white-space:nowrap}.t-n5 small{font-size:11px;margin-left:1px}   /* TEAM_N5_V1 */
@media (min-width:561px){.panel.lad .controls .search{order:9}}
.ctl-row .smbar,.panel.lad .controls .smbar{padding:0;border:0}   /* LIVE_BTN_V1: кнопка вне .ctl-row — тоже без полосы */
.smf{display:inline-flex;align-items:center;gap:6px;font:600 13px/1 var(--body);padding:7px 10px;border-radius:8px;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;user-select:none}
.smf[aria-pressed="true"]{background:var(--accent-soft);border-color:var(--accent)}
.smf[aria-disabled="true"]{opacity:.55;cursor:default}
.smf .dot-l{width:8px;height:8px;border-radius:50%;background:#FF2E4D}
.smf:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
/* LIVE_ROW_V1 (03.11): строка эфира в одну линию; сжимается ладдер, потом категория, ник — последним */
.live-home .lh{display:flex;flex-wrap:nowrap;align-items:center;gap:8px;padding:8px 16px;border-top:1px solid var(--line);white-space:nowrap;min-width:0}
.live-home .lh img{flex:none;width:22px;height:22px;padding:2px;border-radius:5px;background:#0E1A1F}   /* значки игр рисованы под тёмную полосу */
.live-home .lh img.lh-g{width:18px;height:18px;padding:1px;opacity:.8}
.live-home .lh-n{flex:0 1 auto;max-width:42%;min-width:48px;overflow:hidden;text-overflow:ellipsis;font-weight:600}
.live-home .lh-m{flex:1 1 0;min-width:0;overflow:hidden;text-overflow:ellipsis;color:var(--muted);font-size:12.5px}
.live-home .lh-p{flex:none;font:600 12px var(--mono);color:var(--ink);margin-right:-3px}
.live-home .lh-c{flex:0 1 auto;min-width:0;max-width:34%;overflow:hidden;text-overflow:ellipsis;font-size:11.5px;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:2px 7px}
.live-home .lh-s{flex:none;display:inline-flex;align-items:center}
.live-home .lh-s .sm{margin-left:0}
/* LIVE_GAMES_V1: мини-значки игр с числом — фильтр; на телефоне строкой под заголовком с прокруткой */
.live-home>header{flex-wrap:wrap;gap:8px 12px}
.live-home .lh-gf{display:flex;gap:6px;margin-left:auto;overflow-x:auto;scrollbar-width:none;max-width:100%}
.live-home .lh-gf::-webkit-scrollbar{display:none}
.live-home .lg{flex:none;display:inline-flex;align-items:center;gap:5px;padding:3px 8px 3px 3px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink);font:600 12.5px var(--mono);cursor:pointer}
.live-home .lg img{width:20px;height:20px;padding:2px;border-radius:50%;background:#0E1A1F}
.live-home .lg:hover{border-color:var(--accent)}
.live-home .lg.on{background:var(--accent);border-color:var(--accent);color:#fff}
.live-home .lg:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
@media (max-width:560px){.live-home .lh-gf{margin-left:0;flex:1 1 100%;gap:3px;justify-content:space-between}
  .live-home .lg{gap:3px;padding:2px 5px 2px 2px;font-size:12px}.live-home .lg img{width:18px;height:18px;padding:1px}}
.live-home .lh-more .lh-rest{display:none}.live-home .lh-more.open .lh-rest{display:block}
.live-home .lh-tg{display:block;width:100%;text-align:left;cursor:pointer;padding:9px 16px;border:0;border-top:1px solid var(--line);background:none;font:600 13.5px var(--body);color:var(--accent-text)}
.live-home .lh-tg::after{content:" ▾"}.live-home .lh-more.open .lh-tg::after{content:" ▴"}
.live-home .lh-tg:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
@media (max-width:440px){.live-home .lh{gap:6px;padding-inline:12px}.live-home .lh.has-c .lh-m{display:none}.live-home .lh.has-c .lh-n{flex-shrink:4;min-width:36px}.live-home .lh-c{flex:0 1 auto;max-width:none;margin-left:auto;padding:2px 6px}}
@media (max-width:370px){.live-home .lh.has-c .lh-p{display:none}}
.aka a{color:var(--on-band);text-decoration-color:rgba(255,255,255,.4)}

/* PROMO_V1: баннер freebety.ru — тёмная плашка в цветах их жетона, одинакова в обеих темах */
.promo-w{margin-block:8px 28px}
.promo{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px 20px;
  padding:20px 24px;border-radius:14px;text-decoration:none;color:#F3F1EC;overflow:hidden;
  background:radial-gradient(120% 160% at 0% 50%,rgba(57,255,20,.16) 0%,transparent 55%),linear-gradient(115deg,#0F0F0F 0%,#101A12 100%);
  border:1px solid rgba(57,255,20,.28);box-shadow:var(--shadow)}
.promo:hover{border-color:rgba(57,255,20,.6)}
.promo:focus-visible{outline:2px solid #39FF14;outline-offset:3px}
.promo-logo{flex:none;display:block;filter:drop-shadow(0 0 10px rgba(57,255,20,.35))}
.promo-t{display:grid;gap:6px;min-width:0}
.promo-h{font:600 21px/1.32 var(--display);text-transform:uppercase;letter-spacing:.02em}
.promo-k{font:600 15px/1 var(--display);letter-spacing:.03em;color:#fff}
.promo-k i{font-style:normal;color:#39FF14}
.promo-h>span{display:block}
.promo-h>span:first-child{color:rgba(243,241,236,.66)}
.promo-s{font-size:14px;color:rgba(243,241,236,.72);max-width:62ch}
.promo-cta{font:600 15px/1 var(--body);white-space:nowrap;padding:13px 20px;border-radius:10px;background:#39FF14;color:#0F0F0F;
  box-shadow:0 0 0 0 rgba(57,255,20,.4);transition:box-shadow .15s}
.promo-cta::after{content:" →"}
.promo:hover .promo-cta{box-shadow:0 0 18px 0 rgba(57,255,20,.45)}
.promo-ad{position:absolute;top:7px;right:10px;font:500 10.5px/1 var(--body);letter-spacing:.03em;color:rgba(243,241,236,.5)}
@media (max-width:760px){
  .promo{grid-template-columns:auto minmax(0,1fr);padding:28px 16px 16px;gap:12px 14px}
  .promo-logo{width:44px;height:44px;align-self:start}
  .promo-h{font-size:18px}
  .promo-s{font-size:13px}
  .promo-cta{grid-column:1/-1;text-align:center;padding:12px 16px}
}

/* FB_STRIP_V1 (27.10.2026, владелец: «полоску с ротацией фрибетов БК, только приветственные, цвет БК, сумма, логотип;
   ротация не очень быстрая; только БК с партнёрками»; затем «просто логотип и номинал, потоньше»). Фишка в строке
   шапки между знаком и «Матч-центром» — логотип и номинал, название БК в title/aria-label; на узком экране вместо
   неё полоса во всю ширину под шапкой (в .band, уезжает со страницей — высота закреплённой строки прежняя).
   Цвет — --fbs (tone из bkColors.ts), 18+ — сегментом во всю высоту: ≥7 % площади при любой ширине. */
.fbs{position:relative;display:inline-flex;align-items:stretch;height:28px;flex:none;overflow:hidden;border-radius:999px;
  color:#fff;text-decoration:none;border:1px solid color-mix(in srgb,var(--fbs) 70%,#fff);
  /* FB_GLOSS_V2 (27.10, владелец: «тёмную часть убери, только небольшую блестяшку»): без затемнения снизу и тёмного
     сегмента 18+ — цвет БК чуть светлее сверху и мягкий блик в верхней половине (::before) */
  background:linear-gradient(180deg,color-mix(in srgb,var(--fbs) 78%,#fff) 0%,var(--fbs) 55%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 2px 6px rgba(0,0,0,.35),0 0 12px color-mix(in srgb,var(--fbs) 40%,transparent)}
.fbs::before{content:"";position:absolute;left:14%;right:14%;top:1px;height:42%;border-radius:999px;pointer-events:none;
  background:linear-gradient(180deg,rgba(255,255,255,.34),rgba(255,255,255,0))}
.fbs:hover{filter:brightness(1.08)}
.fbs:focus-visible{outline:2px solid #fff;outline-offset:2px;border-radius:999px}
.fbs-v{position:relative;display:flex;overflow:hidden;min-width:0}
.fbs-it{flex:1;display:flex;align-items:center;gap:5px;padding:0 4px 0 3px;white-space:nowrap}
.fbs-chip .fbs-am{flex:1;text-align:center}   /* сумма — по центру между логотипом и 18+ */
/* FB_SWAP_V1 (27.10, владелец: «замену без заполнения, красивым переходом»): цвет фишки перетекает в цвет следующей
   БК (--fbs зарегистрирован как <color> — градиент анимируется), логотип переворачивается монетой, номинал уходит
   вверх с размытием, новый приходит снизу, по фишке пробегает блик. Без @property цвет меняется сразу. */
@property --fbs{syntax:'<color>';inherits:true;initial-value:#B91C1C}
.fbs{transition:--fbs .8s ease}
.fbs-it.in{animation:fbs-in .6s cubic-bezier(.2,.8,.2,1) both}
.fbs-it.out{position:absolute;inset:0;animation:fbs-out .45s cubic-bezier(.5,0,.8,.4) both}
.fbs-it.in .fbs-lg{animation:fbs-flip .7s cubic-bezier(.2,.8,.2,1) both;backface-visibility:hidden}
@keyframes fbs-in{from{transform:translateY(75%);opacity:0;filter:blur(3px)}}
@keyframes fbs-out{to{transform:translateY(-75%);opacity:0;filter:blur(3px)}}
@keyframes fbs-flip{from{transform:perspective(80px) rotateY(-180deg)}}
.fbs::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;transform:translateX(-110%);
  background:linear-gradient(105deg,transparent 25%,rgba(255,255,255,.5) 50%,transparent 75%)}
.fbs.shine::after{animation:fbs-shine .9s ease-out .15s both}
@keyframes fbs-shine{to{transform:translateX(110%)}}
.fbs-lg{flex:none;width:22px;height:22px;border-radius:50%;background:#fff;padding:2px;object-fit:contain;box-sizing:border-box;
  box-shadow:0 0 0 2px rgba(255,255,255,.35),0 1px 2px rgba(0,0,0,.3)}
.fbs-nm{display:none;font:500 13px/1 var(--body);color:rgba(255,255,255,.88)}
.fbs-am{font:600 15px/1 var(--display);letter-spacing:.01em;text-shadow:0 1px 0 rgba(0,0,0,.3)}
.fbs-am small{font:500 10px/1 var(--body);color:rgba(255,255,255,.85);margin-right:2px;letter-spacing:0}
.fbs-go{display:none}
.fbs-18{flex:none;align-self:center;display:grid;place-items:center;height:16px;padding:0 3px;margin-right:4px;border-radius:999px;
  border:1px solid rgba(255,255,255,.6);font:600 10px/1 var(--body)}   /* значок в обводке: ~10 % площади фишки (норма ≥7 %) */
.fbs-rib{display:none;width:calc(100% + 32px);margin:0 -16px;height:30px;border-radius:0;border-width:0 0 1px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.35)}
.fbs-rib::before{left:0;right:0;top:0;border-radius:0}
.fbs-rib .fbs-nm,.fbs-rib .fbs-go{text-shadow:0 1px 0 rgba(0,0,0,.4)}
.fbs-rib:focus-visible{border-radius:0;outline-offset:-2px}
.fbs-rib .fbs-v{flex:1}
.fbs-rib .fbs-it{flex:1;min-width:0;padding-left:16px;gap:8px}
.fbs-rib .fbs-nm{display:inline;min-width:0;overflow:hidden;text-overflow:ellipsis}
.fbs-rib .fbs-go{display:inline;margin-left:auto;font:600 13px/1 var(--body)}
.fbs-rib .fbs-go::after{content:" →"}
.fbs-rib .fbs-18{align-self:stretch;height:auto;width:max(36px,8%);margin:0;padding:0;border:0;border-left:1px solid rgba(255,255,255,.35);border-radius:0;font-size:11px}   /* зона 18+ ≥8 % ширины */
@media (min-width:561px) and (max-width:1279px){.bar-top:has(.fbs-chip) .brand small{display:none}}
/* узко — полоса вместо фишки: по ширине, а на телефоне с крупным шрифтом — по факту (скрипт ставит fbs-narrow,
   если фишка или «Матч-центр» ушли со строки знака) */
@media (max-width:479px){.fbs-chip{display:none}.fbs-rib{display:flex}html:has(.fbs-rib){scroll-padding-top:92px}}
/* FB_STICKY_V1 (27.10, владелец: «плашку БК фиксируй на андроид устройствах»): полоса — внутри закреплённой шапки
   (header.topbar), под строкой со знаком; не уезжает при прокрутке. Якоря — с поправкой на её 30 px */
html.fbs-narrow:has(.fbs-rib){scroll-padding-top:92px}
html.fbs-narrow .fbs-chip{display:none}
html.fbs-narrow .fbs-rib{display:flex}
@media (max-width:359px){.fbs-rib .fbs-go{display:none}}
@media (prefers-reduced-motion:reduce){.fbs{transition:none}.fbs-it.in,.fbs-it.out,.fbs-it.in .fbs-lg,.fbs.shine::after{animation:none}}

@media (max-width:1000px){.grid{grid-template-columns:minmax(0,1fr)}.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.hero .meta{margin-left:0}}
@media (max-width:560px){
  .wrap{padding-inline:16px}
  .tiles{grid-template-columns:minmax(0,1fr)}
  .games{margin-left:0}
  td,th{padding:7px 8px}
  /* TABLE_FIT_V1 (27.10, владелец: «пространство таблицы оптимизируй, между позицией и изменением много пустого,
     флаг страны не влазит»): имя забирает остаток ширины и режется «…» (max-width:0 + width:100%), прочие
     колонки — по содержимому; номер прижат вправо к изменению мест; флаг всегда в кадре */
  th{font-size:10.5px;letter-spacing:.02em;padding-inline:5px}
  td{padding-inline:5px}
  th:first-child,td:first-child{padding-left:10px}
  th:last-child,td:last-child{padding-right:10px}
  td.pos{width:auto;text-align:right;font-size:15px;padding-right:3px}
  th.ph{text-align:right;padding-right:3px}
  th.dl,td.dl{text-align:left;padding-left:5px}
  td.name{max-width:0;width:100%}
  td.name .plink{display:inline-block;max-width:calc(100% - 30px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.2;vertical-align:text-bottom}   /* «…» у самой ссылки, запас под значок класса WoW */
  td.name:has(.sm) .plink{max-width:calc(100% - 54px)}   /* STREAMS_V1: и под значок канала */
  td.name .onair{display:none}   /* на телефоне плашка съедала ник до «d…» — эфир видно по красной точке значка */
  td.fl-c{padding-inline:4px}
  .hide-s{display:none}
  .barrow{grid-template-columns:110px minmax(0,1fr) 44px}
  .period .note{margin-left:0}
  .search input{width:100%}
  .team .tlogo + .tag{display:none}   /* на телефоне у команды с логотипом — только логотип, тег в title */
  /* MOBILE_FOLD_V1 (23.10): таблица лидеров — на первом экране телефона. Вкладки игр — одной строкой
     с прокруткой, шапка плотнее, период — одной строкой, плитки-итоги — лентой в одну строку. */
  .bar-top{padding-block:10px;gap:10px}
  .mc-link{margin-left:auto;padding:5px 10px 5px 9px;font-size:13px}   /* в строку со знаком; вкладки игр — ниже */
  .brand small{display:none}
  .games.games-d{display:none}
  .games.games-m{display:flex;padding-top:10px}
  html{scroll-padding-top:60px}
  .games{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-inline:-16px;padding-inline:16px;max-width:calc(100% + 32px)}
  .games::-webkit-scrollbar{display:none}
  .games a{flex:none;padding:5px 11px 5px 7px}
  .hero{padding-block:14px 14px;gap:8px 12px;flex-wrap:wrap}
  .hero img.logo{width:36px;height:36px;padding:3px}
  .hero h1{font-size:clamp(22px,6.4vw,30px);line-height:1.05;flex:1 1 0;min-width:0}
  .hero .meta{flex-basis:100%}
  .panel .controls{min-width:0;max-width:100%}
  .panel .controls .seg{flex-wrap:nowrap;overflow-x:auto;max-width:100%;scrollbar-width:none}
  .panel .controls .seg::-webkit-scrollbar{display:none}
  .panel .controls .seg button{flex:none}
  .hero .meta{font-size:12.5px}
  .period{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:6px;padding:8px;margin-block:12px 10px}
  .period .lbl,.period .note{display:none}
  .period label{font-size:0}            /* «с» / «по» прячем, остаются сами даты */
  .period select{font-size:13px;width:100%;padding:5px 6px}
  .period .seg button{padding:5px 8px;font-size:12.5px}
  /* TILES_GO_V1: четыре плитки в строку без прокрутки (на ≤400 — 2×2), подписи короткие */
  .tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:0 0 12px}
  .panel{display:flex;flex-direction:column}
  .panel>.hint{order:9;padding-top:10px;font-size:12px}   /* пояснение — под таблицей, чтобы строки ладдера были выше */
  .panel>header{padding:12px 14px 8px;gap:8px}
  .tile{padding:7px 8px;border-radius:10px;border-top-width:2px}
  .tile .k{font-size:10px;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .tile .v{font-size:14.5px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;overflow-wrap:normal}
  .tile .v img.tlogo{width:21px;height:14px}
  .tile .v .team,.tile .v .cn{gap:4px}
  .tile .v .cicon{width:16px;height:16px;vertical-align:-2px}
  .tile .s{font-size:10.5px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .tile .s .tag{font-size:10px;padding:1px 4px}
  .tile .nm-l{display:none} .tile .nm-s{display:inline}
  /* поиск — в строку заголовка «Ладдер · дата», переключатели — строкой ниже */
  .panel.lad>header .controls{display:contents}
  .panel.lad>header h2{flex:none}
  .panel.lad>header .search{order:1;flex:1 1 120px;min-width:0}
  .panel.lad>header::after{content:"";order:1;flex-basis:100%;height:0}   /* перенос строки после поиска */
  .panel.lad>header .ctl-row{order:2;flex:1 1 100%;min-width:0;display:flex;flex-wrap:nowrap;align-items:center;gap:6px;
    overflow-x:auto;scrollbar-width:none;margin-inline:-14px;padding-inline:14px;
    -webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 24px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 24px),transparent)}
  .panel.lad>header .ctl-row::-webkit-scrollbar{display:none}
  .panel.lad>header .ctl-row .seg{flex:none;flex-wrap:nowrap}
  .panel.lad>header .ctl-row .seg button{padding:5px 9px;font-size:12.5px;white-space:nowrap}
  /* LIVE_BTN_V1: «В эфире» — между заголовком и поиском, компактно: красная точка и число */
  .panel.lad>header .smbar{order:1;flex:none}
  .panel.lad>header .smf{padding:6px 10px;gap:6px;font:600 13px var(--mono);white-space:nowrap;border-color:#E0243F;color:#E0243F}
  .panel.lad>header .smf[aria-pressed="true"]{background:#E0243F;color:#fff}
  .panel.lad>header .smf[aria-pressed="true"] .dot-l{background:#fff}
  .panel.lad>header .smf .smf-l{display:none}
  .panel.lad>header .search{order:1;flex:1 1 60px;min-width:0}
}
@media (max-width:380px){   /* LIVE_BTN_V1: на самых узких поиску и так тесно — кнопка встаёт первой в строку режимов */
  .panel.lad>header .smbar{order:2}
  .panel.lad>header .ctl-row{order:3;flex:1 1 0;margin-left:0;padding-left:0}
}
@media (max-width:400px){
  .tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .period{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .period .seg{grid-column:1/-1;justify-self:start}
}
