/*
Josh's Custom CSS Reset
https://www.joshwcomeau.com/css/custom-css-reset/
*/

*,
*::before,
*::after {
  box-sizing: border-box;
}

* {
  margin: 0;
}

@media (prefers-reduced-motion: no-preference) {
  html {
    interpolate-size: allow-keywords;
  }
}

body {
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

img,
picture,
video,
canvas,
svg {
  display: block;
  max-width: 100%;
}

input,
button,
textarea,
select {
  font: inherit;
}

p,
h1,
h2,
h3,
h4,
h5,
h6 {
  overflow-wrap: break-word;
}

p {
  text-wrap: pretty;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  text-wrap: balance;
}

#root,
#__next {
  isolation: isolate;
}

/*
Fonts
*/
@font-face {
  font-family: "Figtree";
  font-style: italic;
  font-weight: 300 900;
  font-display: swap;
  src: url("../_assets/fonts/Figtree-Italic-Variable.woff2") format("woff2");
  unicode-range:
    U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC,
    U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212,
    U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Figtree";
  font-style: normal;
  font-weight: 300 900;
  font-display: swap;
  src: url("../_assets/fonts/Figtree-Regular-Variable.woff2") format("woff2");
  unicode-range:
    U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC,
    U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212,
    U+2215, U+FEFF, U+FFFD;
}

body {
  font-family: "Figtree", sans-serif;
}

/*
Colors
*/
body {
  background: var(--color-background);
  color: var(--color-text);
}

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

:root[color-mode="light"] {
  --color-background: hsl(46deg 33% 92%);
  --color-shadow: 0deg 0% 7%;
  --color-text: hsl(0deg 0% 7%);
  --color-highlight: hsl(50deg 100% 78%);
  --color-primary: hsl(166deg 100% 24%);
  --color-grey300: hsl(55deg 8% 40%);
  --color-grey500: hsl(60deg 4% 29%);
  --color-grey700: hsl(37deg 5% 24%);
  --color-grey900: hsl(60deg 4% 19%);
}

:root[color-mode="dark"] {
  --color-background: hsl(0deg 0% 7%);
  --color-shadow: 46deg 33% 92%;
  --color-text: hsl(46deg 33% 92%);
  --color-highlight: hsl(166deg 100% 24%);
  --color-primary: hsl(166deg 100% 30%);
  --color-grey300: hsl(60deg 4% 47%);
  --color-grey500: hsl(37deg 5% 60%);
  --color-grey700: hsl(60deg 4% 72%);
  --color-grey900: hsl(55deg 8% 82%);
}

/*
Shadows
*/
:root {
  --shadow:
    0.4px 0.7px 1.1px hsl(var(--color-shadow) / 0.02),
    1.6px 2.7px 4.5px -0.1px hsl(var(--color-shadow) / 0.05),
    2.9px 4.9px 8.1px -0.2px hsl(var(--color-shadow) / 0.08),
    5.1px 8.5px 14.1px -0.4px hsl(var(--color-shadow) / 0.12),
    9px 14.9px 24.8px -0.5px hsl(var(--color-shadow) / 0.15);
}

/*
Smooth scrolling
*/
@media (prefers-reduced-motion: no-preference) {
  html {
    scroll-behavior: smooth;
  }
}

/*
Font Weights
*/
:root {
  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
  --weight-bold: 700;
}

/*
Lists
*/
li::marker {
  color: var(--color-primary);
}
