:root {
  --outpost-hue: 260;
  --outpost-chroma: 0.19;

  --lch-black: 0% 0 0;
  --lch-white: 100% 0 0;
  --lch-staff-bg: 13% 0.034 196;

  --color-staff-bg: oklch(var(--lch-staff-bg));

  --lch-canvas: var(--lch-white);
  --lch-ink-inverted: var(--lch-white);

  --lch-ink-darkest: 26% 0.05 264;
  --lch-ink-darker: 40% 0.026 262;
  --lch-ink-dark: 56% 0.014 260;
  --lch-ink-medium: 66% 0.008 258;
  --lch-ink-light: 84% 0.005 256;
  --lch-ink-lighter: 92% 0.003 254;
  --lch-ink-lightest: 96% 0.002 252;

  --lch-red-dark: 59% 0.19 38;
  --lch-red-medium: 66% 0.204 40;
  --lch-red-light: 84.08% 0.0837 41.96;
  --lch-red-lighter: 92% 0.03 44;
  --lch-red-lightest: 96% 0.013 46;

  --lch-yellow-dark: 58% 0.156 60;
  --lch-yellow-medium: 74% 0.184 70;
  --lch-yellow-light: 84% 0.12 80;
  --lch-yellow-lighter: 92% 0.076 90;

  --lch-green-dark: 55% 0.162 147;
  --lch-green-medium: 66% 0.208 146;
  --lch-green-light: 83.92% 0.0772 145.06;
  --lch-green-lighter: 92% 0.044 144;

  --lch-blue-dark: 57.02% 0.1895 260.46;
  --lch-blue-medium: 66% 0.196 257.82;
  --lch-blue-light: 84.04% 0.0719 255.29;
  --lch-blue-lighter: 92% 0.026 254;
  --lch-blue-lightest: 96% 0.016 252;

  --lch-theme-darkest: 26% calc(var(--outpost-chroma) * 0.66) var(--outpost-hue);
  --lch-theme-darker: 40% calc(var(--outpost-chroma) * 0.87) var(--outpost-hue);
  --lch-theme-dark: 57% var(--outpost-chroma) var(--outpost-hue);
  --lch-theme-medium: 66% calc(var(--outpost-chroma) * 1.03) var(--outpost-hue);
  --lch-theme-light: 84% calc(var(--outpost-chroma) * 0.38) var(--outpost-hue);
  --lch-theme-lighter: 92% calc(var(--outpost-chroma) * 0.14) var(--outpost-hue);
  --lch-theme-lightest: 96% calc(var(--outpost-chroma) * 0.08) var(--outpost-hue);

  --color-black: oklch(var(--lch-black));
  --color-white: oklch(var(--lch-white));

  --color-canvas: oklch(var(--lch-canvas));
  --color-ink: oklch(var(--lch-ink-darkest));
  --color-ink-darkest: oklch(var(--lch-ink-darkest));
  --color-ink-darker: oklch(var(--lch-ink-darker));
  --color-ink-dark: oklch(var(--lch-ink-dark));
  --color-ink-medium: oklch(var(--lch-ink-medium));
  --color-ink-light: oklch(var(--lch-ink-light));
  --color-ink-lighter: oklch(var(--lch-ink-lighter));
  --color-ink-lightest: oklch(var(--lch-ink-lightest));
  --color-ink-inverted: oklch(var(--lch-ink-inverted));

  --color-negative: oklch(var(--lch-red-dark));
  --color-positive: oklch(var(--lch-green-dark));
  --color-warning: oklch(var(--lch-yellow-dark));
  --color-link: oklch(var(--lch-theme-dark));
  --color-highlight: oklch(var(--lch-theme-lighter));

  --color-theme: oklch(var(--lch-theme-dark));
  --color-theme-darkest: oklch(var(--lch-theme-darkest));
  --color-theme-darker: oklch(var(--lch-theme-darker));
  --color-theme-dark: oklch(var(--lch-theme-dark));
  --color-theme-medium: oklch(var(--lch-theme-medium));
  --color-theme-light: oklch(var(--lch-theme-light));
  --color-theme-lighter: oklch(var(--lch-theme-lighter));
  --color-theme-lightest: oklch(var(--lch-theme-lightest));

  --border: 1px solid var(--color-ink-lighter);
  --shadow: 0 0 0 1px oklch(var(--lch-black) / 5%),
            0 0.2em 0.2em oklch(var(--lch-black) / 5%),
            0 0.4em 0.4em oklch(var(--lch-black) / 5%),
            0 0.8em 0.8em oklch(var(--lch-black) / 5%);
}

