* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
  }
  
  body {
    min-height: 100vh;
    overflow-x: hidden;
  }

  .pattern {
    --size: 120px;
    width: 100vw;
    min-height: 100vh;
    background-color: #1e1e2f;
    position: fixed;
    top: 0;
    left: 0;
    z-index: -1;

    background-image:
      linear-gradient(45deg, #c82dd6 25%, transparent 25%),
      linear-gradient(-45deg, #c82dd6 25%, transparent 25%),
      linear-gradient(45deg, transparent 75%, #5a446d 75%),
      linear-gradient(-45deg, transparent 75%, #5a446d 75%);
    background-size: var(--size) var(--size);
    background-position:
      0 0,
      0 var(--size),
      var(--size) calc(-1 * var(--size)),
      var(--size) 0;
    background-repeat: repeat;

    box-shadow: inset 0 0 30px rgba(255, 255, 255, 0.1);
  }

  .pattern::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    background:
      linear-gradient(135deg,
        rgba(255, 255, 255, 0.12) 0%,
        rgba(255, 255, 255, 0) 50%,
        rgba(255, 255, 255, 0.12) 100%);
    mix-blend-mode: screen;
  }

  @media (max-width: 768px) {
    .pattern {
      --size: 90px;
    }
  }

  @media (max-width: 480px) {
    .pattern {
      --size: 70px;
      box-shadow: inset 0 0 20px rgba(255, 255, 255, 0.1);
    }
  }

  @media (max-width: 360px) {
    .pattern {
      --size: 60px;
    }
  }