/* ==========================================================================
   77cx game — Design Tokens
   Theme: midnight-royal (Royal Casino Lounge at Midnight)
   ========================================================================== */

:root {
  /* ---------- Colors ---------- */
  --color-bg:             #0B1120;   /* Midnight Navy base */
  --color-bg-elevated:    #10192E;
  --color-surface:        #16213E;
  --color-surface-2:      #1C2A4A;
  --color-accent:         #D4AF37;   /* Royal Gold */
  --color-accent-bright:  #F4D160;
  --color-accent-dim:     #9C7F26;
  --color-white:          #FFFFFF;
  --color-text-primary:   #F8F9FC;
  --color-text-secondary: #AEB8D0;
  --color-text-muted:     #6B7594;
  --color-border:         #24304F;
  --color-error:          #FF5C5C;
  --color-success:        #3DDC84;

  /* Derived / utility colors */
  --color-accent-soft:    rgba(212, 175, 55, 0.12);
  --color-accent-line:    rgba(212, 175, 55, 0.32);
  --color-white-soft:     rgba(255, 255, 255, 0.06);
  --color-scrim:          rgba(5, 9, 18, 0.82);

  /* ---------- Typography ---------- */
  --font-display: 'Cinzel', 'Playfair Display', Georgia, 'Times New Roman', serif;
  --font-body:    'Inter', 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif;

  --text-xs:   0.75rem;
  --text-sm:   0.875rem;
  --text-base: 1rem;
  --text-lg:   1.125rem;
  --text-xl:   1.25rem;
  --text-2xl:  1.5rem;
  --text-3xl:  1.875rem;
  --text-4xl:  2.25rem;
  --text-5xl:  3rem;
  --text-6xl:  3.75rem;

  --leading-tight:  1.15;
  --leading-snug:   1.35;
  --leading-normal: 1.6;
  --leading-loose:  1.8;

  --tracking-wide:  0.04em;
  --tracking-wider: 0.12em;

  /* ---------- Spacing ---------- */
  --space-1:  0.25rem;
  --space-2:  0.5rem;
  --space-3:  0.75rem;
  --space-4:  1rem;
  --space-5:  1.25rem;
  --space-6:  1.5rem;
  --space-8:  2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --space-20: 5rem;
  --space-24: 6rem;

  /* ---------- Radii ---------- */
  --radius-sm:   6px;
  --radius-md:   12px;
  --radius-lg:   20px;
  --radius-xl:   28px;
  --radius-full: 9999px;

  /* ---------- Shadows ---------- */
  --shadow-card:        0 8px 30px rgba(0, 0, 0, 0.45);
  --shadow-card-hover:  0 18px 46px rgba(0, 0, 0, 0.55);
  --shadow-glow:        0 0 24px rgba(212, 175, 55, 0.30);
  --shadow-glow-strong: 0 0 48px rgba(212, 175, 55, 0.45);
  --shadow-white-lift:  0 4px 20px rgba(255, 255, 255, 0.08);
  --shadow-nav:         0 10px 40px rgba(0, 0, 0, 0.55);

  /* ---------- Gradients ---------- */
  --grad-gold:      linear-gradient(135deg, #F4D160 0%, #D4AF37 42%, #9C7F26 100%);
  --grad-gold-soft: linear-gradient(135deg, rgba(244, 209, 96, 0.18) 0%, rgba(212, 175, 55, 0.06) 100%);
  --grad-surface:   linear-gradient(160deg, #1C2A4A 0%, #10192E 100%);
  --grad-night:     linear-gradient(180deg, #0B1120 0%, #10192E 55%, #0B1120 100%);

  /* ---------- Layers ---------- */
  --z-base:   1;
  --z-raised: 10;
  --z-nav:    100;
  --z-modal:  200;
  --z-toast:  300;

  /* ---------- Motion ---------- */
  --transition-fast:   150ms ease;
  --transition-normal: 300ms cubic-bezier(0.4, 0, 0.2, 1);
  --transition-slow:   600ms cubic-bezier(0.4, 0, 0.2, 1);

  /* ---------- Layout ---------- */
  --container-max: 1240px;
  --container-pad: var(--space-5);
  --nav-height: 68px;

  /* Logo lockup geometry — derived from logo.png (mark bbox 1344x254 inside 1536x1024) */
  --logo-ratio-w:  6.0472;   /* image width  / mark height */
  --logo-ratio-h:  4.0315;   /* image height / mark height */
  --logo-off-x:   -0.5197;   /* left crop    / mark height */
  --logo-off-y:   -1.3071;   /* top crop     / mark height */
  --logo-aspect:   5.2913;   /* mark width   / mark height */
}

@media (min-width: 768px) {
  :root {
    --container-pad: var(--space-10);
    --nav-height: 76px;
  }
}

@media (min-width: 1200px) {
  :root {
    --container-pad: var(--space-16);
  }
}

/* ---------- Motion preferences ---------- */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
