@import url(fonts/roboto/roboto.css);

html {
  box-sizing: border-box;
  overflow: hidden;
}

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

html,
* {
  font-family: Roboto;
  scrollbar-width: thin;
}

*::-webkit-scrollbar-thumb {
  background: #ccc;
}

*::-webkit-scrollbar {
  width: 6px;
  height: 6px;
  background: #eee;
}

body {
  background: #094c55;
}

/* Chrome, Safari, Edge, Opera */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Firefox */
input[type="number"] {
  -moz-appearance: textfield;
}

input:not([type="checkbox"]) {
  outline: none;
}

select {
  -webkit-appearance: none;
  -moz-appearance: none;
  background: transparent;
  background-image: url("data:image/svg+xml;utf8,<svg fill='rgb(115,127,132)' height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l5 5 5-5z'/><path d='M0 0h24v24H0z' fill='none'/></svg>");
  background-repeat: no-repeat;
  background-position-x: 100%;
  background-position-y: 0;
  border: 1px solid #dfdfdf;
  padding: 2px 18px 2px 6px;
}

textarea::placeholder {
  color: #c3c8cb;
}

button {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background: none;
  border: none;
}

@keyframes splash {
  from {
    opacity: 0;
    transform: scale(0, 0);
  }
  50% {
    opacity: 1;
    transform: scale(1.1, 1.1);
  }
  to {
    transform: scale(1, 1);
  }
}

@keyframes fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes fade-out {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}

#app {
  height: 100vh;
}

#no-js-banner,
#no-local-storage-banner {
  background: #f0b1a3;
  color: #37474f;
  font-size: 16px;
  font-weight: bold;
  padding: 2em 4em;
}

#no-local-storage-banner:not(.visible) {
  display: none;
}

[data-tooltip] {
  position: relative;
  --tooltip-background: #4b5a61;
  --tooltip-color: #ebedee;
  --tooltip-offset: 1ex;
}

[data-tooltip]:hover:after {
  position: absolute;
  padding: 1ex;
  border-radius: 0.75ex;
  background-color: var(--tooltip-background);
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.1px;
  color: var(--tooltip-color);
  content: attr(data-tooltip);
  min-width: max-content;
  z-index: 9000;
  pointer-events: none;
}

[data-tooltip-pos="left"]:hover:after {
  right: calc(100% + var(--tooltip-offset));
  top: 50%;
  transform: translateY(-50%);
}

[data-tooltip-pos="right"]:hover:after {
  left: calc(100% + var(--tooltip-offset));
  top: 50%;
  transform: translateY(-50%);
}

[data-tooltip-pos="top"]:hover:after {
  bottom: calc(100% + var(--tooltip-offset));
  left: 50%;
  transform: translateX(-50%);
}

[data-tooltip-pos="bottom"]:hover:after {
  top: calc(100% + var(--tooltip-offset));
  left: 50%;
  transform: translateX(-50%);
}

[data-tooltip-pos]:hover:before {
  content: "";
  display: block;
  position: absolute;
  border: 0.75ex solid rgba(0, 0, 0, 0);
  z-index: 9000;
  pointer-events: none;
}

[data-tooltip-pos="left"]:hover:before {
  left: calc(-1 * var(--tooltip-offset));
  border-left-color: var(--tooltip-background);
  top: 50%;
  transform: translateY(-50%);
}

[data-tooltip-pos="right"]:hover:before {
  right: calc(-1 * var(--tooltip-offset));
  border-right-color: var(--tooltip-background);
  top: 50%;
  transform: translateY(-50%);
}

[data-tooltip-pos="top"]:hover:before {
  top: calc(-1 * var(--tooltip-offset));
  border-top-color: var(--tooltip-background);
  left: 50%;
  transform: translateX(-50%);
}

[data-tooltip-pos="bottom"]:hover:before {
  bottom: calc(-1 * var(--tooltip-offset));
  border-bottom-color: var(--tooltip-background);
  left: 50%;
  transform: translateX(-50%);
}

.throbber {
  border-radius: 50%;
  width: 64px;
  height: 64px;
  position: relative;
  border-top: 8px solid transparent;
  border-right: 8px solid transparent;
  border-bottom: 8px solid transparent;
  border-left: 8px solid rgb(33, 128, 137);
  transform: translateZ(0);
  animation: throbber 1.1s infinite linear;
}

@keyframes throbber {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

@keyframes button-working {
  0% {
    left: -4em;
    width: 3em;
  }
  100% {
    left: 100%;
    width: 1em;
  }
}
