    body {
      margin: 20px;
      color: #222;
      font-family: arial, sans-serif;
    }
    .page {
      width: 90%;
      margin-left: auto;
      margin-right: auto;
    }
    .page-title {
      margin: 8px 0 18px;
      text-align: center;
      font-size: 30px;
    }
    #status {
      min-height: 20px;
      margin-bottom: 10px;
      color: #555;
      font-size: 14px;
    }
    .table-actions {
      display: flex;
      align-items: center;
      gap: 8px;
      flex-wrap: wrap;
      margin: 0 0 10px;
    }
    .table-actions button {
      padding: 5px 10px;
      font-size: 13px;
      cursor: pointer;
    }
    .season-action-summer {
      border: 1px solid #d6a83b;
      background-color: #fff3cf;
    }
    .season-action-winter {
      border: 1px solid #9bbfe2;
      background-color: #eaf4ff;
    }
    #selectionCount {
      margin-left: 4px;
      color: #555;
      font-size: 13px;
    }
    .dataTables_wrapper {
      width: 100%;
    }
    .games-table-scroll {
      width: 100%;
      max-height: 335px;
      overflow: auto;
      border-top: 1px solid #ddd;
      border-bottom: 1px solid #ddd;
    }
    #gamesTable {
      table-layout: fixed;
      width: 1373px !important;
      min-width: 1373px !important;
    }
    #gamesTable th,
    #gamesTable td {
      box-sizing: border-box;
      padding-left: 6px;
      padding-right: 6px;
      overflow-wrap: anywhere;
    }
    #gamesTable thead th {
      position: sticky;
      top: 0;
      z-index: 2;
      background: #fff;
    }
    #gamesTable col:nth-child(1),
    #gamesTable th:nth-child(1),
    #gamesTable td:nth-child(1) { width: 51px !important; min-width: 51px !important; max-width: 51px !important; }
    #gamesTable col:nth-child(2),
    #gamesTable th:nth-child(2),
    #gamesTable td:nth-child(2) { width: 64px !important; min-width: 64px !important; max-width: 64px !important; }
    #gamesTable col:nth-child(3),
    #gamesTable th:nth-child(3),
    #gamesTable td:nth-child(3) { width: 72px !important; min-width: 72px !important; max-width: 72px !important; }
    #gamesTable col:nth-child(4),
    #gamesTable th:nth-child(4),
    #gamesTable td:nth-child(4) { width: 290px !important; min-width: 290px !important; max-width: 290px !important; }
    #gamesTable col:nth-child(5),
    #gamesTable th:nth-child(5),
    #gamesTable td:nth-child(5) { width: 96px !important; min-width: 96px !important; max-width: 96px !important; }
    #gamesTable col:nth-child(6),
    #gamesTable th:nth-child(6),
    #gamesTable td:nth-child(6) { width: 210px !important; min-width: 210px !important; max-width: 210px !important; }
    #gamesTable col:nth-child(7),
    #gamesTable th:nth-child(7),
    #gamesTable td:nth-child(7) { width: 120px !important; min-width: 120px !important; max-width: 120px !important; }
    #gamesTable col:nth-child(8),
    #gamesTable th:nth-child(8),
    #gamesTable td:nth-child(8) { width: 104px !important; min-width: 104px !important; max-width: 104px !important; }
    #gamesTable col:nth-child(9),
    #gamesTable th:nth-child(9),
    #gamesTable td:nth-child(9) { width: 78px !important; min-width: 78px !important; max-width: 78px !important; }
    #gamesTable col:nth-child(10),
    #gamesTable th:nth-child(10),
    #gamesTable td:nth-child(10) { width: 118px !important; min-width: 118px !important; max-width: 118px !important; }
    #gamesTable col:nth-child(11),
    #gamesTable th:nth-child(11),
    #gamesTable td:nth-child(11) { width: 80px !important; min-width: 80px !important; max-width: 80px !important; }
    #gamesTable col:nth-child(12),
    #gamesTable th:nth-child(12),
    #gamesTable td:nth-child(12) { width: 90px !important; min-width: 90px !important; max-width: 90px !important; }
    .select-col {
      text-align: center;
    }
    .num-col {
      text-align: right;
      white-space: nowrap;
    }
    .date-col {
      white-space: nowrap;
    }
    .season-col,
    .host-col {
      white-space: nowrap;
    }
    .season-winter,
    #gamesTable td.season-winter {
      background-color: #eaf4ff !important;
    }
    .season-summer,
    #gamesTable td.season-summer {
      background-color: #fff3cf !important;
    }
    .timeline-actions {
      display: flex;
      align-items: center;
      gap: 14px;
      flex-wrap: wrap;
      margin: 14px 0 8px;
    }
    .timeline-options {
      display: flex;
      align-items: center;
      gap: 12px;
      flex-wrap: wrap;
      font-size: 13px;
    }
    .timeline-options label {
      display: inline-flex;
      align-items: center;
      gap: 5px;
    }
    #timelineThickness {
      padding: 4px 6px;
      font-size: 13px;
    }
    #gamesTimelineButton {
      padding: 7px 14px;
      border: 1px solid #aaa;
      border-radius: 3px;
      background-color: #eee;
      color: #666;
      font-size: 14px;
      cursor: not-allowed;
    }
    #gamesTimelineButton.is-enabled {
      border-color: #006b50;
      background-color: #009E73;
      color: #fff;
      cursor: pointer;
      font-weight: 700;
    }
    #timelineStatus {
      min-height: 20px;
      margin: 0 0 4px;
      color: #555;
      font-size: 13px;
    }
    #gamesTimelineChart {
      display: none;
      width: 100%;
      height: 335px;
    }
    .medals-country-panel {
      margin: 18px 0 0;
      padding-top: 14px;
      border-top: 1px solid #ddd;
    }
    .medals-country-title {
      margin: 0 0 10px;
      font-size: 18px;
      font-weight: 700;
    }
    .medals-country-controls {
      display: grid;
      grid-template-columns: minmax(280px, 1fr) auto;
      gap: 10px;
      align-items: start;
    }
    .medals-country-command {
      display: flex;
      align-items: center;
      gap: 10px;
      flex-wrap: wrap;
      margin: 12px 0 4px;
    }
    .medals-country-command label {
      display: inline-flex;
      align-items: center;
      gap: 5px;
      color: #333;
      font-size: 13px;
    }
    #countryThickness {
      padding: 4px 6px;
      font-size: 13px;
    }
    .medals-country-season {
      display: flex;
      align-items: center;
      gap: 8px;
      flex-wrap: wrap;
      margin: 0 0 10px;
      font-size: 13px;
    }
    .medals-country-season label {
      display: inline-flex;
      align-items: center;
      gap: 5px;
      padding: 5px 9px;
      border: 1px solid #ccc;
      cursor: pointer;
    }
    .season-choice-summer {
      background-color: #fff3cf;
      border-color: #d6a83b !important;
    }
    .season-choice-winter {
      background-color: #eaf4ff;
      border-color: #9bbfe2 !important;
    }
    .country-combo {
      display: flex;
      align-items: center;
      gap: 6px;
      flex-wrap: wrap;
      min-height: 36px;
      padding: 4px 6px;
      border: 1px solid #aaa;
      background-color: #fff;
    }
    .country-combo:focus-within {
      border-color: #006b50;
      outline: 2px solid rgba(0, 158, 115, 0.18);
    }
    #countryChips {
      display: contents;
    }
    .country-chip {
      display: inline-flex;
      align-items: center;
      gap: 5px;
      max-width: 240px;
      padding: 4px 7px;
      border: 1px solid #b8c7d9;
      border-radius: 999px;
      background-color: #eef5fc;
      font-size: 13px;
      line-height: 1.2;
    }
    .country-chip span {
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
    .country-chip button {
      width: 18px;
      height: 18px;
      padding: 0;
      border: 0;
      border-radius: 50%;
      background-color: transparent;
      color: #555;
      cursor: pointer;
      font-size: 15px;
      line-height: 18px;
    }
    #countryComboInput {
      flex: 1 1 180px;
      min-width: 160px;
      border: 0;
      outline: 0;
      padding: 5px 2px;
      font-size: 14px;
    }
    #showMedalsButton {
      min-height: 36px;
      padding: 7px 14px;
      border: 1px solid #aaa;
      border-radius: 3px;
      background-color: #eee;
      color: #666;
      font-size: 14px;
      cursor: not-allowed;
    }
    #showMedalsButton.is-enabled {
      border-color: #006b50;
      background-color: #009E73;
      color: #fff;
      cursor: pointer;
      font-weight: 700;
    }
    #countrySelectionStatus {
      min-height: 18px;
      margin-top: 5px;
      color: #555;
      font-size: 13px;
    }
    #countryMedalsChart {
      display: none;
      width: 100%;
      height: 335px;
      margin-top: 8px;
    }
    .country-compare-rule {
      margin: 22px 0 16px;
      border: 0;
      border-top: 1px solid #ddd;
    }
    .country-compare-controls {
      max-width: 560px;
    }
    .country-compare-command {
      margin: 12px 0 8px;
    }
    #compareCountriesButton {
      min-height: 36px;
      padding: 7px 14px;
      border: 1px solid #aaa;
      border-radius: 3px;
      background-color: #eee;
      color: #666;
      font-size: 14px;
      cursor: not-allowed;
    }
    #compareCountriesButton.is-enabled {
      border-color: #006b50;
      background-color: #009E73;
      color: #fff;
      cursor: pointer;
      font-weight: 700;
    }
    #compareCountryInput {
      flex: 1 1 160px;
      min-width: 140px;
      border: 0;
      outline: 0;
      padding: 5px 2px;
      font-size: 14px;
    }
    #compareCountryStatus {
      min-height: 18px;
      margin-top: 5px;
      color: #555;
      font-size: 13px;
    }
    .country-compare-charts {
      display: none;
      gap: 12px;
      align-items: stretch;
      width: 100%;
    }
    .country-compare-chart {
      width: calc(50% - 6px);
      height: 335px;
    }
