/* Cross-device performance helpers — safe overrides on top of page CSS */

/*
  Infelicities text marquee
  - Page CSS uses flex gap + translateX(calc(-50% - half-gap)), which subpixels
    differently on mobile and can hitch every loop.
  - Prefer padding inside each half so -50% is an exact cycle.
  - JS (site-perf.js) drives transform when available; CSS is the no-JS fallback.
*/
.infelicities-ticker-track{
  will-change:auto;
  gap:0 !important;
  transform:translate3d(0,0,0);
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
}
.infelicities-ticker-text{
  padding-right:0.275em;
  box-sizing:content-box;
}
@keyframes infelicities-ticker-scroll{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(-50%,0,0)}
}
/* JS owns motion — avoid CSS animation restarts (common on iOS Safari) */
html.infelicities-ticker-js .infelicities-ticker-track{
  animation:none !important;
}

/* Secret ticker hyperlink → random video (no hover enlarge) */
a.infelicities-ticker-secret{
  color:#000000 !important;
  text-decoration:underline;
  cursor:pointer;
  display:inline !important;
  transform:none !important;
  transition:none !important;
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
}
a.infelicities-ticker-secret:hover,
a.infelicities-ticker-secret:focus,
a.infelicities-ticker-secret:focus-visible,
a.infelicities-ticker-secret:active{
  color:#000000 !important;
  text-decoration:underline;
  transform:none !important;
}
html.darkmysite_dark_mode_enabled a.infelicities-ticker-secret,
body.darkmysite_dark_mode_enabled a.infelicities-ticker-secret,
html.darkmysite_dark_mode_enabled a.infelicities-ticker-secret:hover,
body.darkmysite_dark_mode_enabled a.infelicities-ticker-secret:hover,
html.darkmysite_dark_mode_enabled a.infelicities-ticker-secret:focus,
body.darkmysite_dark_mode_enabled a.infelicities-ticker-secret:focus,
html.darkmysite_dark_mode_enabled a.infelicities-ticker-secret:focus-visible,
body.darkmysite_dark_mode_enabled a.infelicities-ticker-secret:focus-visible,
html.darkmysite_dark_mode_enabled a.infelicities-ticker-secret:active,
body.darkmysite_dark_mode_enabled a.infelicities-ticker-secret:active{
  color:#ffffff !important;
}

/* Blog post body hyperlinks: underline instead of hover zoom */
body.single-post .entry-content a{
  transform:none !important;
  transition:none !important;
}
body.single-post .entry-content a:hover,
body.single-post .entry-content a:focus,
body.single-post .entry-content a:focus-visible,
body.single-post .entry-content a:active{
  transform:none !important;
}
body.single-post .entry-content a:not(:has(img)){
  display:inline !important;
  text-decoration:underline;
}
body.single-post .entry-content a:not(:has(img)):hover,
body.single-post .entry-content a:not(:has(img)):focus,
body.single-post .entry-content a:not(:has(img)):focus-visible,
body.single-post .entry-content a:not(:has(img)):active{
  text-decoration:underline;
}

@media (prefers-reduced-motion:reduce){
  .infelicities-ticker-track{
    animation:none !important;
  }
  html.infelicities-ticker-js .infelicities-ticker-track{
    transform:none !important;
  }
  video[autoplay]{
    /* JS also pauses; this avoids layout thrash from looping decode */
  }
}

/* Pause continuous CSS motion when the tab is in the background */
html.infelicities-tab-hidden .infelicities-ticker-track,
html.infelicities-tab-hidden #visual-weather-lightning-overlay{
  animation-play-state:paused !important;
}

/* Hide page scrollbar (scrolling still works) */
html{
  scrollbar-width:none;
  -ms-overflow-style:none;
  scrollbar-gutter:auto;
}
html::-webkit-scrollbar,
body::-webkit-scrollbar,
.darkmysite_dark_mode_enabled::-webkit-scrollbar{
  width:0!important;
  height:0!important;
  display:none!important;
  background:transparent!important;
}
html::-webkit-scrollbar-track,
html::-webkit-scrollbar-thumb,
html::-webkit-scrollbar-corner,
html::-webkit-scrollbar-button,
.darkmysite_dark_mode_enabled::-webkit-scrollbar-track,
.darkmysite_dark_mode_enabled::-webkit-scrollbar-thumb,
.darkmysite_dark_mode_enabled::-webkit-scrollbar-corner,
.darkmysite_dark_mode_enabled::-webkit-scrollbar-button{
  display:none!important;
  width:0!important;
  height:0!important;
  background:transparent!important;
}

/* Homepage ≤921 scale cancel lives in index.html #infelicities-home-below-marquee-scale (head) */
