/* Odjezdová tabule pro TV (návrh pro 1920×1080, škáluje se přes vh/vw). */
:root {
  --pozadi: #0a1a33;
  --pozadi-radek: #0f2444;
  --pozadi-radek2: #0c1f3b;
  --linka: #1d3a66;
  --text: #ffffff;
  --text-2: #a9bbd6;
  --zluta: #ffd200;
  --zelena: #5fe08a;
  --vyska-radku: 7.4vh;
}

* { box-sizing: border-box; margin: 0; padding: 0; }

html, body {
  height: 100%;
  overflow: hidden;
  background: var(--pozadi);
  color: var(--text);
  font-family: "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  cursor: none;
}

body { display: flex; flex-direction: column; }

.en { color: var(--text-2); font-weight: 400; }

.hlavicka {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.6vh 2.2vw;
  border-bottom: 0.4vh solid var(--zluta);
}
.nadpis { font-size: 5.2vh; font-weight: 700; line-height: 1.1; }
.nadpis .en { font-size: 3.4vh; margin-left: 1vw; }
.zastavka { font-size: 3vh; color: var(--text-2); }
.hodiny {
  font-size: 7.5vh;
  font-weight: 700;
  color: var(--zluta);
  font-variant-numeric: tabular-nums;
}

.radek {
  display: grid;
  grid-template-columns: 9vw 9vw minmax(0, 1fr) 20vw 7vw 9vw;
  column-gap: 1.4vw;
  align-items: center;
  padding: 0 2.2vw;
}
.bez-stani .radek { grid-template-columns: 9vw 9vw minmax(0, 1fr) 22vw 9vw; }
.bez-stani .sl-stani { display: none; }

.zahlavi {
  height: 6vh;
  font-size: 2.1vh;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--text-2);
  border-bottom: 0.2vh solid var(--linka);
}
.zahlavi .en { display: block; font-size: 1.6vh; text-transform: none; letter-spacing: 0; }

main { flex: 1; overflow: hidden; }

.odjezd {
  height: var(--vyska-radku);
  background: var(--pozadi-radek);
  border-bottom: 0.15vh solid var(--linka);
}
.odjezd:nth-child(even) { background: var(--pozadi-radek2); }

.cas {
  font-size: 4.4vh;
  font-weight: 700;
  color: var(--zluta);
  font-variant-numeric: tabular-nums;
}
.cislo {
  justify-self: start;
  max-width: 100%;
  padding: 0.3vh 0.8vw;
  border: 0.25vh solid var(--text);
  border-radius: 0.8vh;
  font-size: 3vh;
  font-weight: 700;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.smer { min-width: 0; }
.cil, .pres, .dopravce {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.cil { font-size: 3.5vh; font-weight: 700; line-height: 1.15; }
.cil .misto { font-weight: 400; color: var(--text-2); font-size: 2.7vh; }
.pres { font-size: 2.1vh; line-height: 1.2; color: var(--text-2); }
.dopravce { font-size: 2.3vh; color: var(--text-2); }
.stani { font-size: 4vh; font-weight: 700; text-align: center; }
.za {
  text-align: right;
  font-size: 3vh;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.za.brzy { color: var(--zelena); }
.za.odjizdi { color: var(--zelena); animation: blik 1.2s steps(2, start) infinite; }
@keyframes blik { to { visibility: hidden; } }

.prazdne {
  padding: 8vh 2.2vw;
  font-size: 3.6vh;
  color: var(--text-2);
}

.paticka {
  display: flex;
  justify-content: space-between;
  gap: 2vw;
  padding: 1.2vh 2.2vw;
  font-size: 1.9vh;
  color: var(--text-2);
  border-top: 0.2vh solid var(--linka);
}
.paticka .chyba { color: #ff8a8a; }
