/* GPM — nový web: zápas, 3D přehrávač, tým a hráč (app-detail.js).
   Všechno je pod .dt (obal stránky), aby se pravidla nepletla ostatním stránkám. */

/* drobečková navigace místo záložek */
.sub .crumb a.cb { padding: 0; border-radius: 0; background: none; color: var(--mut); font: inherit; letter-spacing: inherit; transition: color .15s; }
.sub .crumb a.cb:hover { color: #fff; background: none; }
.sub .r a.cb { padding: 7px 12px; border: 1px solid var(--line); border-radius: 99px; color: var(--ink2); font: 500 12px var(--fm); letter-spacing: .02em; }
.sub .r a.cb:hover { color: #fff; border-color: rgba(255,255,255,.34); background: rgba(255,255,255,.05); }
.sub .crumb .rchips { display: inline-flex; gap: 6px; margin-left: 22px; }
.sub .crumb a.rchip { display: inline-flex; align-items: center; gap: 7px; height: 28px; padding: 0 12px; border: 1px solid var(--line); border-radius: 99px; background: rgba(255,255,255,.03); color: var(--ink2);
  font: 700 11.5px/1 var(--fd); font-stretch: 112%; letter-spacing: .1em; text-transform: uppercase; transition: border-color .2s, color .2s, transform .2s var(--e); }
.sub .crumb a.rchip:hover { color: #fff; border-color: rgba(255,255,255,.34); transform: translateY(-1px); }
.sub .crumb a.rchip.on { background: var(--grad); color: var(--on); border-color: transparent; }
.sub .crumb a.rchip.lv { border-color: rgba(255,80,95,.45); color: #ffb0b6; } .sub .crumb a.rchip.lv.on { background: #ff4658; color: #fff; }

/* ── společné ── */
.dt .mutp { margin: 0; color: var(--mut); font-size: 14px; line-height: 1.5; }
.dt .pcell { display: inline-flex; align-items: center; gap: 8px; min-width: 0; max-width: 100%; vertical-align: middle; }
.dt .bdg { height: 18px; padding: 0 6px; font-size: 9.5px; letter-spacing: .08em; }
.dt .t td.l .who .nm { max-width: 250px; }
.dt .t a.ml { color: inherit; transition: color .15s; } .dt .t a.ml:hover, .dt .t a.ml:hover b { color: var(--acc) !important; }
.dt .t .ha { width: 18px; flex: none; text-align: center; letter-spacing: .04em; text-transform: none; }
.dt .fm i.n { background: rgba(255,255,255,.07); color: var(--mut); }
.dt .card > h3 a.lnk { color: var(--acc); transition: filter .2s; } .dt .card > h3 a.lnk:hover { filter: brightness(1.3); }
.dt .card > h3 .hc { margin-left: 14px; } .dt .card > h3 .hc .chip { height: 28px; padding: 0 12px; font-size: 11px; }
.dt .card > h3 .n + .hc { margin-left: 14px; }
.dt .lgd .bdg { vertical-align: middle; }
.dnote { display: flex; align-items: center; gap: 14px; padding: 13px 18px; border-radius: 11px; border: 1px solid var(--line); background: rgba(255,255,255,.03); color: var(--ink2); font-size: 14.5px; line-height: 1.5; }
.dnote b { color: #fff; } .dnote > span { flex: none; font-size: 18px; line-height: 1; }
.dnote.warn { border-color: rgba(242,212,104,.42); background: rgba(242,212,104,.07); } .dnote.warn > span { color: var(--gold); }
.dnote.red { border-color: rgba(255,80,95,.4); background: rgba(255,70,88,.07); }
.dnote .lnk { color: #fff; font-weight: 700; border-bottom: 1px solid color-mix(in srgb, var(--acc) 70%, transparent); cursor: pointer; transition: color .15s; } .dnote .lnk:hover { color: var(--acc); }

/* ── zápas: tabule ── */
.dt .vsb { grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); }
.dt .vsb .meta { flex-wrap: wrap; }
.dt .vsb .t, .dt .vsb .tx { min-width: 0; }
.dt .vsb .nm { display: block; line-height: 1.06; overflow-wrap: anywhere; transition: color .18s; }
.dt .vsb .nm.lg { font-size: 28px; } .dt .vsb .nm.xl { font-size: 24px; }
.dt .vsb a.nm:hover { color: var(--acc); }
.dt .vsb a.lgo { flex: none; display: block; } .dt .vsb .tl { transition: transform .35s var(--e); } .dt .vsb a.lgo:hover .tl { transform: scale(1.07) rotate(-3deg); }
.dt .vsb .mid .num { white-space: nowrap; }
.dt .vsb .mid .num.vs { font-size: 50px; color: rgba(255,255,255,.34); text-transform: uppercase; letter-spacing: .04em; }
.dt .vsb.live { border-color: rgba(255,80,95,.4); box-shadow: 0 0 0 1px rgba(255,70,88,.12), 0 0 60px rgba(255,70,88,.10); }
.dt .vsb .clock .pd { text-align: center; }
.dt a.pill.l { transition: filter .2s; } .dt a.pill.l:hover { filter: brightness(1.3); }
.dt .chip .dot { margin-right: 2px; } .dt .chip.lv { border-color: rgba(255,80,95,.45); color: #ffb0b6; } .dt .chip.lv.on { background: #ff4658; color: #fff; border-color: transparent; } .dt .chip.lv.on .dot { background: #fff; }

/* hráč zápasu a hvězdy */
.dt .mstars { display: grid; grid-template-columns: 1.5fr 1fr 1fr; gap: 20px; } .dt .mstars.n2 { grid-template-columns: 1.5fr 1fr; } .dt .mstars.n1 { grid-template-columns: 1fr; }
.dt .mstars > * { min-width: 0; }
.dt .mstars .card:hover { border-color: color-mix(in srgb, var(--gold) 40%, transparent); }
.dt .pname { display: block; color: #fff; font: 800 28px/1.1 var(--fb); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; transition: color .15s; } .dt .pname.sm { font-size: 20px; }
.dt a.pname:hover { color: var(--acc); }
.dt .potm .av { box-shadow: 0 0 0 3px color-mix(in srgb, var(--gold) 55%, transparent); }
.dt .tapes > * { min-width: 0; }

/* tabulky týmů pod tabulí */
.dt .rost > h3, .dt .lvt > h3 { min-width: 0; }
.dt .rname { min-width: 0; color: #fff; font: 800 18px/1.2 var(--fb); letter-spacing: 0; text-transform: none; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; transition: color .15s; }
.dt a.rname:hover { color: var(--acc); }
.dt .rsc { flex: none; margin-left: auto; color: #fff; font: 900 26px/1 var(--fd); font-stretch: 125%; letter-spacing: 0; }
.dt .rost .t th:first-child, .dt .rost .t td:first-child { width: 30%; }

/* živý zápas */
.dt .lgrid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr) minmax(0, 1fr); gap: 20px; align-items: start; }
.dt .lvt { padding: 20px 16px; } .dt .lvt .t th, .dt .lvt .t td { padding-left: 5px; padding-right: 5px; }
.dt .lvt .t td.l .who .nm { max-width: 122px; } .dt .lvt .t td.l .who small { max-width: 122px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dt .lvt .t th:not(.l), .dt .lvt .t td:not(.l) { width: 34px; }
.dt .lvt tr.off td { opacity: .45; }
.dt .goal { display: flex; align-items: center; gap: 14px; padding: 9px 0; border-bottom: 1px solid var(--line2); } .dt .goal:last-child { border: 0; }
.dt.noan .cmp .mid u::after, .dt.noan .cmp .mid s::after, .dt.noan .tape .mid u::after, .dt.noan .tape .mid s::after { animation: none; }

/* ── tým a hráč ── */
.dt .headc .hx { min-width: 0; flex: 1 1 auto; } .dt .headc h1 { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dt .headc .big { flex: none; } .dt .headc .big .num { white-space: nowrap; }
.dt .headc > .av { box-shadow: 0 0 0 3px rgba(255,255,255,.14), 0 12px 30px rgba(0,0,0,.45); }
.dt .headc > .tl { transition: transform .4s var(--e); } .dt .headc:hover > .tl { transform: scale(1.05) rotate(-3deg); }
.dt .sg > div { min-width: 0; } .dt .sg .num, .dt .sg .v { white-space: nowrap; }
.dt .sg2 { margin-top: 20px; padding-top: 18px; border-top: 1px solid var(--line2); }
.dt .ldp { padding: 5px 12px 5px 5px; border: 1px solid var(--line); border-radius: 99px; max-width: 100%; transition: border-color .2s, background-color .2s, transform .22s var(--e); }
.dt a.ldp:hover { border-color: color-mix(in srgb, var(--acc) 55%, transparent); background: rgba(255,255,255,.05); transform: translateY(-2px); }
.dt .ldp .lbl { flex: none; }
.dt .t tr.me td { background: color-mix(in srgb, var(--c) 18%, transparent); } .dt .t tr.me td:first-child { box-shadow: inset 3px 0 0 var(--c); }
.dt .fxt td { padding-top: 9px; padding-bottom: 9px; }
.dt .fxt a.rd { display: block; color: var(--ink2); line-height: 1.25; } .dt .fxt a.rd small { display: block; margin-top: 3px; color: var(--mut); font-size: 11px; }
.dt .g2 > .card .t td.l .who .nm { max-width: 190px; } .dt .g2 > .card .fxt td.l .who .nm { max-width: 170px; }
.dt .pstats { margin-top: 24px; padding-top: 18px; border-top: 1px solid var(--line2); }
/* kolo a datum pod soupeřem: jen na telefonu, kde se sloupce Round a Date schovají (css-m-detail.css) */
.dt .mrd { display: none; }

/* PUG blok a čára MMR */
.dt .pugg { display: grid; grid-template-columns: 230px minmax(0, 1fr); gap: 30px; align-items: center; }
.dt .mmrbig { margin-top: 10px; font-size: 58px; background: var(--pg); -webkit-background-clip: text; background-clip: text; color: transparent; }
.dt .mmr { display: block; width: 100%; height: auto; overflow: visible; }
.dt .mmr text { fill: var(--mut); font: 500 10px var(--fm); }
.dt .mmr .ln { stroke-dasharray: 1; stroke-dashoffset: 0; animation: dt-draw 1.5s var(--e) .15s both; }
.dt .mmr circle { transition: r .15s, stroke-width .15s; stroke: rgba(12,12,15,.9); stroke-width: 1; cursor: pointer; }
.dt .mmr a:hover circle, .dt .mmr circle:hover { r: 6px; stroke: #fff; stroke-width: 1.5; }
@keyframes dt-draw { from { stroke-dashoffset: 1; } }

/* ── 3D přehrávač: hotová stránka /replay.php vložená pod hlavičku ── */
.rpv { position: relative; width: 100%; height: calc(100vh - 127px); height: calc(100dvh - 127px); min-height: 480px; background: #000; }
.rpv iframe { transition: opacity .35s ease; } .rpv.loading iframe { opacity: 0; }
.rpv.loading::before { content: "Loading the 3D player…"; position: absolute; inset: 0; display: grid; place-items: center; color: var(--mut); font: 600 12.5px var(--fm); letter-spacing: .14em; text-transform: uppercase; }
/* přehrávač je jedna obrazovka: bez patičky, nic se neroluje */
body:has(.rpv) .sitefoot { display: none; } #view:has(.rpv) { min-height: 0; }
.rpv iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; display: block; background: #000; }
/* odkaz na galerii klipů v hlavičce profilu */
.dt a.pill.cliplink { color: var(--ink); transition: border-color .15s, color .15s; }
.dt a.pill.cliplink:hover { border-color: var(--acc); color: var(--acc); }
