.sw-bpolk-peek {
  --sw-bpolk-size: 15vh;
  --sw-bpolk-peek: calc(var(--sw-bpolk-size) * 0.18);
  --sw-bpolk-hidden-x: calc(var(--sw-bpolk-peek) - var(--sw-bpolk-size));
  --sw-bpolk-peek-x: calc(var(--sw-bpolk-size) * -0.32);
  --sw-bpolk-open-x: calc(var(--sw-bpolk-size) * 0.76);
  position: fixed;
  left: 0;
  top: 8vh;
  z-index: 9996;
  display: block;
  width: var(--sw-bpolk-size);
  height: var(--sw-bpolk-size);
  text-decoration: none;
  outline: none;
  transform: translate3d(var(--sw-bpolk-hidden-x), -50%, 0);
  transition: transform 860ms cubic-bezier(0.16, 1, 0.3, 1), filter 620ms ease;
  will-change: transform;
  backface-visibility: hidden;
  -webkit-font-smoothing: antialiased;
}

@media (min-width: 900px) and (min-height: 560px) {
  .sw-bpolk-peek {
    --sw-bpolk-size: 15vh;
    --sw-bpolk-peek: calc(var(--sw-bpolk-size) * 0.18);
    top: 50vh;
    transition-duration: 980ms, 680ms;
  }

  .sw-bpolk-peek:not(:hover):not(:focus-visible) {
    animation: none;
  }
}
.sw-bpolk-peek:not(:hover):not(:focus-visible) {
  animation: swBpolkPeekPulse 12.8s cubic-bezier(0.16, 1, 0.3, 1) infinite;
}

.sw-bpolk-peek::before {
  content: "";
  position: absolute;
  inset: calc(var(--sw-bpolk-size) * -0.22);
  border-radius: 50%;
  background:
    radial-gradient(circle at 50% 50%, rgba(255, 232, 146, 0.62), rgba(220, 31, 31, 0.22) 42%, transparent 70%);
  filter: blur(calc(var(--sw-bpolk-size) * 0.16));
  opacity: 0.72;
  pointer-events: none;
  transform: scale(0.86);
  animation: swBpolkAuraGlow 2.9s ease-in-out infinite;
}

.sw-bpolk-peek:hover,
.sw-bpolk-peek:focus-visible {
  animation: none;
  transform: translate3d(var(--sw-bpolk-open-x), -50%, 0);
  filter: drop-shadow(0 0 18px rgba(255, 221, 132, 0.42));
}

.sw-bpolk-peek__star {
  display: block;
  width: var(--sw-bpolk-size);
  height: var(--sw-bpolk-size);
  object-fit: contain;
  filter:
    drop-shadow(0 0 8px rgba(255, 238, 190, 0.66))
    drop-shadow(0 0 18px rgba(218, 43, 38, 0.42))
    drop-shadow(0 8px 16px rgba(0, 0, 0, 0.42));
  transform: rotate(-6deg) scale(0.98);
  transform-origin: 50% 50%;
  transition: transform 520ms cubic-bezier(0.16, 1, 0.3, 1), filter 520ms ease;
  animation: swBpolkStarGlow 2.9s ease-in-out infinite;
}

.sw-bpolk-peek:hover .sw-bpolk-peek__star,
.sw-bpolk-peek:focus-visible .sw-bpolk-peek__star {
  transform: rotate(0deg) scale(1.04);
  filter:
    drop-shadow(0 0 14px rgba(255, 249, 218, 0.86))
    drop-shadow(0 0 28px rgba(242, 55, 44, 0.58))
    drop-shadow(0 12px 28px rgba(0, 0, 0, 0.52));
}

.sw-bpolk-peek__label {
  position: absolute;
  left: 50%;
  top: calc(var(--sw-bpolk-size) + 0.55vh);
  width: calc(var(--sw-bpolk-size) * 2.15);
  min-width: 82px;
  padding: 0.48vh 0.48vh 0.52vh;
  border: 1px solid rgba(238, 206, 137, 0.58);
  border-radius: 12px;
  background:
    linear-gradient(145deg, rgba(16, 19, 25, 0.86), rgba(63, 18, 21, 0.74));
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.16),
    0 8px 24px rgba(0, 0, 0, 0.42),
    0 0 18px rgba(190, 36, 32, 0.22);
  color: #f8e6ba;
  font-family: "Russo One", "Arial Narrow", Arial, sans-serif;
  font-size: clamp(8px, 0.88vh, 12px);
  line-height: 1.03;
  letter-spacing: 0.04em;
  text-align: center;
  text-transform: uppercase;
  text-shadow: 0 0 8px rgba(255, 238, 196, 0.34);
  opacity: 0;
  pointer-events: none;
  transform: translate3d(-50%, -6px, 0) scale(0.96);
  transition: opacity 260ms ease, transform 420ms cubic-bezier(0.16, 1, 0.3, 1);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.sw-bpolk-peek:hover .sw-bpolk-peek__label,
.sw-bpolk-peek:focus-visible .sw-bpolk-peek__label {
  opacity: 1;
  transform: translate3d(-50%, 0, 0) scale(1);
}

@keyframes swBpolkPeekPulse {
  0%, 62%, 100% { transform: translate3d(var(--sw-bpolk-hidden-x), -50%, 0); }
  74%, 90% { transform: translate3d(var(--sw-bpolk-peek-x), -50%, 0); }
}

@keyframes swBpolkAuraGlow {
  0%, 100% { opacity: 0.5; transform: scale(0.82); }
  50% { opacity: 0.96; transform: scale(1.04); }
}

@keyframes swBpolkStarGlow {
  0%, 100% { filter: drop-shadow(0 0 8px rgba(255, 238, 190, 0.62)) drop-shadow(0 0 18px rgba(218, 43, 38, 0.36)) drop-shadow(0 8px 16px rgba(0, 0, 0, 0.42)); }
  50% { filter: drop-shadow(0 0 15px rgba(255, 250, 224, 0.88)) drop-shadow(0 0 30px rgba(236, 58, 44, 0.56)) drop-shadow(0 10px 22px rgba(0, 0, 0, 0.48)); }
}

@media (prefers-reduced-motion: reduce) {
  .sw-bpolk-peek,
  .sw-bpolk-peek::before,
  .sw-bpolk-peek__star,
  .sw-bpolk-peek__label {
    transition: none;
    animation: none;
  }
}
