/* Rivoli design tokens -- copied verbatim from /opt/core/core.md sections 1-3.
   If you edit this file, update that source doc too (and any sibling
   project's copy) -- see core.md's "Scope" section for why this is
   duplicated rather than shared via a package. */

:root {
  --color-bg: #f7f7f8;
  --color-surface: #ffffff;
  --color-surface-raised: #ffffff;
  --color-border: #e2e2e6;
  --color-text: #16161a;
  --color-text-muted: #62626b;

  --color-primary: #3457d5;
  --color-primary-hover: #2a46b0;
  --color-primary-contrast: #ffffff;

  --color-success: #1a7f4e;
  --color-success-bg: #e5f6ec;
  --color-warning: #92650a;
  --color-warning-bg: #fdf1dc;
  --color-danger: #b3261e;
  --color-danger-bg: #fbe9e8;
  --color-info: #2563a8;
  --color-info-bg: #e7f1fb;

  --color-badge-managed: var(--color-info);
  --color-badge-managed-bg: var(--color-info-bg);
  --color-badge-shared: var(--color-warning);
  --color-badge-shared-bg: var(--color-warning-bg);
  --color-badge-self-managed: var(--color-success);
  --color-badge-self-managed-bg: var(--color-success-bg);

  --focus-ring: #3457d5;

  --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;

  --font-size-xs: 0.75rem;
  --font-size-sm: 0.875rem;
  --font-size-base: 1rem;
  --font-size-lg: 1.125rem;
  --font-size-xl: 1.375rem;
  --font-size-2xl: 1.75rem;

  --font-weight-normal: 400;
  --font-weight-medium: 500;
  --font-weight-bold: 700;

  --line-height-tight: 1.25;
  --line-height-normal: 1.5;

  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 48px;
  --space-8: 64px;

  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 16px;

  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.06);
  --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.10);
  --shadow-lg: 0 12px 32px rgba(0, 0, 0, 0.16);

  --z-dropdown: 1000;
  --z-modal: 1100;
  --z-toast: 1200;
}

:root[data-theme="dark"] {
  --color-bg: #121214;
  --color-surface: #1b1b1f;
  --color-surface-raised: #232328;
  --color-border: #313138;
  --color-text: #f2f2f4;
  --color-text-muted: #a3a3ac;

  --color-primary: #6b85ea;
  --color-primary-hover: #8399ee;
  --color-primary-contrast: #0d0d10;

  --color-success: #4ade8a;
  --color-success-bg: #123423;
  --color-warning: #f2b84b;
  --color-warning-bg: #3a2a0c;
  --color-danger: #f27a72;
  --color-danger-bg: #3a1614;
  --color-info: #6fb1f0;
  --color-info-bg: #12293e;

  --focus-ring: #6b85ea;
}

body {
  font-family: var(--font-sans);
  color: var(--color-text);
  background: var(--color-bg);
  line-height: var(--line-height-normal);
}
code, pre, .mono { font-family: var(--font-mono); }

*:focus-visible {
  outline: 2px solid var(--focus-ring);
  outline-offset: 1px;
}
