@import url("https://fonts.googleapis.com/css2?family=Raleway:ital,wght@0,100..900;1,100..900&display=swap");
*,
*::before,
*::after {
  box-sizing: border-box;
}

:focus {
  outline: 1px solid var(--color-primary);
}

:root {
  font-family: var(--font-base);
  font-size: var(--font-size-base);
  -webkit-text-size-adjust: none;
}

html,
body {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
}

body {
  min-width: 100%;
  background-color: var(--color-body-bg);
  color: var(--color-body-fg);
}

section,
header,
main,
footer {
  display: block;
}

button,
a[href] {
  cursor: pointer;
}

menu,
h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  padding: 0;
}

ul,
ul li {
  margin: 0;
  padding: 0;
  list-style: none;
}

pre {
  white-space: pre-wrap;
  margin: 0;
}

img {
  max-width: 100%;
  max-height: 100%;
  height: auto;
  vertical-align: middle;
  font-style: italic;
  background-repeat: no-repeat;
  background-size: cover;
  shape-margin: 1em;
}

:root {
  --color-primary: #3a2f87;
  --color-primary-rgb: 58, 47, 135;
  --color-primary-bg: #3a2f87;
  --color-primary-bg-rgb: 58, 47, 135;
  --color-primary-fg: #FFFFFF;
  --color-primary-fg-rgb: 255, 255, 255;
  --color-secondary: #b79f77;
  --color-secondary-rgb: 183, 159, 119;
  --color-secondary-bg: #b79f77;
  --color-secondary-bg-rgb: 183, 159, 119;
  --color-secondary-fg: #040404;
  --color-secondary-fg-rgb: 4, 4, 4;
  --color-tertiary: #00a99d;
  --color-tertiary-rgb: 0, 169, 157;
  --color-tertiary-bg: #00a99d;
  --color-tertiary-bg-rgb: 0, 169, 157;
  --color-tertiary-fg: #FFFFFF;
  --color-tertiary-fg-rgb: 255, 255, 255;
  --color-quaternary: #140f3b;
  --color-quaternary-rgb: 20, 15, 59;
  --color-quaternary-bg: #140f3b;
  --color-quaternary-bg-rgb: 20, 15, 59;
  --color-quaternary-fg: #FFFFFF;
  --color-quaternary-fg-rgb: 255, 255, 255;
  --color-quinary: #504795;
  --color-quinary-rgb: 80, 71, 149;
  --color-quinary-bg: #504795;
  --color-quinary-bg-rgb: 80, 71, 149;
  --color-quinary-fg: #FFFFFF;
  --color-quinary-fg-rgb: 255, 255, 255;
  --color-danger: #A90200;
  --color-danger-rgb: 169, 2, 0;
  --color-danger-bg: #A90200;
  --color-danger-bg-rgb: 169, 2, 0;
  --color-danger-fg: #FFFFFF;
  --color-danger-fg-rgb: 255, 255, 255;
  --color-warning: #A94900;
  --color-warning-rgb: 169, 73, 0;
  --color-warning-bg: #A94900;
  --color-warning-bg-rgb: 169, 73, 0;
  --color-warning-fg: #FFFFFF;
  --color-warning-fg-rgb: 255, 255, 255;
  --color-success: #28A900;
  --color-success-rgb: 40, 169, 0;
  --color-success-bg: #28A900;
  --color-success-bg-rgb: 40, 169, 0;
  --color-success-fg: #FFFFFF;
  --color-success-fg-rgb: 255, 255, 255;
  --color-info: #0052A9;
  --color-info-rgb: 0, 82, 169;
  --color-info-bg: #0052A9;
  --color-info-bg-rgb: 0, 82, 169;
  --color-info-fg: #FFFFFF;
  --color-info-fg-rgb: 255, 255, 255;
  --color-dark: #040404;
  --color-dark-rgb: 4, 4, 4;
  --color-dark-bg: #040404;
  --color-dark-bg-rgb: 4, 4, 4;
  --color-dark-fg: #FFFFFF;
  --color-dark-fg-rgb: 255, 255, 255;
  --color-medium: #4d4d4d;
  --color-medium-rgb: 77, 77, 77;
  --color-medium-bg: #4d4d4d;
  --color-medium-bg-rgb: 77, 77, 77;
  --color-medium-fg: #FFFFFF;
  --color-medium-fg-rgb: 255, 255, 255;
  --color-light: #FFFFFF;
  --color-light-rgb: 255, 255, 255;
  --color-light-bg: #FFFFFF;
  --color-light-bg-rgb: 255, 255, 255;
  --color-light-fg: #040404;
  --color-light-fg-rgb: 4, 4, 4;
  --color-body: #e7e5f0;
  --color-body-rgb: 231, 229, 240;
  --color-body-bg: #e7e5f0;
  --color-body-bg-rgb: 231, 229, 240;
  --color-body-fg: #040404;
  --color-body-fg-rgb: 4, 4, 4;
  --color-element: #EEEEEE;
  --color-element-rgb: 238, 238, 238;
  --color-element-bg: #EEEEEE;
  --color-element-bg-rgb: 238, 238, 238;
  --color-element-fg: #040404;
  --color-element-fg-rgb: 4, 4, 4;
  --color-scale: 0, 0, 0;
  --color-scale-inverted: 255, 255, 255;
  --font-base: "Raleway", sans-serif;
  --font-headers: "Raleway", sans-serif;
  --font-legible: Verdana, Arial, sans-serif;
  --font-monospace: Consolas, monospace;
  --font-size-base: 16px;
}

