.preloader {
  position: fixed;
  inset: 0;
  z-index: 9999;
  pointer-events: all;
}

.preloader-panel {
  position: fixed;
  left: 0;
  width: 100%;
  height: 50vh;
  background: var(--surface-inverse);
  z-index: 9999;
  will-change: transform;
  transition: transform 0.8s cubic-bezier(0.76, 0, 0.24, 1);
}

.preloader-panel--top {
  top: 0;
}

.preloader-panel--bottom {
  bottom: 0;
}

.preloader-panel--top.is-split {
  transform: translateY(-100%);
}

.preloader-panel--bottom.is-split {
  transform: translateY(100%);
}

.preloader-counter {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-family: "Inter", sans-serif;
  font-size: clamp(5rem, 20vw, 14rem);
  font-weight: 900;
  color: var(--white);
  letter-spacing: -0.06em;
  line-height: 1;
  z-index: 10000;
  user-select: none;
  pointer-events: none;
  opacity: 1;
  transition: opacity 0.18s ease;
}

.preloader-counter.is-hidden {
  opacity: 0;
}

.preloader-bar-track {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: rgba(255, 255, 255, 0.06);
  z-index: 10000;
  pointer-events: none;
}

.preloader-bar-fill {
  height: 100%;
  width: 0%;
  background: var(--olive);
  transition: width 0.08s linear;
}

body.preloader-active {
  overflow: hidden;
}
