/* SOF UG tokens. Subset of the SOF Design System tokens.css (sof-ds.vercel.app, v1.2.0).
   Names match the DS so values can be re-synced. Brand tokens (--sof-*) do not flip. */

@font-face { font-family: 'Polysans Median'; font-weight: 400; font-style: normal; font-display: swap; src: url('../fonts/polysans-median.woff2') format('woff2'); }
@font-face { font-family: 'Polysans Neutral'; font-weight: 400; font-style: normal; font-display: swap; src: url('../fonts/polysans-neutral.woff2') format('woff2'); }
@font-face { font-family: 'Polysans Slim'; font-weight: 400; font-style: normal; font-display: swap; src: url('../fonts/polysans-slim.woff2') format('woff2'); }
@font-face { font-family: 'Dagine'; font-weight: 400; font-style: normal; font-display: swap; src: url('../fonts/dagine.woff2') format('woff2'); }

:root {
  /* Type. Polysans covers only letters, digits, space and , . / : so every stack keeps the Jakarta fallback. */
  --font-secondary: 'Plus Jakarta Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-primary: 'Polysans Neutral', var(--font-secondary);
  --font-display: 'Polysans Slim', 'Polysans Neutral', var(--font-secondary);
  --font-cta: 'Polysans Median', 'Polysans Neutral', var(--font-secondary);
  --font-accent: 'Dagine', var(--font-secondary);

  /* SOF UG palette */
  --sof-ug-cyan: #00F4DC;
  --sof-ug-teal: #009D94;
  --sof-ug-deep: #081C1B;
  --sof-ug-cream: #F9F4EB;
  --sof-ug-white: #FFFFFF;
  --sof-ug-black: #000000;
  --sof-ug-forest: #0E3937;
  --sof-ug-mint: #5DE0D0;
  --sof-ug-ice: #CCFFF9;
  --sof-ug-btn-teal: #96EBE1;
  --sof-ug-gradient-glow: radial-gradient(circle at 92% 8%, #081C1B 0%, rgba(8,28,27,0) 55%), linear-gradient(135deg, #081C1B 22%, #009D94 42%, #00F4DC 52%, #009D94 62%, #081C1B 82%);
  --sof-ug-gradient-soft: radial-gradient(circle at 50% 45%, #00F4DC 0%, #009D94 50%, #081C1B 150%);

  /* Accent only on UG surfaces (RULE-016) */
  --sof-yellow: #FFB917;
  --sof-accent-4: #DFDDD6;
  --sof-accent-5: #FFF7E5;

  /* Semantic */
  --fg-primary: #081C1B;
  --fg-secondary: #4A5553;
  --fg-muted: #5C5C5C;
  --fg-placeholder: #6B6B6B;
  --border: rgba(8, 28, 27, 0.1);
  --border-strong: #E6E2D8;  /* barely-visible field outline (owner request); fills carry the field shape */
  --stroke-teal: #B9EDE5;     /* light teal outlines for cards, tiles and the timeline */
  --border-control: #B5B1A6; /* checkbox square only */
  --error: #DC2626;
  --error-text: #B91C1C;
  --success-text: #166534;

  /* Page background: white fading to light UG teal (owner reference, bottom-left glow) */
  --page-bg: linear-gradient(205deg, #FFFFFF 34%, #EAFBF8 58%, #B4EEE6 100%);

  /* Spacing (4px base) */
  --space-1: 4px; --space-2: 8px; --space-3: 12px; --space-4: 16px; --space-5: 20px;
  --space-6: 24px; --space-8: 32px; --space-10: 40px; --space-12: 48px; --space-16: 64px;

  --radius-md: 8px; --radius-lg: 12px; --radius-xl: 16px; --radius-2xl: 24px; --radius-full: 999px;

  --shadow-1: none;
  --shadow-2: none;
  --shadow-4: none;

  --ease-smooth: cubic-bezier(.32, .72, 0, 1);
  --ease-color: cubic-bezier(.215, .61, .355, 1);
  --duration-color: .2s;
  --duration-transform: .45s;
  --duration-fade: .3s;
}
