/* TV obrazovka – plátno 16:9, všechny rozměry v --u (1 % šířky plátna) */
html, body { height: 100%; overflow: hidden; background: #0d0c0c; cursor: none; }
body.mys { cursor: default; }
.platno {
  --u: calc(min(100vw, 177.78vh) / 100);
  width: min(100vw, 177.78vh); height: min(100vh, 56.25vw); position: absolute; inset: 0; margin: auto;
  background: var(--pozadi); overflow: hidden; font-size: calc(var(--u) * 1.6);
}
.obrazovka { position: absolute; inset: 0; padding: calc(var(--u) * 3) calc(var(--u) * 5) calc(var(--u) * 2.6); display: flex; flex-direction: column; }
.obrazovka.prechod { animation: prechod .45s ease-out; }
@keyframes prechod { from { opacity: 0; transform: translateY(calc(var(--u) * .6)); } to { opacity: 1; transform: none; } }

.hlavicka { display: flex; align-items: center; justify-content: space-between; gap: calc(var(--u) * 2); color: var(--tlumeny); font-size: calc(var(--u) * 1.35); flex: none; }
.hlavicka .vlevo { display: flex; align-items: center; gap: calc(var(--u) * .9); }
.hlavicka .znak { width: calc(var(--u) * 2.4); height: calc(var(--u) * 2.4); }
.hlavicka .vpravo { display: flex; align-items: center; gap: calc(var(--u) * 1.4); }
.odznak { background: var(--cervena); color: #fff; padding: calc(var(--u) * .35) calc(var(--u) * 1.1); border-radius: calc(var(--u) * .4); font-weight: 500; }
.logo-tv { height: calc(var(--u) * 3.2); max-width: calc(var(--u) * 14); object-fit: contain; }
.logo-misto.tv { height: calc(var(--u) * 3.2); font-size: calc(var(--u) * .9); padding: 0 calc(var(--u) * 1); border-radius: calc(var(--u) * .5); }

.stred { flex: 1; display: flex; flex-direction: column; justify-content: center; min-height: 0; }
.paticka { flex: none; display: flex; align-items: center; gap: calc(var(--u) * .9); color: var(--slaby); font-size: calc(var(--u) * 1.1); min-height: calc(var(--u) * 2); }
.paticka .adresa { margin-left: auto; }
.bastion { width: calc(var(--u) * 1.05); height: calc(var(--u) * 1.05); transform: rotate(45deg); border: calc(var(--u) * .14) solid #5A524B; display: inline-block; margin-right: calc(var(--u) * .35); }
.bastion.hotovo { background: var(--zlata); border-color: var(--zlata); }
.bastion.ted { background: var(--cervena); border-color: var(--cervena); }

.stitek-tv { color: var(--zlata); font-size: calc(var(--u) * 1.6); letter-spacing: .08em; font-weight: 500; margin-bottom: calc(var(--u) * 1.2); }
.zneni { font-family: var(--serif); font-weight: 500; line-height: 1.22; font-size: calc(var(--u) * 4.1); text-wrap: balance; }
.zneni.stredni { font-size: calc(var(--u) * 3.4); }
.zneni.dlouhe { font-size: calc(var(--u) * 2.8); }
.s-obrazkem { display: grid; grid-template-columns: 1.35fr 1fr; gap: calc(var(--u) * 3.5); align-items: center; flex: 1; min-height: 0; }
.s-obrazkem.velky { grid-template-columns: 2fr 1fr; }
.s-obrazkem img { width: 100%; height: 100%; max-height: calc(var(--u) * 40); object-fit: contain; border-radius: calc(var(--u) * .6); }
.s-obrazkem .zneni { font-size: calc(var(--u) * 3); }

/* Čekárna */
.cekarna { display: grid; grid-template-columns: 1fr auto; gap: calc(var(--u) * 5); align-items: center; height: 100%; }
.cekarna h1 { font-size: calc(var(--u) * 6.4); margin: 0; letter-spacing: -.01em; }
.cekarna .podtitul { font-family: var(--serif); color: var(--zlata); font-size: calc(var(--u) * 3); margin-top: calc(var(--u) * .4); }
.cekarna .kdy { margin-top: calc(var(--u) * 3.5); font-size: calc(var(--u) * 2.4); }
.cekarna .kdy b { color: var(--zlata); font-weight: 500; }
.cekarna .loga { display: flex; gap: calc(var(--u) * 2); align-items: center; margin-bottom: calc(var(--u) * 3); }
.cekarna .loga img { height: calc(var(--u) * 7); max-width: calc(var(--u) * 24); object-fit: contain; }
.cekarna .loga .logo-misto { height: calc(var(--u) * 7); width: calc(var(--u) * 18); font-size: calc(var(--u) * 1.1); border-radius: calc(var(--u) * .8); }
.qr { background: #F4EDE1; padding: calc(var(--u) * 1.2); border-radius: calc(var(--u) * 1); width: calc(var(--u) * 20); text-align: center; color: #161414; }
.qr svg { width: 100%; height: auto; display: block; }
.qr div { font-size: calc(var(--u) * 1.25); margin-top: calc(var(--u) * .6); font-weight: 500; }
.velky-znak { width: calc(var(--u) * 7); height: calc(var(--u) * 7); margin-bottom: calc(var(--u) * 2); }

/* Úvod kola */
.uvod { text-align: center; }
.uvod .cislo { font-family: var(--serif); color: var(--zlata); font-size: calc(var(--u) * 13); line-height: 1; }
.uvod .nazev { font-family: var(--serif); font-size: calc(var(--u) * 5.2); margin-top: calc(var(--u) * 1.2); }
.uvod .info { color: var(--tlumeny); font-size: calc(var(--u) * 2); margin-top: calc(var(--u) * 1.6); }

/* Konec kola */
.konec { text-align: center; }
.konec .nadpis { font-family: var(--serif); font-size: calc(var(--u) * 5); }
.konec .odpocet { font-variant-numeric: tabular-nums; font-size: calc(var(--u) * 14); color: var(--zlata); line-height: 1.1; margin-top: calc(var(--u) * 1.5); font-weight: 500; }
.konec .odpocet.dochazi { color: #ff4d55; }
.konec .info { color: var(--tlumeny); font-size: calc(var(--u) * 2); }

/* Odpovědi */
.odpoved-zneni { font-family: var(--serif); color: var(--tlumeny); font-size: calc(var(--u) * 2.3); line-height: 1.3; margin-bottom: calc(var(--u) * 2); text-wrap: balance; }
.odpoved { font-family: var(--serif); font-size: calc(var(--u) * 5.4); line-height: 1.15; border-left: calc(var(--u) * .5) solid var(--cervena); padding-left: calc(var(--u) * 2); }
.zajimavost { margin-top: calc(var(--u) * 3); background: var(--plocha); border: 1px solid var(--okraj); border-radius: calc(var(--u) * .8); padding: calc(var(--u) * 1.4) calc(var(--u) * 2); font-size: calc(var(--u) * 1.9); line-height: 1.4; max-width: calc(var(--u) * 75); }
.zajimavost b { color: var(--zlata); font-weight: 500; display: block; font-size: calc(var(--u) * 1.3); letter-spacing: .06em; margin-bottom: calc(var(--u) * .4); }

/* Tabulka */
.tabulka-nadpis { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: calc(var(--u) * 1.8); }
.tabulka-nadpis h2 { font-size: calc(var(--u) * 3.6); margin: 0; }
.tabulka-nadpis span { color: var(--tlumeny); font-size: calc(var(--u) * 1.6); }
.poradi { display: grid; grid-template-columns: calc(var(--u) * 5) 1fr calc(var(--u) * 6) calc(var(--u) * 8); row-gap: calc(var(--u) * .5); align-items: center; font-size: calc(var(--u) * 2.4); }
.poradi > div { padding: calc(var(--u) * .45) 0; border-bottom: 1px solid #2a2624; }
.poradi .m { font-family: var(--serif); color: var(--tlumeny); font-size: calc(var(--u) * 2.6); }
.poradi .b { text-align: right; font-variant-numeric: tabular-nums; font-weight: 500; }
.poradi .p { font-size: calc(var(--u) * 1.4); color: var(--slaby); text-align: center; }
.poradi .p.nahoru { color: var(--zelena); } .poradi .p.dolu { color: #e0686e; }
.poradi .r1 { color: var(--zlata); } .poradi .m.r1 { font-size: calc(var(--u) * 3.2); }
.poradi .r2 { color: #cfd6d2; } .poradi .r3 { color: #e0686e; }
.open { font-size: calc(var(--u) * 1.05); background: #5A524B; color: #161414; padding: .05em .5em; border-radius: calc(var(--u) * .3); vertical-align: .35em; margin-left: calc(var(--u) * .6); font-weight: 500; }
.strana { color: var(--slaby); font-size: calc(var(--u) * 1.2); margin-top: calc(var(--u) * 1); text-align: right; }

/* Rozstřel */
.rozstrel-tymy { color: var(--zlata); font-size: calc(var(--u) * 2.2); margin-bottom: calc(var(--u) * 2); }
.tipy { margin-top: calc(var(--u) * 3); display: grid; grid-template-columns: 1fr auto auto; gap: calc(var(--u) * .6) calc(var(--u) * 4); font-size: calc(var(--u) * 2.3); max-width: calc(var(--u) * 70); }
.tipy .c { text-align: right; font-variant-numeric: tabular-nums; }

/* Vyhlášení */
.stupne { display: grid; grid-template-columns: 1fr 1.15fr 1fr; gap: calc(var(--u) * 2.5); align-items: end; flex: 1; padding-top: calc(var(--u) * 2); }
.stupen { display: flex; flex-direction: column; align-items: center; text-align: center; }
.stupen .jmeno { font-family: var(--serif); font-size: calc(var(--u) * 3); line-height: 1.15; min-height: calc(var(--u) * 7.2); display: flex; align-items: flex-end; justify-content: center; text-wrap: balance; }
.stupen .bd { color: var(--tlumeny); font-size: calc(var(--u) * 1.6); margin: calc(var(--u) * .5) 0 calc(var(--u) * 1); }
.stupen .blok { width: 100%; border-radius: calc(var(--u) * .6) calc(var(--u) * .6) 0 0; display: flex; align-items: flex-start; justify-content: center; font-family: var(--serif); font-size: calc(var(--u) * 6); padding-top: calc(var(--u) * 1); }
.stupen.s1 .blok { height: calc(var(--u) * 17); background: var(--zlata); color: #1d1607; }
.stupen.s2 .blok { height: calc(var(--u) * 12); background: #cfd6d2; color: #1b1f1d; }
.stupen.s3 .blok { height: calc(var(--u) * 9); background: var(--cervena); color: #fff; }
.stupen.zakryto .jmeno { color: var(--slaby); }
.stupen.zakryto .blok { opacity: .25; }
.stupen.odkryto .jmeno { animation: odkryti .9s ease-out; }
@keyframes odkryti { from { opacity: 0; transform: scale(.85); } to { opacity: 1; transform: none; } }
.ceny { color: var(--tlumeny); font-size: calc(var(--u) * 1.5); text-align: center; margin-top: calc(var(--u) * 1.2); white-space: pre-line; }

.spojeni { position: fixed; left: 50%; bottom: 1vh; transform: translateX(-50%); background: var(--cervena); color: #fff; padding: .4em 1em; border-radius: 6px; font-size: 1.6vh; z-index: 5; }
.cela { position: fixed; left: 50%; top: 2vh; transform: translateX(-50%); background: rgba(31,28,27,.92); color: var(--tlumeny); padding: .6em 1.2em; border-radius: 8px; font-size: 1.8vh; z-index: 5; transition: opacity .6s; }
.nahled-stitek { position: absolute; right: calc(var(--u) * 1); bottom: calc(var(--u) * 1); background: var(--cervena); color: #fff; padding: calc(var(--u) * .3) calc(var(--u) * .9); border-radius: calc(var(--u) * .4); font-size: calc(var(--u) * 1.6); z-index: 3; }
