/* TIMELINE INDEX — uses common interface from style.css */
.timeline-index-page { position:relative; width:100%; min-height:100vh; }
.timeline-index-title {
    position:fixed; top:24px; left:50%; z-index:40; margin:0;
    font-size:14px; font-weight:400; line-height:1; white-space:nowrap;
    transform:translateX(-50%);
}
.timeline-index-section { width:100%; padding:72px 150px 70px; }
.timeline-index-toolbar {
    position:sticky; top:58px; z-index:30; display:flex; align-items:center;
    justify-content:flex-end; gap:10px; width:100%; margin:0 0 10px;
    font-size:11px; line-height:1;
}
.timeline-index-toolbar button {
    margin:0; padding:0; border:0; background:transparent; color:inherit;
    font:inherit; cursor:pointer; appearance:none; -webkit-appearance:none;
}
.timeline-index-toolbar button:hover,
.timeline-index-toolbar button:focus-visible { text-decoration:underline; text-underline-offset:2px; }
#zoomValue { min-width:42px; text-align:center; opacity:.6; }

.timeline-index-viewport {
    position:relative; width:100%; overflow-x:auto; overflow-y:visible;
    overscroll-behavior-x:contain; -webkit-overflow-scrolling:touch;
}
.timeline-index-canvas { width:100%; min-width:100%; }
.timeline-index-image {
    display:block; width:100%; height:auto; margin:0; padding:0;
    border:0; user-select:none; -webkit-user-drag:none;
}
.timeline-index-viewport.is-zoomed { cursor:grab; }
.timeline-index-viewport.is-dragging { cursor:grabbing; }
.timeline-index-guide {
    margin:10px 0 0; opacity:.45; font-size:10px; line-height:1.35; text-align:right;
}
@media (max-width:1100px) {
    .timeline-index-section { padding:72px 120px 70px; }
}
@media (max-width:768px) {
    .timeline-index-page { min-height:100svh; }
    .timeline-index-title {
        position:absolute; top:78px; width:calc(100% - 40px);
        font-size:12px; text-align:center; white-space:normal;
    }
    .timeline-index-section { padding:118px 16px 72px; }
    .timeline-index-toolbar { top:8px; gap:9px; }
    .timeline-index-guide { text-align:left; }
}


/* High-resolution slices waiting to load */
.timeline-index-image.is-deferred {
    background: rgba(189, 189, 189, 0.035);
}
