/*
 * This is a manifest file that'll be compiled into application.css, which will include all the files
 * listed below.
 *
 * Any CSS and SCSS file within this directory, lib/assets/stylesheets, or any plugin's
 * vendor/assets/stylesheets directory can be referenced here using a relative path.
 *
 * You're free to add application-wide styles to this file and they'll appear at the bottom of the
 * compiled file so the styles you add here take precedence over styles defined in any other CSS/SCSS
 * files in this directory. Styles in this file should be added after the last require_* statement.
 * It is generally better to create a new file per style scope.
 *
*/
/* line 5, app/assets/stylesheets/components/_scrollbar.scss */
::-webkit-scrollbar,
::-webkit-scrollbar-track,
::-webkit-scrollbar-thumb {
  width: 5px;
}

/* line 11, app/assets/stylesheets/components/_scrollbar.scss */
::-webkit-scrollbar,
::-webkit-scrollbar-track {
  background-color: transparent;
}

/* line 16, app/assets/stylesheets/components/_scrollbar.scss */
::-webkit-scrollbar-thumb {
  background-color: #4a4a4a;
}

/* line 1, app/assets/stylesheets/components/_link.scss */
.link--animated {
  display: inline-flex;
  font-size: 0.8rem !important;
  line-height: 1.5;
  cursor: pointer;
  color: inherit;
}

/* line 8, app/assets/stylesheets/components/_link.scss */
.link--animated span {
  position: relative;
  display: inline-flex;
  gap: 0.5rem;
}

/* line 13, app/assets/stylesheets/components/_link.scss */
.link--animated span:after {
  content: '';
  display: block;
  position: absolute;
  bottom: 0;
  width: 0;
  height: 0.0625rem;
  margin-left: 100%;
  background-color: currentColor;
  opacity: 0.7;
  margin-top: -0.3rem;
  transition: width 0.32s ease, margin-left 0.32s ease;
}

/* line 31, app/assets/stylesheets/components/_link.scss */
.link--animated[anim-mode='reverse'] span:after {
  width: 100%;
  margin-left: 0;
  transition: width 0.32s ease;
}

/* line 38, app/assets/stylesheets/components/_link.scss */
.link--animated img {
  height: 10px;
  width: auto;
  filter: invert(1);
  margin-right: 0.5rem;
}

/* line 47, app/assets/stylesheets/components/_link.scss */
.link--animated:hover span:after {
  width: 100%;
  margin-left: unset;
  transition: width 0.32s ease;
}

/* line 54, app/assets/stylesheets/components/_link.scss */
.link--animated[anim-mode='reverse']:hover span:after {
  width: 0;
  margin-left: 100%;
  transition: width 0.32s ease, margin-left 0.32s ease;
}

/* line 1, app/assets/stylesheets/pages/map/_header.scss */
#banner {
  position: relative;
}

/* line 8, app/assets/stylesheets/pages/map/_header.scss */
.header-logo {
  padding: 0 3rem 1rem;
  background-color: hsl(var(--card));
  border-radius: 0 0 2rem 2rem;
  position: relative;
}

/* line 39, app/assets/stylesheets/pages/map/_mixins.scss */
.header-logo::before {
  content: '';
  position: absolute;
  top: 0;
  left: calc(-2rem + 1px);
  width: 2rem;
  height: 2rem;
  background: radial-gradient(circle at bottom left, transparent 2rem, hsl(var(--card)) 0);
}

/* line 42, app/assets/stylesheets/pages/map/_mixins.scss */
.header-logo::after {
  content: '';
  position: absolute;
  top: 0;
  right: calc(-2rem + 1px);
  width: 2rem;
  height: 2rem;
  background: radial-gradient(circle at bottom right, transparent 2rem, hsl(var(--card)) 0);
}

/* line 15, app/assets/stylesheets/pages/map/_header.scss */
.theme-toggle-group {
  top: 0 !important;
  right: 0 !important;
  border-radius: 0 0 0 2rem !important;
  padding: 0 0 1rem 1rem !important;
  border: none !important;
}

/* line 22, app/assets/stylesheets/pages/map/_header.scss */
.theme-toggle-group::before {
  content: '';
  position: absolute;
  top: 0;
  left: calc(-2rem + 1px);
  width: 2rem;
  height: 2rem;
  background: radial-gradient(circle at bottom left, transparent 2rem, hsl(var(--card)) 0);
}

/* line 26, app/assets/stylesheets/pages/map/_header.scss */
.theme-toggle-group::after {
  content: '';
  position: absolute;
  top: 0;
  left: calc(-2rem + 1px);
  width: 2rem;
  height: 2rem;
  background: radial-gradient(circle at bottom left, transparent 2rem, hsl(var(--card)) 0);
  bottom: -2rem !important;
  right: 0 !important;
  left: unset !important;
  top: unset !important;
}

/* line 1, app/assets/stylesheets/pages/map/_dock.scss */
.dock,
.page-wrapper[data-hippodrome-map-not-found-value] .dock {
  bottom: 1rem;
}

/* line 30, app/assets/stylesheets/pages/map/_dock.scss */
.dock-menu {
  position: relative;
  z-index: 60 !important;
  background-color: hsl(var(--card));
  border-radius: 2rem 2rem 0 0;
  position: relative;
}

/* line 39, app/assets/stylesheets/pages/map/_mixins.scss */
.dock-menu::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: calc(-2rem + 1px);
  width: 2rem;
  height: 2rem;
  background: radial-gradient(circle at top left, transparent 2rem, hsl(var(--card)) 0);
}

/* line 42, app/assets/stylesheets/pages/map/_mixins.scss */
.dock-menu::after {
  content: '';
  position: absolute;
  bottom: 0;
  right: calc(-2rem + 1px);
  width: 2rem;
  height: 2rem;
  background: radial-gradient(circle at top right, transparent 2rem, hsl(var(--card)) 0);
}

/* line 51, app/assets/stylesheets/pages/map/_dock.scss */
.dock-menu__label {
  display: none;
}

/* line 60, app/assets/stylesheets/pages/map/_dock.scss */
.dock-nav {
  position: relative;
  z-index: 52;
}

/* line 72, app/assets/stylesheets/pages/map/_dock.scss */
.dock-nav__arrow {
  background-color: hsl(var(--card));
}

/* line 76, app/assets/stylesheets/pages/map/_dock.scss */
.dock-nav__pill {
  background-color: hsl(var(--card));
  border-radius: 2rem 2rem 0 0;
  padding: 0.5rem;
  padding-bottom: 0;
  position: relative;
}

/* line 39, app/assets/stylesheets/pages/map/_mixins.scss */
.dock-nav__pill::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: calc(-2rem + 1px);
  width: 2rem;
  height: 2rem;
  background: radial-gradient(circle at top left, transparent 2rem, hsl(var(--card)) 0);
}

/* line 42, app/assets/stylesheets/pages/map/_mixins.scss */
.dock-nav__pill::after {
  content: '';
  position: absolute;
  bottom: 0;
  right: calc(-2rem + 1px);
  width: 2rem;
  height: 2rem;
  background: radial-gradient(circle at top right, transparent 2rem, hsl(var(--card)) 0);
}

/* line 89, app/assets/stylesheets/pages/map/_dock.scss */
.dock-view-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.625rem 1.5rem;
  border-radius: 9999px;
  font-size: 0.875rem;
  font-weight: 600;
  white-space: nowrap;
  transition: background-color 0.15s ease;
  color: hsl(var(--foreground));
}

/* line 93, app/assets/stylesheets/pages/map/_dock.scss */
.dock-view-button:hover {
  background-color: hsl(var(--muted));
}

/* line 97, app/assets/stylesheets/pages/map/_dock.scss */
.dock-view-button[aria-pressed='true'] {
  background-color: hsl(var(--brand));
  color: #0a0a0a;
}