html[data-theme="dark"] {
  --lch-canvas: 20% 0.02 var(--outpost-hue);
  --lch-ink-inverted: var(--lch-black);

  --lch-ink-darkest: 96% 0.003 264;
  --lch-ink-darker: 86% 0.006 262;
  --lch-ink-dark: 74% 0.009 260;
  --lch-ink-medium: 62% 0.012 260;
  --lch-ink-light: 40% 0.015 260;
  --lch-ink-lighter: 30% 0.018 260;
  --lch-ink-lightest: 25% 0.02 260;

  --lch-theme-darkest: 96% calc(var(--outpost-chroma) * 0.11) var(--outpost-hue);
  --lch-theme-darker: 86% calc(var(--outpost-chroma) * 0.36) var(--outpost-hue);
  --lch-theme-dark: 74% calc(var(--outpost-chroma) * 0.68) var(--outpost-hue);
  --lch-theme-medium: 62% calc(var(--outpost-chroma) * 0.84) var(--outpost-hue);
  --lch-theme-light: 40% calc(var(--outpost-chroma) * 0.50) var(--outpost-hue);
  --lch-theme-lighter: 30% calc(var(--outpost-chroma) * 0.24) var(--outpost-hue);
  --lch-theme-lightest: 25% calc(var(--outpost-chroma) * 0.17) var(--outpost-hue);

  --lch-red-dark: 73.95% 0.139 42;
  --lch-red-medium: 62% 0.154 40;
  --lch-green-dark: 73.99% 0.117 145;
  --lch-yellow-dark: 74.06% 0.136 80;

  --color-highlight: oklch(var(--lch-theme-lighter));

  --shadow: 0 0 0 1px oklch(var(--lch-black) / 42%),
            0 0.2em 1.6em -0.8em oklch(var(--lch-black) / 60%),
            0 0.4em 2.4em -1em oklch(var(--lch-black) / 70%),
            0 0.8em 1.2em -1.6em oklch(var(--lch-black) / 90%);
}

@media (prefers-color-scheme: dark) {
  html:not([data-theme]) {
    --lch-canvas: 20% 0.02 var(--outpost-hue);
    --lch-ink-inverted: var(--lch-black);

    --lch-ink-darkest: 96% 0.003 264;
    --lch-ink-darker: 86% 0.006 262;
    --lch-ink-dark: 74% 0.009 260;
    --lch-ink-medium: 62% 0.012 260;
    --lch-ink-light: 40% 0.015 260;
    --lch-ink-lighter: 30% 0.018 260;
    --lch-ink-lightest: 25% 0.02 260;

    --lch-theme-darkest: 96% calc(var(--outpost-chroma) * 0.11) var(--outpost-hue);
    --lch-theme-darker: 86% calc(var(--outpost-chroma) * 0.36) var(--outpost-hue);
    --lch-theme-dark: 74% calc(var(--outpost-chroma) * 0.68) var(--outpost-hue);
    --lch-theme-medium: 62% calc(var(--outpost-chroma) * 0.84) var(--outpost-hue);
    --lch-theme-light: 40% calc(var(--outpost-chroma) * 0.50) var(--outpost-hue);
    --lch-theme-lighter: 30% calc(var(--outpost-chroma) * 0.24) var(--outpost-hue);
    --lch-theme-lightest: 25% calc(var(--outpost-chroma) * 0.17) var(--outpost-hue);

    --lch-red-dark: 73.95% 0.139 42;
    --lch-red-medium: 62% 0.154 40;
    --lch-green-dark: 73.99% 0.117 145;
    --lch-yellow-dark: 74.06% 0.136 80;

    --color-highlight: oklch(var(--lch-theme-lighter));

    --shadow: 0 0 0 1px oklch(var(--lch-black) / 42%),
              0 0.2em 1.6em -0.8em oklch(var(--lch-black) / 60%),
              0 0.4em 2.4em -1em oklch(var(--lch-black) / 70%),
              0 0.8em 1.2em -1.6em oklch(var(--lch-black) / 90%);
  }
}
