/* LaurenceYang Commercial Space & Satellite Internet Research OS — three-layer design tokens. */
:root {
  /* Layer 1: primitives */
  --jr-green-50: #f4faf6;
  --jr-green-100: #e5f4ea;
  --jr-green-200: #c8e8d3;
  --jr-green-300: #9fd5b3;
  --jr-green-400: #6dbb8d;
  --jr-green-500: #439c6d;
  --jr-green-600: #2f7d55;
  --jr-green-700: #276446;
  --jr-green-800: #214f3a;
  --jr-green-900: #193f2f;
  --jr-green-950: #0b2319;

  --jr-stone-0: #ffffff;
  --jr-stone-50: #f7f8f5;
  --jr-stone-100: #eef1ec;
  --jr-stone-200: #dfe5de;
  --jr-stone-300: #c5cec5;
  --jr-stone-500: #6d7a71;
  --jr-stone-700: #3e4942;
  --jr-stone-900: #17201a;

  --jr-amber-500: #b7791f;
  --jr-amber-700: #80510f;
  --jr-red-500: #c8564b;
  --jr-red-700: #963b34;
  --jr-blue-600: #326b85;
  --jr-violet-600: #6a5b8d;

  --jr-space-1: 0.25rem;
  --jr-space-2: 0.5rem;
  --jr-space-3: 0.75rem;
  --jr-space-4: 1rem;
  --jr-space-5: 1.25rem;
  --jr-space-6: 1.5rem;
  --jr-space-8: 2rem;
  --jr-space-10: 2.5rem;
  --jr-space-12: 3rem;
  --jr-space-16: 4rem;

  --jr-font-xs: 0.75rem;
  --jr-font-sm: 0.875rem;
  --jr-font-md: 1rem;
  --jr-font-lg: 1.125rem;
  --jr-font-xl: 1.25rem;
  --jr-font-2xl: 1.5rem;
  --jr-font-3xl: 2rem;
  --jr-font-4xl: 3rem;

  --jr-radius-sm: 0.375rem;
  --jr-radius-md: 0.625rem;
  --jr-radius-lg: 0.875rem;
  --jr-radius-xl: 1.25rem;
  --jr-shadow-sm: 0 1px 2px rgb(11 35 25 / 0.06);
  --jr-shadow-md: 0 16px 40px rgb(11 35 25 / 0.10);
  --jr-duration-fast: 150ms;
  --jr-duration-normal: 220ms;

  /* Layer 2: semantic */
  --jr-color-background: var(--jr-stone-50);
  --jr-color-surface: var(--jr-stone-0);
  --jr-color-surface-subtle: var(--jr-green-50);
  --jr-color-surface-strong: var(--jr-green-950);
  --jr-color-text: var(--jr-stone-900);
  --jr-color-text-muted: var(--jr-stone-500);
  --jr-color-text-on-strong: var(--jr-green-50);
  --jr-color-text-on-strong-muted: var(--jr-green-300);
  --jr-color-border: var(--jr-stone-200);
  --jr-color-border-strong: var(--jr-green-300);
  --jr-color-primary: var(--jr-green-700);
  --jr-color-primary-hover: var(--jr-green-800);
  --jr-color-primary-active: var(--jr-green-900);
  --jr-color-primary-soft: var(--jr-green-100);
  --jr-color-focus: var(--jr-green-500);
  --jr-color-positive: var(--jr-green-700);
  --jr-color-negative: var(--jr-red-700);
  --jr-color-warning: var(--jr-amber-700);
  --jr-color-info: var(--jr-blue-600);
  --jr-color-evidence: var(--jr-green-300);

  --jr-font-sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --jr-font-serif: Iowan Old Style, Charter, Georgia, serif;
  --jr-font-mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  --jr-page-gutter: clamp(1rem, 4vw, 3rem);
  --jr-page-width: 78rem;

  /* Layer 3: component */
  --jr-button-bg: var(--jr-color-primary);
  --jr-button-bg-hover: var(--jr-color-primary-hover);
  --jr-button-fg: var(--jr-stone-0);
  --jr-button-radius: var(--jr-radius-md);
  --jr-button-height: 2.75rem;
  --jr-card-bg: var(--jr-color-surface);
  --jr-card-border: var(--jr-color-border);
  --jr-card-radius: var(--jr-radius-lg);
  --jr-card-shadow: var(--jr-shadow-sm);
  --jr-input-bg: var(--jr-color-surface);
  --jr-input-border: var(--jr-color-border);
  --jr-input-focus: var(--jr-color-focus);
  --jr-table-header-bg: var(--jr-green-50);
  --jr-table-row-hover: var(--jr-green-50);
}

@media (prefers-color-scheme: dark) {
  :root {
    --jr-color-background: #0d1712;
    --jr-color-surface: #122119;
    --jr-color-surface-subtle: #172b20;
    --jr-color-surface-strong: #09150f;
    --jr-color-text: #eff7f1;
    --jr-color-text-muted: #a7b8ac;
    --jr-color-text-on-strong: #eff7f1;
    --jr-color-border: #294335;
    --jr-color-border-strong: #3d7656;
    --jr-color-primary: #6dbb8d;
    --jr-color-primary-hover: #9fd5b3;
    --jr-color-primary-active: #c8e8d3;
    --jr-color-primary-soft: #183c2a;
    --jr-color-focus: #9fd5b3;
    --jr-color-positive: #9fd5b3;
    --jr-color-negative: #ed978e;
    --jr-color-warning: #e4b86b;
    --jr-color-info: #8fc4d8;
  }
}
