/* Nový web GPM — tablet a telefon: zápas, 3D přehrávač, tým a hráč (app-detail.js).
   Navazuje na css-mobile.css (společný základ) a css-detail.css (počítač). Všechno je pod .dt, .rpv nebo .sub .crumb,
   aby se pravidla nepletla ostatním stránkám. Hranice jsou stejné jako v základu: 1180 / 900 / 640 px. */

/* ═════════ tablet na šířku (≤ 1180): rozložení z počítače, jen těsnější ═════════ */
@media (max-width: 1180px) {
  /* 3D přehrávač: řádek pod hlavičkou se tu posouvá do strany — cesta zpět drží vlevo a přepínač her zůstává po ruce
     (zvolenou hru posune do okna app-detail.js); dovětek „kolo · 3D replay“ odpadá */
  .sub .crumb:has(.rchips) > a.cb:first-child { position: sticky; left: 0; z-index: 2; padding-right: 10px; background: #08080a; box-shadow: -30px 0 0 #08080a, 10px 0 10px -6px rgba(0,0,0,.85); }
  .sub .crumb:has(.rchips) > b + span:not(.rchips) { display: none; }
  .sub .crumb .rchips { margin-left: 8px; }

  /* tabule: jména týmů se lámou mezi slovy, ne po písmenech */
  .dt .vsb { padding: 24px 28px 30px; }
  .dt .vsb .t { gap: 18px; }
  .dt .vsb .tl { --s: 96px !important; }
  .dt .vsb .nm { font-size: 30px; overflow-wrap: break-word; }
  .dt .vsb .nm.lg { font-size: 26px; } .dt .vsb .nm.xl { font-size: 22px; }
  .dt .vsb .mid { padding: 0 22px; } .dt .vsb .mid .num { font-size: 80px; }

  /* hráč zápasu: pět čísel vedle sebe potřebuje užší popisky */
  .dt .mstars { grid-template-columns: 1.6fr 1fr 1fr; gap: 16px; }
  .dt .mstars.n2 { grid-template-columns: 1.6fr 1fr; }
  .dt .potm .sg { gap: 18px 10px; } .dt .potm .sg .lbl { letter-spacing: .06em; }

  /* čísla ve mřížce drží spodní linku, i když se popisek nad nimi zalomí na dva řádky */
  .dt .sg > div { display: flex; flex-direction: column; justify-content: space-between; }

  /* hlavička týmu: dlouhé jméno se zalomí, místo aby se uřízlo */
  .dt .headc.hteam h1 { font-size: 34px; line-height: 1.06; white-space: normal; text-overflow: clip; overflow-wrap: break-word; }
  .dt .headc .big > div { padding: 0 22px; }

  /* živý zápas: srovnání týmů nahoře přes celou šířku, soupisky vedle sebe pod ním */
  .dt .lgrid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; }
  .dt .lgrid > .card:not(.lvt) { grid-column: 1 / -1; order: -1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 40px; }
  .dt .lgrid > .card:not(.lvt) > h3, .dt .lgrid > .card:not(.lvt) > .row { grid-column: 1 / -1; }
  .dt .lgrid > .card:not(.lvt) > .cmp:nth-last-child(2) { border-bottom: 0; }

  /* tým: zápasy a tabulka divize vedle sebe — pevné šířky sloupců, jméno týmu se zkrátí, nic se neposouvá do strany */
  .dt .fixc table.t, .dt .stdc table.t { display: table; table-layout: fixed; overflow: visible; }
  .dt .fixc table.t > tbody, .dt .stdc table.t > tbody { display: table-row-group; }
  .dt .fixc .t td:nth-child(3) { width: 126px; }
  .dt .fixc .t td:nth-child(4) { width: 66px; }
  .dt .fixc .t td.l, .dt .stdc .t td.l { overflow: hidden; }
  .dt .fixc .pcell { display: flex; }
  .dt .fixc .who { min-width: 0; }
  .dt .stdc .t td.l .who { display: flex; }
  .dt .fixc .t td.l .who .nm, .dt .stdc .t td.l .who .nm { max-width: none !important; }
  .dt .stdc .t tr > :nth-child(1) { width: 34px; }
  .dt .stdc .t tr > :nth-child(3) { width: 40px; }
  .dt .stdc .t tr > :nth-child(4) { width: 56px; }
  .dt .stdc .t tr > :nth-child(5) { width: 66px; }
  .dt .stdc .t tr > :nth-child(6) { width: 46px; }

  /* řazení tabulek: celé záhlaví sloupce je na dotyk (aspoň 36 px na výšku) */
  .dt .t th.srt { padding-top: 0; padding-bottom: 0; }
  .dt .t th.srt a { display: block; margin: 0 -10px; padding: 13px 10px; }
  .dt .showall { padding: 16px 0 10px; }
}

