body {
  margin: 0;
  font-size: 20px;
  background-color: #1e1e1e; /* Dark background */
  color: #d4d4d4; /* Light text */
}

* {
  box-sizing: border-box;
}

.container {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100vh;
  background: #1e1e1e; /* Dark background */
  color: #d4d4d4; /* Light text */
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; /* VS Code font */
  overflow: hidden;
}

.content {
  position: relative;
  width: 600px;
  max-width: 100%;
  margin: 20px;
  background: #252526; /* Darker background */
  padding: 60px 40px;
  text-align: center;
  box-shadow: -10px 10px 67px -12px rgba(0, 0, 0, 0.2);
  opacity: 0;
  animation: apparition 0.8s 1.2s cubic-bezier(0.39, 0.575, 0.28, 0.995) forwards;
}

.content p {
  font-size: 1.3rem;
  margin-top: 0;
  margin-bottom: 0.6rem;
  letter-spacing: 0.1rem;
  color: #d4d4d4; /* Light text */
}

.content p:last-child {
  margin-bottom: 0;
}

.content button {
  display: inline-block;
  margin-top: 2rem;
  padding: 0.5rem 1rem;
  border: 3px solid #d4d4d4; /* Light border */
  background: transparent;
  font-size: 1rem;
  color: #d4d4d4; /* Light text */
  text-decoration: none;
  cursor: pointer;
  font-weight: bold;
}

