.racecourse-map{display:grid;gap:var(--whr-space-2);width:100%}.racecourse-map__canvas{width:100%;min-height:420px;overflow:hidden;border:1px solid var(--whr-color-border);border-radius:.75rem;background:#f4f4f4}.racecourse-map__canvas[hidden]{display:none}.racecourse-map__status,.racecourse-map__fallback,.racecourse-map__meta,.racecourse-map__attribution{margin:0;color:var(--whr-color-muted);font-size:.9rem}.racecourse-map[data-map-state=failed]{padding:var(--whr-space-3);border:1px solid var(--whr-color-border);border-radius:.75rem;background:#fafafa}.racecourse-map .maplibregl-canvas:focus-visible,.racecourse-map .maplibregl-ctrl button:focus-visible{outline:3px solid #111;outline-offset:2px}.racecourse-map .maplibregl-ctrl-attrib{font-size:11px}.racecourse-location-section{display:grid;gap:var(--whr-space-3)}.racecourse-location-section>p{margin:0}.today-meeting-map{display:grid;gap:var(--whr-space-3);margin-block:var(--whr-space-4)}.today-meeting-map>p{margin:0}.today-meeting-map__heading{display:flex;align-items:end;justify-content:space-between;gap:var(--whr-space-3);flex-wrap:wrap}.today-meeting-map__heading h2,.today-meeting-map__heading p{margin:0}.today-meeting-map__eyebrow,.today-meeting-map__status{color:var(--whr-color-muted);font-size:.9rem}.today-meeting-map__selected,.calendar-map-switch__selected{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--whr-space-3);padding:var(--whr-space-2) var(--whr-space-3);border:1px solid var(--whr-color-border);border-radius:.75rem;background:var(--whr-color-bg)}.today-meeting-map__selected[hidden],.calendar-map-switch__selected[hidden]{display:none}.map-selected-card__body{display:grid;gap:.2rem;min-width:0}.map-selected-card__status{display:inline-flex;align-items:center;gap:.35rem;width:fit-content;font-size:.9rem;font-weight:700}.map-selected-card__status:before{width:.7rem;height:.7rem;border:2px solid #fff;border-radius:999px;box-shadow:0 0 0 1px #111;content:"";flex:0 0 auto;background:#111}.map-selected-card__status[data-status=running]:before{background:#c40000}.map-selected-card__status[data-status=upcoming]:before{background:#d18a00}.map-selected-card__status[data-status=ended]:before{background:#666}.map-selected-card__status[data-status=future]:before{background:#111}.map-selected-card__meta{color:var(--whr-color-muted);font-size:.9rem}.map-selected-card__actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--whr-space-2);flex-wrap:wrap}.map-selected-card__actions a,.today-meeting-map__selected button,.calendar-map-switch__selected button,.map-selected-card__close{min-height:44px;padding:.35rem .8rem;border:1px solid var(--whr-color-border);border-radius:999px;background:transparent;color:var(--whr-color-text);cursor:pointer;font:inherit}.map-selected-card__actions a{display:inline-flex;align-items:center;text-decoration:underline}.map-selected-card__close{min-width:44px;justify-content:center;padding-inline:.65rem;font-size:1.1rem;line-height:1}.calendar-map-switch{display:grid;gap:var(--whr-space-3);margin-block:var(--whr-space-4)}.calendar-map-switch__heading{display:flex;align-items:end;justify-content:space-between;gap:var(--whr-space-3);flex-wrap:wrap}.calendar-map-switch__heading h2,.calendar-map-switch__heading p,.calendar-map-switch__hint,.calendar-map-switch__panel>p{margin:0}.calendar-map-switch__eyebrow,.calendar-map-switch__hint{color:var(--whr-color-muted);font-size:.9rem}.calendar-map-switch__buttons{display:inline-flex;gap:.25rem;padding:.2rem;border:1px solid var(--whr-color-border);border-radius:999px}.calendar-map-switch__buttons button{min-height:2.25rem;padding:.35rem .8rem;border:1px solid transparent;border-radius:999px;background:transparent;color:var(--whr-color-text);cursor:pointer;font:inherit}.calendar-map-switch__buttons button[aria-pressed=true]{border-color:var(--whr-color-border);background:var(--whr-color-bg);font-weight:700}.calendar-map-switch__buttons button:focus-visible,.calendar-map-switch__selected button:focus-visible,.today-meeting-map__selected button:focus-visible,.map-selected-card__actions a:focus-visible,.map-selected-card__close:focus-visible{outline:3px solid #111;outline-offset:2px}.calendar-map-switch__panel{display:grid;gap:var(--whr-space-3)}.calendar-map-switch__panel[hidden],[data-calendar-list-view][hidden]{display:none}.home-racing-map{display:grid;gap:var(--whr-space-3);margin-block:var(--whr-space-4) var(--whr-space-5)}.home-racing-map__heading{display:flex;align-items:end;justify-content:space-between;gap:var(--whr-space-3);flex-wrap:wrap}.home-racing-map__heading h2,.home-racing-map__heading p,.home-racing-map__status,.home-racing-map__boundary,.home-racing-map__selected h3,.home-racing-map__selected p{margin:0}.home-racing-map__eyebrow,.home-racing-map__status,.home-racing-map__boundary,.home-racing-map__timezone{color:var(--whr-color-muted);font-size:.9rem}.home-racing-map__periods{display:inline-flex;gap:.25rem;padding:.2rem;border:1px solid var(--whr-color-border);border-radius:999px}.home-racing-map__periods button{min-height:2.25rem;padding:.35rem .8rem;border:1px solid transparent;border-radius:999px;background:transparent;color:var(--whr-color-text);cursor:pointer;font:inherit}.home-racing-map__periods button[aria-pressed=true]{border-color:var(--whr-color-border);background:var(--whr-color-bg);font-weight:700}.home-racing-map__periods button:focus-visible,.home-racing-map__timezone select:focus-visible{outline:3px solid #111;outline-offset:2px}.home-racing-map__timezone{display:flex;align-items:end;gap:var(--whr-space-2);flex-wrap:wrap}.home-racing-map__timezone label{display:grid;gap:.2rem}.home-racing-map__timezone select{max-width:min(24rem,80vw);padding:.38rem .5rem}.home-racing-map__selected{display:grid;gap:var(--whr-space-2);padding:var(--whr-space-3);border:1px solid var(--whr-color-border);border-radius:.75rem;background:var(--whr-color-bg)}.home-racing-map__selected[hidden]{display:none}.home-racing-map__selected-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--whr-space-2)}.home-racing-map__selected ul{display:grid;gap:.35rem;margin:0;padding-inline-start:1.2rem}.meeting-row__map-focus{min-height:2rem;margin-inline-start:.5rem;padding:.2rem .55rem;border:1px solid var(--whr-color-border);border-radius:999px;background:var(--whr-color-bg);color:var(--whr-color-text);cursor:pointer;font:inherit;font-size:.82rem}.meeting-row__map-focus:hover{text-decoration:underline}.meeting-row__map-focus:focus-visible,.meeting-row--map-selected{outline:3px solid #111;outline-offset:2px}@media(max-width:700px){.racecourse-map__canvas{min-height:340px}.today-meeting-map__heading,.calendar-map-switch__heading,.calendar-map-switch__selected,.today-meeting-map__selected,.home-racing-map__heading{align-items:start;flex-direction:column}.today-meeting-map__selected,.calendar-map-switch__selected,.home-racing-map__selected{position:relative;z-index:1;box-shadow:0 .35rem 1.2rem #00000024}.today-meeting-map__selected,.calendar-map-switch__selected{padding-right:3.75rem}.today-meeting-map__selected .map-selected-card__close,.calendar-map-switch__selected .map-selected-card__close{position:absolute;top:.5rem;right:.5rem;z-index:1;display:inline-flex;align-items:center;justify-content:center;background:var(--whr-color-bg)}.map-selected-card__body,.map-selected-card__actions{width:100%}.map-selected-card__actions{justify-content:flex-start}.map-selected-card__actions a,.map-selected-card__actions button:not(.map-selected-card__close){flex:1 1 auto;justify-content:center;text-align:center}.home-racing-map__periods{width:100%;overflow-x:auto}.home-racing-map__periods button{flex:1 0 auto}}.racecourse-map .maplibregl-ctrl button{min-width:44px;min-height:44px}.racecourse-map__legend-item:before,.racecourse-map__legend-item:after,.racecourse-map__legend-label:before,.racecourse-map__legend-label:after{content:none!important}.map-selected-card__status[data-status=today]:before{background:#fffcf4;border-color:#7a5a00;box-shadow:none}.meeting-row__map-focus,.calendar-map-switch__buttons button,.calendar-map-switch__selected button,.today-meeting-map__selected button,.home-racing-map__periods button,.home-racing-map__timezone select{min-height:44px}@media(max-width:700px){.calendar-map-switch__buttons button,.home-racing-map__periods button,.meeting-row__map-focus,.calendar-map-switch__selected button,.today-meeting-map__selected button{min-width:44px}}@media(prefers-reduced-motion:reduce){.today-meeting-map__selected,.calendar-map-switch__selected,.home-racing-map__selected{scroll-behavior:auto}}.racecourse-map__legend{display:flex;align-items:center;flex-wrap:wrap;gap:.45rem .8rem;margin:0;font-size:.78rem;color:var(--whr-color-muted)}.racecourse-map__legend[hidden],.racecourse-map__legend-item[hidden]{display:none}.racecourse-map__legend-title{font-weight:800;color:var(--whr-color-text)}.racecourse-map__legend-item{display:inline-flex;align-items:center;gap:.3rem;white-space:nowrap}.racecourse-map__legend-dot{display:inline-block;width:.7rem;height:.7rem;border-radius:999px;border:2px solid #fff;box-shadow:0 0 0 1px #111;flex:0 0 auto}.racecourse-map__legend-dot--running{background:#c40000}.racecourse-map__legend-dot--upcoming{background:#d18a00}.racecourse-map__legend-dot--today{background:#fffcf4;border-color:#7a5a00;box-shadow:none}.racecourse-map__legend-dot--future{background:#111}.racecourse-map__legend-dot--ended{background:#666}html:lang(ja) .racecourse-map__legend-title--en,html:lang(ja) .racecourse-map__legend-label--en{display:none}html:not(:lang(ja)) .racecourse-map__legend-title--ja,html:not(:lang(ja)) .racecourse-map__legend-label--ja{display:none}@media(max-width:700px){.racecourse-map__canvas{min-height:clamp(320px,48vh,420px)}.racecourse-map__legend{align-items:flex-start;gap:.4rem .65rem}.racecourse-map__legend-title{flex-basis:100%}}
