/* AR3017 overview: same-size video layers, shared timeline, three renderings. */
.overview-comparison { scroll-margin-top: calc(var(--header-height) + 24px); --compare-max-height: 68vh; }
.overview-comparison .compare-three-layer video { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; }
.overview-comparison .compare-frame { margin-top: 1rem; }
.overview-comparison-controls { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; margin-top: 2rem; }
.overview-comparison-modes { display: flex; flex-wrap: wrap; gap: .4rem; }
.overview-comparison-controls button { padding: .65rem .85rem; border: 1px solid var(--line); color: var(--parchment); background: #121414; font: inherit; font-size: .75rem; cursor: pointer; }
.overview-comparison-controls button:hover, .overview-comparison-controls button[aria-pressed="true"] { border-color: var(--gold-bright); color: var(--gold-bright); background: #292217; }
.overview-comparison-controls button:focus-visible { outline: 2px solid var(--gold-bright); outline-offset: 3px; }
.overview-comparison [data-mode]:not([data-mode="split"]) { cursor: default; touch-action: auto; }
.overview-comparison [data-mode]:not([data-mode="split"]) .compare-three-line { display: none; }
.overview-comparison [data-mode="nearest"] .compare-three-label-middle,
.overview-comparison [data-mode="nearest"] .compare-three-label-right,
.overview-comparison [data-mode="linear"] .compare-three-label-left,
.overview-comparison [data-mode="linear"] .compare-three-label-right,
.overview-comparison [data-mode="upscaled"] .compare-three-label-left,
.overview-comparison [data-mode="upscaled"] .compare-three-label-middle { display: none; }
@media (max-width: 480px) {
  .overview-comparison-controls { gap: .5rem; }
  .overview-comparison-controls button { padding: .55rem .6rem; font-size: .68rem; }
}

/* The three videos share a transform; clipping and handles never scale. */
.overview-comparison .compare-three-frame { touch-action: none; }
.overview-comparison .compare-three-frame video { transform-origin: 0 0; transform: translate(var(--view-x, 0%), var(--view-y, 0%)) scale(var(--view-scale, 1)); }
.overview-comparison .compare-three-frame.has-zoom { cursor: grab; touch-action: none; }
.overview-comparison .compare-three-frame.is-panning { cursor: grabbing; }
.overview-comparison .compare-three-frame:focus-visible { outline: 2px solid var(--gold-bright); outline-offset: 4px; }
.overview-zoom-tools { position: absolute; z-index: 12; top: 1rem; right: 1rem; display: flex; align-items: center; gap: .15rem; padding: .3rem; border: 1px solid rgba(230,197,127,.3); border-radius: 14px; background: rgba(9,11,12,.88); backdrop-filter: blur(16px); box-shadow: 0 6px 24px #0006; cursor: auto; touch-action: auto; }
.overview-zoom-tools button { display: grid; place-items: center; width: 40px; height: 40px; padding: 0; border: 0; border-radius: 9px; background: transparent; color: var(--parchment); cursor: pointer; }
.overview-zoom-tools button:hover:not(:disabled) { background: #e6c57f26; color: var(--gold-bright); }
.overview-zoom-tools button:disabled { opacity: .3; cursor: default; }
.overview-zoom-tools button:focus-visible, .overview-zoom-tools input:focus-visible { outline: 2px solid var(--gold-bright); outline-offset: 2px; }
.overview-zoom-tools input { width: 5rem; margin: 0 .5rem; accent-color: var(--gold-bright); cursor: pointer; }
.overview-zoom-tools output { min-width: 3.3rem; text-align: center; font-size: .75rem; font-variant-numeric: tabular-nums; color: var(--gold-bright); }
.overview-zoom-tools [data-zoom-reset] { margin-left: .2rem; border-left: 1px solid var(--line); border-radius: 0 9px 9px 0; }
.overview-comparison-help { margin: .75rem 0 0; text-align: center; color: var(--parchment-muted); font-size: .73rem; }
@media (max-width: 600px) {
  .overview-zoom-tools { top: .6rem; right: .6rem; padding: .2rem; border-radius: 12px; }
  .overview-zoom-tools input { display: none; }
  .overview-zoom-tools button { width: 38px; height: 38px; }
  .overview-comparison-help { font-size: .65rem; }
}

.overview-comparison .compare-three-frame:not(.has-zoom) { cursor: zoom-in; }
.overview-comparison .compare-three-line span { pointer-events: auto; cursor: ew-resize; }
