/* Progressive Blur (details.so), bottom edge only. Layer structure, blur values and mask stops are
   unchanged from the resource. Host adjustment: the footer sits above it (z 11) so links stay clear;
   open tooltips (z 20/21) also sit above it. */
.progressive-blur {
  position: fixed;
  z-index: 10;
  right: 0;
  left: 0;
  height: 200px;
  overflow: hidden;
  pointer-events: none;
}

.progressive-blur.top-blur {
  --blur-direction: to bottom;
  top: -32px;
}

.progressive-blur.bottom-blur {
  --blur-direction: to top;
  bottom: -32px;
}

.progressive-blur .layer {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.progressive-blur .blur-1 {
  z-index: 1;
  -webkit-backdrop-filter: blur(0.078125px);
  backdrop-filter: blur(0.078125px);
  -webkit-mask-image: linear-gradient(var(--blur-direction), transparent 87.5%, #000 100%);
  mask-image: linear-gradient(var(--blur-direction), transparent 87.5%, #000 100%);
}

.progressive-blur .blur-2 {
  z-index: 2;
  -webkit-backdrop-filter: blur(0.15625px);
  backdrop-filter: blur(0.15625px);
  -webkit-mask-image: linear-gradient(var(--blur-direction), transparent 75%, #000 87.5% 100%);
  mask-image: linear-gradient(var(--blur-direction), transparent 75%, #000 87.5% 100%);
}

.progressive-blur .blur-3 {
  z-index: 3;
  -webkit-backdrop-filter: blur(0.3125px);
  backdrop-filter: blur(0.3125px);
  -webkit-mask-image: linear-gradient(var(--blur-direction), transparent 62.5%, #000 75% 87.5%, transparent 100%);
  mask-image: linear-gradient(var(--blur-direction), transparent 62.5%, #000 75% 87.5%, transparent 100%);
}

.progressive-blur .blur-4 {
  z-index: 4;
  -webkit-backdrop-filter: blur(0.625px);
  backdrop-filter: blur(0.625px);
  -webkit-mask-image: linear-gradient(var(--blur-direction), transparent 50%, #000 62.5% 75%, transparent 87.5%);
  mask-image: linear-gradient(var(--blur-direction), transparent 50%, #000 62.5% 75%, transparent 87.5%);
}

.progressive-blur .blur-5 {
  z-index: 5;
  -webkit-backdrop-filter: blur(1.25px);
  backdrop-filter: blur(1.25px);
  -webkit-mask-image: linear-gradient(var(--blur-direction), transparent 37.5%, #000 50% 62.5%, transparent 75%);
  mask-image: linear-gradient(var(--blur-direction), transparent 37.5%, #000 50% 62.5%, transparent 75%);
}

.progressive-blur .blur-6 {
  z-index: 6;
  -webkit-backdrop-filter: blur(2.5px);
  backdrop-filter: blur(2.5px);
  -webkit-mask-image: linear-gradient(var(--blur-direction), transparent 25%, #000 37.5% 50%, transparent 62.5%);
  mask-image: linear-gradient(var(--blur-direction), transparent 25%, #000 37.5% 50%, transparent 62.5%);
}

.progressive-blur .blur-7 {
  z-index: 7;
  -webkit-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px);
  -webkit-mask-image: linear-gradient(var(--blur-direction), transparent 12.5%, #000 25% 37.5%, transparent 50%);
  mask-image: linear-gradient(var(--blur-direction), transparent 12.5%, #000 25% 37.5%, transparent 50%);
}

.progressive-blur .blur-8 {
  z-index: 8;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  -webkit-mask-image: linear-gradient(var(--blur-direction), transparent 0%, #000 12.5% 25%, transparent 37.5%);
  mask-image: linear-gradient(var(--blur-direction), transparent 0%, #000 12.5% 25%, transparent 37.5%);
}

@media (max-width: 680px) {
  .progressive-blur {
    height: 160px;
  }
}

/* Host: keep the footer clear and clickable above the blur. */
footer { position: relative; z-index: 11; }
