/* ============================================================
   AbroadLedger Design System — full token set (flat file).
   All four token files are inlined here so the variables load
   in a single HTTP request with no chained import statements.
   ============================================================ */

/* ── Color tokens ── */
:root {
  /* Navy scale */
  --navy-dark:   #07111F;
  --navy:        #0C1D35;
  --navy-mid:    #122848;
  --navy-light:  #1A3A5C;

  /* Gold scale */
  --gold:        #C9A84C;
  --gold-light:  #E2C270;
  --gold-pale:   #F5E9C8;

  /* Neutrals */
  --white:       #FFFFFF;
  --off-white:   #F7F5F0;
  --parchment:   #FAF9F6;

  /* Text */
  --text-light:  #CBD5E1;
  --text-muted:  #94A3B8;
  --text-body:   #334155;
  --text-soft:   #64748B;

  /* Lines & borders */
  --border:           rgba(201,168,76,0.20);
  --border-faint:     rgba(201,168,76,0.12);
  --border-on-dark:   rgba(255,255,255,0.08);
  --border-on-light:  rgba(0,0,0,0.06);

  /* Risk / status semantic colors */
  --risk-low-bg:      rgba(34,197,94,0.15);
  --risk-low-fg:      #86EFAC;
  --risk-low-border:  rgba(34,197,94,0.35);

  --risk-medium-bg:   rgba(234,179,8,0.15);
  --risk-medium-fg:   #FDE68A;
  --risk-medium-border: rgba(234,179,8,0.35);

  --risk-high-bg:     rgba(249,115,22,0.15);
  --risk-high-fg:     #FDBA74;
  --risk-high-border: rgba(249,115,22,0.35);

  --risk-critical-bg: rgba(239,68,68,0.15);
  --risk-critical-fg: #FCA5A5;
  --risk-critical-border: rgba(239,68,68,0.35);

  /* Solid risk fills (PDF badges) */
  --risk-medium-solid:   #EAB308;
  --risk-high-solid:     #F97316;
  --risk-critical-solid: #EF4444;

  /* Semantic aliases */
  --bg-page:        var(--navy-dark);
  --bg-light:       var(--off-white);
  --surface-card:   var(--navy-mid);
  --surface-raised: var(--navy-light);
  --surface-light:  var(--white);
  --accent:         var(--gold);
  --accent-hover:   var(--gold-light);
  --on-accent:      var(--navy-dark);
  --text-on-dark:   var(--text-light);
  --text-on-light:  var(--text-body);
}

/* ── Typography tokens ── */
:root {
  --font-display:   'Playfair Display', Georgia, 'Times New Roman', serif;
  --font-body:      'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-headline:  var(--font-display);
  --font-ui:        var(--font-body);

  --fw-light:     300;
  --fw-regular:   400;
  --fw-medium:    500;
  --fw-semibold:  600;
  --fw-bold:      700;

  --fs-display:  3.6rem;
  --fs-h1:       2.6rem;
  --fs-h2:       1.55rem;
  --fs-h3:       1.175rem;
  --fs-lead:     1.125rem;
  --fs-body:     0.9375rem;
  --fs-ui:       0.875rem;
  --fs-small:    0.8125rem;
  --fs-tiny:     0.75rem;
  --fs-micro:    0.6875rem;

  --lh-tight:    1.15;
  --lh-heading:  1.25;
  --lh-snug:     1.45;
  --lh-body:     1.7;

  --ls-display:  -0.02em;
  --ls-tight:    -0.01em;
  --ls-label:     0.08em;
  --ls-eyebrow:   0.10em;
}

/* ── Spacing, radius, shadow & layout tokens ── */
:root {
  --space-1:   4px;
  --space-2:   8px;
  --space-3:   12px;
  --space-4:   16px;
  --space-5:   24px;
  --space-6:   32px;
  --space-7:   48px;
  --space-8:   64px;
  --space-9:   80px;
  --space-10:  100px;

  --radius-sm:   6px;
  --radius-md:   12px;
  --radius-lg:   20px;
  --radius-pill: 100px;

  --shadow-sm:   0 2px 8px rgba(7,17,31,0.12);
  --shadow-md:   0 8px 32px rgba(7,17,31,0.18);
  --shadow-lg:   0 24px 64px rgba(7,17,31,0.28);

  --shadow-gold:       0 4px 20px rgba(201,168,76,0.35);
  --shadow-gold-hover: 0 8px 28px rgba(201,168,76,0.45);

  --max-w:       1120px;
  --max-w-wide:  1180px;
  --gutter:      24px;
  --nav-h:       68px;

  --ease-out:   cubic-bezier(0.16, 1, 0.3, 1);
  --ease-pop:   cubic-bezier(0.175, 0.885, 0.32, 1.275);
  --dur-fast:   0.15s;
  --dur-base:   0.25s;
  --dur-slow:   0.4s;

  --hero-glow:
    radial-gradient(ellipse 80% 60% at 50% -10%, rgba(201,168,76,0.12) 0%, transparent 60%),
    radial-gradient(ellipse 60% 40% at 80% 80%, rgba(18,40,72,0.8) 0%, transparent 60%);
}
