/* Jan Nehyba – základ a komponenty. Vyžaduje tokens.css (barvy, písmo, mezery).
   Pravidla: bílý papír, barva jen v obrazech; ultramarín jen v nadpisech, odkazech, tlačítkách a malbě;
   žádné stíny, žádné verzálkové štítky, žádné animace při načtení. */

/* --- Základ --- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;font-family:var(--jn-font);font-optical-sizing:auto;font-kerning:normal;hanging-punctuation:first allow-end;scroll-padding-top:var(--jn-s6)}
body{margin:0;background:var(--jn-paper);color:var(--jn-ink);font-family:var(--jn-font);font-optical-sizing:auto;font-size:var(--jn-body);line-height:var(--jn-body-lh);font-weight:var(--jn-body-w);font-variant-numeric:oldstyle-nums proportional-nums;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--jn-body-w:380;--jn-h-boost:-10}}
:root[data-theme=dark]{--jn-body-w:380;--jn-h-boost:-10}
::selection{background:var(--jn-sel);color:var(--jn-ink)}
img,svg,video{max-width:100%;height:auto}
:lang(cs) p,:lang(cs) li,:lang(cs) dd,:lang(cs) figcaption{hyphens:auto;-webkit-hyphens:auto;hyphenate-limit-chars:7 3 3}
p,li,dd,figcaption{text-wrap:pretty}

h1,h2,h3,h4,.jn-display{color:var(--jn-head);margin:0;text-wrap:balance;hyphens:manual;font-variant-numeric:lining-nums}
.jn-display{font-size:var(--jn-display);font-weight:calc(var(--jn-display-w) + var(--jn-h-boost,0));line-height:var(--jn-display-lh);letter-spacing:var(--jn-display-tr)}
h1,.jn-h1{font-size:var(--jn-h1);font-weight:calc(var(--jn-h1-w) + var(--jn-h-boost,0));line-height:var(--jn-h1-lh);letter-spacing:var(--jn-h1-tr)}
h2,.jn-h2{font-size:var(--jn-h2);font-weight:calc(var(--jn-h2-w) + var(--jn-h-boost,0));line-height:var(--jn-h2-lh);letter-spacing:var(--jn-h2-tr)}
h3,.jn-h3{font-size:var(--jn-h3);font-weight:var(--jn-h3-w);line-height:var(--jn-h3-lh);letter-spacing:var(--jn-h3-tr)}
h4,.jn-h4{font-size:var(--jn-body);font-weight:560;line-height:1.35;color:var(--jn-ink)}
p{margin:0 0 1em}
.jn-lead{font-size:var(--jn-lead);font-weight:var(--jn-lead-w);line-height:var(--jn-lead-lh);color:var(--jn-ink);max-width:30em}
.jn-sub{font-style:italic;font-weight:380;color:var(--jn-ink-2)}
small,.jn-small{font-size:var(--jn-small);line-height:var(--jn-small-lh)}
.jn-caption,figcaption{font-size:var(--jn-caption);line-height:var(--jn-caption-lh);font-style:italic;color:var(--jn-ink-2)}
.jn-muted{color:var(--jn-ink-2)}
.jn-sc,abbr.jn-sc{font-variant-caps:all-small-caps;letter-spacing:.04em;font-variant-numeric:lining-nums;text-decoration:none}
.jn-num,time,data,.jn-price{font-variant-numeric:lining-nums tabular-nums}
.jn-meta{font-size:var(--jn-small);color:var(--jn-ink-2);font-variant-numeric:lining-nums}
hr{border:0;border-top:var(--jn-hair) solid var(--jn-rule);margin:var(--jn-s7) 0}

/* Odkazy: vlasové podtržení, při najetí silnější. Navštívené jen v textu. */
a{color:var(--jn-link);text-decoration-line:underline;text-decoration-thickness:1px;text-underline-offset:.18em;text-decoration-color:color-mix(in oklab,currentColor 40%,transparent);transition:color var(--jn-fast) var(--jn-ease),text-decoration-color var(--jn-fast) var(--jn-ease)}
a:hover{color:var(--jn-link-hover);text-decoration-thickness:2px;text-decoration-color:currentColor}
:is(.jn-prose,.jn-article) a:visited{color:var(--jn-visited)}
a:active{color:var(--jn-link-hover);text-decoration-thickness:2px}
:focus-visible{outline:var(--jn-focus) solid var(--jn-link);outline-offset:2px;border-radius:var(--jn-radius)}
.jn-skip{position:absolute;left:var(--jn-s4);top:-100px;background:var(--jn-paper);padding:var(--jn-s2) var(--jn-s4);z-index:10}
.jn-skip:focus{top:var(--jn-s4)}