/* line 87, app/assets/stylesheets/pages/map/_mixins.scss */
.dock-view-button[aria-pressed='true']:hover {
  background-color: #e5a24e;
}

/* line 117, app/assets/stylesheets/pages/map/_dock.scss */
.dock-panel {
  transform: translateY(0.5rem);
  opacity: 0;
  pointer-events: none;
  max-height: 100%;
  border-radius: 1.25rem;
  overflow-y: auto;
  scrollbar-width: none;
  min-height: 0;
  transition: opacity 0.15s ease-in, transform 0.15s ease-in, max-height 0s linear 0.15s;
}

/* line 132, app/assets/stylesheets/pages/map/_dock.scss */
.dock-panel[data-state='open'] {
  transform: translateY(0);
  opacity: 1;
  pointer-events: auto;
  transition: opacity 0.15s ease-out, transform 0.15s ease-out, max-height 0s linear 0s;
}

/* line 143, app/assets/stylesheets/pages/map/_dock.scss */
.dock-panel[data-state='closed'] {
  max-height: 0;
}

/* line 151, app/assets/stylesheets/pages/map/_dock.scss */
.dock-panel--static {
  transform: translateY(0);
  opacity: 1;
  pointer-events: auto;
}

/* line 156, app/assets/stylesheets/pages/map/_dock.scss */
.dock-panel--static .dock-panel__header {
  top: 0;
}

/* line 161, app/assets/stylesheets/pages/map/_dock.scss */
.dock-panel__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.75rem 1rem;
  overflow: hidden;
  background-color: hsl(var(--card));
  z-index: 1;
}

/* line 171, app/assets/stylesheets/pages/map/_dock.scss */
.dock-panel__content {
  overflow-y: auto;
}

/* line 181, app/assets/stylesheets/pages/map/_dock.scss */
.dock-panel__header--trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  border: none;
  padding-inline: 0;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

/* line 198, app/assets/stylesheets/pages/map/_dock.scss */
.dock-panel [data-shadcn--accordion-target='trigger'][data-state='open']
.dock-panel__details-chevron {
  transform: rotate(90deg);
}

/* line 203, app/assets/stylesheets/pages/map/_dock.scss */
.dock-panel__collapsible .dock-panel__content {
  max-height: 12rem;
  overflow-y: auto;
  scrollbar-width: none;
}

/* line 210, app/assets/stylesheets/pages/map/_dock.scss */
.dock-panel__collapsible .dock-panel__header {
  padding: 0;
}

/* line 213, app/assets/stylesheets/pages/map/_dock.scss */
.dock-panel__collapsible .dock-panel__header button {
  padding: 0.75rem 1rem;
}

/* line 236, app/assets/stylesheets/pages/map/_dock.scss */
.dock-stack {
  pointer-events: none;
  z-index: 55 !important;
}

/* line 247, app/assets/stylesheets/pages/map/_dock.scss */
.ad-banner-slider {
  pointer-events: auto;
}

/* line 256, app/assets/stylesheets/pages/map/_dock.scss */
.ad-banner-slider {
  border-radius: 1.25rem;
}

/* line 259, app/assets/stylesheets/pages/map/_dock.scss */
.ad-banner-slider .overflow-hidden {
  border-radius: 1.25rem;
  border: none;
}

/* line 264, app/assets/stylesheets/pages/map/_dock.scss */
.ad-banner-slider [data-shadcn--carousel-target='content'] {
  margin-left: 0;
}

/* line 268, app/assets/stylesheets/pages/map/_dock.scss */
.ad-banner-slider [data-shadcn--carousel-target='item'] {
  padding-left: 0;
}

/* line 283, app/assets/stylesheets/pages/map/_dock.scss */
.contact {
  position: relative;
  border-radius: 0 1.25rem 0 0 !important;
  width: 20rem !important;
  padding-left: 0 !important;
  padding-bottom: 0 !important;
}

/* line 290, app/assets/stylesheets/pages/map/_dock.scss */
.contact::before {
  content: '';
  position: absolute;
  bottom: 0;
  right: calc(-2rem + 1px);
  width: 2rem;
  height: 2rem;
  background: radial-gradient(circle at top right, transparent 2rem, hsl(var(--card)) 0);
  left: 0;
  top: -2rem;
  right: unset;
}

/* line 297, app/assets/stylesheets/pages/map/_dock.scss */
.contact::after {
  content: '';
  position: absolute;
  bottom: 0;
  right: calc(-2rem + 1px);
  width: 2rem;
  height: 2rem;
  background: radial-gradient(circle at top right, transparent 2rem, hsl(var(--card)) 0);
}

/* line 306, app/assets/stylesheets/pages/map/_dock.scss */
.theme-logo {
  display: none;
}

/* line 310, app/assets/stylesheets/pages/map/_dock.scss */
html[data-theme='light'] .theme-logo--light,
html[data-theme='dark'] .theme-logo--dark {
  display: inline-block;
}

/* line 318, app/assets/stylesheets/pages/map/_dock.scss */
.page:has(.map-page) {
  height: 100dvh;
}

/* line 339, app/assets/stylesheets/pages/map/_dock.scss */
.map-page {
  position: relative;
  flex: 1 0 auto;
  overflow: hidden;
}

/* line 345, app/assets/stylesheets/pages/map/_dock.scss */
#hippodrome-map.map-page__map {
  position: absolute;
  inset: 0;
  border-radius: 2rem;
}

/* line 354, app/assets/stylesheets/pages/map/_dock.scss */
#hippodrome-map.map-page__map .mapboxgl-control-container,
#hippodrome-map.map-page__map .mapboxgl-ctrl-logo {
  display: none;
}

/* line 360, app/assets/stylesheets/pages/map/_dock.scss */
.map-page__map-error {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  inset: 0;
  background: hsl(var(--muted));
  color: hsl(var(--foreground));
  text-align: center;
  padding: 1rem;
}

/* line 13, app/assets/stylesheets/pages/map/_sidebar.scss */
.hippodrome-sidebar-provider {
  height: 100%;
  min-height: 0 !important;
}

/* line 17, app/assets/stylesheets/pages/map/_sidebar.scss */
.hippodrome-sidebar-provider main {
  min-height: 0 !important;
}

/* line 21, app/assets/stylesheets/pages/map/_sidebar.scss */
.hippodrome-sidebar-provider:has(.hippodrome-sidebar[data-state='expanded']) {
  --sidebar-width: 19rem !important;
}

/* line 36, app/assets/stylesheets/pages/map/_sidebar.scss */
.hippodrome-sidebar {
  position: absolute !important;
  inset: 1rem 0 12rem 1rem !important;
  height: auto !important;
  border-right: none !important;
  transition: opacity 0.15s ease-out, transform 0.15s ease-out;
}

/* line 50, app/assets/stylesheets/pages/map/_sidebar.scss */
.hippodrome-sidebar.is-hidden {
  opacity: 0;
  transform: translateX(-0.5rem);
  pointer-events: none;
  transition: opacity 0.15s ease-in, transform 0.15s ease-in;
}

/* line 67, app/assets/stylesheets/pages/map/_sidebar.scss */
.hippodrome-sidebar[data-state='collapsed'] {
  width: 3.5rem !important;
}

/* line 71, app/assets/stylesheets/pages/map/_sidebar.scss */
.hippodrome-sidebar [data-shadcn--sidebar-target='inner'] {
  background-color: hsl(var(--card));
  color: hsl(var(--card-foreground));
  border-radius: 1.25rem;
  box-shadow: 0 20px 50px -12px rgba(0, 0, 0, 0.45);
  border: 1px solid hsl(var(--border));
}

/* line 79, app/assets/stylesheets/pages/map/_sidebar.scss */
.hippodrome-sidebar [data-sidebar='header'] {
  padding: 0.75rem 0 0.5rem !important;
}

