@font-face {
  font-family: "Jun";
  src: url("../fonts/Jun_Regular.otf") format("opentype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Caveat";
  src: url("../fonts/Caveat-Bold.ttf") format("truetype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Jun";
  src: url("../fonts/Jun_Regular.otf") format("opentype");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "JetBrains Mono";
  src: url("../fonts/JetBrainsMono-Light.ttf") format("truetype");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "JetBrains Mono";
  src: url("../fonts/JetBrainsMono-Medium.ttf") format("truetype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "JetBrains Mono";
  src: url("../fonts/JetBrainsMono-ExtraBold.ttf") format("truetype");
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}

:root {
  --page-bg: #fbf9f2;
  --modal-bg: #fbf9f2;
  --surface-soft: #eeeee5;
  --surface-muted: #e2e4d8;
  --olive: #516546;
  --olive-strong: #3e5134;
  --ink: #010102;
  --overlay: rgba(70, 60, 44, 0.2);
  --shadow-lg: 0 20px 50px rgba(31, 29, 23, 0.12);
  --shadow-button: 0 8px 14px rgba(0, 0, 0, 0.1), 0 20px 30px rgba(0, 0, 0, 0.1);
  --app-viewport-height: 100svh;
  --app-keyboard-offset: 0px;
  --app-keyboard-content-offset: 0px;
  --mono: "JetBrains Mono", "SFMono-Regular", "SF Mono", Consolas, "Liberation Mono",
    Menlo, monospace;
  --sans: "Manrope", "Helvetica Neue", Arial, sans-serif;
}

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

html,
body {
  min-height: 100%;
}

body {
  margin: 0;
  background: var(--page-bg);
  color: var(--ink);
  font-family: var(--sans);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  font-synthesis: none;
}

button,
input,
fieldset,
ul {
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  font: inherit;
}

ul {
  list-style: none;
}

button {
  cursor: pointer;
}

[hidden] {
  display: none !important;
}

@media (max-width: 760px) {
  input,
  textarea,
  select {
    font-size: 16px;
  }
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}


@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation: none !important;
    transition-duration: 0ms !important;
    scroll-behavior: auto !important;
  }
}
