/* IBM Plex font files are bundled under the SIL Open Font License. */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 100 700;
  font-display: swap;
  src: url('./fonts/ibm-plex-sans-latin-variable.woff2') format('woff2');
}

@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('./fonts/ibm-plex-mono-latin-400.woff2') format('woff2');
}

@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('./fonts/ibm-plex-mono-latin-500.woff2') format('woff2');
}

@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('./fonts/ibm-plex-mono-latin-700.woff2') format('woff2');
}

/* GenomicX Design Tokens */
:root {
  --gx-bg: #f5f6f7;
  --gx-bg-alt: #ffffff;
  --gx-surface: #ffffff;
  --gx-surface-hover: #eceef1;
  --gx-bg-elevated: #ffffff;
  --gx-text: #25282e;
  --gx-text-muted: #5d636d;
  --gx-text-bright: #25282e;
  --gx-text-inverted: #ffffff;
  --gx-border: #cbd0d7;
  --gx-accent: #245db4;
  --gx-accent-hover: #1c4b94;
  --gx-indigo: #6366F1;
  --gx-success: #287447;
  --gx-warning: #976315;
  --gx-error: #b52e38;
  --gx-accent-dim: rgba(36, 93, 180, 0.06);
  --gx-nav-bg: #1c2027;
  --gx-nav-text: #f2f4f7;
  --gx-nav-muted: #c0c7d1;
  --gx-code-bg: #f0f1f3;
  --gx-shadow: none;
  --gx-transition: 0.2s ease;
  --gx-max-width: 1280px;
  --gx-radius-sm: 4px;
  --gx-radius: 4px;
  --gx-radius-lg: 6px;
  --gx-radius-pill: 4px;
  --gx-font-sans: 'IBM Plex Sans', ui-sans-serif, system-ui, sans-serif;
  --gx-font-mono: 'IBM Plex Mono', ui-monospace, monospace;
  --gx-gradient: var(--gx-accent);
  --gx-shadow-md: 0 3px 10px rgba(0, 0, 0, 0.10);
  --gx-tag-bg: #eef0f3;
  --gx-tag-border: #cbd0d7;
  --gx-tag-text: #505966;
  --gx-info: #3b82f6;
  --gx-disabled-bg: #e4e7eb;
  --gx-disabled-text: #505965;
}

[data-theme="dark"] {
  --gx-bg: #191c21;
  --gx-bg-alt: #23272e;
  --gx-surface: #23272e;
  --gx-surface-hover: #2d323a;
  --gx-bg-elevated: #23272e;
  --gx-text: #e9ecf1;
  --gx-text-muted: #b0b7c2;
  --gx-text-bright: #e9ecf1;
  --gx-text-inverted: #0f172a;
  --gx-border: #424953;
  --gx-accent: #90b7f0;
  --gx-accent-hover: #aecbf5;
  --gx-indigo: #818cf8;
  --gx-success: #83c79e;
  --gx-warning: #dfb674;
  --gx-error: #f19aa1;
  --gx-accent-dim: rgba(144, 183, 240, 0.08);
  --gx-nav-bg: #14171b;
  --gx-code-bg: #191c21;
  --gx-shadow: none;
  --gx-gradient: var(--gx-accent);
  --gx-shadow-md: 0 4px 12px rgba(0, 0, 0, 0.4);
  --gx-tag-bg: #2d323a;
  --gx-tag-border: #424953;
  --gx-tag-text: #c4cbd5;
  --gx-info: #60a5fa;
  --gx-disabled-bg: #343b46;
  --gx-disabled-text: #e4e9f0;
}