/* line 90, app/assets/stylesheets/pages/map/_sidebar.scss */
.hippodrome-sidebar [data-sidebar='content'] {
  scrollbar-width: none;
  overflow-y: auto !important;
}

/* line 95, app/assets/stylesheets/pages/map/_sidebar.scss */
.hippodrome-sidebar [data-sidebar='group'] {
  padding-top: 0;
}

/* line 105, app/assets/stylesheets/pages/map/_sidebar.scss */
.hippodrome-sidebar [data-shadcn--select-target='content'] {
  border-color: hsl(var(--border));
}

/* line 114, app/assets/stylesheets/pages/map/_sidebar.scss */
.hippodrome-sidebar [data-sidebar='menu-button'][data-size] {
  transition: none;
}

/* line 120, app/assets/stylesheets/pages/map/_sidebar.scss */
.hippodrome-sidebar [data-sidebar='menu-button'][data-active='true']::before {
  content: '';
  position: absolute;
  left: -0.5rem;
  top: 50%;
  transform: translateY(-50%);
  height: 1.5rem;
  width: 0.1875rem;
  border-radius: 0 9999px 9999px 0;
  background-color: hsl(var(--brand));
}

/* line 133, app/assets/stylesheets/pages/map/_sidebar.scss */
.hippodrome-sidebar[data-state='expanded'] [data-sidebar='menu-button'][data-size] {
  width: 100% !important;
  height: auto !important;
  min-height: 3.25rem !important;
  padding: 0.5rem 0.75rem !important;
  justify-content: flex-start !important;
}

/* line 140, app/assets/stylesheets/pages/map/_sidebar.scss */
.hippodrome-sidebar[data-state='collapsed'] [data-sidebar='menu-button'][data-size] {
  width: 2.5rem !important;
  height: 2.5rem !important;
  padding: 0.25rem !important;
  justify-content: center !important;
}

/* line 146, app/assets/stylesheets/pages/map/_sidebar.scss */
.hippodrome-sidebar[data-state='collapsed'] [data-sidebar='menu-button'][data-size] .hippodrome-card__meta {
  display: none;
}

/* line 152, app/assets/stylesheets/pages/map/_sidebar.scss */
.hippodrome-sidebar__trigger {
  border-radius: 9999px !important;
}

/* line 168, app/assets/stylesheets/pages/map/_sidebar.scss */
.hippodrome-marker {
  width: 42px;
  height: 42px;
  padding: 0;
  cursor: pointer;
}

/* line 175, app/assets/stylesheets/pages/map/_sidebar.scss */
.hippodrome-marker__visual {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 9999px;
  overflow: hidden;
  border: 2px solid rgba(20, 26, 33, 0.85);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.3);
  background: hsl(var(--muted));
  transition: transform 0.15s ease, border-color 0.15s ease;
}

/* line 188, app/assets/stylesheets/pages/map/_sidebar.scss */
.hippodrome-marker__visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (prefers-reduced-motion: reduce) {
  /* line 175, app/assets/stylesheets/pages/map/_sidebar.scss */
  .hippodrome-marker__visual {
    transition: none;
  }
}

/* line 199, app/assets/stylesheets/pages/map/_sidebar.scss */
.hippodrome-marker:hover .hippodrome-marker__visual {
  transform: scale(1.1);
}

/* line 203, app/assets/stylesheets/pages/map/_sidebar.scss */
.hippodrome-marker.-selected .hippodrome-marker__visual {
  border-color: hsl(var(--brand));
  transform: scale(1.15);
}

/* line 208, app/assets/stylesheets/pages/map/_sidebar.scss */
.hippodrome-marker__fallback {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  font-weight: 700;
  background: #fff;
  color: #141a21;
}

/* line 226, app/assets/stylesheets/pages/map/_sidebar.scss */
.race-modal__panel > button[aria-label='Close'] {
  display: none;
}

/* line 240, app/assets/stylesheets/pages/map/_sidebar.scss */
.hippodrome-sheet__panel > button[aria-label='Close'],
.install-pwa-sheet__panel > button[aria-label='Close'],
.newsletter-dialog__panel > button[aria-label='Close'],
.mapboxgl-popup-close-button,
.sheet-handle__close,
.dock-panel__close,
.race-modal__close {
  position: absolute !important;
  right: 1rem;
  top: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  font-size: 1.5rem;
  font-weight: 400;
  border-radius: 9999px;
  background-color: hsl(var(--muted));
  color: hsl(var(--muted-foreground));
  opacity: 1;
  z-index: 2;
  transition: all 0.15s ease;
}

/* line 264, app/assets/stylesheets/pages/map/_sidebar.scss */
.hippodrome-sheet__panel > button[aria-label='Close']:hover,
.install-pwa-sheet__panel > button[aria-label='Close']:hover,
.newsletter-dialog__panel > button[aria-label='Close']:hover,
.mapboxgl-popup-close-button:hover,
.sheet-handle__close:hover,
.dock-panel__close:hover,
.race-modal__close:hover {
  background-color: hsl(var(--card));
  color: hsl(var(--text-foreground));
}

/* line 270, app/assets/stylesheets/pages/map/_sidebar.scss */
.hippodrome-sheet__panel > button[aria-label='Close'] {
  background-color: hsl(var(--card));
  color: hsl(var(--text-foreground));
}

/* line 280, app/assets/stylesheets/pages/map/_sidebar.scss */
.hippodrome-sheet__panel > button[aria-label='Close']:focus:not(:focus-visible) {
  box-shadow: none !important;
}

/* line 299, app/assets/stylesheets/pages/map/_sidebar.scss */
.shadcn-sheet-portal {
  pointer-events: none;
}

/* line 320, app/assets/stylesheets/pages/map/_sidebar.scss */
.shadcn-dialog-portal {
  z-index: 70 !important;
}

/* line 324, app/assets/stylesheets/pages/map/_sidebar.scss */
.shadcn-dialog-portal:has(.ad-popup-dialog__panel) {
  z-index: 75 !important;
}

/* line 343, app/assets/stylesheets/pages/map/_sidebar.scss */
.shadcn-sheet-portal.install-pwa-sheet-portal {
  z-index: 80 !important;
}

/* line 353, app/assets/stylesheets/pages/map/_sidebar.scss */
.install-pwa-sheet__panel {
  pointer-events: auto;
  transform: translateY(100%);
  opacity: 0;
  transition-timing-function: ease-in !important;
}

/* line 366, app/assets/stylesheets/pages/map/_sidebar.scss */
.install-pwa-sheet__panel[data-state='open'] {
  transform: translateY(0);
  opacity: 1;
  transition-timing-function: ease-out !important;
}

@media (min-width: 768px) {
  /* line 353, app/assets/stylesheets/pages/map/_sidebar.scss */
  .install-pwa-sheet__panel {
    inset: 50% auto auto 50% !important;
    border-radius: 1rem !important;
    transform: translate(-50%, -50%) scale(0.95);
  }
  /* line 384, app/assets/stylesheets/pages/map/_sidebar.scss */
  .install-pwa-sheet__panel[data-state='open'] {
    transform: translate(-50%, -50%) scale(1);
  }
}

/* line 399, app/assets/stylesheets/pages/map/_sidebar.scss */
.install-pwa-sheet-portal [data-shadcn--sheet-target='overlay'] {
  background-color: rgba(0, 0, 0, 0.8) !important;
  backdrop-filter: blur(10px) !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transition: opacity 300ms ease-in !important;
}

/* line 405, app/assets/stylesheets/pages/map/_sidebar.scss */
.install-pwa-sheet-portal [data-shadcn--sheet-target='overlay'][data-state='open'] {
  opacity: 1 !important;
  pointer-events: auto !important;
  transition-duration: 500ms !important;
}

