  html, body {
    height: 100%;
    margin: 0;
    font-family: system-ui, sans-serif;
    background:#111;
    color:#eee;
    overflow:hidden;
  }

  /* ---- Whole page upside‑down ---- */
  #world {
    width:100%; height:100%;
    transform:rotate(180deg);
    transform-origin:center;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    padding:1rem;
    box-sizing:border-box;
  }

  /* ---- Keep the header/nav upright (undo the rotation) ---- */
  header, nav {
    transform:rotate(180deg);
    background:rgba(0,0,0,.6);
    padding:.5rem 1rem;
    width:100%;
    text-align:center;
  }
  nav a {color:#ffdd57;margin:0 .8rem;text-decoration:none;}

  /* ---- Map container ---- */
  #map {
    width:90vw;
    height:70vh;
    border:4px solid #333;
    border-radius:8px;
    /* The map itself stays upside‑down because it inherits the parent rotation */
  }

  button {
    margin-top:1rem;
    background:#ffdd57;
    border:none;
    padding:.6rem 1.2rem;
    font-size:1rem;
    cursor:pointer;
    border-radius:4px;
  }
  button:hover{background:#e6c84f;}
  :root {
      --lightness: 50%;
      --code-background: #ddd;
  }
  /* -------------------------- Weird Footer ----------------------*/
  footer {
          position: absolute;
          left:20%;
          bottom:0;
          background: #FFF;
          text-align: center;
          clear: both;
          display: block;
          padding:10px;
          border: 2px dashed red;
          z-index: 20;
      }
  footer a:hover {
      display: inline-block;
      animation: 0.2s infinite alternate linear wiggle;

      background: linear-gradient(in hsl longer hue 45deg, hsl(0deg, 75%, var(--lightness)) 10%, hsl(0deg, 75%, var(--lightness)) 90%);
      background-clip: text;
      color: transparent;
  }
      @keyframes wiggle {
          from {
              transform: skewX(-8deg);
          }
          to {
              transform: skewX(8deg);
          }
      }