:root {
  color-scheme: dark;

  /* Foundations */
  --lb-ink-950: #010205;
  --lb-ink-900: #04070d;
  --lb-ink-850: #080d15;
  --lb-ink-800: #0c131d;
  --lb-ink-750: #111b28;
  --lb-ink-700: #182536;
  --lb-white: #f7fbff;
  --lb-text-primary: #f2f7fd;
  --lb-text-secondary: #a7b6c8;
  --lb-text-tertiary: #718196;
  --lb-blue-300: #75d2ff;
  --lb-blue-400: #39afff;
  --lb-blue-500: #168bff;
  --lb-blue-600: #0965db;
  --lb-cyan-400: #46e0ff;
  --lb-mint-400: #65f0c1;
  --lb-gold-400: #f4c968;
  --lb-red-400: #ff7188;

  /* Semantic color */
  --lb-bg: var(--lb-ink-950);
  --lb-surface-1: rgba(8, 13, 21, 0.88);
  --lb-surface-2: rgba(13, 20, 31, 0.94);
  --lb-surface-3: rgba(20, 30, 44, 0.96);
  --lb-stroke-soft: rgba(151, 190, 231, 0.1);
  --lb-stroke: rgba(112, 171, 229, 0.2);
  --lb-stroke-strong: rgba(88, 181, 255, 0.38);
  --lb-focus: rgba(82, 185, 255, 0.74);
  --lb-scrim: rgba(0, 2, 6, 0.76);

  /* Type */
  --lb-font-display: Sora, Manrope, system-ui, sans-serif;
  --lb-font-ui: Manrope, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --lb-font-mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  --lb-text-xs: 0.6875rem;
  --lb-text-sm: 0.8125rem;
  --lb-text-md: 0.9375rem;
  --lb-text-lg: 1.125rem;
  --lb-text-xl: 1.375rem;
  --lb-text-2xl: clamp(1.75rem, 8vw, 2.5rem);

  /* Layout */
  --lb-space-1: 4px;
  --lb-space-2: 8px;
  --lb-space-3: 12px;
  --lb-space-4: 16px;
  --lb-space-5: 20px;
  --lb-space-6: 24px;
  --lb-space-8: 32px;
  --lb-radius-sm: 10px;
  --lb-radius-md: 14px;
  --lb-radius-lg: 20px;
  --lb-radius-xl: 26px;
  --lb-radius-pill: 999px;

  /* Depth */
  --lb-shadow-sm: 0 8px 22px rgba(0, 0, 0, 0.22);
  --lb-shadow-md: 0 18px 44px rgba(0, 0, 0, 0.38);
  --lb-shadow-lg: 0 32px 80px rgba(0, 0, 0, 0.58);
  --lb-shadow-blue: 0 16px 36px rgba(14, 112, 226, 0.28);
  --lb-highlight: inset 0 1px 0 rgba(255, 255, 255, 0.075);

  /* Motion */
  --lb-ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --lb-ease-standard: cubic-bezier(0.2, 0, 0, 1);
  --lb-duration-fast: 140ms;
  --lb-duration: 240ms;
  --lb-duration-slow: 520ms;

  /* Compatibility aliases while the legacy CSS is split. */
  --bg: var(--lb-bg);
  --panel: var(--lb-surface-1);
  --panel-strong: var(--lb-surface-2);
  --line: var(--lb-stroke);
  --text: var(--lb-text-primary);
  --muted: var(--lb-text-secondary);
  --accent: var(--lb-blue-400);
  --accent-2: var(--lb-mint-400);
  --coin: var(--lb-gold-400);
  --danger: var(--lb-red-400);
}

html {
  background: var(--lb-bg);
}

body {
  color: var(--lb-text-primary);
  font-family: var(--lb-font-ui);
  font-synthesis: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

::selection {
  color: #fff;
  background: rgba(22, 139, 255, 0.5);
}

:focus-visible {
  outline: 2px solid var(--lb-focus);
  outline-offset: 3px;
}

