@font-face {
  font-family: "Fraunces";
  src: url("/assets/fonts/Fraunces.woff2") format("woff2");
  font-weight: 100 900;
  font-display: swap;
}

@font-face {
  font-family: "Geist";
  src: url("/assets/fonts/Geist.woff2") format("woff2");
  font-weight: 100 900;
  font-display: swap;
}

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

:root {
  /* Light theme */
  --ink: #fafaf8;
  --ink2: #ffffff;
  --ink3: #f4f2ee;
  --cream: #1a1917;
  --muted: rgba(26, 25, 23, 0.5);
  --muted2: rgba(26, 25, 23, 0.25);
  --gold: #c4a35a;
  --gold2: #d4ac60;
  --gold3: #b8923a;
  --gold-dim: rgba(196, 163, 90, 0.08);
  --gold-border: rgba(196, 163, 90, 0.2);
  --green: #3daa6f;
  --green-dim: rgba(61, 170, 111, 0.08);
  --red: #e8553e;
  --red-dim: rgba(232, 85, 62, 0.08);
  --border: rgba(26, 25, 23, 0.07);
  --border2: rgba(26, 25, 23, 0.12);
  --shadow: 0 2px 12px rgba(26, 25, 23, 0.08);
  --shadow-lg: 0 8px 32px rgba(26, 25, 23, 0.12);

  /* Radii */
  --r-sm: 6px;
  --r-md: 10px;
  --r-lg: 14px;
  --r-xl: 18px;
  --r-2xl: 24px;
  --r-pill: 100px;

  /* Typography */
  --fd: "Fraunces", serif;
  --fb: "Geist", sans-serif;
}

html {
  font-size: 16px;
  -webkit-text-size-adjust: 100%;
}

body {
  font-family: var(--fb);
  background: var(--ink);
  color: var(--cream);
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow: hidden;
  height: 100dvh;
}

#root {
  height: 100dvh;
  display: flex;
  flex-direction: column;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

@keyframes pulse {
  0%,
  100% {
    opacity: 1;
  }
  50% {
    opacity: 0.4;
  }
}

button:active {
  transform: scale(0.97);
}

a {
  color: inherit;
}

input,
textarea,
select {
  font-family: inherit;
}

.desktop-sidebar {
  display: none;
}

@media (min-width: 900px) {
  .desktop-sidebar {
    display: flex !important;
  }
  .mobile-tabbar {
    display: none !important;
  }
}
