:root {
  --bg-primary: #0a0c10;
  --bg-surface: rgba(24, 27, 34, 0.65);
  --bg-surface-hover: rgba(36, 40, 52, 0.8);
  --bg-card: rgba(255, 255, 255, 0.05);
  --bg-input: rgba(255, 255, 255, 0.07);
  --text-primary: #f8fafc;
  --text-secondary: #94a3b8;
  --text-muted: #64748b;
  --brand-lotus: #ec4899;
  --brand-lotus-hover: #db2777;
  --brand-lotus-light: rgba(236, 72, 153, 0.18);
  --border-subtle: rgba(255, 255, 255, 0.1);
  --success: #10b981;
  --radius-sm: 10px;
  --radius-md: 18px;
  --radius-lg: 26px;
  --radius-full: 9999px;
  --font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --transition-fast: 200ms cubic-bezier(0.25, 1, 0.5, 1);
  --header-height: 80px;

  --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
  --ease-spring-soft: cubic-bezier(0.25, 1, 0.3, 1);
  --ease-press: cubic-bezier(0.4, 0, 0.2, 1);
  --transition-spring: 360ms cubic-bezier(0.34, 1.56, 0.64, 1);
  --transition-spring-fast: 260ms cubic-bezier(0.34, 1.56, 0.64, 1);
  --transition-press: 110ms cubic-bezier(0.4, 0, 0.2, 1);

  --glass-bg: rgba(22, 25, 34, 0.68);
  --glass-bg-hover: rgba(35, 40, 54, 0.82);
  --glass-border: 1px solid rgba(255, 255, 255, 0.12);
  --glass-border-subtle: 1px solid rgba(255, 255, 255, 0.07);
  --glass-shine: inset 0 1px 1px 0 rgba(255, 255, 255, 0.22);
  --glass-shadow: 0 12px 36px rgba(0, 0, 0, 0.45);
  --glass-blur: blur(24px) saturate(190%);
  --glass-blur-sm: blur(14px) saturate(160%);
}

@keyframes bubble-pop {
  0% {
    transform: scale(0.92);
  }
  55% {
    transform: scale(1.07);
  }
  100% {
    transform: scale(1);
  }
}
