<html>
<head>
<style>
  /* Universal reset */
  * {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
  }

  html, body {
    height: 100%;
    width: 100%;
    overflow: hidden;
    background-color: #000;
    font-family: 'Courier New', monospace;
  }

  /* Force the iframe content to fill the viewport */
  body {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 999999 !important;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }

  .glitch {
    font-size: 4em;
    position: relative;
    animation: glitch 1s linear infinite;
    text-shadow: 0 0 10px #00FF00;
    margin-bottom: 30px;
    color: #00FF00;
  }

  @keyframes glitch {
    2%, 64% {
      transform: translate(2px, 0) skew(0deg);
    }
    4%, 60% {
      transform: translate(-2px, 0) skew(0deg);
    }
    62% {
      transform: translate(0, 0) skew(5deg);
    }
  }

  .glitch:before,
  .glitch:after {
    content: 'site hacked by generic :3';
    position: absolute;
    left: 0;
    color: #00FF00;
  }

  .glitch:before {
    animation: glitchTop 1s linear infinite;
    clip-path: polygon(0 0, 100% 0, 100% 33%, 0 33%);
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 33%, 0 33%);
    text-shadow: 0 0 10px #00FF00;
  }

  @keyframes glitchTop {
    2%, 64% {
      transform: translate(2px, -2px);
    }
    4%, 60% {
      transform: translate(-2px, 2px);
    }
    62% {
      transform: translate(13px, -1px) skew(-13deg);
    }
  }

  .glitch:after {
    animation: glitchBottom 1.5s linear infinite;
    clip-path: polygon(0 67%, 100% 67%, 100% 100%, 0 100%);
    -webkit-clip-path: polygon(0 67%, 100% 67%, 100% 100%, 0 100%);
    text-shadow: 0 0 10px #00FF00;
  }

  @keyframes glitchBottom {
    2%, 64% {
      transform: translate(-2px, 0);
    }
    4%, 60% {
      transform: translate(-2px, 0);
    }
    62% {
      transform: translate(-22px, 5px) skew(21deg);
    }
  }

  .matrix {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
  }

  .skull {
    font-size: 1.5em;
    line-height: 1.2;
    margin: 20px;
    animation: pulse 2s infinite;
    text-shadow: 0 0 15px #00FF00;
    white-space: pre;
    color: #00FF00;
  }

  @keyframes pulse {
    0% { transform: scale(1); }
    50% { transform: scale(1.1); }
    100% { transform: scale(1); }
  }

  .message {
    margin: 20px;
    font-size: 1.5em;
    text-align: center;
    max-width: 600px;
    text-shadow: 0 0 10px #00FF00;
    animation: fadeInOut 2s infinite;
    color: #00FF00;
  }

  @keyframes fadeInOut {
    0% { opacity: 0.7; }
    50% { opacity: 1; }
    100% { opacity: 0.7; }
  }
</style>
</head>
<body>
  <canvas class="matrix"></canvas>
  <div class="skull">
    <img src="https://generic.is-a.dev/colonthree.jpg" width="260" height="240"></img>
  </div>
  <div class="glitch">site hacked by generic :3</div>
  <div class="message">don't use innerHTML next time ^_^</div>

<script>
const canvas = document.querySelector('.matrix');
const ctx = canvas.getContext('2d');

canvas.width = window.innerWidth;
canvas.height = window.innerHeight;

const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789@#$%^&*()';
const fontSize = 14;
const columns = canvas.width / fontSize;
const drops = Array.from({ length: columns }).fill(1);

function draw() {
    ctx.fillStyle = 'rgba(0, 0, 0, 0.05)';
    ctx.fillRect(0, 0, canvas.width, canvas.height);

    ctx.fillStyle = '#00FF00';
    ctx.font = fontSize + 'px monospace';

    drops.forEach((y, index) => {
        const text = chars[Math.floor(Math.random() * chars.length)];
        ctx.fillText(text, index * fontSize, y * fontSize);

        if (y * fontSize > canvas.height && Math.random() > 0.975) {
            drops[index] = 0;
        }

        drops[index]++;
    });
}

setInterval(draw, 33);

document.addEventListener('contextmenu', (event) => event.preventDefault());
document.addEventListener('keydown', (event) => {
    if (event.key === 'F12') event.preventDefault();
});

window.addEventListener('resize', () => {
    canvas.width = window.innerWidth;
    canvas.height = window.innerHeight;
});
</script>
</body>
</html>