/* Seznamy: visící pomlčka v barvě druhotného textu, žádné barevné tečky. */
:is(.jn-prose,.jn-article) ul,ul.jn-list{list-style:none;padding:0;margin:0 0 1em}
:is(.jn-prose,.jn-article) ul>li,ul.jn-list>li{position:relative;padding-left:1.1em;margin-bottom:.35em}
:is(.jn-prose,.jn-article) ul>li::before,ul.jn-list>li::before{content:"–";position:absolute;left:0;color:var(--jn-ink-2)}
:is(.jn-prose,.jn-article) ol{padding-left:1.4em;margin:0 0 1em}
:is(.jn-prose,.jn-article) ol>li::marker{font-variant-numeric:lining-nums tabular-nums;color:var(--jn-ink-2)}

/* Citace: větší kurzíva, visící uvozovka, tenká linka vlevo jen na úzkých displejích není. */
blockquote,.jn-quote{margin:var(--jn-s6) 0;font-size:var(--jn-lead);line-height:1.45;font-style:italic;font-weight:360;color:var(--jn-head)}
blockquote p{text-indent:-.42em}
blockquote cite,.jn-quote cite{display:block;margin-top:var(--jn-s3);font-size:var(--jn-small);font-style:normal;color:var(--jn-ink-2)}

/* --- Rozvržení --- */
main{overflow-x:clip}
.jn-wrap{max-width:calc(var(--jn-max) + 2 * var(--jn-margin));margin-inline:auto;padding-inline:var(--jn-margin)}
.jn-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--jn-gutter);row-gap:var(--jn-s6)}
.jn-grid>*{grid-column:1/-1}
@media (min-width:760px){
  .jn-c-1-7{grid-column:1/8}.jn-c-1-6{grid-column:1/7}.jn-c-7-13{grid-column:7/13}.jn-c-8-13{grid-column:8/13}
  .jn-c-1-9{grid-column:1/10}.jn-c-3-11{grid-column:3/11}.jn-c-4-13{grid-column:4/13}.jn-c-1-4{grid-column:1/4}
}
.jn-section{padding-block:clamp(var(--jn-s8),9vw,var(--jn-s10))}
.jn-section--tight{padding-block:var(--jn-s8)}
.jn-section-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:var(--jn-s3) var(--jn-s6);margin-bottom:var(--jn-s6)}
.jn-prose{max-width:var(--jn-measure)}
:is(.jn-prose,.jn-article)>h2{margin:1.6em 0 .55em}:is(.jn-prose,.jn-article)>h3{margin:1.4em 0 .45em}:is(.jn-prose,.jn-article)>h4{margin:1.2em 0 .3em}
.jn-stack>*+*{margin-top:var(--jn-s4)}

/* Poznámka na okraji: od 1100 px v pravém sloupci, jinak pod odstavcem. */
.jn-article{display:grid;grid-template-columns:minmax(0,var(--jn-measure)) minmax(0,1fr);column-gap:var(--jn-s7)}
.jn-article>*{grid-column:1}
.jn-article>.jn-side{font-size:var(--jn-small);line-height:1.5;color:var(--jn-ink-2);margin:0 0 1em;padding-left:var(--jn-s3);border-left:var(--jn-hair) solid var(--jn-rule)}
@media (min-width:1100px){.jn-article>.jn-side{grid-column:2;grid-row:span 2;align-self:start;max-width:16rem;padding-left:0;border:0}}
.jn-article>figure{margin:var(--jn-s6) 0}
.jn-article>figure>.jn-ilu{max-width:min(100%,28rem)}
@media (min-width:1100px){.jn-article>figure.jn-wide{grid-column:1/-1}}

