@import url('https://fonts.googleapis.com/css2?family=Orbitron:wght@400..900&display=swap');

*,
*::before,
*::after {
    box-sizing: border-box;
}

* {
    margin: 0;
}

html,
body {
    height: 100%;
}

body {
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
    background-color: #222;
    font-family: 'Orbitron', sans-serif;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 1rem;
}

img,
picture,
video,
canvas,
svg {
    display: block;
    max-width: 100%;
}

input,
button,
textarea,
select {
    font: inherit;
}

p,
h1,
h2,
h3,
h4,
h5,
h6 {
    overflow-wrap: break-word;
}

button {
    background-color: unset;
    border: unset;
}

a {
    text-decoration: unset;
    color: unset;
}

#root,
#__next {
    isolation: isolate;
}

h1 {
    font-family: 'Orbitron', sans-serif;
    animation: appear 0.5s ease-in-out;
}

p {
    animation: appear 0.5s ease-in-out;
}

@keyframes appear {
    0% {
        opacity: 0;
        transform: translateY(-20px);
    }

    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

#loading.hidden {
    display: none;
}

#restart.hidden {
    display: none;
}

#restart {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 1rem;
    animation: appear 0.5s ease-in-out;
}

#restartButton {
    background-color: #444;
    color: #fff;
    border: 2px solid #fff;
    padding: 10px 20px;
    font-size: 16px;
    cursor: pointer;
    border-radius: 5px;
    transition: background-color 0.3s, transform 0.3s;
}

#checklist {
    font-family: 'Courier New', Courier, monospace;
    color: #00ff99;
    list-style: none;
    padding: 0;
    text-align: left;
}

#checklist li {
    opacity: 0;
    animation: appear 0.3s forwards;
}

.falling-letter {
    position: fixed;
    top: -2rem;
    font-family: monospace;
    font-size: 2rem;
    color: #00ffcc;
    animation: fall linear forwards;
    pointer-events: none;
    z-index: 999;
  }
  
  @keyframes fall {
    to {
      transform: translateY(110vh);
      opacity: 0;
    }
  }
  