/* 2026-10-20 public layout: structure + tap targets + caption floor. Uses existing events.css colors only. */
#homeHero { display: block; width: min(1240px, calc(100% - 48px)); margin: 28px auto 8px; padding: 28px 28px 30px; border: 1px solid var(--line); border-radius: 22px; background: linear-gradient(135deg, rgba(157,108,255,.16), rgba(157,108,255,.04) 60%), var(--panel); box-shadow: var(--shadow); }
#homeHero h1 { margin: 6px 0 10px; color: var(--ink); font-size: clamp(1.65rem, 4vw, 2.4rem); line-height: 1.1; letter-spacing: -.02em; }
#homeHero-copy { max-width: 720px; margin: 0; color: var(--muted); font-size: 1rem; line-height: 1.55; }
#homeHero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
.home-btn { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; padding: 0 20px; border-radius: 12px; font-size: .95rem; font-weight: 800; text-decoration: none; }
.home-btn-primary { color: #fff; background: #7a45f0; border: 1px solid #7a45f0; }
.home-btn-primary:hover { background: #6a37de; }
.home-btn-secondary { color: var(--purple-bright); background: rgba(157,108,255,.09); border: 1px solid rgba(189,154,255,.35); }
.home-btn:focus-visible { outline: 3px solid var(--purple-bright); outline-offset: 3px; }
body.event-detail-mode #homeHero { display: none; }
@media (max-width: 760px) { #homeHero { width: calc(100% - 24px); margin-top: 14px; padding: 20px 18px 22px; } .home-btn { flex: 1 1 100%; } }
/* tap targets >= 44px (calendar day cells keep their size/graphics) */
.public-brand, footer a, .event-native-details, .gpx-download, .event-rating-guide > summary, .event-detail-back, .event-category-option { min-height: 44px; }
.event-native-details, .gpx-download, .event-detail-back { display: inline-flex; align-items: center; }
.event-rating-guide > summary { display: flex; align-items: center; }
.public-topbar nav a.login-link { font-size: .82rem; }
/* readable captions: floor 13px outside the compact calendar grid */
.eyebrow, .event-calendar-intro, .event-kicker, .count-pill, .event-card-type, .event-rating-reason, .event-native-details, .gpx-download, .event-shiny-eligible, .section-intro, .source-note p, .event-rating-guide summary, .event-rating-guide p, footer, .event-detail-fact span, .event-research-rewards, .stamp-rally-download-label, .event-calendar-footer, .event-category-option { font-size: 13px; }
.event-badge { font-size: 12px; }
/* match existing selectors with higher specificity */
main .event-card-actions a, main a.gpx-download, main .event-window-spawns summary, main .event-rating-guide summary, body > footer a { min-height: 44px; }
main .event-window-spawns summary { display: flex; align-items: center; }
main .event-card-actions a { font-size: 13px; }
@media (pointer: fine) and (min-width: 761px) { main .event-coordinate-copy { min-height: 44px; } }
main .event-calendar-controls > button, main .event-calendar-month select { min-height: 44px; min-width: 44px; }
main .event-schedule-note > summary { min-height: 44px; display: flex; align-items: center; font-size: 13px; }
main .event-bonus-row span, main .event-detail-info-list li, main .event-detail-chip span, main .event-detail-fact strong, main .event-time small, main .event-detail-source p, main .event-detail-source-actions a { font-size: 13px; }
main .event-detail-back { font-size: 14px; }
