/*
* Lain Captcha Code System for eli.gift
* Author: Jeffrey Epstein
* Date: 01/18/2025
* License: ISC
* Copyright (c) 2025 The Jeffrey Epstein VI Foundation
*/

.retarded-captcha {
  position: relative;
  margin-left: auto;
  margin-right: auto;
  margin-top: 10px;
}

.challenge-input {
  background-color: #fafafa;
  border: 1px solid #e0e0e0;
  box-sizing: border-box;
  display: flex;
  width: 300px;
  height: 65px;
  user-select: none;
  padding: 10px 15px;
  gap: 7px;
  justify-content: space-between;
  user-select: none;
  align-items: center;
  color: #232323;
  font-family: -apple-system, system-ui, blinkmacsystemfont, Segoe UI, roboto,
    oxygen, ubuntu, Helvetica Neue, arial, sans-serif;
  font-size: 14px;
  font-weight: 400;
  font-style: normal;
}

.challenge-input[data-status="nil"] .status-nil {
  display: flex;
}

.challenge-input[data-status="downloading"] .status-downloading {
  display: flex;
}

.challenge-input[data-status="hell yeah"] .status-hell-yeah {
  display: flex;
}

.challenge-input[data-status="kys"] .status-kys {
  display: flex;
}

.challenge-popup {
  position: absolute;
  display: flex;
  left: 30px;
  top: -50%;
  z-index: 100;
  border: 1px solid #999;
  background-color: white;
  color: black;
  z-index: 99999999;
  flex-direction: column;
  box-sizing: border-box;
  padding: 5px;
  justify-content: center;
  transition: opacity 0.3s ease-in-out;
  opacity: 0;
  pointer-events: none;
}

.challenge-popup.exist {
  opacity: 1;
  pointer-events: all;
}

.challenge-popup .footer {
  margin-top: auto;
  font-size: 13px;
  font-style: italic;
  text-align: right;
  color: #0005;
  font-family: Arial, Helvetica, sans-serif;
}

.challenge-popup .header {
  background-color: #1b73e8;
  color: white;
  width: 100%;
  padding: 0 5px;
  margin: 0 auto;
  font-family: "Franklin Gothic Medium", "Arial Narrow", Arial, sans-serif;
  padding: 20px;
  box-sizing: border-box;
}

.challenge-input span {
  cursor: url("/cursors/default.cur"), default;
}

.challenge-popup .header * {
  cursor: url("/cursors/text.cur"), text;
  user-select: text;
}

.challenge-popup .header .instructions {
  font-size: 14px;
  height: 16px;
}

.challenge-popup .header .key {
  font-size: 22px;
  font-weight: bold;
  line-height: 30px;
}

.challenge-popup .options {
  overflow: hidden;
  gap: 2px;
  display: grid;
  grid-template-rows: auto auto; /* 2 rows */
  grid-template-columns: auto auto; /* 2 columns */
  align-items: center;
  flex-wrap: wrap;
  margin-top: 4px;
}

.challenge-popup .option {
  width: 100px;
  height: 100px;
  background-color: #eee;
  text-align: center;
  display: flex;
  flex-direction: column;
  font-family: "Franklin Gothic Medium", "Arial Narrow", Arial, sans-serif;
  align-items: center;
  font-size: 14px;
}

.challenge-popup .option,
.challenge-popup .option * {
  cursor: url("/cursors/pointer.cur"), pointer;
}

.challenge-popup .option img {
  width: 64px;
  height: 64px;
}

@keyframes spin {
  to {
    transform: rotate(1turn);
  }
}

@keyframes stroke {
  to {
    stroke-dashoffset: 0;
  }
}

@keyframes scale {
  0%,
  to {
    transform: none;
  }
  50% {
    transform: scaleX(1);
  }
}

@keyframes fill {
  to {
    transform: scale(1);
  }
}

@keyframes fillfail {
  to {
    box-shadow: inset 0 30px 0 0 #de1303;
  }
}

@keyframes fillfail-offlabel {
  to {
    box-shadow: inset 0 0 0 30px #232323;
  }
}

@keyframes fillfail-offlabel-dark {
  to {
    box-shadow: inset 0 0 0 30px #fff;
  }
}

@keyframes scale-up-center {
  0% {
    transform: scale(0.01);
  }
  to {
    transform: scale(1);
  }
}

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

@keyframes fireworks {
  0% {
    opacity: 0;
    transform: scale(0);
  }
  50% {
    opacity: 1;
    transform: scale(1.5);
  }
  to {
    opacity: 0;
    transform: scale(2);
  }
}

@keyframes firework {
  0% {
    opacity: 0;
    stroke-dashoffset: 8;
  }
  30% {
    opacity: 1;
  }
  to {
    stroke-dashoffset: -8;
  }
}

@keyframes unspin {
  40% {
    stroke-width: 1px;
    stroke-linecap: square;
    stroke-dashoffset: 192;
  }
  to {
    stroke-width: 0;
  }
}

.challenge-input .branding {
  display: inline-flex;
  flex-direction: column;
}

.challenge-input .spinner-i {
  animation: spin 5s linear infinite;
  display: flex;
  height: 30px;
  width: 30px;
}

.challenge-input .fail-i {
  animation: scale-up-center 0.6s cubic-bezier(0.55, 0.085, 0.68, 0.53) both;
  box-shadow: inset 0 0 0 #de1303;
}

