@media (max-width: 1023px) {
  .ticket-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .results-layout {
    grid-template-columns: 210px minmax(0, 1fr);
    gap: 20px;
  }
}

@media (max-width: 767px) {
  .site-header,
  .page-shell {
    width: min(calc(100% - 20px), var(--max-width));
  }

  .site-header__top {
    align-items: flex-start;
    flex-direction: column;
    gap: 8px;
  }

  .brand-group {
    width: 100%;
    justify-content: flex-start;
  }

  .site-nav a {
    padding: 9px 6px;
    font-size: 0.88rem;
  }

  .page-shell {
    padding-top: 24px;
  }

  .page-title-row {
    align-items: flex-start;
  }

  .status-message {
    max-width: none;
    width: 100%;
  }

  .page-status {
    width: auto;
    max-width: 100%;
  }

  .ticket-grid {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .ticket-card {
    padding: 10px 12px;
  }

  .ticket-numbers {
    gap: 8px;
  }

  .results-layout {
    display: flex;
    flex-direction: column;
    gap: 24px;
  }

  .history-panel {
    width: 100%;
  }

  .history-draw-list {
    grid-template-columns: 1fr;
  }

  .history-year-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .history-year-button {
    text-align: center;
  }

  .winning-number-row {
    display: grid;
    gap: 14px;
  }

  .winning-group {
    align-items: flex-start;
  }

  .aggregate-table {
    min-width: 620px;
  }

  .aggregate-table th:first-child,
  .aggregate-table td:first-child {
    min-width: 150px;
  }

  .aggregate-table th:nth-child(2),
  .aggregate-table td:nth-child(2) {
    min-width: 200px;
    white-space: normal;
  }

  .result-summary-table {
    min-width: 480px;
  }
}
