/* Homepage-only layout; do not change prediction, ranking or admin styles. */
.home-container { width: min(100% - 2rem, 1120px); }
.home-section-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.home-eyebrow { margin: 0 0 .3rem; font-size: .8rem; color: #586174; }
.home-section-heading h1 { margin: 0; font-size: 1.6rem; }
.home-period { margin: .8rem 0; font-weight: 600; }
.home-week-table { table-layout: fixed; font-size: .875rem; }
.home-col-date { width: 6.5rem; }
.home-col-venue { width: 4rem; }
.home-col-status { width: 8.8rem; }
.home-col-deadline { width: 8.5rem; }
.home-col-link { width: 7rem; }
.home-week-table th, .home-week-table td { padding: .7rem .5rem; vertical-align: middle; overflow-wrap: anywhere; }
.home-week-table th { background: #f4f6f9; color: #586174; font-size: .8rem; }
.home-week-table tbody tr:nth-child(even) { background: #fafbfc; }
.home-race-name strong { display: block; }
.home-race-meta { display: block; font-size: .8rem; color: #586174; margin-top: .2rem; }
.home-deadline { font-variant-numeric: tabular-nums; }
.home-status { display: inline-block; background: #eef2f8; border-radius: 4px; padding: .2rem .4rem; font-size: .8rem; }
.home-status-cancelled { color: #8a1c15; background: #fce8e6; }
.home-bottom-grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: 1rem; margin-top: 1rem; }
.home-bottom-grid > .card { min-width: 0; }
.home-bottom-grid h2 { margin-top: 0; font-size: 1.15rem; }
.home-notices, .home-results { list-style: none; padding: 0; margin: 0; }
.home-notices li, .home-results li { padding: .8rem 0; border-bottom: 1px solid #d9dee7; overflow-wrap: anywhere; }
.home-notices li:last-child, .home-results li:last-child { border-bottom: 0; }
.home-notices p { margin: .35rem 0 0; font-size: .875rem; }
.home-results li > a { display: block; font-weight: 600; }
.home-bottom-grid .home-ranking-title { margin-top: 1.5rem; }
.home-ranking-links { display: flex; gap: .5rem; flex-wrap: wrap; }
.home-ranking-links a { font-size: .875rem; padding: .5rem .8rem; }
.home-week .meta, .home-footnote { font-size: .8rem; }
.home-footnote { margin-bottom: 0; }
.home-updated { text-align: right; font-size: .8rem; }
.home-empty { padding: 1rem; background: #f4f6f9; border-radius: 4px; }
@media (max-width: 800px) {
  .home-bottom-grid { grid-template-columns: 1fr; }
  .home-week-table, .home-week-table tbody { display: block; }
  .home-week-table colgroup, .home-week-table thead { display: none; }
  .home-week-table tbody tr { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); border: 1px solid #d9dee7; border-radius: 6px; margin: .75rem 0; padding: .6rem; gap: .5rem; }
  .home-week-table td { display: block; border: 0; padding: 0; min-width: 0; }
  .home-week-table td[data-label]::before { content: attr(data-label); display: block; font-size: .75rem; color: #586174; margin-bottom: .15rem; }
  .home-week-table .home-race-name { grid-column: 1 / -1; }
  .home-week-table .home-race-action { grid-column: 1 / -1; border-top: 1px solid #d9dee7; padding-top: .5rem; }
  .home-container .card { padding: 1rem; }
  .home-section-heading h1 { font-size: 1.35rem; }
  .home-section-heading .button-secondary { font-size: .85rem; padding: .5rem .7rem; }
}