/* --- Hlavička a navigace --- */
.jn-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--jn-s3) var(--jn-s6);padding-block:var(--jn-s5)}
.jn-brand{display:inline-flex;align-items:center;gap:.6em;color:var(--jn-ink);text-decoration:none;font-size:1.1875rem;font-weight:460;letter-spacing:-.005em;line-height:1}
.jn-brand:hover{color:var(--jn-ink);text-decoration:none}
.jn-brand .jn-mark{width:2.4em;height:auto;flex:none}
.jn-nav ul{display:flex;flex-wrap:wrap;gap:var(--jn-s1) var(--jn-s5);list-style:none;margin:0;padding:0}
.jn-nav a{display:inline-block;padding-block:var(--jn-s2);color:var(--jn-ink);text-decoration:none;font-size:1.0625rem;font-weight:420}
.jn-nav a:hover{color:var(--jn-link-hover);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.35em}
.jn-nav a[aria-current=page]{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.35em;text-decoration-color:var(--jn-link)}

/* --- Úvod stránky s Boštíkovým světlem --- */
.jn-hero{position:relative;isolation:isolate;overflow-x:clip;padding-block:clamp(var(--jn-s7),7vw,var(--jn-s9)) clamp(var(--jn-s8),9vw,var(--jn-s10))}
.jn-light{position:absolute;inset:0 0 auto;height:115%;z-index:-1;pointer-events:none;
  --jn-glow-c:var(--jn-paper);--jn-glow-e:var(--jn-mist);
  background:radial-gradient(ellipse 34% 46% at var(--jn-light-x,74%) var(--jn-light-y,44%),var(--jn-glow-c) 0%,var(--jn-glow-c) 22%,var(--jn-glow-e) 100%);
  -webkit-mask:linear-gradient(to bottom,#000 45%,transparent);mask:linear-gradient(to bottom,#000 45%,transparent)}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .jn-light{--jn-glow-c:var(--jn-mist);--jn-glow-e:var(--jn-paper)}}
:root[data-theme=dark] .jn-light{--jn-glow-c:var(--jn-mist);--jn-glow-e:var(--jn-paper)}
.jn-light::after{content:"";position:absolute;inset:0;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E")}
.jn-vlny{position:absolute;z-index:-1;color:var(--jn-dots);pointer-events:none;overflow:visible}
.jn-hero__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--jn-gutter);align-items:center;row-gap:var(--jn-s6)}
.jn-hero__text{grid-column:1/-1}
.jn-hero__art{grid-column:1/-1;position:relative}
@media (min-width:860px){.jn-hero__text{grid-column:1/7;grid-row:1}.jn-hero__art{grid-column:7/13;grid-row:1;margin-right:calc(-1 * var(--jn-margin) + 8px)}}
@media (max-width:859px){.jn-hero__art{max-width:34rem}}
.jn-hero h1,.jn-hero .jn-display{margin-bottom:var(--jn-s5)}
.jn-hero .jn-lead{margin-bottom:var(--jn-s6)}

/* --- Obraz s postavou: linka postavy celá uvnitř akvarelové skvrny (jedno SVG, viz src/ilustrace.mjs).
   Abstrakce: Boštíkovy vlnky, skvrna a Marcovy akcenty, bez postav. V jednom obraze nikdy obojí. --- */
.jn-ilu{margin:0}
.jn-ilu>svg{display:block;width:100%;height:auto;color:var(--jn-line-art);overflow:hidden}
.jn-ilu path{vector-effect:non-scaling-stroke}
.jn-ilu image.jn-l{opacity:.74}
.jn-abstrakce{position:relative;margin:0;isolation:isolate;max-width:100%}
.jn-abstrakce>img{position:absolute;max-width:none;height:auto;pointer-events:none;user-select:none}
.jn-abstrakce>.jn-vlny{inset:0;width:100%;height:100%}
.jn-d{display:none!important}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .jn-l{display:none!important}:root:not([data-theme=light]) .jn-d{display:block!important}}
:root[data-theme=dark] .jn-l{display:none!important}:root[data-theme=dark] .jn-d{display:block!important}
.jn-ilu figcaption{margin-top:var(--jn-s3)}
.jn-ilu-max{max-width:min(100%,22rem)}

