html {
    background: linear-gradient(135deg, #72d5fc 0%, #1577f0 100%);
    background-size: 300vw 100vh;
    height: 100%; 
    margin: 0;
    font-family: 'Comic Sans MS', cursive, sans-serif;
    color: #333;
    user-select: none;
    
  }
  
  body {
    height: 100%; 
    margin: 0;
    font-family: 'Comic Sans MS', cursive, sans-serif; 
    color: #333; 
    user-select: none; 
  
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    min-height: 100vh;
    overflow-x: auto; 
  }
  
  #canvas {
    position: relative;
    min-height: 100vh;
    width: 300vw;
    min-width: 1200px;
    outline: none;
  }
  
  #island-svg {
    position: relative;
    min-height: 100vh;
    width: 300vw;
    cursor: grab;
    transition: transform 0.3s ease;
  }
  
  .island rect {
    fill: antiquewhite;
    stroke: #d1d1d1;
    stroke-width: 2;
    filter: drop-shadow(0 4px 3px rgba(0, 0, 0, 0.2));
    animation: float 4s ease-in-out infinite;
    transition: transform 0.3s ease, filter 0.3s ease;
  }
  
  .island:hover rect,
  .island:focus rect {
    filter: drop-shadow(0 8px 6px rgba(0, 0, 0, 0.3));
    transform-origin: center;
    transform: scale(1.1) rotate(3deg);
    cursor: pointer;
    outline: none;
  }
  
  .island-text {
    font-size: 18px;
    fill: #ffaa00;
    pointer-events: none;
    user-select: none;
    white-space: pre-line;
  }
  .island image {
    filter: drop-shadow(0 4px 3px rgba(0, 0, 0, 0.3));
    transition: transform 0.3s ease, filter 0.3s ease;
    cursor: grab;
  }
  .island:hover image,
  .island:focus image {
    filter: drop-shadow(0 8px 6px rgba(0, 0, 0, 0.5));
    transform-origin: center;
    transform: scale(1.1) rotate(3deg);
    cursor: pointer;
  }
  
  @keyframes float {
    0%,
    100% {
      transform: translateY(0);
    }
    50% {
      transform: translateY(-10px);
    }
  }
  main {
    flex: 1;
    padding: 20px;
  }
  footer.beach {
    width: 100%;
    background-color: #f7e7c6;
    padding: 20px 0;
    text-align: center;
    color: #5d4a37;
    font-size: 14px;
    position: relative;
  }
  