/* Sekce knihy (části, kapitoly, mapa knihy, autoři): jazyk finální obálky, profil A designové disciplíny Shelfie.
   Dvě nosné velikosti (16 a 32 px), titulky Oswald, text Literata, popisky Inter; barva části jako identifikátor. */
@font-face{font-family:Oswald;font-weight:200 700;font-display:swap;src:url(/assets/fonts/oswald-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Oswald;font-weight:200 700;font-display:swap;src:url(/assets/fonts/oswald-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Literata;font-style:normal;font-weight:200 900;font-display:swap;src:url(/assets/fonts/literata-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Literata;font-style:normal;font-weight:200 900;font-display:swap;src:url(/assets/fonts/literata-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Inter;font-weight:100 900;font-display:swap;src:url(/assets/fonts/inter-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Inter;font-weight:100 900;font-display:swap;src:url(/assets/fonts/inter-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root{
  --papir:#FAFAFA; --papir-2:#F0EFEE; --tus:#231F20; --seda:#5C5758; --linka:#D9D6D4; --cervena:#792524;
  --titul:Oswald,"Arial Narrow",sans-serif; --serif:Literata,Georgia,serif; --ui:Inter,system-ui,sans-serif;
  --okraj:clamp(16px,4vw,56px); --barva:var(--cervena);
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--papir) url(/assets/papir.jpg) repeat;background-size:560px;color:var(--tus);font:400 17px/1.6 var(--serif);-webkit-font-smoothing:antialiased}
a{color:inherit}
.skryte{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.preskocit{position:absolute;left:8px;top:-60px;z-index:50;background:var(--tus);color:var(--papir);padding:10px 14px;font:600 14px var(--ui)}
.preskocit:focus{top:8px}
:focus-visible{outline:2px solid var(--cervena);outline-offset:3px}
.obal{max-width:1180px;margin:0 auto;padding:0 var(--okraj)}

/* Lišta */
.lista{position:sticky;top:0;z-index:20;background:rgba(250,250,250,.94);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--linka)}
.lista .obal{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:60px;flex-wrap:wrap}
.znacka{font:600 17px/1 var(--titul);letter-spacing:.06em;text-transform:uppercase;text-decoration:none;padding:14px 0}
.znacka b{color:var(--cervena)}
.lista nav{display:flex;gap:4px 22px;flex-wrap:wrap}
.lista nav a{font:500 13px/1 var(--ui);letter-spacing:.06em;text-transform:uppercase;text-decoration:none;color:var(--seda);padding:15px 0;border-bottom:2px solid transparent}
.lista nav a:hover,.lista nav a[aria-current]{color:var(--tus);border-bottom-color:var(--cervena)}

/* Hlavička stránky */
.hlava{padding:clamp(40px,8vw,96px) 0 clamp(28px,5vw,48px);border-bottom:2px solid var(--tus)}
.stitek{font:600 13px/1 var(--titul);letter-spacing:.16em;text-transform:uppercase;color:var(--barva)}
.hlava h1{margin:14px 0 0;font:700 clamp(36px,6vw,72px)/1.22 var(--titul);text-transform:uppercase;text-wrap:balance}
.hlava .cislo-velke{display:block;margin-bottom:.12em;font:700 clamp(64px,12vw,140px)/.9 var(--titul);color:var(--barva)}
.autori-radek{margin:16px 0 0;font:500 15px/1.5 var(--ui);color:var(--seda)}
.autori-radek a{color:var(--tus)}
.perex{margin:24px 0 0;max-width:62ch;font:400 clamp(18px,1.7vw,21px)/1.55 var(--serif)}
.pas-casti{height:10px;background:var(--barva)}

/* Oddíly */
.oddil{padding:clamp(40px,6vw,72px) 0;border-bottom:1px solid var(--linka)}
.oddil h2{margin:0 0 24px;font:700 32px/1.2 var(--titul);text-transform:uppercase}
.oddil h2 small{display:block;margin-top:6px;font:500 13px/1.4 var(--ui);letter-spacing:.06em;text-transform:none;color:var(--seda)}
.zdroj{font:500 12px/1.4 var(--ui);letter-spacing:.04em;color:var(--seda)}
.teze{list-style:none;margin:0;padding:0;counter-reset:t;display:grid;gap:0;max-width:820px}
.teze li{counter-increment:t;display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px;padding:16px 0;border-top:1px solid var(--linka)}
.teze li::before{content:counter(t,decimal-leading-zero);font:700 20px/1.2 var(--titul);color:var(--barva)}
.cisla{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:0;border-top:2px solid var(--tus)}
.cisla div{padding:18px 18px 18px 0;border-bottom:1px solid var(--linka)}
.cisla strong{display:block;font:700 32px/1.05 var(--titul);color:var(--barva);font-variant-numeric:tabular-nums}
.cisla span{display:block;margin-top:6px;font:400 15px/1.45 var(--serif)}

/* Grafy (SVG vykreslené při sestavení) */
.graf{margin:0 0 40px}
.graf h3{margin:0 0 4px;font:700 20px/1.25 var(--titul);text-transform:uppercase}
.graf svg{display:block;width:100%;height:auto;max-width:860px;overflow:visible}
.graf svg text{font-family:var(--ui);font-size:15px;fill:var(--tus)}
.graf svg .osa{stroke:var(--tus);stroke-width:1}
.graf svg .mrizka{stroke:var(--linka);stroke-width:1}
.graf svg .hodnota{font-weight:600}
.graf figcaption{margin-top:8px}
.tabulka-obal{overflow-x:auto}
.graf table{border-collapse:collapse;min-width:420px;font:400 15px/1.4 var(--ui)}
.graf th,.graf td{padding:8px 14px 8px 0;border-bottom:1px solid var(--linka);text-align:left}
.graf td.c{text-align:right;font-variant-numeric:tabular-nums}

/* Sloupce a rozsahy v HTML: popisek nad pruhem, čitelné i na telefonu */
.sloupce{display:grid;gap:14px;max-width:860px}
.sl-popis{font:500 15px/1.35 var(--ui)}
.sl-popis .zdroj{display:block;margin-top:2px;font-weight:400}
.sl-pruh{display:grid;grid-template-columns:minmax(0,1fr) var(--hodnota,8ch);align-items:center;gap:10px;margin-top:6px;min-height:22px}
.sl-draha{position:relative;display:flex;align-items:center;min-width:0}
.sl-pruh .pruh{display:block;height:18px;background:var(--barva);flex:none;min-width:2px}
.sl-pruh .pruh.rozpeti{opacity:.75;border-radius:9px}
.sl-pruh b{font:600 15px/1.2 var(--ui);font-variant-numeric:tabular-nums}
.sl-pruh .prah{position:absolute;top:-4px;bottom:-4px;width:0;border-left:2px dashed var(--tus)}
.prah-znacka{display:inline-block;width:0;height:12px;border-left:2px dashed var(--tus);margin:0 6px 0 2px;vertical-align:-1px}
.graf-pozn{list-style:none;margin:12px 0 0;padding:0;font:400 14px/1.45 var(--ui)}
.graf-pozn li{padding:4px 0}
.graf thead th{font:600 12px/1.2 var(--ui);letter-spacing:.06em;text-transform:uppercase;color:var(--seda)}
.graf td .zdroj,.graf th .zdroj{display:block}

/* Svislé sloupce pro časové řady */
.sloupce-cas{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:clamp(4px,1.2vw,14px);max-width:760px;border-bottom:1px solid var(--tus)}
.sc{display:flex;flex-direction:column;align-items:center}
.sc-osa{height:200px;width:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center}
.sc-osa b{font:600 14px/1 var(--ui);font-variant-numeric:tabular-nums;margin-bottom:6px;white-space:nowrap}
.sc .pruh{display:block;width:100%;max-width:64px;background:var(--barva)}
.sc .rok{order:2;font:500 13px/1 var(--ui);color:var(--seda);padding:8px 0 0;position:relative;top:calc(100% + 0px)}
.sloupce-cas + .graf-pozn{margin-top:28px}
.sloupce-cas{margin-bottom:24px}
.sc{position:relative}
.sc .rok{position:absolute;bottom:-22px;top:auto}

/* Seznamy odkazů (kapitoly, souvislosti, místa) */
.karty{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:0 28px}
.karta{display:block;padding:18px 0 20px;border-top:2px solid var(--tus);text-decoration:none}
.karta .c{font:700 28px/1 var(--titul);color:var(--barva)}
.karta b{display:block;margin-top:8px;font:700 20px/1.25 var(--titul);text-transform:uppercase}
.karta > span:not(.c){display:block;margin-top:6px;font:500 14px/1.45 var(--ui);color:var(--seda)}
.karta:hover b{color:var(--barva)}
.vazby{list-style:none;margin:0;padding:0;max-width:860px}
.vazby li{padding:16px 0;border-top:1px solid var(--linka)}
.vazby a{display:inline-flex;align-items:center;min-height:44px;font:700 18px/1.3 var(--titul);text-transform:uppercase;text-decoration:none}
.vazby a:hover{color:var(--barva)}
.vazby p{margin:6px 0 0}
.mista{display:flex;flex-wrap:wrap;gap:8px}
.mista a{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border:1px solid var(--tus);font:500 14px/1 var(--ui);text-decoration:none}
.mista a:hover{background:var(--tus);color:var(--papir)}
.sledujeme li{padding:12px 0;border-top:1px solid var(--linka)}
.sledujeme{list-style:none;margin:0;padding:0;max-width:860px}

/* Navigace mezi kapitolami */
.dalsi{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:32px 0 56px}
.dalsi a{display:block;min-height:44px;text-decoration:none;font:600 15px/1.35 var(--ui)}
.dalsi a span{display:block;font:600 12px/1 var(--titul);letter-spacing:.14em;text-transform:uppercase;color:var(--seda);margin-bottom:6px}
.dalsi a:last-child{text-align:right}
.tl{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 18px;font:600 15px/1 var(--titul);letter-spacing:.06em;text-transform:uppercase;text-decoration:none;border:1px solid var(--tus);background:var(--tus);color:var(--papir)}
.tl:hover{background:var(--barva);border-color:var(--barva)}

/* Mapa knihy */
.mapa-knihy{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:clamp(20px,4vw,48px);align-items:start}
.mapa-knihy svg{width:100%;height:auto;display:block}
.mk-uzel{cursor:pointer}
.mk-uzel circle{stroke:var(--papir);stroke-width:2}
.mk-uzel .mk-cil{stroke:none}
.mk-uzel .mk-nazev{font:500 15px var(--titul);letter-spacing:.02em;fill:var(--tus)}
.mk-uzel .mk-cislo{font:700 14px var(--titul);fill:var(--papir);pointer-events:none}
.mk-uzel:hover .mk-nazev,.mk-uzel:focus .mk-nazev{text-decoration:underline}
.mk-legenda{list-style:none;margin:0 0 16px;padding:0;display:flex;flex-wrap:wrap;gap:4px 20px}
.mk-legenda a{display:inline-flex;align-items:center;gap:8px;min-height:44px;font:600 13px/1 var(--titul);letter-spacing:.1em;text-transform:uppercase;text-decoration:none;color:var(--barva)}
.mk-legenda i{width:14px;height:14px;border-radius:50%;background:var(--barva)}
.mk-vazba{fill:none;stroke:var(--tus);stroke-opacity:.16;stroke-width:1.4;transition:stroke-opacity .15s}
.mk-vazba.aktivni{stroke-opacity:.85;stroke-width:2.6}
.mk-ztlumeno{opacity:.25}
.mk-panel{position:sticky;top:76px;max-height:calc(100vh - 96px);overflow-y:auto;overscroll-behavior:contain;padding:20px 4px 20px 0;border-top:2px solid var(--tus)}
.mk-panel h3{margin:0;font:700 22px/1.25 var(--titul);text-transform:uppercase}
.motivy{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}
.motivy button{min-height:44px;padding:0 14px;border:1px solid var(--tus);background:transparent;font:500 13px/1 var(--ui);cursor:pointer;color:var(--tus)}
.motivy button[aria-pressed="true"]{background:var(--tus);color:var(--papir)}

/* Rozšíření B: mimo knihu */
.rozsireni{background:var(--papir-2)}
.rozsireni h2 small{color:var(--barva);font-weight:600}
.rozsireni-polozky{display:grid;gap:28px;max-width:860px}
.rozsireni-polozka{padding:20px 0 0;border-top:2px solid var(--barva)}
.rozsireni-polozka h3{margin:0 0 8px;font:700 20px/1.25 var(--titul);text-transform:uppercase}
.rozsireni-polozka p{margin:0 0 10px}
.rozsireni-polozka .cisla{margin:12px 0}

/* Novinky */
.zpravy{display:grid;gap:24px;max-width:860px}
.zprava{padding:18px 0 0;border-top:2px solid var(--barva)}
.zprava h3{margin:4px 0 8px;font:700 20px/1.25 var(--titul);text-transform:uppercase}
.zprava p{margin:0 0 8px}
.zprava.navrh{border-top-style:dashed}
.navrh-stitek{display:inline-block;margin-bottom:6px;padding:3px 8px;background:var(--cervena);color:var(--papir);font:600 11px/1.4 var(--ui);letter-spacing:.06em;text-transform:uppercase}

/* Malý glóbus v hlavičce kapitoly: vstup do velkého glóbu */
.hlava .s-globem{display:grid;grid-template-columns:minmax(0,1fr) clamp(220px,26vw,320px);gap:clamp(24px,4vw,56px);align-items:center}
.hlava-globus{position:relative;display:block;text-decoration:none;color:var(--tus)}
.hlava-globus svg{display:block;width:100%;height:auto;filter:drop-shadow(0 18px 28px rgba(35,31,32,.18));transition:transform .4s ease}
.hlava-globus:hover svg,.hlava-globus:focus-visible svg{transform:rotate(-8deg) scale(1.03)}
.hlava-globus-vyzva{display:flex;justify-content:center;align-items:center;min-height:44px;margin-top:8px;font:600 13px/1 var(--titul);letter-spacing:.1em;text-transform:uppercase}
.hlava-globus:hover .hlava-globus-vyzva{color:var(--barva)}
@media (max-width:760px){.hlava .s-globem{grid-template-columns:1fr}.hlava-globus{max-width:240px;margin:8px auto 0}}
@media (prefers-reduced-motion:reduce){.hlava-globus svg{transition:none}}

/* Malá mapa světa: vstup do glóbu ze stránek */
.mini-mapa{position:relative;display:block;max-width:860px;margin:0 0 28px;background:#F4F1EC;border:1px solid var(--linka);text-decoration:none}
.mini-mapa img,.mini-mapa svg{display:block;width:100%;height:auto}
.mini-mapa svg{position:absolute;inset:0}
.mini-mapa-vyzva{position:absolute;right:12px;bottom:10px;padding:8px 12px;background:var(--tus);color:var(--papir);font:600 13px/1 var(--titul);letter-spacing:.08em;text-transform:uppercase}
.mini-mapa:hover .mini-mapa-vyzva,.mini-mapa:focus-visible .mini-mapa-vyzva{background:var(--barva)}

/* Odběr novinek e-mailem */
.odber-oddil{background:var(--papir-2)}
.odber{display:grid;gap:14px;max-width:560px}
.odber-email{display:grid;gap:6px;font:600 13px/1 var(--ui);letter-spacing:.06em;text-transform:uppercase}
.odber-email input{min-height:48px;padding:0 14px;border:1px solid var(--tus);background:var(--papir);font:400 17px/1 var(--ui);text-transform:none;letter-spacing:0}
.odber-volba{display:flex;align-items:center;gap:10px;min-height:44px;font:500 16px/1.3 var(--ui);cursor:pointer}
.odber-volba input{width:20px;height:20px;accent-color:var(--barva)}
.odber-temata summary{display:flex;align-items:center;min-height:44px;font:600 14px/1 var(--titul);letter-spacing:.1em;text-transform:uppercase;cursor:pointer}
.odber-temata summary::-webkit-details-marker{display:none}
.odber-temata summary::after{content:"";width:7px;height:7px;margin-left:10px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-3px)}
.odber-temata[open] summary::after{transform:rotate(-135deg) translateY(-1px)}
.odber-temata > div{display:grid;padding:4px 0 4px 4px;border-left:2px solid var(--barva)}
.odber .tl{justify-self:start}

/* Čtecí cesty */
.cesta{list-style:none;margin:0;padding:0;max-width:820px}
.cesta-krok .karta{border-top-color:var(--barva)}
.cesta-most{position:relative;margin:0 0 0 22px;padding:14px 0 18px 26px;border-left:3px dashed var(--linka)}
.cesta-most p{margin:0;font:400 16px/1.5 var(--serif);color:var(--seda)}
.karta > .cesta-pruh{display:flex;gap:3px;margin-top:12px}
.cesta-pruh i{flex:1;height:6px}

/* Autoři */
.autor-hlava{display:grid;grid-template-columns:minmax(0,1fr) minmax(200px,300px);gap:clamp(24px,5vw,64px);align-items:end}
.autor-foto{margin:0}
.autor-foto img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 25%;filter:grayscale(1) contrast(1.05);border-bottom:6px solid var(--barva)}
.autor-foto figcaption{margin-top:8px}
.autor-foto figcaption a{color:var(--seda)}
.autori-mrizka{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:36px 28px}
.autor-karta{display:flex;flex-direction:column;gap:6px;text-decoration:none}
.autor-karta b{font:700 20px/1.25 var(--titul);text-transform:uppercase}
.autor-karta > span:last-child{font:400 15px/1.45 var(--serif)}
.autor-karta:hover b{color:var(--barva)}
.autor-mini{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 25%;filter:grayscale(1) contrast(1.05);border-bottom:5px solid var(--barva);margin-bottom:6px}
.autor-karta:hover .autor-mini{filter:none}
.monogram{display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--barva) 14%,var(--papir));color:var(--barva);font:700 56px/1 var(--titul);letter-spacing:.04em}

/* Patička */
.paticka{padding:40px 0 56px;font:400 14px/1.6 var(--ui);color:var(--seda)}

@media (max-width:860px){.autor-hlava{grid-template-columns:1fr}.autor-foto{max-width:260px}.mapa-knihy{grid-template-columns:1fr}.mk-panel{position:static}}
@media (max-width:700px){.lista{position:static}.lista .obal{display:block;padding-bottom:4px}.lista nav{flex-wrap:nowrap;overflow-x:auto;gap:0 18px;scrollbar-width:none;margin:0 calc(-1 * var(--okraj));padding:0 var(--okraj)}.lista nav a{white-space:nowrap;padding:0;min-height:44px;display:inline-flex;align-items:center}.znacka{display:inline-flex;align-items:center;gap:.3em;min-height:44px;padding:8px 0 0}}
@media (max-width:700px){
  .motivy,.mk-legenda{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-left:calc(-1 * var(--okraj));margin-right:calc(-1 * var(--okraj));padding:0 var(--okraj)}
  .motivy button,.mk-legenda li{flex:none}
  .mk-legenda a{white-space:nowrap}
  svg.uzka .mk-nazev{display:none}
  svg.uzka .mk-cislo{font-size:16px}
}
@media (max-width:600px){.mini-mapa-vyzva{position:static;display:block;text-align:center;padding:12px}.graf table{min-width:0;width:100%}.graf thead{display:none}.graf tr{display:block;padding:10px 0;border-bottom:1px solid var(--linka)}.graf th,.graf td{display:block;border:0;padding:2px 0;text-align:left!important}.graf td:empty{display:none}.graf td[data-popisek]:not([data-popisek=""])::before{content:attr(data-popisek) ": ";font-weight:600;color:var(--seda)}.dalsi{grid-template-columns:1fr}.dalsi a:last-child{text-align:left}.teze li{grid-template-columns:36px minmax(0,1fr)}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.mk-vazba{transition:none}}
