:root { --ga-top: 52px; --ga-nav: 268px; --ga-accent: #2563eb; }
* { box-sizing: border-box; }
body { margin: 0; padding: calc(var(--ga-top) + 24px) 40px 60px calc(var(--ga-nav) + 40px);
       max-width: calc(var(--ga-nav) + 62rem); font-family: system-ui, sans-serif;
       line-height: 1.65; color: #1b1f24; background: #fff; }
.ga-top { position: fixed; inset: 0 0 auto 0; height: var(--ga-top); z-index: 10;
          display: flex; align-items: center; gap: 18px; padding: 0 20px;
          background: #1b3a6b; color: #fff; box-shadow: 0 1px 4px rgba(0,0,0,.25); }
.ga-back { color: #fff; text-decoration: none; font-weight: 600; padding: 6px 12px;
           border: 1px solid rgba(255,255,255,.45); border-radius: 6px; }
.ga-back:hover { background: rgba(255,255,255,.15); }
.ga-title { font-size: 15px; opacity: .92; }
.guide-lang { margin-left: auto; color: rgba(255,255,255,.55); }
.guide-lang a { color: #fff; text-decoration: none; font-weight: 600; padding: 4px 8px;
                border-radius: 5px; }
.guide-lang a:hover { background: rgba(255,255,255,.15); }
#title-block-header { display: none; }
nav#TOC { position: fixed; top: var(--ga-top); left: 0; bottom: 0; width: var(--ga-nav);
          overflow-y: auto; padding: 18px 10px 40px 18px; background: #f7f9fc;
          border-right: 1px solid #e3e8ef; font-size: 13.5px; }
nav#TOC ul { list-style: none; margin: 0; padding-left: 0; }
nav#TOC ul ul { padding-left: 14px; }
nav#TOC li { margin: 1px 0; }
nav#TOC a { display: block; padding: 4px 8px; border-radius: 5px;
            color: #33414f; text-decoration: none; }
nav#TOC a:hover { background: #e8eef7; }
nav#TOC a.active { background: var(--ga-accent); color: #fff; font-weight: 600; }
nav#TOC > ul > li > a { font-weight: 600; }
h1 { font-size: 26px; margin: 2.2em 0 .6em; padding-bottom: .25em;
     border-bottom: 2px solid var(--ga-accent); scroll-margin-top: calc(var(--ga-top) + 12px); }
h2 { font-size: 19px; margin: 1.8em 0 .5em; scroll-margin-top: calc(var(--ga-top) + 12px); }
body > h1:first-of-type { margin-top: .4em; }
img { max-width: 100%; border: 1px solid #d7dde5; border-radius: 6px; margin: .6em 0; }
code { background: #f0f3f7; padding: .12em .35em; border-radius: 4px; font-size: .92em; }
pre { background: #f0f3f7; padding: 12px 14px; border-radius: 6px; overflow-x: auto; }
table { border-collapse: collapse; margin: .8em 0; }
th, td { border: 1px solid #d7dde5; padding: .4em .7em; }
blockquote { margin: .8em 0; padding: .5em 1em; border-left: 4px solid var(--ga-accent);
             background: #f4f7fb; }
/* Stránkování po kapitolách — aktivuje skript v guide-app-nav.html (bez JS zůstává vše vidět) */
.ga-paged .ga-chapter { display: none; }
/* Spodní odsazení: i poslední sekce kapitoly se musí umět doscrollovat k hornímu
   okraji (kvůli zóně scrollspy a přesnému skoku z TOC). */
.ga-paged .ga-chapter.active { display: block; padding-bottom: 40vh; }
.ga-paged .ga-chapter > h1 { margin-top: .4em; }
.ga-paged nav#TOC > ul > li > ul { display: none; }
.ga-paged nav#TOC li.open > ul { display: block; }
.ga-pager { display: flex; justify-content: space-between; gap: 16px; margin-top: 3.5em;
            padding-top: 1.2em; border-top: 1px solid #e3e8ef; }
.ga-pager a { max-width: 48%; padding: 8px 14px; border: 1px solid #d7dde5; border-radius: 6px;
              color: var(--ga-accent); text-decoration: none; font-weight: 600; }
.ga-pager a:hover { background: #eef3fb; }
@media (max-width: 900px) {
    body { padding: calc(var(--ga-top) + 16px) 16px 40px 16px; max-width: none; }
    nav#TOC { position: static; width: auto; border-right: none; margin-bottom: 20px;
              border-bottom: 1px solid #e3e8ef; max-height: 40vh; }
}
@media print { .ga-top, nav#TOC, .ga-pager { display: none; } body { padding: 0; }
               .ga-paged .ga-chapter { display: block; } }