@media (min-width: 768px) {
  /* line 10, app/assets/stylesheets/pages/map/_hippodrome_sheet.scss */
  .shadcn-sheet-portal {
    z-index: 56 !important;
  }
}

/* line 15, app/assets/stylesheets/pages/map/_hippodrome_sheet.scss */
.hippodrome-sheet__panel {
  pointer-events: auto;
}

/* line 36, app/assets/stylesheets/pages/map/_hippodrome_sheet.scss */
.hippodrome-sheet__panel {
  height: auto !important;
  overflow: hidden !important;
  border-radius: 0 !important;
  width: 26rem !important;
  max-width: calc(100vw - 2rem) !important;
  padding: 0 !important;
  gap: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  background-color: hsl(var(--card));
  color: hsl(var(--card-foreground));
  border: 1px solid hsl(var(--border)) !important;
  box-shadow: 0 20px 50px -12px rgba(0, 0, 0, 0.45);
  transform: translateX(100%);
  opacity: 0;
  transition-timing-function: ease-in !important;
}

/* line 62, app/assets/stylesheets/pages/map/_hippodrome_sheet.scss */
.hippodrome-sheet__panel[data-state='open'] {
  transform: translateX(0);
  opacity: 1;
  transition-timing-function: ease-out !important;
}

@media (max-width: 640px) {
  /* line 36, app/assets/stylesheets/pages/map/_hippodrome_sheet.scss */
  .hippodrome-sheet__panel {
    inset: auto 0 4rem 0 !important;
    width: 100% !important;
    max-width: none !important;
    max-height: calc(100dvh - 4rem - 6rem);
    border-radius: 1.25rem 1.25rem 0 0 !important;
    transform: translateY(100%);
  }
  /* line 104, app/assets/stylesheets/pages/map/_hippodrome_sheet.scss */
  .hippodrome-sheet__panel[data-state='open'] {
    transform: translateY(0);
  }
}

/* line 116, app/assets/stylesheets/pages/map/_hippodrome_sheet.scss */
[data-shadcn--sheet-target='overlay'] {
  opacity: 0 !important;
  pointer-events: none !important;
}

/* line 121, app/assets/stylesheets/pages/map/_hippodrome_sheet.scss */
.hippodrome-sheet__content {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 0;
}

/* line 128, app/assets/stylesheets/pages/map/_hippodrome_sheet.scss */
.hippodrome-sheet__header {
  position: relative;
  flex-shrink: 0;
}

/* line 133, app/assets/stylesheets/pages/map/_hippodrome_sheet.scss */
.hippodrome-sheet__cover {
  position: relative;
  aspect-ratio: 16/9;
  width: 100%;
  overflow: hidden;
  background-color: hsl(var(--muted));
  z-index: 0;
}

/* line 141, app/assets/stylesheets/pages/map/_hippodrome_sheet.scss */
.hippodrome-sheet__cover:after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, hsl(var(--card)) 7%, rgba(0, 0, 0, 0.1) 70%);
}

/* line 152, app/assets/stylesheets/pages/map/_hippodrome_sheet.scss */
.hippodrome-sheet__cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* line 159, app/assets/stylesheets/pages/map/_hippodrome_sheet.scss */
.hippodrome-sheet__identity {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0 1.25rem 1.25rem;
}

/* line 166, app/assets/stylesheets/pages/map/_hippodrome_sheet.scss */
.hippodrome-sheet__avatar {
  flex-shrink: 0;
}

/* line 170, app/assets/stylesheets/pages/map/_hippodrome_sheet.scss */
.hippodrome-sheet__meta {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  min-width: 0;
}

/* line 177, app/assets/stylesheets/pages/map/_hippodrome_sheet.scss */
.hippodrome-sheet__name {
  font-size: 1.125rem;
  font-weight: 600;
  color: hsl(var(--foreground));
}

/* line 183, app/assets/stylesheets/pages/map/_hippodrome_sheet.scss */
.hippodrome-sheet__count {
  font-size: 0.75rem;
  color: hsl(var(--muted-foreground));
}

@media (max-width: 640px) {
  /* line 198, app/assets/stylesheets/pages/map/_hippodrome_sheet.scss */
  .hippodrome-sheet__cover {
    aspect-ratio: auto;
    height: 7rem;
  }
  /* line 207, app/assets/stylesheets/pages/map/_hippodrome_sheet.scss */
  .hippodrome-sheet__cover:after {
    background: linear-gradient(to top, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0) 75%);
  }
  /* line 216, app/assets/stylesheets/pages/map/_hippodrome_sheet.scss */
  .hippodrome-sheet__identity {
    position: absolute;
    inset: auto 0 0 0;
    padding: 0 1rem 0.625rem;
  }
  /* line 227, app/assets/stylesheets/pages/map/_hippodrome_sheet.scss */
  .hippodrome-sheet__name {
    color: #fff;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
  }
  /* line 232, app/assets/stylesheets/pages/map/_hippodrome_sheet.scss */
  .hippodrome-sheet__count {
    color: rgba(255, 255, 255, 0.85);
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
  }
}

/* line 239, app/assets/stylesheets/pages/map/_hippodrome_sheet.scss */
.hippodrome-sheet__body {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  scrollbar-width: none;
  padding: 0 0 1.25rem;
}

/* line 247, app/assets/stylesheets/pages/map/_hippodrome_sheet.scss */
.hippodrome-sheet__empty,
.hippodrome-sheet__no-races {
  padding: 1.25rem;
  font-size: 0.875rem;
  color: hsl(var(--muted-foreground));
}

/* line 254, app/assets/stylesheets/pages/map/_hippodrome_sheet.scss */
[data-shadcn--accordion-target='content'] {
  transition: height 200ms ease;
}

/* line 262, app/assets/stylesheets/pages/map/_hippodrome_sheet.scss */
.meeting-item {
  border-bottom: 1px solid hsl(var(--border));
}

/* line 265, app/assets/stylesheets/pages/map/_hippodrome_sheet.scss */
.meeting-item:last-child {
  border-bottom: none;
}

/* line 269, app/assets/stylesheets/pages/map/_hippodrome_sheet.scss */
.meeting-item [data-shadcn--accordion-target='trigger'] {
  padding: 0.875rem 1.25rem;
  text-decoration: none;
}

/* line 273, app/assets/stylesheets/pages/map/_hippodrome_sheet.scss */
.meeting-item [data-shadcn--accordion-target='trigger']:hover {
  text-decoration: none;
}

/* line 280, app/assets/stylesheets/pages/map/_hippodrome_sheet.scss */
.meeting-item [data-shadcn--accordion-target='trigger'][data-state='open'] {
  background-color: hsl(var(--accent));
  color: hsl(var(--accent-foreground));
}

/* line 286, app/assets/stylesheets/pages/map/_hippodrome_sheet.scss */
.meeting-item__label {
  display: flex;
  flex-direction: column;
  min-width: 0;
  text-align: left;
}

/* line 293, app/assets/stylesheets/pages/map/_hippodrome_sheet.scss */
.race-item {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  width: 100%;
  padding: 0.375rem 0.5rem;
  border-radius: 0.5rem;
  text-align: left;
  color: hsl(var(--foreground));
  transition: background-color 0.15s ease;
}

/* line 304, app/assets/stylesheets/pages/map/_hippodrome_sheet.scss */
.race-item:hover {
  background-color: hsl(var(--accent));
}

/* line 308, app/assets/stylesheets/pages/map/_hippodrome_sheet.scss */
.race-item.-active {
  background-color: hsl(var(--accent));
  font-weight: 500;
}

/* line 313, app/assets/stylesheets/pages/map/_hippodrome_sheet.scss */
.race-item--disabled {
  color: hsl(var(--muted-foreground));
}