:root.has-error-dialog .error-dialog {
  border: none;
  outline: none;
  padding: 0;
  border-radius: 1rem;
  z-index: 99999;
  max-width: 90vw;
}
:root.has-error-dialog .error-dialog > header {
  padding: 1rem 2rem;
  background-color: var(--color-danger-bg, red);
  color: var(--color-danger-fg, white);
}
:root.has-error-dialog .error-dialog > header > h1 {
  font-size: 1.25rem;
}
:root.has-error-dialog .error-dialog > .body {
  padding: 2rem 2rem 0;
  -webkit-overflow-scrolling: touch;
  overflow-y: overlay;
  overflow-x: hidden;
  max-height: 60vh;
}
:root.has-error-dialog .error-dialog > .body::-webkit-scrollbar {
  width: 8px;
  height: 8px;
  background: rgba(0, 0, 0, 0);
}
:root.has-error-dialog .error-dialog > .body::-webkit-scrollbar-thumb {
  background: var(--color-danger-bg, red);
  border-radius: 4px;
}
:root.has-error-dialog .error-dialog > .body::-webkit-scrollbar-track, :root.has-error-dialog .error-dialog > .body::-webkit-scrollbar-track-piece, :root.has-error-dialog .error-dialog > .body::-webkit-scrollbar-corner {
  background: rgba(0, 0, 0, 0);
}
:root.has-error-dialog .error-dialog > .body > h2 {
  font-size: 1.125rem;
  margin-block-end: 0.5rem;
}
:root.has-error-dialog .error-dialog > .body > pre {
  border-radius: 0.5rem;
  padding: 1rem;
  font-size: 0.75rem;
  background-color: var(--color-element-bg, #eee);
  margin-block-end: 2rem;
  overflow-x: overlay;
  -webkit-overflow-scrolling: touch;
}
:root.has-error-dialog .error-dialog > .body > pre::-webkit-scrollbar {
  width: 8px;
  height: 8px;
  background: rgba(0, 0, 0, 0);
}
:root.has-error-dialog .error-dialog > .body > pre::-webkit-scrollbar-thumb {
  background: var(--color-danger-bg, red);
  border-radius: 4px;
}
:root.has-error-dialog .error-dialog > .body > pre::-webkit-scrollbar-track, :root.has-error-dialog .error-dialog > .body > pre::-webkit-scrollbar-track-piece, :root.has-error-dialog .error-dialog > .body > pre::-webkit-scrollbar-corner {
  background: rgba(0, 0, 0, 0);
}
:root.has-error-dialog .error-dialog > .body .error-id code {
  display: inline-block;
  border-radius: 0.5rem;
  padding: 0.25rem 0.75rem;
  margin-inline-start: 1ch;
  background-color: var(--color-element-bg, #eee);
}
:root.has-error-dialog .error-dialog > footer {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem 2rem;
  gap: 0.5rem;
}
:root.has-error-dialog .error-dialog > footer > button {
  font-size: 0.75rem;
}

:root::before {
  content: "";
  display: block;
  position: fixed;
  inset: 0 0 0 0;
  background-color: var(--color-body-bg);
  transition: opacity 0.4s ease-in-out;
  z-index: 9999;
}
:root::after {
  display: block;
  position: fixed;
  top: 50%;
  left: 50%;
  z-index: 9999;
  line-height: 1;
  translate: -50% -50%;
  transform-origin: 50% 50%;
  transition: opacity 0.4s ease-in-out, translate 0.4s ease-in-out;
  content: "";
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 128 128'%3E%3Cstyle%3E path %7B fill: none; stroke: %233a2f87; stroke-width: 8; animation: spin 2s linear infinite; transform-origin: center; %7D @keyframes spin %7B 0%25 %7B rotate: 0deg; %7D 100%25 %7B rotate: 360deg; %7D %7D %3C/style%3E%3Cpath d='M 4 64 A 60 60 0 1 0 64 4' /%3E%3C/svg%3E");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 6rem;
  height: 6rem;
  backface-visibility: visible;
}
:root.loading::before, :root.loading::after {
  opacity: 1;
}
:root:not(.loading)::before, :root:not(.loading)::after {
  pointer-events: none;
  opacity: 0;
}
:root:not(.loading)::after {
  transition-delay: 0.32s;
}

/*# sourceMappingURL=app.css.map */