.challenge-input .fail-i,
.challenge-input .success-i {
  border-radius: 50%;
  display: flex;
  height: 30px;
  width: 30px;
  stroke-width: 1px;
  fill: #f8f8f8;
  stroke: #f8f8f8;
  stroke-miterlimit: 10;
}

.challenge-input .success-i {
  animation: scale-up-center 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53) both;
  stroke-width: 6px;
}

.challenge-input .success-i,
.challenge-input .success-i .p1 {
  box-shadow: inset 0 0 0 #038127;
}

.challenge-input .success-i .p1 {
  stroke-dasharray: 242;
  stroke-dashoffset: 242;
  animation: stroke 0.4s cubic-bezier(0.65, 0, 0.45, 1) forwards;
  animation-delay: 0.3s;
}

.challenge-input .success-pre-i {
  height: 30px;
  width: 30px;
}

.challenge-input .success-pre-i line {
  stroke: #038127;
  animation: firework 0.3s ease-out 1;
  stroke-width: 1;
  stroke-dasharray: 32 32;
  stroke-dashoffset: -8;
}

.challenge-input .success-text {
  animation: fade-in 1s forwards;
  opacity: 0;
}

.challenge-input .success-circle {
  stroke-dashoffset: 0;
  stroke-width: 2;
  stroke-miterlimit: 10;
  stroke: #038127;
  fill: #038127;
}

.challenge-input .failure-circle {
  stroke-dasharray: 166;
  stroke-dashoffset: 166;
  stroke-width: 2;
  stroke-miterlimit: 10;
  stroke: #de1303;
  fill: #de1303;
  animation: stroke 0.6s cubic-bezier(0.65, 0, 0.45, 1) forwards;
}

.challenge-input .failure-cross {
  fill: #fff;
  transform-origin: bottom center;
}

@keyframes fade-in-animation {
  0% {
    fill: #de1303;
    stroke: #de1303;
  }
  to {
    fill: #fff;
    stroke: #fff;
  }
}

.challenge-input .failure-cross {
  animation: fade-in-animation 0.1s cubic-bezier(1, 1, 0, 1) 0.4s backwards;
}

.challenge-input .cb-c {
  align-items: center;
  cursor: url("/cursors/pointer.cur"), pointer;
  display: flex;
  text-align: left;
}

.challenge-input .cb-lb {
  display: grid;
  place-items: center;
}

.challenge-input .cb-lb input {
  cursor: url("/cursors/pointer.cur"), pointer;
  grid-area: 1/1;
  height: 24px;
  margin: 0;
  opacity: 0;
  width: 24px;
  z-index: 9999;
  pointer-events: none;
}

.challenge-input .cb-lb input:active ~ .cb-i,
.challenge-input .cb-lb input:focus ~ .cb-i {
  border: 2px solid #c44d0e;
}

.challenge-input .cb-lb input:checked ~ .cb-i {
  background-color: #fff;
  border-radius: 5px;
  opacity: 1;
  transform: rotate(0deg) scale(1);
}

.challenge-input .cb-lb input:checked ~ .cb-i:after {
  border: solid #c44d0e;
  border-radius: 0;
  border-width: 0 4px 4px 0;
  height: 12px;
  left: 5px;
  top: 0;
  transform: rotate(45deg) scale(1);
  width: 6px;
}

.challenge-input .cb-lb .cb-i {
  animation: scale-up-center 0.4s cubic-bezier(0.55, 0.085, 0.68, 0.53) both;
  background: #fff;
  border: 2px solid #6d6d6d;
  border-radius: 3px;
  box-sizing: border-box;
  grid-area: 1/1;
  height: 24px;
  transition: all 0.1s ease-in;
  width: 24px;
  z-index: 9998;
}

.challenge-input .cb-lb .cb-i:after {
  border-radius: 5px;
  content: "";
  position: absolute;
}

.challenge-input .cb-lb .cb-lb-t {
  grid-column: 2;
  margin-left: 8px;
}

.challenge-input .unspun .circle {
  animation: unspin 0.7s cubic-bezier(0.65, 0, 0.45, 1) forwards;
}

.challenge-input .circle {
  stroke-width: 3px;
  stroke-linecap: round;
  stroke: #038127;
  stroke-dasharray: 0, 100, 0;
  stroke-dashoffset: 200;
  stroke-miterlimit: 1;
  stroke-linejoin: round;
}

.challenge-input .p1 {
  fill: none;
  stroke: #fff;
}

.challenge-input .expired-circle,
.challenge-input .timeout-circle {
  stroke-dasharray: 166;
  stroke-dashoffset: 166;
  stroke-width: 2;
  stroke-miterlimit: 10;
  stroke: #797979;
  fill: #797979;
}

.challenge-input .expired-i,
.challenge-input .timeout-i {
  border-radius: 50%;
  box-shadow: inset 0 0 0 #797979;
  display: flex;
  height: 30px;
  width: 30px;
  stroke-width: 1px;
  fill: #f8f8f8;
  stroke: #f8f8f8;
  stroke-miterlimit: 10;
  animation: scale 0.3s ease-in-out 0.9s both;
}

.challenge-input .cb-container {
  align-items: center;
  display: none;
  gap: 12px;
}
