:root {
  --rgb-black: 0, 0, 0;
  --lch-black: 0% 0 0;
  --lch-white: 100% 0 0;
  --lch-target: 97.88% 0.1212 108.45;

  --lch-canvas: 97.89% 0.0029 264.54;
  --lch-canvas-dark: 95.89% 0.0029 264.54;
  --lch-canvas-light: 99.89% 0.0029 264.54;
  --lch-canvas-light-hover: 100% 0 0;

  --lch-ink-darkest: 26% 0.05 264;
  --lch-ink-darker: 40% 0.026 262;
  --lch-ink-dark: 57% 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-ink-hover-dark: 34% 0.05 264;
  --lch-ink-hover-light: 87% 0.003 254;
  --lch-ink-inverted: var(--lch-ink-lightest);

  --lch-blue-darkest: 26% 0.126 264;
  --lch-blue-darker: 40% 0.166 262;
  --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-blue-hover: 51.02% 0.1895 260.46;

  --color-black: oklch(var(--lch-black));
  --color-white: oklch(var(--lch-white));
  --color-target: oklch(var(--lch-target));
  --color-canvas: oklch(var(--lch-canvas));
  --color-canvas-dark: oklch(var(--lch-canvas-dark));
  --color-canvas-light: oklch(var(--lch-canvas-light));
  --color-canvas-light-inverted: oklch(var(--lch-canvas-light-inverted));
  --color-canvas-light-hover: oklch(var(--lch-canvas-light-hover));
  --color-ink: oklch(var(--lch-ink-darkest));
  --color-ink-inverted: oklch(var(--lch-ink-inverted));
  --color-ink-hover-dark: oklch(var(--lch-ink-hover-dark));
  --color-ink-hover-light: oklch(var(--lch-ink-hover-light));
  --color-blue: oklch(var(--lch-blue-dark));
  --color-blue-hover: oklch(var(--lch-blue-hover));

  --color-ink-lightest: oklch(var(--lch-ink-lightest));
  --color-ink-lighter: oklch(var(--lch-ink-lighter));
  --color-ink-light: oklch(var(--lch-ink-light));
  --color-ink-medium: oklch(var(--lch-ink-medium));
  --color-ink-dark: oklch(var(--lch-ink-dark));
  --color-ink-darker: oklch(var(--lch-ink-darker));
  --color-ink-darkest: oklch(var(--lch-ink-darkest));

  --color-blue-lightest: oklch(var(--lch-blue-lightest));
  --color-blue-lighter: oklch(var(--lch-blue-lighter));
  --color-blue-light: oklch(var(--lch-blue-light));
  --color-blue-medium: oklch(var(--lch-blue-medium));
  --color-blue-dark: oklch(var(--lch-blue-dark));
  --color-blue-darker: oklch(var(--lch-blue-darker));
  --color-blue-darkest: oklch(var(--lch-blue-darkest));

  --color-primary: #75574f;
  --rgb-paper: rgb(249, 247, 245);
  --color-paper: rgb(var(--rgb-paper));

  --icon-color-invert: 0;


  --font-family-inter: 'Inter', sans-serif;
  --font-family-scorekard: 'Scorekard', sans-serif;
  --font-family-cartridge: 'Cartridge', sans-serif;

  --font-size: clamp(1.5rem, 2.225vw, 2rem);
  --font-size-xxxx-small: 50%;
  --font-size-xxx-small: 60%;
  --font-size-xx-small: 70%;
  --font-size-x-small: 80%;
  --font-size-small: 90%;
  --font-size-medium: 100%;
  --font-size-large: 115%;
  --font-size-x-large: 130%;
  --font-size-xx-large: 145%;
  --font-size-xxx-large: 160%;

  --letter-spacing: -0.01em;
  --letter-spacing-tight: -0.015em;
  --letter-spacing-tighter: -0.0175em;
  --letter-spacing-loose: 0.005em;
  --letter-spacing-looser: 0.0075em;

  --line-height: 1.5;
  --line-height-tight: 1.3;
  --line-height-tighter: 1.2;
  --line-height-tightest: 1.1;
  --line-height-loose: 1.7;

  --space-neutral: 1.5em;
  --space-xxx-small: 0.2em;
  --space-xx-small: 0.4em;
  --space-x-small: 0.6em;
  --space-small: 0.8em;
  --space-medium: 1em;
  --space-large: 2em;
  --space-x-large: 3em;
  --space-xx-large: 4em;
  --space-xxx-large: 5em;

  --transition: 0.125s cubic-bezier(0.37, 1, 0.74, 1);

  --nav-height: 2.9125em;

  --box-shadow:
    0 0 0 1px oklch(var(--lch-black) / 0.075),
    0 0.2em 0.1em -0.2em oklch(var(--lch-black) / 0.075),
    0 0.4em 0.8em -0.4em oklch(var(--lch-black) / 0.075),
    0 0.8em 1.6em -1.2em oklch(var(--lch-black) / 0.075)
  ;
  --box-shadow-cluster:
    0 0 0 1px oklch(var(--lch-black) / 0.0875),
    0 0.2em 1.6em -0.8em oklch(var(--lch-black) / 0.1),
    0 0.4em 2.4em -1.0em oklch(var(--lch-black) / 0.2),
    0 0.4em 0.8em -1.2em oklch(var(--lch-black) / 0.3),
    0 0.8em 1.2em -1.6em oklch(var(--lch-black) / 0.4),
    0 1.2em 1.6em -2.0em oklch(var(--lch-black) / 0.5)
  ;
  --box-shadow-pill:
    0 0 0 1px oklch(var(--lch-black) / 0.0875),
    0 0.1em 0.2em -0.1em oklch(var(--lch-black) / 0.05),
    0 0.2em 0.4em -0.2em oklch(var(--lch-black) / 0.05),
    0 0.3em 0.6em -0.3em oklch(var(--lch-black) / 0.05)
  ;
  --box-shadow-pill-hover:
    0 0 0 1px oklch(var(--lch-black) / 0.125),
    0 0.1em 0.2em -0.1em oklch(var(--lch-black) / 0.0875),
    0 0.2em 0.4em -0.2em oklch(var(--lch-black) / 0.0875),
    0 0.3em 0.6em -0.3em oklch(var(--lch-black) / 0.0875)
  ;

}



