body {
    margin: 0;
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    cursor: cell;
  }

  canvas {
    display: block;
  }

  #scoreDisplay {
    position: absolute;
    top: 20px;
    left: 20px;
    font-family: Libre Baskerville;
    font-size: 3em;
    color: #ff0000;
    -webkit-text-stroke: 1px #4b0000;
    background: linear-gradient(70deg, #bdc3c791 0%, #6285a793 50%, #b9bdc1a7 100%);
    border: 3px solid #780e0e;
    border-radius: 4px;
    padding: 10px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1), 0 1px 3px rgba(0, 0, 0, 0.08);
    user-select: none;
    transition: font-size 0.2s ease-in-out;
    will-change: transform, font-size;
  }

  #scoreDisplay.jumped {
    font-size: 4em;
}

  .background {
    position: relative;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    background-image: 
                      repeating-radial-gradient(#264b9c1a 10px, #2a6eff6b 15px, transparent 30px),
                      linear-gradient(90deg, rgba(0, 68, 255, 0.207) 3px, transparent 30px),
                      linear-gradient(180deg,#aac5e738 10px, #326da129 20px, #265d823c 30px, transparent 36px),
                      linear-gradient(-45deg, #003cff35 10px, #6375ec35 20px, transparent 36px);
    background-size: 36px 36px;
    background-position: center;
    background-attachment: fixed;
  }

  .sparkle {
    position: absolute;
    border-radius: 50%;
    background: rgb(255, 250, 205);
    animation: sparkle 1.5s infinite;
  }


  @keyframes sparkle {
    0% {
      transform: scale(0);
      opacity: 1;
    }
    50% {
      transform: scale(1);
      opacity: 0;
    }
    100% {
      transform: scale(0);
      opacity: 0;
    }
  }


  .cube {
    position: absolute;
    pointer-events: none;
    width: 100px;
    height: 100px;
    transform-style: preserve-3d;
    animation: spin 5s infinite linear;
  }
  .face {
    position: absolute;
    width: 100px;
    height: 100px;
    border: 8px dashed #ccc;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
  }

  .front  { transform: translateZ(50px); background-color: rgba(255, 0, 0, 0.9);}
  .back   { transform: rotateY(180deg) translateZ(50px); background-color: rgba(255, 247, 0, 0.9);}
  .right  { transform: rotateY(90deg) translateZ(50px); background-color: rgba(0, 255, 8, 0.9);}
  .left   { transform: rotateY(-90deg) translateZ(50px); background-color: rgba(0, 170, 255, 0.9);}
  .top    { transform: rotateX(90deg) translateZ(50px); background-color: rgba(174, 0, 255, 0.9);}
  .bottom { transform: rotateX(-90deg) translateZ(50px); background-color: rgba(239, 239, 239, 0.9);}
  @keyframes spin {
    0%   { transform: rotateX(0deg) rotateY(0deg); }
    25%  { transform: rotateX(360deg) rotateY(0deg); }
    50%  { transform: rotateX(360deg) rotateY(360deg); }
    75%  { transform: rotateX(0deg) rotateY(360deg); }
    100% { transform: rotateX(0deg) rotateY(0deg); }
  }



  .homebutton {
    position: absolute;
    top: 20px;
    right: 20px;
    font-family: Libre Baskerville;
    font-size: 3em;
    color: #ff0000;
    -webkit-text-stroke: 1px #4b0000;
    background: linear-gradient(70deg, #bdc3c791 0%, #6285a793 50%, #b9bdc1a7 100%);
    border: 3px solid #780e0e;
    border-radius: 4px;
    padding: 10px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1), 0 1px 3px rgba(0, 0, 0, 0.08);
    user-select: none;
    text-decoration: none;
  }