/* line 317, app/assets/stylesheets/pages/map/_hippodrome_sheet.scss */
.race-item__thumb {
  position: relative;
  flex-shrink: 0;
  width: 3rem;
  height: 2rem;
  border-radius: 0.375rem;
  overflow: hidden;
  background-color: hsl(var(--muted));
  display: flex;
  align-items: center;
  justify-content: center;
}

/* line 329, app/assets/stylesheets/pages/map/_hippodrome_sheet.scss */
.race-item__thumb img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* line 338, app/assets/stylesheets/pages/map/_hippodrome_sheet.scss */
.race-item__play {
  position: relative;
  width: 1rem;
  height: 1rem;
  color: #fff;
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.6));
}

/* line 346, app/assets/stylesheets/pages/map/_hippodrome_sheet.scss */
.race-item__title {
  min-width: 0;
  font-size: 0.8125rem;
}

/* line 8, app/assets/stylesheets/pages/map/_markers_popup.scss */
.mapboxgl-popup.hippodrome-popup {
  width: 320px !important;
}

/* line 11, app/assets/stylesheets/pages/map/_markers_popup.scss */
.mapboxgl-popup.hippodrome-popup .mapboxgl-popup-content {
  background-color: hsl(var(--card));
  color: hsl(var(--card-foreground));
  border-radius: 1.25rem;
  overflow: hidden;
  padding: 0;
  box-shadow: 0 20px 50px -12px rgba(0, 0, 0, 0.45);
}

/* line 20, app/assets/stylesheets/pages/map/_markers_popup.scss */
.mapboxgl-popup.hippodrome-popup .hippodrome-sheet__body {
  display: none;
}

/* line 24, app/assets/stylesheets/pages/map/_markers_popup.scss */
.mapboxgl-popup.hippodrome-popup.mapboxgl-popup-anchor-bottom .mapboxgl-popup-tip {
  border-top-color: hsl(var(--card));
}

/* line 27, app/assets/stylesheets/pages/map/_markers_popup.scss */
.mapboxgl-popup.hippodrome-popup.mapboxgl-popup-anchor-top .mapboxgl-popup-tip {
  border-bottom-color: hsl(var(--card));
}

/* line 30, app/assets/stylesheets/pages/map/_markers_popup.scss */
.mapboxgl-popup.hippodrome-popup.mapboxgl-popup-anchor-left .mapboxgl-popup-tip {
  border-right-color: hsl(var(--card));
}

/* line 33, app/assets/stylesheets/pages/map/_markers_popup.scss */
.mapboxgl-popup.hippodrome-popup.mapboxgl-popup-anchor-right .mapboxgl-popup-tip {
  border-left-color: hsl(var(--card));
}

@media (max-width: 640px) {
  /* line 8, app/assets/stylesheets/pages/map/_markers_popup.scss */
  .mapboxgl-popup.hippodrome-popup {
    display: none;
  }
}

/* line 9, app/assets/stylesheets/pages/map/_dialogs_shared.scss */
[data-shadcn--dialog-target='overlay'] {
  opacity: 0;
  background-color: rgba(0, 0, 0, 0.8) !important;
  backdrop-filter: blur(10px) !important;
  transition: opacity 0.2s ease-in;
}

/* line 14, app/assets/stylesheets/pages/map/_dialogs_shared.scss */
[data-shadcn--dialog-target='overlay'][data-state='open'] {
  opacity: 1;
  transition: opacity 0.2s ease-out;
}

/* line 20, app/assets/stylesheets/pages/map/_dialogs_shared.scss */
[data-shadcn--dialog-target='content'] {
  opacity: 0;
  transform: translate(-50%, -50%) scale(0.95);
  border-radius: 1.25rem !important;
  transition: opacity 0.2s ease-in, transform 0.2s ease-in;
}

/* line 29, app/assets/stylesheets/pages/map/_dialogs_shared.scss */
[data-shadcn--dialog-target='content'][data-state='open'] {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
  transition: opacity 0.2s ease-out, transform 0.2s ease-out;
}

/* line 39, app/assets/stylesheets/pages/map/_dialogs_shared.scss */
.ad-popup-dialog__panel {
  width: calc(100% - 2rem) !important;
}

/* line 43, app/assets/stylesheets/pages/map/_dialogs_shared.scss */
.newsletter-dialog__panel[data-shadcn--dialog-target='content'] {
  opacity: 0;
  transform: translate(-50%, calc(-50% + 0.5rem)) scale(0.97);
  transition: opacity 0.15s ease-in, transform 0.15s ease-in;
}

/* line 50, app/assets/stylesheets/pages/map/_dialogs_shared.scss */
.newsletter-dialog__panel[data-shadcn--dialog-target='content'][data-state='open'] {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
  transition: opacity 0.28s cubic-bezier(0.16, 1, 0.3, 1), transform 0.28s cubic-bezier(0.16, 1, 0.3, 1);
}

/* line 10, app/assets/stylesheets/pages/map/_race_modal.scss */
.race-modal__panel {
  width: 100vw !important;
  max-width: 100vw !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  display: flex !important;
  flex-direction: column;
  gap: 0 !important;
  background: transparent !important;
  color: #fff;
  box-shadow: none !important;
}

/* line 27, app/assets/stylesheets/pages/map/_race_modal.scss */
.race-modal__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 1rem 0;
  width: 100%;
  max-width: 70vw;
  margin: 0 auto;
}

/* line 48, app/assets/stylesheets/pages/map/_race_modal.scss */
.race-modal__hippodrome {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  min-width: 0;
  background: none;
  border: none;
  padding: 0;
  text-align: left;
  cursor: pointer;
}

/* line 59, app/assets/stylesheets/pages/map/_race_modal.scss */
.race-modal__hippodrome:hover .race-modal__hippodrome-name {
  text-decoration: underline;
}

/* line 64, app/assets/stylesheets/pages/map/_race_modal.scss */
.race-modal__avatar {
  flex-shrink: 0;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 9999px;
  overflow: hidden;
  background-color: #222;
}

/* line 72, app/assets/stylesheets/pages/map/_race_modal.scss */
.race-modal__avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* line 79, app/assets/stylesheets/pages/map/_race_modal.scss */
.race-modal__hippodrome-meta {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

/* line 90, app/assets/stylesheets/pages/map/_race_modal.scss */
.race-modal__hippodrome-name {
  font-size: 0.9375rem;
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  color: #fff;
}

/* line 99, app/assets/stylesheets/pages/map/_race_modal.scss */
.race-modal__hippodrome-sub {
  font-size: 0.75rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  color: rgba(255, 255, 255, 0.7);
}

/* line 107, app/assets/stylesheets/pages/map/_race_modal.scss */
.race-modal__nav {
  color: hsl(var(--text-foreground));
}

/* line 110, app/assets/stylesheets/pages/map/_race_modal.scss */
.race-modal__nav:hover {
  background-color: hsl(var(--muted));
  color: hsl(var(--text-foreground));
}

/* line 116, app/assets/stylesheets/pages/map/_race_modal.scss */
.race-modal__slider {
  position: relative;
}

/* line 120, app/assets/stylesheets/pages/map/_race_modal.scss */
.race-modal__carousel {
  width: 100%;
}

/* line 123, app/assets/stylesheets/pages/map/_race_modal.scss */
.race-modal__carousel [data-shadcn--carousel-target='content'] {
  margin-left: 0;
}

/* line 127, app/assets/stylesheets/pages/map/_race_modal.scss */
.race-modal__carousel [data-shadcn--carousel-target='item'] {
  padding-left: 0;
}

/* line 134, app/assets/stylesheets/pages/map/_race_modal.scss */
.race-modal__carousel [data-shadcn--carousel-target='viewport'] {
  cursor: grab;
}

/* line 137, app/assets/stylesheets/pages/map/_race_modal.scss */
.race-modal__carousel .-dragging[data-shadcn--carousel-target='viewport'] {
  cursor: grabbing;
}

/* line 143, app/assets/stylesheets/pages/map/_race_modal.scss */
.race-modal__slide {
  position: relative;
  margin: 0 auto;
  aspect-ratio: 16 / 9;
  max-height: calc(100vh - 9rem);
  max-width: 70vw;
  border-radius: 1rem;
  overflow: hidden;
  background-color: #111;
  cursor: pointer;
  opacity: 0.45;
  transform: scale(0.8);
  transition: opacity 0.25s ease, transform 0.25s ease;
}

/* line 159, app/assets/stylesheets/pages/map/_race_modal.scss */
.race-modal__slide.-playing {
  opacity: 1;
  transform: scale(1);
  cursor: default;
}

/* line 165, app/assets/stylesheets/pages/map/_race_modal.scss */
.race-modal__slide img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* line 173, app/assets/stylesheets/pages/map/_race_modal.scss */
.race-modal__slide iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: none;
}

