:root {
  --bg: #07080b;
  --bg2: #0b0e16;
  --text: rgba(255, 255, 255, 0.92);
  --muted: rgba(255, 255, 255, 0.68);
  --muted2: rgba(255, 255, 255, 0.56);
  --stroke: rgba(255, 255, 255, 0.14);
  --stroke2: rgba(255, 255, 255, 0.1);
  --panel: rgba(10, 12, 18, 0.72);
  --panel2: rgba(10, 12, 18, 0.5);
  --shadow: rgba(0, 0, 0, 0.7);
  --glow: rgba(255, 170, 70, 0.55);
  --glow2: rgba(70, 180, 255, 0.5);
  --accent: #ffb053;
  --accent2: #4bb6ff;
  --good: #66ffb3;
  --bad: #ff6b6b;
  --radius: 18px;
  --radius2: 14px;
  --container: 1160px;
  --pad: 22px;
  --font: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, Noto Sans, "Apple Color Emoji",
    "Segoe UI Emoji";
  --mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

@keyframes bgDrift {
  0% {
    transform: translate3d(-2%, -1%, 0) scale(1.06);
  }
  50% {
    transform: translate3d(2%, 2%, 0) scale(1.1);
  }
  100% {
    transform: translate3d(-2%, -1%, 0) scale(1.06);
  }
}

@keyframes preregPulse {
  0% {
    transform: scale(1);
    box-shadow: 0 0 26px color-mix(in oklab, var(--accent), transparent 70%);
  }
  50% {
    transform: scale(1.08);
    box-shadow: 0 0 34px color-mix(in oklab, var(--accent), transparent 62%);
  }
  100% {
    transform: scale(1);
    box-shadow: 0 0 26px color-mix(in oklab, var(--accent), transparent 70%);
  }
}

@keyframes preregPop {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.06);
  }
  100% {
    transform: scale(1);
  }
}

@keyframes miniSpin {
  to {
    transform: rotate(360deg);
  }
}

@keyframes pay-bg-drift {
  0% { background-position: 0% 20%; }
  50% { background-position: 100% 60%; }
  100% { background-position: 0% 20%; }
}

@keyframes pay-urgent {
  0% { transform: scale(1); filter: brightness(1); }
  50% { transform: scale(1.04); filter: brightness(1.18); }
  100% { transform: scale(1); filter: brightness(1); }
}

@keyframes pay-hint {
  0% { opacity: 0.7; }
  50% { opacity: 1; }
  100% { opacity: 0.7; }
}

@keyframes pay-pop {
  from { opacity: 0; transform: scale(0.5); }
  to { opacity: 1; transform: scale(1); }
}