/* GoFly corporate identity - design tokens.
CANONICAL SOURCE: the "GoFly.Online - App" design system in Claude Design,
tokens/colors.css - this file is a verbatim copy plus legacy aliases at the end.
Do not edit by hand: refresh via /design-sync (see the gfo-design-tokens skill).

Brand foundations (GoFly Online Design System):
GoFly Orange #F15A26 - primary brand + action signature
GFO Blue #29ABE2 - secondary brand, informational
Signal Red #FF1616 - warnings / destructive
Black #000000 - White #FFFFFF

Light mode is the default (:root); dark mode is opt-in via
[data-theme="dark"] on <html>. Author UI against the SEMANTIC
aliases (--surface-*, --text-*, --accent-*, status-*) or the
legacy --gfo-color-* aliases, not the raw values. */

:root {
  color-scheme: light;

/* ===== Brand - raw values (reference only; use aliases below) ===== */
--gfo-orange: #F15A26;
  --gfo-orange-600: #D94A1C; /* hover */
--gfo-orange-700: #C13F16; /* active */
--gfo-orange-tint: #FDEFEA; /* subtle wash / selected surface */
--gfo-blue: #29ABE2;
  --gfo-blue-600: #1E93C9;
  --gfo-blue-tint: #EAF6FC;
  --gfo-blue-ink: #155A7A;
  --signal-red: #FF1616;
  --black: #000000;
  --white: #FFFFFF;

/* Extended corporate-identity palette - reserved for illustration,
  charts, and content-type coding. Not applied to base components. */
--palette-sky: #29ABE2;
  --palette-red: #FF1616;
  --palette-purple: #50005C;
  --palette-green: #006B0E;
  --palette-teal: #009873;
  --palette-royal: #000ED0;
  --palette-navy: #000273;
  --palette-grey: #AAAAAA;

/* ===== Neutral ramp (warm-neutral grey) ===== */
--n-0: #FFFFFF;
  --n-25: #FAFAFA;
  --n-50: #F4F4F5;
  --n-100: #EFEFF2;
  --n-200: #E4E4E7;
  --n-300: #D4D4D8;
  --n-400: #A1A1AA;
  --n-500: #71717A;
  --n-600: #52525B;
  --n-800: #27272A;
  --n-900: #18181B;
  --n-950: #09090B;

/* ===== SEMANTIC - surfaces ===== */
--surface-page: var(--n-25); /* app background */
--surface-card: var(--n-0); /* cards, sheets, app-bar */
--surface-alt: var(--n-50); /* subtle raised panels */
--surface-sunk: var(--n-100); /* wells, reader background */
--border: var(--n-200); /* hairline dividers/borders */
--border-strong: var(--n-300); /* inputs, emphasised edges */

/* ===== SEMANTIC - text ===== */
--text-strong: var(--n-900); /* headings, primary body */
--text-body: var(--n-900);
  --text-muted: var(--n-600); /* secondary copy */
--text-subtle: var(--n-500); /* meta, captions */
--text-faint: var(--n-400); /* disabled, placeholders */
--text-on-accent: var(--white);

/* ===== SEMANTIC - accent (GoFly Orange) ===== */
--accent: var(--gfo-orange);
  --accent-hover: var(--gfo-orange-600);
  --accent-active: var(--gfo-orange-700);
  --accent-subtle: var(--gfo-orange-tint);
  --accent-contrast: var(--white);
  --focus-ring: rgba(241, 90, 38, 0.28);

/* ===== SEMANTIC - status ===== */
/* Info / secondary - GFO Blue */
--info: var(--gfo-blue);
  --info-subtle: var(--gfo-blue-tint);
  --info-border: #B8E0F3;
  --info-text: var(--gfo-blue-ink);
  --info-contrast: var(--white);

/* Danger / destructive - Signal Red */
--danger: var(--signal-red);
  --danger-hover: #D40000;
  --danger-subtle: #FFECEC;
  --danger-border: #FFC7C7;
  --danger-text: #B00000;
  --danger-contrast: var(--white);

/* Warning - amber (functional caution tone, distinct from danger) */
--warning: #D97706;
  --warning-subtle: #FEF3C7;
  --warning-border: #FDE68A;
  --warning-text: #92400E;

/* Success - green */
--success: #16A34A;
  --success-subtle: #F0FDF4;
  --success-border: #BBF7D0;
  --success-text: #15803D;

/* Overlay scrim for modals */
--scrim: rgba(9, 9, 11, 0.55);

/* ===== SEMANTIC - radii =====
  Gentle everywhere except the brand button, which is square
  (radius 0) - a defining GoFly trait. Same in light and dark. */
--radius-xs: 0.125rem; /* 2px */
--radius-sm: 0.25rem; /* 4px */
--radius-md: 0.5rem; /* 8px - inputs, tiles, icons */
--radius-lg: 0.75rem; /* 12px - cards, list rows */
--radius-xl: 1rem; /* 16px - modals, hero cards */
--radius-2xl: 1.25rem; /* 20px */
--radius-full: 9999px; /* pills, avatars, dots */
--radius-button: 0; /* GoFly brand buttons are SQUARE */

/* ===== Legacy compatibility aliases (AviationDictionary et al) =====
  These inherit light/dark adaptation automatically via the vars they
  point to. --gfo-color-primary maps to --info so it adapts in dark. */
--gfo-color-primary: var(--info); /* GFO Blue, adapts in dark */
--gfo-color-accent: var(--accent); /* GoFly Orange */
--gfo-color-warning: var(--warning);
  --gfo-color-text: var(--text-body);
  --gfo-color-text-secondary: var(--text-muted);
  --gfo-color-background: var(--surface-page);
  --gfo-color-surface: var(--surface-card);
  --gfo-color-border: var(--border);
  --gfo-font-body: Archivo, system-ui, sans-serif;
  --gfo-radius-pill: 999px;
}

/* ============================================================
DARK MODE - opt-in via [data-theme="dark"] on <html>
============================================================ */
[data-theme="dark"] {
  color-scheme: dark;

--surface-page: #151515;
  --surface-card: #1E1E1E;
  --surface-alt: #262626;
  --surface-sunk: #0F0F0F;
  --border: #2F2F2F;
  --border-strong: #3C3C3C;

--text-strong: #FAFAFA;
  --text-body: #FAFAFA;
  --text-muted: #C1C1C1;
  --text-subtle: #9E9E9E;
  --text-faint: #6B6B6B;
  --text-on-accent: #FFFFFF;

/* Orange stays the brand signature on both themes */
--accent: #FF6A3C;
  --accent-hover: #FF7E55;
  --accent-active: #F15A26;
  --accent-subtle: rgba(241, 90, 38, 0.18);
  --focus-ring: rgba(255, 106, 60, 0.35);

--info: #4EBFEE;
  --info-subtle: rgba(41, 171, 226, 0.16);
  --info-border: rgba(41, 171, 226, 0.40);
  --info-text: #9CD8EE;

--danger: #FF4141;
  --danger-hover: #FF5C5C;
  --danger-subtle: rgba(255, 22, 22, 0.16);
  --danger-border: rgba(255, 22, 22, 0.42);
  --danger-text: #FF9A9A;

--warning: #F59E0B;
  --warning-subtle: rgba(245, 158, 11, 0.14);
  --warning-border: rgba(245, 158, 11, 0.40);
  --warning-text: #FCD34D;

--success: #22C55E;
  --success-subtle: rgba(34, 197, 94, 0.14);
  --success-border: rgba(34, 197, 94, 0.40);
  --success-text: #86EFAC;

--scrim: rgba(0, 0, 0, 0.62);
}
