@layer components {
  .wa-float {
    position: fixed;
    z-index: var(--z-float);
    right: calc(var(--wa-gap) + env(safe-area-inset-right, 0px));
    bottom: calc(var(--wa-gap) + env(safe-area-inset-bottom, 0px));
    display: grid;
    place-items: center;
    width: var(--wa-size);
    height: var(--wa-size);
    border-radius: 50%;
    color: var(--c-cream-soft);
    background: radial-gradient(circle at 50% 35%, #2d3866eb, #181f38eb);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border: 1px solid rgba(240, 234, 220, 0.32);
    box-shadow:
      var(--shadow-lift),
      inset 0 1px #ffffff14;
    transition:
      transform var(--dur-base) var(--ease-out),
      opacity var(--dur-base) var(--ease-out),
      visibility 0s;
  }
  .wa-float svg {
    width: 46%;
    height: auto;
  }
  .wa-float:hover {
    transform: translateY(-2px);
  }
  .wa-float:focus-visible {
    outline: 2px solid var(--focus-ring);
    outline-offset: 3px;
  }
  html.gate-locked .wa-float {
    opacity: 0;
    visibility: hidden;
    transform: scale(0.8);
    transition-delay: 0s, 0s, var(--dur-base);
  }
}
