@import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;1,100;1,200;1,300;1,400;1,500;1,600;1,700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600;700&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);
}

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 {
  display: block;
  max-width: 100%;
  max-height: 100%;
}

canvas {
  display: block;
}

:root {
  --color-primary: #FF33CC;
  --color-primary-rgb: 255, 51, 204;
  --color-primary-bg: #FF33CC;
  --color-primary-bg-rgb: 255, 51, 204;
  --color-primary-fg: #0F0F0F;
  --color-primary-fg-rgb: 15, 15, 15;
  --color-primary-inverted-bg: #00cc33;
  --color-primary-inverted-bg-rgb: 0, 204, 51;
  --color-primary-inverted-fg: #f0f0f0;
  --color-primary-inverted-fg-rgb: 240, 240, 240;
  --color-secondary: #33FF66;
  --color-secondary-rgb: 51, 255, 102;
  --color-secondary-bg: #33FF66;
  --color-secondary-bg-rgb: 51, 255, 102;
  --color-secondary-fg: #0F0F0F;
  --color-secondary-fg-rgb: 15, 15, 15;
  --color-secondary-inverted-bg: #cc0099;
  --color-secondary-inverted-bg-rgb: 204, 0, 153;
  --color-secondary-inverted-fg: #f0f0f0;
  --color-secondary-inverted-fg-rgb: 240, 240, 240;
  --color-dark: #0F0F0F;
  --color-dark-rgb: 15, 15, 15;
  --color-dark-bg: #0F0F0F;
  --color-dark-bg-rgb: 15, 15, 15;
  --color-dark-fg: #F5F5F5;
  --color-dark-fg-rgb: 245, 245, 245;
  --color-dark-inverted-bg: #f0f0f0;
  --color-dark-inverted-bg-rgb: 240, 240, 240;
  --color-dark-inverted-fg: #0a0a0a;
  --color-dark-inverted-fg-rgb: 10, 10, 10;
  --color-info: #3399FF;
  --color-info-rgb: 51, 153, 255;
  --color-info-bg: #3399FF;
  --color-info-bg-rgb: 51, 153, 255;
  --color-info-fg: #0F0F0F;
  --color-info-fg-rgb: 15, 15, 15;
  --color-info-inverted-bg: #cc6600;
  --color-info-inverted-bg-rgb: 204, 102, 0;
  --color-info-inverted-fg: #f0f0f0;
  --color-info-inverted-fg-rgb: 240, 240, 240;
  --color-success: #66FF33;
  --color-success-rgb: 102, 255, 51;
  --color-success-bg: #66FF33;
  --color-success-bg-rgb: 102, 255, 51;
  --color-success-fg: #0F0F0F;
  --color-success-fg-rgb: 15, 15, 15;
  --color-success-inverted-bg: #9900cc;
  --color-success-inverted-bg-rgb: 153, 0, 204;
  --color-success-inverted-fg: #f0f0f0;
  --color-success-inverted-fg-rgb: 240, 240, 240;
  --color-warning: #FF8833;
  --color-warning-rgb: 255, 136, 51;
  --color-warning-bg: #FF8833;
  --color-warning-bg-rgb: 255, 136, 51;
  --color-warning-fg: #0F0F0F;
  --color-warning-fg-rgb: 15, 15, 15;
  --color-warning-inverted-bg: #0077cc;
  --color-warning-inverted-bg-rgb: 0, 119, 204;
  --color-warning-inverted-fg: #f0f0f0;
  --color-warning-inverted-fg-rgb: 240, 240, 240;
  --color-danger: #FF3333;
  --color-danger-rgb: 255, 51, 51;
  --color-danger-bg: #FF3333;
  --color-danger-bg-rgb: 255, 51, 51;
  --color-danger-fg: #F5F5F5;
  --color-danger-fg-rgb: 245, 245, 245;
  --color-danger-inverted-bg: #00cccc;
  --color-danger-inverted-bg-rgb: 0, 204, 204;
  --color-danger-inverted-fg: #0a0a0a;
  --color-danger-inverted-fg-rgb: 10, 10, 10;
  --color-light: #F5F5F5;
  --color-light-rgb: 245, 245, 245;
  --color-light-bg: #F5F5F5;
  --color-light-bg-rgb: 245, 245, 245;
  --color-light-fg: #0F0F0F;
  --color-light-fg-rgb: 15, 15, 15;
  --color-light-inverted-bg: #0a0a0a;
  --color-light-inverted-bg-rgb: 10, 10, 10;
  --color-light-inverted-fg: #f0f0f0;
  --color-light-inverted-fg-rgb: 240, 240, 240;
  --color-medium: #999999;
  --color-medium-rgb: 153, 153, 153;
  --color-medium-bg: #999999;
  --color-medium-bg-rgb: 153, 153, 153;
  --color-medium-fg: #0F0F0F;
  --color-medium-fg-rgb: 15, 15, 15;
  --color-medium-inverted-bg: #666666;
  --color-medium-inverted-bg-rgb: 102, 102, 102;
  --color-medium-inverted-fg: #f0f0f0;
  --color-medium-inverted-fg-rgb: 240, 240, 240;
  --color-body: #0F0F0F;
  --color-body-rgb: 15, 15, 15;
  --color-body-bg: #0F0F0F;
  --color-body-bg-rgb: 15, 15, 15;
  --color-body-fg: #F5F5F5;
  --color-body-fg-rgb: 245, 245, 245;
  --color-body-inverted-bg: #f0f0f0;
  --color-body-inverted-bg-rgb: 240, 240, 240;
  --color-body-inverted-fg: #0a0a0a;
  --color-body-inverted-fg-rgb: 10, 10, 10;
  --color-element: #1D1D1D;
  --color-element-rgb: 29, 29, 29;
  --color-element-bg: #1D1D1D;
  --color-element-bg-rgb: 29, 29, 29;
  --color-element-fg: #F5F5F5;
  --color-element-fg-rgb: 245, 245, 245;
  --color-element-inverted-bg: #e2e2e2;
  --color-element-inverted-bg-rgb: 226, 226, 226;
  --color-element-inverted-fg: #0a0a0a;
  --color-element-inverted-fg-rgb: 10, 10, 10;
  --color-scale: 0, 0, 0;
  --color-scale-inverted: 255, 255, 255;
  --font-base: "IBM Plex Sans", sans-serif;
  --font-headers: "IBM Plex Sans", sans-serif;
  --font-legible: "IBM Plex Sans", sans-serif;
  --font-monospace: "IBM Plex Mono", monospace;
  --font-size-base: 16px;
}

:root::before {
  content: "";
  display: block;
  position: fixed;
  inset: 0 0 0 0;
  background-color: var(--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%;
  animation: loader 2s infinite linear;
  transition: opacity 0.4s ease-in-out, translate 0.4s ease-in-out;
  content: "";
  background-image: url("data:image/png;base64,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");
  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 {
  translate: calc(-50% - 3rem) -50%;
  transition-delay: 0.32s;
}
@keyframes loader {
  0% {
    scale: 1;
  }
  50% {
    scale: 1.25;
  }
  100% {
    scale: 1;
  }
}

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