:root { color-scheme: light; font-family: "Segoe UI", system-ui, sans-serif; color: #333; background: #fff; line-height: 1.7; --pink: #e51f40; --link: #bc1736; }
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; min-height: 100dvh; display: flex; flex-direction: column; }
.site-header, .header-inner, .site-layout { width: 100%; }
a { color: var(--link); text-underline-offset: .2em; }
a:hover { color: #801029; }
a:focus-visible { outline: 3px solid var(--pink); outline-offset: 4px; }
.header-inner, .site-layout, .footer-inner { max-width: 1160px; margin: auto; padding: 2rem; }
.site-header { background: #f6f7f9; border-bottom: 1px solid #e3e5e8; }
.header-inner { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-top: 1rem; padding-bottom: 1rem; flex-wrap: wrap; }
.brand { display: flex; align-items: center; gap: 1.25rem; color: #333; text-decoration: none; }
.brand img { width: 145px; height: auto; display: block; }
.brand span { border-left: 1px solid #ddd; padding-left: 1.25rem; font-size: 1.25rem; }
.site-layout { display: grid; grid-template-columns: 255px minmax(0, 1fr); gap: 3rem; padding-top: 3rem; padding-bottom: 4rem; min-height: 65vh; }
.site-layout.without-sidebar { grid-template-columns: minmax(0, 1fr); }
.brand small { display: block; font-size: .8rem; color: #666; font-weight: 400; white-space: nowrap; }
.primary-nav > ul { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0; padding: 0; }
.primary-nav a { padding: .7rem 1rem; }
.primary-nav a[aria-current] { background: #fce9ed; color: #a71530; }
.nav-heading { font-size: .75rem; text-transform: uppercase; letter-spacing: .1em; font-weight: 700; color: #666; margin-top: 0; }
.section-nav summary { cursor: pointer; padding: .6rem .8rem; font-weight: 600; }
.section-nav summary:hover { background: #fff4f6; color: var(--link); }
.section-nav summary:focus-visible { outline: 3px solid var(--pink); outline-offset: 2px; }
.section-nav details > a { font-size: .85rem; margin-left: .75rem; }
.back-link { margin-bottom: .75rem; font-size: .9rem; }
main > .back-link { display: inline-block; margin: 0 0 1rem; }
nav ul { list-style: none; padding: 0; }
nav ul ul { margin: .3rem 0 .75rem .75rem; border-left: 1px solid #eadade; padding-left: .5rem; font-size: .9rem; }
nav a { display: block; padding: .6rem .8rem; border-radius: .25rem; color: #444; text-decoration: none; line-height: 1.5; }
nav a:hover { color: var(--link); background: #fff4f6; }
.section-nav a[aria-current="page"] { background: #fce9ed; color: #a71530; box-shadow: inset 3px 0 var(--pink); font-weight: 700; }
main { width: 100%; max-width: 80ch; min-width: 0; overflow-wrap: anywhere; }
.site-layout.without-sidebar main { margin-left: auto; margin-right: auto; }
h1, h2, h3 { line-height: 1.25; letter-spacing: -.025em; }
h1 { font-size: clamp(2rem, 5vw, 2.8rem); margin-top: 0; font-weight: 600; }
h1::after { content: ""; display: block; width: 3rem; height: 4px; margin-top: 1.1rem; background: var(--pink); }
h2 { margin-top: 2rem; font-size: 1.45rem; font-weight: 600; }
main li { margin: .45rem 0; }
pre { overflow-x: auto; margin: 1.25em 0; padding: .9rem 1.1rem; background: #f6f7f9; border: 1px solid #e3e5e8; border-left: 3px solid var(--pink); border-radius: .375rem; font-size: .9rem; line-height: 1.55; }
pre code { font-size: inherit; }
pre:focus-visible { outline: 3px solid var(--pink); outline-offset: 3px; }
.code-block { position: relative; margin: 1.25em 0; }
.code-block pre { margin: 0; }
.code-toolbar { position: absolute; top: .45rem; right: .45rem; display: flex; align-items: center; gap: .5rem; }
.copy-code { flex-shrink: 0; padding: .2rem .6rem; border: 1px solid #d6d9de; border-radius: .25rem; background: #fff; color: #555; font: inherit; font-size: .78rem; line-height: 1.4; cursor: pointer; opacity: 0; transition: opacity .15s, color .15s, border-color .15s; }
.code-block:hover .copy-code, .copy-code:focus-visible, .copy-code:disabled, .copy-status:not(:empty) + .copy-code { opacity: 1; }
@media (hover: none) { .copy-code { opacity: 1; } }
.copy-code:hover { color: var(--link); border-color: var(--link); background: #fff4f6; }
.copy-code:focus-visible { outline: 3px solid var(--pink); outline-offset: 2px; }
.copy-code:disabled { cursor: wait; opacity: .65; }
.copy-status { font-size: .78rem; color: #444; background: #fff; border: 1px solid #e3e5e8; padding: .15rem .45rem; border-radius: .25rem; }
.copy-status:empty { display: none; }
code { font-family: ui-monospace, Consolas, monospace; font-size: .9em; }
/* Řešení úloh v materiálech: rozklikávací blok, ve výchozím stavu skrytý (generuje import-materials). */
.reseni { margin: 1rem 0 2rem; border: 1px solid #e3e5e8; border-radius: .375rem; background: #fff; }
.reseni > summary { cursor: pointer; padding: .6rem 1rem; font-weight: 600; color: var(--link); border-radius: .375rem; }
.reseni > summary:hover { background: #fff4f6; }
.reseni > summary:focus-visible { outline: 3px solid var(--pink); outline-offset: 2px; }
.reseni[open] > summary { border-bottom: 1px solid #e3e5e8; border-radius: .375rem .375rem 0 0; }
.reseni > :not(summary) { margin-left: 1rem; margin-right: 1rem; }
.reseni > :last-child:not(summary) { margin-bottom: 1rem; }
.reseni .reseni-skryt, .reseni[open] .reseni-zobrazit { display: none; }
.reseni[open] .reseni-skryt { display: inline; }
img { max-width: 100%; height: auto; }
blockquote { border-left: 3px solid var(--pink); margin-left: 0; padding-left: 1rem; }
table { border-collapse: collapse; display: block; overflow-x: auto; }
th, td { padding: .5rem .75rem; border: 1px solid #ddd; }
footer { background: #333; color: #eee; font-size: .85rem; flex-grow: 1; }
.footer-inner { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 1rem; padding-top: 1.5rem; padding-bottom: 1.5rem; }
.footer-socials { display: flex; flex-wrap: wrap; gap: .25rem; }
.footer-socials a { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: .35rem; }
.footer-socials a:hover { background: #494949; }
.footer-socials a:focus-visible { outline-color: #ffc9d3; }
.footer-socials svg { width: 26px; height: 26px; }
footer a { color: #fff; }
footer a:hover { color: #ffc9d3; }
.team { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 2rem 1.5rem; margin: 2rem 0 0; padding: 0; list-style: none; }
.team-card { margin: 0; text-align: center; }
.team-photo { display: block; width: 140px; height: 140px; margin: 0 auto .9rem; border-radius: 50%; object-fit: cover; background: #e6e7ea; }
.team-name { margin: 0; font-weight: 600; line-height: 1.3; }
.team-role { margin: .25rem 0 0; font-size: .9rem; font-style: italic; color: #666; }
.team-links { display: flex; justify-content: center; gap: .15rem; margin: .4rem 0 0; }
.team-links a { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: .35rem; color: #555; }
.team-links a:hover { color: var(--link); background: #fff4f6; }
.team-links svg { width: 22px; height: 22px; }
.comments { margin-top: 3.5rem; padding-top: 1.5rem; border-top: 1px solid #eee; }
.comments h2 { margin-top: 0; }
.comments-hint { color: #666; font-size: .95rem; }
.partners { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 2.5rem 2rem; margin: 2.5rem 0 0; padding: 0; list-style: none; }
.partner-card { margin: 0; text-align: center; }
.partner-logo { display: flex; align-items: center; justify-content: center; height: 90px; padding: .5rem; border-radius: .375rem; }
.partner-logo:hover { background: #f6f7f9; }
.partner-logo img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; }
.partner-desc { margin: .75rem 0 0; font-size: .9rem; color: #666; }
/* Přihlášení a profil (worker.mjs, layouts/profil.njk, assets/profil.js, assets/prihlaseni.js). */
.user-menu { margin-left: auto; display: flex; align-items: center; gap: .75rem; font-size: .85rem; }
.user-menu a { color: #555; }
.user-identity { display: inline-flex; align-items: center; gap: .5rem; text-decoration: none; }
.user-identity img { width: 32px; height: 32px; border-radius: 50%; display: block; }
.user-vyzva { position: relative; display: inline-flex; padding: .3rem; border-radius: 999px; }
.user-vyzva[hidden] { display: none; }
.user-vyzva svg { width: 24px; height: 24px; display: block; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.user-menu .user-vyzva:hover, .user-menu .user-vyzva:focus-visible { background: #fce9ed; color: #a71530; }
.user-vyzva-tecka { position: absolute; top: .2rem; right: .15rem; width: 9px; height: 9px; border-radius: 50%; background: #e3204e; border: 2px solid #fff; }
.user-kovy { display: inline-flex; align-items: center; gap: .55rem; font-weight: 600; font-variant-numeric: tabular-nums; color: #333; }
.user-kovy:empty { display: none; }
.user-kov { display: inline-flex; align-items: center; gap: .25rem; }
.profil-status { padding: .6rem .9rem; border-radius: .375rem; background: #f6f7f9; border: 1px solid #e3e5e8; }
.profil-status[data-typ="chyba"] { background: #fff4f6; border-color: #f3c1cb; color: #a71530; }
.profil-status[hidden] { display: none; }
.profil section { margin-top: 2rem; }
.profil section[hidden] { display: none; }
.profil h2 { margin-bottom: .5rem; }
.profil h2 small { font-size: .85rem; font-weight: 400; color: #666; margin-left: .5rem; }
.profil-tlacitko, .tlacitko { display: inline-block; padding: .55rem 1.1rem; border: 1px solid var(--pink); border-radius: .25rem; background: var(--pink); color: #fff; font: inherit; text-decoration: none; cursor: pointer; }
.profil-tlacitko:hover, .tlacitko:hover { background: #c81a38; color: #fff; }
.profil-tlacitko:focus-visible, .tlacitko:focus-visible { outline: 3px solid var(--pink); outline-offset: 3px; }
.profil-tlacitko:disabled, .tlacitko:disabled { opacity: .6; cursor: wait; }
/* Na profilu a u zpětné vazby mají všechna tlačítka jednu velikost (dřív velká i malá vedle sebe). */
.profil-tlacitko { padding: .4rem .9rem; font-size: .9rem; line-height: 1.4; }
.profil-drobne { font-size: .85rem; color: #666; }
.profil .profil-doplnit { margin-top: 1rem; padding: .75rem 1rem; border: 1px solid #f3c1cb; border-left: 4px solid var(--pink); border-radius: .375rem; background: #fff7f9; }
.profil-doplnit p { margin: 0 0 .4rem; }
.profil-doplnit ul { list-style: none; margin: 0; padding: 0; }
.profil-doplnit li { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .4rem 1rem; padding: .35rem 0; }
.profil-doplnit li > span { flex: 1 1 16rem; }
.profil-doplnit li + li { border-top: 1px solid #f6d9df; }
.profil-doplnit li[hidden] { display: none; }
.profil-hlava { display: flex; align-items: center; gap: 1.25rem; margin-top: 1rem; }
.profil-avatar { width: 96px; height: 96px; border-radius: 50%; background: #e6e7ea; flex-shrink: 0; }
.profil-jmeno { margin: 0; font-size: 1.4rem; font-weight: 600; line-height: 1.3; }
.profil-role { margin: .2rem 0 0; color: #666; }
.profil-odkazy { margin: .4rem 0 0; font-size: .9rem; }
.profil-ukazatel { position: relative; height: 12px; margin: .75rem 0; border-radius: 6px; background: #eee; overflow: hidden; }
.profil-ukazatel span { display: block; height: 100%; background: var(--pink); border-radius: 6px; transition: width .4s; }
.profil-ukazatel::after { content: ""; position: absolute; top: 0; bottom: 0; left: var(--diplom, 70%); width: 2px; background: #333; }
.profil-lekce { list-style: none; margin: .5rem 0 0; padding: 0; columns: 2 18rem; font-size: .9rem; color: #444; }
.profil-lekce li { margin: .2rem 0; break-inside: avoid; }
/* Odznaky: karta s šestiúhelníkem v barvách PyLadies (růžový rám, bílý střed), vzácnost vpravo nahoře jako bronz, stříbro a zlato (Stack Overflow). */
.profil-kov-bronz { --kov: #c38b5f; }
.profil-kov-stribro { --kov: #9fa6ad; }
.profil-kov-zlato { --kov: #f1b600; }
.profil-kov-tecka { display: inline-block; width: .6rem; height: .6rem; border-radius: 50%; background: var(--kov); flex-shrink: 0; }
.profil-odznaky-kovy { list-style: none; display: flex; gap: 1.25rem; margin: -.25rem 0 1rem; padding: 0; }
.profil-kov { display: flex; align-items: center; gap: .4rem; margin: 0; font-weight: 600; font-variant-numeric: tabular-nums; color: #333; }
.profil-kov .profil-kov-tecka { width: .75rem; height: .75rem; }
/* Seznam vzácností na stránce Organizace → Odznaky: kolečko v barvě kovu místo odrážky. */
li:not(.profil-kov):has(> .profil-kov-tecka:first-child) { list-style: none; }
li:not(.profil-kov) > .profil-kov-tecka:first-child { margin: 0 .35rem 0 -1.1rem; }
/* Ilustrace odznaku v tabulce na stránce Organizace → Odznaky. */
.odznak-ikona { vertical-align: middle; margin: -.3rem .5rem -.3rem 0; }
.profil-odznaky-seznam { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(13rem, 1fr)); gap: 1rem; }
.profil-odznak { position: relative; display: flex; flex-direction: column; align-items: center; text-align: center; margin: 0; padding: 1.25rem 1rem 1rem; border: 1px solid #ece3e6; border-radius: .75rem; background: linear-gradient(180deg, #fff 0%, #fdf6f8 100%); color: #333; }
.profil-odznak:not(.profil-odznak-ziskan) { background: #f7f7f8; border-color: #e6e7ea; color: #8a8a8a; }
.profil-odznak-vzacnost { position: absolute; top: .55rem; right: .7rem; display: flex; align-items: center; gap: .3rem; font-size: .62rem; letter-spacing: .08em; text-transform: uppercase; color: #a08a92; }
.profil-odznak:not(.profil-odznak-ziskan) .profil-kov-tecka { background: #c7c9cf; }
/* Získaný odznak nese barvu svého kovu: rámeček karty, plaketka se vzácností, zlatý navíc lehce září. */
.profil-odznak-ziskan { border-color: var(--kov); box-shadow: inset 0 0 0 1px var(--kov); }
.profil-odznak-ziskan .profil-odznak-vzacnost { padding: .15rem .45rem; border-radius: 999px; background: color-mix(in srgb, var(--kov) 18%, #fff); color: color-mix(in srgb, var(--kov) 65%, #000); font-weight: 600; }
.profil-odznak-ziskan.profil-kov-zlato .profil-hex-obrazek, .profil-odznak-ziskan.profil-kov-zlato .profil-hex { filter: drop-shadow(0 0 8px rgba(241, 182, 0, .6)); }
.profil-hex { position: relative; display: grid; place-items: center; width: 92px; height: 104px; margin: .25rem 0 .75rem; clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%); background: #f6b8c4; filter: drop-shadow(0 3px 6px rgba(229, 31, 64, .18)); }
.profil-hex-vnitrek { position: absolute; inset: 5px; clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%); background: #fffafb; }
.profil-hex-ikona { position: relative; font-size: 2.3rem; line-height: 1; }
.profil-hex-obrazek { width: 104px; height: 104px; clip-path: none; background: none; object-fit: contain; filter: drop-shadow(0 3px 6px rgba(229, 31, 64, .18)); }
.profil-odznak:not(.profil-odznak-ziskan) .profil-hex { background: #d9dbe0; filter: none; }
.profil-odznak:not(.profil-odznak-ziskan) .profil-hex-vnitrek { background: #f3f4f6; }
.profil-odznak:not(.profil-odznak-ziskan) .profil-hex-ikona { filter: grayscale(1); opacity: .45; }
/* Ilustrace má vlastní šestiúhelník, šedý CSS rámeček pro ni nechceme (pravidlo musí být až za .profil-hex výše). */
.profil-odznak:not(.profil-odznak-ziskan) .profil-hex-obrazek { background: none; filter: grayscale(1); opacity: .45; }
.profil-odznak strong { display: block; font-size: 1.05rem; line-height: 1.25; }
.profil-odznak-popis, .profil-odznak-kdy { display: block; font-size: .85rem; margin-top: .3rem; }
.profil-odznak-popis { color: #555; }
.profil-odznak:not(.profil-odznak-ziskan) .profil-odznak-popis { color: #8a8a8a; }
.profil-odznak-kdy { color: #a08a92; font-size: .78rem; }
.profil-odznak-akce { margin-top: .6rem; }
.profil-zpetna-seznam { list-style: none; margin: .5rem 0 0; padding: 0; max-width: 40rem; }
.profil-zpetna-radek { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .45rem 0; border-bottom: 1px solid #eee; margin: 0; }
.profil-zpetna-hotovo { font-size: .9rem; color: #15803d; }
.profil-omluvy-seznam .profil-zpetna-radek { flex-wrap: wrap; }
.profil-omluvy-seznam .profil-form-stav { flex-basis: 100%; margin: 0; font-size: .9rem; }
.profil-omluvy-seznam .profil-form-stav:empty { display: none; }
.profil-omluvena { font-size: .9rem; color: #a16207; }
.profil-odkaz-tlacitko { padding: 0; border: 0; background: none; font: inherit; font-size: .9rem; color: #555; text-decoration: underline; cursor: pointer; }
.profil-omluva-form { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; width: 100%; margin: 0 0 .3rem; }
.profil-omluva-form input { flex: 1 1 14rem; padding: .35rem .5rem; font: inherit; font-size: .9rem; border: 1px solid #b9c4d0; border-radius: .25rem; }
.profil-lekce-omluvena { color: #a16207; }
.zpetna-vazba-form { max-width: 40rem; }
.zpetna-vazba-form label { display: block; margin: 1rem 0; font-weight: 600; }
.zpetna-vazba-form select, .zpetna-vazba-form textarea { display: block; width: 100%; margin-top: .3rem; padding: .5rem .6rem; font: inherit; font-weight: 400; border: 1px solid #b9c4d0; border-radius: .25rem; }
.zpetna-vazba-info { font-size: .85rem; color: #666; margin: -.5rem 0 0; }
.profil-form label { display: block; margin: .75rem 0; }
.profil-form label small, .profil-form fieldset > small { display: block; color: #666; font-size: .85rem; }
.profil-form input[type="text"] { display: block; width: 100%; max-width: 24rem; margin-top: .25rem; padding: .4rem .6rem; font: inherit; border: 1px solid #b9c4d0; border-radius: .25rem; }
.profil-form fieldset { border: 1px solid #e3e5e8; border-radius: .375rem; padding: .5rem 1rem; margin: .75rem 0; }
.profil-form fieldset label, .profil-check { display: flex; align-items: center; gap: .5rem; margin: .4rem 0; }
.profil-form input[type="radio"], .profil-form input[type="checkbox"] { accent-color: var(--pink); width: 1.05rem; height: 1.05rem; }
.profil-discord { margin-top: 1.5rem; max-width: 40rem; }
.profil-discord h3 { margin-bottom: .25rem; }
.profil-discord [hidden] { display: none; }
.profil-form-stav { margin-left: .75rem; color: #444; }
.skip-link { position: absolute; z-index: 10; left: 1rem; top: -10rem; background: white; padding: .75rem; }
.skip-link:focus { top: 1rem; }
@media (max-width: 700px) {
  .header-inner, .site-layout, .footer-inner { padding: 1.25rem; }
  .brand { gap: .75rem; }
  .brand img { width: 135px; }
  .brand span { padding-left: .75rem; font-size: 1rem; }
  .site-layout { grid-template-columns: 1fr; gap: 1.5rem; }
  .section-nav { border-bottom: 1px solid #eee; padding-bottom: 1rem; }
  .primary-nav > ul { padding: 0; gap: .15rem; }
  .primary-nav a { padding: .6rem .7rem; }
  nav > ul { margin-bottom: 0; }
  nav ul ul { margin-bottom: 0; }
  .footer-inner { flex-direction: column; gap: .3rem; }
}

/* Tisk celé hodiny: odkaz pod přehledem hodiny, lišta a stránky na tiskové adrese /…/tisk/. */
.upravit-odkaz { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .35rem 1.25rem; margin: 0 0 1rem; font-size: .85rem; }
.upravit-odkaz[hidden] { display: none; }
.upravit-odkaz a { display: inline-flex; align-items: center; gap: .35rem; }
.upravit-odkaz svg { width: 1.1em; height: 1.1em; flex: none; }
.tisk-odkaz { margin-top: 3rem; padding-top: 1.5rem; border-top: 1px solid #eee; }
/* Tisk hodiny je vedlejsi akce, plna ruzova patri prihlaseni a ukladani v profilu. */
.tlacitko-obrys { padding: .45rem .95rem; background: #fff; color: var(--link); font-size: .95rem; }
.tlacitko-obrys:hover { background: #fff4f6; color: var(--link); }
body.tisk { display: block; }
.tisk-lista { display: flex; align-items: center; flex-wrap: wrap; gap: 1rem; max-width: 1160px; margin: auto; padding: 1rem 2rem; }
.tisk-lista .back-link { margin: 0; margin-right: auto; }
.tisk-check { display: flex; align-items: center; gap: .4rem; font-size: .9rem; }
.tisk-check input { accent-color: var(--pink); width: 1.05rem; height: 1.05rem; }
body.tisk main { max-width: 80ch; margin: auto; padding: 0 2rem 3rem; }
.tisk-stranka + .tisk-stranka { margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid #eee; }
body.bez-cviceni .tisk-cviceni { display: none; }
.tisk-check:has(input:disabled) { color: #888; }
/* Nadpisů je na jedné stránce dvacet, plná velikost by zabrala půl listu. */
.tisk-stranka h1 { font-size: 1.9rem; }
.tisk-stranka h1::after { margin-top: .7rem; }

/* Okraje tiskové strany. Bez toho si je Chrome volí sám a text jde skoro ke kraji. */
@page { margin: 15mm 14mm; }

@media print {
  .site-header, .section-nav, .comments, .skip-link, .code-toolbar, .tisk-lista, .tisk-odkaz, .upravit-odkaz, main > .back-link, footer { display: none !important; }
  body { display: block; font-size: 11pt; }
  .site-layout { display: block; max-width: none; padding: 0; }
  main, body.tisk main { max-width: none; padding: 0; }
  a { color: inherit; text-decoration: none; }
  pre, table, img { break-inside: avoid; }
  h1, h2, h3 { break-after: avoid; }
  /* Nová strana začíná u každého tématu, kratší stránky uvnitř tématu plynou za sebou.
     První téma navazuje rovnou na přehled hodiny, ať se netiskne skoro prázdný titulní list. */
  .tisk-stranka + .tisk-stranka { margin-top: 1.2rem; padding-top: 0; border-top: 0; }
  .tisk-stranka + .tisk-tema { break-before: page; margin-top: 0; }
  .tisk-stranka:first-child + .tisk-tema { break-before: auto; margin-top: 2rem; }
  /* Na papíře nemá smysl obsah, který jen odkazuje na stránky tištěné hned za ním,
     ani patička s navigací a odkazem na GitHub (za vodorovnou linkou na konci stránky). */
  .tisk-stranka:first-child h2, .tisk-stranka:first-child h2 ~ ul, .tisk-stranka:first-child > p:nth-last-of-type(-n+2) { display: none; }
  .tisk-tema > ul, .tisk-tema > p:last-child { display: none; }
  .tisk-stranka hr:last-of-type, .tisk-stranka hr:last-of-type ~ * { display: none; }
  .tisk-stranka h1 { font-size: 1.5rem; }
  .tisk-stranka h2 { margin-top: 1.2rem; }
}

/* Lišta oznámení pod hlavičkou (content/oznameni/, layouts/oznameni.njk). */
.oznameni-lista { background: #fff4f6; border-bottom: 1px solid #f3c1cb; }
.oznameni { display: flex; align-items: flex-start; gap: 1rem; max-width: 1160px; margin: auto; padding: .6rem 2rem; font-size: .95rem; line-height: 1.5; }
.oznameni + .oznameni { border-top: 1px solid #f6d9df; }
.oznameni-text { flex: 1; min-width: 0; }
.oznameni-text > :first-child { margin-top: 0; }
.oznameni-text > :last-child { margin-bottom: 0; }
.oznameni-zavrit { flex-shrink: 0; padding: 0 .4rem; border: 0; background: none; font: inherit; font-size: 1.3rem; line-height: 1; color: #888; cursor: pointer; }
.oznameni-zavrit:hover { color: #333; }
.oznameni-zavrit:focus-visible { outline: 3px solid var(--pink); outline-offset: 2px; }
@media (max-width: 700px) { .oznameni { padding: .6rem 1.25rem; } }
@media print { .oznameni-lista { display: none; } }
