:root {
  --primary-color: #2c2c2c;
  --error-color: red;
  --primary-background-color: #fafafa;
  --secondary-background-color: white;
  --image-color: unset;
  --input-fill: WhiteSmoke;
  --outline-color: #b0bec5;
  --toast-background: #313131;
  --toast-color: #fff;
  --toast-border-radius: 0.5rem;
  --toast-offset: 100px;
  /* Fonts */
  --font-family: "Roboto Sans", sans-serif;
  --font-size: 18px;
  --font-weight: 400;
  --font-weight-bold: 700;
  /* Misc */
  --box-border-radius: 4px;
  --box-shadow:
    rgba(255, 255, 255, 0.1) 0px 1px 1px 0px inset,
    rgba(50, 50, 93, 0.25) 0px 50px 100px -20px,
    rgba(0, 0, 0, 0.3) 0px 30px 60px -30px;

  --theme-very-light: #a0c2f8;
  --theme-light: #8db5f7;
  --theme-color: #7aaaf6;
  --theme-dark: #669df4;
  --theme-very-dark: #5391f3;
  --theme-accent-1: #5f4bb6;
  --theme-accent-2: #9e768f;
}

body {
  margin: unset;
  color: var(--primary-color, #2c2c2c);
  background-color: var(--primary-background-color, #fafafa);
  max-width: 100dvw;
  overflow-x: hidden;
  font-family: var(--font-family);
}

*:focus {
  outline: none;
}

.bold {
  font-weight: 700;
}

.loader {
  height: 88dvh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

/* Mobile */
@media screen and (max-width: 780px) {
  #app {
    font-size: 14px;
  }
}

/* Desktop */
@media screen and (min-width: 780px) {
  ::-webkit-scrollbar {
    background-color: var(--secondary-background-color);
    width: 16px;
  }

  ::-webkit-scrollbar-track {
    background-color: var(--secondary-background-color);
  }

  ::-webkit-scrollbar-thumb {
    background-color: #babac0;
    border-radius: 16px;
    border: 4px solid var(--secondary-background-color);
  }

  ::-webkit-scrollbar-button {
    display: none;
  }
}
