/* V102 — only interaction/stability fixes. No video quality changes. */
#video-zero,#video-one,#video-two{background:#050608}
/* Keep original local posters for videos 1/2 while the remote file buffers. */
#segmented-player,.second-video-frame{position:relative}
#video-one-poster-layer{pointer-events:none}

/* Results: one interaction model. The CARD owns touch/pointer gestures; media never steals them. */
#proof-track{
  overflow-x:auto!important;
  overflow-y:hidden!important;
  -webkit-overflow-scrolling:touch!important;
  overscroll-behavior-x:contain!important;
  scroll-snap-type:x mandatory!important;
  scroll-behavior:auto!important;
  touch-action:pan-y!important;
}
#proof-track .proof-card{
  touch-action:pan-y!important;
  user-select:none!important;
  -webkit-user-select:none!important;
  cursor:grab;
}
#proof-track .proof-card.is-dragging{cursor:grabbing}
#proof-track .proof-card img,
#proof-track .proof-card video{
  pointer-events:none!important;
  -webkit-user-drag:none!important;
  user-select:none!important;
  -webkit-user-select:none!important;
}
.proof-video-wrap{position:relative!important}
.proof-video-wrap .proof-video{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  opacity:0!important;
  object-fit:contain!important;
  background:#05070b!important;
}
.proof-video-wrap .proof-poster-image{
  position:absolute!important;
  inset:0!important;
  z-index:2!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  background:#05070b!important;
  opacity:1!important;
}
.proof-card.is-playing .proof-video{opacity:1!important}
.proof-card.is-playing .proof-poster-image{opacity:0!important}
.proof-card.is-paused .proof-video{opacity:1!important}
.proof-card.is-paused .proof-poster-image{opacity:0!important}
