/* this slide escapes the 1400px page column: full-width, symmetric padding, stage centred by auto margins */
.slide-page:has(.ch-line){max-width:none;padding:1rem 1.5rem 0}
.slide-page h1.ch-title{font-size:clamp(1.1rem,1.7vw,1.5rem);margin:0 0 .2rem}
.ch-line{position:relative;margin:.6rem auto 0;width:100%;max-width:1800px;overflow:visible}
.ch-stage{position:relative;transform-origin:top left}
.ch-stage__svg{position:absolute;inset:0;overflow:visible}
.ch-thick{fill:var(--fg);opacity:.85}
.ch-cards .ch-card__media iframe{width:100%;height:100%;border:0;pointer-events:none}
.ch-tick{stroke:var(--fg);stroke-width:1.5}
.ch-ticklabel{font:500 24px var(--font-body);fill:var(--fg)}
.ch-ticklabel tspan.sup{font-size:15px}
.ch-axis-title{font:400 20px var(--font-display);fill:var(--fg);letter-spacing:.12em;text-transform:uppercase;opacity:.85}
.ch-endlabel{font:400 12px var(--font-body);fill:var(--fg);opacity:.6}
.ch-mark{stroke:var(--accent);stroke-width:1.2;stroke-dasharray:4 4;opacity:.8}
.ch-mark-label{font:400 11.5px var(--font-body);fill:var(--accent)}
[data-group="field"]{--lane:#8a857c}
[data-group="dynamical"]{--lane:var(--accent)}
[data-group="agn"]{--lane:var(--accent-2,#2a7f7a)}
[data-group="zkl"]{--lane:#7a5c99}
.ch-band{fill:var(--lane);opacity:.75;transition:opacity .15s}
.ch-peak{fill:var(--bg);stroke:var(--lane);stroke-width:3}
.ch-row.hot .ch-band{opacity:.95}
.ch-row.hot .ch-peak{fill:var(--lane)}
.ch-leader{fill:none;stroke:var(--lane);stroke-width:2.5;opacity:.5;transition:opacity .15s,stroke-width .15s}
.ch-leader.hot{opacity:1;stroke-width:3.5}
.ch-cards{position:absolute;inset:0}
.ch-rowlabel{font:600 15px var(--font-body);letter-spacing:.14em;fill:var(--fg);opacity:.6}
.ch-family{position:absolute;border:1.5px dashed var(--lane);border-radius:16px;pointer-events:none}
.ch-family__label{position:absolute;left:14px;top:-11px;padding:1px 10px;border-radius:999px;background:var(--bg);color:var(--lane);font:600 14px var(--font-body);text-transform:uppercase;letter-spacing:.12em}
.ch-card{position:absolute;display:flex;flex-direction:column;box-sizing:border-box;padding:10px 10px 8px;border:1.5px solid var(--lane);border-radius:12px;background:var(--panel-solid);color:var(--fg);font:inherit;text-align:left;cursor:pointer;box-shadow:0 4px 18px rgba(0,0,0,.08);transition:transform .15s,box-shadow .15s}
.ch-card:hover,.ch-card.hot,.ch-card:focus-visible{box-shadow:0 10px 28px rgba(0,0,0,.16);outline:none}   /* no lift: a moving card re-fires pointerenter/leave */
.ch-card__media{position:relative;flex:none;width:100%;aspect-ratio:16/9;border-radius:8px;overflow:hidden;background:#fdfdfd;display:flex;align-items:center;justify-content:center}
.ch-card__media img,.ch-card__media video{width:100%;height:100%;object-fit:cover;display:block}
.ch-card__media--fig{background:#fff}
.ch-card__media--fig img{object-fit:contain}
.ch-card__play{position:absolute;right:8px;bottom:8px;width:26px;height:26px;border-radius:50%;background:rgba(80,76,68,.5);color:#fff;font-size:11px;display:flex;align-items:center;justify-content:center;padding-left:2px;box-sizing:border-box;opacity:.7}
.ch-card__nomedia{position:absolute;right:6px;bottom:6px;font-size:10px;background:rgba(0,0,0,.6);color:#fff;padding:2px 6px;border-radius:999px}
.ch-card__media--icon{background:var(--field)}
.ch-card__media--icon img{width:70%;height:70%;object-fit:contain}
.ch-card__media--icon .ch-card__play{width:30px;height:30px;font-size:12px;left:auto;top:auto;right:8px;bottom:8px;transform:none;opacity:.55}
.ch-card__media--none{color:var(--fg);opacity:.6;font-size:.85rem;background:var(--field)}
.ch-card__name{font:600 17px var(--font-body);margin:8px 0 3px;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ch-card__range{font:400 15px var(--font-body);opacity:.7}
.ch-card__range sup,.ch-card__range sub{font-size:.75em}
/* popup */
.ch-popup{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:min(88vw,1500px);max-height:88vh;overflow:auto;z-index:40;background:var(--panel-solid);border:1px solid var(--line);border-radius:14px;padding:1.2rem 1.5rem 1.4rem;box-shadow:var(--shadow)}
.ch-popup__close{position:absolute;top:.6rem;right:.8rem;background:none;border:0;color:var(--fg);font-size:1.4rem;cursor:pointer;opacity:.6}
.ch-popup__close:hover{opacity:1}
.ch-popup__title{font-family:var(--font-display);font-weight:400;font-size:1.3rem;margin:0;letter-spacing:.06em}
.ch-popup__sub{opacity:.65;font-size:.9rem;margin:.1rem 0 .9rem}
.ch-popup__grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:1.2rem 1.6rem;align-items:start}
.ch-popup h4{font-family:var(--font-display);font-weight:400;text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;margin:0 0 .4rem;opacity:.8}
.ch-popup p{margin:0 0 .8rem;font-size:.93rem;line-height:1.45}
.ch-media{aspect-ratio:16/9;width:100%;background:#000;border-radius:8px;overflow:hidden;display:flex;align-items:center;justify-content:center}
.ch-media iframe,.ch-media img,.ch-media video{width:100%;height:100%;border:0;display:block;object-fit:contain}
.ch-media--none{background:var(--field);border:1px dashed var(--line);color:var(--fg);opacity:.7;padding:1rem;text-align:center;font-size:.9rem;aspect-ratio:auto;min-height:6rem}
.ch-explain{font-size:.9rem;line-height:1.45;margin:.4rem 0 .1rem}
.ch-credit{font-size:.78rem;opacity:.65;margin:.35rem 0 .9rem}
.ch-fig{display:block;max-width:100%;max-height:34vh;margin:0 auto;background:#fff;border-radius:6px}
.ch-sources{list-style:none;padding:0;margin:0 0 .8rem;font-size:.85rem}
.ch-sources li{margin:.15rem 0}
.ch-sources a{margin-left:.35rem;white-space:nowrap}
.ch-refs{padding-left:1.2rem;margin:0;font-size:.82rem;line-height:1.4;columns:1}
.ch-refs li{margin:.15rem 0;break-inside:avoid}
.ch-refs a{margin-left:.3rem;white-space:nowrap}
@media (max-width:900px){.ch-popup__grid{grid-template-columns:1fr}.ch-popup{width:96vw;padding:.9rem}.ch-label{font-size:11px}.ch-sublabel{display:none}}
.ch-card__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;pointer-events:none}
.ch-card__media--playing .ch-card__video{opacity:1}
.ch-card__media--playing .ch-card__play{opacity:0}
.ch-popup__refs{margin-top:1rem;padding-top:.6rem;border-top:1px solid var(--line)}
.ch-popup__refs .ch-refs{columns:2;column-gap:2rem}
