/* Runtime HTML decku (spolecne/engine-html). Plátno 1920 × 1080 zmenšené přes --s, černé pruhy kolem. */
:root { --s: 0.1; --petrol: #16545B; --board: #00B9F2; }
* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; background: #000; }
.frame { position: relative; width: calc(1920px * var(--s)); height: calc(1080px * var(--s)); overflow: hidden; flex-shrink: 0; background: #fff; }
/* section.slide nese inline styl ze šablony (position:relative), proto !important */
.frame > section.slide { position: absolute !important; left: 0; top: 0; transform: scale(var(--s)); transform-origin: 0 0; }
.notes { display: none; }

body.deck { overflow: hidden; }
body.deck .stage { position: fixed; inset: 0; display: grid; place-items: center; background: #000; }
body.deck .frame { grid-area: 1 / 1; visibility: hidden; opacity: 0; }
body.deck .frame.active { visibility: visible; opacity: 1; transition: opacity 0.25s ease-out; }

body.list { background: #1b2a2d; }
body.list .stage { display: flex; flex-wrap: wrap; justify-content: center; gap: 18px; padding: 18px; }
body.list .frame { cursor: pointer; outline: 1px solid rgba(255,255,255,.15); }
body.list .frame[data-hidden="1"] { outline: 3px dashed var(--board); opacity: .7; }
body.list .frame[data-hidden="1"]::after { content: "nepromítá se"; position: absolute; right: 8px; top: 8px; padding: 2px 8px;
  background: var(--board); color: #fff; font: 13px "Segoe UI", sans-serif; }

.progress { position: fixed; left: 0; bottom: 0; height: 4px; width: 100%; z-index: 40; }
.progress i { display: block; height: 100%; width: 0; background: var(--board); transition: width .3s; }
body.list .progress { display: none; }
.controls { position: fixed; right: 16px; bottom: 16px; z-index: 50; display: flex; gap: 4px; align-items: center; padding: 6px;
  border-radius: 999px; background: rgba(22, 84, 91, .9); color: #fff; font: 15px "Segoe UI", sans-serif; transition: opacity .4s; }
.controls button { width: 40px; height: 40px; border: 0; border-radius: 999px; background: transparent; color: #fff; cursor: pointer; font: inherit; }
.controls button:hover, .controls button[aria-pressed="true"] { background: rgba(255,255,255,.18); }
#count { min-width: 70px; padding: 0 6px; text-align: center; font-variant-numeric: tabular-nums; white-space: nowrap; }
body.deck.idle .controls { opacity: 0; pointer-events: none; }
body.deck.idle { cursor: none; }
.notes-panel { display: none; position: fixed; left: 16px; bottom: 20px; z-index: 45; width: min(900px, calc(100vw - 340px)); max-height: 40vh;
  overflow: auto; padding: 14px 20px; border-radius: 12px; background: rgba(255,255,255,.96); color: #343450; border-top: 6px solid var(--petrol);
  font: 17px/1.5 "Segoe UI", sans-serif; white-space: pre-wrap; }
.notes-panel h4 { margin: 0 0 6px; color: var(--petrol); font-size: 14px; letter-spacing: .08em; text-transform: uppercase; white-space: normal; }
body.deck.show-notes .notes-panel { display: block; }
.blank { position: fixed; inset: 0; z-index: 60; display: none; }
body.black .blank { display: block; background: #000; }
body.white .blank { display: block; background: #fff; }

@page { size: 1920px 1080px; margin: 0; }
@media print {
  :root { --s: 1 !important; }
  html, body { background: #fff; }
  body .stage { position: static !important; display: block !important; padding: 0 !important; }
  body .frame { visibility: visible !important; opacity: 1 !important; outline: 0 !important; break-after: page; }
  body .frame::after { display: none !important; }
  .controls, .progress, .notes-panel, .blank { display: none !important; }
  * { -webkit-print-color-adjust: exact; print-color-adjust: exact; animation: none !important; transition: none !important; }
}

/* stejné typografické výchozí hodnoty jako deck-stage.js: méně osamocených slov na konci řádku */
.slide :where(h1, h2, h3, h4, h5, h6) { text-wrap: balance; }
.slide :where(p, li, blockquote, figcaption) { text-wrap: pretty; }
#notesBtn,.notes-panel{display:none!important}