/* line 181, app/assets/stylesheets/pages/map/_race_modal.scss */
.race-modal__slide.-playing .race-modal__play, .race-modal__slide.-playing .race-modal__slide-image {
  opacity: 0;
  pointer-events: none;
}

/* line 188, app/assets/stylesheets/pages/map/_race_modal.scss */
.race-modal__play {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 3rem;
  height: 3rem;
  padding: 0.75rem;
  border-radius: 9999px;
  background-color: rgba(0, 0, 0, 0.45);
  color: #fff;
  backdrop-filter: blur(4px);
  transition: opacity 0.15s ease;
}

/* line 203, app/assets/stylesheets/pages/map/_race_modal.scss */
.race-modal__slide-title {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 1.5rem 0.75rem 0.5rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: #fff;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.7), transparent);
}

/* line 223, app/assets/stylesheets/pages/map/_race_modal.scss */
.race-modal__controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  padding-top: 0.75rem;
}

/* line 231, app/assets/stylesheets/pages/map/_race_modal.scss */
.race-modal__nav {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 9999px;
  background-color: transparent;
  color: rgba(255, 255, 255, 0.7);
  transition: background-color 0.15s ease, color 0.15s ease;
}

/* line 246, app/assets/stylesheets/pages/map/_race_modal.scss */
.race-modal__nav:hover {
  background-color: rgba(255, 255, 255, 0.1);
  color: #fff;
}

/* line 252, app/assets/stylesheets/pages/map/_race_modal.scss */
.race-modal__pagination {
  min-width: 3rem;
  text-align: center;
  font-size: 0.8125rem;
  font-variant-numeric: tabular-nums;
  color: rgba(255, 255, 255, 0.7);
}

@media (min-width: 768px) {
  /* line 270, app/assets/stylesheets/pages/map/_race_modal.scss */
  .race-modal__close {
    position: relative !important;
    right: auto !important;
    top: auto !important;
    width: 2.25rem !important;
    height: 2.25rem !important;
    background-color: transparent !important;
    color: rgba(255, 255, 255, 0.7) !important;
  }
  /* line 279, app/assets/stylesheets/pages/map/_race_modal.scss */
  .race-modal__close:hover {
    background-color: rgba(255, 255, 255, 0.1) !important;
    color: #fff !important;
  }
}

/* line 17, app/assets/stylesheets/pages/map/_sheet_handle.scss */
.sheet-handle-area {
  position: sticky;
  top: 0;
  touch-action: none;
  user-select: none;
}

/* line 24, app/assets/stylesheets/pages/map/_sheet_handle.scss */
.sheet-handle {
  position: sticky;
  top: 0;
  display: none;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
  width: 100%;
  height: 30px;
  background-color: hsl(var(--card));
  touch-action: none;
  cursor: grab;
  z-index: 2;
}

/* line 38, app/assets/stylesheets/pages/map/_sheet_handle.scss */
.sheet-handle__bar {
  width: 2.25rem;
  height: 0.25rem;
  border-radius: 9999px;
  align-self: center;
  background-color: hsl(var(--border));
}

/* line 54, app/assets/stylesheets/pages/map/_sheet_handle.scss */
.mobile-sheet-backdrop {
  display: none;
}

@media (max-width: 767px) {
  /* line 40, app/assets/stylesheets/pages/map/_mobile.scss */
  .page:has(.map-page) .page-wrapper {
    padding: 0;
  }
  /* line 44, app/assets/stylesheets/pages/map/_mobile.scss */
  #hippodrome-map.map-page__map {
    border-radius: 0;
  }
  /* line 48, app/assets/stylesheets/pages/map/_mobile.scss */
  .dock-panel,
