/* explorationButtons.css — Floating chunk-edge explore buttons for v2 Three.js world */

#v2-explore-buttons {
  position: absolute;
  inset: 0;
  pointer-events: none;
  /* Below all HUD chrome (minimap 8, top bar 10, panels 12, menu 20, alerts 40)
   * so the buttons live on the MAP layer — HUD always draws over them and they
   * never float on top of the interface. */
  z-index: 5;
}

.v2-explore-btn {
  position: absolute;
  transform: translate(-50%, -50%);

  pointer-events: auto;
  cursor: pointer;

  display: flex;
  align-items: center;
  gap: 6px;

  padding: 7px 14px;
  background: rgba(10, 10, 15, 0.92);
  border: 1px solid var(--neon-muted);
  border-radius: 2px;
  color: var(--ink);
  font-family: var(--font-body);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  white-space: nowrap;

  transition: border-color 200ms, box-shadow 200ms, background 200ms;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.5);
}

.v2-explore-btn:hover {
  border-color: var(--neon-primary);
  /* Keep a near-opaque dark backing (just a touch of cyan over it) so the
     button stays legible against the 3D scene — a low-alpha cyan fill alone
     lets the map show straight through. */
  background: rgba(12, 20, 26, 0.94);
  box-shadow: 0 0 12px rgba(0, 212, 255, 0.25), 0 2px 8px rgba(0, 0, 0, 0.5);
  color: var(--neon-primary);
}

.v2-explore-btn:active {
  background: rgba(0, 212, 255, 0.14);
}

.v2-explore-btn:disabled {
  opacity: 0.45;
  cursor: not-allowed;
  pointer-events: none;
}

.v2-explore-btn__arrow {
  font-size: 14px;
  line-height: 1;
  flex-shrink: 0;
}

.v2-explore-btn__label {
  flex: 1;
}

.v2-explore-btn--exploring {
  border-color: var(--neon-primary);
  color: var(--neon-primary);
  animation: v2-explore-pulse 1s ease-in-out infinite;
}

@keyframes v2-explore-pulse {
  0%, 100% { opacity: 0.7; }
  50%       { opacity: 1; }
}
