body {
      margin: 0;
      font-family: sans-serif;
    }
    #controls {
      padding: 10px;
      background: #f4f4f4;
      display: flex;
      align-items: center;
      gap: 15px;
    }
    #yearLabel {
      font-weight: bold;
      min-width: 50px;
      text-align: center;
    }
    input[type='range'] {
      width: 300px;
    }
    .map-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      grid-template-rows: 1fr 1fr;
      height: calc(100vh - 100px);
    }
    .map-frame {
      border: 1px solid #ccc;
      position: relative;
      margin: 0.5rem;
      border-radius: 6px;
    }
    .map-title {
      position: absolute;
      top: 5px;
      right: 5px;
      background: rgba(255,255,255,0.8);
      padding: 4px 8px;
      font-weight: bold;
      font-size: 14px;
      z-index: 999;
    }
    .map {
      width: 100%;
      height: 100%;
    }
    #legendContainer {
      padding: 15px;
      background: rgba(255, 255, 255, 0.95);
      border: 1px solid #ccc;
      max-width: 100%;
      margin: 10px;
      font-size: 14px;
      display: flex;
      flex-direction: column;
      align-items: center;
      border-radius: 8px;
      box-shadow: 0 2px 6px rgba(0,0,0,0.1);
    }

    #gradientBar {
      width: 100%;
      height: 40px;
      border-radius: 4px;
      background: linear-gradient(to right,
        #122b6f 0%,      /* -25°C */
        #12376f 16.6%,   /* -6.9°C */
        #678baa 33.3%,   /* 10°C */
        #ffffbf 50%,     /* 22°C */
        #e87559 66.6%,   /* 32°C */
        #e04736 100%     /* 51.4°C */
      );
      margin-bottom: 8px;
    }

    #labelsContainer {
      display: flex;
      justify-content: space-between;
      width: 100%;
      font-weight: bold;
      font-size: 14px;
      color: #333;
    }

    .label-item {
      text-align: center;
      flex: 1;
    }