[data-shadcn--sidebar-target='inner'],
[data-shadcn--sheet-target='content'],
[data-shadcn--dialog-target='content']:not(.ad-popup-dialog__panel) {
    border-color: hsl(var(--border)) !important;
    border-width: 1px 0 0 !important;
    border-radius: 1.25rem 1.25rem 0 0 !important;
  }
  /* line 59, app/assets/stylesheets/pages/map/_mobile.scss */
  .hippodrome-sidebar__trigger {
    display: none !important;
  }
  /* line 66, app/assets/stylesheets/pages/map/_mobile.scss */
  .dock {
    left: 0 !important;
    right: 0 !important;
    bottom: 0;
    transform: none !important;
  }
  /* line 76, app/assets/stylesheets/pages/map/_mobile.scss */
  .dock-nav__pill {
    box-shadow: 0 20px 50px -12px rgba(0, 0, 0, 0.45);
  }
  /* line 80, app/assets/stylesheets/pages/map/_mobile.scss */
  .dock-menu {
    width: 100%;
    height: calc(4rem + env(safe-area-inset-bottom, 0px));
    padding-bottom: env(safe-area-inset-bottom, 0px);
    border-top: none;
    align-items: stretch !important;
    padding: 0 !important;
    border-radius: 0;
  }
  /* line 107, app/assets/stylesheets/pages/map/_mobile.scss */
  .dock-menu::before, .dock-menu::after {
    content: none;
  }
  /* line 121, app/assets/stylesheets/pages/map/_mobile.scss */
  .dock-menu > * {
    flex: 1 1 0 !important;
    min-width: 0 !important;
  }
  /* line 135, app/assets/stylesheets/pages/map/_mobile.scss */
  .dock-menu .dock-menu__button {
    flex-direction: column;
    justify-content: center;
    gap: 0.125rem;
    width: 100% !important;
    height: 100% !important;
    border-radius: 0 !important;
    background-color: transparent !important;
    position: relative;
  }
  /* line 152, app/assets/stylesheets/pages/map/_mobile.scss */
  .dock-menu .dock-menu__button[aria-pressed='true'] {
    color: hsl(var(--brand)) !important;
  }
  /* line 155, app/assets/stylesheets/pages/map/_mobile.scss */
  .dock-menu .dock-menu__button[aria-pressed='true']::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 1.5rem;
    height: 0.1875rem;
    border-radius: 0 0 9999px 9999px;
    background-color: hsl(var(--brand));
  }
  /* line 175, app/assets/stylesheets/pages/map/_mobile.scss */
  .dock-nav .dock-view-button {
    font-size: 0.6875rem !important;
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
  /* line 181, app/assets/stylesheets/pages/map/_mobile.scss */
  .dock-menu__label {
    display: block;
    font-size: 0.625rem;
    line-height: 1;
    max-width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  /* line 206, app/assets/stylesheets/pages/map/_mobile.scss */
  .dock-stack {
    position: fixed !important;
    inset: auto 0 calc(4rem + env(safe-area-inset-bottom, 0px)) 0 !important;
    width: 100% !important;
    height: auto !important;
    gap: 0 !important;
  }
  /* line 243, app/assets/stylesheets/pages/map/_mobile.scss */
  .dock-stack > a,
.dock-stack > .ad-banner-slider {
    width: calc(100% - 2rem);
    max-height: 220px;
    margin: 0 1rem 4.25rem 1rem;
    overflow: hidden;
    transition: max-height 0.2s ease-out 0.2s, margin-bottom 0.2s ease-out 0.2s;
  }
  /* line 275, app/assets/stylesheets/pages/map/_mobile.scss */
  .hippodrome-sidebar {
    display: flex !important;
    flex-direction: column !important;
    position: fixed !important;
    inset: auto 0 calc(4rem + env(safe-area-inset-bottom, 0px)) 0 !important;
    width: 100% !important;
    z-index: 55 !important;
    height: auto !important;
    max-height: calc(100dvh - calc(4rem + env(safe-area-inset-bottom, 0px)) - 6rem) !important;
  }
  /* line 306, app/assets/stylesheets/pages/map/_mobile.scss */
  .hippodrome-sidebar.is-hidden {
    transform: translateY(100%);
    transition: opacity 0.2s ease-in, transform 0.2s ease-in;
  }
  /* line 313, app/assets/stylesheets/pages/map/_mobile.scss */
  .hippodrome-sidebar:not(.is-hidden) {
    transform: translateY(0);
    transition: opacity 0.2s ease-out, transform 0.2s ease-out;
  }
  /* line 320, app/assets/stylesheets/pages/map/_mobile.scss */
  .hippodrome-sidebar [data-sidebar='header'] {
    padding-top: 0 !important;
  }
  /* line 324, app/assets/stylesheets/pages/map/_mobile.scss */
  .hippodrome-sidebar [data-shadcn--sidebar-target='inner'] {
    border-radius: 1.25rem 1.25rem 0 0;
    flex: 1 1 auto;
    min-height: 0;
  }
  /* line 345, app/assets/stylesheets/pages/map/_mobile.scss */
  .dock-panel {
    position: fixed !important;
    inset: auto 0 calc(4rem + env(safe-area-inset-bottom, 0px)) 0 !important;
    width: 100% !important;
    max-height: calc(100dvh - calc(4rem + env(safe-area-inset-bottom, 0px)) - 6rem);
    border-radius: 1.25rem 1.25rem 0 0;
    transform: translateY(100%);
    transition: opacity 0.2s ease-in, transform 0.2s ease-in, max-height 0s linear 0.2s;
  }
  /* line 373, app/assets/stylesheets/pages/map/_mobile.scss */
  .dock-panel[data-state='open'] {
    transform: translateY(0);
    transition: opacity 0.2s ease-out, transform 0.2s ease-out, max-height 0s linear 0s;
  }
  /* line 381, app/assets/stylesheets/pages/map/_mobile.scss */
  .dock-panel[data-state='closed'] {
    max-height: 0;
  }
  /* line 386, app/assets/stylesheets/pages/map/_mobile.scss */
  .hippodrome-sheet__body {
    padding-bottom: 3.25rem;
  }
  /* line 390, app/assets/stylesheets/pages/map/_mobile.scss */
  .hippodrome-sheet__panel > button[aria-label='Close'] {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    top: 20px;
    position: relative;
  }
  /* line 39, app/assets/stylesheets/pages/map/_mixins.scss */
  .hippodrome-sheet__panel > button[aria-label='Close']::before {
    content: '';
    position: absolute;
    top: 0;
    left: calc(-1rem + 1px);
    width: 1rem;
    height: 1rem;
    background: radial-gradient(circle at bottom left, transparent 1rem, hsl(var(--card)) 0);
  }
  /* line 42, app/assets/stylesheets/pages/map/_mixins.scss */
  .hippodrome-sheet__panel > button[aria-label='Close']::after {
    content: '';
    position: absolute;
    top: 0;
    right: calc(-1rem + 1px);
    width: 1rem;
    height: 1rem;
    background: radial-gradient(circle at bottom right, transparent 1rem, hsl(var(--card)) 0);
  }
  /* line 396, app/assets/stylesheets/pages/map/_mobile.scss */
  .hippodrome-sheet__panel > button[aria-label='Close']::before, .hippodrome-sheet__panel > button[aria-label='Close']::after {
    top: 10px;
  }
  /* line 406, app/assets/stylesheets/pages/map/_mobile.scss */
  .install-pwa-sheet__panel > button[aria-label='Close'],
.newsletter-dialog__panel > button[aria-label='Close'],
.sheet-handle__close,
.race-modal__close {
    display: none;
  }
  /* line 413, app/assets/stylesheets/pages/map/_mobile.scss */
  .race-modal__panel {
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: none !important;
    top: auto !important;
    bottom: 0 !important;
    max-height: calc(100dvh - 6rem);
    overflow-y: auto;
    border-radius: 1.25rem 1.25rem 0 0 !important;
    border: 1px solid hsl(var(--border)) !important;
    background-color: hsl(var(--card)) !important;
    color: hsl(var(--card-foreground));
    transform: translateY(100%) !important;
  }
  /* line 428, app/assets/stylesheets/pages/map/_mobile.scss */
  .race-modal__panel[data-state='open'] {
    transform: translateY(0) !important;
  }
  /* line 435, app/assets/stylesheets/pages/map/_mobile.scss */
  [data-shadcn--dialog-target='content']:not(.ad-popup-dialog__panel),
.install-pwa-sheet__panel:not(.ad-popup-dialog__panel) {
    padding: 0 1rem 1rem !important;
  }
  /* line 440, app/assets/stylesheets/pages/map/_mobile.scss */
  .newsletter-dialog__panel {
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: none !important;
    top: auto !important;
    bottom: 0 !important;
    max-height: calc(100dvh - 6rem);
    overflow-y: auto;
    border-radius: 1.25rem 1.25rem 0 0 !important;
    transform: translateY(100%) !important;
  }
  /* line 458, app/assets/stylesheets/pages/map/_mobile.scss */
  .newsletter-dialog__panel[data-state='open'] {
    transform: translateY(0) !important;
  }
  /* line 463, app/assets/stylesheets/pages/map/_mobile.scss */
  .race-modal__slide,
.race-modal__header {
    max-width: 100%;
  }
  /* line 468, app/assets/stylesheets/pages/map/_mobile.scss */
  .race-modal__header {
    padding: 0rem 0 0.75rem;
    max-width: 100% !important;
    margin: 0 !important;
  }
  /* line 478, app/assets/stylesheets/pages/map/_mobile.scss */
  .race-modal__hippodrome-name {
    color: hsl(var(--foreground));
  }
  /* line 482, app/assets/stylesheets/pages/map/_mobile.scss */
  .race-modal__hippodrome-sub {
    color: hsl(var(--muted-foreground));
  }
  /* line 486, app/assets/stylesheets/pages/map/_mobile.scss */
  .race-modal__nav {
    color: hsl(var(--muted-foreground));
  }
  /* line 489, app/assets/stylesheets/pages/map/_mobile.scss */
  .race-modal__nav:hover {
    background-color: hsl(var(--muted));
    color: hsl(var(--foreground));
  }
  /* line 495, app/assets/stylesheets/pages/map/_mobile.scss */
  .race-modal__pagination {
    color: hsl(var(--muted-foreground));
  }
  /* line 499, app/assets/stylesheets/pages/map/_mobile.scss */
  .race-modal__controls {
    justify-content: space-between;
  }
  /* line 504, app/assets/stylesheets/pages/map/_mobile.scss */
  .sheet-handle {
    display: flex;
  }
  /* line 508, app/assets/stylesheets/pages/map/_mobile.scss */
  .mobile-sheet-backdrop {
    display: block;
    position: fixed;
    inset: 0;
    z-index: 15;
    background-color: rgba(0, 0, 0, 0.8) ;
    backdrop-filter: blur(10px) ;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s ease-in;
  }
  /* line 523, app/assets/stylesheets/pages/map/_mobile.scss */
  body:has(.dock-panel[data-state='open']) .mobile-sheet-backdrop,
body:has(.hippodrome-sidebar:not(.is-hidden)) .mobile-sheet-backdrop,
body:has(.shadcn-sheet-portal) .mobile-sheet-backdrop {
    opacity: 1;
    pointer-events: auto;
    transition: opacity 0.2s ease-out;
  }
  /* line 532, app/assets/stylesheets/pages/map/_mobile.scss */
  body:has(.dock-panel[data-state='open']) .header-logo .theme-logo--light,
body:has(.hippodrome-sidebar:not(.is-hidden)) .header-logo .theme-logo--light,
body:has(.shadcn-sheet-portal) .header-logo .theme-logo--light {
    display: none;
  }
  /* line 536, app/assets/stylesheets/pages/map/_mobile.scss */
  body:has(.dock-panel[data-state='open']) .header-logo .theme-logo--dark,
body:has(.hippodrome-sidebar:not(.is-hidden)) .header-logo .theme-logo--dark,
body:has(.shadcn-sheet-portal) .header-logo .theme-logo--dark {
    display: inline-block;
  }
  /* line 551, app/assets/stylesheets/pages/map/_mobile.scss */
  body:has(.dock-panel[data-state='open']) .dock-stack > a,
body:has(.dock-panel[data-state='open']) .ad-banner-slider,
body:has(.hippodrome-sidebar:not(.is-hidden)) .dock-stack > a,
body:has(.hippodrome-sidebar:not(.is-hidden)) .ad-banner-slider,
body:has(.shadcn-sheet-portal) .dock-stack > a,
body:has(.shadcn-sheet-portal) .ad-banner-slider {
    max-height: 0;
    margin-bottom: 0;
    transition: max-height 0.2s ease-in, margin-bottom 0.2s ease-in;
  }
  /* line 582, app/assets/stylesheets/pages/map/_mobile.scss */
  .theme-toggle-group {
    top: 0.5rem !important;
    right: 0.5rem !important;
    z-index: 1 !important;
    flex-direction: column;
    padding: 0.25rem !important;
    border-radius: 9999px !important;
    box-shadow: 0 20px 50px -12px rgba(0, 0, 0, 0.45);
  }
  /* line 601, app/assets/stylesheets/pages/map/_mobile.scss */
  .theme-toggle-group::before, .theme-toggle-group::after {
    content: none;
  }
  /* line 619, app/assets/stylesheets/pages/map/_mobile.scss */
  .header {
    z-index: 60 !important;
  }
  /* line 629, app/assets/stylesheets/pages/map/_mobile.scss */
  #banner {
    z-index: 60 !important;
  }
  /* line 647, app/assets/stylesheets/pages/map/_mobile.scss */
  .header-logo {
    top: 0.5em;
    padding: 0;
    background: transparent;
  }
  /* line 652, app/assets/stylesheets/pages/map/_mobile.scss */
  .header-logo::before, .header-logo::after {
    content: none;
  }
  /* line 658, app/assets/stylesheets/pages/map/_mobile.scss */
  .dock-panel__header {
    padding: 0 1rem 0.75rem;
  }
}

