body {
    margin: 0;
    padding: 0;
    height: 100vh;
    background: #0a0a0a;
    color: #1e1e1e;
    font-family: 'Roboto Mono', monospace;
    /* font-weight: 1000; */
  }
  
  .content {
    padding: 20px;
  }

  .bg {
    position: fixed; /* Stays fixed in the background */
    top: 0;
    left: 0;
    width: 150vw; /* Full viewport width */
    height: 100vh; /* Full viewport height */
    z-index: -1; /* Places it behind all content */
    overflow: visible;
    transform: rotate(-30deg); /* Rotates text at a 45-degree angle */
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    background: #0a0a0a; /* Very dark (almost black) background */
    background-image: repeating-linear-gradient(
        -45deg, /* 45-degree angle for diagonal repetition */
        rgba(255, 255, 255, 0.025) 100, /* Slightly lighter text color */
        rgba(255, 255, 255, 0.05) 100px, /* Spacing for text */
        #0a0a0a 100px, /* Match background color to blend */
        #0a0a0a 150px /* Space before next repetition */
    );
  }

  .bg::before {
    content: "We're no strangers to love You know the rules and so do I A full commitment's what I'm thinkin' of You wouldn't get this from any other guy I just wanna tell you how I'm feeling Gotta make you understand Never gonna give you up Never gonna let you down Never gonna run around and desert you Never gonna make you cry Never gonna say goodbye Never gonna tell a lie and hurt you We've known each other for so long Your heart's been aching, but you're too shy to say it Inside, we both know what's been going on We know the game and we're gonna play it And if you ask me how I'm feeling Don't tell me you're too blind to see Never gonna give you up Never gonna let you down Never gonna run around and desert you Never gonna make you cry Never gonna say goodbye Never gonna tell a lie and hurt you Never gonna give you up Never gonna let you down Never gonna run around and desert you Never gonna make you cry Never gonna say goodbye Never gonna tell a lie and hurt you We've known each other for so long Your heart's been aching, but you're too shy to say it Inside, we both know what's been going on We know the game and we're gonna play it I just wanna tell you how I'm feeling Gotta make you understand Never gonna give you up Never gonna let you down Never gonna run around and desert you Never gonna make you cry Never gonna say goodbye Never gonna tell a lie and hurt you Never gonna give you up Never gonna let you down Never gonna run around and desert you Never gonna make you cry Never gonna say goodbye Never gonna tell a lie and hurt you Never gonna give you up Never gonna let you down Never gonna run around and desert you Never gonna make you cry Never gonna say goodbye Never gonna tell a lie and hurt you. We're no strangers to love You know the rules and so do I A full commitment's what I'm thinkin' of You wouldn't get this from any other guy I just wanna tell you how I'm feeling Gotta make you understand Never gonna give you up Never gonna let you down Never gonna run around and desert you Never gonna make you cry Never gonna say goodbye Never gonna tell a lie and hurt you We've known each other for so long Your heart's been aching, but you're too shy to say it Inside, we both know what's been going on We know the game and we're gonna play it And if you ask me how I'm feeling Don't tell me you're too blind to see Never gonna give you up Never gonna let you down Never gonna run around and desert you Never gonna make you cry Never gonna say goodbye Never gonna tell a lie and hurt you Never gonna give you up Never gonna let you down Never gonna run around and desert you Never gonna make you cry Never gonna say goodbye Never gonna tell a lie and hurt you We've known each other for so long Your heart's been aching, but you're too shy to say it Inside, we both know what's been going on We know the game and we're gonna play it I just wanna tell you how I'm feeling Gotta make you understand Never gonna give you up Never gonna let you down Never gonna run around and desert you Never gonna make you cry Never gonna say goodbye Never gonna tell a lie and hurt you Never gonna give you up Never gonna let you down Never gonna run around and desert you Never gonna make you cry Never gonna say goodbye Never gonna tell a lie and hurt you Never gonna give you up Never gonna let you down Never gonna run around and desert you Never gonna make you cry Never gonna say goodbye Never gonna tell a lie and hurt you. We're no strangers to love You know the rules and so do I A full commitment's what I'm thinkin' of You wouldn't get this from any other guy I just wanna tell you how I'm feeling Gotta make you understand Never gonna give you up Never gonna let you down Never gonna run around and desert you Never gonna make you cry Never gonna say goodbye Never gonna tell a lie and hurt you We've known each other for so long Your heart's been aching, but you're too shy to say it Inside, we both know what's been going on We know the game and we're gonna play it And if you ask me how I'm feeling Don't tell me you're too blind to see Never gonna give you up Never gonna let you down Never gonna run around and desert you Never gonna make you cry Never gonna say goodbye Never gonna tell a lie and hurt you Never gonna give you up Never gonna let you down Never gonna run around and desert you Never gonna make you cry Never gonna say goodbye Never gonna tell a lie and hurt you We've known each other for so long Your heart's been aching, but you're too shy to say it Inside, we both know what's been going on We know the game and we're gonna play it I just wanna tell you how I'm feeling Gotta make you understand Never gonna give you up Never gonna let you down Never gonna run around and desert you Never gonna make you cry Never gonna say goodbye Never gonna tell a lie and hurt you Never gonna give you up Never gonna let you down Never gonna run around and desert you Never gonna make you cry Never gonna say goodbye Never gonna tell a lie and hurt you Never gonna give you up Never gonna let you down Never gonna run around and desert you Never gonna make you cry Never gonna say goodbye Never gonna tell a lie and hurt you. We're no strangers to love You know the rules and so do I A full commitment's what I'm thinkin' of You wouldn't get this from any other guy I just wanna tell you how I'm feeling Gotta make you understand Never gonna give you up Never gonna let you down Never gonna run around and desert you Never gonna make you cry Never gonna say goodbye Never gonna tell a lie and hurt you We've known each other for so long Your heart's been aching, but you're too shy to say it Inside, we both know what's been going on We know the game and we're gonna play it And if you ask me how I'm feeling Don't tell me you're too blind to see Never gonna give you up Never gonna let you down Never gonna run around and desert you Never gonna make you cry Never gonna say goodbye Never gonna tell a lie and hurt you Never gonna give you up Never gonna let you down Never gonna run around and desert you Never gonna make you cry Never gonna say goodbye Never gonna tell a lie and hurt you We've known each other for so long Your heart's been aching, but you're too shy to say it Inside, we both know what's been going on We know the game and we're gonna play it I just wanna tell you how I'm feeling Gotta make you understand Never gonna give you up Never gonna let you down Never gonna run around and desert you Never gonna make you cry Never gonna say goodbye Never gonna tell a lie and hurt you Never gonna give you up Never gonna let you down Never gonna run around and desert you Never gonna make you cry Never gonna say goodbye Never gonna tell a lie and hurt you Never gonna give you up Never gonna let you down Never gonna run around and desert you Never gonna make you cry Never gonna say goodbye Never gonna tell a lie and hurt you.";
    color: rgb(15, 15, 15); /* Light text color */
    font-size: 100px; /* Adjust text size */
    letter-spacing: -0.05em;
    word-spacing: -0.3em;
    line-height: 0.9; /* Spacing between lines */
    text-transform: uppercase; /* Optional: All caps */
    white-space: pre-wrap; /* Preserve spaces and line breaks */
    display: block;
    position: absolute; /* Enable precise placement */
    top: -70%; /* Shift content upward to fill gaps */
    left: -50%; /* Shift content leftward to fill gaps */
    width: 200%; /* Make the pseudo-element large enough to cover rotation */
    height: 200%; /* Ensure coverage of the screen after rotation */
    background-repeat: repeat; /* Repeats the text */
  }

  .title {
    justify-content: center;
    align-items: flex-end;
    height: 40vh;
    display: flex;
  }

  .clue {
    justify-content: center;
    align-items: flex-end;
    height: 10vh;
    display: flex;
    color: rgb(56, 56, 56);
    font-size: 40px;
  }

  .clue-box {
    justify-content: center;
    margin-top: 200px;
    overflow-wrap: anywhere;
    color: rgb(56, 56, 56);
    width: 50%;
    margin-left: auto;
    margin-right: auto;
    font-size: 20px;
  }

  .img-clue {
    justify-content: center;
    align-items: flex-end;
    height: 50vh;
    display: flex;
    margin: auto;
  }

  .password {
    justify-content: center;
    align-items: center;
    height: 20vh;
    display: flex;
    color: #292929;
    font-size: large;
  }
  
  .glitch {
    display: block;
    position: relative;
    color: #292929;
    font-size: 100px;
  }

  .return {
    justify-content: center;
    align-items: flex-end;
    height: 10vh;
    display: flex;
    margin: auto;
    font-size: 25px;
  }

  .return a {
    color: #292929;
    text-decoration: none;
  }

  .line:not(:first-child) {
    position: absolute;
    top: 0;
    left: 0;
  }
  .line:nth-child(1) {
    -webkit-animation: clip 3000ms -300ms linear infinite, glitch1 500ms -94ms linear infinite;
            animation: clip 3000ms -300ms linear infinite, glitch1 500ms -94ms linear infinite;
  }
  @-webkit-keyframes glitch1 {
    0% {
      transform: translateX(0);
    }
    80% {
      transform: translateX(0);
      color: #292929;
    }
    85% {
      transform: translateX(2px);
      color: #111;
    }
    90% {
      transform: translateX(-2px);
      color: #610101;
    }
    95% {
      transform: translateX(-2px);
      color: #292929;
    }
    100% {
      transform: translateX(0);
    }
  }
  @keyframes glitch1 {
    0% {
      transform: translateX(0);
    }
    80% {
      transform: translateX(0);
      color: #292929;
    }
    85% {
      transform: translateX(2px);
      color: #111;
    }
    90% {
      transform: translateX(-2px);
      color: #610101;
    }
    95% {
      transform: translateX(-2px);
      color: #292929;
    }
    100% {
      transform: translateX(0);
    }
  }
  .line:nth-child(2) {
    -webkit-animation: clip 3000ms -600ms linear infinite, glitch2 500ms -525ms linear infinite;
            animation: clip 3000ms -600ms linear infinite, glitch2 500ms -525ms linear infinite;
  }
  @-webkit-keyframes glitch2 {
    0% {
      transform: translateX(0);
    }
    80% {
      transform: translateX(0);
      color: #292929;
    }
    85% {
      transform: translateX(-3px);
      color: #111;
    }
    90% {
      transform: translateX(-4px);
      color: #610101;
    }
    95% {
      transform: translateX(2px);
      color: #292929;
    }
    100% {
      transform: translateX(0);
    }
  }
  @keyframes glitch2 {
    0% {
      transform: translateX(0);
    }
    80% {
      transform: translateX(0);
      color: #292929;
    }
    85% {
      transform: translateX(-3px);
      color: #111;
    }
    90% {
      transform: translateX(-4px);
      color: #610101;
    }
    95% {
      transform: translateX(2px);
      color: #292929;
    }
    100% {
      transform: translateX(0);
    }
  }
  .line:nth-child(3) {
    -webkit-animation: clip 3000ms -900ms linear infinite, glitch3 500ms -753ms linear infinite;
            animation: clip 3000ms -900ms linear infinite, glitch3 500ms -753ms linear infinite;
  }
  @-webkit-keyframes glitch3 {
    0% {
      transform: translateX(0);
    }
    80% {
      transform: translateX(0);
      color: #292929;
    }
    85% {
      transform: translateX(-3px);
      color: #111;
    }
    90% {
      transform: translateX(4px);
      color: #610101;
    }
    95% {
      transform: translateX(-2px);
      color: #292929;
    }
    100% {
      transform: translateX(0);
    }
  }
  @keyframes glitch3 {
    0% {
      transform: translateX(0);
    }
    80% {
      transform: translateX(0);
      color: #292929;
    }
    85% {
      transform: translateX(-3px);
      color: #111;
    }
    90% {
      transform: translateX(4px);
      color: #610101;
    }
    95% {
      transform: translateX(-2px);
      color: #292929;
    }
    100% {
      transform: translateX(0);
    }
  }
  .line:nth-child(4) {
    -webkit-animation: clip 3000ms -1200ms linear infinite, glitch4 500ms -549ms linear infinite;
            animation: clip 3000ms -1200ms linear infinite, glitch4 500ms -549ms linear infinite;
  }
  @-webkit-keyframes glitch4 {
    0% {
      transform: translateX(0);
    }
    80% {
      transform: translateX(0);
      color: #292929;
    }
    85% {
      transform: translateX(-2px);
      color: #111;
    }
    90% {
      transform: translateX(3px);
      color: #610101;
    }
    95% {
      transform: translateX(0px);
      color: #292929;
    }
    100% {
      transform: translateX(0);
    }
  }
  @keyframes glitch4 {
    0% {
      transform: translateX(0);
    }
    80% {
      transform: translateX(0);
      color: #292929;
    }
    85% {
      transform: translateX(-2px);
      color: #111;
    }
    90% {
      transform: translateX(3px);
      color: #610101;
    }
    95% {
      transform: translateX(0px);
      color: #292929;
    }
    100% {
      transform: translateX(0);
    }
  }
  .line:nth-child(5) {
    -webkit-animation: clip 3000ms -1500ms linear infinite, glitch5 500ms -558ms linear infinite;
            animation: clip 3000ms -1500ms linear infinite, glitch5 500ms -558ms linear infinite;
  }
  @-webkit-keyframes glitch5 {
    0% {
      transform: translateX(0);
    }
    80% {
      transform: translateX(0);
      color: #292929;
    }
    85% {
      transform: translateX(0px);
      color: #111;
    }
    90% {
      transform: translateX(-1px);
      color: #610101;
    }
    95% {
      transform: translateX(1px);
      color: #292929;
    }
    100% {
      transform: translateX(0);
    }
  }
  @keyframes glitch5 {
    0% {
      transform: translateX(0);
    }
    80% {
      transform: translateX(0);
      color: #292929;
    }
    85% {
      transform: translateX(0px);
      color: #111;
    }
    90% {
      transform: translateX(-1px);
      color: #610101;
    }
    95% {
      transform: translateX(1px);
      color: #292929;
    }
    100% {
      transform: translateX(0);
    }
  }
  .line:nth-child(6) {
    -webkit-animation: clip 3000ms -1800ms linear infinite, glitch6 500ms -137ms linear infinite;
            animation: clip 3000ms -1800ms linear infinite, glitch6 500ms -137ms linear infinite;
  }
  @-webkit-keyframes glitch6 {
    0% {
      transform: translateX(0);
    }
    80% {
      transform: translateX(0);
      color: #292929;
    }
    85% {
      transform: translateX(-4px);
      color: #111;
    }
    90% {
      transform: translateX(1px);
      color: #610101;
    }
    95% {
      transform: translateX(-4px);
      color: #292929;
    }
    100% {
      transform: translateX(0);
    }
  }
  @keyframes glitch6 {
    0% {
      transform: translateX(0);
    }
    80% {
      transform: translateX(0);
      color: #292929;
    }
    85% {
      transform: translateX(-4px);
      color: #111;
    }
    90% {
      transform: translateX(1px);
      color: #610101;
    }
    95% {
      transform: translateX(-4px);
      color: #292929;
    }
    100% {
      transform: translateX(0);
    }
  }
  .line:nth-child(7) {
    -webkit-animation: clip 3000ms -2100ms linear infinite, glitch7 500ms -446ms linear infinite;
            animation: clip 3000ms -2100ms linear infinite, glitch7 500ms -446ms linear infinite;
  }
  @-webkit-keyframes glitch7 {
    0% {
      transform: translateX(0);
    }
    80% {
      transform: translateX(0);
      color: #292929;
    }
    85% {
      transform: translateX(-3px);
      color: #111;
    }
    90% {
      transform: translateX(0px);
      color: #610101;
    }
    95% {
      transform: translateX(-1px);
      color: #292929;
    }
    100% {
      transform: translateX(0);
    }
  }
  @keyframes glitch7 {
    0% {
      transform: translateX(0);
    }
    80% {
      transform: translateX(0);
      color: #292929;
    }
    85% {
      transform: translateX(-3px);
      color: #111;
    }
    90% {
      transform: translateX(0px);
      color: #610101;
    }
    95% {
      transform: translateX(-1px);
      color: #292929;
    }
    100% {
      transform: translateX(0);
    }
  }
  .line:nth-child(8) {
    -webkit-animation: clip 3000ms -2400ms linear infinite, glitch8 500ms -813ms linear infinite;
            animation: clip 3000ms -2400ms linear infinite, glitch8 500ms -813ms linear infinite;
  }
  @-webkit-keyframes glitch8 {
    0% {
      transform: translateX(0);
    }
    80% {
      transform: translateX(0);
      color: #292929;
    }
    85% {
      transform: translateX(-2px);
      color: #111;
    }
    90% {
      transform: translateX(3px);
      color: #610101;
    }
    95% {
      transform: translateX(-3px);
      color: #292929;
    }
    100% {
      transform: translateX(0);
    }
  }
  @keyframes glitch8 {
    0% {
      transform: translateX(0);
    }
    80% {
      transform: translateX(0);
      color: #292929;
    }
    85% {
      transform: translateX(-2px);
      color: #111;
    }
    90% {
      transform: translateX(3px);
      color: #610101;
    }
    95% {
      transform: translateX(-3px);
      color: #292929;
    }
    100% {
      transform: translateX(0);
    }
  }
  .line:nth-child(9) {
    -webkit-animation: clip 3000ms -2700ms linear infinite, glitch9 500ms -390ms linear infinite;
            animation: clip 3000ms -2700ms linear infinite, glitch9 500ms -390ms linear infinite;
  }
  @-webkit-keyframes glitch9 {
    0% {
      transform: translateX(0);
    }
    80% {
      transform: translateX(0);
      color: #292929;
    }
    85% {
      transform: translateX(-2px);
      color: #111;
    }
    90% {
      transform: translateX(3px);
      color: #610101;
    }
    95% {
      transform: translateX(0px);
      color: #292929;
    }
    100% {
      transform: translateX(0);
    }
  }
  @keyframes glitch9 {
    0% {
      transform: translateX(0);
    }
    80% {
      transform: translateX(0);
      color: #292929;
    }
    85% {
      transform: translateX(-2px);
      color: #111;
    }
    90% {
      transform: translateX(3px);
      color: #610101;
    }
    95% {
      transform: translateX(0px);
      color: #292929;
    }
    100% {
      transform: translateX(0);
    }
  }
  .line:nth-child(10) {
    -webkit-animation: clip 3000ms -3000ms linear infinite, glitch10 500ms -795ms linear infinite;
            animation: clip 3000ms -3000ms linear infinite, glitch10 500ms -795ms linear infinite;
  }
  @-webkit-keyframes glitch10 {
    0% {
      transform: translateX(0);
    }
    80% {
      transform: translateX(0);
      color: #292929;
    }
    85% {
      transform: translateX(5px);
      color: #111;
    }
    90% {
      transform: translateX(4px);
      color: #610101;
    }
    95% {
      transform: translateX(1px);
      color: #292929;
    }
    100% {
      transform: translateX(0);
    }
  }
  @keyframes glitch10 {
    0% {
      transform: translateX(0);
    }
    80% {
      transform: translateX(0);
      color: #292929;
    }
    85% {
      transform: translateX(5px);
      color: #111;
    }
    90% {
      transform: translateX(4px);
      color: #610101;
    }
    95% {
      transform: translateX(1px);
      color: #292929;
    }
    100% {
      transform: translateX(0);
    }
  }
  
  @-webkit-keyframes clip {
    0% {
      -webkit-clip-path: polygon(0 100%, 100% 100%, 100% 120%, 0 120%);
              clip-path: polygon(0 100%, 100% 100%, 100% 120%, 0 120%);
    }
    100% {
      -webkit-clip-path: polygon(0 -20%, 100% -20%, 100% 0%, 0 0);
              clip-path: polygon(0 -20%, 100% -20%, 100% 0%, 0 0);
    }
  }
  
  @keyframes clip {
    0% {
      -webkit-clip-path: polygon(0 100%, 100% 100%, 100% 120%, 0 120%);
              clip-path: polygon(0 100%, 100% 100%, 100% 120%, 0 120%);
    }
    100% {
      -webkit-clip-path: polygon(0 -20%, 100% -20%, 100% 0%, 0 0);
              clip-path: polygon(0 -20%, 100% -20%, 100% 0%, 0 0);
    }
  }