@font-face {
  font-family: "Abar";
  src: url("../assets/fonts/AbarMidFaNum-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Abar";
  src: url("../assets/fonts/AbarMidFaNum-Bold.ttf") format("truetype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
}
html,
body {
  background-color: var(--color-primary);
}
body {
  margin: 0;
  color: var(--color-text);
  font-family: var(--font-body);
  font-synthesis: none;
  -webkit-font-smoothing: antialiased;
}
button,
a {
  -webkit-tap-highlight-color: transparent;
}
button {
  font: inherit;
  cursor: pointer;
}
a {
  color: inherit;
}
img {
  display: block;
  max-width: 100%;
}
::selection {
  background: #aac4c0;
  color: #102e31;
}
.app-shell {
  position: relative;
  width: 100%;
  height: 100dvh;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior-y: contain;
  background: var(--color-background);
  scrollbar-width: thin;
  scrollbar-color: #a7b6b1 transparent;
  isolation: isolate;
}
.app-shell::-webkit-scrollbar {
  width: 4px;
}
.app-shell::-webkit-scrollbar-thumb {
  background: #9eb4b0;
  border-radius: 8px;
}
:focus-visible {
  outline: 2px solid #9dc9c3;
  outline-offset: 3px;
}
@media (min-width: 600px) {
  body {
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: var(--spacing-lg);
    background-color: var(--color-primary);
  }
  .app-shell {
    width: min(100%, var(--app-max-width));
    height: min(var(--app-max-height), calc(100dvh - 48px));
    min-height: 580px;
    border-radius: var(--radius-app);
    box-shadow:
      0 32px 90px rgba(19, 47, 48, 0.23),
      0 0 0 1px rgba(30, 71, 72, 0.11);
    scrollbar-width: none;
    -ms-overflow-style: none;
  }
  .app-shell::-webkit-scrollbar {
    display: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  *,
  *:before,
  *:after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
