:root {
  --phi: 1.618;
  --space-xs: 0.382rem;
  --space-sm: 0.618rem;
  --space-md: 1rem;
  --space-lg: 1.618rem;
  --space-xl: 2.618rem;
  --radius-sm: 0.382rem;
  --radius-md: 0.618rem;
  --radius-lg: 1rem;
  --font-display: "Fraunces", Georgia, serif;
  --font-ui: "DM Sans", system-ui, sans-serif;

  --main_tone: 80;
  --accent_tone: 200;
  --glow_tone: 20;
  --sat: 25%;
  --lb: 95%;
  --lmb: 90%;
  --lm: 85%;
  --lmf: 75%;
  --lf: 60%;
  --lub: 98%;
  --luf: 50%;
  --slt: 5%;
  --text_l: 5%;
  --accent_sat: 50%;
  --accent_l: 50%;
  --glow_sat: 90%;
  --glow_l: 60%;

  --color_ultra_back: hsl(var(--main_tone), var(--sat), var(--lub));
  --color_back: hsl(var(--main_tone), var(--sat), var(--lb));
  --color_midback: hsl(var(--main_tone), var(--sat), var(--lmb));
  --color_mid: hsl(var(--main_tone), var(--sat), var(--lm));
  --color_midfront: hsl(var(--main_tone), var(--sat), var(--lmf));
  --color_front: hsl(var(--main_tone), var(--sat), var(--lf));
  --color_ultra_front: hsl(var(--main_tone), var(--sat), var(--luf));
  --color_accent: hsl(var(--accent_tone), var(--accent_sat), var(--accent_l));
  --color_text: hsl(var(--glow_tone), var(--slt), var(--text_l));
  --color_glow: hsl(var(--glow_tone), var(--glow_sat), var(--glow_l));
  --color_gloomy: hsla(var(--glow_tone), var(--glow_sat), var(--glow_l), 0.75);
}

*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  font-size: 100%;
  -webkit-font-smoothing: antialiased;
}

body {
  font-family: var(--font-ui);
  background: var(--color_back);
  color: var(--color_text);
  min-height: 100dvh;
  line-height: 1.5;
}

img, canvas, svg {
  display: block;
  max-width: 100%;
}

button, input, select {
  font: inherit;
  color: inherit;
}

.hidden {
  display: none !important;
}