@media(min-width: 48em) {
  :root {
    --font-size-large: 125%;
    --font-size-x-large: 150%;
    --font-size-xx-large: 175%;
    --font-size-xxx-large: 200%;
  }
}



@media(prefers-color-scheme: dark) {

  :root {
    --lch-target: 40% 0.094 260;

    --lch-canvas: 20% 0.0195 232.58;
    --lch-canvas-dark: 17% 0.0195 232.58;
    --lch-canvas-light: 23% 0.0195 232.58;
    --lch-canvas-light-inverted: 99.89% 0.0029 264.54;
    --lch-canvas-light-hover: 25% 0.0195 232.58;

    --lch-ink-darkest: 96.02% 0.0034 260;
    --lch-ink-darker: 86% 0.0061 260;
    --lch-ink-dark: 73.97% 0.009 260;
    --lch-ink-medium: 62% 0.0122 260;
    --lch-ink-light: 40% 0.0148 260;
    --lch-ink-lighter: 30% 0.0178 260;
    --lch-ink-lightest: 25% 0.0204 260;

    --lch-blue-darkest: 95.93% 0.0217 252;
    --lch-blue-darker: 86% 0.068 254;
    --lch-blue-dark: 74% 0.1293 256;
    --lch-blue-medium: 62% 0.159 258;
    --lch-blue-light: 40% 0.094 260;
    --lch-blue-lighter: 30% 0.0452 262;
    --lch-blue-lightest: 25% 0.0318 264;
    --lch-blue-hover: 66% 0.1293 256;

    --icon-color-invert: 1;
  }
}

