/* G17.13 P1.00. Homepage touch enhancement. Legacy native rules support cached old bootstrap. */
html.lk-native-scroll-preview,
html.lk-native-scroll-preview body { height:100%; overflow:hidden; }
.lk-native-scroll-preview #lk-native-scroll-viewport {
  position:fixed; inset:0; overflow-y:auto; overflow-x:clip;
  overscroll-behavior-y:contain; -webkit-overflow-scrolling:touch;
}
.lk-native-scroll-preview #lk-native-scroll-viewport:focus { outline:none; }
.lk-native-scroll-preview #lk-native-scroll-viewport:focus-visible { outline:2px solid var(--lk-action,#A84848); outline-offset:-2px; }
.lk-native-scroll-preview.lk-review-reader-open #lk-native-scroll-viewport { overflow-y:hidden; }
/* Keep Safari's body scrollable without stretching short reviews to viewport height. */
.lk-root-scroll-preview .lk-review-dialog[open],
.lk-native-scroll-preview .lk-review-dialog[open] {
  display:grid; grid-template-rows:auto auto minmax(0,1fr); align-content:start;
  height:auto; top:50%; bottom:auto; margin-block:0; transform:translateY(-50%);
}
/* Leave room for the existing 2px focus outline and its 4px offset. */
.lk-root-scroll-preview .lk-review-strip.is-review-ready .lk-review-strip__quotes,
.lk-native-scroll-preview .lk-review-strip.is-review-ready .lk-review-strip__quotes { padding-block:6px; }
@media print {
  html.lk-native-scroll-preview,html.lk-native-scroll-preview body { height:auto; overflow:visible; }
  .lk-native-scroll-preview #lk-native-scroll-viewport { position:static; height:auto; overflow:visible; }
}

/* Dim the complete painted button, never its stable 48px touch target. */
.lk-root-scroll-preview #lk-scroll-top .lk-top-face {
  opacity:1;
  transition:opacity 140ms ease-out,transform 100ms ease-out,background-color 100ms ease-out;
}
.lk-root-scroll-preview.lk-page-scrolling #lk-scroll-top:not([data-pressed]):not(:focus-visible) .lk-top-face { opacity:.65; }
.lk-root-scroll-preview #lk-scroll-top[data-pressed] .lk-top-face { transition:none; }
@media (prefers-reduced-motion:reduce) {
  .lk-root-scroll-preview #lk-scroll-top .lk-top-face { transition:none; }
}

/* Real fixed paint lets Safari keep the clock/battery strip opaque while scrolling. */
.lk-root-scroll-preview .lk-site-header > .lk-mobile-header-backplate { display:none; }
@media (max-width:45rem) {
  .lk-root-scroll-preview .lk-site-header.is-nav-fixed > .lk-mobile-header-backplate {
    display:block;
    position:fixed;
    inset-block-start:0;
    inset-inline:0;
    height:calc(var(--lk-pinned-mobile-header-height) + env(safe-area-inset-top,0px));
    background:var(--lk-color-bg-light,#FFFFF0);
    z-index:1;
    pointer-events:auto;
  }
}

/* Firefox exposes document paint above its web viewport through native glass.
   Keep this decorative paint below the header's z-index of 1000. */
.lk-root-scroll-preview .lk-firefox-header-backplate { display:none; }
@media screen and (max-width:45rem) {
  .lk-root-scroll-preview body:has(> .lk-site-header.is-nav-fixed) > .lk-firefox-header-backplate {
    display:block;
    position:absolute;
    inset-inline:0;
    inset-block-start:calc(-1 * var(--lk-mobile-status-bar-bleed,96px));
    height:calc(var(--lk-pinned-mobile-header-height,60px) + var(--lk-mobile-status-bar-bleed,96px));
    background:var(--lk-color-bg-light,#FFFFF0);
    z-index:999;
    pointer-events:none;
    animation:lk-header-follow-root 1s linear both;
    animation-timeline:scroll(root block);
  }
}
@keyframes lk-header-follow-root {
  from { transform:translateY(0); }
  to { transform:translateY(var(--lk-header-scroll-range,0px)); }
}

/* Android top toolbars move the viewport origin; let the compositor anchor it. */
@media screen and (any-pointer:coarse) {
  .lk-root-scroll-preview.lk-android-root-scroll #lk-scroll-top {
    top:auto !important;
    bottom:125px;
  }
}

/* The tested Android Edge bottom bars resize height without moving the origin. */
@media screen and (any-pointer:coarse) {
  .lk-root-scroll-preview.lk-android-bottom-toolbar #lk-scroll-top {
    top:var(--lk-android-arrow-top,max(8px,calc(100svh - 173px))) !important;
    bottom:auto;
  }
}
