/* Generated by build-tokens.mjs. Edit tokens.json instead. */
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 400; font-display: swap; src: url('/fonts/inter-400.woff2') format('woff2'); }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 500; font-display: swap; src: url('/fonts/inter-500.woff2') format('woff2'); }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 600; font-display: swap; src: url('/fonts/inter-600.woff2') format('woff2'); }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 700; font-display: swap; src: url('/fonts/inter-700.woff2') format('woff2'); }
@font-face { font-family: 'Space Grotesk'; font-style: normal; font-weight: 500; font-display: swap; src: url('/fonts/space-grotesk-500.woff2') format('woff2'); }
@font-face { font-family: 'Space Grotesk'; font-style: normal; font-weight: 600; font-display: swap; src: url('/fonts/space-grotesk-600.woff2') format('woff2'); }
@font-face { font-family: 'Space Grotesk'; font-style: normal; font-weight: 700; font-display: swap; src: url('/fonts/space-grotesk-700.woff2') format('woff2'); }
:root {
  color-scheme: dark;
  --rv-neutral-0: #FFFFFF;
  --rv-neutral-50: #F6F7F8;
  --rv-neutral-100: #EDEFF2;
  --rv-neutral-150: #E5E7EB;
  --rv-neutral-200: #D1D5DB;
  --rv-neutral-300: #B7BDC6;
  --rv-neutral-400: #9CA3AD;
  --rv-neutral-500: #868E99;
  --rv-neutral-600: #5B6169;
  --rv-neutral-700: #424850;
  --rv-neutral-800: #2C3038;
  --rv-neutral-850: #1C1F25;
  --rv-neutral-900: #16181D;
  --rv-neutral-950: #111318;
  --rv-neutral-1000: #0B0C0E;
  --rv-green-300: #4ADE80;
  --rv-green-400: #34D399;
  --rv-green-500: #17A672;
  --rv-green-600: #159B6B;
  --rv-green-700: #0E7C53;
  --rv-danger: #E5484D;
  --rv-warning: #F5A524;
  --rv-font-body: Inter, system-ui, sans-serif;
  --rv-font-display: "Space Grotesk", Inter, system-ui, sans-serif;
  --rv-type-caption: 12px;
  --rv-type-small: 14px;
  --rv-type-body: 16px;
  --rv-type-h3: 20px;
  --rv-type-h2: 24px;
  --rv-type-h1: 36px;
  --rv-type-display: 48px;
  --rv-space-0: 0px;
  --rv-space-1: 1px;
  --rv-space-2: 2px;
  --rv-space-4: 4px;
  --rv-space-8: 8px;
  --rv-space-12: 12px;
  --rv-space-16: 16px;
  --rv-space-20: 20px;
  --rv-space-24: 24px;
  --rv-space-32: 32px;
  --rv-space-40: 40px;
  --rv-space-48: 48px;
  --rv-space-64: 64px;
  --rv-space-80: 80px;
  --rv-space-96: 96px;
  --rv-space-128: 128px;
  --rv-radius-6: 6px;
  --rv-radius-10: 10px;
  --rv-radius-14: 14px;
  --rv-radius-20: 20px;
  --rv-radius-28: 28px;
  --rv-radius-999: 999px;
  --rv-dur-120: 120ms;
  --rv-dur-180: 180ms;
  --rv-dur-240: 240ms;
  --rv-dur-420: 420ms;
  --rv-dur-900: 900ms;
  --rv-easing-standard: cubic-bezier(0.2, 0, 0, 1);
  --rv-easing-enter: cubic-bezier(0.16, 1, 0.3, 1);
  --rv-easing-linear: cubic-bezier(0, 0, 1, 1);
  --rv-overlay: #0B0C0EB8;
  --rv-accent: #17A672;
  --rv-accent-strong: #0E7C53;
  --rv-gradient: linear-gradient(135deg, #0E7C53 0%, #4ADE80 100%);
  --rv-danger: #E5484D;
  --rv-warning: #F5A524;
  --rv-success: #17A672;
  --rv-state-protected: #17A672;
  --rv-state-connecting: #F5A524;
  --rv-state-error: #E5484D;
  --rv-overlay-scrim: #0B0C0EB8;
  --rv-bg-canvas: #0B0C0E;
  --rv-bg-raised: #111318;
  --rv-bg-surface: #16181D;
  --rv-bg-surface-2: #1C1F25;
  --rv-bg-inverse: #F6F7F8;
  --rv-text-primary: #EDEFF2;
  --rv-text-secondary: #9CA3AD;
  --rv-text-tertiary: #868E99;
  --rv-text-on-accent: #0B0C0E;
  --rv-text-inverse: #111318;
  --rv-border-subtle: #2C3038;
  --rv-border-strong: #868E99;
  --rv-border-focus: #34D399;
  --rv-icon-primary: #EDEFF2;
  --rv-icon-secondary: #9CA3AD;
}
[data-theme="dark"] {
  color-scheme: dark;
  --rv-state-protected: #17A672;
  --rv-state-connecting: #F5A524;
  --rv-state-error: #E5484D;
  --rv-overlay-scrim: #0B0C0EB8;
  --rv-bg-canvas: #0B0C0E;
  --rv-bg-raised: #111318;
  --rv-bg-surface: #16181D;
  --rv-bg-surface-2: #1C1F25;
  --rv-bg-inverse: #F6F7F8;
  --rv-text-primary: #EDEFF2;
  --rv-text-secondary: #9CA3AD;
  --rv-text-tertiary: #868E99;
  --rv-text-on-accent: #0B0C0E;
  --rv-text-inverse: #111318;
  --rv-border-subtle: #2C3038;
  --rv-border-strong: #868E99;
  --rv-border-focus: #34D399;
  --rv-icon-primary: #EDEFF2;
  --rv-icon-secondary: #9CA3AD;
}
[data-theme="light"] {
  color-scheme: light;
  --rv-state-protected: #17A672;
  --rv-state-connecting: #F5A524;
  --rv-state-error: #E5484D;
  --rv-overlay-scrim: #0B0C0EB8;
  --rv-bg-canvas: #F6F7F8;
  --rv-bg-raised: #FFFFFF;
  --rv-bg-surface: #FFFFFF;
  --rv-bg-surface-2: #EDEFF2;
  --rv-bg-inverse: #111318;
  --rv-text-primary: #111318;
  --rv-text-secondary: #5B6169;
  --rv-text-tertiary: #5B6169;
  --rv-text-on-accent: #0B0C0E;
  --rv-text-inverse: #EDEFF2;
  --rv-border-subtle: #D1D5DB;
  --rv-border-strong: #868E99;
  --rv-border-focus: #0E7C53;
  --rv-icon-primary: #111318;
  --rv-icon-secondary: #5B6169;
}
@media (prefers-color-scheme: light) {
  :root:not([data-theme]) {
    color-scheme: light;
  --rv-state-protected: #17A672;
  --rv-state-connecting: #F5A524;
  --rv-state-error: #E5484D;
  --rv-overlay-scrim: #0B0C0EB8;
  --rv-bg-canvas: #F6F7F8;
  --rv-bg-raised: #FFFFFF;
  --rv-bg-surface: #FFFFFF;
  --rv-bg-surface-2: #EDEFF2;
  --rv-bg-inverse: #111318;
  --rv-text-primary: #111318;
  --rv-text-secondary: #5B6169;
  --rv-text-tertiary: #5B6169;
  --rv-text-on-accent: #0B0C0E;
  --rv-text-inverse: #EDEFF2;
  --rv-border-subtle: #D1D5DB;
  --rv-border-strong: #868E99;
  --rv-border-focus: #0E7C53;
  --rv-icon-primary: #111318;
  --rv-icon-secondary: #5B6169;
  }
}
*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; background: var(--rv-bg-canvas); color: var(--rv-text-primary); font: 400 var(--rv-type-body)/1.55 var(--rv-font-body); }
button, input, select, textarea { font: inherit; }
.rv-display { font-family: var(--rv-font-display); font-weight: 600; letter-spacing: -.03em; }
.rv-num { font-family: var(--rv-font-display); font-variant-numeric: tabular-nums; }
:focus-visible { outline: 2px solid var(--rv-border-focus); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}
