:root {
  /* Abstractions */
  --color-bg: #FDFBF7; /* Warm white from spec */
  --color-text: #2B2B2B; /* Iron neutral from spec */
  --color-text-reversed: #FDFBF7; /* Warm white for contrast */
  --color-text-subtle: #6E6E6E; /* Tertiary text color from spec */
  --color-link: #8B4513; /* Rust primary accent from spec */
  --color-border-light: #F5F2EB; /* Secondary background color from spec */
  --color-border: #E8E4DB; /* Tertiary background color from spec */
  --color-border-dark: #6E6E6E; /* Tertiary text color from spec */
  --color-selected: #8B451320; /* Rust primary with opacity for selection */
  --color-selected-dark: #8B451340; /* Darker rust for stronger selection */

  /* Accent colors */
  --color-primary: #8B4513; /* Rust primary accent */
  --color-secondary: #2C4A3E; /* Forest secondary accent */
  --color-negative: #8B4513; /* Using rust for consistency */
  --color-positive: #2C4A3E; /* Using forest green for consistency */

  /* SVG color values */
  --color-filter-text: invert(15%) sepia(0%) saturate(0%) hue-rotate(231deg) brightness(94%) contrast(95%);
  --color-filter-text-reversed: invert(99%) sepia(5%) saturate(139%) hue-rotate(307deg) brightness(105%) contrast(96%);
  --color-filter-negative: invert(29%) sepia(95%) saturate(472%) hue-rotate(346deg) brightness(89%) contrast(82%);
  --color-filter-positive: invert(24%) sepia(29%) saturate(434%) hue-rotate(118deg) brightness(94%) contrast(89%);

  --color-bg-translucent: hsl(from var(--color-bg) h s l / 0.7);

  @media (prefers-color-scheme: dark) {
    /* Abstractions */
    --color-bg: #1A1A1A; /* Dark mode primary background */
    --color-text: #E8E4DB; /* Dark mode primary text */
    --color-text-reversed: #1A1A1A; /* Dark mode background for contrast */
    --color-text-subtle: #989288; /* Dark mode tertiary text */
    --color-link: #D4735E; /* Dark mode rust accent */
    --color-border-light: #242424; /* Dark mode secondary background */
    --color-border: #2E2E2E; /* Dark mode tertiary background */
    --color-border-dark: #989288; /* Dark mode tertiary text */
    --color-selected: #D4735E20; /* Dark mode rust with opacity */
    --color-selected-dark: #D4735E40; /* Darker selection for dark mode */

    /* Accent colors */
    --color-primary: #D4735E; /* Dark mode rust accent */
    --color-secondary: #5C8374; /* Dark mode forest accent */
    --color-negative: #D4735E; /* Using dark mode rust */
    --color-positive: #5C8374; /* Using dark mode forest green */

    /* SVG color values */
    --color-filter-text: invert(92%) sepia(8%) saturate(116%) hue-rotate(357deg) brightness(96%) contrast(92%);
    --color-filter-text-reversed: invert(7%) sepia(0%) saturate(0%) hue-rotate(231deg) brightness(98%) contrast(107%);
    --color-filter-negative: invert(65%) sepia(14%) saturate(1410%) hue-rotate(327deg) brightness(92%) contrast(84%);
    --color-filter-positive: invert(55%) sepia(11%) saturate(789%) hue-rotate(118deg) brightness(89%) contrast(82%);
  }
}

* {
  border-color: var(--color-border);
}

html {
  scroll-behavior: smooth;
}

body {
  background-color: var(--color-bg);
  color: var(--color-text);
  font-synthesis-weight: none;
  text-rendering: optimizeLegibility;
}

::selection {
  background-color: var(--color-selected);
}
