/* Pohádky: knihovna, čtečka a zamčené bonusy. Převzato z pohádek (reader.css);
   všechna pravidla jsou pod .books, aby se nepotkala s obrazovkami tréninků.
   Tokeny barev jsou v tokens.css, animace míče a jiskřiček v app.css. */
/* Knihovna a čtečka. Herní obsah a ilustrace zachovány; barvy sdílí tokeny rozhraní. */
.books{ --text-h:clamp(200px, 32vh, 320px); }
/* dvh (výška bez lišt mobilního prohlížeče) až od Safari 15.4 / Chrome 108; dřív platí vh výš, jinak by se výška textu zrušila */
@supports (height: 1dvh) { .books{ --text-h:clamp(200px, 32dvh, 320px); } }
/* ---------- pohled: čtečka (jedna knížka na střed) ---------- */
.books .reader-view{
  min-height:100vh; min-height:100dvh;
  display:flex; flex-direction:column; align-items:center;
  padding:14px 18px 24px;
  gap:12px;
}
.books .book{
  width:min(540px, 100%);
  background:var(--paper);
  border: 1px solid var(--surface);
  border-radius: 4px;
  box-shadow: none;
  overflow:hidden;
  position:relative;
  display:flex; flex-direction:column;
}
.books .stage{position:relative;}
.books .page{
  transition:opacity .19s ease, transform .19s ease;
  display:flex; flex-direction:column;
}
.books .page.swap-left{opacity:0; transform:translateX(-22px);}
.books .page.swap-right{opacity:0; transform:translateX(22px);}
.books .illus{
  position:relative;
  width:100%;
  aspect-ratio:4/3;
  background:var(--surface-raised);
  overflow:hidden;
}
.books .illus svg{display:block; width:100%; height:100%;}
.books .pageno{
  position:absolute; top:12px; right:16px;
  z-index:3;
  font-weight: 700; font-size:13px;
  color: var(--ink);
  background:rgba(5, 12, 22, .32);
  padding:3px 11px; border-radius: 4px;
  backdrop-filter:blur(2px);
}
.books .text{
  flex:0 0 auto;
  height:var(--text-h);
  min-height:0;               /* zruší flexbox min-height:auto → výška je pevná */
  overflow-y:auto;
  display:flex; flex-direction:column; justify-content:center;
  padding:18px 26px;
}
.books .ptitle{
  font-weight: 700;
  font-size:25px;
  line-height:1.12;
  margin:0 0 10px;
  color:var(--gold-deep);
  letter-spacing:.2px;
}
.books .ptext{
  font-size:19px;
  line-height:1.5;
  font-weight:600;
  margin:0;
  color:var(--ink);
}
.books .ptext + .ptext{margin-top:12px;}
.books .ptext .say{color:var(--grass); font-weight: 700;}
.books .ptext .ball-say{color:var(--gold-deep); font-weight: 700;}
.books .ptext .coach-say{color:var(--gold); font-weight: 700;}
.books .ptext .gp{color:var(--coral); font-weight: 700;}
.books .ptext .rope-say{color:var(--coral); font-weight: 700;}
.books .ptext .chalk-say{color:var(--grass); font-weight: 700;} /* kouzelná křída (Sezóna 4) */
/* kouzelné švihadlo */
.books .ptext .dad-say{color:var(--grass); font-weight: 700;}
/* táta */
.books .ptext b{color:var(--coral);}
/* placeholder pro zatím neilustrované pohádky */
.books .illus.placeholder .scene-label{
  position:absolute; left:0; right:0; bottom:12px;
  text-align:center;
  font-family: var(--font-display); font-weight:700; font-size:20px;
  color:var(--gold-deep);
}
/* obálka */
.books .page.cover .text{padding:24px 26px 22px; text-align:center;}
.books .page.cover .ptitle{
  font-size:38px; line-height:1.02; color:var(--coral);
  text-shadow: none;
  margin-bottom:8px;
}
.books .cover-sub{font-size:16px; font-weight:700; color:var(--ink-soft); margin:0 0 12px;}
.books .cover-for{
  display:inline-block;
  font-family: var(--font-display); font-size:23px; font-weight:700;
  color:var(--gold-deep);
  background:var(--reward-soft); border:2px dashed var(--gold);
  padding:2px 16px; border-radius: 4px;
}
/* stránka s ponaučením */
.books .page.moral .moral-quote{
  font-family: var(--font-display);
  font-size:30px; font-weight:700; line-height:1.25;
  color:var(--coral);
  text-align:center;
  margin:6px 4px 0;
}
.books .page.moral .ptext{text-align:center; font-size:18px;}
.books .the-end{
  display:block; text-align:center; margin-top:14px;
  font-family: var(--font-display); font-size:26px; color:var(--gold-deep); font-weight:700;
}
/* ovládání čtečky */
.books .controls{
  display:flex; align-items:center; justify-content:space-between;
  gap:12px;
  padding:6px 18px 18px;
}
.books .nav{
  appearance:none; border:none; cursor:pointer;
  width:58px; height:58px; border-radius:50%;
  background:var(--gold); color: var(--ink);
  font-size:26px; font-weight: 700; line-height:1;
  box-shadow: none;
  transition:transform .08s ease, box-shadow .08s ease, background .15s;
  display:flex; align-items:center; justify-content:center;
  flex:0 0 auto;
}
.books .nav:hover{background:var(--gold);}
.books .nav:active{transform:translateY(4px); box-shadow: none;}
.books .nav:disabled{background:var(--paper-edge); box-shadow: none; cursor:default; color: var(--ink);}
.books .nav:focus-visible{outline:3px solid var(--coral); outline-offset:3px;}
.books .dots{display:flex; gap:7px; flex-wrap:wrap; justify-content:center; flex:1;}
.books .dot{
  width:11px; height:11px; border-radius:50%;
  background:var(--paper-edge); border:none; padding:0; cursor:pointer;
  transition:transform .15s, background .15s;
}
.books .dot:hover{background:var(--gold);}
.books .dot.on{background:var(--coral); transform:scale(1.35);}
.books .dot:focus-visible{outline:2px solid var(--coral); outline-offset:2px;}
.books .hint{
  text-align:center; font-size:13px; color:var(--ink-soft);
  font-weight:700; padding:0 0 14px; opacity:.8;
}
/* lišta nad knížkou (zpět na knihovnu) */
.books .reader-bar{
  width:100%; max-width:540px;
  display:flex; align-items:center; gap:10px;
}
.books .back-btn{
  appearance:none; cursor:pointer;
  display:inline-flex; align-items:center; gap:7px;
  font-family: var(--font-body); font-weight: 700; font-size:15px;
  color:var(--gold-deep);
  background:var(--accent-soft); border: 1px solid var(--paper-edge);
  padding:8px 16px; border-radius: 4px;
  box-shadow: none;
  transition:transform .08s ease, box-shadow .08s ease, background .15s;
}
.books .back-btn:hover{background:var(--surface-raised);}
.books .back-btn:active{transform:translateY(2px); box-shadow: none;}
.books .back-btn:focus-visible{outline:3px solid var(--coral); outline-offset:2px;}
/* Přečteno: prázdné okénko; po klepnutí se rozbalí fajfka a slovo „Přečteno" (vlastník 18. 9. 2026) */
.books .read-box{
  flex:0 0 auto; position:relative; width:18px; height:18px;
  border:1.5px solid #f2f6fc; border-radius:4px;
  background:rgba(5, 12, 22, .82); /* musí být vidět i na světlé obálce pohádky */
  transition:background .15s, border-color .15s;
}
.books .read-box::after{
  content:''; position:absolute; left:5px; top:1px; width:5px; height:10px;
  border:solid currentColor; border-width:0 2px 2px 0;
  transform:rotate(45deg) scale(.4); transform-origin:center; opacity:0;
  transition:transform .18s ease, opacity .15s ease;
}
.books .read-word{
  max-width:0; opacity:0; overflow:hidden; white-space:nowrap;
  transition:max-width .22s ease, opacity .18s ease;
}
.books .read-toggle[aria-pressed="true"] .read-box,
.books .read-toggle-bar[aria-pressed="true"] .read-box{background:transparent; border-color:currentColor;}
.books .read-toggle[aria-pressed="true"] .read-box::after,
.books .read-toggle-bar[aria-pressed="true"] .read-box::after{transform:rotate(45deg) scale(1); opacity:1;}
.books .read-toggle[aria-pressed="true"] .read-word{max-width:8em; opacity:1;}
/* v liště čtečky je nadpis vidět vždycky: samotný čtvereček dítěti neřekne, k čemu je
   (vlastník + Codex 18. 9. 2026); sbalené okénko zůstává jen na kartách v knihovně */
