@font-face {
  font-family: Roboto;
  src: url('Roboto-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
}

@font-face {
  font-family: Roboto;
  src: url('Roboto-Italic.ttf') format('truetype');
  font-weight: 400;
  font-style: italic;
}

@font-face {
  font-family: Roboto;
  src: url('Roboto-Bold.ttf') format('truetype');
  font-weight: 700;
  font-style: normal;
}

@font-face {
  font-family: Roboto;
  src: url('Roboto-BoldItalic.ttf') format('truetype');
  font-weight: 700;
  font-style: italic;
}

@font-face {
  font-family: GTPressura;
  src: url('GT-Pressura-Mono.otf') format('opentype');
  font-weight: 700;
  font-style: italic;
}

html,
input {
  font-family: Roboto;
}

pre,
textarea {
  font-family: GTPressura;
}

html {
  margin: 0;
  overflow-x: hidden;
  overflow-y: auto;
  height: 100%;
}

body {
  margin: 0;
  height: 100%;
  background-color: hsl(var(--main-bg));
  color: hsl(var(--main-fg));
  display: flex;
  flex-direction: column;
}

* {
  transition: background-color 0.5s;
}

button {
  background: none;
  color: inherit;
  border: none;
  padding: 0;
  font: inherit;
  cursor: pointer;
  outline: inherit;
}

#app {
  height: 100%;
}

.card {
  padding: 20px 40px;
  background-color: hsl(var(--main-surface));
  border-radius: 10px;
}

.button {
  text-decoration: none;
  color: hsl(var(--main-love));
  padding: 5px 8px;
  border-radius: 5px;
}

.button:hover {
  background-color: hsl(var(--main-highlight-med));
}

.button:active {
  background-color: hsl(var(--main-highlight-high));
  outline: 2px solid hsl(var(--main-pine));
}

.button-round {
  padding: 8px 30px;
  text-decoration: none;
  color: hsl(var(--main-fg));
  background-color: hsl(var(--main-highlight-med));
  border-radius: 25px;
}

.button-round > * {
  display: block;
  margin: auto;
}

.button-round:hover {
  background-color: hsl(var(--main-highlight-high));
}

.button-round:active {
  outline: 2px solid hsl(var(--main-pine));
}

.button-round:disabled {
  background-color: hsl(var(--main-highlight-low));
  color: hsl(var(--main-highlight-med));
  cursor: initial;
}
.button-round:disabled:active {
  outline: none;
}

.static-padding {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.row {
  display: flex;
  flex-direction: row;
}

a,
.link {
  text-decoration: underline;
  color: hsl(var(--main-iris));
}

canvas {
  display: block;
}

pre {
  white-space: pre-wrap;
  line-height: 1.7rem;
}

textarea {
  box-sizing: border-box;
  outline: 2px solid hsl(var(--main-highlight-high));
  background-color: hsl(var(--main-bg));
  color: hsl(var(--main-fg));
  border-radius: 4px;
  padding: 12px 20px;
  border: none !important;
  resize: none;
}

textarea:focus {
  border: none !important;
  outline: 2px solid hsl(var(--main-foam));
}

input[type='text'] {
  padding: 5px 10px;
  background-color: hsl(var(--main-overlay));
  border: 2px solid hsl(var(--main-highlight-med));
  border-radius: 5px;
  color: hsl(var(--main-fg));
}

input:focus {
  border: 2px solid hsl(var(--main-foam));
  background-color: hsl(var(--main-highlight-med));
  outline: none;
}

::selection {
  background-color: hsl(var(--main-highlight-high));
}

@keyframes rotation {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(359deg);
  }
}
