/* AVYRA — Design Tokens
   Palette: Deep Navy #0F172A, Slate #334155, Soft Blue #2563EB accent
   Aesthetic: Apple/Stripe/Linear/OpenAI restraint
*/

:root {
  /* Fluid Type Scale */
  --text-xs: clamp(0.75rem, 0.7rem + 0.2vw, 0.8125rem);
  --text-sm: clamp(0.875rem, 0.82rem + 0.28vw, 0.9375rem);
  --text-base: clamp(1rem, 0.95rem + 0.25vw, 1.0625rem);
  --text-lg: clamp(1.125rem, 1rem + 0.6vw, 1.375rem);
  --text-xl: clamp(1.375rem, 1.15rem + 1.1vw, 1.875rem);
  --text-2xl: clamp(1.875rem, 1.4rem + 2vw, 2.75rem);
  --text-3xl: clamp(2.25rem, 1.4rem + 3.5vw, 4rem);
  --text-hero: clamp(2.75rem, 1.2rem + 5.5vw, 5.75rem);

  /* Spacing (4px base) */
  --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;
  --space-32: 8rem;
  --space-40: 10rem;

  /* Radius — modern, restrained */
  --radius-sm: 0.375rem;
  --radius-md: 0.625rem;
  --radius-lg: 0.875rem;
  --radius-xl: 1.25rem;
  --radius-2xl: 1.75rem;
  --radius-full: 9999px;

  /* Motion */
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --transition-fast: 180ms var(--ease-out);
  --transition: 300ms var(--ease-out);
  --transition-slow: 600ms var(--ease-out);

  /* Container widths */
  --content-narrow: 640px;
  --content-default: 960px;
  --content-wide: 1200px;
  --content-max: 1360px;

  /* Font families */
  --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'SF Pro Display', 'Segoe UI', system-ui, sans-serif;
  --font-mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
}

/* LIGHT MODE (default) */
:root,
[data-theme='light'] {
  /* Surfaces */
  --color-bg: #ffffff;
  --color-surface: #ffffff;
  --color-surface-2: #f8fafc;         /* Very light gray, per spec */
  --color-surface-3: #f1f5f9;
  --color-surface-tint: #eef2f7;

  /* Borders / dividers */
  --color-border: #e2e8f0;
  --color-border-strong: #cbd5e1;
  --color-divider: #eef2f7;

  /* Text */
  --color-text: #0f172a;              /* Deep Navy — spec primary */
  --color-text-strong: #020617;
  --color-text-muted: #475569;
  --color-text-faint: #94a3b8;
  --color-text-inverse: #ffffff;

  /* Brand */
  --color-primary: #0f172a;           /* Deep Navy */
  --color-primary-hover: #1e293b;
  --color-secondary: #334155;         /* Slate */
  --color-accent: #2563eb;            /* Soft Blue */
  --color-accent-hover: #1d4ed8;
  --color-accent-soft: #dbeafe;
  --color-accent-tint: #eff6ff;

  /* Semantic */
  --color-success: #16a34a;
  --color-warning: #d97706;

  /* Shadows — very restrained */
  --shadow-xs: 0 1px 2px rgba(15, 23, 42, 0.04);
  --shadow-sm: 0 1px 3px rgba(15, 23, 42, 0.05), 0 1px 2px rgba(15, 23, 42, 0.03);
  --shadow-md: 0 4px 12px rgba(15, 23, 42, 0.06), 0 2px 4px rgba(15, 23, 42, 0.03);
  --shadow-lg: 0 12px 32px rgba(15, 23, 42, 0.08), 0 4px 8px rgba(15, 23, 42, 0.04);
  --shadow-xl: 0 24px 60px rgba(15, 23, 42, 0.10), 0 8px 16px rgba(15, 23, 42, 0.05);

  /* Nav */
  --color-nav-bg: rgba(255, 255, 255, 0.72);
  --color-nav-border: rgba(15, 23, 42, 0.06);
}

/* DARK MODE */
[data-theme='dark'] {
  --color-bg: #0a0f1a;
  --color-surface: #0f172a;
  --color-surface-2: #111827;
  --color-surface-3: #1e293b;
  --color-surface-tint: #172033;

  --color-border: #1e293b;
  --color-border-strong: #334155;
  --color-divider: #172033;

  --color-text: #f8fafc;
  --color-text-strong: #ffffff;
  --color-text-muted: #94a3b8;
  --color-text-faint: #64748b;
  --color-text-inverse: #0f172a;

  --color-primary: #f8fafc;
  --color-primary-hover: #e2e8f0;
  --color-secondary: #cbd5e1;
  --color-accent: #3b82f6;
  --color-accent-hover: #60a5fa;
  --color-accent-soft: #1e3a8a;
  --color-accent-tint: #172554;

  --shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.3);
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.4), 0 1px 2px rgba(0, 0, 0, 0.25);
  --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.5), 0 2px 4px rgba(0, 0, 0, 0.3);
  --shadow-lg: 0 12px 32px rgba(0, 0, 0, 0.55), 0 4px 8px rgba(0, 0, 0, 0.35);
  --shadow-xl: 0 24px 60px rgba(0, 0, 0, 0.6), 0 8px 16px rgba(0, 0, 0, 0.4);

  --color-nav-bg: rgba(10, 15, 26, 0.72);
  --color-nav-border: rgba(255, 255, 255, 0.06);
}