/* --- Tlačítka: obdélník 2 px, Literata, žádné šipky ani ikony v textu. --- */
.jn-btn{--b:var(--jn-link);font-family:var(--jn-font);display:inline-flex;align-items:center;justify-content:center;gap:.5em;min-height:48px;padding:.6em 1.25em;border:1px solid var(--b);border-radius:var(--jn-radius);background:var(--b);color:var(--jn-on-link);font:inherit;font-size:1.0625rem;font-weight:500;line-height:1.2;text-decoration:none;cursor:pointer;transition:background-color var(--jn-fast) var(--jn-ease),border-color var(--jn-fast) var(--jn-ease),color var(--jn-fast) var(--jn-ease)}
.jn-btn:hover{--b:var(--jn-link-hover);color:var(--jn-on-link);text-decoration:none}
.jn-btn:active{transform:translateY(1px)}
.jn-btn--quiet{background:transparent;color:var(--jn-link);border-color:var(--jn-rule-2)}
.jn-btn--quiet:hover{background:var(--jn-chosen);color:var(--jn-link-hover);border-color:var(--jn-link)}
.jn-btn--text{background:none;border-color:transparent;color:var(--jn-link);padding-inline:0;min-height:44px;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em}
.jn-btn--text:hover{background:none;color:var(--jn-link-hover);text-decoration-thickness:2px}
.jn-btn:disabled,.jn-btn[aria-disabled=true]{--b:var(--jn-muted);background:transparent;color:var(--jn-muted);border-color:var(--jn-muted);border-style:dashed;cursor:not-allowed;transform:none}
.jn-btn[aria-busy=true]{cursor:progress}
.jn-btn[aria-busy=true]::after{content:"";width:.9em;height:.9em;border:1.5px solid currentColor;border-right-color:transparent;border-radius:50%;animation:jn-toc 900ms linear infinite}
@keyframes jn-toc{to{transform:rotate(1turn)}}
.jn-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--jn-s3) var(--jn-s5)}

/* Štítek: obdélník, malé písmo, bez verzálek. */
.jn-tag{display:inline-block;padding:.12em .5em;border:var(--jn-hair) solid var(--jn-rule-2);border-radius:var(--jn-radius);font-size:var(--jn-caption);line-height:1.5;color:var(--jn-ink-2);font-variant-numeric:lining-nums}

/* --- Rejstřík (kurzy, akce, texty): řádky s linkou, ne karty. --- */
.jn-index{list-style:none;margin:0;padding:0;border-top:var(--jn-hair) solid var(--jn-rule)}
.jn-index>li{border-bottom:var(--jn-hair) solid var(--jn-rule)}
.jn-index__row{display:grid;grid-template-columns:1fr;gap:var(--jn-s1);padding-block:var(--jn-s5);color:inherit;text-decoration:none}
a.jn-index__row:hover{color:inherit;text-decoration:none}
a.jn-index__row:hover .jn-index__title{color:var(--jn-link-hover);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em}
.jn-index__when{font-size:var(--jn-small);color:var(--jn-ink-2);font-variant-numeric:lining-nums tabular-nums}
.jn-index__title{font-size:var(--jn-h3);font-weight:420;line-height:1.25;color:var(--jn-head)}
.jn-index__desc{color:var(--jn-ink-2);margin:0}
@media (min-width:760px){.jn-index__row{grid-template-columns:2fr 6fr 4fr;column-gap:var(--jn-gutter);align-items:baseline}}
.jn-index--texty .jn-index__title{font-style:italic;font-weight:380}

/* --- Rezervace (terapie, kurz): cena, délka, jak se objednat. --- */
.jn-booking{display:grid;grid-template-columns:1fr;gap:0;margin:0;border-top:var(--jn-hair) solid var(--jn-rule)}
.jn-booking>div{display:grid;grid-template-columns:9rem 1fr;gap:var(--jn-s4);padding-block:var(--jn-s4);border-bottom:var(--jn-hair) solid var(--jn-rule)}
.jn-booking dt{color:var(--jn-ink-2)}
.jn-booking dd{margin:0;font-variant-numeric:lining-nums tabular-nums}

