/* From Uiverse.io by 0xnihilism */ 
.brutalist-container {
    position: relative;
    width: 300px;
    font-family: monospace;
  }
  
  .brutalist-input {
    width: 100%;
    padding: 15px;
    font-size: 18px;
    font-weight: bold;
    color: #000;
    background-color: #fff;
    border: 4px solid #000;
    position: relative;
    overflow: hidden;
    border-radius: 0;
    outline: none;
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
    box-shadow: 5px 5px 0 #000, 10px 10px 0 #0044ff;
  }
  
  @keyframes glitch {
    0% {
      transform: translate(0);
    }
    20% {
      transform: translate(-2px, 2px);
    }
    40% {
      transform: translate(-2px, -2px);
    }
    60% {
      transform: translate(2px, 2px);
    }
    80% {
      transform: translate(2px, -2px);
    }
    100% {
      transform: translate(0);
    }
  }
  
  .brutalist-input:focus {
    animation: focus-pulse 4s cubic-bezier(0.25, 0.8, 0.25, 1) infinite,
      glitch 0.3s cubic-bezier(0.25, 0.8, 0.25, 1) infinite;
  }
  
  .brutalist-input:focus::after {
    content: "";
    position: absolute;
    top: -2px;
    left: -2px;
    right: -2px;
    bottom: -2px;
    background: white;
    z-index: -1;
  }
  
  .brutalist-input:focus::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: black;
    z-index: -2;
    clip-path: inset(0 100% 0 0);
    animation: glitch-slice 4s steps(2, end) infinite;
  }
  
  @keyframes glitch-slice {
    0% {
      clip-path: inset(0 100% 0 0);
    }
    10% {
      clip-path: inset(0 5% 0 0);
    }
    20% {
      clip-path: inset(0 80% 0 0);
    }
    30% {
      clip-path: inset(0 10% 0 0);
    }
    40% {
      clip-path: inset(0 50% 0 0);
    }
    50% {
      clip-path: inset(0 30% 0 0);
    }
    60% {
      clip-path: inset(0 70% 0 0);
    }
    70% {
      clip-path: inset(0 15% 0 0);
    }
    80% {
      clip-path: inset(0 90% 0 0);
    }
    90% {
      clip-path: inset(0 5% 0 0);
    }
    100% {
      clip-path: inset(0 100% 0 0);
    }
  }
  
  .brutalist-label {
    position: absolute;
    left: -3px;
    top: -35px;
    font-size: 14px;
    font-weight: bold;
    color: #fff;
    background-color: #000;
    padding: 5px 10px;
    transform: rotate(-1deg);
    z-index: 1;
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
  }
  
  .brutalist-input:focus + .brutalist-label {
    transform: rotate(0deg) scale(1.05);
    background-color: #0044ff;
  }
  
  .smooth-type {
    position: relative;
    overflow: hidden;
  }
  
  .smooth-type::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: linear-gradient(90deg, #fff 0%, rgba(255, 255, 255, 0) 100%);
    z-index: 1;
    opacity: 0;
    transition: opacity 0.3s ease;
  }
  
  .smooth-type:focus::before {
    opacity: 1;
    animation: type-gradient 2s linear infinite;
  }
  
  @keyframes type-gradient {
    0% {
      background-position: 300px 0;
    }
    100% {
      background-position: 0 0;
    }
  }
  
  .brutalist-input::placeholder {
    color: #888;
    transition: color 0.3s ease;
  }
  
  .brutalist-input:focus::placeholder {
    color: transparent;
  }
  
  .brutalist-input:focus {
    animation: focus-pulse 4s cubic-bezier(0.25, 0.8, 0.25, 1) infinite;
  }
  
  @keyframes focus-pulse {
    0%,
    100% {
      border-color: #000;
    }
    50% {
      border-color: #0044ff;
    }
  }

.brutalist-button {
  font-family: monospace;
  font-size: 18px;
  font-weight: bold;
  padding: 5px 10px;
  margin-top: 10px;
  border: 4px solid #000000;
  box-shadow: 5px 5px 0 #000000, 10px 10px 0 #0044ff;
  background: #ffffff;
  color: #000000;
  transition: all 0.3s ease;
  cursor: pointer;
  text-decoration: none;
}

.brutalist-button:hover {
  translate: -2px -2px;
  box-shadow: 7px 7px 0 #000000, 14px 14px 0 #0044ff;
  border: 4px solid #0044ff;
}

.brutalist-button:active {
  translate: 2px 2px;
  box-shadow: 0px 0px 0 #000000, 0px 0px 0 #0044ff;
}


.brutalist-button-create {
  font-family: monospace;
  font-size: 22px;
  font-weight: bold;
  padding: 10px 20px;
  margin-top: 10px;
  border: 4px solid #000000;
  box-shadow: 5px 5px 0 #000000, 10px 10px 0 #0044ff;
  background: #ffffff;
  color: #000000;
  transition: all 0.3s ease;
  cursor: pointer;
  background-color: #d1e7dd;
  text-decoration: none;
}

.brutalist-button-create:hover {
  translate: -2px -2px;
  box-shadow: 7px 7px 0 #000000, 14px 14px 0 #0044ff;
  border: 4px solid #0044ff;
}

.brutalist-button-create:active {
  translate: 2px 2px;
  box-shadow: 0px 0px 0 #000000, 0px 0px 0 #0044ff;
}




