:root {
  --padding-xs: 0.5vmin;
  --padding-sm: 1vmin;
  --kamban-width: 48vmin;
}

body {
  margin: 0;
  overflow: hidden;
}
main {
  width: 100vw;
  height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

#placeholder {
  width: min(400px, 80%);
  aspect-ratio: 487/354;
  background-image: url(placeholder.png);
  background-size: cover;
}

.center {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

#img {
  max-width: 100vw;
  max-height: 100vh;
  width: auto;
  height: auto;
}

#result {
  position: relative;
}

#uploader {
  width: 100%;
  height: 100%;
  opacity: 0%;
}

#kamban {
  position: absolute;
  width: var(--kamban-width);
  color: white;
  background-color: #000510;
  padding: var(--padding-xs);
  font-size: 2vmin;
  transition: scale 0.25s ease-in-out;
}

#kamban:focus-within {
  scale: 2;
}

@keyframes breathing {
  0%,
  100% {
    opacity: 0.8;
    scale: 0.98;
  }
  50% {
    opacity: 1;
    scale: 1;
  }
}

.selection-box {
  position: absolute;
  width: var(--kamban-width);
  height: calc(var(--kamban-width) * 0.7);
  background-color: hsla(242, 100%, 50%, 0.15);
  border-width: var(--padding-xs);
  border-color: hsl(242, 100%, 50%);
  border-style: solid;
  border-radius: var(--padding-sm);
  animation: breathing 2s infinite;
}

.top {
  top: var(--padding-sm);
}

.bottom {
  bottom: var(--padding-sm);
}

.left {
  left: var(--padding-sm);
}

.right {
  right: var(--padding-sm);
}

table {
  border-collapse: collapse;
  white-space: nowrap;
}
.input,
td {
  width: 100%;
}

td,
th {
  border: 1px solid white;
  /* vertical-align: middle; */
}

.half-width {
  width: 50%;
}

td {
  text-align: left;
  padding-inline: var(--padding-xs);
}
th {
  text-align: center;
}
.input,
textarea {
  color: white;
  background-color: #00000000;
  border: #00000000;
  resize: none;
}

.hidden {
  display: none;
}
