/* Bill Swiper — DARK (current app design). Source: design-systems/bill-swiper-dark.html
   Dark-only, mesh-gradient canvas, glassmorphism, SF Pro Display ≥500 weight. */
:root {
  --bg: #06061A;
  --bg-2: #05050F;
  --page: #0A0A1E;
  --mesh-core: #241A52;
  --text: #FFFFFF;
  --text-sub: #8FA8B8;
  --line: rgba(255, 255, 255, .08);

  --teal: #0DD9C4;
  --blue: #4D59FF;
  --crimson: #D4402A;
  --purple: #9933F2;
  --amber: #FF6B0F;
  --gold: #FFD23C;
  --emerald: #19CC59;

  /* guest identity palette: guest 0 ("Me") is always amber */
  --guest-0: #FF6B0F; --guest-1: #0DD9C4; --guest-2: #4D59FF; --guest-3: #9933F2;
  --guest-4: #19CC59; --guest-5: #D4402A; --guest-6: #FFD23C;

  --grad-brand: linear-gradient(135deg, var(--teal), var(--blue));
  --grad-promo: linear-gradient(135deg, var(--gold), var(--amber));

  --glass-dark: rgba(8, 8, 12, .42);      /* _Glass: blur 6, border white 7% */
  --glass-light: rgba(255, 255, 255, .12); /* GlassButton: blur 16, border white 22% */
  --glass-card: rgba(255, 255, 255, .06);  /* food card: blur 10 */

  --font: 'SF Pro Display', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --w-body: 500; --w-strong: 700; --w-title: 800; --w-amount: 900;

  --r-chip: 14px; --r-control: 20px; --r-button: 22px; --r-card: 24px; --r-hero: 28px;
  --btn-h: 58px;
  --shadow-cta: 0 14px 30px -8px rgba(77, 89, 255, .4);
  --shadow-float: 0 20px 50px -12px rgba(0, 0, 0, .6);

  --ease-out: cubic-bezier(.215, .61, .355, 1);   /* easeOutCubic */
  --ease-back: cubic-bezier(.34, 1.56, .64, 1);   /* easeOutBack */
  --dur-micro: 180ms; --dur-screen: 420ms; --dur-reveal: 600ms;
  /* swipe feedback (design system §05): fly to a guest, sector flash, price pop; mesh blob drift (landing) */
  --dur-fly: 330ms; --dur-flash: 480ms; --dur-pop: 620ms; --dur-mesh: 24s;
  --dur-demo: 3.4s;   /* one loop of the landing's swipe demo: wait, fly (330), flash (480), pop (620) */
  --dur-progress: 1200ms;   /* the how-it-works progress bar fills once on reveal */
}