/* tablet na šířku: zápasy týmu jsou v půlce stránky — štítek (Forfeit, No result) jde pod jméno soupeře, ať jméno nezmizí */
@media (min-width: 901px) and (max-width: 1180px) {
  .dt .fixc .pcell { display: grid; grid-template-columns: 18px minmax(0, 1fr); align-items: center; gap: 3px 8px; }
  .dt .fixc .pcell > .bdg { grid-column: 2; justify-self: start; margin-left: 44px; }
  .dt .fixc .t th, .dt .fixc .t td { padding-left: 7px; padding-right: 7px; }
}

/* ═════════ tablet na výšku (≤ 900): tabule se staví na výšku, karty po dvou ═════════ */
@media (max-width: 900px) {
  /* 3D přehrávač: v řádku pod hlavičkou zbude jen cesta zpět a přepínač her; jméno zápasu je vidět v přehrávači */
  .sub .crumb:has(.rchips) > b, .sub .crumb:has(.rchips) > span:not(.rchips) { display: none; }
  /* 3D přehrávač: hlavička je tu nižší (64 + 54 px) */
  .rpv { height: calc(100vh - 119px); height: calc(100dvh - 119px); min-height: 360px; }
  @media (max-height: 520px) { .rpv { min-height: 220px; } }      /* telefon naležato */

  /* drobné písmo: nic pod 11 px */
  .dt .lbl { font-size: 11px; letter-spacing: .1em; }
  .dt .pill { font-size: 11px; letter-spacing: .06em; }
  .dt .bdg { height: 19px; padding: 0 5px; font-size: 11px; letter-spacing: .02em; }
  .dt .t th { font-size: 11px; letter-spacing: .08em; }
  .dt .fm i { font-size: 11px; }

  /* tabule: logo nad jménem, skóre uprostřed ve výšce log */
  .dt .vsb { grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: start; padding: 22px 24px 26px; }
  .dt .vsb .meta { margin-bottom: 22px; }
  .dt .vsb .t, .dt .vsb .t.r { align-self: stretch; flex-direction: column; align-items: center; gap: 14px; text-align: center; }
  .dt .vsb .tx { flex: 1 1 auto; display: flex; flex-direction: column; align-items: center; width: 100%; }
  .dt .vsb .tx > .nm { flex: 1 0 auto; }      /* popisek a čárky série drží spodní linku, i když má jedno jméno víc řádků */
  .dt .vsb .tl { --s: 92px !important; }
  .dt .vsb .nm, .dt .vsb .nm.lg, .dt .vsb .nm.xl { font-size: 24px; line-height: 1.12; }
  .dt .vsb .tx > .lbl { line-height: 1.4; }
  .dt .vsb .pips { justify-content: center !important; }
  .dt .vsb .mid { align-self: start; margin-top: 10px; padding: 0 14px; }
  .dt .vsb .mid .num { font-size: 72px; }
  .dt .vsb .mid .num.vs { font-size: 42px; margin-top: 16px; }

  /* hráč zápasu přes celou šířku, druhá a třetí hvězda vedle sebe pod ním */
  .dt .mstars { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .dt .mstars .potm { grid-column: 1 / -1; }
  .dt .mstars.n2 { grid-template-columns: minmax(0, 1fr); }
  .dt .potm .sg .lbl { letter-spacing: .1em; }

  /* živý zápas: soupisky se vejdou bez posouvání — jméno se zkrátí, čísla mají pevnou šířku */
  .dt .lvt table.t { display: table; table-layout: fixed; overflow: visible; }
  .dt .lvt table.t > tbody { display: table-row-group; }
  .dt .lvt .t td.l { overflow: hidden; }
  .dt .lvt .t td.l .who { display: flex; }
  .dt .lvt .t td.l .who .nm, .dt .lvt .t td.l .who small { max-width: none; }
  .dt .lvt .t th:not(.l), .dt .lvt .t td:not(.l) { width: 30px; }
  .dt .lgrid > .card:not(.lvt) { column-gap: 28px; }

  /* ── přestupy: místo tabulky řádky o dvou řádcích — kdo a jaký přestup, pod tím odkud kam a datum.
        Na tabletu jsou po dvou vedle sebe, na telefonu pod sebou. ── */
  .dt .trsc table.t, .dt .ptrc table.t { display: block; overflow: visible; }
  .dt .trsc table.t > tbody, .dt .ptrc table.t > tbody { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 32px; width: auto; min-width: 0; }
  .dt .trsc .t tr:first-child, .dt .ptrc .t tr:first-child { display: none; }      /* záhlaví sloupců */
  .dt .trsc .t tr, .dt .ptrc .t tr { display: grid; grid-template-columns: minmax(0, auto) 16px minmax(0, auto) minmax(0, 1fr) max-content; align-items: center; gap: 7px 6px; padding: 11px 0; border-bottom: 1px solid var(--line2); }
  .dt .trsc .t tr:last-child, .dt .ptrc .t tr:last-child, .dt .trsc .t tr:nth-last-child(2):nth-child(even), .dt .ptrc .t tr:nth-last-child(2):nth-child(even) { border-bottom: 0; }
  .dt .trsc .t td, .dt .ptrc .t td { display: block; min-width: 0; padding: 0; border: 0; text-align: left; }
  .dt .trsc .who, .dt .ptrc .who { display: flex; min-width: 0; gap: 8px; }
  .dt .trsc .who .nm, .dt .ptrc .who .nm { display: block; max-width: none !important; }
  .dt .trsc .t td .tl, .dt .ptrc .t td .tl { --s: 22px !important; }
  .dt .trsc .t td:nth-child(n + 3) .who { gap: 6px; }
  /* tým: hráč vlevo, štítky vpravo ve stejném řádku (štítky mají vyhrazených 140 px) */
  .dt .trsc .t td:nth-child(2) { grid-area: 1 / 1 / 2 / -1; justify-self: start; max-width: calc(100% - 140px); }
  .dt .trsc .t td:nth-child(6) { grid-area: 1 / 1 / 2 / -1; justify-self: end; }
  .dt .trsc .t td:nth-child(3) { grid-area: 2 / 1; } .dt .trsc .t td:nth-child(4) { grid-area: 2 / 2; text-align: center; } .dt .trsc .t td:nth-child(5) { grid-area: 2 / 3; }
  .dt .trsc .t td:nth-child(1) { grid-area: 2 / 5; justify-self: end; padding-left: 0; font-size: 11px; letter-spacing: 0; text-transform: uppercase; }
  .dt .trsc .t td:nth-child(2) .nm { font-size: 15px; }
  /* hráč: datum vlevo, druh přestupu vpravo, pod tím odkud kam */
  .dt .ptrc .t td:nth-child(1) { grid-area: 1 / 1 / 2 / -1; justify-self: start; font-size: 11.5px; letter-spacing: .06em; text-transform: uppercase; }
  .dt .ptrc .t td:nth-child(5) { grid-area: 1 / 1 / 2 / -1; justify-self: end; }
  .dt .ptrc .t td:nth-child(2) { grid-area: 2 / 1; } .dt .ptrc .t td:nth-child(3) { grid-area: 2 / 2; text-align: center; } .dt .ptrc .t td:nth-child(4) { grid-area: 2 / 3; }
  .dt .trsc .t td:nth-child(n + 3):nth-child(-n + 5) .nm, .dt .ptrc .t td:nth-child(n + 2):nth-child(-n + 4) .nm { font-size: 13.5px; }

  /* soupiska týmu: užší odsazení buněk, ať se čtrnáct sloupců vejde bez posouvání */
  .dt .rosc .t th, .dt .rosc .t td { padding-left: 6px; padding-right: 6px; }
  .dt .rosc .t th.srt a { margin: 0 -6px; padding-left: 6px; padding-right: 6px; }
  .dt .rosc .t td.l .who .nm { max-width: 21vw; }

  /* osm čísel vedle sebe je na tabletu na výšku těsných: čtyři a čtyři */
  .dt .sg.c4, .dt .sg.c3 { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px 14px; }

  /* PUG blok: užší levý sloupec, čára MMR se kreslí do menšího plátna (app-detail.js) */
  .dt .pugg { grid-template-columns: 200px minmax(0, 1fr); gap: 24px; }
  .dt .mmr text { font-size: 11px; }
}

/* ═════════ dotykové zařízení (i tablet): přepínače a odkazy v řádcích mají na výšku aspoň 36 px.
   U odkazů se přidává jen plocha na ťuknutí (výplň a stejně velký záporný okraj), rozložení se nehýbe. ═════════ */
@media (pointer: coarse), (max-width: 640px) {
  .dt .chip { height: 36px; }
  .dt .card > h3 .hc .chip { height: 36px; padding: 0 14px; }
  .sub .crumb a.rchip { height: 36px; }
  .sub .crumb a.cb { display: inline-flex; align-items: center; min-height: 40px; }
  .sub .r a.cb { padding: 11px 12px; }
  .dt a.who:not(.ldp) { margin-top: -7px; margin-bottom: -7px; padding-top: 7px; padding-bottom: 7px; }
  .dt a.pname { margin: -7px 0; padding: 7px 0; } .dt a.pname.sm { margin: -9px 0; padding: 9px 0; }
  .dt a.rname { margin: -9px 0; padding: 9px 0; }
  .dt .card > h3 a.lnk { margin-top: -11px; margin-bottom: -11px; padding: 11px 0; }
  .dt .fxt a.ml { display: block; margin: -12px 0; padding: 12px 0; }
  .dt .fxt a.rd { margin: -2px 0; padding: 2px 0; }
}

/* ═════════ telefon (≤ 640) ═════════ */
@media (max-width: 640px) {
  /* 3D přehrávač vyplní výšku pod horními lištami (56 + 50 px) až dolů k okraji displeje */
  .rpv { height: calc(100vh - 107px); height: calc(100dvh - 107px - env(safe-area-inset-bottom, 0px)); min-height: 200px; }
  body:has(.rpv) { padding-bottom: env(safe-area-inset-bottom, 0px); }
  .sub .crumb .rchips { margin-left: 2px; gap: 6px; }
  .sub .crumb a.rchip { height: 36px; padding: 0 12px; font-size: 11px; }
  .sub .r:has(> a.cb) { display: block; margin-left: 10px; }
  .sub .r a.cb { display: inline-flex; align-items: center; height: 36px; padding: 0 12px; }

  .dt .lbl { letter-spacing: .08em; }
  .dt .t th { letter-spacing: .06em; }
  .dt .mutp { font-size: 13.5px; }
  .dnote { align-items: flex-start; gap: 10px; padding: 12px 14px; font-size: 13.5px; }
  .dt .who .nm { display: block; }      /* jméno jde zkrátit třemi tečkami jen jako blok */
  .dt .t th.srt a { margin: 0 -7px; padding: 13px 7px; }

  /* ── zápas: tabule ── */
  .dt .vsb { column-gap: 6px; padding: 14px 12px 18px; border-radius: 14px; }
  .dt .vsb .meta { gap: 6px 8px; margin-bottom: 16px; }
  .dt .vsb .meta > img { height: 22px !important; }
  .dt .vsb .meta > .lbl:last-child { width: 100%; margin-left: 0 !important; }      /* datum na vlastním řádku */
  .dt .vsb .t { grid-column: 1; grid-row: 2; gap: 10px; } .dt .vsb .t.r { grid-column: 3; gap: 10px; }
  .dt .vsb .tl { --s: 64px !important; }
  .dt .vsb .nm, .dt .vsb .nm.lg, .dt .vsb .nm.xl { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; font-size: 15px; line-height: 1.2; }
  .dt .vsb .tx > .lbl { margin-top: 6px !important; letter-spacing: .02em; text-wrap: balance; }
  .dt .vsb .pips { gap: 5px; margin-top: 10px; } .dt .vsb .pips i { width: 20px; height: 5px; }
  /* střed se rozpadne: skóre mezi loga, stav zápasu (nebo hodiny) na vlastní řádek pod týmy */
  .dt .vsb .mid { display: contents; }
  .dt .vsb .mid .num { grid-column: 2; grid-row: 2; align-self: start; margin-top: 11px; padding: 0 4px; font-size: 42px; }
  .dt .vsb .mid .num i { margin: 0 6px; }
  .dt .vsb .mid .num.vs { margin-top: 20px; font-size: 26px; }
  .dt .vsb .mid > .lbl, .dt .vsb .mid > .clock { grid-column: 1 / -1; grid-row: 3; justify-self: center; margin-top: 14px !important; }
  .dt .vsb .clock { padding: 6px 12px; } .dt .vsb .clock b { font-size: 18px; }

  /* ── zápas: přepínač her a odkaz na 3D záznam ── */
  .dt .mbar { gap: 10px; }
  .dt .gch { display: grid; grid-template-columns: repeat(auto-fit, minmax(98px, 1fr)); gap: 8px; width: 100%; }
  .dt .gch:empty, .dt .mfacts:empty { display: none; }
  .dt .gch .chip { justify-content: center; height: 40px; padding: 0 6px; white-space: nowrap; }
  .dt .mfacts { width: 100%; gap: 8px !important; }
  .dt .mfacts .btn { flex: 1 1 180px; justify-content: center; }
  .dt .mbar > .btn { width: 100%; justify-content: center; }

  /* ── zápas: hráč zápasu a hvězdy ── */
  .dt .mstars, .dt .mstars.n2 { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .dt .potm > .row { flex-wrap: nowrap; gap: 14px !important; margin-top: 12px !important; }
  .dt .potm > .row .row { flex-wrap: nowrap; margin-top: 7px !important; }
  .dt .potm .av { --s: 60px !important; }
  .dt .pname { font-size: 22px; } .dt .pname.sm { font-size: 17px; }
  .dt .potm .sg { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px 10px; margin-top: 16px !important; padding-top: 14px; border-top: 1px solid var(--line2); }
  .dt .potm .sg .lbl { letter-spacing: .06em; }
  .dt .potm .sg .num { margin-top: 7px; font-size: 28px !important; }
  /* druhá a třetí hvězda: jeden řádek — kdo vlevo, čísla vpravo */
  .dt .mstars > .card:not(.potm) { display: grid !important; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "hd hd" "who nums"; align-items: center; gap: 10px 12px; padding: 14px 16px; }
  .dt .mstars > .card:not(.potm) > .row:nth-child(1) { grid-area: hd; }
  .dt .mstars > .card:not(.potm) > .row:nth-child(2) { grid-area: who; flex-wrap: nowrap; min-width: 0; gap: 12px !important; margin-top: 0 !important; }
  .dt .mstars > .card:not(.potm) > .row:nth-child(3) { grid-area: nums; flex-wrap: nowrap; gap: 12px !important; margin-top: 0 !important; }
  .dt .mstars > .card:not(.potm) .av { --s: 44px !important; }
  .dt .mstars > .card:not(.potm) .num { font-size: 22px !important; }
  .dt .mstars > .card:not(.potm) .lbl { margin-top: 5px !important; }
  .dt .mstars > .card:not(.potm) > .row:nth-child(1) .lbl, .dt .mstars > .card:not(.potm) > .row:nth-child(3) .lbl { margin-top: 0 !important; }

  /* ── zápas: srovnání týmů ── */
  .dt .tapes { grid-template-columns: minmax(0, 1fr); }
  .dt .tape { grid-template-columns: 50px minmax(0, 1fr) 50px; gap: 10px; padding: 8px 0; }
  .dt .tape:last-child { border-bottom: 0; }
  .dt .tape .num { font-size: 18px; }
  .dt .cmp { grid-template-columns: 46px minmax(0, 1fr) 46px; gap: 10px; }
  /* dvě jména nad pruhy: každé má svou půlku, pravé je zrcadlově */
  .dt .card > .row:has(+ .tapes), .dt .card > .row:has(+ .cmp) { flex-wrap: nowrap; gap: 10px; }
  .dt .card > .row:has(+ .tapes) > .who, .dt .card > .row:has(+ .cmp) > .who { flex: 0 1 auto; max-width: calc(50% - 5px); gap: 8px; }
  .dt .card > .row:has(+ .tapes) > .who:last-child, .dt .card > .row:has(+ .cmp) > .who:last-child { flex-direction: row-reverse; text-align: right; }
  .dt .card > .row:has(+ .tapes) .nm, .dt .card > .row:has(+ .cmp) .nm { font-size: 13.5px; }

  /* ── karty s širokou tabulkou (soupisky zápasu, soupiska týmu, zápasy hráče):
        tabulka jde až ke krajům karty a posouvá se v ní do strany, první sloupec se jménem drží na místě ── */
  .dt .rost, .dt .rosc, .dt .mlog { padding: 14px 0 8px; background-color: #16151b; }
  .dt .rost > :not(table), .dt .rosc > :not(table), .dt .mlog > :not(table) { margin-left: 14px !important; margin-right: 14px !important; }
  .dt .rost .t th, .dt .rost .t td, .dt .rosc .t th, .dt .rosc .t td, .dt .mlog .t th, .dt .mlog .t td { padding-left: 7px; padding-right: 7px; }
  .dt .card.rost table.t tr > :first-child, .dt .card.rosc table.t tr > :first-child, .dt .card.mlog table.t tr > :first-child {
    position: sticky; left: 0; z-index: 2; width: auto; padding-left: 14px; padding-right: 8px; background: #16151b; box-shadow: 8px 0 10px -8px rgba(0,0,0,.75); }
  .dt .rost .t tr > :last-child, .dt .rosc .t tr > :last-child, .dt .mlog .t tr > :last-child { padding-right: 14px; }
  .dt .rost .t th.srt:first-child a, .dt .rosc .t th.srt:first-child a, .dt .mlog .t th.srt:first-child a { margin-left: -14px; padding-left: 14px; }
  .dt .rost .who, .dt .rosc .who, .dt .mlog .who { gap: 8px; }
  .dt .rost .t td.l .who .nm { max-width: 27vw; font-size: 14px; }
  .dt .rosc .t td.l .who .nm { max-width: 29vw; font-size: 14px; }
  .dt .rosc .t td.l .pcell:has(.bdg) .who .nm { max-width: 20vw; }
  .dt .mlog .t td.l .who .nm { max-width: 25vw; font-size: 14px; }
  /* soupisky zápasu: hlavička karty v jednom řádku, odznaky (hvězda, GWG, Sub) pod jménem */
  .dt .rost > h3 { flex-wrap: nowrap; margin-bottom: 12px !important; }
  .dt .rost > h3 .tl { --s: 34px !important; }
  .dt .rname { flex: 0 1 auto; font-size: 16px; }
  .dt .rsc { font-size: 24px; }
  .dt .rost .pcell { display: grid; grid-template-columns: repeat(3, auto) minmax(0, 1fr); justify-items: start; align-items: center; gap: 2px 5px; }
  .dt .rost .pcell > .who { grid-column: 1 / -1; }
  .dt .rost .pcell > .who + .bdg { margin-left: 34px; }
  .dt .rost .pcell > .bdg { margin-bottom: 4px; }

  /* ── živý zápas ── */
  .dt .lgrid { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .dt .lgrid > .card:not(.lvt) { display: block; }
  .dt .lgrid > .card:not(.lvt) > .cmp:nth-last-child(2) { border-bottom: 1px solid var(--line2); }
  .dt .lvt { padding: 16px 12px 8px; }
  .dt .lvt > h3 { flex-wrap: nowrap; }
  .dt .lvt > h3 .tl { --s: 34px !important; }
  .dt .lvt .t th:not(.l), .dt .lvt .t td:not(.l) { width: 28px; padding-left: 1px; padding-right: 1px; }
  .dt .lvt .t th { letter-spacing: 0; }
  .dt .lvt .t td.l { padding-left: 2px; }
  .dt .lvt .who { gap: 8px; }
  .dt .lvt .t td.l .who small { font: 500 11.5px var(--fb); }      /* „In goal · 4/5 sv“ se vejde celé */
  .dt .goal { gap: 10px; }
  .dt .goal > .lbl:last-child { display: none; }      /* čí gól to byl, říká logo vedle střelce */

  /* ── hlavička týmu a hráče ── */
  .dt .headc { gap: 12px 14px; padding: 16px; }
  .dt .headc > .tl, .dt .headc > .av { --s: 60px !important; }
  .dt .headc .hx { flex: 1 1 0; }
  .dt .headc h1, .dt .headc.hteam h1 { margin-top: 5px; font-size: 23px; line-height: 1.12; white-space: normal; text-overflow: clip; overflow-wrap: break-word; }
  .dt .headc.hplayer .hx { display: contents; }      /* jméno vedle profilovky, tým a štítky pod nimi přes celou šířku */
  .dt .headc.hplayer h1 { flex: 1 1 0; min-width: 0; margin-top: 0; }
  .dt .headc.hplayer .htags { flex: 1 1 100%; gap: 7px !important; margin-top: 0 !important; }
  .dt .headc.hplayer .htags > .who { max-width: 100%; }
  .dt .headc .big { flex-wrap: nowrap; padding-top: 14px; border-top: 1px solid var(--line); }
  .dt .headc .big > div { flex: 1 1 auto; padding: 0 8px; border-left: 1px solid var(--line); text-align: center; }
  .dt .headc .big > div:first-child { border-left: 0; }
  .dt .headc .big .num { font-size: clamp(19px, 5.8vw, 23px); }
  .dt .headc .big .lbl { margin-top: 7px; letter-spacing: .04em; }

  /* ── mřížky čísel ── */
  .dt .sg .lbl { letter-spacing: .04em; }
  .dt .sg.c4 { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px 8px; }
  .dt .sg.c4 .num { font-size: clamp(16px, 4.9vw, 20px); }
  .dt .sg.c4 .v { font-size: 15.5px; }
  .dt .sg.c3 { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px 10px; }
  .dt .sg.c3 .v { font-size: 18px; }
  .dt .sg.c3 > :last-child:nth-child(3n + 1) { grid-column: 1 / -1; }      /* poslední osamocené číslo dostane celý řádek */
  .dt .sg2 { margin-top: 16px; padding-top: 16px; }
  /* součty týmu: hustý seznam „popisek — číslo“ ve dvou sloupcích */
  .dt .sg.kv { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 20px; }
  .dt .sg.kv > div { flex-direction: row; align-items: baseline; gap: 8px; padding: 9px 0; border-bottom: 1px solid var(--line2); }
  .dt .sg.kv > div:nth-last-child(-n + 2) { border-bottom: 0; }
  .dt .sg.kv .v { margin-top: 0; font-size: 15px; }
  /* nejlepší hráči týmu: dlaždice po dvou */
  .dt .ldrs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px !important; }
  .dt .ldp { display: grid; grid-template-columns: 26px minmax(0, 1fr); grid-template-areas: "av lb" "av nm"; align-items: center; gap: 3px 9px; min-height: 48px; padding: 7px 10px; border-radius: 10px; }
  .dt .ldp .av { grid-area: av; --s: 26px !important; }
  .dt .ldp .lbl { grid-area: lb; }
  .dt .ldp .nm { grid-area: nm; display: flex; align-items: baseline; font-size: 13.5px; }
  .dt .ldp .lnm { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
  .dt .ldp .lvl { flex: none; margin-left: auto; font-weight: 800; }      /* číslo zůstane vidět, i když se jméno zkrátí */

  /* ── přepínače nad kartami: dvojice na celou šířku ── */
  .dt .pbar { gap: 8px; }
  .dt .pbar > .chips { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 8px; width: 100%; margin-left: 0 !important; }
  .dt .pbar .chip { justify-content: center; height: 38px; padding: 0 6px; white-space: nowrap; }
  .dt .rosc > h3 { row-gap: 10px; }
  .dt .rosc > h3 .n { width: auto; margin-left: 2px; }
  .dt .card > h3 .hc, .dt .card > h3 .n + .hc { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; width: 100%; margin-left: 0; }
  .dt .card > h3 .hc .chip { justify-content: center; height: 36px; padding: 0 6px; }

  /* ── tým: zápasy jako řádky o dvou řádcích (soupeř + kolo a datum), skóre vpravo ── */
  .dt .fixc table.t { display: block; overflow: visible; }
  .dt .fixc table.t > tbody { display: block; width: auto; min-width: 0; }
  .dt .fixc .t tr { display: grid; grid-template-columns: 22px minmax(0, 1fr) auto; grid-template-areas: "res opp sc" "res rd sc"; align-items: center; column-gap: 10px; padding: 9px 0; border-bottom: 1px solid var(--line2); }
  .dt .fixc .t tr:last-child { border-bottom: 0; }
  .dt .fixc .t td { display: block; min-width: 0; padding: 0; border: 0; text-align: left; }
  .dt .fixc .t td:nth-child(1) { grid-area: res; width: auto !important; }
  .dt .fixc .t td:nth-child(2) { grid-area: opp; }
  .dt .fixc .t td:nth-child(3) { grid-area: rd; width: auto; margin-top: 2px; padding-left: 24px; }
  .dt .fixc .t td:nth-child(4) { grid-area: sc; width: auto; font-size: 15px; }
  .dt .fixc .t td:nth-child(4) a { margin: 0; padding: 12px 0 12px 8px; }
  .dt .fxt a.rd { margin: -5px 0 -9px; padding: 5px 0 9px; }
  .dt .fixc .pcell { display: flex; gap: 6px; }
  .dt .fixc .who { display: flex; min-width: 0; gap: 8px; }
  .dt .fixc .who .nm { max-width: none !important; }
  .dt .fixc .tl { --s: 28px !important; }
  .dt .fxt a.rd { overflow: hidden; color: var(--mut); font-size: 11.5px; line-height: 1.3; white-space: nowrap; text-overflow: ellipsis; }
  .dt .fxt a.rd small { display: inline; margin: 0; font-size: inherit; }
  .dt .fxt a.rd small::before { content: " · "; }

  /* ── tým: tabulka divize se vejde bez posouvání (skóre je v plné tabulce o klik dál) ── */
  .dt .stdc .t th, .dt .stdc .t td { padding-left: 5px; padding-right: 5px; }
  .dt .stdc .t tr > :nth-child(1) { width: 26px; }
  .dt .stdc .t tr > :nth-child(3) { width: 34px; }
  .dt .stdc .t tr > :nth-child(4) { width: 46px; }
  .dt .stdc .t tr > :nth-child(5) { display: none; }
  .dt .stdc .t tr > :nth-child(6) { width: 40px; }
  .dt .stdc .t td.l .who { gap: 8px; }
  .dt .stdc .t td.l .who .nm { font-size: 14px; }

  /* ── přestupy: na telefonu pod sebou ── */
  .dt .trsc table.t > tbody, .dt .ptrc table.t > tbody { grid-template-columns: minmax(0, 1fr); }
  .dt .trsc .t tr:nth-last-child(2):nth-child(even), .dt .ptrc .t tr:nth-last-child(2):nth-child(even) { border-bottom: 1px solid var(--line2); }
  .dt .ptrc .t td:nth-child(n + 2):nth-child(-n + 4) .nm { font-size: 13px; }

  /* ── hráč: zápasy v lize — kolo a datum jsou pod soupeřem, jejich sloupce odpadají ── */
  .dt .mlog table.t:has(.mrd) tr > :nth-child(2), .dt .mlog table.t:has(.mrd) tr > :nth-child(3) { display: none; }
  .dt .mlog .mrd { display: block; max-width: 44vw; margin-top: 1px; padding-bottom: 2px; overflow: hidden; color: var(--mut); font: 500 11px/1.3 var(--fm); white-space: nowrap; text-overflow: ellipsis; }
  .dt .mlog .tl { --s: 28px !important; }
  .dt .mlog .pcell { gap: 6px; }

  /* ── hráč: PUG blok ── */
  .dt .pugg { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .dt .mmrbig { margin-top: 8px; font-size: 46px; }
  .dt .pugg .sg { margin-top: 18px !important; }
  .dt .mmr.sm text { font-size: 10.5px; }
  .dt .pstats { margin-top: 20px; padding-top: 16px; }
  .dt .pstats > .lbl { margin-bottom: 14px !important; }
  /* PUG log: čas pod datem, pět sloupců se vejde bez posouvání */
  .dt .plog .t th, .dt .plog .t td { padding-left: 6px; padding-right: 6px; }
  .dt .plog .t tr > :first-child { padding-left: 2px; } .dt .plog .t tr > :last-child { padding-right: 2px; }
  .dt .plog .tsep { display: none; }
  .dt .plog .ttm { display: block; margin-top: 4px; color: var(--mut); font-size: 11px; }
}

/* malý telefon (≤ 374 px): ještě o chlup těsněji */
@media (max-width: 374px) {
  .dt .vsb { padding-left: 10px; padding-right: 10px; }
  .dt .vsb .tl { --s: 56px !important; }
  .dt .vsb .nm, .dt .vsb .nm.lg, .dt .vsb .nm.xl { font-size: 14px; }
  .dt .vsb .mid .num { margin-top: 9px; font-size: 38px; }
  .dt .gch { grid-template-columns: repeat(auto-fit, minmax(90px, 1fr)); gap: 6px; }
  .dt .potm .sg .num { font-size: 25px !important; }
  .dt .plog .t th, .dt .plog .t td { padding-left: 4px; padding-right: 4px; }
  .dt .plog .yr { display: none; }      /* rok se do pěti sloupců nevejde; log je „posledních N her“ */
  .dt .mlog .t th, .dt .mlog .t td { padding-left: 5px; padding-right: 5px; }
  .dt .mlog .t td.l .who .nm { max-width: 22vw; }
  .dt .rost .t td.l .who .nm, .dt .rosc .t td.l .who .nm { max-width: 25vw; }
}

/* ═════════ dotyk: nic nezůstane „najeté“ po ťuknutí ═════════ */
@media (hover: none) {
  .dt .vsb a.lgo:hover .tl, .dt .headc:hover > .tl { transform: none; }
  .dt .vsb a.nm:hover, .dt a.pname:hover, .dt a.rname:hover { color: #fff; }
  .dt a.ldp:hover { transform: none; border-color: var(--line); background: none; }
  .dt .mstars .card:hover { border-color: var(--line); }
  .dt a.who:hover .av, .dt a:hover > .av { transform: none; box-shadow: 0 0 0 1.5px rgba(255,255,255,.14); }
  .dt .potm a:hover > .av { box-shadow: 0 0 0 3px color-mix(in srgb, var(--gold) 55%, transparent); }
  .dt a.who:hover .tl { transform: none; }
  .dt a.who:hover .nm { color: #fff; }
  .dt .t a.ml:not(.go):hover { color: inherit !important; }
  .dt .t a.ml:hover b { color: #fff !important; }
  .dt .t tr[data-href]:hover td { background: none; }
  .sub .crumb a.rchip:hover { transform: none; }
}

/* odkaz na klipy: na dotyku dost velký na prst */
@media (pointer: coarse), (max-width: 900px) { .dt a.pill.cliplink { height: 32px; padding: 0 13px; font-size: 11.5px; } }