/* Dark mode via manual toggle (overrides system preference) */
:root[data-theme="dark"] {

  --bg-color: var(--color-black);
  --text-color: var(--color-white);
  --btn-bg: var(--color-white);
  --btn-text: var(--color-black);


  --lch-target: 40% 0.094 260;

  --lch-canvas: 20% 0.0195 232.58;
  --lch-canvas-dark: 17% 0.0195 232.58;
  --lch-canvas-light: 23% 0.0195 232.58;
  --lch-canvas-light-inverted: 99.89% 0.0029 264.54;
  --lch-canvas-light-hover: 25% 0.0195 232.58;

  --lch-ink-darkest: 96.02% 0.0034 260;
  --lch-ink-darker: 86% 0.0061 260;
  --lch-ink-dark: 73.97% 0.009 260;
  --lch-ink-medium: 62% 0.0122 260;
  --lch-ink-light: 40% 0.0148 260;
  --lch-ink-lighter: 30% 0.0178 260;
  --lch-ink-lightest: 25% 0.0204 260;

  --lch-blue-darkest: 95.93% 0.0217 252;
  --lch-blue-darker: 86% 0.068 254;
  --lch-blue-dark: 74% 0.1293 256;
  --lch-blue-medium: 62% 0.159 258;
  --lch-blue-light: 40% 0.094 260;
  --lch-blue-lighter: 30% 0.0452 262;
  --lch-blue-lightest: 25% 0.0318 264;
  --lch-blue-hover: 66% 0.1293 256;

  --icon-color-invert: 1;
}

:root[data-theme="light"] {

  --bg-color: var(--color-white);
  --text-color: var(--color-black);
  --btn-bg: var(--color-black);
  --btn-text: var(--color-white);

  --rgb-black: 0, 0, 0;
  --lch-black: 0% 0 0;
  --lch-white: 100% 0 0;
  --lch-target: 97.88% 0.1212 108.45;

  --lch-canvas: 97.89% 0.0029 264.54;
  --lch-canvas-dark: 95.89% 0.0029 264.54;
  --lch-canvas-light: 99.89% 0.0029 264.54;
  --lch-canvas-light-hover: 100% 0 0;

  --lch-ink-darkest: 26% 0.05 264;
  --lch-ink-darker: 40% 0.026 262;
  --lch-ink-dark: 57% 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-ink-hover-dark: 34% 0.05 264;
  --lch-ink-hover-light: 87% 0.003 254;
  --lch-ink-inverted: var(--lch-ink-lightest);

  --lch-blue-darkest: 26% 0.126 264;
  --lch-blue-darker: 40% 0.166 262;
  --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-blue-hover: 51.02% 0.1895 260.46;

  --color-black: oklch(var(--lch-black));
  --color-white: oklch(var(--lch-white));
  --color-target: oklch(var(--lch-target));
  --color-canvas: oklch(var(--lch-canvas));
  --color-canvas-dark: oklch(var(--lch-canvas-dark));
  --color-canvas-light: oklch(var(--lch-canvas-light));
  --color-canvas-light-inverted: oklch(var(--lch-canvas-light-inverted));
  --color-canvas-light-hover: oklch(var(--lch-canvas-light-hover));
  --color-ink: oklch(var(--lch-ink-darkest));
  --color-ink-inverted: oklch(var(--lch-ink-inverted));
  --color-ink-hover-dark: oklch(var(--lch-ink-hover-dark));
  --color-ink-hover-light: oklch(var(--lch-ink-hover-light));
  --color-blue: oklch(var(--lch-blue-dark));
  --color-blue-hover: oklch(var(--lch-blue-hover));

  --color-ink-lightest: oklch(var(--lch-ink-lightest));
  --color-ink-lighter: oklch(var(--lch-ink-lighter));
  --color-ink-light: oklch(var(--lch-ink-light));
  --color-ink-medium: oklch(var(--lch-ink-medium));
  --color-ink-dark: oklch(var(--lch-ink-dark));
  --color-ink-darker: oklch(var(--lch-ink-darker));
  --color-ink-darkest: oklch(var(--lch-ink-darkest));

  --color-blue-lightest: oklch(var(--lch-blue-lightest));
  --color-blue-lighter: oklch(var(--lch-blue-lighter));
  --color-blue-light: oklch(var(--lch-blue-light));
  --color-blue-medium: oklch(var(--lch-blue-medium));
  --color-blue-dark: oklch(var(--lch-blue-dark));
  --color-blue-darker: oklch(var(--lch-blue-darker));
  --color-blue-darkest: oklch(var(--lch-blue-darkest));

  --color-primary: #75574f;
  --rgb-paper: rgb(249, 247, 245);
  --color-paper: rgb(var(--rgb-paper));

  --icon-color-invert: 0;
}