/* line 14, app/assets/stylesheets/pages/map/_not_found.scss */
.map-page[data-not-found] .hippodrome-sidebar,
.map-page[data-not-found] .dock-panels-stack {
  display: none;
}

/* line 24, app/assets/stylesheets/pages/map/_not_found.scss */
.not-found-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.625rem 1.5rem;
  border-radius: 9999px;
  font-size: 0.875rem;
  font-weight: 600;
  white-space: nowrap;
  transition: background-color 0.15s ease;
  background-color: hsl(var(--brand));
  color: #0a0a0a;
}

/* line 87, app/assets/stylesheets/pages/map/_mixins.scss */
.not-found-cta:hover {
  background-color: #e5a24e;
}

/* line 39, app/assets/stylesheets/pages/map/_not_found.scss */
.hippodrome-marker--not-found .hippodrome-marker__visual {
  display: flex;
  align-items: center;
  justify-content: center;
  background: hsl(var(--card));
  border-color: hsl(var(--brand));
  color: hsl(var(--brand));
  animation: not-found-pulse 2.4s ease-in-out infinite;
}

@media (prefers-reduced-motion: reduce) {
  /* line 39, app/assets/stylesheets/pages/map/_not_found.scss */
  .hippodrome-marker--not-found .hippodrome-marker__visual {
    animation: none;
  }
}

@keyframes not-found-pulse {
  0%,
100% {
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.3), 0 0 0 0 hsl(var(--brand) / 45%);
  }
  50% {
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.3), 0 0 0 10px hsl(var(--brand) / 0%);
  }
}

/* line 80, app/assets/stylesheets/pages/map/_not_found.scss */
.mapboxgl-popup.not-found-marker-popup {
  width: min(320px, calc(100vw - 2rem)) !important;
}

@media (max-width: 640px) {
  /* line 88, app/assets/stylesheets/pages/map/_not_found.scss */
  .mapboxgl-popup.hippodrome-popup.not-found-marker-popup {
    display: block;
  }
}

/* line 93, app/assets/stylesheets/pages/map/_not_found.scss */
.not-found-popup {
  padding: 1.5rem;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

/* line 100, app/assets/stylesheets/pages/map/_not_found.scss */
.not-found-popup__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.625rem 1.5rem;
  border-radius: 9999px;
  font-size: 0.875rem;
  font-weight: 600;
  white-space: nowrap;
  transition: background-color 0.15s ease;
  background-color: hsl(var(--brand));
  color: #0a0a0a;
}

/* line 87, app/assets/stylesheets/pages/map/_mixins.scss */
.not-found-popup__cta:hover {
  background-color: #e5a24e;
}

@media (max-width: 767px) {
  /* line 116, app/assets/stylesheets/pages/map/_not_found.scss */
  .map-page[data-not-found] .dock {
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
  }
  /* line 122, app/assets/stylesheets/pages/map/_not_found.scss */
  .map-page[data-not-found] .dock-menu {
    width: auto !important;
    height: auto !important;
    align-items: center !important;
    border-radius: 2rem 2rem 0 0 !important;
    padding: 0.5rem 0.5rem 0 !important;
    position: relative;
  }
  /* line 39, app/assets/stylesheets/pages/map/_mixins.scss */
  .map-page[data-not-found] .dock-menu::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: calc(-2rem + 1px);
    width: 2rem;
    height: 2rem;
    background: radial-gradient(circle at top left, transparent 2rem, hsl(var(--card)) 0);
  }
  /* line 42, app/assets/stylesheets/pages/map/_mixins.scss */
  .map-page[data-not-found] .dock-menu::after {
    content: '';
    position: absolute;
    bottom: 0;
    right: calc(-2rem + 1px);
    width: 2rem;
    height: 2rem;
    background: radial-gradient(circle at top right, transparent 2rem, hsl(var(--card)) 0);
  }
  /* line 130, app/assets/stylesheets/pages/map/_not_found.scss */
  .map-page[data-not-found] .dock-menu > * {
    flex: 0 0 auto !important;
  }
  /* line 140, app/assets/stylesheets/pages/map/_not_found.scss */
  .page:has(.map-page[data-not-found]) .page-wrapper {
    padding-bottom: 1rem;
  }
}

@media (max-width: 767px) {
  /* line 25, app/assets/stylesheets/application.scss */
  [data-shadcn--tooltip-target="content"] {
    display: none !important;
  }
}

/* line 33, app/assets/stylesheets/application.scss */
[data-shadcn--avatar-target="image"] {
  object-fit: cover;
}