/* --- Formuláře --- */
.jn-field{display:grid;gap:var(--jn-s2);margin-bottom:var(--jn-s5)}
.jn-field label,.jn-label{font-weight:500}
.jn-hint{font-size:var(--jn-small);color:var(--jn-ink-2);margin:0}
.jn-input,.jn-field :where(input:not([type=checkbox],[type=radio]),textarea,select){width:100%;min-height:48px;padding:.6em .75em;border:1px solid var(--jn-rule-2);border-radius:var(--jn-radius);background:var(--jn-paper);color:var(--jn-ink);font:inherit;font-size:max(1rem,16px);font-variant-numeric:lining-nums;transition:border-color var(--jn-fast) var(--jn-ease)}
.jn-field textarea{min-height:8em;line-height:1.5;resize:vertical}
.jn-field :is(input,textarea,select):hover{border-color:var(--jn-ink-2)}
.jn-field :is(input,textarea,select):focus-visible{outline:2px solid var(--jn-link);outline-offset:0;border-color:var(--jn-link)}
.jn-field :is(input,textarea,select):disabled{border-style:dashed;border-color:var(--jn-muted);color:var(--jn-muted);background:var(--jn-paper-2);cursor:not-allowed}
.jn-field :is(input,textarea,select)[aria-invalid=true]{border-color:var(--jn-error);border-width:2px}
.jn-error{display:flex;gap:.4em;color:var(--jn-error);font-size:var(--jn-small);margin:0}
.jn-error::before{content:"";flex:none;width:.25em;margin-block:.2em;background:currentColor;border-radius:1px}
.jn-ok{color:var(--jn-ok);font-size:var(--jn-small);margin:0}
.jn-check{display:grid;grid-template-columns:auto 1fr;gap:var(--jn-s3);align-items:start;margin-bottom:var(--jn-s3);cursor:pointer}
.jn-check input{appearance:none;-webkit-appearance:none;width:22px;height:22px;margin:.18em 0 0;border:1.5px solid var(--jn-rule-2);border-radius:var(--jn-radius);background:var(--jn-paper);display:grid;place-content:center;cursor:pointer}
.jn-check input[type=radio]{border-radius:50%}
.jn-check input::before{content:"";width:12px;height:12px;transform:scale(0);background:var(--jn-on-link);clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0,43% 62%)}
.jn-check input[type=radio]::before{clip-path:circle(50%);width:10px;height:10px}
.jn-check input:checked{background:var(--jn-link);border-color:var(--jn-link)}
.jn-check input:checked::before{transform:scale(1)}
.jn-check input:hover{border-color:var(--jn-link)}
.jn-check input:focus-visible{outline:2px solid var(--jn-link);outline-offset:2px}
.jn-check input:disabled{border-style:dashed;border-color:var(--jn-muted);cursor:not-allowed}
.jn-check input:disabled+span{color:var(--jn-muted)}
.jn-status{font-size:var(--jn-small);color:var(--jn-ink-2);min-height:1.5em;font-variant-numeric:lining-nums tabular-nums}
.jn-status[data-stav=chyba]{color:var(--jn-error)}
.jn-status[data-stav=ok]{color:var(--jn-ok)}

/* Upozornění: jen linka vlevo, žádný barevný box. */
.jn-note{padding:var(--jn-s1) 0 var(--jn-s1) var(--jn-s4);border-left:2px solid var(--jn-link);margin:var(--jn-s5) 0}
.jn-note--error{border-left-color:var(--jn-error)}
.jn-empty{padding:var(--jn-s7) 0;color:var(--jn-ink-2);font-style:italic}

/* --- Bio --- */
.jn-bio{display:grid;grid-template-columns:1fr;gap:var(--jn-s5)}
@media (min-width:760px){.jn-bio{grid-template-columns:minmax(0,3fr) minmax(0,8fr);gap:var(--jn-gutter)}}
.jn-bio .jn-foto{max-width:16rem}

/* --- Patička --- */
.jn-foot{padding-block:var(--jn-s8) var(--jn-s7);margin-top:var(--jn-s8);border-top:var(--jn-hair) solid var(--jn-rule);font-size:var(--jn-small);color:var(--jn-ink-2)}
.jn-foot a{color:var(--jn-ink-2)}
.jn-foot a:hover{color:var(--jn-link-hover)}
.jn-foot__grid{display:grid;gap:var(--jn-s5)}
@media (min-width:760px){.jn-foot__grid{grid-template-columns:4fr 4fr 4fr}}

