/* === Vault Dial Overlay === */
#vault-dial-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(192, 192, 192, 0.45);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 950;
  opacity: 0;
  transition: opacity 0.3s;
  pointer-events: none;
}

#vault-dial-overlay.active {
  opacity: 1;
  pointer-events: auto;
}

#vault-dial-overlay.hidden {
  display: none;
}

#vault-dial {
  width: 140px;
  height: 140px;
  filter: drop-shadow(0 4px 16px rgba(0, 0, 0, 0.4));
}

/* The numbered ring + knob rotate; outer silver ring stays fixed */
#vault-dial .dial-rotate {
  transform-origin: 50px 50px;
  animation: vault-spin 1s cubic-bezier(0.2, 0.8, 0.3, 1) infinite;
}

@keyframes vault-spin {
  0% {
    transform: rotate(0deg);
    animation-timing-function: cubic-bezier(0.1, 0.7, 0.3, 1);
  }
  48% {
    transform: rotate(-190deg);
    animation-timing-function: cubic-bezier(0.1, 0.7, 0.3, 1);
  }
  100% {
    transform: rotate(20deg);
  }
}

@media (max-width: 600px) {
  #vault-dial {
    width: 100px;
    height: 100px;
  }

  #vault-dial .dial-rotate {
    transform-origin: 50px 50px;
  }
}