.particle {
  position: absolute;
  display: block;
  pointer-events: none;
  text-align: left;
}
.particle:nth-child(1) {
  top: 65.6862745098%;
  left: 43.3070866142%;
  font-size: 16px;
  filter: blur(0.02px);
  animation: 35s float2 infinite;
}
.particle:nth-child(2) {
  top: 20.5128205128%;
  left: 68.6947988224%;
  font-size: 19px;
  filter: blur(0.04px);
  animation: 40s floatReverse infinite;
}
.particle:nth-child(3) {
  top: 95.2147239264%;
  left: 39.4088669951%;
  font-size: 15px;
  filter: blur(0.06px);
  animation: 32s float infinite;
}
.particle:nth-child(4) {
  top: 67.9802955665%;
  left: 25.6916996047%;
  font-size: 12px;
  filter: blur(0.08px);
  animation: 38s float infinite;
}
.particle:nth-child(5) {
  top: 70.3296703297%;
  left: 66.7320902846%;
  font-size: 19px;
  filter: blur(0.1px);
  animation: 39s floatReverse infinite;
}
.particle:nth-child(6) {
  top: 96.3503649635%;
  left: 58.7084148728%;
  font-size: 22px;
  filter: blur(0.12px);
  animation: 26s floatReverse2 infinite;
}
.particle:nth-child(7) {
  top: 47.4576271186%;
  left: 76.4912280702%;
  font-size: 26px;
  filter: blur(0.14px);
  animation: 36s floatReverse infinite;
}
.particle:nth-child(8) {
  top: 23.5582822086%;
  left: 0.9852216749%;
  font-size: 15px;
  filter: blur(0.16px);
  animation: 39s floatReverse infinite;
}
.particle:nth-child(9) {
  top: 82.6245443499%;
  left: 69.9315738025%;
  font-size: 23px;
  filter: blur(0.18px);
  animation: 35s floatReverse2 infinite;
}
.particle:nth-child(10) {
  top: 71.7444717445%;
  left: 3.9447731755%;
  font-size: 14px;
  filter: blur(0.2px);
  animation: 21s float2 infinite;
}
.particle:nth-child(11) {
  top: 46.4328899637%;
  left: 2.9211295034%;
  font-size: 27px;
  filter: blur(0.22px);
  animation: 35s floatReverse infinite;
}
.particle:nth-child(12) {
  top: 80.8769792935%;
  left: 82.2722820764%;
  font-size: 21px;
  filter: blur(0.24px);
  animation: 31s float infinite;
}
.particle:nth-child(13) {
  top: 96.1963190184%;
  left: 70.9359605911%;
  font-size: 15px;
  filter: blur(0.26px);
  animation: 28s floatReverse2 infinite;
}
.particle:nth-child(14) {
  top: 63.0541871921%;
  left: 73.1225296443%;
  font-size: 12px;
  filter: blur(0.28px);
  animation: 30s float infinite;
}
.particle:nth-child(15) {
  top: 63.768115942%;
  left: 53.5019455253%;
  font-size: 28px;
  filter: blur(0.3px);
  animation: 30s floatReverse2 infinite;
}
.particle:nth-child(16) {
  top: 10.6408706167%;
  left: 30.1850048685%;
  font-size: 27px;
  filter: blur(0.32px);
  animation: 23s floatReverse2 infinite;
}
.particle:nth-child(17) {
  top: 56.9325153374%;
  left: 77.5369458128%;
  font-size: 15px;
  filter: blur(0.34px);
  animation: 21s float2 infinite;
}
.particle:nth-child(18) {
  top: 45.0428396573%;
  left: 26.5486725664%;
  font-size: 17px;
  filter: blur(0.36px);
  animation: 23s float infinite;
}
.particle:nth-child(19) {
  top: 6.7469879518%;
  left: 17.4757281553%;
  font-size: 30px;
  filter: blur(0.38px);
  animation: 37s floatReverse infinite;
}
.particle:nth-child(20) {
  top: 58.0411124547%;
  left: 32.1324245375%;
  font-size: 27px;
  filter: blur(0.4px);
  animation: 26s float2 infinite;
}
.particle:nth-child(21) {
  top: 44.4981862152%;
  left: 81.7916260954%;
  font-size: 27px;
  filter: blur(0.42px);
  animation: 38s float infinite;
}
.particle:nth-child(22) {
  top: 44.226044226%;
  left: 30.5719921105%;
  font-size: 14px;
  filter: blur(0.44px);
  animation: 35s floatReverse2 infinite;
}
.particle:nth-child(23) {
  top: 68.7960687961%;
  left: 37.4753451677%;
  font-size: 14px;
  filter: blur(0.46px);
  animation: 21s float2 infinite;
}
.particle:nth-child(24) {
  top: 5.9186189889%;
  left: 23.7388724036%;
  font-size: 11px;
  filter: blur(0.48px);
  animation: 28s floatReverse infinite;
}
.particle:nth-child(25) {
  top: 20.5882352941%;
  left: 81.6929133858%;
  font-size: 16px;
  filter: blur(0.5px);
  animation: 26s float2 infinite;
}
.particle:nth-child(26) {
  top: 28.4662576687%;
  left: 34.4827586207%;
  font-size: 15px;
  filter: blur(0.52px);
  animation: 26s float infinite;
}
.particle:nth-child(27) {
  top: 3.9263803681%;
  left: 67.9802955665%;
  font-size: 15px;
  filter: blur(0.54px);
  animation: 22s float infinite;
}
.particle:nth-child(28) {
  top: 51.7073170732%;
  left: 67.6470588235%;
  font-size: 20px;
  filter: blur(0.56px);
  animation: 25s float infinite;
}
.particle:nth-child(29) {
  top: 88.1272949816%;
  left: 55.063913471%;
  font-size: 17px;
  filter: blur(0.58px);
  animation: 40s float infinite;
}
.particle:nth-child(30) {
  top: 26.1501210654%;
  left: 76.4912280702%;
  font-size: 26px;
  filter: blur(0.6px);
  animation: 21s float2 infinite;
}
.particle:nth-child(31) {
  top: 29.9155609168%;
  left: 1.9436345967%;
  font-size: 29px;
  filter: blur(0.62px);
  animation: 29s floatReverse infinite;
}
.particle:nth-child(32) {
  top: 44.9877750611%;
  left: 6.8762278978%;
  font-size: 18px;
  filter: blur(0.64px);
  animation: 25s float2 infinite;
}
.particle:nth-child(33) {
  top: 71.4113389626%;
  left: 16.5208940719%;
  font-size: 29px;
  filter: blur(0.66px);
  animation: 29s floatReverse2 infinite;
}
.particle:nth-child(34) {
  top: 30.0242130751%;
  left: 64.3274853801%;
  font-size: 26px;
  filter: blur(0.68px);
  animation: 21s floatReverse infinite;
}
.particle:nth-child(35) {
  top: 71.0234278668%;
  left: 20.7715133531%;
  font-size: 11px;
  filter: blur(0.7px);
  animation: 29s floatReverse2 infinite;
}
.particle:nth-child(36) {
  top: 38.4236453202%;
  left: 81.0276679842%;
  font-size: 12px;
  filter: blur(0.72px);
  animation: 38s float infinite;
}
.particle:nth-child(37) {
  top: 12.5755743652%;
  left: 31.158714703%;
  font-size: 27px;
  filter: blur(0.74px);
  animation: 33s floatReverse2 infinite;
}
.particle:nth-child(38) {
  top: 7.8144078144%;
  left: 45.142296369%;
  font-size: 19px;
  filter: blur(0.76px);
  animation: 30s floatReverse2 infinite;
}
.particle:nth-child(39) {
  top: 7.8624078624%;
  left: 0.9861932939%;
  font-size: 14px;
  filter: blur(0.78px);
  animation: 33s float2 infinite;
}
.particle:nth-child(40) {
  top: 22.3844282238%;
  left: 82.1917808219%;
  font-size: 22px;
  filter: blur(0.8px);
  animation: 21s floatReverse2 infinite;
}
.particle:nth-child(41) {
  top: 51.9607843137%;
  left: 52.5196850394%;
  font-size: 16px;
  filter: blur(0.82px);
  animation: 27s float infinite;
}
.particle:nth-child(42) {
  top: 74.3961352657%;
  left: 55.4474708171%;
  font-size: 28px;
  filter: blur(0.84px);
  animation: 27s floatReverse2 infinite;
}
.particle:nth-child(43) {
  top: 27.5522755228%;
  left: 28.6278381046%;
  font-size: 13px;
  filter: blur(0.86px);
  animation: 28s float2 infinite;
}
.particle:nth-child(44) {
  top: 11.7503059976%;
  left: 74.7295968535%;
  font-size: 17px;
  filter: blur(0.88px);
  animation: 27s float infinite;
}
.particle:nth-child(45) {
  top: 30.1336573512%;
  left: 34.2130987292%;
  font-size: 23px;
  filter: blur(0.9px);
  animation: 23s floatReverse infinite;
}
.particle:nth-child(46) {
  top: 0.97799511%;
  left: 62.3379174853%;
  font-size: 18px;
  filter: blur(0.92px);
  animation: 27s float infinite;
}
.particle:nth-child(47) {
  top: 88.0290205562%;
  left: 79.8442064265%;
  font-size: 27px;
  filter: blur(0.94px);
  animation: 33s float infinite;
}
.particle:nth-child(48) {
  top: 76.6990291262%;
  left: 44.921875%;
  font-size: 24px;
  filter: blur(0.96px);
  animation: 34s floatReverse2 infinite;
}
.particle:nth-child(49) {
  top: 83.5965978129%;
  left: 63.0889540567%;
  font-size: 23px;
  filter: blur(0.98px);
  animation: 27s floatReverse2 infinite;
}
.particle:nth-child(50) {
  top: 57.0024570025%;
  left: 23.6686390533%;
  font-size: 14px;
  filter: blur(1px);
  animation: 28s float infinite;
}
.particle:nth-child(51) {
  top: 33.2112332112%;
  left: 28.4592737978%;
  font-size: 19px;
  filter: blur(1.02px);
  animation: 34s float2 infinite;
}
.particle:nth-child(52) {
  top: 39.3603936039%;
  left: 22.0631786772%;
  font-size: 13px;
  filter: blur(1.04px);
  animation: 40s float infinite;
}
.particle:nth-child(53) {
  top: 47.7466504263%;
  left: 31.3418217434%;
  font-size: 21px;
  filter: blur(1.06px);
  animation: 25s float infinite;
}
.particle:nth-child(54) {
  top: 48.7804878049%;
  left: 35.2941176471%;
  font-size: 20px;
  filter: blur(1.08px);
  animation: 28s float infinite;
}
.particle:nth-child(55) {
  top: 33.3742331288%;
  left: 50.2463054187%;
  font-size: 15px;
  filter: blur(1.1px);
  animation: 26s float2 infinite;
}
.particle:nth-child(56) {
  top: 39.8058252427%;
  left: 48.125%;
  font-size: 24px;
  filter: blur(1.12px);
  animation: 24s floatReverse infinite;
}
.particle:nth-child(57) {
  top: 10.8108108108%;
  left: 74.9506903353%;
  font-size: 14px;
  filter: blur(1.14px);
  animation: 26s float infinite;
}
.particle:nth-child(58) {
  top: 67.5512665862%;
  left: 48.5908649174%;
  font-size: 29px;
  filter: blur(1.16px);
  animation: 26s floatReverse2 infinite;
}
.particle:nth-child(59) {
  top: 96.3503649635%;
  left: 66.8688845401%;
  font-size: 22px;
  filter: blur(1.18px);
  animation: 26s float2 infinite;
}
.particle:nth-child(60) {
  top: 18.4690157959%;
  left: 0.9775171065%;
  font-size: 23px;
  filter: blur(1.2px);
  animation: 30s floatReverse2 infinite;
}
.particle:nth-child(61) {
  top: 0.9864364982%;
  left: 47.4777448071%;
  font-size: 11px;
  filter: blur(1.22px);
  animation: 21s floatReverse infinite;
}
.particle:nth-child(62) {
  top: 57.490864799%;
  left: 24.485798237%;
  font-size: 21px;
  filter: blur(1.24px);
  animation: 35s float infinite;
}
.particle:nth-child(63) {
  top: 54.2540073983%;
  left: 48.4668644906%;
  font-size: 11px;
  filter: blur(1.26px);
  animation: 27s float infinite;
}
.particle:nth-child(64) {
  top: 19.4174757282%;
  left: 12.6953125%;
  font-size: 24px;
  filter: blur(1.28px);
  animation: 37s floatReverse2 infinite;
}
.particle:nth-child(65) {
  top: 89.7657213317%;
  left: 8.9020771513%;
  font-size: 11px;
  filter: blur(1.3px);
  animation: 35s floatReverse2 infinite;
}
.particle:nth-child(66) {
  top: 17.3493975904%;
  left: 66.6990291262%;
  font-size: 30px;
  filter: blur(1.32px);
  animation: 29s floatReverse2 infinite;
}
.particle:nth-child(67) {
  top: 4.884004884%;
  left: 27.3405299313%;
  font-size: 19px;
  filter: blur(1.34px);
  animation: 39s floatReverse infinite;
}
.particle:nth-child(68) {
  top: 10.7975460123%;
  left: 55.1724137931%;
  font-size: 15px;
  filter: blur(1.36px);
  animation: 24s float2 infinite;
}
.particle:nth-child(69) {
  top: 56.3106796117%;
  left: 56.171875%;
  font-size: 24px;
  filter: blur(1.38px);
  animation: 21s floatReverse infinite;
}
.particle:nth-child(70) {
  top: 20.5128205128%;
  left: 64.7693817468%;
  font-size: 19px;
  filter: blur(1.4px);
  animation: 38s floatReverse2 infinite;
}
.particle:nth-child(71) {
  top: 26.3414634146%;
  left: 26.4705882353%;
  font-size: 20px;
  filter: blur(1.42px);
  animation: 33s floatReverse infinite;
}
.particle:nth-child(72) {
  top: 63.1067961165%;
  left: 76.171875%;
  font-size: 24px;
  filter: blur(1.44px);
  animation: 23s floatReverse infinite;
}
.particle:nth-child(73) {
  top: 3.8787878788%;
  left: 16.5853658537%;
  font-size: 25px;
  filter: blur(1.46px);
  animation: 39s float2 infinite;
}
.particle:nth-child(74) {
  top: 63.1834750911%;
  left: 76.2463343109%;
  font-size: 23px;
  filter: blur(1.48px);
  animation: 27s float2 infinite;
}
.particle:nth-child(75) {
  top: 81.9277108434%;
  left: 34.9514563107%;
  font-size: 30px;
  filter: blur(1.5px);
  animation: 38s floatReverse2 infinite;
}
.particle:nth-child(76) {
  top: 33.3742331288%;
  left: 63.5960591133%;
  font-size: 15px;
  filter: blur(1.52px);
  animation: 29s floatReverse2 infinite;
}
.particle:nth-child(77) {
  top: 9.7205346294%;
  left: 79.1788856305%;
  font-size: 23px;
  filter: blur(1.54px);
  animation: 28s floatReverse2 infinite;
}
.particle:nth-child(78) {
  top: 36.0097323601%;
  left: 13.698630137%;
  font-size: 22px;
  filter: blur(1.56px);
  animation: 25s floatReverse infinite;
}
.particle:nth-child(79) {
  top: 62.9539951574%;
  left: 32.1637426901%;
  font-size: 26px;
  filter: blur(1.58px);
  animation: 40s floatReverse2 infinite;
}
.particle:nth-child(80) {
  top: 40.2948402948%;
  left: 46.3510848126%;
  font-size: 14px;
  filter: blur(1.6px);
  animation: 34s float infinite;
}

@keyframes apparition {
  from {
    opacity: 0;
    transform: translateY(100px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes float {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(180px);
  }
}
@keyframes floatReverse {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-180px);
  }
}
@keyframes float2 {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(28px);
  }
}
@keyframes floatReverse2 {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-28px);
  }
}

@font-face {
  font-family: 'password';
  font-style: normal;
  font-weight: 400;
  src: url(https://jsbin-user-assets.s3.amazonaws.com/rafaelcastrocouto/password.ttf);
}

input.key {
  text-align: center;
  font-family: 'password';
  width: 200px;
  height: 30px;
}