/* =============================================================
   Society of Scholar Writers — Design Tokens
   Palette: Deep Sapphire Navy / Slate Indigo / Coral Orange
   ============================================================= */

:root {

  /* ── Brand Colors ────────────────────────────────────────── */

  /* Primary 70% — Deep Sapphire Navy */
  --color-primary:        #0F1E36;
  --color-primary-hover:  #0B1628;
  --color-primary-dark:   #070E1A;

  /* Secondary 20% — Slate Indigo */
  --color-secondary:      #253755;
  --color-secondary-hover:#1D2D47;
  --color-secondary-light:#2E4568;

  /* Accent 10% — Vivid Coral Orange */
  --color-accent:         #FF5A36;
  --color-accent-hover:   #E84A28;
  --color-accent-light:   #FDF8F5;

  /* ── Neutrals ────────────────────────────────────────────── */
  --color-bg:             #F4F6F9;
  --color-surface:        #FFFFFF;
  --color-surface-2:      #EDF0F5;
  --color-surface-3:      #E2E7EF;

  --color-text:           #0F1E36;
  --color-text-muted:     #3D5068;
  --color-text-faint:     #7A8EA8;
  --color-text-inverse:   #FFFFFF;

  --color-border:         rgba(15, 30, 54, 0.12);
  --color-divider:        rgba(15, 30, 54, 0.07);

  /* Navy aliases for components referencing --color-navy */
  --color-navy:           #0F1E36;
  --color-navy-mid:       #253755;
  --color-navy-light:     #2E4568;

  /* Status */
  --color-error:          #C0392B;
  --color-error-bg:       #FEF0EE;
  --color-success:        #1E7E4A;
  --color-success-bg:     #EBF7F0;

  /* ── Typography ─────────────────────────────────────────── */
  --font-display:  'Open Sans', 'Helvetica Neue', Arial, sans-serif;
  --font-body:     'Open Sans', 'Helvetica Neue', Arial, sans-serif;

  --text-xs:    clamp(0.75rem,  0.7rem  + 0.25vw, 0.875rem);
  --text-sm:    clamp(0.875rem, 0.8rem  + 0.35vw, 1rem);
  --text-base:  clamp(1rem,     0.95rem + 0.25vw, 1.125rem);
  --text-lg:    clamp(1.125rem, 1rem    + 0.75vw, 1.5rem);
  --text-xl:    clamp(1.5rem,   1.2rem  + 1.25vw, 2.25rem);
  --text-2xl:   clamp(2rem,     1.2rem  + 2.5vw,  3.5rem);
  --text-3xl:   clamp(2.5rem,   1rem    + 4vw,    5rem);

  --leading-tight:   1.2;
  --leading-snug:    1.4;
  --leading-normal:  1.6;
  --leading-relaxed: 1.75;

  --tracking-tight:  -0.02em;
  --tracking-normal: 0em;
  --tracking-wide:   0.04em;
  --tracking-wider:  0.08em;

  --weight-regular:  400;
  --weight-medium:   500;
  --weight-semibold: 600;
  --weight-bold:     700;

  /* ── 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-7:   1.75rem;
  --space-8:   2rem;
  --space-10:  2.5rem;
  --space-12:  3rem;
  --space-14:  3.5rem;
  --space-16:  4rem;
  --space-20:  5rem;
  --space-24:  6rem;
  --space-28:  7rem;
  --space-32:  8rem;

  /* ── Border Radius ──────────────────────────────────────── */
  --radius-sm:   0.375rem;
  --radius-md:   0.5rem;
  --radius-lg:   0.75rem;
  --radius-xl:   1rem;
  --radius-2xl:  1.5rem;
  --radius-full: 9999px;

  /* ── Shadows (navy-tinted) ──────────────────────────────── */
  --shadow-xs:  0 1px 2px rgba(15, 30, 54, 0.07);
  --shadow-sm:  0 2px 6px rgba(15, 30, 54, 0.09), 0 1px 2px rgba(15, 30, 54, 0.05);
  --shadow-md:  0 4px 16px rgba(15, 30, 54, 0.11), 0 2px 4px rgba(15, 30, 54, 0.06);
  --shadow-lg:  0 8px 32px rgba(15, 30, 54, 0.13), 0 4px 8px rgba(15, 30, 54, 0.07);
  --shadow-xl:  0 16px 48px rgba(15, 30, 54, 0.16), 0 6px 12px rgba(15, 30, 54, 0.09);

  /* ── Transitions ────────────────────────────────────────── */
  --transition-interactive: 180ms cubic-bezier(0.16, 1, 0.3, 1);
  --transition-slow:        350ms cubic-bezier(0.16, 1, 0.3, 1);
  --transition-fast:        120ms cubic-bezier(0.16, 1, 0.3, 1);

  /* ── Layout ─────────────────────────────────────────────── */
  --container-max:    1200px;
  --container-wide:   1400px;
  --container-narrow: 760px;
  --header-height:    72px;

  /* ── Z-index ─────────────────────────────────────────────── */
  --z-base:     0;
  --z-raised:   10;
  --z-dropdown: 100;
  --z-sticky:   200;
  --z-overlay:  300;
  --z-modal:    400;
  --z-toast:    500;
}