/* --- LMS: lekce, video, osnova, reflexe, časovač --- */
.jn-lesson-head{display:grid;gap:var(--jn-s3);margin-bottom:var(--jn-s6)}
.jn-progress{display:flex;align-items:center;gap:var(--jn-s3);font-size:var(--jn-small);color:var(--jn-ink-2);font-variant-numeric:lining-nums tabular-nums}
.jn-progress__bar{flex:1;min-width:6rem;max-width:14rem;height:2px;background:var(--jn-rule);position:relative}
.jn-progress__bar>i{position:absolute;inset:0 auto 0 0;width:var(--p,0%);background:var(--jn-link)}
.jn-video{position:relative;aspect-ratio:16/9;background:var(--jn-paper-2);border:var(--jn-hair) solid var(--jn-rule);display:grid;place-items:end start;overflow:hidden;isolation:isolate}
.jn-video>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1}
.jn-video>.jn-ilu{position:absolute;left:50%;top:50%;height:88%;width:auto;transform:translate(-50%,-50%);z-index:-1}.jn-video>.jn-ilu>svg{height:100%;width:auto}
.jn-video__play{margin:var(--jn-s5)}
.jn-video__bar{display:flex;gap:var(--jn-s4);align-items:center;padding-top:var(--jn-s3);font-size:var(--jn-small);color:var(--jn-ink-2)}
.jn-outline{list-style:none;margin:0;padding:0;counter-reset:lekce}
.jn-outline>li{counter-increment:lekce}
.jn-outline a,.jn-outline span.jn-outline__item{display:grid;grid-template-columns:2rem 1fr auto;gap:var(--jn-s3);align-items:baseline;padding:var(--jn-s3) var(--jn-s2);color:var(--jn-ink);text-decoration:none;border-bottom:var(--jn-hair) solid var(--jn-rule)}
.jn-outline a::before,.jn-outline span.jn-outline__item::before{content:counter(lekce);font-variant-numeric:lining-nums tabular-nums;color:var(--jn-ink-2);font-size:var(--jn-small)}
.jn-outline a:hover{background:var(--jn-paper-2);color:var(--jn-link-hover)}
.jn-outline a[aria-current=step]{background:var(--jn-chosen);font-weight:560;box-shadow:inset 2px 0 0 var(--jn-link)}
.jn-outline [data-stav=hotovo]::after{content:"hotovo";font-size:var(--jn-caption);font-style:italic;color:var(--jn-ok)}
.jn-outline [data-stav=zamceno]{color:var(--jn-muted);cursor:not-allowed}
.jn-outline [data-stav=zamceno]::after{content:"později";font-size:var(--jn-caption);font-style:italic}
.jn-pager{display:flex;justify-content:space-between;gap:var(--jn-s5);padding-top:var(--jn-s6);margin-top:var(--jn-s7);border-top:var(--jn-hair) solid var(--jn-rule)}
.jn-pager a{display:grid;gap:2px;text-decoration:none;max-width:48%}
.jn-pager a span{font-size:var(--jn-small);color:var(--jn-ink-2)}
.jn-pager a strong{font-weight:460;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em;text-decoration-color:color-mix(in oklab,currentColor 40%,transparent)}
.jn-pager a:last-child{text-align:right;margin-left:auto}
.jn-timer{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--jn-s4);padding:var(--jn-s5) 0;border-block:var(--jn-hair) solid var(--jn-rule)}
.jn-timer__time{font-size:var(--jn-h1);font-weight:340;line-height:1;color:var(--jn-head);font-variant-numeric:lining-nums tabular-nums;letter-spacing:-.02em}
.jn-timer__who{color:var(--jn-ink-2)}
.jn-download{display:grid;grid-template-columns:1fr auto;gap:var(--jn-s4);align-items:baseline;padding-block:var(--jn-s4);border-bottom:var(--jn-hair) solid var(--jn-rule)}
.jn-download span{font-size:var(--jn-small);color:var(--jn-ink-2);font-variant-numeric:lining-nums}