.books .read-toggle-bar .read-word{max-width:8em; opacity:1;}
@media (prefers-reduced-motion: reduce){
  .books .read-word, .books .read-box, .books .read-box::after{transition:none;}
}

/* checkbox „přečteno" v liště čtečky */
.books .read-toggle-bar{
  margin-left:auto;
  appearance:none; cursor:pointer;
  display:inline-flex; align-items:center; gap:7px;
  font-family: var(--font-body); font-weight: 700; font-size:14px;
  color:var(--ink-soft);
  background:var(--surface); border: 1px solid var(--paper-edge);
  padding:7px 14px; border-radius: 4px;
  box-shadow: none;
  transition:transform .08s ease, box-shadow .08s ease, background .15s, color .15s;
}
.books .read-toggle-bar:hover{background:var(--surface-raised);}
.books .read-toggle-bar:active{transform:translateY(2px); box-shadow: none;}
.books .read-toggle-bar:focus-visible{outline:3px solid var(--coral); outline-offset:2px;}
.books .read-toggle-bar[aria-pressed="true"]{background:var(--grass); color: var(--on-accent); border-color:var(--grass); box-shadow: none;}
.books .lib-progress{font-weight: 700; font-size:14px; color:var(--ink-soft); margin:10px 0 0;}
/* ---------- pohled: domovská knihovna ---------- */
.books .lib{
  max-width:1080px; margin:0 auto;
  padding:26px 20px 60px;
}
.books .lib-head{text-align:center; margin:6px 0 30px;}
.books .lib-title{
  font-weight: 700; font-size:clamp(30px,6vw,46px); line-height:1.02;
  color:var(--coral); margin:0;
  text-shadow: none;
}
.books .lib-title .lion{color:var(--gold-deep);}
.books .lib-sub{
  font-family: var(--font-display); font-weight:700;
  font-size:clamp(19px,3.5vw,24px); color:var(--ink-soft);
  margin:8px 0 0;
}
.books .cards{
  display:grid; gap:16px;
  grid-template-columns:repeat(auto-fill, minmax(220px, 1fr));
}
.books .story-card{
  appearance:none; text-align:left; cursor:pointer;
  color:inherit; text-decoration:none;   /* karta je odkaz — bez podtržení */
  display:flex; flex-direction:column;
  background:var(--paper);
  border: 1px solid var(--surface); border-radius: 4px;
  box-shadow: none;
  overflow:hidden; padding:0;
  transition:transform .12s ease, box-shadow .12s ease;
}
.books .story-card:hover{transform:translateY(-4px); box-shadow: none;}
.books .story-card:focus-visible{outline:3px solid var(--coral); outline-offset:3px;}
.books .card-illus{
  position:relative;
  width:100%; aspect-ratio:4/3; background:var(--surface-raised);
}
.books .card-illus svg{display:block; width:100%; height:100%;}
.books .card-wrap{position:relative; display:flex;}
.books .card-wrap > .story-card{flex:1 1 auto; width:100%;}
/* checkbox „přečteno" na kartě (mimo odkaz, aby nenavigoval) */
.books .read-toggle{
  position:absolute; top:9px; left:9px; z-index:4;
  min-height:30px; border-radius:99px;
  border: 1px solid transparent; padding:5px 9px; cursor:pointer;
  background:transparent; /* nepřečteno = jen čtvereček, plocha na prst zůstává */
  color: var(--ink); display:flex; align-items:center; gap:7px;
  font-family: var(--font-body); font-weight: 700; font-size:12px;
  box-shadow: none;
  transition:background .15s, transform .1s;
}
.books .read-toggle:hover{transform:scale(1.05);}
.books .read-toggle:focus-visible{outline:3px solid var(--coral); outline-offset:2px;}
.books .read-toggle[aria-pressed="true"]{background:var(--grass); border-color:var(--grass); backdrop-filter:blur(2px);}
.books .read-toggle[aria-pressed="false"] .read-box{box-shadow:0 1px 4px rgba(5, 12, 22, .7);}
.books .card-wrap.is-read .story-card{opacity:.72;}
.books .card-wrap.is-read .story-card:hover{opacity:1;}
.books .card-body{padding:13px 15px 15px;}
.books .card-title{
  font-weight: 700; font-size:18px; line-height:1.14;
  color:var(--ink); margin:2px 0 6px;
}
.books .card-moral{
  font-family: var(--font-display); font-weight:700; font-size:16px;
  color:var(--gold-deep); line-height:1.15; margin:0;
}
/* téma pohádky — jen štítek, protože karty jsou řazené podle pořadí čtení */
.books .card-cat{
  display:inline-block; margin-top:9px;
  font-size:11px; font-weight: 700; color:var(--ink-soft);
  background:var(--accent-soft); border:1px solid var(--paper-edge);
  padding:3px 9px; border-radius: 4px;
}
/* ---------- sezóny: rozbalovací sekce ---------- */
.books .season{margin:0 0 20px;}
.books .season-head{
  list-style:none; cursor:pointer; user-select:none;
  display:flex; align-items:center; gap:12px;
  background:var(--paper); border: 1px solid var(--surface); border-radius: 4px;
  padding:12px 18px;
  box-shadow: none;
  transition:background .15s;
}
.books .season-head::-webkit-details-marker{display:none;}
.books .season-head:hover{background:var(--surface-raised);}
.books .season-head:focus-visible{outline:3px solid var(--coral); outline-offset:3px;}
.books .season-chev{font-size:20px; line-height:1; color:var(--gold-deep); transition:transform .18s ease;}
.books .season[open] .season-chev{transform:rotate(90deg);}
.books .season-names{display:flex; flex-direction:column; flex:1 1 auto; min-width:0;}
.books .season-title{font-weight: 700; font-size:23px; line-height:1.1; color:var(--coral);}
.books .season-sub{font-family: var(--font-display); font-weight:700; font-size:19px; line-height:1.1; color:var(--ink-soft);}
.books .season-meta{display:flex; flex-direction:column; align-items:flex-end; gap:4px;}
.books .season-progress{font-weight: 700; font-size:14px; color:var(--ink-soft); white-space:nowrap;}
.books .season-bonus{
  font-size:11px; font-weight: 700; color:var(--reward); white-space:nowrap;
  background:var(--reward-soft); border:1px solid var(--reward); padding:2px 8px; border-radius: 4px;
}
.books .season > .cards{margin-top:16px;}
/* ---------- bonusové pohádky: zlatý rámeček + hvězda ---------- */
.books .is-bonus .story-card{
  border-color:var(--reward);
  background:linear-gradient(180deg, var(--surface) 0%, var(--reward-soft) 100%);
  box-shadow: none;
}
.books .is-bonus .story-card:hover{box-shadow: none;}
.books .card-illus{overflow:hidden;}
.books .bonus-star{
  position:absolute; left:8px; bottom:8px; z-index:3;
  font-size:12px; font-weight: 700; letter-spacing:.3px; color: var(--ink);
  background:linear-gradient(180deg, var(--reward), var(--gold)); border: 1px solid var(--surface);
  padding:3px 10px; border-radius: 4px; box-shadow: none;
}
.books .unlock-done{margin:0 0 6px; font-size:12px; font-weight: 700; line-height:1.25; color:var(--reward);}
/* zamčená bonusová pohádka */
.books .is-locked .story-card{cursor:default;}
.books .is-locked .story-card:hover{transform:none;}
.books .is-locked .card-illus > svg{filter:blur(5px) saturate(.55) brightness(1.04); transform:scale(1.08);} /* rozostří se obálka, ne zámek nad ní */
.books .lock{
  position:absolute; left:50%; top:50%; z-index:3; transform:translate(-50%,-50%);
  width:64px; height:64px; border-radius:50%;
  display:flex; align-items:center; justify-content:center; font-size:31px;
  background:rgba(255,251,240,.93); border: 1px solid var(--reward);
  box-shadow: none;
}
.books .is-locked .story-card.shake .lock{animation:lockshake .45s ease;}
@keyframes lockshake{0%,100%{ transform:translate(-50%,-50%) rotate(0); }
  20%{ transform:translate(-50%,-50%) rotate(-14deg); }
  40%{ transform:translate(-50%,-50%) rotate(12deg); }
  60%{ transform:translate(-50%,-50%) rotate(-8deg); }
  80%{ transform:translate(-50%,-50%) rotate(5deg); }}