.brutalist-button-small{
  text-decoration: none;
  display: inline-block;
  translate: 0px 8.5px;
  font-family: monospace;
  font-size: 11px;
  font-weight: bold;
  padding: 2px 6px;
  margin-top: 10px;
  border: 4px solid #000000;
  box-shadow: 5px 5px 0 #000000;
  background: #ffffff;
  color: #000000;
  transition: all 0.3s ease;
  cursor: pointer;
}

.brutalist-button-small:hover {
  translate: -2px 6.5px;
  box-shadow: 7px 7px 0 #000000;
  border: 4px solid #0044ff;
}

.brutalist-button-small:active {
  translate: 0px 8.5px;
  box-shadow: 0px 0px 0 #000000;
}


.brutalist-button-small-table{
  text-decoration: none;
  display: inline-block;
  font-family: monospace;
  font-size: 11px;
  font-weight: bold;
  translate: 0px 0px;
  padding: 2px 6px;
  margin-top: 0px;
  border: 4px solid #000000;
  box-shadow: 5px 5px 0 #000000;
  background: #ffffff;
  color: #000000;
  transition: all 0.3s ease;
  cursor: pointer;
}

.brutalist-button-small-table:hover {
  translate: -2px -2px;
  box-shadow: 7px 7px 0 #000000;
  border: 4px solid #0044ff;
}

.brutalist-button-small-table:active {
  translate: 0px 0px;
  box-shadow: 0px 0px 0 #000000;
}

.brutalist-button-small-table-inv{
  text-decoration: none;
  display: inline-block;
  font-family: monospace;
  font-size: 11px;
  font-weight: bold;
  translate: 0px 0px;
  padding: 2px 6px;
  margin-top: 0px;
  border: 4px solid #000000;
  box-shadow: 5px 5px 0 #000000;
  background: #000000;
  color: #ffffff;
  transition: all 0.3s ease;
  cursor: pointer;
}

.brutalist-button-small-table-inv:hover {
  translate: -2px -2px;
  box-shadow: 7px 7px 0 #000000;
  border: 4px solid #0044ff;
}

.brutalist-button-small-table-inv:active {
  translate: 0px 0px;
  box-shadow: 0px 0px 0 #000000;
}



.brutalist-checkbox {
  color: #000000;
  overflow: hidden;
  position: relative;
  appearance: none;
  width: 20px;
  height: 20px;
  border: 4px solid #000000;
  background: #ffffff;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 5px 5px 0 #000000, 10px 10px 0 #0044ff;
}

.brutalist-checkbox:checked {
  background: #0044ff;
  border: 0px solid #0044ff;
  box-shadow: 5px 5px 0 #000000, 10px 10px 0 #0044ff;
}

.brutalist-checkbox:hover {
  translate: -1px -1px;
  box-shadow: 6px 6px 0 #000000, 12px 12px 0 #0044ff;
  border: 4px solid #0044ff;
}

.brutalist-checkbox:checked:hover {
  translate: -1px -1px;
  box-shadow: 6px 6px 0 #000000, 12px 12px 0 #0044ff;
  border: 0px solid #0044ff;
}

.brutalist-checkbox:active {
  translate: 1px 1px;
  box-shadow: 0px 0px 0 #000000, 0px 0px 0 #0044ff;
}


/* Add the tick mark */
.brutalist-checkbox:checked::after {
  content: "✔";
  color: green;
  font-size: 14px;
  font-weight: bold;
  position: absolute;
  transform: scale(1);
  transition: transform 0.2s ease-in-out;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}


.brutalist-checkbox-label {
  font-family: monospace;
  font-size: 18px;
  font-weight: bold;
  color: #000000;
  margin-left: 10px;
}

.brutalist-muted{
  font-family: monospace;
  font-size: 14px;
  font-weight: bold;
  color: #888888;
}

.brutalist-error{
  font-family: monospace;
  font-size: 14px;
  font-weight: bold;
  color: #ff0000;
}

.brutalist-font{
  font-family: monospace;
  font-size: 16px;
  font-weight: bold;
  color: #000000;
}

.brutalist-header{
  font-family: monospace;
  font-size: 24px;
  font-weight: bold;
  color: #000000;
  text-align: center;
  margin-top: 20px;
  margin-bottom: 20px;
}

.brutalist-post-input{
  font-family: monospace;
  font-size: 16px;
  font-weight: bold;
  color: #000000;
  position: relative;
}

.brutalist-flash{
  font-family: monospace;
  font-size: 16px;
  font-weight: bold;
  padding: 5px 10px;
  margin-top: 10px;
  border: 4px solid #000000;
  border-radius: 0;
  box-shadow: 5px 5px 0 #000000, 10px 10px 0 #0044ff;
  transition: all 0.3s ease;
  cursor: pointer;
}

.brutalist-post-field {
  font-family: monospace;
  font-size: 14px;
  font-weight: bold;
  padding: 5px 10px;
  border: 4px solid #000000;
  box-shadow: 5px 5px 0 #000000;
  background: #ffffff;
  color: #000000;
  position: relative;
}

.brutalist-checkbox-post {
  color: #000000;
  overflow: hidden;
  position: relative;
  appearance: none;
  width: 20px;
  height: 20px;
  border: 4px solid #000000;
  background: #ffffff;
  box-shadow: 5px 5px 0 #000000;
}

.brutalist-checkbox-post-checked {
  color: #000000;
  overflow: hidden;
  position: relative;
  appearance: none;
  width: 20px;
  height: 20px;
  border: 4px solid #000000;
  background: #000000;
  box-shadow: 5px 5px 0 #000000;
}