/* --- Výzkum: souhlas, Likertova škála, tabulky, grafy, publikace --- */
.jn-likert{border:0;margin:0 0 var(--jn-s6);padding:0}
.jn-likert legend{font-size:var(--jn-lead);line-height:1.4;color:var(--jn-ink);margin-bottom:var(--jn-s4);padding:0}
.jn-likert__scale{display:grid;grid-template-columns:1fr;gap:var(--jn-s2)}
@media (min-width:640px){.jn-likert__scale{grid-template-columns:repeat(var(--n,5),minmax(0,1fr))}}
.jn-likert label{position:relative;display:flex;align-items:center;justify-content:center;min-height:48px;padding:var(--jn-s2) var(--jn-s3);border:1px solid var(--jn-rule-2);border-radius:var(--jn-radius);text-align:center;font-size:var(--jn-small);line-height:1.3;cursor:pointer;transition:background-color var(--jn-fast) var(--jn-ease),border-color var(--jn-fast) var(--jn-ease)}
@media (max-width:639px){.jn-likert label{justify-content:flex-start;text-align:left}}
.jn-likert input{position:absolute;opacity:0;pointer-events:none}
.jn-likert label:hover{border-color:var(--jn-link);background:var(--jn-paper-2)}
.jn-likert label:has(input:checked){background:var(--jn-chosen);border:1.5px solid var(--jn-link);font-weight:600;color:var(--jn-head)}
.jn-likert label:has(input:focus-visible){outline:2px solid var(--jn-link);outline-offset:2px}
.jn-likert label:has(input:disabled){border-style:dashed;color:var(--jn-muted);cursor:not-allowed}
.jn-likert__ends{display:flex;justify-content:space-between;font-size:var(--jn-caption);font-style:italic;color:var(--jn-ink-2);margin-top:var(--jn-s2)}
@media (max-width:639px){.jn-likert__ends{display:none}}
.jn-table{width:100%;border-collapse:collapse;font-size:var(--jn-small);font-variant-numeric:lining-nums tabular-nums}
.jn-table caption{text-align:left;font-style:italic;color:var(--jn-ink-2);margin-bottom:var(--jn-s3)}
.jn-table th,.jn-table td{padding:var(--jn-s2) var(--jn-s3);border-bottom:var(--jn-hair) solid var(--jn-rule);text-align:left;vertical-align:baseline}
.jn-table thead th{font-weight:560;color:var(--jn-ink);border-bottom-color:var(--jn-ink-2)}
.jn-table td.n,.jn-table th.n{text-align:right}
.jn-table-wrap{overflow-x:auto}
.jn-chart{margin:var(--jn-s6) 0}
.jn-chart svg{display:block;width:100%;height:auto;font-family:var(--jn-font);font-variant-numeric:lining-nums tabular-nums}
.jn-chart text{fill:var(--jn-ink-2);font-size:13px}
.jn-chart .g-popis{font-size:15px;fill:var(--jn-ink)}.jn-chart .g-mala{font-size:12.5px;fill:var(--jn-ink-2)}.jn-chart .g-cislo{font-size:13px;font-variant-numeric:lining-nums tabular-nums}
.jn-chart figcaption{margin-top:var(--jn-s3)}
/* Fotografie: vždy samostatný obraz. Portrét ve skvrně (modrotisk, celý uvnitř), nebo obdélník černobíle či v barvě. */
.jn-foto{margin:0}
.jn-foto img{display:block;width:100%;height:auto}
.jn-foto--obdelnik img{aspect-ratio:4/5;object-fit:cover}
.jn-foto--cb img{filter:grayscale(1) contrast(1.03)}
.jn-foto--barva img{filter:saturate(.88)}
.jn-foto--skvrna{max-width:22rem}
.jn-foto figcaption{margin-top:var(--jn-s3)}
.jn-pubs{list-style:none;margin:0;padding:0}
.jn-pubs>li{padding-block:var(--jn-s4);border-bottom:var(--jn-hair) solid var(--jn-rule);text-indent:-1.2em;padding-left:1.2em}
.jn-pubs .jn-pubs__title{font-style:italic}
.jn-pubs .jn-pubs__doi{font-size:var(--jn-small);font-variant-numeric:lining-nums;word-break:break-all}

/* --- Pohyb a přístupnost --- */
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
@media (forced-colors:active){
  .jn-btn{border:1px solid ButtonText}
  .jn-likert label:has(input:checked){outline:2px solid Highlight}
  .jn-progress__bar>i{background:Highlight}
  .jn-ilu image,.jn-abstrakce>img,.jn-vlny,.jn-light{display:none}
}
