/* adamburdzy.pl — wspólny system (tokeny, typografia, komponenty) */
@view-transition { navigation: auto; }
:root{
  --serif:"EB Garamond",Garamond,Georgia,serif; --type:"Courier Prime","Courier New",monospace;
  --sans:"Manrope","Segoe UI",system-ui,sans-serif; --mono:"Roboto Mono",ui-monospace,Consolas,monospace;
  --step--1:clamp(.84rem,.8rem + .2vw,.95rem); --step-0:clamp(1.06rem,1rem + .3vw,1.2rem);
  --step-1:clamp(1.3rem,1.15rem + .6vw,1.6rem); --step-2:clamp(1.7rem,1.4rem + 1.3vw,2.4rem);
  --step-3:clamp(2.2rem,1.7rem + 2.6vw,3.8rem);
  --radius:6px; --gut:clamp(16px,4vw,40px); --measure:68ch; --os-miasto:#3d6b8e;
  /* 1907 — papier arkusza WIG, ołówek kartografa */
  --p-ground:#E9E5D8; --p-panel:#F3F0E6; --p-ink:#221E17; --p-muted:#5E5646; --p-rule:#CFC6AE;
  --p-sepia:#8A5A2B; --p-red:#A3212B; --p-green:#3E5A44;
  /* 1977 — ekran, siatka */
  --d-ground:#F4F6FA; --d-panel:#FFFFFF; --d-ink:#0E1726; --d-muted:#56627A; --d-rule:#D7DEEA; --d-blue:#2B5BF5;
  --ok:#1E6B3A; --warn:#A8690F;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --p-ground:#14171C; --p-panel:#1B1F25; --p-ink:#E7E1D2; --p-muted:#A69D89; --p-rule:#343A43;
  --p-sepia:#D2A36A; --p-red:#F06A60; --p-green:#8DB596;
  --d-ground:#0D1117; --d-panel:#141A23; --d-ink:#E6EDF5; --d-muted:#9AA7BD; --d-rule:#273142; --d-blue:#7C98FF;
  --ok:#5CC287; --warn:#E3A948; --os-miasto:#7FB3D6;}}
:root[data-theme="dark"]{
  --p-ground:#14171C; --p-panel:#1B1F25; --p-ink:#E7E1D2; --p-muted:#A69D89; --p-rule:#343A43;
  --p-sepia:#D2A36A; --p-red:#F06A60; --p-green:#8DB596;
  --d-ground:#0D1117; --d-panel:#141A23; --d-ink:#E6EDF5; --d-muted:#9AA7BD; --d-rule:#273142; --d-blue:#7C98FF;
  --ok:#5CC287; --warn:#E3A948; --os-miasto:#7FB3D6;}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;min-height:100vh;display:flex;flex-direction:column}
img{max-width:100%;height:auto}
a{color:var(--accent)} a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:var(--ground);padding:8px 12px;z-index:100}
.skip:focus{left:8px}

/* światy */
.w1907{--ground:var(--p-ground);--panel:var(--p-panel);--ink:var(--p-ink);--muted:var(--p-muted);--rule:var(--p-rule);--accent:var(--p-red);
  background:var(--ground);color:var(--ink);font:400 var(--step-0)/1.62 var(--serif)}
.w1977,.wgate{--ground:var(--d-ground);--panel:var(--d-panel);--ink:var(--d-ink);--muted:var(--d-muted);--rule:var(--d-rule);--accent:var(--d-blue);
  background:var(--ground);color:var(--ink);font:400 var(--step-0)/1.6 var(--sans)}
.w1977{background-image:linear-gradient(color-mix(in oklch,var(--d-blue) 7%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in oklch,var(--d-blue) 7%,transparent) 1px,transparent 1px);background-size:32px 32px}

/* nagłówek */
.bar{position:sticky;top:0;z-index:20;background:color-mix(in oklch,var(--ground) 88%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--rule);view-transition-name:bar}
.bar .in{max-width:1200px;margin:0 auto;padding:10px var(--gut);display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.brand{font:700 1.05rem/1 var(--sans);letter-spacing:.01em;color:var(--ink);text-decoration:none;display:flex;gap:8px;align-items:baseline}
.brand small{font:500 .75rem var(--mono);color:var(--muted)}
.worlds{display:inline-flex;border:1px solid var(--rule);border-radius:999px;overflow:hidden;font:500 .9rem var(--mono);letter-spacing:.02em}
.worlds a{padding:6px 12px;text-decoration:none;color:var(--muted)}
.worlds a[aria-current]{background:var(--ink);color:var(--ground)}
.nav{display:flex;flex-wrap:wrap;gap:4px 14px;margin-left:auto;font:500 .92rem var(--sans)}
.nav a{color:var(--ink);text-decoration:none;padding:4px 0;border-bottom:2px solid transparent}
.nav a[aria-current],.nav a:hover{border-color:var(--accent)}
.theme{margin-left:4px;background:none;border:1px solid var(--rule);color:var(--ink);border-radius:999px;width:34px;height:34px;cursor:pointer;font-size:15px}

/* nagłówek strony */
.hero{max-width:1200px;margin:0 auto;width:100%;padding:clamp(28px,6vw,64px) var(--gut) 18px}
.eyebrow{font:500 .82rem/1.3 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.w1907 .eyebrow{font-family:var(--type);color:var(--p-sepia)}
h1{font-size:var(--step-3);line-height:1.04;margin:.25em 0 .2em;text-wrap:balance;view-transition-name:title}
.w1907 h1{font-family:var(--serif);font-weight:600;letter-spacing:-.005em}
.w1977 h1{font-family:var(--sans);font-weight:800;letter-spacing:-.035em}
.desc{max-width:62ch;color:var(--muted);font-size:var(--step-1);line-height:1.4;margin:0}
.w1907 .desc{font-style:italic}

/* treść */
main{flex:1}
.prose{max-width:1200px;margin:0 auto;padding:10px var(--gut) 60px;display:grid;grid-template-columns:minmax(0,var(--measure)) minmax(0,1fr);gap:40px}
.prose>.col{min-width:0}
@media (max-width:960px){.prose{grid-template-columns:1fr}}
.col h2{font-size:var(--step-2);line-height:1.12;margin:1.6em 0 .4em;text-wrap:balance}
.w1907 .col h2{font-weight:600}
.col h3{font-size:var(--step-1);line-height:1.2;margin:1.4em 0 .3em;text-wrap:balance}
.col p,.col li{text-wrap:pretty}
.col p{margin:0 0 1em}
.lead{font-size:var(--step-1);line-height:1.5}
.col blockquote{margin:1.4em 0;padding:.2em 0 .2em 1.1em;border-left:3px solid var(--accent);font-style:italic}
.col blockquote cite{display:block;font:400 var(--step--1) var(--mono);font-style:normal;color:var(--muted);margin-top:.3em}
.src{display:inline-block;font:500 .72rem/1.2 var(--mono);color:var(--muted);border:1px solid var(--rule);border-radius:3px;padding:1px 5px;margin:0 2px;vertical-align:.12em;white-space:nowrap;text-decoration:none;font-style:normal}
a.src:hover{color:var(--accent);border-color:var(--accent)}
.tag{display:inline-block;font:600 .68rem/1 var(--mono);letter-spacing:.07em;text-transform:uppercase;padding:4px 6px;border-radius:2px;vertical-align:.15em;font-style:normal}
.tag.pewne{background:var(--ok);color:#fff}.tag.prawd{background:var(--warn);color:#fff}.tag.nie{border:1px solid var(--rule);color:var(--ink)}
aside.note{border:1px dashed var(--accent);border-radius:var(--radius);padding:12px 16px;margin:1.4em 0;background:color-mix(in oklch,var(--accent) 6%,transparent)}
aside.note h4{margin:0 0 .3em;font:600 .78rem var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}
aside.note p{margin:0}
.tablewrap{overflow-x:auto;margin:1.2em 0}
table.data{border-collapse:collapse;width:100%;font-size:.93em}
table.data th,table.data td{text-align:left;vertical-align:top;padding:8px 10px;border-bottom:1px solid var(--rule)}
table.data th{font:600 .75rem var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
table.data td:first-child{white-space:nowrap}
ul.tree,ul.tree ul{list-style:none;margin:0;padding-left:1.2em;border-left:1px solid var(--rule)}
ul.tree{padding-left:.4em}
ul.tree li{position:relative;padding:.25em 0 .25em .9em}
ul.tree li::before{content:"";position:absolute;left:-1px;top:1.05em;width:.8em;border-top:1px solid var(--rule)}
.side{font-size:var(--step--1);color:var(--muted);display:grid;gap:14px;align-content:start;position:sticky;top:80px}
@media (max-width:960px){.side{position:static}}
.side h2{font:600 .78rem var(--mono);letter-spacing:.08em;text-transform:uppercase;margin:0;color:var(--ink)}
.side ul{margin:0;padding-left:18px;display:grid;gap:4px}
.card{background:var(--panel);border:1px solid var(--rule);border-radius:var(--radius);padding:16px}

/* stopka */
.foot{border-top:1px solid var(--rule);font:400 .85rem/1.5 var(--sans);color:var(--muted)}
.foot .in{max-width:1200px;margin:0 auto;padding:22px var(--gut);display:flex;flex-wrap:wrap;gap:8px 28px;justify-content:space-between}
.foot a{color:inherit}

/* scrollytelling */
.story{max-width:1200px;margin:0 auto;padding:0 var(--gut) 80px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,560px);gap:clamp(20px,4vw,56px)}
.story .map{position:sticky;top:70px;height:calc(100vh - 90px);min-height:420px;border:2px solid var(--ink);border-radius:2px;overflow:hidden;background:#fff}
.story .map .stage{position:absolute;inset:0;transform-origin:0 0;transition:transform 1.1s cubic-bezier(.3,.7,.2,1)}
.story .map img{position:absolute;left:0;top:0;width:100%;height:auto;display:block}
.story .map svg{position:absolute;left:0;top:0;width:100%;height:auto;overflow:visible}
.story .map .cap{position:absolute;left:10px;bottom:10px;z-index:2;font:500 .72rem var(--mono);background:rgba(255,255,255,.88);color:#221E17;padding:4px 8px;border-radius:2px}
.story .steps{padding-block:12vh 30vh}
.story .step{margin:0 0 42vh;padding:18px 20px;background:var(--panel);border:1px solid var(--rule);border-left:4px solid var(--rule);border-radius:var(--radius);transition:border-color .3s}
.story .step.on{border-left-color:var(--accent)}
.story .step h3{margin-top:0}
.pt{fill:#A3212B;stroke:#fff;stroke-width:3}
.pt.on{fill:#FFD23F;stroke:#A3212B}
.ptl{font:700 30px var(--sans);fill:#221E17;paint-order:stroke;stroke:#fff;stroke-width:8px}
.route{fill:none;stroke:#1D5FA8;stroke-width:8;stroke-dasharray:4 12;stroke-linecap:round;opacity:0;transition:opacity .6s}
.route.on{opacity:1}
@media (max-width:900px){.story{grid-template-columns:1fr}.story .map{top:58px;height:46vh}.story .step{margin-bottom:60vh}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

/* reveal przy przewijaniu (tylko gdy wspierane; stan spoczynkowy widoczny) */
@supports (animation-timeline: view()){
  @media (prefers-reduced-motion:no-preference){
    .reveal{animation:rv linear both;animation-timeline:view();animation-range:entry 0% entry 40%}
    @keyframes rv{from{opacity:.25;transform:translateY(18px)}to{opacity:1;transform:none}}
  }
}

/* atlas */
.atlas{max-width:1200px;margin:0 auto;padding:0 var(--gut) 60px;display:grid;gap:36px}
.place h2{font-size:var(--step-2);margin:0 0 4px}
.place p{margin:0 0 14px;color:var(--muted);max-width:70ch}
.maps{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px}
.mapc{display:grid;grid-template-rows:auto 1fr;background:var(--panel);border:1px solid var(--rule);border-radius:var(--radius);overflow:hidden;text-decoration:none;color:var(--ink)}
.mapc img{aspect-ratio:4/3;object-fit:cover;width:100%;filter:sepia(.15)}
.mapc div{padding:10px 12px;display:grid;gap:2px}
.mapc b{font:700 1.5rem/1 var(--type)}
.mapc span{font-size:.9rem}
.mapc small{font:500 .72rem var(--mono);color:var(--muted)}
.mapc:hover{border-color:var(--accent)}
.viewer{height:min(78vh,900px);background:#ddd;border:2px solid var(--ink)}
.compare{position:relative;max-width:900px;aspect-ratio:var(--ar);border:2px solid var(--ink);overflow:hidden;touch-action:pan-y;user-select:none}
.compare img{position:absolute;inset:0;width:100%;height:100%;object-fit:fill}
.compare .top{clip-path:inset(0 calc(100% - var(--x,50%)) 0 0)}
.compare .h{position:absolute;top:0;bottom:0;left:var(--x,50%);width:2px;background:#A3212B}
.compare .h b{position:absolute;top:50%;left:0;transform:translate(-50%,-50%);background:#fff;color:#221E17;border:2px solid #221E17;border-radius:999px;padding:6px 10px;font:600 .8rem var(--mono);white-space:nowrap}
.compare .lab{position:absolute;top:10px;font:600 .78rem var(--mono);background:rgba(255,255,255,.9);color:#221E17;padding:3px 8px}
.compare .l{left:10px}.compare .r{right:10px}

/* 1977 */
.bento{max-width:1200px;margin:0 auto;padding:0 var(--gut) 60px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}
.tile{grid-column:span 2;background:var(--panel);border:1px solid var(--rule);border-radius:16px;padding:22px;display:grid;gap:8px;align-content:start;container-type:inline-size}
.tile.wide{grid-column:span 4}.tile.full{grid-column:1/-1}
.tile h3{margin:0;font:800 1.3rem/1.2 var(--sans);letter-spacing:-.02em}
.tile .k{font:500 .75rem var(--mono);color:var(--accent);letter-spacing:.06em;text-transform:uppercase}
.tile p{margin:0;color:var(--muted)}
.tile a.go{justify-self:start;margin-top:6px;font-weight:600;text-decoration:none;border-bottom:2px solid var(--accent)}
@media (max-width:900px){.tile,.tile.wide{grid-column:1/-1}}
form.contact{display:grid;gap:12px;max-width:560px}
form.contact label{display:grid;gap:4px;font-weight:600;font-size:.95rem}
form.contact input,form.contact textarea{font:inherit;padding:10px 12px;border:1px solid var(--rule);border-radius:8px;background:var(--panel);color:var(--ink)}
form.contact button{justify-self:start;font:600 1rem var(--sans);padding:12px 20px;border:0;border-radius:999px;background:var(--accent);color:#fff;cursor:pointer}
.hp{position:absolute;left:-5000px}
@media (max-width:700px){
  .bar{position:static}
  .bar .in{gap:10px}
  .nav{order:3;width:100%;margin-left:0;overflow-x:auto;flex-wrap:nowrap;white-space:nowrap;padding-bottom:4px;scrollbar-width:none}
  .theme{margin-left:auto}
  .story .map{top:0;height:44vh}
}

figure.photo,figure.scan{margin:1.6em 0}
figure.photo img,figure.scan img{display:block;width:100%;height:auto;border:1px solid var(--rule);border-radius:var(--radius);filter:sepia(.15)}
figure.photo{max-width:460px}
figure.photo figcaption,figure.scan figcaption{font-size:.88rem;line-height:1.45;margin-top:.5em;opacity:.85}
ol.path{list-style:none;margin:.6em 0 0;padding:0;counter-reset:p;display:grid;gap:.55em}
ol.path li{position:relative;padding-left:2.2em}
ol.path li::before{counter-increment:p;content:counter(p);position:absolute;left:0;top:.05em;width:1.5em;height:1.5em;border-radius:50%;display:grid;place-items:center;font:600 .75rem var(--mono);background:var(--accent);color:#fff}
blockquote.lead-quote{font-size:1.18em;margin:1.2em 0}
.lead-note{font-size:.95rem;line-height:1.6;margin:1.1em 0 0;padding-left:14px;border-left:3px solid var(--rule);color:var(--muted)}
.lead-note a{color:inherit}
.tile.feat{background:linear-gradient(135deg,color-mix(in oklch,var(--accent) 12%,var(--panel)),var(--panel));border-color:color-mix(in oklch,var(--accent) 40%,var(--rule))}
.tile.feat h3{font-size:clamp(1.3rem,2.6vw,1.9rem)}
ul.chips{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
ul.chips li{font:500 .8rem var(--mono);padding:4px 10px;border:1px solid var(--rule);border-radius:999px;background:var(--panel)}
.gos{display:flex;flex-wrap:wrap;gap:18px}
ol.how{padding-left:1.3em}ol.how li{margin:.6em 0}
a.btn{display:inline-block;padding:10px 18px;border-radius:999px;background:var(--accent);color:#fff;text-decoration:none;font-weight:600}
.timeline{margin:1.4em 0 2em}
.tl-stage{position:relative;aspect-ratio:1600/1525;max-width:100%;border:2px solid var(--ink);overflow:hidden;background:#eee}
.tl-stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;opacity:0;transition:opacity .6s ease}
.tl-stage img.on{opacity:1}
.tl-bar{display:flex;gap:10px;align-items:center;margin-top:10px;flex-wrap:wrap}
.tl-years{display:flex;flex-wrap:wrap;gap:6px}
.tl-bar button{font:600 .82rem var(--mono);padding:6px 10px;border:1px solid var(--ink);background:var(--panel);color:var(--ink);border-radius:999px;cursor:pointer}
.tl-bar button[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:#fff}
.tl-play{min-width:44px}
.tl-caps p{margin:.6em 0 0;font-size:.95rem}
@media (prefers-reduced-motion:reduce){.tl-stage img{transition:none}}
table.evidence td:first-child{white-space:normal;width:27%;font-weight:600}
table.evidence td:last-child{width:18%}

/* Odświeżenie 2026: współczesny album rodzinny. */
:root{--p-ground:#f7f5ef;--p-panel:#fffdf8;--p-rule:#ddd8cb;--p-muted:#655f53;--radius:16px;--measure:64ch;--step-3:clamp(2.6rem,2rem + 3.2vw,5rem)}
html{scroll-padding-top:110px}
.w1907{font-size:clamp(1.12rem,1.05rem + .3vw,1.25rem);line-height:1.75}
.w1977{background-image:radial-gradient(ellipse at 90% 0%,color-mix(in srgb,var(--accent) 8%,transparent),transparent 55%)}
.bar{backdrop-filter:blur(18px)}
.bar .in{max-width:1360px;padding-block:18px;gap:16px}
.brand{letter-spacing:-.035em;font-size:1.18rem}
.brand small{letter-spacing:0}
.nav{font-size:.82rem;gap:4px 14px}
.nav a{padding-block:9px}
.worlds a{padding:9px 12px}
.theme{width:44px;height:44px;flex-shrink:0}
.hero{padding-top:clamp(48px,8vw,100px);padding-bottom:44px}
.hero h1{max-width:20ch;margin:.3em 0 .4em;letter-spacing:-.035em}
.eyebrow,.w1907 .eyebrow{font:600 .72rem/1.5 var(--sans);letter-spacing:.16em}
.w1907 .desc{font-style:normal;font-family:var(--sans);font-size:clamp(1rem,.95rem + .35vw,1.22rem);line-height:1.7;max-width:68ch}
.prose{gap:clamp(28px,5vw,72px);padding-bottom:90px}
.col h2{letter-spacing:-.025em;margin-top:1.8em}
.col blockquote{padding:24px 28px;border-left:3px solid var(--accent);background:var(--panel);border-radius:0 16px 16px 0}
.col blockquote p:last-of-type{margin-bottom:0}
.col blockquote cite{margin-top:16px;line-height:1.6;font-size:.72rem}
.card{padding:24px;border-radius:16px}
.side{gap:20px;top:110px;font-family:var(--sans);font-size:.87rem;line-height:1.8}
.side h2{font-family:var(--sans);margin-bottom:15px}
.side ul{list-style:none;padding:0;gap:0}
.side li+li{border-top:1px solid var(--rule)}
.side li a{display:block;padding:10px 0;text-decoration:none;color:var(--ink)}
.side li a:hover{color:var(--accent)}
.src{white-space:normal;line-height:1.45;border-color:transparent;background:color-mix(in srgb,var(--muted) 7%,transparent);border-radius:5px;padding:3px 6px}
aside.note{border-style:solid;border-color:var(--rule);padding:22px;background:var(--panel)}
.story .map{border:1px solid var(--rule);border-radius:18px;box-shadow:0 20px 60px #0000000d;top:100px;height:calc(100vh - 125px)}
.story .step{padding:28px;border-radius:16px;border-left-width:3px}
.story .step h3{font-size:var(--step-2);line-height:1.2;letter-spacing:-.02em}
.mapc{transition:transform .2s,box-shadow .2s}
.mapc div{padding:20px;gap:8px}
.mapc:hover{transform:translateY(-4px);box-shadow:0 14px 30px #00000012}
.tile{padding:30px;gap:14px;border-radius:22px}
.tile .k{font-family:var(--sans);letter-spacing:.12em}
.tile p{font-size:1rem;line-height:1.75}
.tile a.go{padding-block:10px}
a.btn{padding:13px 22px}
.foot{background:var(--panel)}
.foot .in{padding-block:35px;line-height:1.8}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){--p-ground:#14171c;--p-panel:#1b1f25;--p-rule:#343a43;--p-muted:#b9b2a4}}
:root[data-theme="dark"]{--p-ground:#14171c;--p-panel:#1b1f25;--p-rule:#343a43;--p-muted:#b9b2a4}
@media(max-width:960px){.side{position:static}.story .map{top:100px}}
@media(max-width:700px){
 .bar .in{padding-block:12px}.brand{font-size:1rem}.brand small{font-size:.65rem}
 .nav{gap:20px}.hero{padding-top:38px;padding-bottom:30px}.hero h1{font-size:clamp(2.4rem,9vw,3.5rem)}
 .story .map{top:12px;height:42vh;min-height:240px}.story .step{padding:20px}
 .col blockquote{padding:20px}.tile{padding:24px}.foot .in{padding-block:26px}
}

/* Brama: tło przenika między epokami, treść pozostaje czytelna. */
.wgate{background:#f7f5ef;color:#20251f}
.cinematic{position:relative;isolation:isolate;overflow:hidden;height:100svh;min-height:740px;padding:30px clamp(24px,5vw,80px) 25px;background:#111d28;color:#fff;--accent:#ead1a4}
.era-background{position:absolute;inset:0;z-index:-2;pointer-events:none}
.future{background:radial-gradient(ellipse at 100% 20%,#27476e 0,transparent 58%),linear-gradient(130deg,#0b1723,#132539)}
.future::after{content:"";position:absolute;inset:0;background-image:linear-gradient(#ffffff06 1px,transparent 1px),linear-gradient(90deg,#ffffff06 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(90deg,transparent,#000)}
.past{clip-path:inset(0 calc(100% - var(--x)) 0 0);background:linear-gradient(90deg,#18231fd9,#18231fd0),url('../img/gate_wig1931.webp') center/cover;z-index:-1}
.gate-top{display:flex;align-items:center;justify-content:space-between;gap:20px;position:relative;z-index:3}
.gate-top a{color:#eceee9;text-decoration:none;font-size:.78rem}
.gate-brand{display:flex;align-items:center;gap:14px;font:600 1.8rem Georgia,serif!important;letter-spacing:-.05em}
.gate-brand span{font:600 .65rem var(--sans);letter-spacing:.2em;border-left:1px solid #ffffff40;padding-left:14px}
.gate-kicker{font:600 .65rem/1.6 var(--sans);letter-spacing:.24em;color:#d3c6ad;margin:0 0 22px}
.era-label{font:600 .62rem var(--sans);letter-spacing:.2em;color:#c6c9c7}
.hd{position:absolute;top:80px;bottom:78px;left:clamp(30px,var(--x),calc(100% - 30px));z-index:3;pointer-events:none}
.hd::before{content:"";position:absolute;width:1px;top:0;bottom:0;background:linear-gradient(transparent,#ffffff35,transparent)}
.kn{position:absolute;top:74%;left:0;transform:translate(-50%,-50%);width:68px;height:68px;border:1px solid #fff;border-radius:50%;background:#ece7dc;color:#182631;display:grid;place-content:center;text-align:center;cursor:ew-resize;touch-action:none;pointer-events:auto;box-shadow:0 0 0 8px #ffffff0a,0 15px 40px #0004}
.kn>span{font-size:18px;line-height:1}.kn b{font:500 .6rem var(--mono);margin-top:4px}.kn small{position:absolute;top:66px;left:50%;transform:translateX(-50%);white-space:nowrap;font:.55rem var(--sans);letter-spacing:.06em;color:#cbd2d4}
.gate-bottom{max-width:1100px;margin:auto;display:flex;justify-content:space-between;font:500 .6rem var(--sans);letter-spacing:.15em;color:#bbc4c7}
.gate-bottom a{color:inherit;text-decoration:none}
.discover{max-width:1260px;margin:auto;padding:85px var(--gut) 45px}
.discover-heading{display:flex;justify-content:space-between;gap:25px;align-items:end;margin-bottom:36px}
.discover-heading h2{font:400 clamp(2.2rem,3.5vw,3.5rem)/1.1 var(--serif);letter-spacing:-.035em;margin:10px 0 0}
.discover-heading>p{font:.86rem/1.8 var(--sans);color:#60665f}
.discovery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:22px}
.discovery-card{border:1px solid #dddcd4;border-radius:4px;color:#20251f;text-decoration:none;overflow:hidden;background:#eeece4;transition:transform .25s}
.discovery-card:hover{transform:translateY(-5px)}
.discovery-card>img,.tree-art,.journal-art{display:flex;width:100%;height:220px;object-fit:cover}
.discovery-card>div:last-child{padding:25px;background:#fffdf8}
.discovery-card>div:last-child>span{font:600 .6rem var(--sans);letter-spacing:.15em;color:#68715e}
.discovery-card h3{font:400 1.85rem var(--serif);margin:12px 0 8px}
.discovery-card p{font:.8rem/1.7 var(--sans);margin:0;color:#5d645b}
.tree-art{flex-direction:column;align-items:center;justify-content:center;background:#dce2d7;font:500 .65rem var(--sans);letter-spacing:.2em;gap:15px}
.tree-art span{border:1px solid #687761;padding:12px 24px}.tree-art i{height:30px;border-left:1px solid #687761}
.journal-art{align-items:center;justify-content:center;flex-direction:column;font:400 2.5rem/1 var(--serif);background:#e6d9c0;color:#60533d;border:20px solid #ece3d2}
.gate-source{font:.72rem/1.8 var(--sans);color:#62685e;margin-top:30px}.gate-source a{color:inherit}
@media(max-width:700px){
 .cinematic{padding:22px 24px;min-height:0}.gate-brand span{font-size:.55rem}.gate-top>a:last-child{font-size:.65rem;max-width:17ch;text-align:right}
 .gate-kicker{font-size:.52rem;letter-spacing:.16em}.gate-bottom{font-size:.48rem;letter-spacing:.05em}
 .discover{padding-top:50px}.discover-heading{display:block}.discover-heading>p br{display:none}.discovery-grid{grid-template-columns:1fr}.discovery-card>img,.tree-art,.journal-art{height:190px}
}

/* Każda warstwa suwaka jest kompletnym światem, nie samym tłem. */
.scene{position:absolute;inset:0;isolation:isolate;overflow:hidden}
.scene-now{z-index:0;background:#101f35}
.scene-history{z-index:1;clip-path:inset(0 calc(100% - var(--x)) 0 0);background:#14251e}
.scene .era-background{z-index:-1}
.scene .past{clip-path:none;background:linear-gradient(180deg,#17251fc9,#14221fe8),url('../img/gate_wig1931.webp') center/cover}
.scene .future{background:radial-gradient(ellipse at 90% 45%,#244776,transparent 65%),#0e1a2c}
.scene-heading{position:absolute;inset:21% 0 auto;text-align:center;pointer-events:none;z-index:1}
.scene-heading .gate-kicker{font-size:.58rem;letter-spacing:.23em;margin-bottom:26px;color:#e1d6bd}
.scene-heading .scene-title{font:400 clamp(5rem,10vw,9.3rem)/.86 var(--serif);letter-spacing:-.055em;margin:0;color:#f2e7d1;view-transition-name:none}
.scene-now .scene-title{font-family:var(--sans);font-weight:600;font-size:clamp(4.5rem,9vw,8.4rem);line-height:.96;color:#f0f5ff;letter-spacing:-.075em}
.scene-date{font:500 1.34rem var(--mono);letter-spacing:.05em;margin:27px 0 0;color:#dfcaa6}
.scene-now .scene-date{color:#a8caff}
.scene-caption{position:absolute;bottom:95px;max-width:38%;width:390px;z-index:2}
.history-caption{left:clamp(24px,5vw,80px)}
.now-caption{right:clamp(24px,5vw,80px);text-align:right}
.scene-caption p{font:400 1.05rem/1.75 var(--sans);color:#e6eae7;margin:15px 0 24px}
.scene-door{color:#f4ead8;text-decoration:none;font:600 .93rem var(--sans);display:inline-flex;align-items:center;gap:35px;padding:15px 20px;border:1px solid #b8ad9766;border-radius:3px;background:#14211bb3}
.scene-door span{font-size:1.15rem}.scene-door:hover{background:#f4ead8;color:#17251f}
.scene-now .scene-door{border-radius:999px;background:#b9d3ff;color:#10203a;border-color:#b9d3ff}
.scene-now .scene-door:hover{background:#fff}
.scene-number{position:absolute;bottom:185px;left:4%;font:400 clamp(6rem,13vw,12rem) var(--serif);color:#ffffff08;pointer-events:none}
.scene-now .scene-number{left:auto;right:4%;font-family:var(--sans);font-weight:800}
.gate-top{z-index:4}.gate-bottom{position:absolute;left:clamp(24px,5vw,80px);right:clamp(24px,5vw,80px);bottom:28px;max-width:none;z-index:4;align-items:center;gap:10px}
.gate-bottom button{color:#e4e9e7;background:#162733;border:1px solid #ffffff3b;border-radius:999px;min-height:40px;padding:8px 15px;font:500 .67rem var(--sans);cursor:pointer}
.gate-bottom button:hover,.gate-bottom button[aria-pressed="true"]{background:#e8dfcf;color:#18231f}
.hd::before{background:linear-gradient(transparent,#f7eedcaf,transparent)}
.kn b{font-size:.75rem}.kn>span{font-size:24px}.kn small{top:81px;color:#eff1ef;font-size:.78rem;background:#152530db;padding:6px 9px;border-radius:999px}
.scene-orbit{position:absolute;width:600px;height:600px;right:-180px;top:0;transform:rotate(-25deg);pointer-events:none}
.scene-orbit i{position:absolute;inset:0;border:1px solid #86b7ff26;border-radius:50%}.scene-orbit i:nth-child(2){inset:70px}.scene-orbit i:nth-child(3){inset:140px}.scene-orbit::after{content:"";position:absolute;top:105px;left:90px;width:8px;height:8px;border-radius:50%;background:#b9d3ff;box-shadow:0 0 25px #85b6ff}
@media(max-width:700px){
 .cinematic{height:100svh;min-height:790px;padding:22px 24px}.scene-heading{top:21%}.scene-heading .gate-kicker{font-size:.45rem;letter-spacing:.1em;margin-bottom:24px}.scene-heading .scene-title{font-size:clamp(5rem,21vw,8rem)}.scene-now .scene-title{font-size:clamp(4.5rem,19vw,7.2rem)}.scene-date{font-size:.85rem;margin-top:24px}
 .scene-caption{max-width:42%;bottom:100px}.scene-caption p{font-size:.75rem;line-height:1.7;margin:10px 0 18px}.scene-caption p br{display:none}.era-label{font-size:.48rem;letter-spacing:.08em}.scene-door{padding:12px 10px;font-size:.66rem;gap:10px}.scene-door span{font-size:1rem}
 .kn{width:54px;height:54px;top:49%}.kn small{top:67px;font-size:.5rem}.hd{top:90px;bottom:80px;left:clamp(27px,var(--x),calc(100% - 27px))}.gate-bottom{bottom:22px;left:18px;right:18px}.gate-bottom>span{max-width:14ch;text-align:center;font-size:.44rem;line-height:1.6}.gate-bottom button{font-size:.58rem;padding:7px 10px}.scene-number{bottom:190px}.scene-orbit{width:450px;height:450px;right:-270px}
}
.scene-heading .scene-date{position:absolute;top:-10px;left:5%;margin:0;text-align:left}
.scene-now .scene-heading .scene-date{left:auto;right:5%;text-align:right}
@media(max-width:700px){.scene-heading .scene-date{top:-38px;font-size:.75rem}.kn{top:62%}}
.chapter-nav ol{margin:0;padding-left:1.25em}.chapter-nav li{padding:3px 0}.chapter-nav li a{font-size:.8rem;padding:5px 0}.chapter-nav li+li{border:0}
@media(max-width:700px){.bar .in{gap:8px}.brand{gap:5px;font-size:.9rem}.brand small{font-size:.58rem}.worlds{font-size:.72rem}.worlds a{padding:8px 10px}.theme{width:36px;height:36px;margin-left:auto}.nav{font-size:.78rem}}
.chapter-trail{max-width:1200px;width:100%;margin:0 auto;padding:30px var(--gut) 60px;display:flex;justify-content:space-between;gap:25px;border-top:1px solid var(--rule)}
.chapter-trail a{display:grid;gap:8px;color:var(--ink);text-decoration:none}.chapter-trail a:last-child{text-align:right;margin-left:auto}.chapter-trail small{font:500 .65rem var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.chapter-trail span{font:500 1.7rem var(--serif)}
.story .step h2{font:600 var(--step-2)/1.15 var(--serif);letter-spacing:-.02em;margin-top:0}
.history-opening{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);align-items:center;gap:clamp(35px,6vw,85px);padding-top:65px;padding-bottom:70px}.history-opening h1{font-size:clamp(2.8rem,4.8vw,4.8rem)}.history-opening figure{margin:0;max-width:390px;justify-self:end;transform:rotate(1deg);padding:12px;background:var(--panel);border:1px solid var(--rule);box-shadow:0 18px 60px #00000014}.history-opening img{display:block;width:100%;height:auto}.history-opening figcaption{font:.67rem/1.7 var(--sans);padding:10px 4px 1px;color:var(--muted)}.history-opening figcaption a{color:inherit}
@media(max-width:700px){.history-opening{grid-template-columns:1fr;padding-top:35px;gap:35px}.history-opening figure{justify-self:center;max-width:300px;transform:none}.history-opening h1{font-size:2.7rem}}
ul.cv{list-style:none;margin:.4em 0 0;padding:0;display:grid;gap:0}
ul.cv li{display:grid;grid-template-columns:8.5em 1fr;gap:14px;padding:10px 0;border-top:1px solid var(--rule)}
ul.cv li:first-child{border-top:0}
ul.cv b{font:600 .82rem var(--mono);color:var(--accent);padding-top:.15em}
ul.cv span{font-weight:600}
ul.cv small{display:block;font-weight:400;color:var(--muted);margin-top:3px;font-size:.92rem}
@media (max-width:560px){ul.cv li{grid-template-columns:1fr;gap:2px}}
/* drzewo-wachlarz */
.fanbox{--la:var(--p-red);--lf:#2F5D8A;margin:1.2em 0 2em}
:root[data-theme="dark"] .fanbox{--lf:#7FA6D6}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .fanbox{--lf:#7FA6D6}}
.fan-tools{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.fan-tools button{font:600 .8rem var(--mono);padding:6px 12px;border:1px solid var(--ink);background:var(--panel);color:var(--ink);border-radius:999px;cursor:pointer}
.fan-tools button[aria-pressed="true"]{background:var(--ink);color:var(--ground)}
.fanscroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.fan{display:block;width:100%;min-width:640px;height:auto}
.fan .fp path{fill:color-mix(in oklch,var(--ink) 7%,var(--panel));stroke:var(--ground);stroke-width:1.5;transition:fill .3s,opacity .3s}
.fan .g0 path{fill:color-mix(in oklch,var(--ink) 22%,var(--panel))}
.fan .g1 path{fill:color-mix(in oklch,var(--ink) 14%,var(--panel))}
.fan .fp{cursor:pointer;outline:none}
.fan .fp:hover path,.fan .fp:focus-visible path{fill:color-mix(in oklch,var(--accent) 25%,var(--panel))}
.fan .fp.sel path{stroke:var(--ink);stroke-width:2.5}
.fan .c-pr path{stroke:var(--ink);stroke-width:1.2;stroke-dasharray:5 4}
.fan text{fill:var(--ink);font:500 12px var(--sans);text-anchor:middle;dominant-baseline:middle;pointer-events:none}
.fan .ft0{font:700 15px var(--serif)}.fan .ft1{font:700 13px var(--sans)}.fan .ft2{font-size:11px}
.fanbox[data-mode="a"] .fp[data-l~="a"] path,.fanbox[data-mode="af"] .fp[data-l~="a"] path{fill:var(--la)}
.fanbox[data-mode="f"] .fp[data-l~="f"] path,.fanbox[data-mode="af"] .fp[data-l~="f"] path{fill:var(--lf)}
.fanbox[data-mode="af"] .g0 path{fill:color-mix(in oklch,var(--la) 50%,var(--lf))}
.fanbox[data-mode="a"] .fp[data-l~="a"] text,.fanbox[data-mode="f"] .fp[data-l~="f"] text,.fanbox[data-mode="af"] .fp[data-l~="a"] text,.fanbox[data-mode="af"] .fp[data-l~="f"] text{fill:#fff}
.fanbox[data-mode="a"] .fp:not([data-l~="a"]),.fanbox[data-mode="f"] .fp:not([data-l~="f"]){opacity:.45}
.fan-card{margin-top:10px;padding:12px 16px;border:1px solid var(--rule);border-radius:var(--radius);background:var(--panel);min-height:4.5em}
.fan-card b{display:block;font:600 1.05rem var(--sans)}.fan-card p{margin:.3em 0 0;color:var(--muted)}
.fan-l{font-weight:700}.fan-l.a{color:var(--p-red)}.fan-l.f{color:#2F5D8A}
/* schemat pokrewieństwa */
.kin{display:grid;gap:10px;margin:1.2em 0 1.6em}
.kin-top{text-align:center;padding:12px;border-radius:var(--radius);background:color-mix(in oklch,var(--ink) 10%,var(--panel));border:1px solid var(--rule)}
.kin b{display:block}.kin small{display:block;color:var(--muted);font-size:.82rem;line-height:1.35}
.kin-row{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center}
.kin-p{padding:10px 12px;border-radius:var(--radius);background:var(--panel);border:1px solid var(--rule);border-left:4px solid var(--p-red)}
.kin-p.f{border-left-color:#2F5D8A}
.kin-p.me{background:color-mix(in oklch,var(--accent) 10%,var(--panel))}
.kin-rel{font:600 .72rem var(--mono);text-transform:uppercase;letter-spacing:.05em;color:var(--muted);text-align:center;max-width:9em}
.kin-rel.strong{color:var(--accent)}
@media (max-width:560px){.kin-row{grid-template-columns:1fr 1fr}.kin-rel{grid-column:1/-1;grid-row:1;max-width:none}}
.story .map .zoomui{position:absolute;right:10px;top:10px;z-index:3;display:grid;gap:6px}
.story .map .zoomui button{width:38px;height:38px;border-radius:10px;border:1px solid #221E17;background:rgba(255,255,255,.92);color:#221E17;font:600 1.15rem/1 var(--sans);cursor:pointer;box-shadow:0 2px 8px #0002}
.story .map .zoomui button:hover{background:#fff}.story .map .zoomui button[aria-pressed="true"]{background:#221E17;color:#fff}
blockquote.ref{margin:.8em 0 0;padding:12px 16px;border-left:3px solid var(--accent);background:color-mix(in oklch,var(--ink) 4%,var(--panel));border-radius:0 var(--radius) var(--radius) 0}
blockquote.ref p{margin:0;font-style:italic}
blockquote.ref cite{display:block;margin-top:.4em;font:500 .82rem var(--mono);font-style:normal;color:var(--muted)}
.ref-note{margin-top:.8em;font-size:.9rem;color:var(--muted)}

/* ============================================================
   2026-09-13 — czytelność, archiwum fotografii, przeglądarka skanów
   Kolejność: 1) drobny tekst  2) menu na telefonie
   3) fotografie i metryczki  4) duży widok (viewer)  5) wydruk
   ============================================================ */

/* 1) drobny tekst — nikt nie powinien mrużyć oczu -------------- */
.src{font-size:.9rem;line-height:1.5;padding:2px 7px}
.tag{font-size:.78rem;padding:4px 8px;letter-spacing:.06em}
.eyebrow,.w1907 .eyebrow{font-size:.84rem;letter-spacing:.13em}
.nav{font-size:.96rem;gap:6px 18px}
.side{font-size:.98rem}
.col blockquote cite{font-size:.9rem}
figure.photo figcaption,figure.scan figcaption{font-size:.98rem;line-height:1.6;opacity:1;color:var(--muted)}
.history-opening figcaption{font-size:.92rem;line-height:1.6}
.mapc small,.fotoc small{font-size:.86rem}
.foot .in{font-size:.95rem}
a.meta-link{white-space:nowrap;font-size:.92rem;color:var(--accent);text-decoration:underline;text-underline-offset:2px}

/* 2) menu na telefonie ---------------------------------------- */
.navtoggle{display:none;margin-left:auto;font:600 1rem var(--sans);background:none;color:var(--ink);
  border:1px solid var(--rule);border-radius:999px;padding:9px 16px;cursor:pointer;min-height:44px}
.navtoggle:hover{border-color:var(--accent);color:var(--accent)}
@media(max-width:860px){
  .navtoggle{display:inline-flex;align-items:center;gap:8px}
  .bar .nav{display:none;order:9;flex:0 0 100%;flex-direction:column;gap:0;margin:10px 0 4px;
    border-top:1px solid var(--rule)}
  .bar .nav.open{display:flex}
  .bar .nav a{padding:14px 2px;border-bottom:1px solid var(--rule);font-size:1.05rem}
}
@media(max-width:860px){.worlds{font-size:.9rem}.worlds a{padding:10px 14px}}

/* 3) fotografie i metryczki ----------------------------------- */
button.zoomable{display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in;position:relative;border-radius:var(--radius)}
button.zoomable img{display:block;width:100%;height:auto;border:1px solid var(--rule);border-radius:var(--radius)}
button.zoomable .zoom-hint{position:absolute;right:10px;bottom:10px;font:600 .82rem var(--sans);
  background:color-mix(in srgb,var(--ink) 78%,transparent);color:var(--ground);padding:6px 11px;border-radius:999px;
  opacity:0;transition:opacity .18s}
button.zoomable:hover .zoom-hint,button.zoomable:focus-visible .zoom-hint{opacity:1}
figure.photo.big{max-width:none}
figure.photo.big button.zoomable img{max-height:72vh;width:auto;margin:0 auto}

dl.metryczka{display:grid;gap:0;margin:1.6em 0;border:1px solid var(--rule);border-radius:var(--radius);overflow:hidden;background:var(--panel)}
dl.metryczka>div{display:grid;grid-template-columns:minmax(150px,22%) 1fr;gap:0}
dl.metryczka>div+div{border-top:1px solid var(--rule)}
dl.metryczka dt{padding:13px 18px;font:600 .92rem/1.5 var(--sans);color:var(--muted);background:color-mix(in srgb,var(--rule) 22%,transparent)}
dl.metryczka dd{margin:0;padding:13px 18px;font-size:1rem;line-height:1.6}
dl.metryczka ul.osoby{margin:0;padding-left:1.1em}
dl.metryczka ul.osoby li{margin:.25em 0}
dl.metryczka small{color:var(--muted)}
p.note-inline{margin:.8em 0 0;font-size:.98rem;line-height:1.6;padding:12px 16px;border-left:3px solid var(--warn);background:color-mix(in srgb,var(--warn) 7%,transparent);border-radius:0 8px 8px 0}
@media(max-width:640px){dl.metryczka>div{grid-template-columns:1fr}dl.metryczka dt{padding-bottom:2px;background:none}dl.metryczka dd{padding-top:2px}}

.fotos{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:22px;margin:1.4em 0 2.4em}
a.fotoc{display:flex;flex-direction:column;text-decoration:none;color:inherit;border:1px solid var(--rule);
  border-radius:var(--radius);overflow:hidden;background:var(--panel);transition:transform .2s,box-shadow .2s}
a.fotoc:hover{transform:translateY(-3px);box-shadow:0 14px 30px #00000014}
a.fotoc img{display:block;width:100%;height:200px;object-fit:cover;object-position:center 28%}
a.fotoc div{padding:16px 18px;display:flex;flex-direction:column;gap:5px}
a.fotoc b{font:600 1.02rem/1.35 var(--sans)}
a.fotoc small{color:var(--muted)}
section.album{margin:2.4em 0}
ul.tematy{list-style:none;padding:0}
ul.tematy li{padding:11px 0;border-top:1px solid var(--rule);line-height:1.7}

/* 4) duży widok skanu i zdjęcia -------------------------------- */
html.viewer-on{overflow:hidden}
.viewer-ov{position:fixed;inset:0;z-index:200;display:flex;flex-direction:column;
  background:rgba(10,12,15,.97);backdrop-filter:blur(6px);color:#f2efe6}
.viewer-ov[hidden]{display:none}
.viewer-bar{background:rgba(10,12,15,.9);display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px clamp(10px,2vw,22px);
  border-bottom:1px solid #ffffff1f;flex-wrap:wrap}
.viewer-pos{font:600 .95rem var(--sans);opacity:.85}
.viewer-tools{display:flex;gap:8px;margin-left:auto;flex-wrap:wrap}
.viewer-tools button{min-width:44px;min-height:44px;padding:0 14px;font:600 1rem var(--sans);cursor:pointer;
  background:#ffffff14;color:#f2efe6;border:1px solid #ffffff33;border-radius:999px}
.viewer-tools button:hover{background:#ffffff24}
.viewer-tools button:focus-visible{outline:3px solid #ffd79a;outline-offset:2px}
.viewer-close{background:#ffffff26 !important}
.viewer-stage{flex:1;min-height:0;overflow:hidden;display:grid;place-items:center;touch-action:none;cursor:default}
.viewer-stage.can-pan{cursor:grab}
.viewer-stage.grab{cursor:grabbing}
.viewer-stage:focus-visible{outline:3px solid #ffd79a;outline-offset:-3px}
.viewer-stage img{transform-origin:center center;max-width:none;max-height:none;will-change:transform;user-select:none;-webkit-user-drag:none}
.viewer-cap{margin:0;padding:12px clamp(10px,2vw,22px) 16px;font:400 1rem/1.55 var(--sans);
  background:rgba(10,12,15,.92);border-top:1px solid #ffffff1f}
@media(max-width:640px){.viewer-tools button{padding:0 11px}.viewer-cap{font-size:.95rem}}
@media(prefers-reduced-motion:reduce){.viewer-stage img{transition:none}}

/* 5) wydruk ---------------------------------------------------- */
@media print{
  .bar,.navtoggle,.worlds,.theme,.viewer-ov,.chapter-trail,.side,.zoom-hint,.gate,.discover{display:none !important}
  body{background:#fff;color:#000;font-size:11pt}
  .prose{display:block;padding-bottom:0}
  .col{max-width:none}
  a{color:#000;text-decoration:underline}
  .src{border:0;background:none;padding:0;font-size:9pt}
  figure.photo,figure.scan,dl.metryczka{break-inside:avoid}
  dl.metryczka{border:1px solid #999}
  button.zoomable{cursor:default}
}

/* 6) atlas: opisane sterowanie mapą ---------------------------- */
.viewer-box{position:relative;background:var(--panel);border-radius:var(--radius);overflow:hidden}
.viewer-box:fullscreen{border-radius:0}
.viewer-box:fullscreen .viewer{height:calc(100vh - 74px)}
.map-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;border-top:1px solid var(--rule)}
.map-tools button{min-height:44px;min-width:44px;padding:0 15px;font:600 1rem var(--sans);cursor:pointer;
  background:var(--ground);color:var(--ink);border:1px solid var(--rule);border-radius:999px}
.map-tools button:hover{border-color:var(--accent);color:var(--accent)}
.map-note{flex:1 1 260px;margin:0;font-size:.92rem;line-height:1.5;color:var(--muted)}
.viewer.fallback{display:grid;place-items:center;padding:10px}
.atlas-how{margin-bottom:2em}

/* ── 2026-09-13 — brama: kto jest kim, czytelność na telefonie, wejście bez przeciągania ── */
/* Sam rok nie wystarcza nowemu czytelnikowi: pod nazwiskiem mówimy wprost, kogo dotyczy dana strona suwaka. */
/* Przy szwie suwaka dwa wyśrodkowane napisy nachodziłyby na siebie — każdy trzyma się swojej krawędzi, jak daty. */
.scene-who{position:absolute;top:18px;left:5%;margin:0;text-align:left;font:600 1.14rem/1.5 var(--sans);letter-spacing:.02em;color:#efe4cd}
.scene-now .scene-who{left:auto;right:5%;text-align:right}
.scene-now .scene-who{color:#cfe0ff}
/* Gałka suwaka: żadnego zmyślonego roku pośredniego — tylko strzałka i uczciwy opis pod spodem. */
.kn>span{font-size:26px}
/* Etykieta musi mieć własną szerokość: gałka ma 68 px i inaczej łamie się na cztery wiersze. */
.kn small{top:74px;width:max-content;max-width:min(62vw,240px);white-space:normal;text-align:center;font:500 .72rem/1.45 var(--sans);letter-spacing:0;color:#f2f4f2;background:#152530e8;padding:7px 12px;border-radius:14px}
/* Dwa duże wejścia dla każdego, kto nie chce (albo nie może) przeciągać suwaka. */
.gate-entries{display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:1260px;margin:auto;padding:26px var(--gut) 0}
.gate-entries a{display:grid;gap:5px;padding:20px 22px;border:1px solid #d6d4cb;border-radius:6px;background:#fffdf8;color:#20251f;text-decoration:none;min-height:44px}
.gate-entries a:hover,.gate-entries a:focus-visible{background:#f1ede2;border-color:#a9a498}
.gate-entries a:nth-child(2){background:#eef3fb;border-color:#ccd8e8}
.gate-entries a:nth-child(2):hover,.gate-entries a:nth-child(2):focus-visible{background:#e2ebf7}
.ge-era{font:600 .72rem var(--sans);letter-spacing:.14em;color:#6a7265}
.gate-entries strong{font:500 1.35rem var(--serif)}
.gate-entries a:nth-child(2) strong{font-family:var(--sans);font-weight:600;font-size:1.2rem}
.gate-entries small{font:.85rem/1.55 var(--sans);color:#5d645b}
@media(max-width:700px){
 .gate-entries{grid-template-columns:1fr;padding-top:20px}
 /* Na telefonie napisy w scenach były ~9 px — po prostu nieczytelne. */
 .tylko-szeroko{display:none}
 .scene-caption{max-width:44%;bottom:92px}
 .scene-caption p{font-size:.84rem;line-height:1.6;margin:9px 0 16px}
 .era-label{font-size:.62rem;letter-spacing:.06em}
 .scene-who{top:-14px;font-size:.78rem}
 .scene-door{padding:12px 12px;font-size:.74rem}
 .gate-bottom>span{display:none}
 .gate-bottom{justify-content:space-between;gap:8px}
 .gate-bottom button{font-size:.74rem;padding:9px 14px;min-height:44px}
 .kn small{font-size:.68rem;top:64px}
}

/* Brama: to samo podniesienie rozmiarów, co na reszcie strony — na telefonie nic nie schodzi poniżej ~11 px. */
.gate-kicker{font-size:.74rem;letter-spacing:.2em}
.scene-heading .gate-kicker{font-size:.88rem;letter-spacing:.2em}
.era-label{font-size:.88rem;letter-spacing:.16em}
.gate-brand span{font-size:.82rem}
.gate-top a{font-size:.95rem}
.gate-bottom{font-size:.82rem}
.gate-bottom button{font-size:.88rem;min-height:44px;padding:10px 18px}
.discovery-card>div:last-child>span{font-size:.72rem}
.discovery-card p{font-size:.9rem;line-height:1.75}
.discover-heading>p{font-size:.94rem}
.tree-art{font-size:.75rem}
.gate-source{font-size:.86rem}
@media(max-width:700px){
 .gate-kicker{font-size:.7rem;letter-spacing:.12em}
 .scene-heading{top:25%}
 .scene-heading .gate-kicker{font-size:.7rem;letter-spacing:.1em;margin-bottom:20px}
 .era-label{font-size:.72rem;letter-spacing:.06em}
 .gate-brand span{font-size:.7rem}
 .gate-top>a:last-child{font-size:.76rem;max-width:16ch}
 .kn small{font-size:.72rem}
 .ge-era{font-size:.72rem}
}

/* ── 2026-09-13 — zagroda jako śledztwo, pamięć rodzinna ── */
/* Argumenty za i przeciw oraz dziennik ustaleń: lista definicji czytana jak notatnik badacza. */
dl.zaprzeciw,dl.dziennik{margin:1.2em 0 1.6em;padding:0}
dl.zaprzeciw dt,dl.dziennik dt{font:600 1.02rem var(--sans);margin-top:1.1em;padding-top:.9em;border-top:1px solid var(--rule)}
dl.zaprzeciw dt:first-child,dl.dziennik dt:first-child{margin-top:0;padding-top:0;border-top:0}
dl.zaprzeciw dd,dl.dziennik dd{margin:.45em 0 0;padding-left:0;font-size:1rem;line-height:1.75;color:var(--ink)}
dl.dziennik dt{font-family:var(--mono);font-size:.95rem;color:var(--accent)}
dl.dziennik dt em{font-style:italic}
.note.czytaj-tak{border-left-width:4px}
.podpis{font:500 1rem var(--serif);color:var(--muted);margin-top:-.4em}
.podpis::before{content:"— "}
@media(max-width:560px){dl.zaprzeciw dt,dl.dziennik dt{font-size:.98rem}}
/* Tabela, której pierwsza kolumna jest zdaniem, musi się zawijać — inaczej kolumna „pewność” ucieka poza ekran. */
table.data.wrap td:first-child{white-space:normal}

/* ── 2026-09-13 — świat 1977: ProstaLista na pierwszym planie ── */
.pl-hero{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(240px,.9fr);gap:clamp(20px,4vw,44px);align-items:start}
.pl-hero>div>p{margin:0 0 14px}
.pl-co{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:9px}
.pl-co li{position:relative;padding-left:26px;font-size:1rem;line-height:1.6;color:var(--ink)}
.pl-co li::before{content:"✓";position:absolute;left:0;top:0;font-weight:700;color:var(--accent)}
.pl-stan{font-size:.95rem}
/* Schemat, nie zrzut ekranu: nie udajemy wyglądu aplikacji, pokazujemy zasadę działania. */
.pl-schemat{margin:0;background:var(--ground);border:1px solid var(--rule);border-radius:14px;padding:18px}
.alejki{list-style:none;counter-reset:a;margin:0;padding:0;display:grid;gap:8px}
.alejki li{counter-increment:a;display:grid;grid-template-columns:auto 1fr;gap:4px 12px;align-items:baseline;padding:9px 12px;background:var(--panel);border:1px solid var(--rule);border-radius:9px}
.alejki li::before{content:counter(a);font:700 .85rem var(--mono);color:var(--accent);grid-row:span 2}
.alejki b{font:700 .98rem var(--sans)}
.alejki span{font-size:.9rem;color:var(--muted);grid-column:2}
.pl-schemat figcaption{margin-top:12px;font:.86rem/1.6 var(--sans);color:var(--muted)}
@media(max-width:900px){.pl-hero{grid-template-columns:1fr}}

/* Przełącznik światów: nazwa nad rokiem, żeby nowy czytelnik wiedział, dokąd trafia. */
.worlds a{display:grid;justify-items:center;gap:1px;line-height:1.15;padding:7px 14px;min-height:44px;align-content:center}
.worlds a span{font:600 .72rem var(--sans);letter-spacing:.04em}
.worlds a b{font:500 .86rem var(--mono);font-weight:500}
@media(max-width:700px){.worlds a{padding:6px 11px}.worlds a span{font-size:.68rem}.worlds a b{font-size:.8rem}}
/* navtoggle do lewej, żeby pasek czytał się od lewej krawędzi */
@media(max-width:860px){.navtoggle{margin-right:auto}}
/* Mapa opowieści: kursor i gest przeciągania włączają się dopiero, gdy jest co przesuwać. */
.story .map.pannable{cursor:grab;touch-action:pan-y}  /* palcem przesuwamy w poziomie, w pionie zostaje przewijanie strony */
.story .map.pannable.grabbing{cursor:grabbing}
.story .map.grabbing .stage{transition:none}

/* Porównanie map: uchwyt musi dać się złapać palcem, a linia ma 2 px — poszerzamy sam obszar dotyku. */
.compare .h{cursor:ew-resize;touch-action:none}
.compare .h::after{content:"";position:absolute;top:0;bottom:0;left:-23px;width:48px}
.compare .h b{min-width:44px;min-height:44px;display:grid;place-content:center;font-size:1rem;box-shadow:0 6px 18px #0003}
.compare.dragging{cursor:ew-resize}
.compare .lab{font-size:.86rem;padding:5px 10px}

/* ── 2026-09-13 — kontrast: znaczniki pewności i przyciski muszą być czytelne także w trybie ciemnym ── */
:root{--ok:#1A5F33; --warn:#8F5809; --on-accent:#fff}
:root[data-theme="dark"]{--on-accent:#101720}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--on-accent:#101720}}
/* W ciemnym motywie akcent jest jasny, więc napis na nim musi być ciemny, nie biały. */
.tag.pewne,.tag.prawd{color:var(--on-accent)}
a.btn,form.contact button{color:var(--on-accent)}
/* Dolna część bramy jest zawsze jasna — nie może dziedziczyć kolorów tekstu z trybu ciemnego. */
.wgate{--ink:#20251f;--muted:#5c6357;--panel:#fffdf8;--ground:#f7f5ef;--rule:#dddcd4}
.ge-era{color:#5c6357}
/* Podpowiedź „Powiększ" leży na zdjęciu — potrzebuje mocniejszego tła niż 78%. */
button.zoomable .zoom-hint{background:color-mix(in srgb,var(--ink) 92%,transparent)}
/* Legenda wachlarza: kolor linii ojca też musi się rozjaśniać w ciemnym motywie. */
.fan-l.a{color:var(--la,#A3212B)}
.fan-l.f{color:var(--lf,#2F5D8A)}
/* Legenda stoi w akapicie obok wachlarza, nie w środku .fanbox — kolory definiujemy więc globalnie. */
:root{--la:#A3212B;--lf:#2F5D8A}
:root[data-theme="dark"]{--la:#F06A60;--lf:#7FA6D6}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--la:#F06A60;--lf:#7FA6D6}}

/* ── 2026-09-13 — skala odstępów ──────────────────────────────────────────
   Dotąd każdy blok miał własny margines dobrany na oko. Tu jest jedna skala
   (4 / 8 / 12 / 20 / 32 / 52 / 84 px) i wspólny rytm dla bloków w treści:
   figura, tabela, cytat, ramka i lista definicji trzymają ten sam odstęp.   */
:root{--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:20px;--sp-5:32px;--sp-6:52px;--sp-7:84px}
.col figure:not(.zmap),.col .tablewrap,.col blockquote,.col .note,.col dl.zaprzeciw,.col dl.dziennik,.col ul.cv,.col .fanbox{margin-block:var(--sp-5)}
.col h2{margin-top:var(--sp-6)}
.col h3{margin-top:var(--sp-5)}
.col h2+h3,.col h2+p,.col h3+p,.col h2+ul,.col h3+ul{margin-top:var(--sp-3)}
.col>p+p{margin-top:var(--sp-4)}
.col .note+.note{margin-top:var(--sp-4)}

/* Klucz do mapy zagrody: nie wersaliki, tylko czytelna lista z próbkami kolorów. */
.mapkey{margin-top:14px;font:1rem/1.65 var(--sans);color:var(--ink)}
.mapkey>b{display:block;font:600 .95rem var(--sans);letter-spacing:.02em;color:var(--muted);text-transform:uppercase;margin-bottom:8px}
.mapkey ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.mapkey li{display:grid;grid-template-columns:22px 1fr;gap:10px;align-items:start}
.mapkey p{margin:12px 0 0;font-size:.95rem;color:var(--muted)}
.sw{display:block;width:16px;height:16px;margin-top:.25em;border-radius:3px}
.sw.dom{background:#A3212B;border:2px solid #fff;box-shadow:0 0 0 1px #A3212B}
.sw.kand{background:#E8A317;border:2px solid #221E17}
.sw.kos{background:#1D5FA8;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #1D5FA8}
.sw.strefa{background:rgba(163,33,43,.13);border:2px dashed #A3212B;border-radius:50%}

/* ── 2026-09-13 — ProstaLista: prawdziwe zrzuty ekranu zamiast schematu ── */
.pl-zrzut{margin:0}
.pl-zrzut button.zoomable img{border:0;border-radius:14px;box-shadow:0 12px 40px #0002}
.pl-zrzut figcaption{margin-top:10px;font:.86rem/1.6 var(--sans);color:var(--muted)}
.pl-galeria{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin:1em 0 1.6em}
.pl-galeria figure{margin:0}
.pl-galeria img{border-radius:12px}
.pl-galeria figcaption{font:.88rem/1.5 var(--sans);color:var(--muted);margin-top:8px}
.pl-wideo{margin:1em 0 1.6em}
.pl-wideo video{display:block;max-width:300px;width:100%;height:auto;border-radius:18px;background:#000}
.pl-wideo figcaption{font:.88rem/1.5 var(--sans);color:var(--muted);margin-top:8px}

/* 13 IX 2026 — dopasowanie CORONA do AMS (widżet .dop na stronie zagrody i wersja pełnoekranowa) */
.dop{border:2px solid var(--ink);background:#2a2620;color:#f2ede4;font:.92rem/1.4 var(--sans)}
.dop-vp{position:relative;height:min(72vh,900px);overflow:hidden;touch-action:none;cursor:grab;background:#3a352d;outline:none}
.dop-vp:focus-visible{box-shadow:inset 0 0 0 3px var(--accent)}
.dop-vp.moving{cursor:grabbing}.dop-vp[data-mode=photo]{cursor:move}
.dop-world{position:absolute;left:0;top:0;width:1800px;height:2594px;transform-origin:0 0;will-change:transform}
.dop-world img{position:absolute;left:0;top:0;width:1800px;height:2594px;max-width:none;user-select:none;-webkit-user-drag:none;pointer-events:none}
.dop-layer{transform-origin:900px 1297px;will-change:transform}
.dop-world svg{position:absolute;left:0;top:0;width:1800px;height:2594px;pointer-events:none}
.dop-kand{fill:none;stroke:#E0202A;stroke-width:5}
.dop-lbl text{font:700 40px var(--sans);fill:#E0202A;paint-order:stroke;stroke:#fff;stroke-width:8px}
.dop-all{fill:none;stroke:#ff9f1a;stroke-width:3}.dop-all text{font:700 30px var(--sans);fill:#ff9f1a;stroke:#000;stroke-width:5px;paint-order:stroke}
.dop-hint{position:absolute;left:10px;top:10px;background:rgba(0,0,0,.6);color:#fff;padding:4px 9px;font:.8rem var(--mono);pointer-events:none}
.dop-bar{padding:12px 14px;display:grid;grid-template-columns:1fr 1fr;gap:8px 18px}
.dop-bar label{display:grid;grid-template-columns:110px 1fr 62px;gap:8px;align-items:center;font-weight:600}
.dop-bar input[type=range]{width:100%;margin:0;accent-color:#E0202A}
.dop-bar output{font:.85rem var(--mono);text-align:right}
.dop-row{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.dop-lab{opacity:.8;margin-right:2px}
.dop-bar button{background:#3d3830;color:#f2ede4;border:1px solid #7a7060;border-radius:6px;padding:7px 11px;font:inherit;min-height:40px;min-width:40px;cursor:pointer}
.dop-bar button.on{background:#E0202A;border-color:#E0202A;color:#fff}
.dop-bar button:focus-visible{outline:3px solid #fff;outline-offset:1px}
.dop-fs{margin-left:auto;color:#fff;font-weight:600}
.dop-out{grid-column:1/-1;margin:0;font:.8rem/1.5 var(--mono);color:#d8d0c2;user-select:all;word-break:break-word}
@media (max-width:640px){.dop-bar{grid-template-columns:1fr}.dop-bar label{grid-template-columns:88px 1fr 54px}.dop-vp{height:min(62vh,640px)}}
body.dop-page{margin:0;background:#2a2620}
body.dop-page .dop-full{border:0;min-height:100vh;display:grid;grid-template-rows:1fr auto}
body.dop-page .dop-full .dop-vp{height:auto;min-height:55vh}
.dop-back{margin:0;padding:10px 14px;background:#2a2620}.dop-back a{color:#f2ede4}
.dop-all[hidden]{display:none}
/* 13 IX 2026 — Okolica z góry (trzy warstwy w OpenSeadragon) */
.ok-panel{display:grid;gap:8px;padding:12px}
.ok-layers{display:grid;gap:6px}
.ok-row{display:grid;grid-template-columns:170px 1fr 52px;gap:10px;align-items:center;font-weight:600}
.ok-row input[type=range]{width:100%;margin:0;accent-color:var(--accent)}
.ok-row output{font:.85rem var(--mono);text-align:right}
.ok-quick{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.ok-lab{opacity:.75;margin-right:4px}
.ok-panel button.on{background:var(--accent);color:#fff;border-color:var(--accent)}
.ok-out{font:.85rem var(--mono);margin-left:6px}
.ok-pin{display:flex;align-items:center;gap:4px;pointer-events:none;transform:translateY(-50%)}
.ok-pin i{width:10px;height:10px;border-radius:50%;background:#E0202A;border:2px solid #fff;box-shadow:0 0 0 1px #E0202A;flex:none}
.ok-pin b{font:600 12px var(--sans);color:#fff;background:rgba(34,30,23,.78);padding:2px 6px;border-radius:4px;white-space:nowrap}
#okolica.no-names .ok-pin{display:none}
.ok-box:fullscreen{display:grid;grid-template-rows:1fr auto;background:var(--panel)}
.ok-box:fullscreen .viewer{height:auto}
.ok-tease{border:2px solid var(--ink);padding:18px 20px}
@media (max-width:640px){.ok-row{grid-template-columns:110px 1fr 46px}.ok-panel .map-tools button,.ok-panel button{min-height:40px}}
/* 13 IX 2026 — przycisk trybu jasny/ciemny nie może spadać do drugiej linii: pasek nie zawija się, zawija się samo menu */
@media(min-width:861px){.bar .in{flex-wrap:nowrap}.nav{flex:1 1 auto;min-width:0;justify-content:flex-end}.theme,.brand,.worlds{flex-shrink:0}.brand{white-space:nowrap}}
@media(min-width:861px){.nav{gap:4px 12px;font-size:.8rem}}
@media(min-width:1400px){.bar .in{max-width:1560px}}
.dop-marks{position:absolute;left:0;top:0;width:1800px;height:2594px;pointer-events:none;transform-origin:900px 1297px}
.dop-mark{position:absolute;--z:1;width:calc(26px*var(--z));height:calc(26px*var(--z));margin:calc(-13px*var(--z)) 0 0 calc(-13px*var(--z));border-radius:50%;border:calc(3px*var(--z)) solid #1D5FA8;background:rgba(29,95,168,.25);color:#fff;font:700 calc(13px*var(--z))/1 var(--sans);display:grid;place-content:center;box-shadow:0 0 0 calc(1px*var(--z)) #fff}
.dop-mark.p{border-color:#E8A317;background:rgba(232,163,23,.25);border-radius:4px}
.dop-vp[data-pts="1"]{cursor:crosshair}
.dop-msg{flex-basis:100%;font-size:.9rem;color:#ffd7a0;min-height:1.2em}

/* --- Osadnicy: spisy imienne i wyszukiwarka nazwisk --- */
.szukaj{border:1px solid var(--rule);border-radius:6px;padding:16px 18px;background:var(--panel);margin:22px 0}
.szukaj label{display:block;font:500 .86rem/1.5 var(--sans);color:var(--muted);margin-bottom:8px}
.szukaj input{width:100%;box-sizing:border-box;font:400 1.05rem var(--sans);padding:11px 13px;min-height:44px;
  border:1px solid var(--rule);border-radius:4px;background:var(--ground);color:var(--ink)}
.szukaj input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.szukaj .wynik{margin:10px 0 0;font:500 .88rem/1.55 var(--sans);color:var(--accent);min-height:1.3em}
details.wies{border:1px solid var(--rule);border-radius:6px;margin:10px 0;background:var(--panel)}
details.wies>summary{cursor:pointer;padding:13px 16px;min-height:44px;box-sizing:border-box;
  font:400 1rem/1.4 var(--sans);display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline}
details.wies>summary b{font-weight:600}
details.wies>summary span{color:var(--muted);font-size:.82rem}
details.wies[open]>summary{border-bottom:1px solid var(--rule)}
details.wies.filtr{border-color:var(--accent)}
.wies-in{padding:6px 16px 16px}
.wies-in h4{margin:14px 0 6px;font:600 .76rem var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--accent)}
ol.spis{columns:2 16em;column-gap:26px;margin:8px 0;padding-left:1.7em;font:400 .94rem/1.75 var(--sans)}
ol.spis li{break-inside:avoid}
ol.spis li.hit{background:var(--accent);color:var(--ground);border-radius:3px;padding:0 4px;margin-left:-4px}
.wies-in .zrodlo{margin:14px 0 0;font:400 .82rem/1.6 var(--sans);color:var(--muted)}
@media(max-width:560px){ol.spis{columns:1}}

/* --- Mapka osadnictwa na Dolnym Śląsku --- */
.mapa-osad{margin:24px 0 8px}
.mapa-osad-in{border:1px solid var(--rule);border-radius:6px;background:var(--panel);padding:10px;overflow-x:auto;-webkit-overflow-scrolling:touch}
.mapa-osad svg{display:block;width:100%;height:auto;min-width:900px}
.mapa-osad .przesun{display:none;margin:6px 0 0;font:500 .8rem var(--sans);color:var(--muted)}
.mapa-osad.przewija .przesun{display:block}
.os-pt circle{fill:var(--accent);fill-opacity:.24;stroke:var(--accent);stroke-width:1.4}
.os-pt.duza circle{fill-opacity:.42;stroke-width:1.8}
.os-pt.klik{cursor:pointer}
.os-pt.klik circle{stroke-dasharray:none}
.os-pt.klik:hover circle,.os-pt.klik:focus-visible circle{fill-opacity:.75;stroke-width:2.6}
.os-pt.wybrana circle{fill-opacity:.85;stroke-width:3}
.os-ref rect{fill:var(--os-miasto);fill-opacity:.35;stroke:var(--os-miasto);stroke-width:1.6}
.os-lab{font:400 15px var(--sans);fill:var(--ink);paint-order:stroke;stroke:var(--panel);stroke-width:4px;stroke-linejoin:round}
.os-lead{stroke:var(--muted);stroke-width:1;opacity:.55}
.os-lab.duza{font-weight:600;font-size:16px}
.os-lab.ref{fill:var(--os-miasto);font-size:13.5px;letter-spacing:.06em;text-transform:uppercase}
.os-kresy path{fill:none;stroke:var(--accent);stroke-width:1.6;stroke-dasharray:7 5;opacity:.8}
.os-kresy marker path,.os-kresy path[marker-end]{opacity:.8}
#os-grot path{fill:var(--accent)}
.os-kresy text{font:500 14px var(--sans);fill:var(--accent)}
.os-skala line{stroke:var(--muted);stroke-width:1.3}
.os-skala text{font:400 12.5px var(--sans);fill:var(--muted)}
.mapa-osad figcaption{margin-top:10px;font:400 .84rem/1.65 var(--sans);color:var(--muted)}


/* --- Strona „Dokąd trafili łukowianie”: szeroka kolumna dla mapy i spisów, --- */
/* --- ale sam tekst dalej w komfortowej mierze, żeby wiersze nie były za długie. --- */
@media(min-width:961px) and (max-width:1379px){.prose.szeroka{grid-template-columns:1fr}}
@media(min-width:1380px){
  .prose.szeroka{max-width:1640px;grid-template-columns:minmax(0,1fr) minmax(0,300px)}
}
@media(min-width:961px){
  .prose.szeroka>.col>p,.prose.szeroka>.col>h2,.prose.szeroka>.col>h3,
  .prose.szeroka>.col>aside,.prose.szeroka>.col>.szukaj{max-width:var(--measure)}
}
.os-lab.podpis{font-size:13px;fill:var(--os-miasto);letter-spacing:0;text-transform:none;font-weight:600}
.os-legenda rect{fill:var(--ground);stroke:var(--rule);stroke-width:1}
.os-legenda .os-pt circle,.os-legenda .os-ref rect{stroke-width:1.6}
.os-legenda text{font:400 14px var(--sans);fill:var(--ink);stroke:none}
.os-legenda text.tyt{font-weight:600;font-size:14.5px;letter-spacing:.06em;text-transform:uppercase}
.os-legenda text.miasto{fill:var(--os-miasto);font-weight:500}
.os-legenda text.mniej{font-size:12.5px;fill:var(--muted)}
.os-nota rect{fill:var(--ground);stroke:var(--rule);stroke-width:1}
.os-nota text{font:400 14px var(--sans);fill:var(--muted)}
.os-nota text.tyt{font-weight:600;fill:var(--ink);font-size:14.5px;letter-spacing:.06em;text-transform:uppercase}
.os-rzeka path{fill:none;stroke:var(--os-miasto);stroke-width:5;stroke-opacity:.28;stroke-linecap:round;stroke-linejoin:round}
.os-rzeka text{font:400 14px var(--sans);fill:var(--os-miasto);opacity:.75;letter-spacing:.14em}
aside.note.odautora{border-left-color:var(--accent);background:var(--panel)}
aside.note.odautora p{margin:0}

/* --- Cytat na bramie, po stronie dziadka: mówi wprost, po co ta strona jest --- */
.scene-cytat{position:absolute;top:46%;left:clamp(24px,5vw,80px);width:min(430px,34%);margin:0;
  padding:0 0 0 18px;border-left:2px solid #d9c29b7a;z-index:2}
.scene-cytat p{margin:0;font:400 1.12rem/1.7 var(--serif);color:#f1e7d3}
.scene-cytat cite{display:block;margin-top:13px;font:500 .84rem var(--sans);font-style:normal;
  letter-spacing:.03em;color:#cdbda0}
.scene-cytat cite a{color:#e6d9ba;text-decoration:none;border-bottom:1px solid #e6d9ba55}
.scene-cytat cite a:hover{color:#fff;border-bottom-color:#fff}
@media(max-width:1000px),(max-height:740px){.scene-cytat{display:none}}

/* --- Kafel „Okolica z góry” na stronach o Łukowcu i o zagrodzie --- */
.okcard{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:0;margin:var(--sp-5) 0;
  border:1px solid var(--rule);border-radius:6px;overflow:hidden;background:var(--panel);
  color:var(--ink);text-decoration:none;transition:transform .2s,box-shadow .2s}
.okcard:hover,.okcard:focus-visible{transform:translateY(-3px);box-shadow:0 14px 40px #00000018;border-color:var(--accent)}
.okcard>img{display:block;width:100%;height:100%;object-fit:cover;min-height:190px}
.okcard>div{padding:22px 24px;display:flex;flex-direction:column;justify-content:center;gap:2px}
.okcard .k{font:600 .72rem var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.okcard h3{margin:8px 0 6px;font:600 1.32rem/1.3 var(--serif)}
.okcard p{margin:0;font:400 .92rem/1.65 var(--sans);color:var(--muted)}
.okcard .go{margin-top:14px;font:600 .9rem var(--sans);color:var(--accent)}
@media(max-width:620px){.okcard{grid-template-columns:1fr}.okcard>img{min-height:0;aspect-ratio:1400/1009}}