.books .unlock-how{margin:0; font-size:14px; font-weight:700; line-height:1.32; color:var(--ink);}
.books .unlock-how b,
.books .locked-how b{color:var(--gold-deep);}
.books .unlock-desc{color:var(--ink-soft); font-weight:600;}
/* úkol zamčeného bonusu: postup a kam jít (PRO review 10. 10. 2026) */
.books .unlock-task{margin:6px 0 0; font-size:13px; color:var(--ink-soft);}
.books .unlock-task b{color:var(--ink);}
.books .unlock-go{display:inline-block; margin:6px 0 0; padding:6px 10px; border-radius:3px; font-size:13px; font-weight:700; text-decoration:none; color:var(--on-accent); background:var(--gold);}
.books .unlock-go:focus-visible{outline:3px solid var(--coral); outline-offset:2px;}
/* obrazovka zamčené pohádky (když se na ni přijde přímým odkazem) */
.books .locked-view{min-height:100vh; min-height:100dvh; display:flex; align-items:center; justify-content:center; padding:24px 18px;}
.books .locked-card{
  width:min(460px, 100%); text-align:center;
  background:linear-gradient(180deg, var(--surface), var(--reward-soft));
  border: 1px solid var(--reward); border-radius: 4px; padding:28px 24px 26px;
  box-shadow: none;
}
.books .locked-lock{display:block; font-size:48px; line-height:1.1;}
.books .locked-kicker{margin:8px 0 0; font-weight: 700; font-size:13px; letter-spacing:.6px; text-transform:uppercase; color:var(--gold-deep);}
.books .locked-title{margin:4px 0 12px; font-weight: 700; font-size:30px; line-height:1.1; color:var(--coral);}
.books .locked-how{margin:0 0 20px; font-size:17px; line-height:1.38;}
.books .locked-task{margin:-8px 0 12px; font-size:15px; color:var(--ink-soft);}
.books .locked-task b{color:var(--ink);}
.books .locked-back{
  display:inline-block; font-weight: 700; color:var(--gold-deep); text-decoration:none;
  background:var(--accent-soft); border: 1px solid var(--paper-edge); border-radius: 4px;
  padding:9px 18px; box-shadow: none;
}
.books .locked-back:focus-visible{outline:3px solid var(--coral); outline-offset:2px;}
/* ---------- odkaz na postavy (v řádku s počtem přečtených, nic nepřekrývá) ---------- */
.books .lib-cast{
  font-weight: 700; color:var(--gold-deep); text-decoration:none; white-space:nowrap;
  border-bottom:2px solid var(--paper-edge);
}
.books .lib-cast:hover{border-bottom-color:var(--gold);}
.books .lib-cast:focus-visible{outline:3px solid var(--coral); outline-offset:2px; border-radius:4px;}
/* ---------- obrazovka Nastavení ---------- */
.books .settings-view{
  min-height:100vh; min-height:100dvh; display:flex; flex-direction:column; align-items:center;
  padding:14px 18px 44px; gap:12px;
}
.books .settings-card{
  width:min(560px, 100%); background:var(--paper);
  border: 1px solid var(--surface); border-radius: 4px;
  box-shadow: none;
  padding:22px 22px 26px;
}
.books .settings-title{
  font-weight: 700; font-size:26px; letter-spacing:1px; text-align:center;
  color:var(--coral); margin:0 0 4px;
  text-shadow: none;
}
.books .settings-note{text-align:center; font-size:13px; color:var(--ink-soft); font-weight:700; margin:2px 0;}
.books .set-group{margin:18px 0 0;}
.books .set-h{
  font-weight: 700; font-size:18px; color:var(--gold-deep); margin:0 0 10px;
  border-bottom:3px dashed var(--paper-edge); padding-bottom:6px;
}
.books .player-row{display:flex; align-items:center; gap:8px; margin:0 0 8px;}
.books .pr-label{flex:0 0 62px; font-weight: 700; font-size:14px; color:var(--ink-soft);}
.books .in-name,
.books .in-num,
.books .in-team{
  font-family: var(--font-body); font-weight:700; font-size:16px; color:var(--ink);
  background:var(--surface); border: 1px solid var(--paper-edge); border-radius: 4px; padding:9px 12px;
}
.books .in-name{flex:1 1 auto; min-width:0;}
.books .in-num{flex:0 0 56px; width:56px; text-align:center;}
.books .in-team{width:100%;}
.books .in-name:focus,
.books .in-num:focus,
.books .in-team:focus{outline:none; border-color:var(--gold);}
.books .swatch-label{font-size:13px; font-weight:700; color:var(--ink-soft); margin:8px 0 6px;}
.books .swatches{display:flex; flex-wrap:wrap; gap:9px;}
.books .swatch{
  width:34px; height:34px; border-radius:50%; cursor:pointer; padding:0;
  background:var(--sw); border: 1px solid rgba(5, 12, 22, .22);
  box-shadow: none; transition:transform .1s;
}
.books .swatch:hover{transform:scale(1.12);}
.books .swatch:focus-visible{outline:3px solid var(--coral); outline-offset:2px;}
.books .swatch.on{box-shadow: none; transform:scale(1.08);}
.books .gender-toggle{display:flex; gap:10px;}
.books .gender-btn{
  flex:1 1 auto; cursor:pointer;
  font-family: var(--font-body); font-weight: 700; font-size:15px;
  color:var(--ink-soft); background:var(--surface); border: 1px solid var(--paper-edge);
  border-radius: 4px; padding:11px 10px;
  transition:transform .08s ease, box-shadow .08s ease, background .15s, color .15s;
}
.books .gender-btn:hover{background:var(--surface-raised);}
.books .gender-btn.on{background:var(--gold); color: var(--ink); border-color:var(--gold); box-shadow: none;}
.books .gender-btn:focus-visible{outline:3px solid var(--coral); outline-offset:2px;}
.books .set-actions{display:flex; gap:12px; margin:26px 0 8px;}
.books .btn-save,
.books .btn-reset{
  appearance:none; cursor:pointer; font-family: var(--font-body); font-weight: 700; font-size:16px;
  border:none; border-radius: 4px; padding:12px 22px;
  transition:transform .08s ease, box-shadow .08s ease, background .15s;
}
.books .btn-save{flex:1 1 auto; color: var(--ink); background:var(--gold); box-shadow: none;}
.books .btn-save:hover{background:var(--gold);}
.books .btn-save:active{transform:translateY(3px); box-shadow: none;}
.books .btn-reset{color:var(--ink-soft); background:var(--accent-soft); border: 1px solid var(--paper-edge); box-shadow: none;}
.books .btn-reset:active{transform:translateY(2px); box-shadow: none;}
@media (max-width:520px){
  .books .settings-view{padding:8px 10px 32px;}
  .books .settings-card{padding:18px 15px 22px;}
  .books .pr-label{flex-basis:52px; font-size:13px;}
}
/* ---------- animace ---------- */
@media (prefers-reduced-motion: reduce){
  .books .page{transition:opacity .12s ease;}
  .books .story-card{transition:none;}
  .books .season-chev{transition:none;}
  .books .is-locked .story-card.shake .lock{animation:none;}
}
/* tablet */
@media (min-width:760px){
  .books{ --text-h:clamp(230px, 30vh, 340px); }
  @supports (height: 1dvh) { .books{ --text-h:clamp(230px, 30dvh, 340px); } }
  .books .book{width:min(580px, 100%);}
  .books .lib{padding:34px 26px 70px;}
}
/* telefon */
@media (max-width:520px){
  .books .reader-view{padding:8px 8px 16px;}
  .books .lib{padding:18px 12px 44px;}
  .books .cards{grid-template-columns:repeat(auto-fill, minmax(150px, 1fr)); gap:12px;}
  .books .season-head{padding:10px 12px; gap:9px;}
  .books .season-title{font-size:20px;}
  .books .season-sub{font-size:17px;}
  .books .lock{width:52px; height:52px; font-size:25px;}
  .books .unlock-how{font-size:13px;}
  .books .text{padding:14px 18px;}
  .books .ptitle{font-size:22px;}
  .books .ptext{font-size:18px;}
  .books .page.cover .ptitle{font-size:30px;}
  .books .cover-sub{font-size:15px;}
  .books .nav{width:52px; height:52px; font-size:23px;}
  .books .controls{padding:6px 12px 14px; gap:8px;}
  .books .reader-bar{flex-wrap:wrap;}
}
@media (max-width:360px){
  .books .card-title{font-size:16px;}
  .books .nav{width:46px; height:46px;}
}
/* ---------- tempo čtení: další pohádka zítra, „Dočteno" na konci pohádky ---------- */
.books .lib-wait{margin:10px 0 0; font-size:14px; line-height:1.5; color:var(--ink-soft);}
.books .lib-wait b{color:var(--ink);}
.books .reader-end{margin:22px 0 4px; text-align:center;}
.books .reader-end .reader-done{margin-bottom:10px;}
.books .reader-end-note{margin:0; font-size:16px; font-weight:600; line-height:1.45; color:var(--ink);}
.books .reader-end-note:focus{outline:none;}
.books .reader-end-note b{color:var(--gold-deep);}
/* mise nebo zápas, které pohádka odemkla (PRO review 10. 10. 2026) */
.books .reader-end-link{display:inline-block; margin-top:8px; font-weight:700; color:var(--gold-deep);}
.books .reader-end-link:focus-visible{outline:3px solid var(--coral); outline-offset:2px;}
@media print{ .books .reader-end{display:none;} }
/* ---------- tisk: opravdová minikniha, jedna scéna na stránku ---------- */
@media print{
  .books .reader-view{padding:0; display:block;}
  .books .reader-bar,
  .books .controls,
  .books .hint,
  .books .pageno,
  .books .dots{display:none !important;}
  .books .book{max-width:none; box-shadow: none; border:none; border-radius:0;}
  .books .stage{position:static;}
  .books .page{
    position:static !important; opacity:1 !important; transform:none !important;
    page-break-after:always; padding-top:8mm;
  }
  .books .illus{aspect-ratio:auto; height:120mm;}
}
