/* Zeitband: Zeitatlas als Chronologie. Tokens aus style.css. */
.zb-section{position:relative;padding-block:var(--section-gap);background:linear-gradient(180deg,var(--background) 0,#0a1216 30%,var(--background) 100%)}
.zb-section:before{content:'';position:absolute;inset:0;background:radial-gradient(60% 40% at 70% 20%,rgba(142,219,211,.06),transparent 70%),radial-gradient(40% 30% at 15% 80%,rgba(239,179,107,.05),transparent 70%);pointer-events:none}
.zb-section .wrap{position:relative}
.zb-section .section-head p:not(.eyebrow){max-width:40ch}
.zb-nojs{padding:1rem;background:var(--paper);font-size:.9rem;color:var(--muted)}
.zb{display:grid;grid-template-columns:minmax(0,1fr) 22rem;gap:2.5rem;align-items:start}
.zb-band{user-select:none;touch-action:pan-y;--lbl:9.5rem}
.zb-stage{position:relative;padding-bottom:3.4rem}
.zb-axis{position:relative;height:2.2rem;margin-left:var(--lbl);font:700 .62rem var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.zb-axis span{position:absolute;bottom:.5rem;transform:translateX(-50%);white-space:nowrap}
.zb-axis span:before{content:'';position:absolute;left:50%;bottom:-.55rem;width:1px;height:.4rem;background:var(--line)}
.zb-rows{display:grid;gap:.45rem}
.zb-row{position:relative;display:grid;grid-template-columns:var(--lbl) 1fr;align-items:stretch;cursor:crosshair}
.zb-lbl{display:grid;align-content:center;padding-right:1rem;border-right:1px solid var(--line);cursor:pointer;min-height:5.4rem}
.zb-lbl b{font:700 1.5rem/1 var(--display);text-transform:uppercase;transition:color .3s}
.zb-lbl span{font-size:.68rem;color:var(--muted);letter-spacing:.06em}
.zb-track{position:relative;overflow:hidden;border-radius:.5rem;background:#0c1417;min-height:5.4rem}
.zb-track img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 60%;opacity:.9;transition:filter .5s,opacity .5s}
.zb-veil{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,9,11,.35),rgba(7,9,11,.1) 40%,rgba(7,9,11,.35))}
.zb-out{position:absolute;top:0;bottom:0;background:rgba(7,9,11,.9);background-image:repeating-linear-gradient(135deg,transparent 0 6px,rgba(240,245,245,.035) 6px 7px);backdrop-filter:grayscale(1) blur(2px);-webkit-backdrop-filter:grayscale(1) blur(2px)}
.zb-out-l{left:0}.zb-out-r{right:0}
.zb-seg{position:absolute;top:0;bottom:0;border-left:1px solid rgba(240,245,245,.28)}
.zb-era{position:absolute;left:0;bottom:0;padding:.5rem .8rem;font:700 .74rem/1.2 var(--body);color:var(--text);text-shadow:0 1px 8px rgba(0,0,0,.9);display:flex;gap:.6rem;align-items:center;transition:opacity .3s}
.zb-era:before{content:'';width:.45rem;height:.45rem;border-radius:50%;background:var(--accent);box-shadow:0 0 12px var(--accent)}
.zb-era:empty{display:none}
.zb-row.dead .zb-track img{filter:grayscale(1) brightness(.35)}
.zb-row.dead .zb-era{opacity:.35}.zb-row.dead .zb-era:before{background:var(--muted);box-shadow:none}
.zb-row.dead .zb-lbl b{color:var(--muted)}
.zb-row.live .zb-lbl b{color:var(--primary)}
.zb-row.live .zb-track{box-shadow:0 0 0 1px rgba(239,179,107,.55),0 0 30px -8px rgba(239,179,107,.5)}
.zb-row.focus .zb-lbl{border-right-color:var(--primary)}
.zb-lbl:hover b{color:var(--text)}
.zb-windows{display:none;list-style:none;margin:0;padding:0}
.zb-head{position:absolute;top:0;bottom:3.4rem;left:var(--lbl);width:2px;background:var(--primary);transform:translateX(-1px);pointer-events:none;z-index:3;box-shadow:0 0 18px rgba(239,179,107,.8)}
.zb-head:before{content:'';position:absolute;top:-2.2rem;left:50%;transform:translateX(-50%);border:8px solid transparent;border-top:12px solid var(--primary)}
.zb-head output{position:absolute;bottom:-3.2rem;left:50%;transform:translateX(-50%);font:700 2.6rem/1 var(--display);color:var(--primary);white-space:nowrap;font-variant-numeric:tabular-nums}
.zb-range{position:absolute;left:var(--lbl);right:0;top:-2.4rem;width:calc(100% - var(--lbl));height:2.2rem;margin:0;opacity:0;cursor:ew-resize}
.zb-range:focus-visible{opacity:1;accent-color:var(--primary);outline-offset:0}
.zb-jumps{display:flex;gap:.5rem;flex-wrap:wrap;margin:.4rem 0 0 var(--lbl)}
.zb-jumps button{background:none;border:1px solid var(--line);color:var(--muted);border-radius:2rem;padding:.45rem .9rem;min-height:40px;font:700 .72rem var(--body);letter-spacing:.04em}
.zb-jumps button:hover,.zb-jumps button[aria-pressed=true]{border-color:var(--primary);color:var(--primary)}
.zb-note{margin:1rem 0 0 var(--lbl);font-size:.74rem;color:var(--muted);max-width:70ch}
.js .zb-windows{display:none}
html:not(.js) .zb-windows{display:grid;gap:.2rem;grid-column:1/-1;padding:.5rem 0 .8rem;font-size:.8rem;color:var(--muted)}
html:not(.js) .zb-windows b{color:var(--text);font-weight:600;margin-right:.4rem}
html:not(.js) .zb-track img{filter:none}

.zb-side{position:sticky;top:1.5rem;display:grid;gap:1rem}
.zb-map{position:relative;border:1px solid var(--line);border-radius:1rem;overflow:hidden;background:rgba(17,29,36,.45);aspect-ratio:2/1.15}
.zb-map svg{width:100%;height:100%;display:block}
.zb-land{fill:#17262d;stroke:none}
.zb-pt{fill:var(--muted);r:3;transition:fill .3s,r .3s}
.zb-pt.on{fill:var(--primary);r:5}
.zb-halo{fill:none;stroke:var(--primary);stroke-width:1;opacity:0}
.zb-halo.on{opacity:.8;animation:zb-halo 2.4s ease-out infinite}
@keyframes zb-halo{0%{r:5;opacity:.8}100%{r:22;opacity:0}}
.zb-maplbl{position:absolute;left:.9rem;top:.7rem;font:700 .6rem var(--body);letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.zb-focus{border:1px solid var(--line);border-radius:1rem;overflow:hidden;background:rgba(17,29,36,.45)}
.zb-focus img{width:100%;aspect-ratio:16/9;object-fit:cover}
.zb-cap{font-size:.62rem;color:var(--muted);padding:.4rem 1.3rem 0;letter-spacing:.04em;line-height:1.5}
.zb-in{padding:1rem 1.3rem 1.4rem}
.zb-k{font:700 .62rem var(--body);letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-bottom:.5rem}
.zb-in h3{font-size:2.2rem;margin:0 0 .2rem}
.zb-in h4{font:800 .95rem var(--body);color:var(--primary);margin:0 0 .5rem}
.zb-in h4:empty{display:none}
.zb-in p{font-size:.88rem;color:var(--muted);line-height:1.55}
.zb-in .source-inline{display:inline-block;margin-bottom:.4rem}
.zb-in .button{min-height:2.7rem;font-size:.82rem;gap:.7rem;margin-top:.6rem}
.zb-in p:last-child{margin:0}

@media(max-width:1100px){.zb{grid-template-columns:1fr}.zb-side{position:static;grid-template-columns:1fr 1fr}}
@media(max-width:760px){
 .zb-band{--lbl:5.4rem}.zb-lbl,.zb-track{min-height:4.2rem}.zb-lbl b{font-size:1rem}.zb-lbl span{display:none}.zb-era{font-size:.62rem}
 .zb-axis span:nth-child(odd),.zb-axis span:nth-child(4){display:none}
 .zb-head output{font-size:2rem}
 .zb-side{grid-template-columns:1fr}
 .zb-jumps,.zb-note{margin-left:0}
}
@media(prefers-reduced-motion:reduce){.zb-halo.on{animation:none;opacity:.5;r:12}}
@media(forced-colors:active){.zb-out{background:Canvas;opacity:.85}.zb-head{background:Highlight}.zb-row.live .zb-track{outline:2px solid Highlight}.zb-jumps button{border:1px solid ButtonText}.zb-land{fill:CanvasText}.zb-pt.on{fill:Highlight}}
