/* GEA design tokens — lean subset for the Worker UI.
   Fonts: Adobe Caslon Pro → Libre Caslon; Futura PT → Jost (Google Fonts). */
@import url("https://fonts.googleapis.com/css2?family=Libre+Caslon+Display&family=Libre+Caslon+Text:ital,wght@0,400;0,700;1,400&family=Jost:ital,wght@0,300;0,400;0,500;0,600;1,400&display=swap");

:root {
  /* Primary */
  --gu-blue: #041e42;
  --gu-gray: #63666a;
  --gea-navy: #002d62;
  --gea-green: #55ba47;
  --gea-cream: #f5f3ee;

  /* Secondary */
  --gu-blue-280: #012169;
  --gu-blue-293: #003da5;
  --gu-gray-4: #bbbcbc;
  --gu-stone: #d6d2c4;

  /* Accents */
  --gu-red: #d50032;
  --gu-green: #00843d;
  --gu-gold: #f8e08e;

  /* Neutrals */
  --n-0: #ffffff;
  --n-25: #fbfbfa;
  --n-50: #f5f3ee;
  --n-100: #f0f0f0;
  --n-200: #e4e4e2;
  --n-300: #bbbcbc;
  --n-500: #8b8d8f;
  --n-600: #63666a;
  --n-800: #2b3648;
  --n-900: #041e42;

  --blue-tint-25: #c0c7d0;

  /* Semantic surfaces */
  --surface-page: var(--n-0);
  --surface-subtle: var(--n-100);
  --surface-warm: var(--gea-cream);
  --surface-inverse: var(--gu-blue);

  /* Semantic text */
  --text-heading: var(--gu-blue);
  --text-body: var(--n-800);
  --text-muted: var(--gu-gray);
  --text-on-inverse: var(--n-0);
  --text-on-inverse-muted: var(--blue-tint-25);
  --text-link: var(--gu-blue-293);
  --text-link-hover: var(--gu-blue);

  /* Lines */
  --line-hairline: var(--n-200);
  --line-on-inverse: rgba(255, 255, 255, 0.28);
  --line-accent: var(--gea-green);

  /* Interactive */
  --action-primary: var(--gu-red);
  --action-primary-hover: #b30029;
  --action-secondary: var(--gu-blue);
  --action-secondary-hover: var(--gu-blue-280);
  --focus-ring: var(--gu-blue-293);

  /* Type families */
  --font-display: "Libre Caslon Display", "Adobe Caslon Pro", "Libre Caslon Text", Georgia, serif;
  --font-serif: "Libre Caslon Text", "Adobe Caslon Pro", Georgia, serif;
  --font-sans: "Jost", "Futura PT", Futura, "Neue Helvetica", Helvetica, Arial, sans-serif;

  /* Sizes */
  --fs-2xs: 12px;
  --fs-xs: 13px;
  --fs-sm: 15px;
  --fs-base: 17px;
  --fs-lg: 22px;
  --fs-2xl: 32px;
  --fs-3xl: 40px;

  --fw-light: 300;
  --fw-regular: 400;
  --fw-medium: 500;

  --lh-tight: 1.06;
  --lh-heading: 1.24;
  --lh-body: 1.6;
  --lh-loose: 1.9;

  --ls-caps: 0.12em;

  /* Spacing */
  --sp-2: 8px;
  --sp-3: 12px;
  --sp-4: 16px;
  --sp-5: 20px;
  --sp-6: 24px;
  --sp-8: 32px;
  --sp-12: 48px;
  --sp-16: 64px;
  --control-h: 44px;

  /* Radius — Georgetown is squared-off */
  --r-none: 0;
  --r-xs: 2px;
  --r-button: var(--r-none);
  --r-input: var(--r-xs);

  /* Motion */
  --ease-standard: cubic-bezier(0.22, 0.61, 0.36, 1);
  --dur-fast: 160ms;
  --dur-base: 240ms;
  --transition-color: color var(--dur-fast) var(--ease-standard),
    background-color var(--dur-fast) var(--ease-standard),
    border-color var(--dur-fast) var(--ease-standard);
}
