:root {
  --rb-brand-main: #285aa7;
  --rb-brand-main-rgb: 40, 90, 167;
  --rb-brand-main-2: #2a499a;
  --rb-brand-main-2-rgb: 42, 73, 154;
  --rb-brand-sub-1: #1e90ff;
  --rb-brand-sub-1-rgb: 30, 144, 255;
  --rb-brand-sub-2: #789ed3;
  --rb-brand-sub-2-rgb: 120, 158, 211;
  --rb-brand-black: #000000;
  --rb-brand-black-rgb: 0, 0, 0;
  --rb-brand-tan: #f4efe1;
  --rb-brand-tan-rgb: 244, 239, 225;
  --rb-brand-white: #ffffff;
  --rb-brand-white-rgb: 255, 255, 255;
  --rb-font-display: "Fraunces", Georgia, "Times New Roman", serif;
  --rb-font-ui: "Poppins", Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --line: rgba(120, 158, 211, .22);
  --cream: #f4efe1;
  --accent: #1e90ff;
  --shadow: 0 18px 42px rgba(0, 0, 0, .34);
  --shadow-soft: 0 10px 24px rgba(0, 0, 0, .24);
  --content-width: 520px;
  --gap: 12px;
  color-scheme: dark;
}
html {
  min-height: 100%;
  background: #000000;
}
body {
  min-height: 100dvh;
  margin: 0;
  overflow-x: hidden;
  font-family: var(--rb-font-ui);
  color: var(--cream);
  background: transparent;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body.modal-open {
  overflow: hidden;
}
body.modal-open,
.modal,
.modal-backdrop,
.day-picker-modal,
.donate-modal,
.install-modal,
.rb-map-picker-modal,
.hero-info-panel {
  overscroll-behavior: contain;
}
button,
a {
  -webkit-tap-highlight-color: transparent;
}
button {
  font: inherit;
}
a {
  color: inherit;
}
.bean-photo-bg {
  position: fixed;
  inset: 0;
  z-index: 0;
  background: var(--rb-app-background-image) center top / cover no-repeat;
}
.bean-photo-bg:after {
  content: none;
}
.app-shell {
  position: relative;
  z-index: 2;
  width: min(calc(100% - 22px), var(--content-width));
  margin: 0 auto;
  padding: calc(12px + env(safe-area-inset-top)) 0 calc(26px + env(safe-area-inset-bottom));
}
.hidden {
  display: none !important;
}
.glass,
.hero-card,
.stop-card,
.notice,
.donate-modal {
  background:
    radial-gradient(
      circle at 50% 0%,
      rgba(30, 144, 255, .1),
      transparent 13rem),
    linear-gradient(
      145deg,
      #2a499ac7,
      #000000bd);
  border: 1px solid var(--line);
  box-shadow: var(--shadow-soft), inset 0 1px #ffffff0f;
  backdrop-filter: blur(16px);
}
.hero-card {
  position: relative;
  isolation: isolate;
  min-height: auto;
  padding: 18px 14px 17px;
  text-align: center;
  margin-bottom: 12px;
}
.inline-brand-logo {
  position: relative;
  width: min(100%, 340px);
  margin: 0 auto 14px;
  padding: 13px 16px 12px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 7px;
  text-align: center;
  border-radius: 24px;
  overflow: hidden;
  background:
    radial-gradient(
      circle at 50% 75%,
      rgba(30, 144, 255, .16),
      transparent 9rem),
    linear-gradient(
      145deg,
      #f4efe11f,
      #f4efe109);
  border: 1px solid rgba(244, 239, 225, .22);
  box-shadow: inset 0 1px #ffffff14, 0 13px 26px #0000002e;
}
.inline-brand-logo:after {
  content: "";
  position: absolute;
  left: 20px;
  right: 20px;
  bottom: 12px;
  height: 44px;
  border-radius: 50%;
  background:
    radial-gradient(
      circle,
      rgba(30, 144, 255, .12),
      transparent 70%);
  filter: blur(8px);
  z-index: 0;
}
.hero-card h1 {
  margin: 0 auto 14px;
  max-width: 410px;
  font-size: clamp(2.18rem, 11.8vw, 3.65rem);
  line-height: .94;
  letter-spacing: -.058em;
  color: var(--cream);
  text-shadow: 0 16px 32px rgba(0, 0, 0, .26);
}
.hero-card h1 span {
  display: inline-block;
  color: var(--accent);
  background:
    linear-gradient(
      92deg,
      #f4efe1,
      #1e90ff 44%,
      #285aa7);
  color: transparent;
}
.hero-actions {
  width: 100%;
  max-width: 430px;
  margin: 0 auto;
  display: grid;
  gap: 9px;
}
.btn {
  appearance: none;
  border: 0;
  min-height: 56px;
  padding: 0 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  cursor: pointer;
  font-weight: 900;
  font-size: .99rem;
  line-height: 1;
  color: var(--cream);
  background: #f4efe117;
  border: 1px solid rgba(244, 239, 225, .2);
  box-shadow: 0 9px 18px #0000002e, inset 0 1px #ffffff14;
  transition:
    transform .16s ease,
    filter .16s ease,
    opacity .16s ease;
}
.btn:active {
  transform: translateY(1px) scale(.99);
}
.btn:disabled {
  opacity: .55;
  cursor: not-allowed;
}
.btn-primary {
  color: #2f160b;
  border-color: #ffe7b385;
  background:
    linear-gradient(
      135deg,
      #789ed3,
      #1e90ff 48%,
      #285aa7);
  box-shadow: 0 14px 26px #285aa738, inset 0 1px #ffffff61;
}
.btn-map-all {
  background:
    linear-gradient(
      145deg,
      #f4efe11b,
      #f4efe10b);
}
.hero-actions .btn:after,
.route-main:after {
  content: "\203a";
  margin-left: auto;
  font-size: 1.35rem;
  line-height: 1;
  opacity: .78;
}
.hero-actions .btn {
  justify-content: flex-start;
}
.btn-spark {
  width: 20px;
  text-align: center;
}
.status-text {
  margin: 11px auto 0;
  max-width: 430px;
  color: #f4efe1b3;
  font-size: .84rem;
  line-height: 1.35;
  font-weight: 800;
}
.status-text:before {
  content: "\2615";
  margin-right: 7px;
  opacity: .8;
}
.summary-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--gap);
  margin-bottom: 12px;
}
.summary-card {
  min-height: 116px;
  padding: 14px 12px;
  border-radius: 20px;
  position: relative;
  overflow: hidden;
}
.mini-label {
  margin: 0 0 8px;
  color: #ffe2b5d6;
  text-transform: uppercase;
  letter-spacing: .13em;
  font-size: .63rem;
  line-height: 1.2;
  font-weight: 950;
}
.summary-card h2 {
  margin: 0;
  font-size: clamp(1.26rem, 5.4vw, 1.65rem);
  letter-spacing: -.06em;
  line-height: 1.02;
}
.route-icon,
.provider-logo {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
}
.route-icon svg,
.provider-logo svg,
.route-icon img,
.provider-logo img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
}
.notice {
  margin: 0;
  color: #f4efe1b3;
  font-size: .82rem;
  line-height: 1.35;
  font-weight: 740;
}
.apple-logo svg {
  fill: currentColor;
}
.notice {
  padding: 12px 14px;
  border-radius: 18px;
  margin-bottom: 12px;
}
.results {
  display: grid;
  gap: 10px;
  margin-bottom: 12px;
}
.results:not([data-schedule-pill]):before {
  content: "Schedule";
}
.stop-card {
  position: relative;
  overflow: hidden;
  min-height: 0;
  padding: 14px;
  border-radius: 21px;
  border-color: #ffe2b52b;
  background:
    radial-gradient(
      circle at 94% 20%,
      rgba(30, 144, 255, .12),
      transparent 8rem),
    linear-gradient(
      145deg,
      #f4efe118,
      #f4efe109);
}
.card-topline {
  display: flex !important;
  position: relative !important;
  align-items: flex-start !important;
  align-content: flex-start !important;
  justify-content: space-between !important;
  flex-wrap: nowrap !important;
  gap: 8px !important;
  margin: 0 0 10px !important;
  width: 100% !important;
  min-width: 0 !important;
}
.open-chip,
.distance-chip {
  display: inline-flex !important;
  align-items: center;
  align-self: flex-start !important;
  justify-self: start !important;
  flex: 0 0 auto !important;
  margin: 0 !important;
  width: auto !important;
  max-width: none !important;
  min-height: 27px;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: .72rem;
  line-height: 1;
  font-weight: 900;
  white-space: nowrap !important;
}
.open-chip {
  color: #3d1a0d;
  background:
    linear-gradient(
      135deg,
      #f8e0aa,
      #ce9147);
}
.distance-chip {
  margin-left: auto !important;
  justify-self: end !important;
  text-align: right !important;
  color: #f4efe1d9;
  background: #f4efe11a;
  border: 1px solid rgba(244, 239, 225, .15);
}
.open-now-chip {
  background:
    linear-gradient(
      135deg,
      #d5ffbc,
      #75d966);
}
.closing-chip {
  background:
    linear-gradient(
      135deg,
      #ffe0a1,
      #ffaf3d);
}
.upcoming-chip,
.scheduled-chip {
  background:
    linear-gradient(
      135deg,
      #f7dfaa,
      #285aa7);
}
.verify-time-chip {
  background: #f4efe11f;
  color: var(--cream);
  border: 1px solid rgba(244, 239, 225, .2);
}
.stop-name {
  margin: 0;
  font-size: clamp(1.18rem, 5.7vw, 1.62rem);
  line-height: 1.06;
  letter-spacing: -.015em;
}
.stop-time,
.stop-address,
.stop-source {
  margin: 7px 0 0;
  color: #f4efe1b3;
  line-height: 1.35;
  font-size: .83rem;
  font-weight: 760;
}
.stop-time {
  color: var(--accent);
  font-weight: 900;
}
.route-main {
  width: 100%;
  min-height: 54px;
  margin-top: 12px;
  padding: 8px 12px;
  border: 1px solid rgba(244, 239, 225, .28);
  border-radius: 18px;
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  color: #2a499a;
  background:
    linear-gradient(
      135deg,
      #f4efe1,
      #1e90ff);
  font-weight: 900;
  box-shadow: 0 12px 24px #0003, inset 0 1px #ffffff73;
}
.route-text {
  font-weight: 950;
}
.route-main:after {
  color: #6e3b13;
}
.empty-card:after {
  content: none;
}
.modal {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: grid;
  place-items: center;
  padding: calc(12px + env(safe-area-inset-top)) 10px calc(12px + env(safe-area-inset-bottom));
}
.modal-backdrop {
  position: absolute;
  inset: 0;
  background: #090403ad;
  backdrop-filter: blur(10px);
}
.modal-close {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 5;
  width: 46px;
  height: 46px;
  border: 0;
  border-radius: 16px;
  display: grid;
  place-items: center;
  color: var(--cream);
  background: #f4efe11f;
  border: 1px solid rgba(244, 239, 225, .13);
  font-size: 1.85rem;
  font-weight: 900;
  cursor: pointer;
}
.donate-modal {
  position: relative;
  width: min(calc(100vw - 20px), var(--content-width));
  max-height: min(92dvh, 860px);
  overflow: auto;
  border-radius: 28px;
  padding: 18px 14px;
  scrollbar-width: thin;
  scrollbar-color: rgba(120, 158, 211, .55) rgba(255, 255, 255, .06);
  text-align: center;
}
.donate-modal h2 {
  margin: 4px auto 10px;
  max-width: 340px;
  font-family: var(--rb-font-display);
  font-weight: 400;
  font-size: clamp(2rem, 9vw, 2.8rem);
  line-height: .95;
  letter-spacing: -.06em;
}
.donate-modal > p {
  margin: 0 auto 14px;
  max-width: 320px;
  color: #f4efe1b8;
  font-weight: 800;
  line-height: 1.35;
}
.qr-frame {
  width: min(100%, 280px);
  margin: 0 auto 12px;
  padding: 14px;
  border-radius: 24px;
  background: #f2f2f2;
  box-shadow: 0 16px 34px #00000040;
}
.qr-frame img {
  width: 100%;
  display: block;
  border-radius: 12px;
}
.venmo-link {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  width: min(100%, 300px);
  margin: 0 auto 12px;
  border-radius: 999px;
  color: #2a499a;
  text-decoration: none;
  font-weight: 900;
  background:
    linear-gradient(
      135deg,
      #f4efe1,
      #1e90ff);
}
.modal-ok {
  width: min(100%, 300px);
  margin: 0 auto 10px;
}
.donate-modal small {
  display: block;
  color: #f4efe1ad;
  font-weight: 800;
  line-height: 1.35;
}
.all-map-preview {
  position: relative;
  width: 100%;
  height: min(58dvh, 420px);
  min-height: 315px;
  overflow: hidden;
  border-radius: 22px;
  border: 1px solid rgba(244, 239, 225, .22);
  background: #f4efe114;
  box-shadow: inset 0 1px #ffffff14, 0 12px 24px #0000002e;
}
.all-pins-leaflet-map,
.all-pins-google-map {
  width: 100%;
  height: 100%;
}
.all-map-preview-empty {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  text-align: center;
  color: #f4efe1b3;
  font-weight: 850;
  padding: 20px;
}
@media (min-width: 620px) {
  :root {
    --content-width: 560px;
  }
  .app-shell {
    padding-top: 24px;
  }
  .hero-card {
    padding: 22px 18px 20px;
  }
  .hero-actions {
    grid-template-columns: 1fr 1fr;
  }
  .hero-actions .btn-map-all {
    grid-column: 1 / -1;
    width: min(100%, 300px);
    justify-self: center;
  }
}
@media (max-width: 390px) {
  .app-shell {
    width: min(calc(100% - 16px), var(--content-width));
  }
  .hero-card {
    padding: 16px 12px;
    border-radius: 26px;
  }
  .hero-card h1 {
    font-size: clamp(2rem, 11.3vw, 2.65rem);
  }
  .inline-brand-logo {
    padding: 12px 12px 11px;
  }
  .summary-grid {
    gap: 8px;
  }
  .summary-card {
    padding: 12px 9px;
    min-height: 108px;
  }
  .summary-card h2 {
    font-size: 1.15rem;
  }
}
#locateBtn.hidden {
  display: none !important;
}
#locateBtn.is-locating {
  opacity: .72;
  pointer-events: none;
}
.hero-actions {
  transition: gap .18s ease;
}
#locateBtn.is-location-refresh {
  order: 5;
  grid-column: 1 / -1;
  justify-self: center;
  width: auto;
  min-height: 0;
  padding: 4px 8px 2px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  box-shadow: none;
  color: #ffdea4eb;
  font-size: .78rem;
  line-height: 1.25;
  font-weight: 850;
  letter-spacing: .01em;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}
#locateBtn.is-location-refresh:after {
  display: none;
}
#locateBtn.is-location-refresh .btn-spark {
  width: auto;
  opacity: .82;
}
#locateBtn.is-location-refresh:hover,
#locateBtn.is-location-refresh:focus-visible {
  color: #ffe8bc;
  background: #f4efe10b;
}
#locateBtn.is-location-refresh.is-locating {
  opacity: .72;
  text-decoration: none;
}
@media (min-width: 620px) {
  #locateBtn.is-location-refresh {
    margin-top: -2px;
  }
}
@keyframes rbSpin {
  to {
    transform: rotate(360deg);
  }
}
@keyframes rbShimmer {
  0% {
    transform: translate(-115%);
  }
  to {
    transform: translate(115%);
  }
}
.status-text {
  min-height: 1.4em;
}
body.is-loading-schedule .status-text:before,
body.is-locating-user .status-text:before {
  content: "";
  width: .92em;
  height: .92em;
  display: inline-block;
  margin-right: 8px;
  border-radius: 50%;
  border: 2px solid rgba(244, 239, 225, .25);
  border-top-color: #1e90fff2;
  vertical-align: -.12em;
  animation: rbSpin .85s linear infinite;
}
body.is-loading-schedule .summary-card h2 {
  position: relative;
  color: transparent !important;
  user-select: none;
}
body.is-loading-schedule .summary-card h2:after {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  height: .78em;
  width: min(100%, 150px);
  transform: translateY(-50%);
  border-radius: 999px;
  overflow: hidden;
  background:
    linear-gradient(
      90deg,
      #f4efe114,
      #ffd28e38,
      #f4efe114);
  box-shadow: inset 0 1px #ffffff0d;
}
body.is-loading-schedule .summary-card h2:before {
  content: "";
  position: absolute;
  z-index: 2;
  top: calc(50% - .39em);
  left: 0;
  width: 44%;
  height: .78em;
  border-radius: 999px;
  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(244, 239, 225, .28),
      transparent);
  animation: rbShimmer 1.35s ease-in-out infinite;
}
body.is-loading-schedule .summary-card:nth-child(2) h2:after {
  width: 46px;
}
.btn.is-locating .btn-spark {
  display: inline-grid;
  place-items: center;
  width: 20px;
  height: 20px;
  color: transparent;
  position: relative;
}
.btn.is-locating .btn-spark:after {
  content: "";
  width: 14px;
  height: 14px;
  border-radius: 50%;
  border: 2px solid rgba(48, 22, 10, .22);
  border-top-color: #30160adb;
  animation: rbSpin .85s linear infinite;
}
@media (max-width: 430px) {
  .provider-logo {
    width: 23px;
    height: 23px;
  }
}
.route-main:focus-visible {
  outline: 2px solid rgba(120, 158, 211, .92);
  outline-offset: 3px;
}
.map-popup-route {
  margin-top: 6px;
  border: 0;
  border-radius: 999px;
  padding: 7px 10px;
  font-weight: 900;
  background:
    linear-gradient(
      135deg,
      #f4efe1,
      #1e90ff);
  color: #2a499a;
  cursor: pointer;
}
.all-map-svg-fallback {
  position: absolute;
  inset: 0;
  z-index: 3;
  width: 100%;
  height: 100%;
  overflow: visible;
}
.fallback-map-marker {
  cursor: pointer;
  outline: none;
}
.fallback-map-marker:focus-visible {
  filter: drop-shadow(0 0 3px rgba(53, 187, 255, .95));
}
.fallback-map-pin-image,
.fallback-map-user-image {
  pointer-events: none;
}
.fallback-map-pin-number {
  fill: #fff;
  stroke: #05162794;
  stroke-width: .45px;
  paint-order: stroke;
  font-family: var(--rb-font-ui);
  font-size: 3.2px;
  font-weight: 950;
  text-anchor: middle;
  dominant-baseline: middle;
  pointer-events: none;
}
.fallback-map-user-ring {
  fill: #f4efe1f0;
  stroke: #1e90ff;
  stroke-width: .7px;
  filter: drop-shadow(0 2px 3px rgba(0, 0, 0, .28));
}
.fallback-map-user-label {
  fill: #2a499a;
  font-family: var(--rb-font-ui);
  font-size: 3px;
  font-weight: 950;
  text-anchor: middle;
  dominant-baseline: middle;
  pointer-events: none;
}
.waze-logo {
  background: transparent !important;
  box-shadow: none !important;
  color: inherit !important;
  border-radius: 14px !important;
}
.waze-logo img,
.provider-inline-logo.waze-inline-logo {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: contain !important;
}
.route-icon .provider-inline-logo.waze-inline-logo {
  border-radius: 14px !important;
}
.waze-logo svg,
.route-icon svg[aria-label=Waze] {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: contain !important;
}
.route-icon svg[aria-label=Waze] {
  border-radius: 14px !important;
}
.install-footer {
  margin: 12px 0 0;
}
.install-app-btn {
  min-height: 66px;
  border: 1px solid rgba(120, 158, 211, .22);
  border-radius: 22px;
  padding: 12px 14px;
  grid-template-columns: 40px 1fr;
  gap: 12px;
  color: var(--cream);
  background:
    radial-gradient(
      circle at 16% 12%,
      rgba(120, 158, 211, .18),
      transparent 7rem),
    linear-gradient(
      145deg,
      #2a499ac7,
      #000000bd);
  box-shadow: var(--shadow-soft), inset 0 1px #ffffff0f;
  backdrop-filter: blur(16px);
}
.install-app-btn:active {
  transform: scale(.992);
}
.install-app-icon {
  width: 40px;
  height: 40px;
  border-radius: 15px;
  color: #33170b;
  background:
    linear-gradient(
      135deg,
      #f4efe1,
      #1e90ff);
  font-size: 1.1rem;
  font-weight: 950;
  box-shadow: inset 0 1px #ffffff73, 0 10px 20px #00000038;
}
.install-app-btn strong {
  font-size: .98rem;
  line-height: 1.1;
  letter-spacing: -.015em;
}
.install-app-btn small {
  display: block;
  margin-top: 4px;
  color: #f4efe1a8;
  font-weight: 760;
  line-height: 1.25;
}
.install-app-btn.is-installed {
  border-color: #7ee07440;
}
.install-app-btn.is-installed .install-app-icon {
  background:
    linear-gradient(
      135deg,
      #ddffd4,
      #7ee074);
}
.install-modal {
  width: min(100% - 24px, 420px);
  max-height: calc(100dvh - 40px);
  overflow: auto;
  border-radius: 28px;
  padding: 22px;
  background:
    radial-gradient(
      circle at 50% 0%,
      rgba(30, 144, 255, .13),
      transparent 13rem),
    linear-gradient(
      145deg,
      #2a499af0,
      #000000f0);
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
  text-align: center;
  position: relative;
}
.install-modal h2 {
  margin: 4px 0 10px;
  font-family: var(--rb-font-ui);
  font-weight: 700;
  font-size: clamp(1.7rem, 7vw, 2.25rem);
  line-height: 1;
  letter-spacing: -.02em;
}
.install-steps {
  margin: 14px 0 18px;
  padding: 14px;
  border-radius: 18px;
  background: #f4efe113;
  border: 1px solid rgba(244, 239, 225, .15);
  color: #f4efe1d1;
  text-align: left;
  line-height: 1.48;
  font-weight: 720;
}
.install-steps ol {
  margin: 0;
  padding-left: 20px;
}
.install-steps li + li {
  margin-top: 8px;
}
.install-steps p {
  margin: 0;
}
.share-app-btn {
  min-height: 60px;
}
.share-app-icon {
  background:
    linear-gradient(
      135deg,
      #f4efe1,
      #ff9f3a);
}
@media (min-width: 620px) {
  .install-footer {
    grid-template-columns: 1fr 1fr;
  }
  .install-app-btn {
    min-height: 72px;
  }
}
:root {
  --brand-blue: #285aa7;
  --brand-sky: #789ed3;
  --brand-cream: #f4efe1;
  --brand-ink: #2a499a;
  --line: rgba(40, 90, 167, .33);
  --cream: #f4efe1;
  --accent: #285aa7;
  --shadow: 0 22px 54px rgba(0,0,0,.44);
  --shadow-soft: 0 12px 28px rgba(0,0,0,.3);
}
html {
  background: #000000 !important;
}
body {
  color: var(--cream) !important;
  background: transparent !important;
}
.bean-photo-bg {
  z-index: 0 !important;
  background: var(--rb-app-background-image) center top / cover no-repeat !important;
  filter: saturate(1.05) contrast(1.05) brightness(.82) !important;
}
.bean-photo-bg:after {
  background:
    radial-gradient(
      circle at 50% 7%,
      rgba(40, 90, 167, .18),
      transparent 18rem),
    radial-gradient(
      circle at 50% 36%,
      rgba(0, 0, 0, .18),
      transparent 18rem),
    linear-gradient(
      90deg,
      #0000008c,
      #0000000d 28% 72%,
      #0000008c);
}
.app-shell {
  width: min(calc(100% - 22px), var(--content-width)) !important;
  padding-top: calc(16px + env(safe-area-inset-top)) !important;
}
.glass,
.hero-card,
.notice,
.install-footer,
.donate-modal,
.install-modal {
  border: 1px solid var(--line) !important;
  box-shadow: var(--shadow-soft), inset 0 1px #ffffff14 !important;
  backdrop-filter: blur(18px) saturate(1.08) !important;
}
.hero-card {
  overflow: hidden !important;
  padding: 24px 18px 20px !important;
  border-radius: 36px !important;
  margin-bottom: 13px !important;
  text-align: center !important;
  background:
    radial-gradient(
      circle at 82% 22%,
      rgba(40, 90, 167, .2),
      transparent 13rem),
    radial-gradient(
      circle at 16% 84%,
      rgba(40, 90, 167, .15),
      transparent 11rem),
    linear-gradient(
      155deg,
      #000000f5,
      #000000f0 58%,
      #000000eb) !important;
  border-color: #285aa794 !important;
}
.hero-card h1 {
  max-width: 470px !important;
  margin: 0 auto 18px !important;
  color: #f4efe1 !important;
  font-family: var(--rb-font-display) !important;
  font-weight: 400 !important;
  font-size: clamp(2.4rem, 9.1vw, 4.25rem) !important;
  letter-spacing: -.055em !important;
  text-shadow: 0 3px 18px rgba(0, 0, 0, .35) !important;
}
.hero-card h1 span {
  color: var(--brand-blue) !important;
  background:
    linear-gradient(
      135deg,
      #789ed3,
      #285aa7 70%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}
.hero-actions {
  max-width: 470px !important;
  width: 100% !important;
}
.hero-actions .btn {
  width: 100% !important;
  min-height: 66px !important;
  padding: 12px 16px !important;
  border-radius: 20px !important;
  display: grid !important;
  grid-template-columns: 42px 1fr 20px !important;
  gap: 12px !important;
  align-items: center !important;
  text-align: left !important;
  border: 1px solid rgba(255, 255, 255, .12) !important;
  box-shadow: inset 0 1px #ffffff1f, 0 12px 26px #0000003d !important;
}
.hero-actions .btn strong,
.hero-actions .btn > span:nth-child(2) {
  display: block !important;
  font-size: 1rem !important;
  line-height: 1.1 !important;
  font-weight: 900 !important;
}
.hero-actions .btn small {
  display: block !important;
  margin-top: 4px !important;
  font-size: .77rem !important;
  line-height: 1.12 !important;
  opacity: .78 !important;
  font-weight: 750 !important;
}
.hero-actions .btn-chevron {
  font-size: 1.8rem !important;
  line-height: 1 !important;
  opacity: .85 !important;
}
.btn-primary {
  color: #fff !important;
  background:
    linear-gradient(
      135deg,
      #1e90ff,
      #285aa7 70%) !important;
  border-color: #789ed370 !important;
}
.btn-primary .btn-spark,
.btn-map-all .btn-spark {
  width: 42px !important;
  height: 42px !important;
  border-radius: 50% !important;
  display: grid !important;
  place-items: center !important;
  font-weight: 950 !important;
}
.btn-primary .btn-spark {
  background: #ffffff2e !important;
  color: #fff !important;
}
.btn-map-all {
  color: var(--brand-cream) !important;
  background:
    linear-gradient(
      145deg,
      #ffffff13,
      #ffffff09) !important;
  border-color: #285aa740 !important;
}
.btn-map-all .btn-spark {
  color: var(--brand-sky) !important;
  background: #285aa71f !important;
}
#locateBtn.is-location-refresh {
  min-height: 34px !important;
  margin: 2px auto !important;
  padding: 0 !important;
  grid-template-columns: none !important;
  gap: 6px !important;
  color: var(--brand-sky) !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  text-decoration: underline !important;
  text-underline-offset: 4px !important;
}
#locateBtn.is-location-refresh .btn-spark {
  width: auto !important;
  height: auto !important;
  background: transparent !important;
}
.status-text {
  max-width: 470px !important;
  margin: 9px auto 0 !important;
  color: #f4efe1c2 !important;
  font-weight: 800 !important;
  text-align: center !important;
}
.summary-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 10px !important;
  margin-bottom: 12px !important;
}
.summary-card {
  min-height: 112px !important;
  border-radius: 20px !important;
  padding: 14px !important;
  color: #f4efe1 !important;
  background:
    linear-gradient(
      145deg,
      #18120ed6,
      #070c14bd) !important;
  border-color: #285aa754 !important;
}
.summary-card h2 {
  margin: 8px 0 0 !important;
  font-size: clamp(1.35rem, 5.8vw, 1.75rem) !important;
  line-height: 1 !important;
  color: #f4efe1 !important;
  letter-spacing: -.05em !important;
}
.summary-card small {
  color: #f4efe1bd !important;
  font-size: .78rem !important;
  line-height: 1.24 !important;
}
.mini-label {
  color: var(--brand-sky) !important;
  letter-spacing: .14em !important;
  font-weight: 950 !important;
}
.results {
  display: grid !important;
  gap: 12px !important;
}
.stop-card {
  position: relative !important;
  overflow: hidden !important;
  border-radius: 24px !important;
  padding: 16px !important;
  color: var(--brand-ink) !important;
  background:
    radial-gradient(
      circle at 85% 0%,
      rgba(40, 90, 167, .1),
      transparent 11rem),
    linear-gradient(
      145deg,
      #f4efe1f5,
      #f6e8d7e8) !important;
  border-color: #285aa77a !important;
  box-shadow: 0 18px 36px #00000047, inset 0 1px #ffffff8c !important;
}
.stop-card h3,
.stop-name {
  color: var(--brand-ink) !important;
  font-size: clamp(1.45rem, 7vw, 2rem) !important;
  line-height: 1.03 !important;
  letter-spacing: -.015em !important;
}
.stop-time {
  color: #9d6529 !important;
  font-weight: 900 !important;
}
.open-chip {
  background:
    linear-gradient(
      135deg,
      #e9fff0,
      #8cf29b) !important;
  color: #14511f !important;
}
.distance-chip {
  color: #fff !important;
  background:
    linear-gradient(
      135deg,
      #2a499ab8,
      #2a499a94) !important;
  border: 1px solid rgba(255, 255, 255, .28) !important;
}
.scheduled-chip,
.verify-time-chip,
.closing-chip {
  color: var(--brand-ink) !important;
  background:
    linear-gradient(
      135deg,
      #fff2cf,
      #d8a15c) !important;
}
.route-main {
  min-height: 58px !important;
  border-radius: 17px !important;
  background:
    linear-gradient(
      135deg,
      #1e90ff,
      #285aa7 72%) !important;
  border-color: #ffffff47 !important;
  box-shadow: 0 12px 24px #285aa73d !important;
}
.install-footer {
  gap: 10px !important;
}
.install-app-btn {
  color: var(--brand-ink) !important;
  background:
    linear-gradient(
      145deg,
      #f4efe1f0,
      #f4efe1e0) !important;
  border-color: #285aa766 !important;
}
.install-app-btn small {
  color: #2a499aa6 !important;
}
.install-app-icon {
  color: #fff !important;
  background:
    linear-gradient(
      135deg,
      #1e90ff,
      #285aa7 72%) !important;
}
.donate-modal,
.install-modal {
  background:
    radial-gradient(
      circle at 50% 0%,
      rgba(40, 90, 167, .15),
      transparent 15rem),
    linear-gradient(
      145deg,
      #081a30f5,
      #0a0d12f0) !important;
  border-color: #285aa775 !important;
}
.modal-close {
  background: #ffffff1f !important;
  color: #fff !important;
}
.qr-frame {
  background: #fff !important;
}
.venmo-link,
.modal-ok {
  background:
    linear-gradient(
      135deg,
      #1e90ff,
      #285aa7 72%) !important;
}
.all-map-preview {
  border-color: #285aa759 !important;
}
@media (min-width: 620px) {
  .install-footer {
    grid-template-columns: 1fr 1fr !important;
  }
}
@media (max-width: 560px) {
  .app-shell {
    width: min(calc(100% - 18px), var(--content-width)) !important;
  }
  .hero-card {
    padding: 20px 14px 18px !important;
    border-radius: 32px !important;
  }
  .hero-card h1 {
    font-size: clamp(2.25rem, 11vw, 3.35rem) !important;
  }
  .summary-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }
  .summary-card {
    min-height: 102px !important;
    padding: 11px !important;
  }
  .summary-card h2 {
    font-size: clamp(1.18rem, 5.4vw, 1.48rem) !important;
  }
  .summary-card small {
    font-size: .68rem !important;
  }
}
:root {
  --rb-blue: #285aa7;
  --rb-text-dark: #2a499a;
  --rb-text-muted: #5a6d7f;
  --content-width: 560px;
  --shadow-soft: 0 16px 40px rgba(0,0,0,.3);
  --shadow: 0 28px 70px rgba(0,0,0,.42);
}
html {
  background: #000000;
}
body {
  color: #f4efe1;
}
.bean-photo-bg {
  background: var(--rb-app-background-image) center center / cover no-repeat !important;
  filter: saturate(1.03) contrast(1.05) brightness(.92);
}
.bean-photo-bg:after {
  content: "" !important;
  position: absolute;
  inset: 0;
  background:
    radial-gradient(
      circle at 50% 0%,
      rgba(4, 26, 47, .05),
      transparent 20rem),
    linear-gradient(
      90deg,
      #0000007a,
      #00000014 24% 76%,
      #0000007a);
}
.app-shell {
  width: min(calc(100% - 18px), var(--content-width));
  padding-top: calc(10px + env(safe-area-inset-top));
}
.glass,
.hero-card,
.summary-card,
.notice,
.donate-modal,
.install-modal {
  box-shadow: var(--shadow-soft), inset 0 1px #ffffff14;
}
.hero-card {
  padding: 16px 14px 18px;
  border-radius: 30px;
  overflow: hidden;
  background:
    radial-gradient(
      circle at 86% 24%,
      rgba(40, 90, 167, .16),
      transparent 14rem),
    radial-gradient(
      circle at 12% 92%,
      rgba(40, 90, 167, .18),
      transparent 12rem),
    linear-gradient(
      180deg,
      #000000f0,
      #000000eb) !important;
  border: 1px solid rgba(120, 158, 211, .46);
  box-shadow: 0 26px 64px #00000075, inset 0 1px #ffffff1a;
}
.hero-card h1 {
  max-width: 440px;
  margin-bottom: 16px;
  color: #f4efe1;
  font-family: var(--rb-font-display);
  font-weight: 400;
  font-size: clamp(2.45rem, 11.4vw, 4rem);
  line-height: .91;
  letter-spacing: -.055em;
  text-shadow: 0 18px 38px rgba(0, 0, 0, .34);
}
.hero-card h1 span {
  background:
    linear-gradient(
      92deg,
      #1e90ff,
      #285aa7,
      #1e90ff);
  -webkit-background-clip: text;
  background-clip: text;
}
.hero-actions {
  max-width: 448px;
  gap: 10px;
}
.btn {
  min-height: 58px;
  border-radius: 18px;
  border-color: #ffffff21;
  background:
    linear-gradient(
      180deg,
      #ffffff17,
      #ffffff0a);
  color: #f4efe1;
}
.btn-primary,
.route-main {
  color: #fff;
  background:
    linear-gradient(
      135deg,
      #1e90ff,
      #285aa7 54%,
      #285aa7) !important;
  border-color: #789ed37a !important;
  box-shadow: 0 14px 28px #285aa742, inset 0 1px #ffffff4d !important;
}
.btn-map-all {
  background:
    linear-gradient(
      180deg,
      #ffffff14,
      #ffffff09);
}
.btn strong {
  font-size: 1.02rem;
}
.btn small {
  display: block;
  margin-top: 4px;
  font-size: .7rem;
  opacity: .68;
  font-weight: 850;
}
.status-text {
  max-width: 448px;
  color: #f4efe1c7;
}
.status-text:before {
  content: "\25c7";
  color: var(--rb-blue);
  opacity: 1;
}
.summary-grid {
  gap: 8px;
}
.summary-card {
  min-height: 112px;
  border-radius: 19px;
  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(40, 90, 167, .18),
      transparent 8rem),
    linear-gradient(
      180deg,
      #111620db,
      #0b0d12d1) !important;
  border-color: #789ed342;
}
.mini-label {
  color: #52caff;
  letter-spacing: .16em;
}
.summary-card h2 {
  color: #f4efe1;
}
.stop-card,
.install-footer .install-app-btn {
  color: var(--rb-text-dark);
  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(40, 90, 167, .08),
      transparent 10rem),
    linear-gradient(
      180deg,
      #f4efe1f5,
      #eee5d8f0) !important;
  border: 1px solid rgba(40, 90, 167, .34) !important;
  box-shadow: 0 18px 34px #0003, inset 0 1px #ffffffb8 !important;
}
.stop-name {
  color: var(--rb-text-dark);
}
.stop-address,
.stop-source,
.install-app-btn small {
  color: var(--rb-text-muted) !important;
}
.open-chip,
.distance-chip {
  color: #271403;
  background:
    linear-gradient(
      135deg,
      #ffe7b7,
      #f0b75d);
}
.route-main:after {
  color: #ffffffdb;
}
.route-icon svg {
  fill: currentColor;
}
.provider-logo {
  width: 30px;
  height: 30px;
}
.results {
  gap: 11px;
}
.stop-card {
  padding: 16px;
}
.stop-time {
  color: #a76618;
}
.route-main {
  margin-top: 14px;
}
.install-footer {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-bottom: 8px;
}
.install-app-btn {
  width: 100%;
  min-height: 80px;
  appearance: none;
  border: 1px solid rgba(40, 90, 167, .34);
  border-radius: 20px;
  padding: 14px;
  display: grid;
  grid-template-columns: 42px 1fr;
  align-items: center;
  gap: 10px;
  text-align: left;
  cursor: pointer;
}
.install-app-icon {
  width: 42px;
  height: 42px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  color: #fff;
  background:
    linear-gradient(
      135deg,
      #1e90ff,
      #285aa7);
  box-shadow: 0 10px 20px #285aa738;
}
.install-app-btn strong {
  color: var(--rb-text-dark);
  font-size: .96rem;
  line-height: 1.08;
  display: block;
}
.donate-modal,
.install-modal {
  background:
    radial-gradient(
      circle at 50% 0%,
      rgba(40, 90, 167, .16),
      transparent 14rem),
    linear-gradient(
      180deg,
      #081624f5,
      #0c0907f0) !important;
  border-color: #789ed34d;
}
.venmo-link,
.modal-ok {
  color: #fff !important;
  background:
    linear-gradient(
      135deg,
      #1e90ff,
      #285aa7) !important;
}
@media (min-width: 620px) {
  :root {
    --content-width: 610px;
  }
  .hero-card {
    padding: 22px 20px;
  }
  .hero-actions {
    grid-template-columns: 1fr;
  }
  .hero-actions .btn-map-all {
    width: 100%;
  }
}
@media (max-width: 460px) {
  .install-footer {
    grid-template-columns: 1fr;
  }
}
.hero-actions {
  margin: 0 auto !important;
}
.hero-actions .btn,
.hero-actions #allMapBtn {
  width: 100% !important;
  max-width: none !important;
  min-height: 66px !important;
  margin: 0 !important;
  justify-self: stretch !important;
  grid-column: 1 / -1 !important;
}
.hero-actions .btn span:nth-child(2) {
  min-width: 0 !important;
}
.hero-actions .btn-chevron {
  justify-self: end !important;
  align-self: center !important;
}
#locateBtn.is-location-refresh {
  min-height: 30px !important;
  margin: 4px auto 0 !important;
  padding: 2px 10px !important;
  grid-column: 1 / -1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}
#allMapBtn {
  justify-self: stretch !important;
}
@media (min-width: 620px) {
  .hero-actions {
    grid-template-columns: 1fr !important;
  }
  .hero-actions .btn,
  .hero-actions .btn-map-all,
  .hero-actions #allMapBtn {
    width: 100% !important;
    justify-self: stretch !important;
  }
}
.hero-card > * {
  position: relative;
  z-index: 2;
}
.hero-actions,
.status-text {
  position: relative !important;
  z-index: 5 !important;
}
.hero-actions {
  width: min(100%, 448px) !important;
  max-width: 448px !important;
  display: grid !important;
  justify-items: stretch !important;
  align-items: stretch !important;
}
.hero-actions #allMapBtn {
  min-width: 0 !important;
  grid-column: 1 / -1 !important;
}
#locateBtn.is-location-refresh {
  order: 99 !important;
  width: auto !important;
  max-width: max-content !important;
  min-width: 0 !important;
  justify-self: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
@media (min-width: 620px) {
  .hero-actions #allMapBtn {
    width: 100% !important;
    max-width: 100% !important;
    justify-self: stretch !important;
  }
}
@media (max-width: 520px) {
  .hero-card {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
  .hero-actions .btn {
    min-height: 64px !important;
  }
  .summary-grid {
    gap: 9px !important;
  }
  .summary-grid .summary-card:first-child {
    grid-column: 1 / -1 !important;
    min-height: 86px !important;
  }
  .summary-grid .summary-card:first-child h2 {
    font-size: clamp(1.52rem, 7.4vw, 2rem) !important;
    white-space: normal !important;
    overflow: visible !important;
  }
  .summary-card {
    min-width: 0 !important;
    overflow: hidden !important;
  }
  .summary-card h2 {
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
  }
}
.hero-actions .btn-chevron {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-left: 0 !important;
  width: 20px !important;
}
.hero-actions #allMapBtn {
  justify-self: center !important;
  margin-inline: auto !important;
}
.hero-card > * {
  position: relative !important;
  z-index: 2 !important;
}
.hero-actions,
.status-text {
  z-index: 3 !important;
}
.summary-card {
  padding-right: 46px !important;
}
.summary-grid .summary-card:first-child {
  padding-right: 56px !important;
}
@media (max-width: 520px) {
  .summary-card {
    padding-right: 48px !important;
  }
}
.hero-card h1 {
  max-width: 500px !important;
}
.hero-card h1 span {
  display: inline !important;
}
.hero-actions,
.hero-actions #allMapBtn {
  width: min(100%, 448px) !important;
  max-width: 448px !important;
}
.hero-actions .btn:after {
  display: none !important;
  content: none !important;
}
.stop-card,
.install-footer {
  background:
    radial-gradient(
      circle at 88% 6%,
      rgba(40, 90, 167, .08),
      transparent 12rem),
    linear-gradient(
      145deg,
      #f4efe1db,
      #f4efe1c7) !important;
  border-color: #ffffff57 !important;
  box-shadow: 0 18px 38px #00000047, inset 0 1px #ffffff9e !important;
  backdrop-filter: blur(18px) saturate(1.18) !important;
  -webkit-backdrop-filter: blur(18px) saturate(1.18) !important;
  position: relative !important;
  overflow: hidden !important;
}
.stop-card > *,
.install-footer > * {
  position: relative;
  z-index: 1;
}
.route-main {
  box-shadow: 0 12px 28px #285aa73d, inset 0 1px #ffffff52 !important;
}
@media (max-width: 520px) {
  .stop-card,
  .install-footer {
    background:
      radial-gradient(
        circle at 88% 6%,
        rgba(40, 90, 167, .07),
        transparent 11rem),
      linear-gradient(
        145deg,
        #f4efe1e0,
        #f4efe1cc) !important;
    backdrop-filter: blur(15px) saturate(1.14) !important;
    -webkit-backdrop-filter: blur(15px) saturate(1.14) !important;
  }
}
.stop-card,
.summary-card {
  background:
    radial-gradient(
      circle at 88% 6%,
      rgba(40, 90, 167, .1),
      transparent 12rem),
    linear-gradient(
      145deg,
      #f4efe1b8,
      #f4efe18f) !important;
  border-color: #ffffff5c !important;
  box-shadow: 0 20px 42px #0000003d, inset 0 1px #ffffffb8 !important;
  backdrop-filter: blur(22px) saturate(1.24) !important;
  -webkit-backdrop-filter: blur(22px) saturate(1.24) !important;
}
.summary-card:before {
  opacity: .66 !important;
}
.install-footer {
  margin-bottom: 10px !important;
}
.install-app-btn {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(
      circle at 86% 10%,
      rgba(40, 90, 167, .1),
      transparent 10rem),
    linear-gradient(
      145deg,
      #f4efe1b8,
      #f4efe194) !important;
  border: 1px solid rgba(255, 255, 255, .36) !important;
  border-radius: 20px !important;
  box-shadow: 0 16px 34px #0000002e, inset 0 1px #ffffffb8 !important;
}
.install-app-btn > * {
  position: relative;
  z-index: 1;
}
.install-app-btn strong {
  color: var(--rb-text-dark) !important;
}
.install-home-btn {
  grid-template-columns: 42px minmax(0, 1fr) 64px !important;
}
.install-home-btn > span:last-child {
  min-width: 0;
  padding-right: 4px;
}
@media (max-width: 520px) {
  .stop-card,
  .summary-card {
    background:
      radial-gradient(
        circle at 88% 6%,
        rgba(40, 90, 167, .09),
        transparent 10rem),
      linear-gradient(
        145deg,
        #f4efe1c2,
        #f4efe199) !important;
    backdrop-filter: blur(18px) saturate(1.18) !important;
    -webkit-backdrop-filter: blur(18px) saturate(1.18) !important;
  }
  .install-footer {
    gap: 12px !important;
  }
  .install-app-btn {
    min-height: 86px !important;
  }
  .install-home-btn {
    grid-template-columns: 42px minmax(0, 1fr) 54px !important;
  }
}
@media (max-width: 460px) {
  .install-footer {
    grid-template-columns: 1fr !important;
  }
}
.summary-grid {
  gap: 14px !important;
}
.summary-card {
  background:
    radial-gradient(
      circle at 86% 10%,
      rgba(40, 189, 255, .18),
      transparent 10rem),
    linear-gradient(
      145deg,
      #07182ad1,
      #120d0ab8) !important;
  border-color: #ffffff38 !important;
  box-shadow: 0 18px 38px #00000042, inset 0 1px #ffffff29 !important;
  backdrop-filter: blur(20px) saturate(1.18) !important;
  -webkit-backdrop-filter: blur(20px) saturate(1.18) !important;
}
.summary-card .mini-label {
  color: #58d3ff !important;
  text-shadow: 0 1px 7px rgba(0, 0, 0, .22) !important;
}
.summary-card h2 {
  color: #fff8ec !important;
  text-shadow: 0 2px 12px rgba(0, 0, 0, .35) !important;
}
.summary-schedule {
  grid-column: 1 / -1 !important;
  min-height: 120px !important;
}
.summary-schedule h2 {
  font-size: clamp(2.15rem, 11vw, 3rem) !important;
  line-height: .95 !important;
  letter-spacing: -.065em !important;
}
.summary-stops {
  min-height: 150px !important;
}
.summary-stops h2 {
  font-size: clamp(2rem, 9vw, 2.6rem) !important;
}
.stop-card {
  background:
    radial-gradient(
      circle at 88% 6%,
      rgba(40, 90, 167, .1),
      transparent 12rem),
    linear-gradient(
      145deg,
      #f4efe1c9,
      #f4efe1a3) !important;
  border-color: #ffffff6b !important;
}
.stop-name {
  color: #2a499a !important;
  text-shadow: none !important;
}
.stop-address,
.stop-source {
  color: #2a499aad !important;
}
.route-main {
  border-color: #ffffff57 !important;
}
.install-app-btn {
  min-height: 92px !important;
  border-radius: 22px !important;
  background:
    radial-gradient(
      circle at 86% 10%,
      rgba(40, 90, 167, .1),
      transparent 10rem),
    linear-gradient(
      145deg,
      #f4efe1c7,
      #f4efe1a3) !important;
  border: 1px solid rgba(255, 255, 255, .42) !important;
  box-shadow: 0 16px 34px #0000002e, inset 0 1px #ffffffc7 !important;
}
.install-app-btn > * {
  position: relative !important;
  z-index: 2 !important;
}
.install-app-btn small {
  color: #2a499aad !important;
  font-size: .88rem !important;
  line-height: 1.25 !important;
}
.install-home-btn {
  grid-template-columns: 42px minmax(0, 1fr) 68px !important;
}
.install-home-btn > span:last-child {
  padding-right: 4px !important;
  min-width: 0 !important;
}
.install-home-btn::selection {
  background: transparent;
}
@media (max-width: 520px) {
  .summary-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
  }
  .summary-card {
    padding: 18px !important;
    border-radius: 24px !important;
  }
  .summary-stops {
    min-height: 148px !important;
  }
}
@media (max-width: 390px) {
  .summary-card {
    padding: 16px 14px !important;
  }
  .summary-schedule h2 {
    font-size: clamp(2rem, 10.8vw, 2.65rem) !important;
  }
  .install-home-btn {
    grid-template-columns: 42px minmax(0, 1fr) 52px !important;
  }
}
.summary-card {
  padding: 18px 70px 18px 18px !important;
}
.summary-card .mini-label {
  font-size: .72rem !important;
  letter-spacing: .16em !important;
}
.summary-schedule h2 {
  font-size: clamp(2.05rem, 10.8vw, 2.8rem) !important;
}
.summary-stops h2 {
  font-size: clamp(2rem, 9vw, 2.5rem) !important;
}
.route-main {
  border-radius: 20px !important;
  min-height: 62px !important;
  padding: 10px 14px !important;
  background:
    linear-gradient(
      135deg,
      #1e90ff,
      #285aa7) !important;
  color: #fff !important;
  box-shadow: 0 15px 28px #285aa73d, inset 0 1px #ffffff57 !important;
}
.install-app-btn {
  min-height: 96px !important;
  box-shadow: 0 16px 34px #0000002e, inset 0 1px #fffc !important;
}
.install-home-btn {
  grid-template-columns: 42px minmax(0, 1fr) 68px !important;
  padding: 14px 12px 14px 14px !important;
}
.install-copy {
  display: block !important;
}
.install-phone-visual {
  width: 56px !important;
  height: 76px !important;
  border-radius: 15px !important;
  display: grid !important;
  place-items: center !important;
  background:
    linear-gradient(
      180deg,
      #fffffffa,
      #ebe6def0) !important;
  border: 2px solid rgba(42, 73, 154, .1) !important;
  box-shadow: 0 12px 20px #00000029, inset 0 1px #fffc !important;
}
.install-phone-visual:before {
  content: "" !important;
  position: absolute !important;
  top: 6px !important;
  width: 20px !important;
  height: 3px !important;
  border-radius: 999px !important;
  background: #2a499a24 !important;
}
.install-phone-visual:after {
  content: "" !important;
  position: absolute !important;
  bottom: 7px !important;
  width: 18px !important;
  height: 3px !important;
  border-radius: 999px !important;
  background: #2a499a1f !important;
}
@media (max-width: 520px) {
  .summary-card {
    padding: 18px 66px 18px 18px !important;
  }
  .install-home-btn {
    grid-template-columns: 42px minmax(0, 1fr) 62px !important;
  }
  .install-phone-visual {
    width: 54px !important;
    height: 72px !important;
  }
}
@media (max-width: 390px) {
  .summary-card {
    padding: 16px 58px 16px 14px !important;
  }
  .install-home-btn {
    grid-template-columns: 42px minmax(0, 1fr) 54px !important;
  }
  .install-phone-visual {
    width: 50px !important;
    height: 68px !important;
  }
}
@media (min-width: 620px) {
  .summary-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    align-items: stretch !important;
    gap: 14px !important;
  }
  .summary-schedule,
  .summary-stops {
    grid-column: auto !important;
    min-height: 132px !important;
  }
  .summary-card {
    padding: 18px 66px 18px 18px !important;
  }
  .summary-schedule h2 {
    font-size: clamp(1.85rem, 3.4vw, 2.45rem) !important;
  }
  .summary-stops h2 {
    font-size: clamp(1.9rem, 3.2vw, 2.45rem) !important;
  }
}
.install-footer {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 14px !important;
  padding: 0 !important;
  margin-top: 14px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
}
.install-app-btn {
  position: relative !important;
  overflow: hidden !important;
  min-height: 98px !important;
  border-radius: 23px !important;
  background:
    radial-gradient(
      circle at 86% 10%,
      rgba(40, 90, 167, .1),
      transparent 10rem),
    linear-gradient(
      145deg,
      #f4efe1cc,
      #f4efe1a8) !important;
  border: 1px solid rgba(255, 255, 255, .46) !important;
  box-shadow: 0 16px 34px #0000002e, inset 0 1px #fffc !important;
  backdrop-filter: blur(20px) saturate(1.22) !important;
  -webkit-backdrop-filter: blur(20px) saturate(1.22) !important;
}
.install-home-btn {
  display: grid !important;
  grid-template-columns: 42px minmax(0, 1fr) 82px !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 14px !important;
}
.install-copy {
  min-width: 0 !important;
}
.install-phone-visual {
  position: relative !important;
  z-index: 2 !important;
  width: 72px !important;
  height: 96px !important;
  background: transparent !important;
}
.install-phone-img {
  filter: drop-shadow(0 10px 14px rgba(0, 0, 0, .15)) !important;
}
.share-app-btn {
  grid-template-columns: 42px minmax(0, 1fr) !important;
}
.install-app-btn strong {
  color: #2a499a !important;
  font-size: 1.05rem !important;
  line-height: 1.08 !important;
}
.install-app-btn small {
  color: #2a499ab3 !important;
}
@media (min-width: 620px) {
  .install-footer {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .install-home-btn {
    grid-template-columns: 42px minmax(0, 1fr) 78px !important;
  }
}
@media (max-width: 430px) {
  .install-home-btn {
    grid-template-columns: 42px minmax(0, 1fr) 70px !important;
    gap: 10px !important;
  }
  .install-phone-visual {
    width: 64px !important;
    height: 86px !important;
  }
  .install-app-btn strong {
    font-size: .98rem !important;
  }
  .install-app-btn small {
    font-size: .82rem !important;
  }
}
.install-phone-img,
.provider-logo img {
  image-rendering: auto !important;
}
.summary-date {
  display: block;
  margin-top: 6px;
  color: #f4efe1c7;
  font-size: .78rem;
  line-height: 1.2;
  font-weight: 820;
  letter-spacing: .02em;
}
@media (min-width: 620px) {
  .summary-grid {
    grid-template-columns: minmax(0, 1.35fr) minmax(0, .95fr) minmax(0, 1.2fr) !important;
    gap: 12px !important;
  }
  .summary-schedule h2 {
    font-size: clamp(1.9rem, 3vw, 2.28rem) !important;
    white-space: nowrap !important;
  }
  .summary-stops h2 {
    font-size: clamp(1.85rem, 2.9vw, 2.3rem) !important;
  }
}
@media (max-width: 520px) {
  .summary-schedule h2 {
    font-size: clamp(1.72rem, 7.2vw, 2.05rem) !important;
  }
  .summary-date {
    margin-top: 4px;
    font-size: .74rem;
  }
}
.install-footer {
  margin-top: 12px !important;
}
.install-home-btn {
  grid-template-columns: 42px minmax(0, 1fr) 90px !important;
}
.install-phone-visual {
  min-width: 82px !important;
  width: 82px !important;
  height: 104px !important;
  background-image: url(assets/install-phone-preview.webp?v=1dc67cc071cc&rb=20260728a) !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: contain !important;
}
@media (min-width: 620px) {
  .install-home-btn {
    grid-template-columns: 42px minmax(0, 1fr) 96px !important;
  }
  .install-phone-visual {
    min-width: 90px !important;
    width: 90px !important;
  }
}
@media (max-width: 430px) {
  .install-home-btn {
    grid-template-columns: 42px minmax(0, 1fr) 78px !important;
  }
  .install-phone-visual {
    min-width: 72px !important;
    width: 72px !important;
  }
}
.install-home-btn {
  grid-template-columns: 42px minmax(0, 1fr) 108px !important;
  min-height: 124px !important;
}
.install-phone-visual {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  justify-self: end !important;
  width: 104px !important;
  height: 124px !important;
  min-width: 104px !important;
  background: url(assets/install-phone-preview.webp?v=1dc67cc071cc&rb=20260728a) center / contain no-repeat !important;
  border: 0 !important;
  box-shadow: none !important;
}
.install-phone-img {
  display: block !important;
  opacity: 1 !important;
}
@media (min-width: 620px) {
  .install-home-btn {
    grid-template-columns: 42px minmax(0, 1fr) 118px !important;
  }
  .install-phone-visual {
    width: 112px !important;
    height: 134px !important;
    min-width: 112px !important;
  }
}
@media (max-width: 430px) {
  .install-home-btn {
    grid-template-columns: 42px minmax(0, 1fr) 86px !important;
    min-height: 112px !important;
  }
  .install-phone-visual {
    width: 82px !important;
    height: 104px !important;
    min-width: 82px !important;
  }
}
.install-home-btn {
  grid-template-columns: 42px minmax(0, 1fr) 94px !important;
  min-height: 116px !important;
  padding-right: 12px !important;
}
.install-phone-visual {
  width: 88px !important;
  height: 108px !important;
  min-width: 88px !important;
  align-self: center !important;
}
.install-phone-img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
}
.install-app-icon {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  color: transparent !important;
  font-size: 0 !important;
  line-height: 1 !important;
  text-align: center !important;
}
@media (min-width: 620px) {
  .install-home-btn {
    grid-template-columns: 42px minmax(0, 1fr) 98px !important;
  }
  .install-phone-visual {
    width: 92px !important;
    height: 112px !important;
    min-width: 92px !important;
  }
}
@media (max-width: 430px) {
  .install-home-btn {
    grid-template-columns: 42px minmax(0, 1fr) 80px !important;
    min-height: 108px !important;
  }
  .install-phone-visual {
    width: 76px !important;
    height: 96px !important;
    min-width: 76px !important;
  }
}
.summary-stops {
  padding-left: 18px !important;
  padding-right: 18px !important;
  text-align: center !important;
}
.summary-stops .mini-label {
  text-align: left !important;
}
.summary-stops #stopCount {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 54px !important;
  margin-top: 6px !important;
  text-align: center !important;
}
@media (min-width: 620px) {
  .summary-stops {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }
  .summary-stops #stopCount {
    min-height: 68px !important;
  }
}
@media (max-width: 520px) {
  .summary-stops {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }
}
.summary-schedule,
.summary-stops {
  padding: 18px !important;
}
.summary-schedule .mini-label,
.summary-stops .mini-label,
.summary-schedule h2,
.summary-stops h2,
.summary-date {
  width: 100% !important;
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.summary-schedule .mini-label,
.summary-stops .mini-label {
  margin-bottom: 8px !important;
}
.summary-schedule h2,
.summary-stops h2 {
  margin-top: 0 !important;
}
.summary-date {
  margin-top: 6px !important;
}
.summary-stops #stopCount {
  min-height: 0 !important;
  margin-top: 2px !important;
}
@media (min-width: 620px) {
  .summary-schedule,
  .summary-stops {
    min-height: 150px !important;
  }
}
@media (max-width: 520px) {
  .summary-schedule,
  .summary-stops {
    padding: 16px 14px !important;
  }
}
.summary-grid {
  align-items: stretch !important;
  gap: 12px !important;
}
.summary-schedule,
.summary-stops {
  position: relative !important;
  min-height: 142px !important;
  padding: 24px 16px 18px !important;
  border-radius: 22px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  background:
    radial-gradient(
      circle at 82% 8%,
      rgba(30, 144, 255, .13),
      transparent 4.6rem),
    linear-gradient(
      145deg,
      #15202deb,
      #16141ae0) !important;
  border: 1px solid rgba(255, 255, 255, .2) !important;
  box-shadow: 0 16px 28px #0000003d, inset 0 1px #ffffff1a !important;
}
.summary-schedule .mini-label,
.summary-stops .mini-label {
  width: auto !important;
  max-width: calc(100% - 42px) !important;
  margin: 0 auto 9px !important;
  padding: 0 !important;
  color: #789ed3 !important;
  font-size: .66rem !important;
  line-height: 1.06 !important;
  letter-spacing: .16em !important;
  text-align: center !important;
  white-space: normal !important;
  overflow: visible !important;
}
.summary-schedule h2,
.summary-stops h2 {
  width: 100% !important;
  margin: 0 auto !important;
  text-align: center !important;
  color: #f4efe1 !important;
  letter-spacing: -.055em !important;
  text-shadow: 0 2px 8px rgba(0, 0, 0, .22) !important;
}
.summary-schedule h2 {
  font-size: clamp(1.95rem, 4.1vw, 2.35rem) !important;
  line-height: .98 !important;
}
.summary-stops h2,
.summary-stops #stopCount {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 0 !important;
  margin-top: 0 !important;
  font-size: clamp(2.08rem, 4.6vw, 2.55rem) !important;
  line-height: 1 !important;
}
.summary-date {
  width: 100% !important;
  margin: 9px auto 0 !important;
  color: #f4efe1c7 !important;
  font-size: .74rem !important;
  line-height: 1 !important;
  text-align: center !important;
}
@media (min-width: 620px) {
  .summary-grid {
    grid-template-columns: minmax(0, 1.14fr) minmax(0, .8fr) minmax(0, 1fr) !important;
  }
  .summary-schedule,
  .summary-stops {
    min-height: 146px !important;
  }
}
@media (max-width: 520px) {
  .summary-grid {
    gap: 10px !important;
  }
  .summary-schedule,
  .summary-stops {
    min-height: 126px !important;
    padding: 22px 12px 16px !important;
  }
  .summary-schedule .mini-label,
  .summary-stops .mini-label {
    font-size: .6rem !important;
    letter-spacing: .14em !important;
  }
  .summary-schedule h2 {
    font-size: clamp(1.55rem, 8vw, 1.95rem) !important;
  }
}
.developer-donate-modal {
  max-width: min(92vw, 430px) !important;
  text-align: left !important;
}
.developer-donate-modal .mini-label,
.developer-donate-modal h2,
.developer-donate-modal p,
.developer-donate-modal small {
  text-align: left !important;
}
.developer-donate-modal h2 {
  line-height: 1.02 !important;
}
.developer-donate-modal .donate-intro,
.developer-donate-modal .donate-note {
  color: #f4efe1cc !important;
  font-size: .95rem !important;
  line-height: 1.45 !important;
  margin: 0 0 10px !important;
}
.developer-donate-modal .donate-note {
  color: #f4efe1b3 !important;
}
.donate-options {
  display: grid !important;
  grid-template-columns: 132px minmax(0, 1fr) !important;
  gap: 14px !important;
  width: 100% !important;
  margin: 14px 0 16px !important;
}
.developer-donate-modal .qr-frame {
  width: 132px !important;
  margin: 0 !important;
}
.developer-donate-modal .venmo-link {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  gap: 4px !important;
  min-height: 58px !important;
  width: 100% !important;
  padding: 13px 14px !important;
  text-decoration: none !important;
}
.developer-donate-modal .venmo-link strong {
  font-size: .98rem !important;
  line-height: 1.1 !important;
}
.developer-donate-modal .venmo-link span {
  line-height: 1.1 !important;
  opacity: .82 !important;
  overflow-wrap: anywhere !important;
}
.developer-donate-modal .modal-ok {
  margin-top: 2px !important;
}
.developer-donate-modal > small {
  display: block !important;
  margin-top: 10px !important;
  color: #f4efe194 !important;
}
@media (max-width: 430px) {
  .donate-options {
    grid-template-columns: 1fr !important;
    justify-items: center !important;
  }
  .developer-donate-modal .qr-frame {
    width: min(170px, 62vw) !important;
  }
  .developer-donate-modal .venmo-link {
    align-items: center !important;
    text-align: center !important;
  }
}
.hero-card {
  padding: 20px 18px 18px !important;
}
.hero-card h1 {
  font-size: clamp(2.16rem, 10vw, 3.55rem) !important;
  line-height: .92 !important;
  margin-bottom: 12px !important;
  max-width: 430px !important;
}
@media (max-width: 520px) {
  .hero-card {
    padding: 18px 14px 16px !important;
  }
  .hero-card h1 {
    font-size: clamp(1.92rem, 9.8vw, 2.48rem) !important;
    margin-bottom: 10px !important;
  }
}
.hero-actions {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
}
.hero-actions #locateBtn {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  max-width: 100% !important;
  justify-self: stretch !important;
}
.hero-actions #allMapBtn {
  grid-column: auto !important;
  width: 100% !important;
  max-width: 100% !important;
  justify-self: stretch !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
@media (max-width: 520px) {
  .hero-actions {
    width: min(100%, 430px) !important;
    max-width: 430px !important;
    gap: 8px !important;
  }
  .hero-actions #allMapBtn {
    min-height: 62px !important;
  }
  .hero-actions #allMapBtn strong {
    font-size: .95rem !important;
  }
  .hero-actions #allMapBtn small {
    font-size: .74rem !important;
    line-height: 1.18 !important;
  }
}
@media (max-width: 520px) {
  .hero-actions #allMapBtn {
    min-height: 54px !important;
  }
  .hero-actions #allMapBtn strong {
    font-size: .92rem !important;
  }
}
.summary-grid {
  gap: 8px !important;
}
.summary-schedule,
.summary-stops {
  min-height: 124px !important;
  padding: 14px !important;
  border-radius: 24px !important;
}
.summary-card .mini-label {
  font-size: .66rem !important;
  letter-spacing: .14em !important;
  margin-bottom: 6px !important;
}
.summary-schedule h2 {
  font-size: clamp(1.9rem, 7.2vw, 2.45rem) !important;
  line-height: .94 !important;
}
.summary-stops h2 {
  font-size: clamp(1.8rem, 6.8vw, 2.35rem) !important;
  line-height: .95 !important;
}
.summary-date {
  margin-top: 4px !important;
  font-size: .78rem !important;
  line-height: 1.12 !important;
}
@media (max-width: 520px) {
  .summary-grid {
    gap: 7px !important;
  }
  .summary-schedule,
  .summary-stops {
    min-height: 112px !important;
    padding: 12px !important;
    border-radius: 22px !important;
  }
  .summary-card .mini-label {
    font-size: .62rem !important;
    margin-bottom: 5px !important;
  }
  .summary-schedule h2 {
    font-size: clamp(1.72rem, 7vw, 2.08rem) !important;
  }
  .summary-stops h2 {
    font-size: clamp(1.68rem, 6.8vw, 2rem) !important;
  }
  .summary-date {
    font-size: .74rem !important;
  }
}
.developer-donate-modal {
  width: min(calc(100vw - 24px), 430px) !important;
  max-width: min(94vw, 430px) !important;
  padding: 16px 14px 14px !important;
  border-radius: 30px !important;
}
.developer-donate-modal .modal-close {
  width: 42px !important;
  height: 42px !important;
  border-radius: 15px !important;
  font-size: 1.65rem !important;
}
.developer-donate-modal .mini-label {
  font-size: .72rem !important;
  letter-spacing: .16em !important;
  margin: 0 0 10px !important;
}
.developer-donate-modal h2 {
  max-width: 320px !important;
  margin: 0 38px 12px 0 !important;
  font-size: clamp(2.15rem, 8.2vw, 3rem) !important;
  line-height: .94 !important;
}
.developer-donate-modal .donate-intro,
.developer-donate-modal .donate-note {
  line-height: 1.38 !important;
  font-weight: 760 !important;
  margin: 0 0 12px !important;
}
.donate-options {
  grid-template-columns: 102px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 12px !important;
  margin: 12px 0 14px !important;
}
.developer-donate-modal .qr-frame {
  width: 102px !important;
  box-shadow: 0 12px 24px #00000038 !important;
}
.developer-donate-modal .venmo-link {
  min-height: 90px !important;
  padding: 14px 16px !important;
  border-radius: 18px !important;
  gap: 6px !important;
  box-shadow: 0 14px 28px #285aa738, inset 0 1px #ffffff38 !important;
}
.developer-donate-modal .venmo-link strong {
  font-size: 1rem !important;
  line-height: 1.08 !important;
}
.developer-donate-modal .venmo-link span {
  font-size: .78rem !important;
  line-height: 1.14 !important;
  opacity: .9 !important;
}
.developer-donate-modal .modal-ok {
  width: min(100%, 300px) !important;
  margin: 2px auto 0 !important;
}
.developer-donate-modal > small {
  display: none !important;
}
@media (max-width: 430px) {
  .developer-donate-modal {
    padding: 15px 13px 13px !important;
  }
  .developer-donate-modal h2 {
    max-width: 280px !important;
    font-size: clamp(1.95rem, 8vw, 2.45rem) !important;
  }
  .donate-options {
    grid-template-columns: 94px minmax(0, 1fr) !important;
    gap: 10px !important;
    justify-items: stretch !important;
  }
  .developer-donate-modal .qr-frame {
    width: 94px !important;
    padding: 8px !important;
  }
  .developer-donate-modal .venmo-link {
    min-height: 82px !important;
    padding: 12px 14px !important;
    align-items: flex-start !important;
    text-align: left !important;
  }
  .developer-donate-modal .venmo-link strong {
    font-size: .95rem !important;
  }
  .developer-donate-modal .venmo-link span {
    font-size: .74rem !important;
  }
}
.install-modal {
  width: min(calc(100% - 20px), 440px) !important;
  max-height: min(92dvh, 720px) !important;
  padding: 24px 18px 18px !important;
  overflow-x: hidden !important;
  border-radius: 26px !important;
  background: #000000 !important;
  border-color: #789ed380 !important;
  box-shadow: 0 26px 72px #00000085, inset 0 1px #ffffff14 !important;
}
.install-modal .mini-label {
  margin: 0 48px 6px !important;
  color: #789ed3 !important;
  text-align: center !important;
  letter-spacing: 0 !important;
}
.install-modal h2 {
  max-width: 340px !important;
  margin: 0 auto 8px !important;
  padding: 0 32px !important;
  color: #f4efe1 !important;
  font-size: 2rem !important;
  line-height: 1.05 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
}
.install-intro {
  margin: 0 auto !important;
  color: #f4efe1b8 !important;
  font-size: .84rem !important;
  line-height: 1.35 !important;
  font-weight: 750 !important;
  text-align: center !important;
}
.install-steps {
  margin: 16px 0 14px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #f4efe1 !important;
  line-height: 1.35 !important;
}
.ios-install-guide,
.android-install-guide,
.install-device-guide {
  display: block !important;
}
.install-platform-note {
  margin: 0 0 11px !important;
  text-align: center !important;
}
.install-platform-note strong,
.install-platform-note span {
  display: block !important;
}
.install-platform-note strong {
  color: #f3c45f !important;
  font-size: .92rem !important;
  line-height: 1.2 !important;
}
.install-platform-note span {
  margin-top: 3px !important;
  color: #f4efe1b8 !important;
  font-size: .78rem !important;
  line-height: 1.3 !important;
  font-weight: 700 !important;
}
.install-guide-list {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  border-top: 1px solid rgba(255, 255, 255, .14) !important;
  border-bottom: 1px solid rgba(255, 255, 255, .14) !important;
}
.install-guide-step {
  display: grid !important;
  grid-template-columns: 34px minmax(0, 1fr) !important;
  align-items: start !important;
  gap: 10px !important;
  min-height: 68px !important;
  padding: 12px 0 !important;
}
.install-guide-step + .install-guide-step {
  margin-top: 0 !important;
  border-top: 1px solid rgba(255, 255, 255, .1) !important;
}
.install-step-number {
  width: 30px !important;
  height: 30px !important;
  display: grid !important;
  place-items: center !important;
  margin-top: 1px !important;
  border-radius: 50% !important;
  color: #08213a !important;
  background: #f3c45f !important;
  box-shadow: 0 5px 12px #00000038 !important;
  font-size: .85rem !important;
  line-height: 1 !important;
  font-weight: 950 !important;
}
.install-step-copy {
  min-width: 0 !important;
}
.install-step-copy strong {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 0 4px !important;
  color: #f4efe1 !important;
  font-size: .94rem !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
}
.install-step-copy strong span {
  min-width: 0 !important;
}
.install-step-copy strong img {
  flex: 0 0 auto !important;
  width: 28px !important;
  height: 28px !important;
  display: block !important;
  border-radius: 8px !important;
  object-fit: contain !important;
}
.install-step-copy small {
  display: block !important;
  color: #f4efe1c2 !important;
  font-size: .82rem !important;
  line-height: 1.38 !important;
  font-weight: 700 !important;
}
.install-step-copy b {
  color: #f4efe1 !important;
  font-weight: 900 !important;
}
.install-result {
  margin: 12px 0 0 !important;
  padding-left: 12px !important;
  border-left: 3px solid #789ed3 !important;
  color: #f4efe1d1 !important;
  font-size: .8rem !important;
  line-height: 1.38 !important;
  font-weight: 750 !important;
  text-align: left !important;
}
.install-modal .modal-ok {
  width: 100% !important;
  min-height: 48px !important;
  margin-top: 0 !important;
}
@media (max-width: 430px) {
  .install-modal {
    padding: 20px 16px 16px !important;
  }
  .install-modal h2 {
    font-size: 1.72rem !important;
  }
  .install-guide-step {
    grid-template-columns: 32px minmax(0, 1fr) !important;
    gap: 9px !important;
    padding: 11px 0 !important;
  }
  .install-step-number {
    width: 28px !important;
    height: 28px !important;
  }
  .install-step-copy strong {
    font-size: .9rem !important;
  }
  .install-step-copy small {
    font-size: .79rem !important;
  }
}
.schedule-picker-card {
  cursor: pointer !important;
  user-select: none !important;
  -webkit-tap-highlight-color: rgba(30, 144, 255, .22) !important;
  transition:
    transform .18s ease,
    border-color .18s ease,
    box-shadow .18s ease !important;
}
.schedule-picker-card:focus-visible {
  outline: 3px solid rgba(30, 144, 255, .72) !important;
  outline-offset: 4px !important;
}
.schedule-picker-card:active {
  transform: scale(.985) !important;
}
.schedule-picker-card.is-day-switch-ready {
  border-color: #789ed370 !important;
  box-shadow:
    0 16px 28px #0000003d,
    0 0 0 1px #789ed329,
    inset 0 1px #ffffff1a !important;
}
.schedule-picker-hint {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  margin-top: 9px !important;
  padding: 6px 10px !important;
  border-radius: 999px !important;
  color: #e9f8ff !important;
  background: #2ab1f529 !important;
  border: 1px solid rgba(30, 144, 255, .24) !important;
  font-size: .68rem !important;
  font-weight: 900 !important;
  letter-spacing: .02em !important;
}
.schedule-picker-hint:after {
  content: "\2304";
  font-size: .9rem;
  line-height: 1;
  transform: translateY(-1px);
}
.day-picker-modal {
  position: relative !important;
  width: min(calc(100vw - 22px), 430px) !important;
  max-height: min(calc(100dvh - 12px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px)), 792px) !important;
  overflow: auto !important;
  border-radius: 30px !important;
  padding: 22px 16px 16px !important;
  text-align: center !important;
  color: #f4efe1 !important;
  background:
    radial-gradient(
      circle at 82% 8%,
      rgba(30, 144, 255, .16),
      transparent 7rem),
    radial-gradient(
      circle at 8% 92%,
      rgba(40, 90, 167, .14),
      transparent 8rem),
    linear-gradient(
      155deg,
      #000000f5,
      #000000f0 62%,
      #000000eb) !important;
  border: 1px solid rgba(40, 90, 167, .52) !important;
  box-shadow: 0 24px 70px #00000073, inset 0 1px #ffffff14 !important;
  backdrop-filter: blur(18px) saturate(1.08) !important;
  -webkit-backdrop-filter: blur(18px) saturate(1.08) !important;
}
.day-picker-calendar-btn {
  position: absolute !important;
  top: 12px !important;
  left: 12px !important;
  z-index: 5 !important;
  width: 46px !important;
  height: 46px !important;
  display: grid !important;
  place-items: center !important;
  padding: 0 !important;
  border: 1.5px solid #fff !important;
  border-radius: 50% !important;
  appearance: none !important;
  color: #fff !important;
  background: #285aa7 !important;
  box-shadow:
    0 0 0 2px #285aa7,
    0 7px 14px #04294c47,
    inset 0 1px #ffffff3d !important;
  cursor: pointer !important;
  touch-action: manipulation !important;
  isolation: isolate !important;
}
.day-picker-calendar-btn:before {
  content: "";
  position: absolute;
  inset: 4px;
  z-index: 0;
  border: 1.5px solid #fff;
  border-radius: 50%;
  background: #fff;
}
.day-picker-calendar-btn img {
  position: relative !important;
  z-index: 1 !important;
  width: 34px !important;
  height: 34px !important;
  object-fit: contain !important;
  filter: none !important;
  transform: none !important;
}
.day-picker-calendar-btn:focus-visible {
  outline: 3px solid rgba(30, 144, 255, .72) !important;
  outline-offset: 4px !important;
}
@media (hover: hover) and (pointer: fine) {
  .day-picker-calendar-btn:hover {
    transform: translateY(-2px) scale(1.035) !important;
    filter: brightness(1.06) saturate(1.04) !important;
  }
}
.day-picker-calendar-btn:active {
  transform: translateY(1px) scale(.97) !important;
}
.day-picker-modal .mini-label {
  color: #789ed3 !important;
  margin: 4px auto 8px !important;
}
.day-picker-modal h2 {
  margin: 0 auto 8px !important;
  font-family: var(--rb-font-ui) !important;
  font-weight: 700 !important;
  font-size: clamp(2rem, 8vw, 2.55rem) !important;
  line-height: .92 !important;
  letter-spacing: -.02em !important;
}
.day-picker-subtext {
  max-width: 330px !important;
  margin: 0 auto 16px !important;
  color: #f4efe1b8 !important;
  font-size: .88rem !important;
  line-height: 1.35 !important;
  font-weight: 800 !important;
}
.day-picker-list {
  display: grid !important;
  gap: 10px !important;
}
.day-picker-option {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  width: 100% !important;
  min-height: 68px !important;
  padding: 13px 14px !important;
  border: 1px solid rgba(255, 255, 255, .16) !important;
  border-radius: 20px !important;
  color: #f4efe1 !important;
  background:
    radial-gradient(
      circle at 88% 12%,
      rgba(30, 144, 255, .12),
      transparent 4rem),
    #ffffff13 !important;
  box-shadow: inset 0 1px #ffffff14 !important;
  cursor: pointer !important;
  text-align: left !important;
}
.day-picker-option.active {
  border-color: #789ed385 !important;
  background:
    linear-gradient(
      145deg,
      #0765b5c7,
      #062542d6) !important;
}
.day-picker-option:focus-visible {
  outline: 3px solid rgba(30, 144, 255, .65) !important;
  outline-offset: 2px !important;
}
.day-picker-main {
  display: grid !important;
  gap: 4px !important;
}
.day-picker-main strong {
  font-size: 1.02rem !important;
  line-height: 1 !important;
}
.day-picker-main small {
  color: #f4efe1b8 !important;
  font-size: .8rem !important;
  font-weight: 850 !important;
}
.day-picker-count {
  flex: 0 0 auto !important;
  padding: 7px 10px !important;
  border-radius: 999px !important;
  color: #09223a !important;
  background:
    linear-gradient(
      135deg,
      #f4efe1,
      #285aa7) !important;
  font-size: .76rem !important;
  font-weight: 950 !important;
  white-space: nowrap !important;
}
@media (max-width: 420px) {
  .day-picker-list {
    gap: 8px !important;
  }
  .day-picker-option {
    min-height: 64px !important;
    padding: 12px !important;
  }
  .day-picker-count {
    font-size: .7rem !important;
  }
}



/* Restored complete production app-shell rules after accidental stylesheet truncation. */
.summary-grid .summary-card:first-child, .summary-schedule, .schedule-picker-card { padding-left: 16px !important; padding-right: 16px !important; text-align: center !important; }
.schedule-picker-card { display: flex !important; flex-direction: column !important; align-items: center !important; justify-content: center !important; gap: 0px !important; }
.schedule-picker-card .mini-label, .schedule-picker-card h2, .schedule-picker-card .summary-date, .schedule-picker-card .schedule-picker-hint { place-self: center !important; text-align: center !important; }
.schedule-picker-card .mini-label { width: 100% !important; max-width: 100% !important; margin-left: auto !important; margin-right: auto !important; margin-bottom: 5px !important; }
.schedule-picker-card h2, .summary-schedule h2, #dayTitle { width: 100% !important; max-width: 100% !important; margin-left: auto !important; margin-right: auto !important; text-align: center !important; transform: none !important; }
.schedule-picker-card .summary-date, #scheduleDateText { display: block !important; width: 100% !important; margin: 4px auto 0px !important; text-align: center !important; }
.schedule-picker-hint { max-width: calc(100% - 18px) !important; margin-left: auto !important; margin-right: auto !important; padding: 7px 11px !important; white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; line-height: 1 !important; font-size: 0.64rem !important; }
@media (max-width: 520px) {
  .summary-grid .summary-card:first-child, .summary-schedule, .schedule-picker-card { padding-left: 12px !important; padding-right: 12px !important; }
  .schedule-picker-hint { max-width: calc(100% - 10px) !important; padding-left: 8px !important; padding-right: 8px !important; font-size: 0.6rem !important; }
}
.hero-actions { grid-template-columns: 1fr !important; }
.hero-actions #locateBtn, .hero-actions #allMapBtn { grid-column: 1 / -1 !important; width: 100% !important; max-width: 100% !important; justify-self: stretch !important; }
.hero-actions #allMapBtn { min-height: 58px !important; }
.hero-actions #allMapBtn small { display: none !important; }
.hero-actions #allMapBtn strong { font-size: 0.98rem !important; line-height: 1.08 !important; }
.stop-card.holiday-card { background: linear-gradient(90deg, rgba(255, 255, 255, 0.5) 0px, rgba(255, 255, 255, 0.5) 24px, rgba(255, 226, 158, 0.2) 24px, rgba(255, 226, 158, 0.2) 50px), radial-gradient(circle at 94% 20%, rgba(255, 255, 255, 0.22), transparent 8rem), linear-gradient(rgba(244, 239, 225, 0.96), rgba(236, 228, 216, 0.94)) !important; border-color: rgba(91, 149, 215, 0.34) !important; }
.stop-card.holiday-card > * { position: relative; z-index: 1; }
.stop-card.holiday-card::after { content: ""; position: absolute; z-index: 0; pointer-events: none; right: clamp(14px, 4vw, 24px); top: clamp(48px, 9vw, 70px); width: clamp(108px, 31%, 176px); height: clamp(74px, 18vw, 116px); background-position: center center; background-repeat: no-repeat; background-size: contain; opacity: 0.93; filter: drop-shadow(rgba(42, 73, 154, 0.12) 0px 8px 12px); }
@media (max-width: 480px) {
  .stop-card.holiday-card::after { right: 10px; top: 62px; width: min(34vw, 134px); height: min(21vw, 90px); opacity: 0.82; }
}
.results { grid-template-columns: minmax(0px, 1fr) !important; }
.stop-card, .stop-card.holiday-card { background: linear-gradient(rgba(255, 249, 239, 0.88), rgba(255, 249, 239, 0.88)), url("assets/schedule-wavy-stripes.webp?v=e60748e390c2&rb=20260802b") center center / cover no-repeat !important; border: 1px solid rgba(112, 164, 224, 0.3) !important; box-shadow: rgba(29, 18, 5, 0.18) 0px 16px 32px, rgba(255, 255, 255, 0.74) 0px 1px inset !important; }
.stop-card h3 { text-shadow: rgba(255, 255, 255, 0.22) 0px 1px 0px; }
:root { --rb-card-wavy-bg-strong: linear-gradient(rgba(244, 239, 225, .24), rgba(244, 239, 225, .24)), url(assets/schedule-wavy-stripes.webp?v=e60748e390c2&rb=20260802b) center center / cover no-repeat; }
.stop-card, .stop-card.holiday-card { background-image:  !important; background-position-x:  !important; background-position-y:  !important; background-size:  !important; background-repeat:  !important; background-attachment:  !important; background-origin:  !important; background-clip:  !important; background-color: rgb(244, 239, 225) !important; background-blend-mode: normal, normal !important; border: 2px solid rgba(120, 158, 211, 0.34) !important; box-shadow: rgba(29, 18, 5, 0.22) 0px 16px 34px, rgba(255, 255, 255, 0.76) 0px 1px inset !important; }
.stop-card h3 { color: rgb(42, 73, 154) !important; text-shadow: rgba(255, 255, 255, 0.52) 0px 1px 0px !important; }
.stop-time, .stop-address, .stop-source { text-shadow: rgba(255, 255, 255, 0.42) 0px 1px 0px !important; }
.stop-card.holiday-card::after { opacity: 0.98; filter: drop-shadow(rgba(42, 73, 154, 0.16) 0px 10px 14px); }
.stop-card.holiday-card[data-holiday-art="sky-burst-duo"]::after { background-image: url("assets/sky-burst-duo.png?v=3e0e6c4f1992&rb=20260728a") !important; }
.stop-card.holiday-card[data-holiday-art="waving-flag"]::after { background-image: url("assets/waving-flag.png?v=513e9019958d&rb=20260728a") !important; }
.stop-card.holiday-card[data-holiday-art="rocket-trail"]::after { background-image: url("assets/rocket-trail.png?v=6246f885618c&rb=20260728a") !important; }
.stop-card.holiday-card[data-holiday-art="uncle-sam-hat"]::after { background-image: url("assets/uncle-sam-hat.png?v=fe271a3033c7&rb=20260728a") !important; }
.stop-card.holiday-card[data-holiday-art="star-cluster"]::after { background-image: url("assets/star-cluster.png?v=16e0a9cb2952&rb=20260728a") !important; }
.stop-card.holiday-card[data-holiday-art="sparkler-wand"]::after { background-image: url("assets/sparkler-wand.png?v=5be8088f7fc6&rb=20260728a") !important; }
.stop-card.holiday-card[data-holiday-art="liberty-bell"]::after { background-image: url("assets/liberty-bell.png?v=705a2ac300ef&rb=20260728a") !important; }
.stop-card.holiday-card[data-holiday-art="eagle-star"]::after { background-image: url("assets/eagle-star.png?v=4272bd6dc392&rb=20260728a") !important; }
.stop-card.holiday-card[data-holiday-art="coffee-fireworks"]::after, .stop-card.holiday-card[data-holiday-art="bunting-banner"]::after { background-image: url("assets/coffee-fireworks.png?v=cb4787133afc&rb=20260728a") !important; }
.stop-card.holiday-card[data-holiday-art="balloon-trio"]::after { background-image: url("assets/balloon-trio.png?v=523befccb1ab&rb=20260728a") !important; }
.stop-card.holiday-card[data-holiday-art="patriotic-pinwheel"]::after { background-image: url("assets/patriotic-pinwheel.png?v=5e4a2e9add6d&rb=20260728a") !important; }
.stop-card.holiday-card[data-holiday-art="flag-popsicle"]::after { background-image: url("assets/flag-popsicle.png?v=9161354bb708&rb=20260728a") !important; }
.stop-card.holiday-card[data-holiday-art="parade-drum"]::after { background-image: url("assets/parade-drum.png?v=d5bbba1100ae&rb=20260728a") !important; }
.stop-card.holiday-card[data-holiday-art="firecracker-bundle"]::after { background-image: url("assets/firecracker-bundle.png?v=f902ac5f4502&rb=20260728a") !important; }
.stop-card.holiday-card[data-holiday-art="roman-candle"]::after { background-image: url("assets/roman-candle.png?v=6e3af48d3ecb&rb=20260728a") !important; }
.stop-card.holiday-card[data-holiday-art="shooting-star"]::after { background-image: url("assets/shooting-star.png?v=b158a95a2317&rb=20260728a") !important; }
.stop-card.holiday-card[data-holiday-art="rosette-ribbon"]::after { background-image: url("assets/rosette-ribbon.png?v=9d6469eae116&rb=20260728a") !important; }
.stop-card.holiday-card[data-holiday-art="seventeen-seventy-six"]::after { background-image: url("assets/seventeen-seventy-six.png?v=f9ee69a152d7&rb=20260728a") !important; }
.stop-card.holiday-card[data-holiday-art="map-pin-stars"]::after { background-image: url("assets/map-pin-stars.png?v=ff17fd34fb72&rb=20260728a") !important; }
.stop-card.holiday-card[data-holiday-art="coffee-flag-sleeve"]::after { background-image: url("assets/coffee-flag-sleeve.png?v=8495f67af1c3&rb=20260728a") !important; }
.stop-card.holiday-card[data-holiday-art="confetti-swirl"]::after { background-image: url("assets/confetti-swirl.png?v=f091ee9ec06b&rb=20260728a") !important; }
.stop-card.holiday-card[data-holiday-art="heart-flag"]::after { background-image: url("assets/heart-flag.png?v=578fe06035ad&rb=20260728a") !important; }
.stop-card.holiday-card[data-holiday-art="star-sunglasses"]::after { background-image: url("assets/star-sunglasses.png?v=e3049a95df21&rb=20260728a") !important; }
.stop-card.holiday-card[data-holiday-art="ferris-firework"]::after { background-image: url("assets/ferris-firework.png?v=c3347dec7782&rb=20260728a") !important; }
.stop-card.holiday-card[data-holiday-art="grill-flame"]::after { background-image: url("assets/grill-flame.png?v=ab19c6a8c5bd&rb=20260728a") !important; }
.stop-card.holiday-card[data-holiday-art="picnic-sparkle"]::after { background-image: url("assets/picnic-sparkle.png?v=e7b7b3be950b&rb=20260728a") !important; }
.stop-card.holiday-card[data-holiday-art="lantern-stars"]::after { background-image: url("assets/lantern-stars.png?v=6d7996ef7f29&rb=20260728a") !important; }
.stop-card.holiday-card[data-holiday-art="usa-banner"]::after { background-image: url("assets/usa-banner.png?v=c57b7e63b9b8&rb=20260728a") !important; }
.stop-card.holiday-card[data-holiday-art="cupcake-sparkler"]::after { background-image: url("assets/cupcake-sparkler.png?v=328395de0e9b&rb=20260728a") !important; }
.stop-card.holiday-card::after { background-size: contain !important; background-position: center center !important; opacity: 0.98 !important; filter: drop-shadow(rgba(42, 73, 154, 0.16) 0px 10px 14px) !important; }
.stop-card.coffee-art-card { position: relative; overflow: hidden; }
.stop-card.coffee-art-card > * { position: relative; z-index: 1; }
.stop-card.coffee-art-card::after { content: ""; position: absolute; right: clamp(10px, 2vw, 18px); top: clamp(72px, 9vw, 92px); width: clamp(76px, 18vw, 104px); height: clamp(108px, 24vw, 142px); background-repeat: no-repeat; background-position: center center; background-size: contain; opacity: 0.98; filter: drop-shadow(rgba(26, 26, 26, 0.16) 0px 12px 16px); pointer-events: none; z-index: 0; }
@media (max-width: 640px) {
  .stop-card.coffee-art-card::after { right: 10px; top: 84px; width: min(21vw, 92px); height: min(28vw, 128px); }
}
@media (max-width: 420px) {
  .stop-card.coffee-art-card::after { right: 8px; top: 88px; width: min(20vw, 84px); height: min(27vw, 118px); }
}
.stop-card .stop-time { width: fit-content !important; max-width: 100% !important; display: inline-flex !important; align-items: center !important; gap: 7px !important; margin: 8px 0px 5px !important; padding: 5px 11px 5px 10px !important; border-radius: 999px !important; color: rgb(121, 66, 13) !important; background: linear-gradient(135deg, rgba(244, 239, 225, 0.98), rgba(246, 211, 150, 0.82)) !important; border: 1px solid rgba(184, 117, 32, 0.28) !important; box-shadow: rgba(117, 74, 21, 0.1) 0px 7px 14px, rgba(255, 255, 255, 0.76) 0px 1px inset !important; font-size: clamp(0.86rem, 2.7vw, 0.98rem) !important; line-height: 1 !important; font-weight: 950 !important; letter-spacing: 0.005em !important; text-shadow: rgba(255, 255, 255, 0.58) 0px 1px 0px !important; }
.stop-card .stop-time::before { content: ""; width: 7px; height: 7px; border-radius: 999px; flex: 0 0 auto; background: rgb(189, 122, 37); box-shadow: rgba(218, 157, 72, 0.2) 0px 0px 0px 3px; }
.stop-card .distance-chip { color: rgb(255, 255, 255) !important; background: linear-gradient(135deg, rgba(42, 73, 154, 0.97), rgba(42, 73, 154, 0.96)) !important; border: 1px solid rgba(255, 255, 255, 0.42) !important; box-shadow: rgba(6, 22, 35, 0.2) 0px 8px 16px, rgba(255, 255, 255, 0.2) 0px 1px inset !important; font-weight: 950 !important; letter-spacing: -0.01em !important; text-shadow: rgba(0, 0, 0, 0.34) 0px 1px 0px !important; }
.stop-card .open-chip.scheduled-chip, .stop-card .scheduled-chip { color: rgb(7, 64, 100) !important; background: linear-gradient(135deg, rgb(238, 250, 255), rgb(189, 230, 251) 56%, rgb(142, 210, 244)) !important; border: 1px solid rgba(42, 128, 190, 0.34) !important; box-shadow: rgba(13, 91, 143, 0.16) 0px 7px 14px, rgba(255, 255, 255, 0.8) 0px 1px inset !important; text-shadow: rgba(255, 255, 255, 0.62) 0px 1px 0px !important; }
@media (max-width: 480px) {
  .stop-card .stop-time { padding: 5px 10px !important; font-size: 0.86rem !important; }
  .stop-card .distance-chip { font-size: 0.72rem !important; padding-left: 10px !important; padding-right: 10px !important; }
}
html, body { width: 100% !important; min-width: 0px !important; max-width: 100% !important; overflow-x: hidden !important; overscroll-behavior-x: none !important; }
html { overflow-y: auto; }
@supports (overflow-x: clip) {
  html, body { overflow-x: clip !important; }
}
body { position: relative !important; }
* { box-sizing: border-box; }
img, svg, canvas, video { max-width: 100%; }
.app-shell, .hero-card, .summary-grid, .summary-card, .results, .stop-card { min-width: 0px !important; max-width: 100% !important; }
@media (max-width: 760px) {
  .app-shell, main, .hero-card, .summary-grid, .summary-card, .results, .stop-card { overflow-x: hidden !important; }
}
.stop-card.coffee-art-card::after { bottom: clamp(54px, 8vw, 72px) !important; right: clamp(12px, 3.4vw, 24px) !important; width: clamp(88px, 19vw, 122px) !important; height: clamp(120px, 28vw, 160px) !important; z-index: 0 !important; }
@media (max-width: 640px) {
  .stop-card.coffee-art-card::after { bottom: 58px !important; right: 12px !important; width: min(24vw, 104px) !important; height: min(34vw, 146px) !important; }
}
@media (max-width: 430px) {
  .stop-card.coffee-art-card::after { bottom: 56px !important; right: 10px !important; width: min(23vw, 98px) !important; height: min(32vw, 136px) !important; }
}
.stop-card.coffee-art-card { isolation: isolate !important; }
.stop-card.coffee-art-card::after { top: auto !important; bottom: clamp(48px, 7vw, 64px) !important; right: clamp(12px, 3.2vw, 22px) !important; width: clamp(84px, 18vw, 118px) !important; height: clamp(116px, 27vw, 154px) !important; background-position: center bottom !important; background-size: contain !important; z-index: 1 !important; }
.stop-card.coffee-art-card > * { position: relative !important; z-index: 2 !important; }
.stop-card.coffee-art-card .route-main { position: relative !important; z-index: 3 !important; }
@media (max-width: 640px) {
  .stop-card.coffee-art-card::after { top: auto !important; bottom: 44px !important; right: 10px !important; width: min(22vw, 96px) !important; height: min(31vw, 132px) !important; }
}
@media (max-width: 430px) {
  .stop-card.coffee-art-card::after { top: auto !important; bottom: 42px !important; right: 9px !important; width: min(21vw, 90px) !important; height: min(30vw, 124px) !important; }
}
@media (max-width: 640px) {
  .stop-card.holiday-card::after { bottom: 54px !important; z-index: 1 !important; }
  .stop-card.holiday-card > * { position: relative !important; z-index: 2 !important; }
  .stop-card.holiday-card .route-main { position: relative !important; z-index: 3 !important; }
}
@media (max-width: 430px) {
  .stop-card.holiday-card::after { bottom: 50px !important; }
}
@media (max-width: 640px) {
  .stop-card.holiday-card::after { bottom: 68px !important; }
}
@media (max-width: 430px) {
  .stop-card.holiday-card::after { bottom: 64px !important; }
}
@media (max-width: 640px) {
  .stop-card.holiday-card::after { top: auto !important; bottom: 84px !important; right: 12px !important; width: min(24vw, 108px) !important; height: min(22vw, 96px) !important; background-position: center bottom !important; background-size: contain !important; }
}
@media (max-width: 430px) {
  .stop-card.holiday-card::after { top: auto !important; bottom: 80px !important; right: 10px !important; width: min(23vw, 100px) !important; height: min(21vw, 90px) !important; }
}
@media (min-width: 641px) {
  .stop-card.coffee-art-card::after { top: auto !important; bottom: clamp(26px, 3.2vw, 42px) !important; right: clamp(14px, 2.8vw, 24px) !important; width: clamp(76px, 13vw, 102px) !important; height: clamp(104px, 20vw, 132px) !important; background-position: center bottom !important; background-size: contain !important; z-index: 1 !important; }
  .stop-card.coffee-art-card .route-main { position: relative !important; z-index: 3 !important; }
}
.stop-card.cancelled-card { border-color: rgba(199, 39, 31, 0.72) !important; box-shadow: rgba(95, 7, 7, 0.24) 0px 18px 34px, rgba(199, 39, 31, 0.18) 0px 0px 0px 2px inset, rgba(255, 255, 255, 0.78) 0px 1px inset !important; isolation: isolate !important; }
.stop-card.cancelled-card::after { display: none !important; content: none !important; background-image: none !important; }
.stop-card.cancelled-card::before { content: "" !important; position: absolute !important; inset: 0px !important; z-index: 1 !important; border-radius: inherit !important; pointer-events: none !important; background: linear-gradient(rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0) 42%), repeating-linear-gradient(-16deg, rgba(194, 58, 58, 0.043) 0px, rgba(194, 58, 58, 0.043) 10px, rgba(255, 255, 255, 0) 10px, rgba(255, 255, 255, 0) 24px) !important; opacity: 1 !important; }
.stop-card.cancelled-card > * { position: relative !important; z-index: 3 !important; }
.stop-card.cancelled-card .open-chip.cancelled-chip, .stop-card.cancelled-card .distance-chip { background: linear-gradient(135deg, rgb(185, 28, 28), rgb(239, 68, 68)) !important; color: rgb(255, 247, 237) !important; border-color: rgba(255, 255, 255, 0.52) !important; box-shadow: rgba(185, 28, 28, 0.2) 0px 8px 18px !important; }
.stop-card.cancelled-card .stop-name, .stop-card.cancelled-card .stop-time, .stop-card.cancelled-card .stop-address, .stop-card.cancelled-card .stop-source { color: rgba(59, 20, 20, 0.88) !important; }
.stop-card.cancelled-card .route-main.route-disabled, .stop-card.cancelled-card .route-main:disabled { cursor: not-allowed !important; background: linear-gradient(135deg, rgb(185, 28, 28), rgb(127, 29, 29)) !important; border-color: rgba(255, 255, 255, 0.4) !important; box-shadow: rgba(127, 29, 29, 0.24) 0px 12px 24px, rgba(255, 255, 255, 0.22) 0px 1px inset !important; opacity: 0.92 !important; }
.install-footer { grid-template-columns: repeat(2, minmax(0px, 1fr)) !important; }
@media (max-width: 560px) {
  .install-footer { grid-template-columns: repeat(2, minmax(0px, 1fr)) !important; gap: 10px !important; margin-top: 12px !important; }
  .install-footer .install-app-btn { min-height: 108px !important; padding: 12px 10px !important; grid-template-columns: 34px minmax(0px, 1fr) !important; gap: 8px !important; align-items: center !important; }
  .install-footer .install-app-icon { width: 34px !important; height: 34px !important; border-radius: 12px !important; font-size: 0.9rem !important; }
  .install-footer .install-app-btn strong { font-size: clamp(0.76rem, 3.7vw, 0.93rem) !important; line-height: 1.05 !important; }
  .install-footer .install-app-btn small { margin-top: 4px !important; font-size: clamp(0.66rem, 3.15vw, 0.78rem) !important; line-height: 1.18 !important; }
  .install-home-btn { grid-template-columns: 34px minmax(0px, 1fr) 44px !important; gap: 7px !important; }
  .install-home-btn .install-copy { min-width: 0px !important; }
  .install-home-btn .install-phone-visual { width: 44px !important; height: 60px !important; }
}
@media (max-width: 380px) {
  .install-footer { gap: 8px !important; }
  .install-footer .install-app-btn { min-height: 102px !important; padding: 10px 8px !important; grid-template-columns: 30px minmax(0px, 1fr) !important; gap: 7px !important; }
  .install-footer .install-app-icon { width: 30px !important; height: 30px !important; border-radius: 10px !important; }
  .install-home-btn { grid-template-columns: 30px minmax(0px, 1fr) 38px !important; }
  .install-home-btn .install-phone-visual { width: 38px !important; height: 52px !important; }
}
.install-footer .share-app-icon { color: rgb(255, 255, 255) !important; overflow: hidden !important; background: transparent !important; border: 0px !important; box-shadow: none !important; }
.install-footer .share-app-icon img { width: 100% !important; height: 100% !important; display: block !important; object-fit: contain !important; border-radius: 13px !important; }
.install-footer .install-home-icon { overflow: hidden !important; background: transparent !important; border: 0px !important; box-shadow: none !important; }
.install-footer .install-home-icon img { width: 100% !important; height: 100% !important; display: block !important; object-fit: contain !important; border-radius: 13px !important; }
.install-footer .install-home-btn .install-app-icon, .install-footer .install-home-btn .install-home-icon { color: transparent !important; font-size: 0px !important; line-height: 0 !important; overflow: hidden !important; background: url("assets/ios-add-home-icon.svg?v=66f33cd088fa&rb=20260728a") center center / contain no-repeat transparent !important; border: 0px !important; box-shadow: none !important; }
.install-footer .install-home-btn .install-app-icon img, .install-footer .install-home-btn .install-home-icon img { width: 100% !important; height: 100% !important; display: block !important; object-fit: contain !important; border-radius: inherit !important; }
@media (max-width: 360px) {
  .install-footer { gap: 8px !important; }
  .install-footer .install-app-btn { min-height: 96px !important; padding: 9px 8px !important; grid-template-columns: 28px minmax(0px, 1fr) !important; gap: 7px !important; align-items: center !important; border-radius: 17px !important; }
  .install-footer .install-app-icon { width: 28px !important; height: 28px !important; flex: 0 0 28px !important; border-radius: 9px !important; }
  .install-footer .install-app-btn strong { font-size: clamp(0.68rem, 3.35vw, 0.84rem) !important; line-height: 1.08 !important; letter-spacing: 0px !important; }
  .install-footer .install-app-btn small { margin-top: 3px !important; font-size: clamp(0.58rem, 2.9vw, 0.7rem) !important; line-height: 1.16 !important; }
  .install-footer .share-app-btn { grid-template-columns: 28px minmax(0px, 1fr) !important; }
  .install-home-btn { grid-template-columns: 28px minmax(0px, 1fr) !important; padding-right: 8px !important; }
  .install-home-btn .install-copy { padding-right: 24px !important; }
  .install-home-btn .install-phone-visual { position: absolute !important; right: 8px !important; bottom: 7px !important; width: 25px !important; height: 42px !important; min-width: 25px !important; place-self: auto !important; opacity: 0.96 !important; pointer-events: none !important; }
}
@media (max-width: 430px) {
  .install-footer { grid-template-columns: repeat(2, minmax(0px, 1fr)) !important; gap: 8px !important; }
  .install-footer .install-app-btn { min-width: 0px !important; min-height: 94px !important; padding: 9px 8px !important; grid-template-columns: 28px minmax(0px, 1fr) !important; gap: 7px !important; align-items: center !important; border-radius: 17px !important; overflow: hidden !important; }
  .install-footer .install-app-icon { width: 28px !important; height: 28px !important; flex: 0 0 28px !important; border-radius: 9px !important; }
  .install-footer .install-app-btn strong { font-size: clamp(0.66rem, 3.2vw, 0.82rem) !important; line-height: 1.06 !important; letter-spacing: 0px !important; }
  .install-footer .install-app-btn small { margin-top: 3px !important; font-size: clamp(0.56rem, 2.72vw, 0.68rem) !important; line-height: 1.14 !important; }
  .install-footer .share-app-btn, .install-home-btn { grid-template-columns: 28px minmax(0px, 1fr) !important; }
  .install-home-btn { position: relative !important; padding-right: 8px !important; }
  .install-home-btn .install-copy { min-width: 0px !important; padding-right: 24px !important; }
  .install-home-btn .install-phone-visual { display: block !important; position: absolute !important; right: 7px !important; bottom: 7px !important; width: 22px !important; height: 38px !important; min-width: 22px !important; place-self: auto !important; opacity: 0.94 !important; pointer-events: none !important; }
}
.schedule-picker-hint { padding: 8px 13px !important; color: rgb(255, 255, 255) !important; background: linear-gradient(135deg, rgb(30, 144, 255), rgb(40, 90, 167)) !important; border: 1px solid rgba(255, 255, 255, 0.44) !important; box-shadow: rgba(40, 90, 167, 0.23) 0px 10px 20px, rgba(255, 255, 255, 0.36) 0px 1px inset !important; font-size: 0.72rem !important; letter-spacing: 0.045em !important; text-transform: uppercase !important; }
.schedule-picker-hint::after { content: "v" !important; font-size: 0.64rem !important; font-weight: 1000 !important; line-height: 1 !important; transform: translateY(-1px) !important; }
@media (max-width: 430px) {
  .install-home-btn .install-copy { padding-right: 0px !important; }
  .install-home-btn .install-phone-visual { display: none !important; }
}
.schedule-picker-hint::after { content: "" !important; width: 7px !important; height: 7px !important; margin-left: 1px !important; border-right: 2px solid !important; border-bottom: 2px solid !important; border-radius: 1px !important; transform: rotate(45deg) translateY(-3px) !important; }
.route-main::after { display: none !important; content: none !important; }
.stop-actions { grid-template-columns: minmax(0px, 0.92fr) minmax(0px, 1.08fr) !important; }
.stop-actions .route-main { margin-top: 0px !important; min-width: 0px !important; min-height: 56px !important; padding: 8px 11px !important; }
.save-stop-btn { appearance: none !important; min-width: 0px !important; min-height: 56px !important; padding: 8px 10px !important; display: flex !important; align-items: center !important; justify-content: flex-start !important; gap: 9px !important; text-align: left !important; color: rgb(42, 73, 154) !important; background: radial-gradient(circle at 20% 15%, rgba(255, 255, 255, 0.72), transparent 2.5rem), linear-gradient(135deg, rgba(255, 250, 238, 0.96), rgba(232, 242, 248, 0.94)) !important; border: 1px solid rgba(31, 125, 190, 0.24) !important; border-radius: 18px !important; box-shadow: rgba(5, 28, 46, 0.12) 0px 12px 22px, rgba(255, 255, 255, 0.78) 0px 1px inset !important; cursor: pointer !important; touch-action: manipulation !important; }
.save-stop-btn:focus-visible { outline: rgba(30, 144, 255, 0.38) solid 3px !important; outline-offset: 3px !important; }
.save-stop-btn:active { transform: translateY(1px) scale(0.99) !important; }
.save-stop-icon { width: 34px !important; height: 34px !important; min-width: 34px !important; display: inline-grid !important; place-items: center !important; border-radius: 12px !important; color: rgb(255, 255, 255) !important; background: linear-gradient(135deg, rgb(30, 144, 255), rgb(40, 90, 167)) !important; box-shadow: rgba(40, 90, 167, 0.25) 0px 10px 17px !important; }
.save-stop-icon svg { width: 20px !important; height: 20px !important; fill: none !important; stroke: currentcolor !important; stroke-width: 2.25 !important; stroke-linecap: round !important; stroke-linejoin: round !important; }
.save-stop-copy strong, .save-stop-copy small { display: block !important; overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; }
.save-stop-copy strong { color: inherit !important; font-size: clamp(0.78rem, 3.1vw, 0.94rem) !important; font-weight: 950 !important; }
.save-stop-copy small { font-size: clamp(0.58rem, 2.45vw, 0.7rem) !important; }
@media (max-width: 520px) {
  .stop-actions { grid-template-columns: minmax(0px, 1fr) minmax(0px, 1fr) !important; gap: 8px !important; }
  .stop-actions .route-main, .save-stop-btn { min-height: 54px !important; border-radius: 16px !important; }
  .save-stop-icon { width: 30px !important; height: 30px !important; min-width: 30px !important; border-radius: 10px !important; }
  .save-stop-icon svg { width: 18px !important; height: 18px !important; }
}
@media (max-width: 360px) {
  .stop-actions { grid-template-columns: 1fr !important; }
}
body::before { background-image: var(--rb-page-bg-image, var(--rb-app-background-image)) !important; }
:root { --rb-card-wavy-bg-strong: linear-gradient(rgba(244, 239, 225, .24), rgba(244, 239, 225, .24)), var(--rb-card-bg-image, url(assets/schedule-wavy-stripes.webp?v=e60748e390c2&rb=20260802b)) center center / cover no-repeat; }
.stop-card.coffee-art-card::after { background-image: var(--rb-stop-cup-image, var(--rb-cup-default-image, url(assets/rb-cup-caramelized-banana-latte.png?v=20260803h&rb=20260803h))) !important; }
.stop-card.holiday-card::after { background-image: var(--rb-holiday-art-image, var(--rb-holiday-default-image, url(assets/sky-burst-duo.png?v=3e0e6c4f1992&rb=20260728a))) !important; }
.hero-card { position: relative !important; padding-top: 16px !important; }
.hero-award-badge { position: absolute !important; top: clamp(10px, 2.3vw, 16px) !important; right: clamp(10px, 2.3vw, 16px) !important; z-index: 5 !important; width: clamp(62px, 15vw, 88px) !important; height: auto !important; display: block !important; border-radius: 999px !important; filter: drop-shadow(rgba(0, 0, 0, 0.34) 0px 10px 14px) drop-shadow(rgba(255, 255, 255, 0.01) 0px 0px 0px) !important; transform: rotate(4deg) !important; pointer-events: none !important; }
.inline-brand-logo.hero-brand-logo { width: min(100%, 405px); margin: 0px auto 12px; color: rgb(15, 94, 174); border-radius: 36px; padding: 0px !important; gap: 0px !important; justify-content: center !important; background: transparent !important; border: 0px !important; box-shadow: none !important; }
.hero-brand-logo .inline-brand-mark { position: relative; z-index: 1; display: block; width: min(80vw, 352px); max-width: 352px; height: auto; border-radius: 36px; box-shadow: rgba(0, 0, 0, 0.26) 0px 18px 34px, rgba(122, 190, 241, 0.18) 0px 0px 0px 1px; }
.hero-card h1 { margin-top: 2px !important; }
.hero-card h1::before, .hero-card h1::after { font-family: var(--rb-font-display) !important; font-size: 3.18rem !important; font-weight: 400 !important; letter-spacing: 0px !important; line-height: 0.95 !important; text-shadow: rgba(0, 0, 0, 0.26) 0px 16px 32px !important; }
.hero-card h1::before { content: "Where the Grind" !important; }
.hero-card h1::after { content: "Never Stops" !important; }
.hero-card h1 > * { display: none !important; }
.hero-card .status-text { display: block !important; width: 100% !important; max-width: 448px !important; margin-left: auto !important; margin-right: auto !important; text-align: center !important; }
@media (max-width: 430px) {
  .inline-brand-logo.hero-brand-logo { width: min(100%, 342px); margin-bottom: 10px; border-radius: 32px; padding: 0px !important; }
  .hero-brand-logo .inline-brand-mark { width: min(78vw, 312px); max-width: 312px; border-radius: 32px; }
  .hero-card h1::before, .hero-card h1::after { font-size: 2.42rem !important; }
  .hero-award-badge { width: clamp(54px, 16vw, 66px) !important; top: 9px !important; right: 9px !important; }
}
.stop-card.cancelled-card { isolation: isolate; border-color: rgba(184, 62, 62, 0.44) !important; background: linear-gradient(90deg, rgba(191, 62, 62, 0.12), rgba(244, 239, 225, 0) 38%), radial-gradient(circle at 90% 10%, rgba(191, 62, 62, 0.11), rgba(191, 62, 62, 0) 10rem), linear-gradient(145deg, rgba(244, 239, 225, 0.9), rgba(246, 232, 218, 0.78)) !important; box-shadow: rgba(0, 0, 0, 0.22) 0px 18px 36px, rgba(190, 55, 55, 0.72) 5px 0px inset, rgba(255, 255, 255, 0.78) 0px 1px inset !important; }
.stop-card.cancelled-card::after, .stop-card.cancelled-card[data-cancelled-label]::after { content: none !important; display: none !important; }
.stop-card.cancelled-card > * { position: relative; z-index: 2; }
.stop-card.cancelled-card .card-topline { margin-bottom: 12px !important; }
.stop-card.cancelled-card .distance-chip { display: none !important; }
.stop-card.cancelled-card .open-chip, .stop-card.cancelled-card .cancelled-chip { color: rgb(255, 255, 255) !important; background: linear-gradient(135deg, rgb(217, 74, 74), rgb(169, 49, 49)) !important; border: 1px solid rgba(255, 255, 255, 0.5) !important; box-shadow: rgba(148, 41, 41, 0.18) 0px 8px 16px, rgba(255, 255, 255, 0.28) 0px 1px inset !important; }
.stop-card.cancelled-card .stop-name { color: rgb(60, 37, 48) !important; text-decoration: none !important; }
.stop-card.cancelled-card .stop-time { color: rgb(116, 58, 44) !important; background: rgba(160, 68, 45, 0.1) !important; border-color: rgba(160, 68, 45, 0.16) !important; }
.stop-card.cancelled-card .stop-address { color: rgba(60, 37, 48, 0.78) !important; }
.stop-card.cancelled-card .stop-source { color: rgba(91, 50, 55, 0.78) !important; font-size: 0px !important; font-weight: 850 !important; }
.stop-card.cancelled-card .stop-source::before { display: inline-block; font-size: 0.82rem; line-height: 1.25; content: "Cancelled Removed" !important; }
.stop-card.cancelled-card .route-main, .stop-card.cancelled-card .route-main.route-disabled { display: none !important; }
.stop-card.cancelled-card .route-icon, .stop-card.cancelled-card .route-main::after { display: none !important; }
@media (max-width: 520px) {
  .stop-card.cancelled-card { box-shadow: rgba(0, 0, 0, 0.22) 0px 14px 28px, rgba(190, 55, 55, 0.72) 4px 0px inset, rgba(255, 255, 255, 0.78) 0px 1px inset !important; }
  .stop-card.cancelled-card .card-topline { margin-bottom: 10px !important; }
}
body.is-loading-schedule #results { min-height: 756px; }
.schedule-loading-card { position: relative; display: grid; grid-template-rows: 28px 42px 26px 22px minmax(58px, 1fr); align-content: start; gap: 10px; min-height: 236px; padding: 18px; overflow: hidden; border: 1px solid rgba(40, 90, 167, 0.48); border-radius: 22px; background: linear-gradient(90deg, rgba(255, 255, 255, 0.28) 0px, rgba(255, 255, 255, 0.28) 12%, transparent 12%, transparent 23%, rgba(255, 255, 255, 0.28) 23%, rgba(255, 255, 255, 0.28) 35%, transparent 35%, transparent 46%, rgba(255, 255, 255, 0.28) 46%, rgba(255, 255, 255, 0.28) 58%, transparent 58%, transparent 69%, rgba(255, 255, 255, 0.28) 69%, rgba(255, 255, 255, 0.28) 81%, transparent 81%), linear-gradient(145deg, rgba(244, 239, 225, 0.96), rgba(255, 235, 192, 0.9)); box-shadow: rgba(0, 0, 0, 0.22) 0px 18px 36px, rgba(255, 255, 255, 0.72) 0px 1px inset; pointer-events: none; }
.schedule-loading-card::after { content: ""; position: absolute; inset: 0px; transform: translate(-120%); background: linear-gradient(100deg, transparent 28%, rgba(255, 255, 255, 0.52) 48%, transparent 68%); animation: 1.55s ease-in-out 0s infinite normal none running rbScheduleCardShimmer; }
.schedule-loading-card:nth-of-type(2)::after { animation-delay: 0.12s; }
.schedule-loading-card:nth-of-type(3)::after { animation-delay: 0.24s; }
.schedule-loading-chip, .schedule-loading-line, .schedule-loading-action { display: block; border: 1px solid rgba(40, 90, 167, 0.1); background: rgba(42, 73, 154, 0.1); }
.schedule-loading-chip { width: 88px; height: 28px; border-radius: 999px; }
.schedule-loading-line { height: 100%; border-radius: 9px; }
.schedule-loading-title-line { width: min(76%, 430px); }
.schedule-loading-time-line { width: min(42%, 230px); }
.schedule-loading-address-line { width: min(62%, 340px); }
.schedule-loading-action { align-self: end; width: 100%; height: 58px; border-radius: 18px; background: rgba(40, 90, 167, 0.16); }
@keyframes rbScheduleCardShimmer {
  0% { transform: translate(-120%); }
  70%, 100% { transform: translate(120%); }
}
.developer-donate-modal { width: min(430px, -28px + 100vw) !important; padding: 30px 18px 16px !important; border-radius: 28px !important; }
.developer-donate-modal .mini-label, .developer-donate-modal h2, .developer-donate-modal .donate-intro, .developer-donate-modal .donate-note, .developer-donate-modal .donate-options, .developer-donate-modal .modal-ok { margin-left: 0px !important; margin-right: 0px !important; }
.developer-donate-modal .mini-label, .developer-donate-modal h2, .developer-donate-modal .donate-intro, .developer-donate-modal .donate-note { padding-left: 0px !important; padding-right: 0px !important; }
.developer-donate-modal h2 { text-wrap: balance; text-shadow: rgba(255, 255, 255, 0.08) 0px 2px 0px, rgba(0, 0, 0, 0.34) 0px 12px 28px; width: 100% !important; max-width: none !important; margin-top: 8px !important; margin-bottom: 12px !important; padding-right: 34px !important; color: rgb(244, 239, 225) !important; font-family: var(--rb-font-display) !important; font-size: clamp(2rem, 7.2vw, 2.62rem) !important; font-style: italic !important; font-weight: 400 !important; letter-spacing: -0.025em !important; line-height: 0.98 !important; }
.developer-donate-modal h2::after { content: ""; display: block; width: min(168px, 46%); height: 3px; margin-top: 10px; border-radius: 999px; background: linear-gradient(90deg, rgb(103, 214, 255), rgb(246, 207, 138) 68%, rgba(246, 207, 138, 0)); box-shadow: rgba(103, 214, 255, 0.18) 0px 0px 18px; }
.developer-donate-modal .donate-intro, .developer-donate-modal .donate-note { max-width: 100% !important; font-size: 0.9rem !important; line-height: 1.36 !important; }
.developer-donate-modal .donate-note { margin-top: 12px !important; }
.developer-donate-modal .donate-options { display: grid !important; grid-template-columns: 116px minmax(0px, 1fr) !important; align-items: stretch !important; gap: 12px !important; width: 100% !important; margin-top: 14px !important; }
.developer-donate-modal .qr-frame { width: 116px !important; height: 116px !important; min-width: 116px !important; display: grid !important; place-items: center !important; padding: 10px !important; border-radius: 20px !important; }
.developer-donate-modal .qr-frame img { width: 96px !important; height: 96px !important; object-fit: contain !important; }
.developer-donate-modal .modal-ok { width: 100% !important; margin-top: 14px !important; min-height: 56px !important; border-radius: 18px !important; }
@media (max-width: 430px) {
  body.is-loading-schedule #results { min-height: 702px; }
  .schedule-loading-card { grid-template-rows: 26px 38px 24px 20px minmax(54px, 1fr); min-height: 218px; padding: 16px; border-radius: 20px; }
  .developer-donate-modal { width: min(430px, -26px + 100vw) !important; padding: 28px 18px 16px !important; }
  .developer-donate-modal h2 { padding-right: 28px !important; font-size: clamp(1.9rem, 8.1vw, 2.22rem) !important; line-height: 0.98 !important; }
  .developer-donate-modal h2::after { width: 142px; margin-top: 8px; }
  .developer-donate-modal .donate-intro, .developer-donate-modal .donate-note { font-size: 0.86rem !important; line-height: 1.34 !important; }
  .developer-donate-modal .donate-options { grid-template-columns: 104px minmax(0px, 1fr) !important; gap: 12px !important; margin-top: 12px !important; }
  .developer-donate-modal .qr-frame { width: 104px !important; height: 104px !important; min-width: 104px !important; padding: 9px !important; border-radius: 19px !important; }
  .developer-donate-modal .qr-frame img { width: 86px !important; height: 86px !important; }
  .developer-donate-modal .modal-ok { min-height: 54px !important; margin-top: 14px !important; }
}
html.rb-motion-off .schedule-loading-card::after { animation: auto ease 0s 1 normal none running none !important; }
.inline-brand-logo.hero-brand-logo { width: min(100%, 352px) !important; margin-top: 8px !important; margin-bottom: 14px !important; }
.hero-brand-logo .inline-brand-mark { width: min(78vw, 318px) !important; height: min(78vw, 318px) !important; max-width: 318px !important; max-height: 318px !important; object-fit: cover !important; border-radius: 40px !important; }
.btn-map-all .btn-spark.pin-spark { overflow: visible !important; height: 46px !important; }
.btn-map-all .btn-spark.pin-spark img { display: block !important; object-fit: contain !important; filter: drop-shadow(rgba(0, 0, 0, 0.3) 0px 5px 8px) !important; height: 44px !important; }
.rb-map-pin-wrap { transform-origin: 23px 55px !important; filter: drop-shadow(rgba(0, 0, 0, 0.34) 0px 7px 9px) !important; }
.rb-map-pin-number { position: absolute !important; right: -5px !important; top: 1px !important; min-width: 20px !important; height: 20px !important; padding: 0px 5px !important; border-radius: 999px !important; display: inline-grid !important; place-items: center !important; color: rgb(42, 73, 154) !important; background: rgb(244, 239, 225) !important; border: 1px solid rgba(40, 90, 167, 0.42) !important; box-shadow: rgba(5, 22, 39, 0.22) 0px 3px 8px !important; font-size: 11px !important; line-height: 1 !important; font-weight: 950 !important; }
@media (max-width: 430px) {
  .btn-map-all .btn-spark.pin-spark img { width: 32px !important; height: 42px !important; }
}
.rb-map-picker-slot { position: relative; width: 100%; padding: 13px 14px; margin: 0px 0px 12px; border-radius: 22px; overflow: hidden; background: linear-gradient(145deg, rgba(10, 36, 61, 0.82), rgba(47, 24, 15, 0.7)), url("assets/schedule-wavy-stripes.webp?v=e60748e390c2&rb=20260802b") center center / cover no-repeat; border: 1px solid rgba(120, 158, 211, 0.45); box-shadow: var(--shadow-soft), inset 0 1px #ffffff47; backdrop-filter: blur(16px); }
.rb-map-picker-slot::before { content: ""; position: absolute; inset: 0px; pointer-events: none; opacity: 0.28; background: radial-gradient(circle at 15% 8%, rgba(244, 239, 225, 0.26), transparent 8rem), radial-gradient(circle at 90% 84%, rgba(91, 174, 235, 0.24), transparent 9rem); }
.rb-map-picker-button { position: relative; width: 100%; min-height: 60px; padding: 0px; justify-content: flex-start; text-align: left; border: 0px; border-radius: 0px; background: transparent; box-shadow: none; }
.rb-map-picker-button::after { display: none; }
.rb-map-picker-icon { width: 44px; height: 44px; display: inline-grid; place-items: center; flex: 0 0 auto; border-radius: 50%; color: rgb(42, 73, 154); background: linear-gradient(135deg, rgb(255, 241, 203), rgb(30, 144, 255)); box-shadow: rgba(255, 255, 255, 0.42) 0px 1px inset; font-weight: 950; overflow: hidden; }
.rb-map-picker-icon svg, .rb-map-picker-icon img { width: 29px; height: 29px; display: block; }
.rb-map-picker-copy { min-width: 0px; flex: 1 1 auto; display: flex; flex-direction: column; gap: 5px; }
.rb-map-picker-copy .mini-label { margin: 0px; }
.rb-map-picker-copy strong { font-size: clamp(1.38rem, 6vw, 1.8rem); line-height: 1; letter-spacing: 0px; }
.rb-map-picker-chevron { position: relative; width: 32px; height: 32px; display: inline-grid; place-items: center; margin-left: auto; border-radius: 50%; color: rgb(42, 73, 154); background: linear-gradient(135deg, rgb(244, 239, 225), rgb(30, 144, 255)); box-shadow: rgba(255, 255, 255, 0.42) 0px 1px inset; font-size: 0px; line-height: 0; font-weight: 950; }
.rb-map-picker-chevron::before { content: ""; position: absolute; left: 50%; top: 50%; width: 10px; height: 10px; border-right: 3px solid; border-bottom: 3px solid; border-radius: 2px; margin: 0px; transform: translate(-56%, -50%) rotate(-45deg); transform-origin: center center; }
.rb-map-choice { display: flex !important; justify-content: space-between !important; gap: 12px !important; width: 100% !important; min-height: 58px !important; padding: 10px 13px !important; align-items: center !important; border: 1px solid rgba(255, 255, 255, 0.16) !important; border-radius: 20px !important; color: rgb(244, 239, 225) !important; background: radial-gradient(circle at 88% 12%, rgba(30, 144, 255, 0.12), transparent 4rem), rgba(255, 255, 255, 0.075) !important; box-shadow: rgba(255, 255, 255, 0.08) 0px 1px inset !important; cursor: pointer !important; text-align: left !important; transition: transform 0.16s, filter 0.16s, box-shadow 0.16s, border-color 0.16s !important; }
.rb-map-choice.active { border-color: rgba(120, 158, 211, 0.52) !important; background: linear-gradient(145deg, rgba(7, 101, 181, 0.78), rgba(6, 37, 66, 0.84)) !important; }
.rb-map-choice:focus-visible { outline: rgba(30, 144, 255, 0.65) solid 3px !important; outline-offset: 2px !important; }
.rb-map-choice .provider-logo { margin-right: 0px; }
.rb-map-choice .day-picker-main { justify-content: center; }
.rb-map-choice .day-picker-main strong { display: inline-flex; align-items: center; gap: 10px; font-size: 1.02rem; line-height: 1; }
.rb-map-choice .day-picker-main small { display: none !important; }
.rb-map-picker-modal .day-picker-subtext { margin-bottom: 12px; }
.results .stop-card:not(.cancelled-card), .results .stop-card.cafe-card:not(.cancelled-card), .results .stop-card.upcoming-card:not(.cancelled-card), .results .stop-card.scheduled-card:not(.cancelled-card), .results .stop-card.coffee-art-card:not(.cancelled-card), .results .stop-card.holiday-card:not(.cancelled-card), .stop-card:not(.cancelled-card), .stop-card.cafe-card:not(.cancelled-card), .stop-card.upcoming-card:not(.cancelled-card), .stop-card.scheduled-card:not(.cancelled-card), .stop-card.coffee-art-card:not(.cancelled-card), .stop-card.holiday-card:not(.cancelled-card) { position: relative !important; isolation: isolate !important; overflow: hidden !important; color: rgb(42, 73, 154) !important; border: 2px solid rgba(120, 158, 211, 0.42) !important; background-color: rgb(244, 239, 225) !important; background-image: linear-gradient(rgba(255, 252, 244, 0.16), rgba(255, 252, 244, 0.16)), url("assets/schedule-wavy-stripes.webp?v=e60748e390c2&rb=20260802b") !important; background-position: center center, center center !important; background-size: cover, cover !important; background-repeat: no-repeat, no-repeat !important; background-blend-mode: normal, normal !important; box-shadow: rgba(29, 18, 5, 0.24) 0px 18px 42px, rgba(255, 255, 255, 0.78) 0px 1px inset !important; }
.results .stop-card:not(.cancelled-card) > *, .stop-card:not(.cancelled-card) > * { position: relative !important; z-index: 2 !important; }
.results .stop-card:not(.cancelled-card).coffee-art-card::after, .results .stop-card:not(.cancelled-card).holiday-card::after, .stop-card:not(.cancelled-card).coffee-art-card::after, .stop-card:not(.cancelled-card).holiday-card::after { z-index: 1 !important; }
.results .stop-card:not(.cancelled-card) .stop-name, .results .stop-card:not(.cancelled-card) h3, .stop-card:not(.cancelled-card) .stop-name, .stop-card:not(.cancelled-card) h3 { color: rgb(42, 73, 154) !important; font-family: var(--rb-font-ui) !important; font-weight: 700 !important; text-shadow: rgba(255, 255, 255, 0.7) 0px 1px 0px !important; }
.results .stop-card:not(.cancelled-card) .stop-address, .results .stop-card:not(.cancelled-card) .stop-source, .results .stop-card:not(.cancelled-card) .card-topline, .stop-card:not(.cancelled-card) .stop-address, .stop-card:not(.cancelled-card) .stop-source, .stop-card:not(.cancelled-card) .card-topline { color: rgba(42, 73, 154, 0.86) !important; font-weight: 850 !important; text-shadow: rgba(255, 255, 255, 0.66) 0px 1px 0px !important; }
body.rb-app .rb-app-screen-stops #results .stop-card:not(.cancelled-card) .card-topline .open-chip, body.rb-app .rb-app-screen-nearby #results .stop-card:not(.cancelled-card) .card-topline .open-chip { margin-left: 0px !important; margin-right: 0px !important; }
.results .stop-card:not(.cancelled-card) .route-main, .results .stop-card:not(.cancelled-card) .route-main *, .stop-card:not(.cancelled-card) .route-main, .stop-card:not(.cancelled-card) .route-main * { color: rgb(42, 73, 154) !important; text-shadow: none !important; }
.results .stop-card:not(.cancelled-card) .route-main small, .stop-card:not(.cancelled-card) .route-main small { color: rgb(42, 73, 154) !important; }
.results .stop-card.cancelled-card, .stop-card.cancelled-card { background: linear-gradient(145deg, rgba(255, 236, 221, 0.92), rgba(255, 214, 198, 0.88)) !important; }
.rb-map-picker-slot { background-color: rgb(244, 239, 225) !important; background-image: linear-gradient(rgba(255, 252, 244, 0.12), rgba(255, 252, 244, 0.12)), url("assets/schedule-wavy-stripes.webp?v=e60748e390c2&rb=20260802b") !important; background-position: center center, center center !important; background-size: cover, cover !important; background-repeat: no-repeat, no-repeat !important; background-blend-mode: normal, normal !important; border: 2px solid rgba(120, 158, 211, 0.42) !important; box-shadow: rgba(29, 18, 5, 0.24) 0px 18px 42px, rgba(255, 255, 255, 0.78) 0px 1px inset !important; backdrop-filter: none !important; }
.rb-map-picker-slot::before { display: none !important; content: none !important; opacity: 0 !important; background: none !important; }
.rb-map-picker-button, .rb-map-picker-copy strong { color: rgb(42, 73, 154) !important; text-shadow: rgba(255, 255, 255, 0.7) 0px 1px 0px !important; }
.rb-map-picker-copy .mini-label { color: var(--rb-a11y-blue, #2a499a) !important; text-shadow: rgba(255, 255, 255, 0.6) 0px 1px 0px !important; }
.rb-map-picker-copy strong, .results .stop-card:not(.cancelled-card) .stop-name, #results .stop-card:not(.cancelled-card) .stop-name, .stop-card:not(.cancelled-card) .stop-name { display: block !important; max-width: 18rem !important; width: auto !important; margin: 0px !important; padding: 0px !important; border-radius: 0px !important; color: rgb(42, 73, 154) !important; background: none !important; box-shadow: none !important; font-family: var(--rb-font-ui) !important; font-size: clamp(1.55rem, 3.8vw, 2.05rem) !important; font-weight: 700 !important; line-height: 1.03 !important; letter-spacing: -0.015em !important; text-shadow: rgba(255, 255, 255, 0.52) 0px 1px 0px !important; -webkit-box-decoration-break: slice !important; box-decoration-break: slice !important; }
.rb-map-picker-copy strong { max-width: none !important; font-family: var(--rb-font-display) !important; font-weight: 400 !important; letter-spacing: -0.065em !important; }
#results .stop-card:not(.cancelled-card) { color: rgb(42, 73, 154) !important; border: 2px solid rgba(120, 158, 211, 0.42) !important; background-color: rgb(244, 239, 225) !important; background-image: linear-gradient(rgba(255, 252, 244, 0.16), rgba(255, 252, 244, 0.16)), url("assets/schedule-wavy-stripes.webp?v=e60748e390c2&rb=20260802b") !important; background-position: center center, center center !important; background-size: cover, cover !important; background-repeat: no-repeat, no-repeat !important; background-blend-mode: normal, normal !important; box-shadow: rgba(29, 18, 5, 0.24) 0px 18px 42px, rgba(255, 255, 255, 0.78) 0px 1px inset !important; }
#results .stop-card:not(.cancelled-card) .stop-name, #results .stop-card:not(.cancelled-card) h3 { color: rgb(42, 73, 154) !important; font-family: var(--rb-font-ui) !important; font-weight: 700 !important; text-shadow: rgba(255, 255, 255, 0.7) 0px 1px 0px !important; }
#results .stop-card:not(.cancelled-card) .stop-address, #results .stop-card:not(.cancelled-card) .stop-source, #results .stop-card:not(.cancelled-card) .card-topline { color: rgba(42, 73, 154, 0.86) !important; font-weight: 850 !important; text-shadow: rgba(255, 255, 255, 0.66) 0px 1px 0px !important; }
#results .stop-card:not(.cancelled-card) .route-main, #results .stop-card:not(.cancelled-card) .route-main * { color: rgb(42, 73, 154) !important; text-shadow: none !important; }
#results .stop-card:not(.cancelled-card) .route-main small { color: rgb(42, 73, 154) !important; }
:root { --rb-pin-asset: url(assets/roaming-bean-pin-mark.svg?v=e3df9cf61f3d&rb=20260728a); }
#results, .results { position: relative !important; isolation: isolate !important; grid-template-columns: minmax(0px, 1fr) !important; gap: 12px !important; padding-top: 0px !important; }
#results .stop-card, .results .stop-card { padding-left: 16px !important; overflow: hidden !important; background: radial-gradient(circle at 88% 6%, rgba(40, 90, 167, 0.1), transparent 12rem), linear-gradient(145deg, rgba(244, 239, 225, 0.93), rgba(244, 239, 225, 0.88)) !important; border-color: rgba(40, 90, 167, 0.48) !important; box-shadow: rgba(0, 0, 0, 0.26) 0px 18px 36px, rgba(255, 255, 255, 0.6) 0px 1px inset !important; backdrop-filter: none !important; }
#results .stop-card > *, .results .stop-card > * { position: relative !important; z-index: 2 !important; }
.btn-map-all .btn-spark.pin-spark { background: transparent !important; border: 0px !important; box-shadow: none !important; display: inline-grid !important; place-items: center !important; width: 42px !important; height: 48px !important; min-width: 42px !important; }
.btn-map-all .btn-spark.pin-spark img, .rb-map-pin-wrap img { display: block !important; object-fit: contain !important; visibility: visible !important; opacity: 1 !important; }
.btn-map-all .btn-spark.pin-spark img { width: 34px !important; height: 47px !important; }
.rb-map-pin-wrap { transform: translateZ(0px); position: relative !important; display: block !important; width: 46px !important; height: 64px !important; filter: drop-shadow(rgba(0, 0, 0, 0.34) 0px 7px 9px) !important; }
.rb-map-pin-wrap img { display: block !important; width: 46px !important; height: 64px !important; object-fit: fill !important; }
.rb-map-pin-number { position: absolute !important; left: 50% !important; top: 38px !important; width: 24px !important; min-width: 0px !important; height: 18px !important; padding: 0px !important; border-radius: 0px !important; display: inline-grid !important; place-items: center !important; color: rgb(255, 255, 255) !important; background: transparent !important; border: 0px !important; box-shadow: none !important; text-shadow: rgba(0, 0, 0, 0.58) 0px 1px 2px, rgba(0, 0, 0, 0.55) 0px 0px 5px !important; font-size: 12px !important; line-height: 1 !important; font-weight: 950 !important; letter-spacing: -0.03em !important; transform: translate(-50%, -50%) !important; pointer-events: none !important; }
.all-map-preview .leaflet-control-attribution, .all-pins-leaflet-map .leaflet-control-attribution { display: block !important; visibility: visible !important; pointer-events: auto !important; margin: 0px !important; padding: 3px 7px !important; border-radius: 8px 0px 0px !important; background: rgba(244, 239, 225, 0.92) !important; color: rgb(42, 73, 154) !important; font-size: 10px !important; line-height: 1.2 !important; font-weight: 800 !important; box-shadow: rgba(5, 22, 39, 0.18) 0px 4px 10px !important; }
.all-map-preview .leaflet-control-attribution a, .all-pins-leaflet-map .leaflet-control-attribution a { color: rgb(7, 95, 174) !important; text-decoration: underline !important; text-underline-offset: 2px !important; }
.rb-map-user-icon { width: 42px !important; height: 42px !important; }
.rb-map-user-wrap { position: relative !important; display: block !important; width: 42px !important; height: 42px !important; background: rgba(244, 239, 225, 0.94) !important; box-shadow: rgba(5, 22, 39, 0.28) 0px 8px 14px, rgba(255, 255, 255, 0.82) 0px 1px inset !important; overflow: visible !important; }
.rb-map-user-wrap img { display: block !important; width: 31px !important; height: 31px !important; margin: 9px auto 0px !important; filter: drop-shadow(rgba(0, 0, 0, 0.22) 0px 3px 4px) !important; }
.rb-map-user-label { position: absolute !important; left: 50% !important; top: 3px !important; width: 34px !important; transform: translate(-50%) !important; display: block !important; color: rgb(42, 73, 154) !important; font-size: 10px !important; line-height: 1 !important; font-weight: 950 !important; letter-spacing: -0.02em !important; text-align: center !important; text-shadow: rgba(255, 255, 255, 0.76) 0px 1px 0px !important; pointer-events: none !important; }
.app-shell, .hero-card { overflow: visible !important; }
.hero-card { z-index: 40 !important; }
.inline-brand-logo.hero-brand-logo { width: min(100%, 380px) !important; margin-top: -4px !important; margin-bottom: 2px !important; display: flex !important; flex-direction: column !important; align-items: center !important; }
.hero-card .inline-brand-logo > img { pointer-events: none !important; user-select: none !important; -webkit-user-drag: none !important; touch-action: none !important; }
.hero-brand-logo .inline-brand-mark { margin-top: 0px !important; background: transparent !important; box-shadow: none !important; filter: none !important; pointer-events: none !important; user-select: none !important; -webkit-user-drag: none !important; touch-action: none !important; }
.hero-lockup-zone { width: min(100%, 448px) !important; max-width: 448px !important; margin: -3px auto 12px !important; position: relative !important; overflow: visible !important; z-index: 17 !important; }
.hero-card h1 { width: 100% !important; margin: -3px auto 12px !important; font-size: 0px !important; line-height: 0 !important; letter-spacing: 0px !important; text-align: center !important; position: relative !important; z-index: 6 !important; }
.hero-lockup-zone > .hero-lockup { margin: 0px auto !important; }
.hero-card h1::before, .hero-card h1::after { display: block !important; width: 100% !important; background: none !important; font-family: var(--rb-font-display) !important; font-weight: 400 !important; text-align: center !important; text-transform: uppercase !important; text-shadow: rgba(0, 0, 0, 0.78) 0px 2px 2px, rgba(0, 0, 0, 0.34) 0px 10px 22px !important; -webkit-text-fill-color: currentcolor !important; }
.hero-card h1::before { content: "WHERE THE\a GRIND" !important; white-space: pre-line !important; color: var(--cream) !important; font-size: clamp(1.72rem, 5.9vw, 2.86rem) !important; letter-spacing: 0.015em !important; line-height: 0.82 !important; }
.hero-card h1::after { content: "NEVER STOPS" !important; color: rgb(30, 144, 255) !important; font-size: clamp(1.42rem, 4.8vw, 2.16rem) !important; letter-spacing: 0.015em !important; line-height: 0.9 !important; }
.hero-card h1.hero-lockup:has(> .hero-lockup-kicker)::before, .hero-card h1.hero-lockup:has(> .hero-lockup-kicker)::after { content: none !important; display: none !important; }
.hero-card h1.hero-lockup > span { display: block !important; width: 100% !important; background: none !important; font-family: var(--rb-font-display) !important; font-weight: 400 !important; text-shadow: rgba(0, 0, 0, 0.78) 0px 2px 2px, rgba(0, 0, 0, 0.34) 0px 10px 22px !important; -webkit-text-fill-color: currentcolor !important; }
.hero-card h1.hero-lockup > .hero-lockup-kicker { display: inline-block !important; width: auto !important; margin-right: 0.34em !important; font-size: clamp(1.08rem, 3.2vw, 1.42rem) !important; letter-spacing: 0.02em !important; line-height: 0.82 !important; vertical-align: baseline !important; transform: translateY(-0.28em) !important; }
.hero-card h1.hero-lockup > .hero-lockup-main { display: inline-block !important; font-size: calc(-0.25rem + clamp(2.42rem, 7.8vw, 3.45rem)) !important; letter-spacing: 0.015em !important; line-height: 0.78 !important; vertical-align: baseline !important; }
.hero-card h1.hero-lockup > .hero-lockup-accent { display: block !important; width: 100% !important; margin-top: 0.01em !important; color: var(--rb-app-kicker-text) !important; font-size: clamp(1.42rem, 4.8vw, 2.16rem) !important; letter-spacing: 0.015em !important; line-height: 0.9 !important; }
.hero-info-control { width: auto !important; max-width: none !important; margin: 0px !important; padding-right: 0px !important; position: absolute !important; top: 43% !important; z-index: 20 !important; box-sizing: border-box !important; pointer-events: none !important; }
.hero-info-button { appearance: none !important; width: 34px !important; height: 34px !important; min-width: 34px !important; padding: 0px !important; display: inline-grid !important; place-items: center !important; border: 1px solid rgba(120, 158, 211, 0.42) !important; border-radius: 999px !important; color: rgb(255, 255, 255) !important; background: linear-gradient(145deg, rgba(21, 58, 88, 0.88), rgba(11, 32, 51, 0.92)) !important; box-shadow: rgba(0, 0, 0, 0.2) 0px 10px 20px, rgba(255, 255, 255, 0.14) 0px 1px inset !important; cursor: pointer !important; pointer-events: auto !important; touch-action: manipulation !important; transition: transform 0.14s, border-color 0.14s, filter 0.14s !important; }
.hero-info-button:active { transform: translateY(1px) scale(0.98) !important; }
.hero-info-button:focus-visible { outline: rgba(76, 192, 240, 0.46) solid 3px !important; outline-offset: 3px !important; }
.hero-info-button[aria-expanded="true"] { border-color: rgba(255, 226, 181, 0.58) !important; filter: brightness(1.07) !important; }
.hero-info-panel { position: absolute !important; z-index: 100 !important; inset: calc(100% + 10px) -2px auto auto !important; width: min(326px, -44px + 100vw) !important; min-height: 0px !important; padding: 12px 14px !important; display: flex !important; flex-direction: column !important; align-items: stretch !important; gap: 10px !important; text-align: left !important; color: rgba(244, 239, 225, 0.88) !important; border: 1px solid rgba(120, 158, 211, 0.3) !important; border-radius: 16px !important; background: linear-gradient(145deg, rgba(22, 45, 67, 0.9), rgba(11, 27, 43, 0.92)) !important; box-shadow: rgba(0, 0, 0, 0.2) 0px 12px 24px, rgba(255, 255, 255, 0.1) 0px 1px inset !important; font-size: 0.86rem !important; font-weight: 790 !important; line-height: 1.34 !important; pointer-events: auto !important; transform: none !important; }
.hero-info-panel::after { content: "" !important; position: absolute !important; inset: -7px 10px auto auto !important; width: 14px !important; height: 14px !important; border-width: 1px 0px 0px 1px !important; border-style: solid none none solid !important; border-color: rgba(120, 158, 211, 0.3) currentcolor currentcolor rgba(120, 158, 211, 0.3) !important; background: rgba(11, 27, 43, 0.92) !important; transform: rotate(45deg) !important; }
.hero-info-panel[hidden] { display: none !important; }
.hero-info-location-tools { display: grid !important; gap: 9px !important; padding-top: 10px !important; border-top: 1px solid rgba(120, 158, 211, 0.18) !important; }
.hero-info-location-tools[hidden] { display: none !important; }
.hero-info-refresh-btn { appearance: none !important; width: auto !important; max-width: 100% !important; min-height: 30px !important; margin: 0px auto !important; padding: 1px 4px !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: 6px !important; color: rgb(30, 144, 255) !important; background: transparent !important; border: 0px !important; box-shadow: none !important; font-style: inherit !important; font-variant: inherit !important; font-stretch: inherit !important; font-size: inherit !important; line-height: inherit !important; font-family: inherit !important; font-optical-sizing: inherit !important; font-size-adjust: inherit !important; font-kerning: inherit !important; font-feature-settings: inherit !important; font-variation-settings: inherit !important; font-language-override: inherit !important; font-weight: 900 !important; text-decoration: underline !important; text-underline-offset: 4px !important; cursor: pointer !important; touch-action: manipulation !important; }
.hero-info-refresh-btn:disabled { opacity: 0.62 !important; cursor: wait !important; }
.hero-info-location-status { margin: 0px !important; color: rgba(244, 239, 225, 0.82) !important; font-size: 0.78rem !important; font-weight: 820 !important; line-height: 1.3 !important; }
.hero-info-location-status::before { content: "◇" !important; margin-right: 6px !important; color: rgb(30, 144, 255) !important; }
body.rb-info-location-ready .hero-card > .status-text { display: none !important; }
body.rb-info-location-ready .hero-actions #locateBtn.is-location-refresh { display: none !important; }
@media (max-width: 520px) {
  .inline-brand-logo.hero-brand-logo { width: min(100%, 362px) !important; margin-top: -9px !important; margin-bottom: -3px !important; }
  .hero-brand-logo .inline-brand-mark { width: min(96vw, 374px) !important; max-width: 374px !important; }
  .hero-card h1 { margin-top: 4px !important; margin-bottom: 11px !important; }
  .hero-lockup-zone { width: min(100%, 430px) !important; max-width: 430px !important; margin: 4px auto 11px !important; }
  .hero-lockup-zone > .hero-lockup { margin: 0px auto !important; }
  .hero-info-control { width: auto !important; max-width: none !important; min-height: 0px !important; margin: 0px !important; padding-right: 0px !important; top: 43% !important; right: 6px !important; }
  .hero-info-button { width: 32px !important; min-width: 32px !important; }
  .hero-info-panel { inset: calc(100% + 9px) -2px auto auto !important; width: min(286px, -54px + 100vw) !important; padding: 11px 12px !important; font-size: 0.78rem !important; line-height: 1.28 !important; }
  .hero-card h1.hero-lockup > .hero-lockup-kicker { font-size: clamp(0.82rem, 4.35vw, 1.02rem) !important; line-height: 0.82 !important; }
  .hero-card h1.hero-lockup > .hero-lockup-main { font-size: calc(-0.25rem + clamp(2.24rem, 11.6vw, 2.82rem)) !important; line-height: 0.78 !important; }
  .hero-card h1.hero-lockup > .hero-lockup-accent { font-size: clamp(1.34rem, 6.9vw, 1.66rem) !important; line-height: 0.9 !important; }
}
.inline-brand-logo.hero-brand-logo { width: min(100%, 370px) !important; margin-top: 0px !important; margin-bottom: 18px !important; }
.hero-brand-logo .inline-brand-mark { display: block !important; width: min(78vw, 360px) !important; max-width: 360px !important; aspect-ratio: 1 / 1 !important; height: auto !important; min-height: 0px !important; max-height: none !important; object-fit: contain !important; object-position: center center !important; border-radius: 34px !important; clip-path: inset(0px round 34px) !important; box-shadow: rgba(0, 0, 0, 0.18) 0px 18px 34px !important; }
@media (max-width: 520px) {
  .inline-brand-logo.hero-brand-logo { width: min(100%, 336px) !important; margin-top: 0px !important; }
  .hero-brand-logo .inline-brand-mark { width: min(78vw, 328px) !important; max-width: 328px !important; border-radius: 31px !important; clip-path: inset(0px round 31px) !important; }
}
.hero-info-control { flex-direction: column !important; top: 55% !important; right: 10px !important; }
.saved-stops-list { display: grid !important; gap: 9px !important; }
.saved-stops-empty { color: rgba(244, 239, 225, 0.78) !important; font-size: 0.8rem !important; line-height: 1.32 !important; font-weight: 780 !important; }
.saved-stop-item { display: grid !important; grid-template-columns: minmax(0px, 1fr) auto !important; gap: 10px !important; align-items: center !important; padding: 10px !important; border-radius: 13px !important; background: rgba(255, 255, 255, 0.075) !important; border: 1px solid rgba(255, 255, 255, 0.1) !important; }
.saved-stop-copy { min-width: 0px !important; display: grid !important; gap: 3px !important; }
.saved-stop-copy strong, .saved-stop-copy small, .saved-stop-copy span { overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; }
.saved-stop-copy strong { color: rgb(244, 239, 225) !important; font-family: var(--rb-font-ui) !important; font-size: 0.9rem !important; line-height: 1.06 !important; font-weight: 700 !important; }
.saved-stop-copy small, .saved-stop-copy span { color: rgba(244, 239, 225, 0.7) !important; font-size: 0.72rem !important; line-height: 1.15 !important; font-weight: 760 !important; }
.saved-stop-actions { display: grid !important; gap: 6px !important; }
.saved-stop-actions button { appearance: none !important; min-height: 28px !important; padding: 5px 9px !important; border-radius: 999px !important; border: 1px solid rgba(255, 255, 255, 0.16) !important; color: rgb(255, 255, 255) !important; background: linear-gradient(135deg, rgb(38, 183, 244), rgb(7, 132, 217)) !important; font-size: 0.7rem !important; font-weight: 900 !important; cursor: pointer !important; }
.saved-stop-actions button[data-saved-remove] { color: rgba(244, 239, 225, 0.78) !important; background: rgba(255, 255, 255, 0.08) !important; }
.rb-map-user-icon { width: 56px !important; height: 56px !important; background: transparent !important; border: 0px !important; }
.rb-map-user-wrap { width: 56px !important; height: 56px !important; border-radius: 50% !important; background: rgba(244, 239, 225, 0.96) !important; border: 2px solid rgb(30, 144, 255) !important; box-shadow: rgba(5, 22, 39, 0.3) 0px 9px 16px, rgba(255, 255, 255, 0.86) 0px 1px inset !important; }
.rb-map-user-wrap img { width: 43px !important; height: 43px !important; margin: 12px auto 0px !important; object-fit: contain !important; filter: drop-shadow(rgba(0, 0, 0, 0.22) 0px 4px 5px) !important; }
.rb-map-user-label { top: 4px !important; width: 48px !important; color: rgb(42, 73, 154) !important; font-size: 10px !important; font-weight: 950 !important; }
@media (max-width: 520px) {
  .hero-info-control { top: 56% !important; right: 7px !important; }
  .saved-stop-item { grid-template-columns: 1fr !important; align-items: stretch !important; }
  .saved-stop-actions { grid-template-columns: 1fr 1fr !important; }
}
.hero-info-control { z-index: 3000 !important; }
@media (max-width: 720px) {
  .stop-actions { grid-template-columns: minmax(116px, 0.68fr) minmax(0px, 1.52fr) !important; gap: 9px !important; }
  .save-stop-btn { min-width: 0px !important; padding: 8px !important; gap: 7px !important; }
  .save-stop-icon { width: 32px !important; height: 32px !important; min-width: 32px !important; }
  .save-stop-copy strong { font-size: clamp(0.73rem, 2.7vw, 0.88rem) !important; }
  .save-stop-copy small { font-size: clamp(0.56rem, 2.15vw, 0.66rem) !important; }
  .stop-actions .route-main { display: grid !important; grid-template-columns: 34px minmax(62px, 0.84fr) minmax(54px, 1fr) 17px !important; column-gap: 7px !important; place-items: center start !important; min-width: 0px !important; padding: 8px 12px 8px 10px !important; overflow: hidden !important; }
  .stop-actions .route-icon { width: 34px !important; min-width: 34px !important; justify-self: center !important; }
  .stop-actions .route-text { min-width: 0px !important; max-width: 100% !important; overflow: hidden !important; text-overflow: clip !important; white-space: normal !important; justify-self: center !important; text-align: center !important; line-height: 1.02 !important; font-size: clamp(0.82rem, 3.1vw, 1rem) !important; }
  .stop-actions .route-main::after { margin-left: 0px !important; place-self: center end !important; flex: 0 0 auto !important; width: 8px !important; height: 8px !important; border-right-width: 3px !important; border-bottom-width: 3px !important; }
}
@media (max-width: 380px) {
  .stop-actions { grid-template-columns: minmax(96px, 0.56fr) minmax(0px, 1.7fr) !important; gap: 8px !important; }
  .save-stop-btn { padding-inline: 7px !important; }
  .save-stop-icon { width: 29px !important; height: 29px !important; min-width: 29px !important; }
  .save-stop-copy small { display: none !important; }
  .stop-actions .route-main { grid-template-columns: 30px minmax(0px, 1fr) 14px !important; column-gap: 7px !important; padding-inline: 9px !important; }
  .stop-actions .route-text { white-space: normal !important; font-size: clamp(0.78rem, 3.8vw, 0.94rem) !important; }
}
.hero-lockup-zone { z-index: 2500 !important; }
.hero-info-control { z-index: 6000 !important; }
.hero-info-panel, .hero-menu-panel { z-index: 30000 !important; }
.hero-menu-button { width: 52px !important; min-width: 52px !important; height: 34px !important; border-radius: 999px !important; background: linear-gradient(135deg, rgb(244, 239, 225), rgb(40, 90, 167)) !important; color: rgb(42, 73, 154) !important; border-color: rgba(244, 239, 225, 0.54) !important; box-shadow: rgba(0, 0, 0, 0.2) 0px 10px 18px, rgba(255, 255, 255, 0.5) 0px 1px inset !important; }
.hero-menu-icon { display: inline-grid !important; place-items: center !important; font-family: var(--rb-font-ui) !important; font-size: 0.68rem !important; line-height: 1 !important; letter-spacing: 0.06em !important; text-transform: uppercase !important; font-weight: 950 !important; }
.hero-menu-panel { top: auto !important; bottom: calc(100% + 10px) !important; width: min(390px, -34px + 100vw) !important; max-height: min(70vh, 520px) !important; overflow: auto !important; padding: 14px !important; }
.hero-menu-panel::after { top: auto !important; bottom: -7px !important; border-width: 0px 1px 1px 0px !important; border-style: none solid solid none !important; border-color: currentcolor rgba(120, 158, 211, 0.3) rgba(120, 158, 211, 0.3) currentcolor !important; }
.hero-menu-panel > strong { display: block !important; color: rgb(244, 239, 225) !important; font-size: 0.92rem !important; line-height: 1 !important; letter-spacing: 0.08em !important; text-transform: uppercase !important; }
.hero-menu-list { display: grid !important; gap: 9px !important; }
.hero-menu-item { padding: 10px 11px !important; border-radius: 14px !important; background: rgba(255, 255, 255, 0.075) !important; border: 1px solid rgba(255, 255, 255, 0.1) !important; }
.hero-menu-item strong { display: block !important; font-size: 0.9rem !important; line-height: 1.08 !important; font-weight: 930 !important; }
.hero-menu-item p { margin: 5px 0px 0px !important; color: rgba(244, 239, 225, 0.74) !important; font-size: 0.76rem !important; line-height: 1.28 !important; font-weight: 760 !important; }
.save-stop-copy { gap: 0px !important; align-content: center !important; }
.save-stop-copy small { display: none !important; }
@media (max-width: 720px) {
  .save-stop-btn { min-height: 50px !important; }
  .hero-menu-button { width: 50px !important; min-width: 50px !important; height: 32px !important; }
}
@media (max-width: 520px) {
  .hero-menu-panel { width: min(318px, -42px + 100vw) !important; max-height: min(68vh, 470px) !important; padding: 12px !important; }
  .hero-menu-item { padding: 9px 10px !important; }
  .hero-menu-item strong { font-size: 0.84rem !important; }
  .hero-menu-item p { font-size: 0.72rem !important; }
}
.inline-brand-logo.hero-brand-logo { width: min(100%, 293px) !important; margin-bottom: 16px !important; }
.hero-brand-logo .inline-brand-mark { width: min(61vw, 284px) !important; max-width: 284px !important; border-radius: 27px !important; clip-path: inset(0px round 27px) !important; box-shadow: rgba(0, 0, 0, 0.17) 0px 14px 27px !important; }
.hero-info-control { top: 49% !important; left: 0px !important; right: 0px !important; width: 100% !important; height: 0px !important; display: block !important; transform: translateY(-50%) !important; }
.hero-menu-button { position: absolute !important; pointer-events: auto !important; left: 4px !important; top: -2px !important; }
.hero-menu-panel { left: 0px !important; right: auto !important; top: 42px !important; width: min(390px, -42px + 100vw) !important; }
.hero-menu-panel::after { left: 18px !important; right: auto !important; top: -7px !important; border-width: 1px 0px 0px 1px !important; border-style: solid none none solid !important; border-color: rgba(120, 158, 211, 0.3) currentcolor currentcolor rgba(120, 158, 211, 0.3) !important; }
@media (max-width: 520px) {
  .inline-brand-logo.hero-brand-logo { width: min(100%, 266px) !important; margin-bottom: 14px !important; }
  .hero-brand-logo .inline-brand-mark { width: min(63vw, 261px) !important; max-width: 261px !important; border-radius: 25px !important; clip-path: inset(0px round 25px) !important; }
  .hero-info-control { top: 48% !important; left: 0px !important; right: 0px !important; width: 100% !important; }
  .hero-menu-button { left: 2px !important; top: -3px !important; }
  .hero-menu-panel { inset: 40px auto auto 0px !important; width: min(318px, -36px + 100vw) !important; max-height: min(64vh, 450px) !important; }
  .summary-grid { grid-template-columns: repeat(2, minmax(0px, 1fr)) !important; gap: 6px !important; width: 100% !important; }
  .summary-schedule, .summary-stops { grid-column: auto !important; min-width: 0px !important; min-height: 104px !important; padding: 10px 6px !important; border-radius: 19px !important; }
  .summary-schedule { grid-column: 1 / -1 !important; }
  .summary-stops { grid-column: auto !important; }
  .summary-card .mini-label { font-size: clamp(0.5rem, 2.1vw, 0.6rem) !important; letter-spacing: 0.12em !important; line-height: 1.05 !important; max-width: calc(100% - 22px) !important; }
  .summary-schedule h2 { font-size: clamp(1.08rem, 4.7vw, 1.32rem) !important; line-height: 0.98 !important; }
  .summary-stops h2 { font-size: clamp(1.78rem, 8.8vw, 2.18rem) !important; line-height: 0.95 !important; }
  .summary-date { font-size: 0.66rem !important; line-height: 1.05 !important; }
  .schedule-picker-hint { padding: 6px 9px !important; font-size: clamp(0.56rem, 2.3vw, 0.66rem) !important; max-width: 100% !important; }
}
@media (max-width: 360px) {
  .summary-grid { gap: 5px !important; }
  .summary-schedule { grid-column: 1 / -1 !important; }
  .summary-schedule, .summary-stops { min-height: 98px !important; padding: 9px 5px !important; border-radius: 17px !important; }
  .summary-card .mini-label { font-size: 0.48rem !important; letter-spacing: 0.1em !important; }
  .summary-schedule h2 { font-size: 1.02rem !important; }
  .schedule-picker-hint { padding: 5px 7px !important; }
}
.hero-menu-section-title { display: block !important; color: rgb(244, 239, 225) !important; font-family: var(--rb-font-ui) !important; font-size: 0.92rem !important; line-height: 1 !important; letter-spacing: 0.08em !important; text-transform: uppercase !important; font-weight: 700 !important; }
.hero-menu-section-title-refreshers { margin-top: 2px !important; color: rgb(118, 217, 255) !important; }
.hero-menu-refreshers { gap: 7px !important; }
.hero-menu-refreshers .hero-menu-item { padding: 9px 11px !important; }
.inline-brand-logo.hero-brand-logo { width: min(100%, 264px) !important; }
.hero-brand-logo .inline-brand-mark { width: min(55vw, 256px) !important; max-width: 256px !important; border-radius: 24px !important; clip-path: inset(0px round 24px) !important; }
@media (max-width: 520px) {
  .inline-brand-logo.hero-brand-logo { width: min(100%, 240px) !important; }
  .hero-brand-logo .inline-brand-mark { width: min(57vw, 235px) !important; max-width: 235px !important; border-radius: 23px !important; clip-path: inset(0px round 23px) !important; }
}
#results .stop-card.coffee-art-card:not(.cancelled-card), .results .stop-card.coffee-art-card:not(.cancelled-card) { --rb-stop-drink-w: clamp(104px, 16vw, 138px); --rb-stop-drink-h: clamp(138px, 22vw, 178px); isolation: isolate !important; }
#results .stop-card.coffee-art-card:not(.cancelled-card)::after, .results .stop-card.coffee-art-card:not(.cancelled-card)::after { top: auto !important; bottom: clamp(36px, 4.4vw, 54px) !important; right: clamp(2px, 1.9vw, 16px) !important; width: var(--rb-stop-drink-w) !important; height: var(--rb-stop-drink-h) !important; background-position: center bottom !important; background-size: contain !important; opacity: 0.98 !important; filter: drop-shadow(rgba(42, 73, 154, 0.22) 0px 14px 16px) drop-shadow(rgba(255, 255, 255, 0.42) 0px 2px 1px) !important; transform: translateY(4px) rotate(1deg) !important; transform-origin: 50% 100% !important; z-index: 1 !important; }
#results .stop-card.coffee-art-card:not(.cancelled-card) > *, .results .stop-card.coffee-art-card:not(.cancelled-card) > * { position: relative !important; z-index: 2 !important; }
#results .stop-card.coffee-art-card:not(.cancelled-card) .stop-actions, .results .stop-card.coffee-art-card:not(.cancelled-card) .stop-actions { position: relative !important; z-index: 4 !important; }
@media (max-width: 640px) {
  #results .stop-card.coffee-art-card:not(.cancelled-card), .results .stop-card.coffee-art-card:not(.cancelled-card) { --rb-stop-drink-w: min(25vw, 108px); --rb-stop-drink-h: min(36vw, 148px); }
  #results .stop-card.coffee-art-card:not(.cancelled-card)::after, .results .stop-card.coffee-art-card:not(.cancelled-card)::after { bottom: 43px !important; right: 5px !important; transform: translateY(5px) rotate(0.8deg) !important; }
}
@media (max-width: 430px) {
  #results .stop-card.coffee-art-card:not(.cancelled-card), .results .stop-card.coffee-art-card:not(.cancelled-card) { --rb-stop-drink-w: min(23.5vw, 96px); --rb-stop-drink-h: min(33vw, 132px); }
  #results .stop-card.coffee-art-card:not(.cancelled-card)::after, .results .stop-card.coffee-art-card:not(.cancelled-card)::after { bottom: 44px !important; right: 4px !important; }
}
.hero-lockup-zone { width: min(100%, 478px) !important; max-width: 478px !important; margin: 4px auto 14px !important; }
.hero-card h1.hero-lockup { width: 100% !important; margin: 0px auto !important; display: inline-flex !important; gap: 0.34rem !important; text-align: center !important; }
.hero-card h1.hero-lockup > span { display: inline-block !important; transform: none !important; vertical-align: middle !important; letter-spacing: 0px !important; text-transform: uppercase !important; text-shadow: rgba(0, 0, 0, 0.62) 0px 2px 2px, rgba(0, 0, 0, 0.3) 0px 8px 16px !important; }
.hero-card h1.hero-lockup > .hero-lockup-kicker { color: var(--cream) !important; font-family: var(--rb-font-display) !important; font-size: 1.08rem !important; font-weight: 400 !important; }
.hero-card h1.hero-lockup > .hero-lockup-main { color: var(--cream) !important; font-family: var(--rb-font-display) !important; font-size: 1.52rem !important; line-height: 0.86 !important; text-shadow: rgba(255, 255, 255, 0.22) 0px 1px 0px, rgba(0, 0, 0, 0.38) 0px 5px 12px !important; transform: translateY(0.05em) !important; }
.hero-card h1.hero-lockup > .hero-lockup-accent { font-family: var(--rb-font-display) !important; font-size: 1.08rem !important; font-weight: 400 !important; }
@media (max-width: 520px) {
  .hero-lockup-zone { width: min(100%, 360px) !important; max-width: 360px !important; margin: 2px auto 13px !important; }
  .hero-card h1.hero-lockup { gap: 0.24rem !important; }
  .hero-card h1.hero-lockup > .hero-lockup-kicker, .hero-card h1.hero-lockup > .hero-lockup-accent { font-size: 0.76rem !important; }
  .hero-card h1.hero-lockup > .hero-lockup-main { font-size: 1.12rem !important; }
}
@media (max-width: 360px) {
  .hero-card h1.hero-lockup { gap: 0.18rem !important; }
  .hero-card h1.hero-lockup > .hero-lockup-kicker, .hero-card h1.hero-lockup > .hero-lockup-accent { font-size: 0.68rem !important; }
  .hero-card h1.hero-lockup > .hero-lockup-main { font-size: 1rem !important; }
}
.hero-card h1.hero-lockup { width: min(100%, 438px) !important; margin: 3px auto 0px !important; display: flex !important; flex-flow: row !important; align-items: center !important; justify-content: center !important; gap: clamp(0.18rem, 1vw, 0.42rem) !important; white-space: nowrap !important; overflow: visible !important; line-height: 1 !important; }
.hero-card h1.hero-lockup > span { flex: 0 0 auto !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; width: auto !important; min-width: 0px !important; margin: 0px !important; letter-spacing: 0.005em !important; line-height: 1 !important; text-align: center !important; text-shadow: rgba(0, 0, 0, 0.6) 0px 2px 2px, rgba(0, 0, 0, 0.28) 0px 8px 16px !important; }
.hero-card h1.hero-lockup > .hero-lockup-kicker, .hero-card h1.hero-lockup > .hero-lockup-accent { display: inline-flex !important; flex: 0 0 auto !important; width: auto !important; min-width: 0px !important; margin: 0px !important; transform: none !important; font-family: var(--rb-font-display) !important; font-size: clamp(0.78rem, 2.4vw, 1.05rem) !important; font-weight: 400 !important; line-height: 1 !important; text-transform: uppercase !important; }
.hero-card h1.hero-lockup > .hero-lockup-kicker { color: rgb(244, 239, 225) !important; }
.hero-card h1.hero-lockup > .hero-lockup-main { display: inline-flex !important; flex: 0 0 auto !important; width: auto !important; min-width: 0px !important; margin: 0px !important; position: relative !important; color: rgb(244, 239, 225) !important; font-family: var(--rb-font-display) !important; font-size: clamp(1.34rem, 4vw, 1.78rem) !important; font-weight: 400 !important; text-transform: none !important; line-height: 0.72 !important; padding: 0px 0.46em !important; transform: translateY(0.04em) !important; text-shadow: rgba(255, 255, 255, 0.22) 0px 1px 0px, rgba(0, 0, 0, 0.42) 0px 5px 12px !important; }
.hero-card h1.hero-lockup > .hero-lockup-main::before, .hero-card h1.hero-lockup > .hero-lockup-main::after { content: "" !important; position: absolute !important; top: 52% !important; width: 0.86em !important; height: 0.36em !important; border-top: 2px solid rgba(255, 245, 223, 0.92) !important; pointer-events: none !important; }
.hero-card h1.hero-lockup > .hero-lockup-main::before { right: calc(100% - 0.32em) !important; border-radius: 100% 0px 0px !important; transform: translateY(-50%) rotate(7deg) !important; }
.hero-card h1.hero-lockup > .hero-lockup-main::after { left: calc(100% - 0.32em) !important; border-radius: 0px 100% 0px 0px !important; transform: translateY(-50%) rotate(-7deg) !important; }
.hero-card h1.hero-lockup > .hero-lockup-accent { color: var(--rb-app-kicker-text) !important; }
.hero-info-control { position: relative !important; inset: auto !important; width: min(100%, 328px) !important; height: auto !important; min-height: 0px !important; margin: 10px auto 12px !important; padding: 0px !important; display: flex !important; flex-flow: row !important; align-items: center !important; justify-content: center !important; transform: none !important; pointer-events: auto !important; z-index: 40 !important; }
.hero-menu-button, .hero-info-button { position: relative !important; inset: auto !important; width: auto !important; height: 34px !important; min-width: 0px !important; padding: 4px 11px 4px 5px !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: 6px !important; border-radius: 999px !important; border: 1px solid rgba(244, 239, 225, 0.74) !important; color: rgb(16, 35, 59) !important; background: linear-gradient(145deg, rgb(255, 242, 206), rgb(255, 217, 143)) !important; box-shadow: rgba(0, 0, 0, 0.2) 0px 8px 16px, rgba(255, 255, 255, 0.72) 0px 1px inset !important; font-family: var(--rb-font-ui) !important; font-size: 0.7rem !important; font-weight: 950 !important; letter-spacing: 0.005em !important; line-height: 1 !important; text-transform: none !important; pointer-events: auto !important; }
.hero-info-control > .hero-info-button { flex: 0 0 auto !important; }
.hero-info-button .hero-pill-label { display: inline-block !important; color: inherit !important; font-style: inherit !important; font-variant: inherit !important; font-weight: inherit !important; font-stretch: inherit !important; font-size: inherit !important; font-family: inherit !important; font-optical-sizing: inherit !important; font-size-adjust: inherit !important; font-kerning: inherit !important; font-feature-settings: inherit !important; font-variation-settings: inherit !important; font-language-override: inherit !important; line-height: 1 !important; }
.hero-info-button .hero-pill-icon, .hero-info-button .hero-menu-icon { width: 22px !important; height: 22px !important; min-width: 22px !important; display: inline-grid !important; place-items: center !important; border-radius: 999px !important; color: rgb(255, 255, 255) !important; background: linear-gradient(135deg, rgb(38, 183, 244), rgb(7, 132, 217)) !important; box-shadow: rgba(0, 102, 184, 0.28) 0px 5px 10px !important; font-family: var(--rb-font-ui) !important; font-size: 0.76rem !important; font-weight: 950 !important; line-height: 1 !important; }
.hero-info-button svg { width: 14px !important; height: 14px !important; display: block !important; fill: none !important; stroke: currentcolor !important; stroke-width: 2.25 !important; stroke-linecap: round !important; stroke-linejoin: round !important; }
.hero-info-button[aria-expanded="true"] { border-color: rgba(255, 246, 230, 0.92) !important; filter: brightness(1.03) !important; }
.hero-info-panel, .hero-menu-panel { position: absolute !important; inset: calc(100% + 10px) auto auto 50% !important; transform: translate(-50%) !important; width: min(390px, -34px + 100vw) !important; z-index: 1200 !important; }
.hero-info-panel::after, .hero-menu-panel::after { inset: -7px auto auto 50% !important; transform: translate(-50%) rotate(45deg) !important; }
.hero-actions { margin-top: 0px !important; }
@media (max-width: 520px) {
  .hero-card h1.hero-lockup { width: min(100%, 306px) !important; gap: 0.12rem !important; }
  .hero-card h1.hero-lockup > .hero-lockup-kicker, .hero-card h1.hero-lockup > .hero-lockup-accent { font-size: clamp(0.58rem, 2.45vw, 0.72rem) !important; }
  .hero-card h1.hero-lockup > .hero-lockup-main { font-size: clamp(0.98rem, 4.15vw, 1.16rem) !important; padding: 0px 0.28em !important; }
  .hero-card h1.hero-lockup > .hero-lockup-main::before, .hero-card h1.hero-lockup > .hero-lockup-main::after { width: 0.4em !important; border-top-width: 1.5px !important; }
  .hero-info-control { width: min(100%, 292px) !important; gap: 6px !important; margin: 8px auto 11px !important; }
  .hero-info-button { height: 32px !important; padding: 4px 8px 4px 5px !important; gap: 5px !important; font-size: 0.66rem !important; }
  .hero-info-button .hero-pill-icon, .hero-info-button .hero-menu-icon { width: 20px !important; height: 20px !important; min-width: 20px !important; font-size: 0.7rem !important; }
}
@media (max-width: 360px) {
  .hero-card h1.hero-lockup { width: min(100%, 270px) !important; gap: 0.08rem !important; }
  .hero-card h1.hero-lockup > .hero-lockup-kicker, .hero-card h1.hero-lockup > .hero-lockup-accent { font-size: 0.52rem !important; }
  .hero-card h1.hero-lockup > .hero-lockup-main { font-size: 0.88rem !important; padding: 0px 0.22em !important; }
  .hero-info-control { width: min(100%, 262px) !important; gap: 5px !important; }
  .hero-info-button { padding-right: 7px !important; font-size: 0.62rem !important; }
}
:root { --rb-card-stack-gap: 12px; --rb-card-stack-gap-tight: 12px; }
.summary-grid, .install-footer, .results { gap: var(--rb-card-stack-gap) !important; }
@media (max-width: 520px) {
  .summary-grid, .install-footer, .results { gap: var(--rb-card-stack-gap-tight) !important; }
}
.hero-info-panel, .hero-menu-panel { width: min(430px, -28px + 100vw) !important; max-height: min(72dvh, 620px) !important; padding: 18px 16px 16px !important; overflow: auto !important; border-radius: 30px !important; text-align: center !important; color: rgb(244, 239, 225) !important; background: radial-gradient(circle at 82% 8%, rgba(30, 144, 255, 0.16), transparent 7rem), radial-gradient(circle at 8% 92%, rgba(40, 90, 167, 0.14), transparent 8rem), linear-gradient(155deg, rgba(0, 0, 0, 0.96), rgba(0, 0, 0, 0.94) 62%, rgba(0, 0, 0, 0.92)) !important; border: 1px solid rgba(40, 90, 167, 0.52) !important; box-shadow: rgba(0, 0, 0, 0.45) 0px 24px 70px, rgba(255, 255, 255, 0.08) 0px 1px inset !important; backdrop-filter: blur(18px) saturate(1.08) !important; scrollbar-width: thin !important; scrollbar-color: rgba(120, 158, 211, 0.55) rgba(255, 255, 255, 0.06) !important; }
.hero-info-panel::after, .hero-menu-panel::after { width: 16px !important; height: 16px !important; border-width: 1px 0px 0px 1px !important; border-style: solid none none solid !important; border-color: rgba(40, 90, 167, 0.52) currentcolor currentcolor rgba(40, 90, 167, 0.52) !important; background: linear-gradient(135deg, rgba(0, 0, 0, 0.98), rgba(0, 0, 0, 0.96)) !important; }
.hero-menu-panel { top: calc(100% + 12px) !important; bottom: auto !important; }
.hero-menu-panel::after { top: -8px !important; bottom: auto !important; transform: translate(-50%) rotate(45deg) !important; }
.hero-menu-panel > strong { display: block !important; width: 100% !important; margin: 0px auto 12px !important; color: rgb(120, 158, 211) !important; font-family: var(--rb-font-ui) !important; font-size: 0.7rem !important; font-weight: 950 !important; letter-spacing: 0.13em !important; line-height: 1.15 !important; text-align: center !important; text-transform: uppercase !important; }
.hero-menu-section-title-refreshers { margin-top: 14px !important; }
.hero-menu-list, .saved-stops-list { display: grid !important; gap: 10px !important; }
.hero-menu-item { border: 1px solid rgba(255, 255, 255, 0.16) !important; border-radius: 20px !important; color: rgb(244, 239, 225) !important; background: radial-gradient(circle at 88% 12%, rgba(30, 144, 255, 0.12), transparent 4rem), rgba(255, 255, 255, 0.075) !important; box-shadow: rgba(255, 255, 255, 0.08) 0px 1px inset !important; padding: 13px 14px !important; text-align: left !important; }
.hero-menu-item strong { color: rgb(244, 239, 225) !important; font-size: 1.02rem !important; line-height: 1 !important; font-weight: 950 !important; }
.hero-menu-item p, .hero-info-panel > span, .hero-info-location-status { color: rgba(244, 239, 225, 0.72) !important; font-size: 0.88rem !important; line-height: 1.35 !important; font-weight: 800 !important; }
.hero-info-panel > span { max-width: 330px !important; margin: 0px auto !important; display: block !important; text-align: center !important; }
.hero-info-location-tools { width: 100% !important; max-width: 330px !important; margin: 2px auto 0px !important; padding-top: 12px !important; border-top: 1px solid rgba(255, 255, 255, 0.14) !important; }
.hero-info-refresh-btn, .saved-stop-actions button { min-height: 34px !important; padding: 8px 12px !important; border-radius: 999px !important; color: rgb(9, 34, 58) !important; background: linear-gradient(135deg, rgb(244, 239, 225), rgb(40, 90, 167)) !important; border: 0px !important; box-shadow: rgba(255, 255, 255, 0.42) 0px 1px inset, rgba(0, 0, 0, 0.18) 0px 8px 16px !important; font-family: var(--rb-font-ui) !important; font-size: 0.76rem !important; line-height: 1 !important; font-weight: 950 !important; text-decoration: none !important; }
.saved-stop-item { padding: 12px !important; text-align: left !important; }
.saved-stop-actions { display: flex !important; flex-wrap: wrap !important; gap: 8px !important; }
.saved-stops-empty { margin: 0px !important; padding: 14px !important; text-align: center !important; }
@media (max-width: 520px) {
  .hero-info-panel, .hero-menu-panel { width: min(360px, -30px + 100vw) !important; max-height: min(68dvh, 500px) !important; padding: 16px 12px 12px !important; border-radius: 26px !important; }
  .hero-menu-item, .saved-stop-item { padding: 12px !important; }
}
.hero-brand-logo .inline-brand-mark { background: rgb(248, 251, 255) !important; }
.hero-actions .btn, .summary-schedule, .summary-stops, .rb-map-picker-slot { backface-visibility: visible !important; transform: none !important; will-change: auto !important; isolation: isolate !important; }
.hero-actions .btn, .summary-schedule, .summary-stops { backdrop-filter: none !important; }
.hero-actions .btn > *, .summary-card > *, .rb-map-picker-slot > * { position: relative !important; z-index: 1 !important; }
@media (min-width: 641px) {
  #results .stop-card.coffee-art-card:not(.cancelled-card), .results .stop-card.coffee-art-card:not(.cancelled-card) { --rb-stop-drink-w: clamp(104px, 13.6vw, 126px); --rb-stop-drink-h: clamp(138px, 18vw, 162px); }
  #results .stop-card.coffee-art-card:not(.cancelled-card)::after, .results .stop-card.coffee-art-card:not(.cancelled-card)::after { top: clamp(66px, 7.2vw, 84px) !important; bottom: auto !important; right: clamp(20px, 3.1vw, 32px) !important; width: var(--rb-stop-drink-w) !important; height: var(--rb-stop-drink-h) !important; background-position: center bottom !important; background-size: contain !important; transform: none !important; filter: drop-shadow(rgba(42, 73, 154, 0.18) 0px 14px 18px) drop-shadow(rgba(255, 255, 255, 0.42) 0px 2px 1px) !important; }
}
.hero-card h1.hero-lockup { width: min(100%, 492px) !important; gap: clamp(0.3rem, 1.25vw, 0.68rem) !important; }
.hero-card h1.hero-lockup > .hero-lockup-kicker, .hero-card h1.hero-lockup > .hero-lockup-accent { font-size: clamp(0.84rem, 2.55vw, 1.16rem) !important; }
.hero-card h1.hero-lockup > .hero-lockup-main { margin-inline: clamp(0.16rem, 0.85vw, 0.42rem) !important; padding-inline: 0.32em !important; font-size: clamp(1.48rem, 4.25vw, 1.96rem) !important; }
.hero-card h1.hero-lockup > .hero-lockup-main::before, .hero-card h1.hero-lockup > .hero-lockup-main::after { width: 0.68em !important; }
.hero-card h1.hero-lockup > .hero-lockup-main::before { right: calc(100% - 0.08em) !important; }
.hero-card h1.hero-lockup > .hero-lockup-main::after { left: calc(100% - 0.08em) !important; }
@media (max-width: 520px) {
  .hero-card h1.hero-lockup { width: min(100%, 328px) !important; gap: clamp(0.16rem, 1.25vw, 0.26rem) !important; }
  .hero-card h1.hero-lockup > .hero-lockup-kicker, .hero-card h1.hero-lockup > .hero-lockup-accent { font-size: clamp(0.62rem, 2.58vw, 0.78rem) !important; }
  .hero-card h1.hero-lockup > .hero-lockup-main { margin-inline: 0.1rem !important; padding-inline: 0.24em !important; font-size: clamp(1.06rem, 4.35vw, 1.24rem) !important; }
  .hero-card h1.hero-lockup > .hero-lockup-main::before, .hero-card h1.hero-lockup > .hero-lockup-main::after { width: 0.34em !important; }
}
@media (max-width: 360px) {
  .hero-card h1.hero-lockup { width: min(100%, 286px) !important; gap: 0.1rem !important; }
  .hero-card h1.hero-lockup > .hero-lockup-kicker, .hero-card h1.hero-lockup > .hero-lockup-accent { font-size: 0.55rem !important; }
  .hero-card h1.hero-lockup > .hero-lockup-main { margin-inline: 0.06rem !important; font-size: 0.94rem !important; }
}
.hero-info-panel[role="dialog"], .hero-menu-panel[role="dialog"] { position: fixed !important; inset: 50% auto auto 50% !important; transform: translate(-50%, -50%) !important; width: min(-22px + 100vw, 430px) !important; max-height: min(88dvh, 680px) !important; padding: 22px 16px 16px !important; overflow: auto !important; z-index: 5000 !important; border-radius: 30px !important; text-align: center !important; box-shadow: rgba(9, 4, 3, 0.68) 0px 0px 0px 100vmax, rgba(0, 0, 0, 0.45) 0px 24px 70px, rgba(255, 255, 255, 0.08) 0px 1px inset !important; overscroll-behavior: contain !important; }
.hero-info-panel[role="dialog"][hidden] { display: none !important; }
.hero-info-panel[role="dialog"]::after, .hero-menu-panel[role="dialog"]::after { content: none !important; display: none !important; }
.hero-info-panel[role="dialog"] .hero-panel-close { top: 12px !important; right: 12px !important; }
.hero-info-panel[role="dialog"] .mini-label { display: block !important; margin: 4px auto 8px !important; color: rgb(120, 158, 211) !important; }
.hero-panel-title { margin: 0px auto 14px !important; font-family: var(--rb-font-display) !important; font-weight: 400 !important; font-size: clamp(2rem, 8vw, 2.55rem) !important; line-height: 0.92 !important; letter-spacing: -0.06em !important; color: rgb(244, 239, 225) !important; }
.hero-info-panel[role="dialog"]:focus { outline: none !important; }
@media (max-width: 520px) {
  .hero-info-panel[role="dialog"], .hero-menu-panel[role="dialog"] { width: min(-22px + 100vw, 390px) !important; max-height: min(86dvh, 620px) !important; padding: 20px 12px 12px !important; }
}
.summary-grid { column-gap: var(--rb-card-stack-gap) !important; row-gap: var(--rb-card-stack-gap) !important; margin-top: 0px !important; margin-bottom: var(--rb-card-stack-gap) !important; }
@media (max-width: 520px) {
  .summary-grid { column-gap: var(--rb-card-stack-gap-tight) !important; row-gap: var(--rb-card-stack-gap-tight) !important; margin-bottom: var(--rb-card-stack-gap-tight) !important; }
}
.rb-map-picker-copy strong, #results .stop-card:not(.cancelled-card) .stop-name, #results .stop-card:not(.cancelled-card) h3, .results .stop-card:not(.cancelled-card) .stop-name, .results .stop-card:not(.cancelled-card) h3, .stop-card:not(.cancelled-card) .stop-name, .stop-card:not(.cancelled-card) h3 { font-size: clamp(1.38rem, 3.45vw, 1.88rem) !important; line-height: 1.02 !important; }
.install-footer, .install-footer .install-app-btn, .install-footer .share-app-btn, .install-footer .install-home-btn { contain: none !important; content-visibility: visible !important; transform-style: flat !important; backface-visibility: visible !important; will-change: auto !important; }
.install-footer .install-app-btn, .install-footer .share-app-btn, .install-footer .install-home-btn { opacity: 1 !important; visibility: visible !important; background-color: rgba(244, 239, 225, 0.96) !important; }
.install-footer .install-app-btn > *, .install-footer .share-app-btn > *, .install-footer .install-home-btn > * { opacity: 1 !important; visibility: visible !important; content-visibility: visible !important; will-change: auto !important; }
@media (min-width: 641px) {
  .inline-brand-logo.hero-brand-logo { width: min(100%, 286px) !important; margin-bottom: 18px !important; }
  .hero-brand-logo .inline-brand-mark { width: min(58vw, 278px) !important; max-width: 278px !important; border-radius: 26px !important; clip-path: inset(0px round 26px) !important; }
}
#allMapBtn .btn-spark.pin-spark { position: relative !important; width: 58px !important; min-width: 58px !important; height: 50px !important; overflow: visible !important; isolation: isolate !important; }
#allMapBtn .btn-spark.pin-spark::before, #allMapBtn .btn-spark.pin-spark::after { content: "" !important; position: absolute !important; display: block !important; width: 25px !important; height: 35px !important; background: var(--rb-pin-asset) center / contain no-repeat !important; filter: drop-shadow(rgba(0, 0, 0, 0.25) 0px 5px 7px) !important; pointer-events: none !important; }
#allMapBtn .btn-spark.pin-spark::before { left: 4px !important; top: 13px !important; z-index: 1 !important; opacity: 0.88 !important; transform: rotate(-10deg) !important; }
#allMapBtn .btn-spark.pin-spark::after { right: 4px !important; top: 7px !important; z-index: 2 !important; opacity: 0.94 !important; transform: rotate(9deg) !important; }
#allMapBtn .btn-spark.pin-spark img { position: absolute !important; left: 50% !important; top: 48% !important; z-index: 3 !important; width: 30px !important; height: 41px !important; transform: translate(-50%, -50%) !important; }
@media (max-width: 520px) {
  #allMapBtn .btn-spark.pin-spark { width: 52px !important; min-width: 52px !important; height: 48px !important; }
  #allMapBtn .btn-spark.pin-spark::before, #allMapBtn .btn-spark.pin-spark::after { width: 22px !important; height: 31px !important; }
  #allMapBtn .btn-spark.pin-spark img { width: 28px !important; height: 38px !important; }
}
.btn, .save-stop-btn, .hero-info-button, .rb-map-picker-button, .schedule-picker-card, .modal-close, .day-picker-option, .saved-stop-actions button, .hero-info-refresh-btn { transition: transform 0.16s, filter 0.16s, box-shadow 0.16s, border-color 0.16s !important; }
@media (hover: hover) and (pointer: fine) {
  .btn:not(:disabled):not(.is-locating):hover, .save-stop-btn:not(:disabled):hover, .hero-info-button:not(:disabled):hover, .rb-map-picker-button:hover, .schedule-picker-card:hover, .modal-close:not(:disabled):hover, .day-picker-option:not(:disabled):hover, .saved-stop-actions button:not(:disabled):hover, .hero-info-refresh-btn:not(:disabled):hover { transform: translateY(-3px) scale(1.03) !important; filter: brightness(1.06) saturate(1.04) !important; }
}
@keyframes rb-hero-depth-float {
  0%, 100% { transform: translateZ(0px) scale(1); }
  50% { transform: translate3d(0px, -4px, 0px) scale(1.006); }
}
html:not(.rb-motion-off) .hero-brand-logo .inline-brand-mark { will-change: transform; animation: 6.5s ease-in-out 0s infinite normal none running rb-hero-depth-float !important; transform-origin: 50% 48% !important; }
@keyframes rb-day-enter-next {
  0% { transform: translate3d(14px, 3px, 0px); }
  100% { transform: translateZ(0px); }
}
#heroMenuButton .hero-pill-icon, .stop-actions .save-stop-icon, .stop-actions .calendar-stop-icon { color: rgb(255, 255, 255) !important; border: 1.5px solid rgb(255, 255, 255) !important; border-radius: 50% !important; background: rgb(40, 90, 167) !important; box-shadow: rgb(40, 90, 167) 0px 0px 0px 2px, rgba(4, 41, 76, 0.25) 0px 7px 14px, rgba(255, 255, 255, 0.24) 0px 1px inset !important; overflow: visible !important; }
#heroMenuButton .hero-pill-icon svg, .stop-actions .save-stop-icon svg, .stop-actions .calendar-stop-icon svg { display: block !important; fill: none !important; stroke: currentcolor !important; stroke-width: 2 !important; stroke-linecap: round !important; stroke-linejoin: round !important; }
.hero-info-link-photos .hero-info-link-icon, .hero-info-link-instagram .hero-info-link-icon, .hero-info-link-facebook .hero-info-link-icon { border: 1px solid rgba(255, 255, 255, 0.5) !important; background: rgb(255, 255, 255) !important; box-shadow: rgba(0, 0, 0, 0.22) 0px 9px 17px !important; }
.hero-info-link .rb-social-medallion { position: relative !important; width: 48px !important; height: 48px !important; border: 1.5px solid rgb(255, 255, 255) !important; border-radius: 50% !important; background: rgb(40, 90, 167) !important; box-shadow: rgb(40, 90, 167) 0px 0px 0px 2px, rgba(4, 41, 76, 0.25) 0px 7px 14px, rgba(255, 255, 255, 0.24) 0px 1px inset !important; overflow: visible !important; }
.hero-info-link .rb-social-medallion::before { content: ""; position: absolute; inset: 6px; border: 1px solid rgba(255, 255, 255, 0.9); border-radius: 50%; background: rgb(255, 255, 255); }
.hero-info-link.hero-info-link-photos .hero-info-link-icon.rb-social-medallion img, .hero-info-link.hero-info-link-instagram .hero-info-link-icon.rb-social-medallion img, .hero-info-link.hero-info-link-facebook .hero-info-link-icon.rb-social-medallion img { position: relative !important; z-index: 1 !important; object-fit: contain !important; filter: none !important; transform: none !important; }
.hero-info-link.hero-info-link-instagram .hero-info-link-icon.rb-social-medallion img { width: 30px !important; height: 30px !important; border-radius: 8px !important; }
.hero-info-link.hero-info-link-facebook .hero-info-link-icon.rb-social-medallion img { width: 25px !important; height: 29px !important; }
@supports (-webkit-touch-callout: none) {
  .saved-stop-notification-time input { font-size: 16px !important; }
}
html.rb-saved-stop-timer-focused .rb-saved-content { overscroll-behavior: contain; }
.saved-stop-notification-controls { position: relative; isolation: isolate; display: grid; grid-template-columns: 42px minmax(0px, 1fr) 42px; grid-template-rows: minmax(82px, auto); align-items: center; gap: 9px; width: 100%; margin: 10px 0px 12px; }
.saved-stop-notification-summary { grid-area: 1 / 2; min-width: 0px; }
.saved-stop-notification-settings-button { position: relative; width: 42px; height: 42px; display: inline-grid; place-items: center; padding: 0px; border: 1px solid rgba(40, 90, 167, 0.4); border-radius: 50%; color: rgb(12, 77, 120); background: linear-gradient(145deg, rgba(255, 250, 235, 0.98), rgba(255, 218, 143, 0.94)); box-shadow: rgba(42, 73, 154, 0.16) 0px 9px 18px, rgba(255, 255, 255, 0.82) 0px 1px inset; cursor: pointer; touch-action: manipulation; overflow: visible; pointer-events: auto; z-index: 20; transform: translateZ(0px); }
.saved-stop-notification-bell-button { grid-area: 1 / 1; }
#savedStopNotificationSettingsButton { grid-area: 1 / 3; }
.saved-stop-notification-badge { position: absolute; top: -7px; right: -7px; z-index: 3; min-width: 19px; height: 19px; display: inline-grid; place-items: center; padding: 0px 5px; border: 2px solid rgb(244, 239, 225); border-radius: 999px; color: rgb(255, 255, 255); background: rgb(201, 64, 64); box-shadow: rgba(87, 21, 21, 0.24) 0px 5px 10px; font-size: 0.62rem; line-height: 1; font-weight: 950; letter-spacing: 0px; }
.saved-stop-notification-badge[hidden] { display: none !important; }
.saved-stop-notification-settings-button svg { width: 21px; height: 21px; fill: none; stroke: currentcolor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.saved-stop-notification-settings-button[aria-expanded="true"] { color: rgb(255, 255, 255); background: linear-gradient(145deg, rgb(43, 188, 244), rgb(8, 127, 201)); border-color: rgba(255, 255, 255, 0.66); }
.saved-stop-notification-settings-button:focus-visible { outline: rgba(40, 90, 167, 0.42) solid 3px; outline-offset: 2px; }
@media (hover: hover) {
  .saved-stop-notification-settings-button:hover { filter: brightness(1.04); transform: translateY(-1px); }
}
.saved-stop-notification-settings[hidden], .saved-stop-notification-enrollment[hidden] { display: none !important; }
.saved-stop-notification-enrollment { width: 100%; display: grid; grid-template-columns: 34px minmax(0px, 1fr) auto; align-items: center; gap: 9px; margin: -2px 0px 13px; padding: 10px 2px; border-top: 1px solid rgba(40, 90, 167, 0.24); border-bottom: 1px solid rgba(40, 90, 167, 0.24); color: rgb(42, 73, 154); background: rgba(255, 255, 255, 0.28); }
.saved-stop-notification-enrollment-icon { width: 32px; height: 32px; display: inline-grid; place-items: center; border: 1px solid rgb(255, 255, 255); border-radius: 50%; color: rgb(255, 255, 255); background: rgb(40, 90, 167); box-shadow: rgb(40, 90, 167) 0px 0px 0px 2px; }
.saved-stop-notification-enrollment-icon svg { width: 18px; height: 18px; fill: none; stroke: currentcolor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.saved-stop-notification-enrollment-copy { min-width: 0px; display: grid; gap: 2px; }
.saved-stop-notification-enrollment-copy strong { font-size: 0.78rem; line-height: 1.1; font-weight: 950; letter-spacing: 0px; color: rgb(42, 73, 154) !important; }
.saved-stop-notification-enrollment-copy small { color: rgba(42, 73, 154, 0.68); font-size: 0.66rem; line-height: 1.2; font-weight: 750; letter-spacing: 0px; }
#savedStopNotificationEnrollmentButton { min-height: 44px; padding: 7px 10px; border: 1px solid rgba(4, 91, 151, 0.32); border-radius: 7px; color: rgb(255, 255, 255); background: rgb(19, 117, 174); box-shadow: rgba(4, 58, 96, 0.18) 0px 5px 10px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-language-override: inherit; font-size: 0.68rem; line-height: 1; font-weight: 900; letter-spacing: 0px; cursor: pointer; touch-action: manipulation; }
#savedStopNotificationEnrollmentButton:disabled { opacity: 0.58; cursor: wait; }
#savedStopNotificationEnrollmentButton:focus-visible { outline: rgba(40, 90, 167, 0.42) solid 3px; outline-offset: 2px; }
.saved-stop-notification-settings { width: 100%; margin: 0px 0px 13px; padding: 12px; border: 1px solid rgba(40, 90, 167, 0.28); border-radius: 8px; color: rgb(42, 73, 154); background: rgba(255, 252, 244, 0.82); box-shadow: rgba(255, 255, 255, 0.84) 0px 1px inset, rgba(42, 73, 154, 0.1) 0px 10px 20px; }
.saved-stop-notification-master-row { display: grid; grid-template-columns: minmax(0px, 1fr) 56px; align-items: center; gap: 12px; min-height: 62px; margin-bottom: 12px; padding-bottom: 11px; border-bottom: 1px solid rgba(40, 90, 167, 0.22); }
.saved-stop-notification-master-copy { min-width: 0px; display: grid; gap: 3px; }
.saved-stop-notification-master-copy strong { font-size: 0.86rem; line-height: 1.15; font-weight: 950; color: rgb(42, 73, 154) !important; }
.saved-stop-notification-master-copy small { color: rgba(42, 73, 154, 0.68); font-size: 0.68rem; line-height: 1.25; font-weight: 800; }
.saved-stop-notification-master-row .hero-animation-toggle-track { box-sizing: border-box; }
.saved-stop-notification-settings-heading { display: grid; gap: 2px; margin-bottom: 9px; }
.saved-stop-notification-settings-heading strong { font-size: 0.9rem; line-height: 1.1; font-weight: 950; letter-spacing: 0px; color: rgb(42, 73, 154) !important; }
.saved-stop-notification-settings-heading small { color: rgba(42, 73, 154, 0.68); font-size: 0.7rem; line-height: 1.2; font-weight: 800; letter-spacing: 0px; }
.saved-stop-notification-rules { display: grid; gap: 7px; }
.saved-stop-notification-rule { display: grid; grid-template-columns: minmax(0px, 1fr) auto; align-items: center; gap: 8px; min-height: 44px; padding: 6px 7px 6px 9px; border: 1px solid rgba(42, 73, 154, 0.1); border-radius: 7px; background: rgba(255, 255, 255, 0.7); transition: opacity 0.16s, background 0.16s; }
.saved-stop-notification-rule.is-disabled { opacity: 1; background: rgba(235, 238, 240, 0.72); }
.saved-stop-notification-rule-toggle { min-width: 0px; display: flex; align-items: center; gap: 9px; min-height: 44px; color: rgb(42, 73, 154); font-size: 0.75rem; line-height: 1.15; font-weight: 900; letter-spacing: 0px; cursor: pointer; touch-action: manipulation; }
.saved-stop-notification-rule-switch { position: relative; width: 46px; height: 28px; flex: 0 0 46px; }
.saved-stop-notification-rule-toggle input { appearance: none; position: absolute; z-index: 2; inset: 0px; width: 46px; height: 28px; margin: 0px; border: 0px; opacity: 0; cursor: pointer; }
.saved-stop-notification-rule-track { position: absolute; inset: 0px; display: block; border: 1px solid rgba(65, 82, 96, 0.42); border-radius: 999px; background: linear-gradient(rgb(156, 168, 177), rgb(120, 134, 144)); box-shadow: rgba(0, 0, 0, 0.18) 0px 1px 3px inset, rgba(255, 255, 255, 0.32) 0px 1px inset; transition: background 0.16s, border-color 0.16s, box-shadow 0.16s; }
.saved-stop-notification-rule-track > span { position: absolute; top: 3px; left: 3px; width: 20px; height: 20px; border-radius: 50%; background: rgb(255, 255, 255); box-shadow: rgba(42, 73, 154, 0.26) 0px 2px 5px; transform: translateZ(0px); transition: transform 0.16s; }
.saved-stop-notification-rule-toggle input:checked + .saved-stop-notification-rule-track { border-color: rgb(8, 127, 201); background: linear-gradient(145deg, rgb(47, 198, 245), rgb(11, 132, 209)); box-shadow: rgba(0, 65, 111, 0.22) 0px 1px 2px inset, rgba(255, 255, 255, 0.42) 0px 1px inset; }
.saved-stop-notification-rule-toggle input:checked + .saved-stop-notification-rule-track > span { transform: translate3d(20px, 0px, 0px); }
.saved-stop-notification-rule-toggle input:focus-visible + .saved-stop-notification-rule-track { outline: 3px solid var(--rb-a11y-blue); outline-offset: 3px; }
.saved-stop-notification-rule-label { min-width: 0px; overflow-wrap: anywhere; }
.saved-stop-notification-rule.is-disabled .saved-stop-notification-rule-label { color: rgb(82, 103, 118); }
.saved-stop-notification-time { min-width: 0px; display: flex; align-items: center; justify-content: flex-end; gap: 4px; color: rgba(42, 73, 154, 0.68); font-size: 0.66rem; }
.saved-stop-notification-time-control { min-width: 86px; display: flex; align-items: center; justify-content: flex-end; gap: 6px; }
.saved-stop-notification-time input { width: 58px; height: 44px; min-width: 0px; padding: 4px 5px; border: 1px solid rgba(12, 83, 126, 0.28); border-radius: 6px; color: rgb(42, 73, 154); background: rgb(255, 255, 255); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-language-override: inherit; font-size: 0.8rem; font-weight: 950; text-align: center; }
.saved-stop-notification-minutes-done { min-width: 48px; min-height: 44px; padding: 6px 9px; border: 1px solid rgba(255, 255, 255, 0.36); border-radius: 9px; background: rgb(40, 90, 167); color: rgb(255, 255, 255); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-language-override: inherit; font-size: 0.72rem; font-weight: 900; cursor: pointer; touch-action: manipulation; }
.saved-stop-notification-minutes-done[hidden] { display: none; }
.saved-stop-notification-minutes-done:focus-visible { outline: 3px solid var(--rb-a11y-blue); outline-offset: 2px; }
.saved-stop-notification-service-actions { display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 7px; margin-top: 9px; }
.saved-stop-notification-service-actions button { min-width: 0px; min-height: 38px; display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 7px 9px; border: 1px solid rgba(24, 111, 167, 0.3); border-radius: 7px; color: rgb(12, 66, 104); background: rgba(255, 255, 255, 0.82); font-style: inherit; font-variant: inherit; font-stretch: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-language-override: inherit; font-size: 0.67rem; line-height: 1.05; font-weight: 950; letter-spacing: 0px; cursor: pointer; touch-action: manipulation; }
.saved-stop-notification-service-actions button:last-child { color: rgb(255, 255, 255); background: rgb(23, 109, 171); }
.saved-stop-notification-service-actions button:disabled { opacity: 0.48; cursor: default; }
.saved-stop-notification-service-actions svg { width: 16px; height: 16px; flex: 0 0 auto; fill: none; stroke: currentcolor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.saved-stop-notification-service-actions button:focus-visible { outline: rgba(40, 90, 167, 0.42) solid 3px; outline-offset: 2px; }
.saved-stop-notification-settings-status { min-height: 1.15em; margin: 8px 1px 0px; color: rgb(154, 74, 23); font-size: 0.67rem; line-height: 1.25; font-weight: 850; letter-spacing: 0px; }
.saved-stop-notification-inbox { padding: 11px; }
.saved-stop-notification-inbox-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 9px; }
.saved-stop-notification-inbox-heading > span { min-width: 0px; display: grid; gap: 2px; }
.saved-stop-notification-inbox-heading strong { font-size: 0.9rem; line-height: 1.1; font-weight: 950; letter-spacing: 0px; color: rgb(42, 73, 154) !important; }
.saved-stop-notification-inbox-heading small { color: rgba(42, 73, 154, 0.68); font-size: 0.68rem; line-height: 1.15; font-weight: 800; letter-spacing: 0px; }
.saved-stop-notification-inbox-heading button { flex: 0 0 auto; min-height: 30px; padding: 6px 10px; border: 1px solid rgba(155, 62, 48, 0.24); border-radius: 999px; color: rgb(143, 48, 40); background: rgba(255, 239, 231, 0.92); font-size: 0.67rem; line-height: 1; font-weight: 900; letter-spacing: 0px; cursor: pointer; }
.saved-stop-notification-inbox-list { max-height: min(280px, 38vh); display: grid; gap: 7px; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; }
.saved-stop-notification-inbox-item { display: grid; grid-template-columns: minmax(0px, 1fr) 30px; align-items: start; gap: 8px; padding: 9px; border: 1px solid rgba(40, 90, 167, 0.18); border-radius: 7px; background: rgba(255, 255, 255, 0.76); }
.saved-stop-notification-inbox-item > div { min-width: 0px; display: grid; gap: 3px; }
.saved-stop-notification-inbox-item strong { font-size: 0.78rem; line-height: 1.15; font-weight: 950; letter-spacing: 0px; color: rgb(42, 73, 154) !important; }
.saved-stop-notification-inbox-item p { margin: 1px 0px 0px; color: rgba(42, 73, 154, 0.72); font-size: 0.7rem; line-height: 1.25; font-weight: 750; letter-spacing: 0px; }
.saved-stop-notification-inbox-item > button { width: 30px; height: 30px; display: inline-grid; place-items: center; padding: 0px; border: 1px solid rgba(155, 62, 48, 0.2); border-radius: 50%; color: rgb(143, 48, 40); background: rgba(255, 241, 234, 0.94); font-size: 1.15rem; line-height: 1; font-weight: 700; cursor: pointer; }
.saved-stop-notification-inbox-item > .saved-stop-notification-dismiss svg { display: block; width: 17px; height: 17px; fill: none; stroke: currentcolor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.saved-stop-notification-inbox-item > .saved-stop-notification-dismiss:focus-visible { outline: rgba(143, 48, 40, 0.3) solid 3px; outline-offset: 2px; }
.saved-stop-notification-inbox-empty { margin: 0px; padding: 13px 10px; border: 1px dashed rgba(40, 90, 167, 0.24); border-radius: 7px; color: rgba(42, 73, 154, 0.66); background: rgba(255, 255, 255, 0.5); font-size: 0.75rem; line-height: 1.2; font-weight: 850; text-align: center; letter-spacing: 0px; }
@media (max-width: 430px) {
  .saved-stop-notification-controls { grid-template-columns: 40px minmax(0px, 1fr) 40px !important; grid-template-rows: minmax(82px, auto) !important; gap: 6px !important; }
  .saved-stop-notification-settings-button { width: 40px !important; min-width: 40px !important; height: 40px !important; min-height: 40px !important; }
  .saved-stop-notification-rule { grid-template-columns: minmax(0px, 1fr) 82px; }
}
@media (max-width: 360px) {
  .saved-stop-notification-controls { grid-template-columns: 38px minmax(0px, 1fr) 38px !important; gap: 5px !important; }
  .saved-stop-notification-settings-button { width: 38px !important; min-width: 38px !important; height: 38px !important; min-height: 38px !important; }
  .saved-stop-notification-enrollment { grid-template-columns: 32px minmax(0px, 1fr); }
  #savedStopNotificationEnrollmentButton { grid-column: 2; width: 100%; }
}
@keyframes rb-day-enter-prev {
  0% { transform: translate3d(-14px, 3px, 0px); }
  100% { transform: translateZ(0px); }
}
html:not(.rb-motion-off) body.rb-day-switching .summary-grid, html:not(.rb-motion-off) body.rb-day-switching .rb-map-picker-slot > .rb-map-picker-button { will-change: transform; }
html:not(.rb-motion-off) body.rb-day-switching.rb-day-switch-next .summary-grid, html:not(.rb-motion-off) body.rb-day-switching.rb-day-switch-next .rb-map-picker-slot > .rb-map-picker-button { animation: 0.22s cubic-bezier(0.2, 0.82, 0.28, 1) 0s 1 normal both running rb-day-enter-next !important; }
html:not(.rb-motion-off) body.rb-day-switching.rb-day-switch-prev .summary-grid, html:not(.rb-motion-off) body.rb-day-switching.rb-day-switch-prev .rb-map-picker-slot > .rb-map-picker-button { animation: 0.22s cubic-bezier(0.2, 0.82, 0.28, 1) 0s 1 normal both running rb-day-enter-prev !important; }
@keyframes rb-map-pin-drop-once {
  0% { opacity: 0; transform: translate3d(0px, -190px, 0px) scale(0.78); filter: drop-shadow(rgba(0, 0, 0, 0.06) 0px 44px 26px); }
  54% { opacity: 1; transform: translateZ(0px) scale(1.035, 0.88); filter: drop-shadow(rgba(0, 0, 0, 0.34) 0px 5px 4px); }
  64% { transform: translate3d(0px, -14px, 0px) scale(0.96, 1.045); filter: drop-shadow(rgba(0, 0, 0, 0.2) 0px 18px 14px); }
  78% { transform: translateZ(0px) scale(1.015, 0.94); filter: drop-shadow(rgba(0, 0, 0, 0.3) 0px 5px 5px); }
  88% { transform: translate3d(0px, -4px, 0px) scale(0.995, 1.008); }
  100% { opacity: 1; transform: translateZ(0px) scale(1); filter: drop-shadow(rgba(0, 0, 0, 0.2) 0px 9px 8px); }
}
@keyframes rb-map-pin-number-pop-once {
  0%, 48% { opacity: 0; transform: translate(-50%, -50%) scale(0.78); filter: blur(1px); }
  62% { opacity: 1; transform: translate(-50%, -50%) scale(1.12); }
  100% { opacity: 1; transform: translate(-50%, -50%) scale(1); filter: blur(0px); }
}
html:not(.rb-motion-off) .rb-all-map-pins-enter .all-pins-leaflet-map .rb-map-pin-combo-icon .rb-map-pin-wrap, html:not(.rb-motion-off) .rb-pin-drop-active, html:not(.rb-motion-off) .rb-all-map-pins-enter .all-map-svg-fallback .fallback-stop-marker .fallback-map-pin-image { backface-visibility: hidden; will-change: opacity, transform, filter; animation: 0.86s cubic-bezier(0.12, 0.78, 0.12, 1) 0s 1 normal both running rb-map-pin-drop-once !important; transform-origin: 50% 92% !important; }
html:not(.rb-motion-off) .rb-all-map-pins-enter .all-pins-leaflet-map .rb-map-pin-combo-icon .rb-map-pin-number, html:not(.rb-motion-off) .rb-pin-number-pop-active, html:not(.rb-motion-off) .rb-all-map-pins-enter .all-map-svg-fallback .fallback-stop-marker .fallback-map-pin-number { backface-visibility: hidden; will-change: opacity, transform, filter; animation: 0.86s ease-out 0s 1 normal both running rb-map-pin-number-pop-once !important; transform-origin: 50% 50% !important; }
html:not(.rb-motion-off) .btn, html:not(.rb-motion-off) .hero-info-button, html:not(.rb-motion-off) .route-main, html:not(.rb-motion-off) .save-stop-btn, html:not(.rb-motion-off) .install-app-btn, html:not(.rb-motion-off) .day-picker-option, html:not(.rb-motion-off) .rb-map-choice { transition: transform 0.17s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.17s, filter 0.17s, opacity 0.17s !important; }
html:not(.rb-motion-off) .btn:active, html:not(.rb-motion-off) .hero-info-button:active, html:not(.rb-motion-off) .route-main:active, html:not(.rb-motion-off) .save-stop-btn:active, html:not(.rb-motion-off) .install-app-btn:active, html:not(.rb-motion-off) .day-picker-option:active, html:not(.rb-motion-off) .rb-map-choice:active { transform: translateY(1px) scale(0.988) !important; }
html.rb-motion-off .hero-brand-logo .inline-brand-mark, html.rb-motion-off .rb-all-map-pins-enter .all-pins-leaflet-map .rb-map-pin-combo-icon .rb-map-pin-wrap, html.rb-motion-off .rb-pin-drop-active, html.rb-motion-off .rb-all-map-pins-enter .all-map-svg-fallback .fallback-stop-marker .fallback-map-pin-image, html.rb-motion-off .rb-all-map-pins-enter .all-pins-leaflet-map .rb-map-pin-combo-icon .rb-map-pin-number, html.rb-motion-off .rb-pin-number-pop-active, html.rb-motion-off .rb-all-map-pins-enter .all-map-svg-fallback .fallback-stop-marker .fallback-map-pin-number, html.rb-motion-off #results, html.rb-motion-off .summary-grid, html.rb-motion-off .rb-map-picker-slot > .rb-map-picker-button { animation: auto ease 0s 1 normal none running none !important; transition: none !important; }
.hero-info-links { width: 100% !important; max-width: 330px !important; margin: 4px auto 0px !important; display: grid !important; grid-template-columns: repeat(6, minmax(0px, 1fr)) !important; gap: 10px !important; }
.instagram-quick-tag-button { width: 100% !important; max-width: 330px !important; min-height: 62px !important; margin: 12px auto 2px !important; padding: 9px 12px !important; display: grid !important; grid-template-columns: 42px minmax(0px, 1fr) auto !important; align-items: center !important; gap: 11px !important; color: rgb(244, 239, 225) !important; text-align: left !important; border: 1px solid rgba(88, 216, 255, 0.32) !important; border-radius: 14px !important; background: rgba(255, 255, 255, 0.075) !important; box-shadow: rgba(255, 255, 255, 0.08) 0px 1px inset !important; cursor: pointer !important; appearance: none !important; touch-action: manipulation !important; transition: transform 0.16s, filter 0.16s, border-color 0.16s !important; }
.instagram-quick-tag-icon { width: 42px !important; height: 42px !important; display: grid !important; place-items: center !important; border: 1px solid rgba(255, 255, 255, 0.65) !important; border-radius: 50% !important; background: rgb(255, 255, 255) !important; box-shadow: rgba(0, 0, 0, 0.22) 0px 6px 13px !important; }
.instagram-quick-tag-icon img { width: 30px !important; height: 30px !important; display: block !important; object-fit: contain !important; }
.instagram-quick-tag-copy { min-width: 0px !important; }
.instagram-quick-tag-copy strong, .instagram-quick-tag-copy small { display: block !important; }
.instagram-quick-tag-copy strong { color: rgb(244, 239, 225) !important; font-size: 0.88rem !important; line-height: 1.16 !important; font-weight: 900 !important; }
.instagram-quick-tag-copy small { margin-top: 3px !important; color: rgba(244, 239, 225, 0.72) !important; font-size: 0.75rem !important; line-height: 1.15 !important; font-weight: 750 !important; }
.instagram-quick-tag-state { min-width: 48px !important; color: rgb(120, 158, 211) !important; font-size: 0.74rem !important; line-height: 1 !important; font-weight: 950 !important; text-align: right !important; }
.instagram-quick-tag-button.is-copied { border-color: rgba(142, 230, 154, 0.56) !important; }
.instagram-quick-tag-button.is-copied .instagram-quick-tag-state { color: rgb(142, 230, 154) !important; }
.instagram-quick-tag-button:focus-visible { outline: rgba(88, 216, 255, 0.72) solid 3px !important; outline-offset: 3px !important; }
@media (hover: hover) and (pointer: fine) {
  .instagram-quick-tag-button:hover { transform: translateY(-2px) !important; filter: brightness(1.06) saturate(1.04) !important; border-color: rgba(120, 158, 211, 0.52) !important; }
}
.instagram-quick-tag-button:active { transform: translateY(1px) scale(0.988) !important; }
.hero-info-link { grid-column: span 2 !important; min-width: 0px !important; min-height: 94px !important; padding: 10px 7px 9px !important; display: flex !important; flex-direction: column !important; align-items: center !important; justify-content: center !important; gap: 8px !important; color: rgb(244, 239, 225) !important; text-decoration: none !important; text-align: center !important; border: 1px solid rgba(255, 255, 255, 0.16) !important; border-radius: 20px !important; background: radial-gradient(circle at 80% 12%, rgba(30, 144, 255, 0.14), transparent 4rem), rgba(255, 255, 255, 0.075) !important; box-shadow: rgba(255, 255, 255, 0.08) 0px 1px inset !important; font-size: 0.78rem !important; line-height: 1 !important; font-weight: 950 !important; transition: transform 0.16s, filter 0.16s, box-shadow 0.16s, border-color 0.16s !important; }
.hero-info-link-website, .hero-info-link-shop { grid-column: span 2 !important; }
.hero-info-link-website { grid-column: 2 / span 2 !important; }
.hero-info-link-shop { grid-column: 4 / span 2 !important; }
.hero-info-link-icon { width: 48px !important; height: 48px !important; display: inline-grid !important; place-items: center !important; border-radius: 16px !important; overflow: hidden !important; background: rgba(244, 239, 225, 0.95) !important; box-shadow: rgba(0, 0, 0, 0.22) 0px 10px 18px, rgba(255, 255, 255, 0.7) 0px 1px inset !important; }
.hero-info-link-icon img { display: block !important; width: 100% !important; height: 100% !important; object-fit: contain !important; }
.hero-info-link-photos .hero-info-link-icon img, .hero-info-link-instagram .hero-info-link-icon img { object-fit: cover !important; }
.hero-info-link-facebook .hero-info-link-icon img { width: 58% !important; height: 78% !important; }
.hero-info-link.hero-info-link-shop .hero-info-link-icon.rb-shop-medallion::before { inset: 4px !important; border-width: 1.5px !important; background: rgb(255, 255, 255) !important; }
.hero-info-link.hero-info-link-shop .hero-info-link-icon.rb-shop-medallion img { position: relative !important; z-index: 1 !important; width: 36px !important; height: 36px !important; object-fit: contain !important; filter: none !important; transform: none !important; }
@media (hover: hover) and (pointer: fine) {
  .hero-info-link:hover { transform: translateY(-3px) scale(1.03) !important; filter: brightness(1.06) saturate(1.04) !important; border-color: rgba(91, 190, 246, 0.34) !important; }
}
@media (max-width: 420px) {
  .hero-info-links { gap: 7px !important; }
  .hero-info-link { min-height: 86px !important; padding: 9px 5px 8px !important; border-radius: 17px !important; font-size: 0.68rem !important; }
  .hero-info-link-icon { width: 41px !important; height: 41px !important; border-radius: 14px !important; }
}
.hero-card { --rb-hero-stack-w: min(448px, 100%); }
.inline-brand-logo.hero-brand-logo, .hero-card h1.hero-lockup, .hero-info-control, .hero-actions { width: var(--rb-hero-stack-w) !important; max-width: var(--rb-hero-stack-w) !important; }
.inline-brand-logo.hero-brand-logo { margin-inline: auto !important; margin-bottom: 20px !important; }
.hero-brand-logo .inline-brand-mark { width: 100% !important; max-width: none !important; border-radius: clamp(26px, 6.2vw, 42px) !important; clip-path: inset(0px round clamp(26px, 6.2vw, 42px)) !important; }
.hero-card h1.hero-lockup, .hero-info-control, .hero-actions { margin-inline: auto !important; }
#allMapBtn { width: 100% !important; }
@media (max-width: 520px) {
  .hero-card { --rb-hero-stack-w: min(327px, 100%); }
  .inline-brand-logo.hero-brand-logo { margin-bottom: 16px !important; }
}
.all-pins-leaflet-map .rb-map-pin-combo-icon { width: 46px !important; height: 64px !important; margin: 0px !important; padding: 0px !important; overflow: visible !important; background: transparent !important; border: 0px !important; box-shadow: none !important; }
.all-pins-leaflet-map .rb-map-pin-combo-icon .rb-map-pin-wrap { transform: translateZ(0px); position: relative !important; display: block !important; width: 46px !important; height: 64px !important; margin: 0px !important; padding: 0px !important; filter: drop-shadow(rgba(0, 0, 0, 0.34) 0px 7px 9px) !important; }
.all-pins-leaflet-map .rb-map-pin-combo-icon .rb-map-pin-wrap img { display: block !important; width: 46px !important; height: 64px !important; max-width: none !important; object-fit: fill !important; pointer-events: none !important; }
.all-pins-leaflet-map .rb-map-pin-combo-icon .rb-map-pin-number { position: absolute !important; left: 50% !important; top: 38px !important; width: 24px !important; min-width: 0px !important; height: 18px !important; padding: 0px !important; border: 0px !important; border-radius: 0px !important; display: grid !important; place-items: center !important; color: rgb(255, 255, 255) !important; background: transparent !important; box-shadow: none !important; font-size: 12px !important; line-height: 1 !important; font-weight: 950 !important; letter-spacing: -0.03em !important; text-shadow: rgba(0, 0, 0, 0.58) 0px 1px 2px, rgba(0, 0, 0, 0.55) 0px 0px 5px !important; transform: translate(-50%, -50%) !important; pointer-events: none !important; }
.inline-brand-logo.hero-brand-logo { position: relative !important; isolation: isolate !important; overflow: visible !important; }
.inline-brand-logo.hero-brand-logo > img.hero-award-badge { position: absolute !important; display: block !important; visibility: visible !important; opacity: 1 !important; top: clamp(-8px, -1.4%, -4px) !important; right: clamp(-10px, -2%, -6px) !important; width: clamp(46px, 14.5%, 68px) !important; min-width: 0px !important; height: auto !important; aspect-ratio: 1 / 1 !important; border-radius: 50% !important; clip-path: circle(49% at 50% 50%) !important; object-fit: cover !important; overflow: hidden !important; background: transparent !important; padding: 0px !important; margin: 0px !important; box-shadow: none !important; filter: drop-shadow(rgba(0, 0, 0, 0.3) 0px 9px 12px) !important; transform: none !important; z-index: 30 !important; pointer-events: none !important; user-select: none !important; -webkit-user-drag: none !important; touch-action: none !important; }
@media (max-width: 520px) {
  .inline-brand-logo.hero-brand-logo > img.hero-award-badge { top: clamp(-6px, -1.1%, -3px) !important; right: clamp(-8px, -1.7%, -5px) !important; width: clamp(44px, 14.5%, 52px) !important; }
}
.install-footer { isolation: isolate !important; contain: layout style paint !important; content-visibility: visible !important; transform: none !important; filter: none !important; backdrop-filter: none !important; }
.install-footer .install-app-btn, .install-footer .share-app-btn, .install-footer .install-home-btn { isolation: isolate !important; contain: layout style paint !important; content-visibility: visible !important; overflow: hidden !important; background: radial-gradient(circle at 88% 12%, rgba(40, 90, 167, 0.1), transparent 7.5rem), linear-gradient(145deg, rgba(244, 239, 225, 0.97), rgba(246, 236, 224, 0.92)) !important; backdrop-filter: none !important; transform-style: flat !important; backface-visibility: visible !important; will-change: auto !important; }
.install-footer .install-app-btn > *, .install-footer .share-app-btn > *, .install-footer .install-home-btn > * { position: relative !important; z-index: 1 !important; content-visibility: visible !important; visibility: visible !important; opacity: 1 !important; will-change: auto !important; }
.hero-menu-panel[role="dialog"] { color: rgb(42, 73, 154) !important; background: var(--rb-card-wavy-bg-strong, linear-gradient(rgba(244, 239, 225, .24), rgba(244, 239, 225, .24)), url(assets/schedule-wavy-stripes.webp?v=e60748e390c2&rb=20260802b) center center / cover no-repeat) !important; border: 1px solid rgba(40, 90, 167, 0.52) !important; box-shadow: rgba(9, 4, 3, 0.68) 0px 0px 0px 100vmax, rgba(0, 0, 0, 0.42) 0px 24px 70px, rgba(255, 255, 255, 0.82) 0px 1px inset !important; text-shadow: none !important; }
.hero-menu-panel[role="dialog"] .hero-panel-close { color: rgb(42, 73, 154) !important; background: rgba(255, 224, 157, 0.92) !important; border-color: rgba(40, 90, 167, 0.62) !important; box-shadow: rgba(42, 73, 154, 0.18) 0px 10px 20px, rgba(255, 255, 255, 0.72) 0px 1px inset !important; }
.hero-menu-panel[role="dialog"] .mini-label, .hero-menu-panel[role="dialog"] > strong, .hero-menu-panel[role="dialog"] .hero-menu-section-title { color: var(--rb-a11y-blue, #2a499a) !important; text-shadow: rgba(255, 255, 255, 0.62) 0px 1px 0px !important; }
.hero-menu-panel[role="dialog"] .hero-panel-title { color: rgb(42, 73, 154) !important; text-shadow: rgba(255, 255, 255, 0.7) 0px 1px 0px !important; }
.hero-menu-panel[role="dialog"] .hero-menu-item { color: rgb(42, 73, 154) !important; background: linear-gradient(#fffcf4b3, #fffcf4b3), var(--rb-card-bg-image, url(assets/schedule-wavy-stripes.webp?v=e60748e390c2&rb=20260802b)) center center / cover no-repeat !important; border: 1px solid rgba(40, 90, 167, 0.22) !important; box-shadow: rgba(42, 73, 154, 0.1) 0px 10px 20px, rgba(255, 255, 255, 0.78) 0px 1px inset !important; }
.hero-menu-panel[role="dialog"] .hero-menu-item strong { color: rgb(42, 73, 154) !important; text-shadow: rgba(255, 255, 255, 0.58) 0px 1px 0px !important; }
.hero-menu-panel[role="dialog"] .hero-menu-item p { color: rgba(42, 73, 154, 0.74) !important; text-shadow: none !important; }
#results .stop-card.long-stop-title .stop-name, #results .stop-card.long-stop-title h3, .results .stop-card.long-stop-title .stop-name, .results .stop-card.long-stop-title h3, .stop-card.long-stop-title .stop-name, .stop-card.long-stop-title h3 { max-width: min(100%, 22ch) !important; font-size: clamp(1.22rem, 3vw, 1.64rem) !important; line-height: 1.01 !important; letter-spacing: -0.015em !important; text-wrap: balance !important; overflow-wrap: normal !important; word-break: normal !important; }
#results .stop-card.long-stop-title-xl .stop-name, #results .stop-card.long-stop-title-xl h3, .results .stop-card.long-stop-title-xl .stop-name, .results .stop-card.long-stop-title-xl h3, .stop-card.long-stop-title-xl .stop-name, .stop-card.long-stop-title-xl h3 { max-width: min(100%, 24ch) !important; font-size: clamp(1.08rem, 2.65vw, 1.42rem) !important; line-height: 1.03 !important; }
@media (max-width: 640px) {
  #results .stop-card.long-stop-title .stop-name, #results .stop-card.long-stop-title h3, .results .stop-card.long-stop-title .stop-name, .results .stop-card.long-stop-title h3, .stop-card.long-stop-title .stop-name, .stop-card.long-stop-title h3 { font-size: clamp(1.08rem, 5.25vw, 1.38rem) !important; max-width: 18ch !important; }
  #results .stop-card.long-stop-title-xl .stop-name, #results .stop-card.long-stop-title-xl h3, .results .stop-card.long-stop-title-xl .stop-name, .results .stop-card.long-stop-title-xl h3, .stop-card.long-stop-title-xl .stop-name, .stop-card.long-stop-title-xl h3 { font-size: clamp(0.98rem, 4.9vw, 1.24rem) !important; max-width: 19ch !important; }
}
.all-pins-leaflet-map .rb-map-pin-combo-icon { margin: -55px 0px 0px -23px !important; transform-origin: 23px 55px !important; }
.all-pins-leaflet-map .rb-map-pin-combo-icon .rb-map-pin-wrap { transform-origin: 23px 55px !important; }
#results .stop-card.long-stop-title .stop-name, #results .stop-card.long-stop-title h3, #results .stop-card.long-stop-title-xl .stop-name, #results .stop-card.long-stop-title-xl h3, .results .stop-card.long-stop-title .stop-name, .results .stop-card.long-stop-title h3, .results .stop-card.long-stop-title-xl .stop-name, .results .stop-card.long-stop-title-xl h3, .stop-card.long-stop-title .stop-name, .stop-card.long-stop-title h3, .stop-card.long-stop-title-xl .stop-name, .stop-card.long-stop-title-xl h3 { max-width: min(100%, 24ch) !important; font-size: clamp(1.38rem, 3.45vw, 1.88rem) !important; line-height: 1.02 !important; letter-spacing: -0.015em !important; text-wrap: balance !important; overflow-wrap: normal !important; word-break: normal !important; hyphens: none !important; }
@media (max-width: 640px) {
  #results .stop-card.long-stop-title .stop-name, #results .stop-card.long-stop-title h3, #results .stop-card.long-stop-title-xl .stop-name, #results .stop-card.long-stop-title-xl h3, .results .stop-card.long-stop-title .stop-name, .results .stop-card.long-stop-title h3, .results .stop-card.long-stop-title-xl .stop-name, .results .stop-card.long-stop-title-xl h3, .stop-card.long-stop-title .stop-name, .stop-card.long-stop-title h3, .stop-card.long-stop-title-xl .stop-name, .stop-card.long-stop-title-xl h3 { max-width: 20ch !important; font-size: clamp(1.38rem, 3.45vw, 1.88rem) !important; }
}
#results .stop-card.coffee-art-card:not(.cancelled-card), .results .stop-card.coffee-art-card:not(.cancelled-card) { --rb-stop-cup-bottom: 24px; --rb-stop-cup-right: clamp(14px, 2.6vw, 28px); --rb-stop-cup-logo-shift: 0px; --rb-stop-drink-w: clamp(118px, 15.4vw, 144px) !important; --rb-stop-drink-h: clamp(148px, 19.3vw, 180px) !important; }
#results .stop-card.coffee-art-card:not(.cancelled-card)::after, .results .stop-card.coffee-art-card:not(.cancelled-card)::after { top: auto !important; bottom: var(--rb-stop-cup-bottom) !important; right: var(--rb-stop-cup-right) !important; width: var(--rb-stop-drink-w) !important; height: var(--rb-stop-drink-h) !important; background-position: center bottom !important; background-size: contain !important; transform: translateY(var(--rb-stop-cup-logo-shift)) rotate(.6deg) !important; transform-origin: 50% 100% !important; z-index: 1 !important; }
#results .stop-card.coffee-art-card[data-coffee-art="cup-2"]:not(.cancelled-card), .results .stop-card.coffee-art-card[data-coffee-art="cup-2"]:not(.cancelled-card) { --rb-stop-cup-logo-shift: -9px; }
#results .stop-card.coffee-art-card[data-coffee-art="cup-3"]:not(.cancelled-card), .results .stop-card.coffee-art-card[data-coffee-art="cup-3"]:not(.cancelled-card) { --rb-stop-cup-logo-shift: -8px; }
#results .stop-card.coffee-art-card[data-coffee-art="cup-4"]:not(.cancelled-card), .results .stop-card.coffee-art-card[data-coffee-art="cup-4"]:not(.cancelled-card) { --rb-stop-cup-logo-shift: -5px; }
#results .stop-card.coffee-art-card[data-coffee-art="cup-5"]:not(.cancelled-card), .results .stop-card.coffee-art-card[data-coffee-art="cup-5"]:not(.cancelled-card) { --rb-stop-cup-logo-shift: -1px; }
#results .stop-card.coffee-art-card[data-coffee-art="cup-6"]:not(.cancelled-card), .results .stop-card.coffee-art-card[data-coffee-art="cup-6"]:not(.cancelled-card) { --rb-stop-cup-logo-shift: -8px; }
#results .stop-card.coffee-art-card[data-coffee-art="cup-7"]:not(.cancelled-card), .results .stop-card.coffee-art-card[data-coffee-art="cup-7"]:not(.cancelled-card) { --rb-stop-cup-logo-shift: -4px; }
@media (min-width: 1100px) {
  #results .stop-card.coffee-art-card:not(.cancelled-card), .results .stop-card.coffee-art-card:not(.cancelled-card) { --rb-stop-cup-bottom: 35px; }
}
@media (max-width: 640px) {
  #results .stop-card.coffee-art-card:not(.cancelled-card), .results .stop-card.coffee-art-card:not(.cancelled-card) { --rb-stop-cup-bottom: 42px; --rb-stop-cup-right: 10px; --rb-stop-drink-w: min(24vw, 98px) !important; --rb-stop-drink-h: min(31vw, 126px) !important; }
}
@media (max-width: 430px) {
  #results .stop-card.coffee-art-card:not(.cancelled-card), .results .stop-card.coffee-art-card:not(.cancelled-card) { --rb-stop-cup-bottom: 40px; --rb-stop-cup-right: 8px; --rb-stop-drink-w: min(24vw, 92px) !important; --rb-stop-drink-h: min(31vw, 118px) !important; }
}
.hero-info-control { width: min(100%, 374px) !important; max-width: min(100%, 374px) !important; gap: 8px !important; }
.hero-info-control > .hero-info-button, .hero-menu-button { min-width: 92px !important; height: 44px !important; padding: 6px 14px 6px 7px !important; gap: 8px !important; font-size: 0.76rem !important; }
.hero-info-button .hero-pill-icon, .hero-info-button .hero-menu-icon { width: 25px !important; height: 25px !important; min-width: 25px !important; font-size: 0.84rem !important; }
.hero-info-button svg { width: 15px !important; height: 15px !important; }
.hero-card h1.hero-lockup { width: min(100%, 560px) !important; max-width: min(100%, 560px) !important; gap: clamp(0.34rem, 1.45vw, 0.68rem) !important; }
.hero-card h1.hero-lockup > .hero-lockup-kicker, .hero-card h1.hero-lockup > .hero-lockup-accent { font-size: clamp(1.2rem, 0.4rem + 2.55vw, 1.56rem) !important; }
.hero-card h1.hero-lockup > .hero-lockup-main { font-size: clamp(1.92rem, 0.4rem + 4.25vw, 2.56rem) !important; }
@media (max-width: 520px) {
  .hero-info-control { width: min(100%, 342px) !important; max-width: min(100%, 342px) !important; gap: 7px !important; }
  .hero-info-control > .hero-info-button, .hero-menu-button { min-width: 88px !important; height: 44px !important; padding: 5px 12px 5px 6px !important; gap: 7px !important; font-size: 0.72rem !important; }
  .hero-info-button .hero-pill-icon, .hero-info-button .hero-menu-icon { width: 24px !important; height: 24px !important; min-width: 24px !important; font-size: 0.8rem !important; }
  .hero-card h1.hero-lockup { width: min(100%, 390px) !important; max-width: min(100%, 390px) !important; gap: 0.26rem !important; }
  .hero-card h1.hero-lockup > .hero-lockup-kicker, .hero-card h1.hero-lockup > .hero-lockup-accent { font-size: clamp(0.98rem, 3.6vw, 1.16rem) !important; }
  .hero-card h1.hero-lockup > .hero-lockup-main { font-size: clamp(1.58rem, 6.2vw, 1.86rem) !important; }
}
@media (max-width: 360px) {
  .hero-info-control { width: min(100%, 310px) !important; gap: 6px !important; }
  .hero-info-control > .hero-info-button, .hero-menu-button { min-width: 78px !important; height: 44px !important; padding: 5px 9px 5px 5px !important; gap: 5px !important; font-size: 0.68rem !important; }
  .hero-info-button .hero-pill-icon, .hero-info-button .hero-menu-icon { width: 22px !important; height: 22px !important; min-width: 22px !important; }
  .hero-card h1.hero-lockup > .hero-lockup-kicker, .hero-card h1.hero-lockup > .hero-lockup-accent { font-size: clamp(0.82rem, 3.5vw, 0.94rem) !important; }
  .hero-card h1.hero-lockup > .hero-lockup-main { font-size: clamp(1.34rem, 5.8vw, 1.54rem) !important; }
}
.hero-card h1.hero-lockup { position: relative !important; isolation: isolate !important; }
.hero-card h1.hero-lockup > span { position: relative !important; }
.hero-card h1.hero-lockup > .hero-lockup-main { z-index: 0 !important; }
.hero-card h1.hero-lockup > .hero-lockup-kicker, .hero-card h1.hero-lockup > .hero-lockup-accent { z-index: 2 !important; }
.hero-card h1.hero-lockup { gap: clamp(0.56rem, 1.8vw, 0.9rem) !important; }
@media (max-width: 520px) {
  .hero-card h1.hero-lockup { gap: 0.42rem !important; }
}
@media (max-width: 360px) {
  .hero-card h1.hero-lockup { gap: 0.32rem !important; }
}
#results .stop-card:not(.cancelled-card) .stop-source, .results .stop-card:not(.cancelled-card) .stop-source { display: inline-block !important; }
#results .stop-card:not(.cancelled-card), .results .stop-card:not(.cancelled-card) { --rb-stop-status-glow-rgb: 133,
    244,
    159; --rb-stop-status-deep-rgb: 20,
    81,
    31; }
#results .stop-card.scheduled-card:not(.cancelled-card), .results .stop-card.scheduled-card:not(.cancelled-card) { --rb-stop-status-glow-rgb: 255,
    214,
    123; --rb-stop-status-deep-rgb: 122,
    79,
    13; }
#results .stop-card.scheduled-card:not(.cancelled-card) .open-chip.scheduled-chip, .results .stop-card.scheduled-card:not(.cancelled-card) .open-chip.scheduled-chip { color: rgb(122, 79, 13) !important; background: linear-gradient(135deg, rgb(255, 247, 217), rgb(255, 227, 155) 58%, rgb(40, 90, 167)) !important; border-color: rgba(235, 182, 58, 0.46) !important; text-shadow: rgba(255, 255, 255, 0.64) 0px 1px 0px !important; }
#results .stop-card:not(.cancelled-card) .open-chip, .results .stop-card:not(.cancelled-card) .open-chip { border: 1px solid rgba(var(--rb-stop-status-glow-rgb), .46) !important; box-shadow: 0 0 0 1px #ffffff75,
    0 0 12px rgba(var(--rb-stop-status-glow-rgb), .58),
    0 0 26px rgba(var(--rb-stop-status-glow-rgb), .28),
    inset 0 1px #ffffffbd !important; }
#results .stop-card:not(.cancelled-card) .stop-source, .results .stop-card:not(.cancelled-card) .stop-source { color: rgb(var(--rb-stop-status-deep-rgb)) !important; text-shadow: 0 1px 0 rgba(255, 255, 255, .62),
    0 0 10px rgba(var(--rb-stop-status-glow-rgb), .52),
    0 0 18px rgba(var(--rb-stop-status-glow-rgb), .24) !important; }
.hero-menu-panel[role="dialog"] .hero-menu-item-with-art { display: grid !important; grid-template-columns: minmax(0px, 1fr) clamp(58px, 14vw, 78px) !important; align-items: center !important; gap: 11px !important; min-height: 82px !important; overflow: hidden !important; padding: 11px 10px 11px 14px !important; }
.hero-menu-panel[role="dialog"] .hero-menu-copy { display: grid !important; min-width: 0px !important; gap: 4px !important; }
.hero-menu-panel[role="dialog"] .hero-menu-drink-art { width: clamp(58px, 14vw, 78px) !important; height: 74px !important; place-self: center end !important; pointer-events: none !important; background: var(--rb-asset-image) center bottom / contain no-repeat !important; filter: drop-shadow(rgba(42, 73, 154, 0.18) 0px 8px 12px) !important; }
.hero-menu-panel[role="dialog"] .hero-menu-refresher-item { min-height: 72px !important; }
.hero-menu-panel[role="dialog"] .hero-menu-refresher-item .hero-menu-drink-art { height: 78px !important; }
@media (max-width: 640px) {
  .hero-menu-panel[role="dialog"] .hero-menu-item-with-art { grid-template-columns: minmax(0px, 1fr) 64px !important; gap: 9px !important; min-height: 78px !important; padding: 10px 9px 10px 14px !important; }
  .hero-menu-panel[role="dialog"] .hero-menu-drink-art { width: 64px !important; height: 70px !important; }
  .hero-menu-panel[role="dialog"] .hero-menu-refresher-item .hero-menu-drink-art { height: 74px !important; }
}
@media (max-width: 430px) {
  .hero-menu-panel[role="dialog"] .hero-menu-item-with-art { grid-template-columns: minmax(0px, 1fr) 58px !important; gap: 8px !important; min-height: 74px !important; padding-right: 8px !important; }
  .hero-menu-panel[role="dialog"] .hero-menu-drink-art { width: 58px !important; height: 66px !important; }
  .hero-menu-panel[role="dialog"] .hero-menu-refresher-item .hero-menu-drink-art { height: 70px !important; }
}
:root { --rb-popup-ease: cubic-bezier(.16, 1, .3, 1); --rb-popup-duration: .26s; }
@keyframes rb-popup-backdrop-in {
  0% { opacity: 0; }
  100% { opacity: 1; }
}
@keyframes rb-popup-surface-in {
  0% { opacity: 0; transform: translate3d(0px, 12px, 0px) scale(0.975); }
  100% { opacity: 1; transform: translateZ(0px) scale(1); }
}
@keyframes rb-popup-fixed-panel-in {
  0% { opacity: 0; transform: translate(-50%, -50%) translate3d(0px, 10px, 0px) scale(0.98); }
  100% { opacity: 1; transform: translate(-50%, -50%) translateZ(0px) scale(1); }
}
.modal:not(.hidden) .modal-backdrop { animation: 0.2s ease-out 0s 1 normal both running rb-popup-backdrop-in; }
.modal:not(.hidden) .day-picker-modal, .modal:not(.hidden) .donate-modal, .modal:not(.hidden) .developer-donate-modal, .modal:not(.hidden) .install-modal, .modal:not(.hidden) .schedule-calendar-modal, #rbMapPickerModal:not(.hidden) .rb-map-picker-modal { transform-origin: 50% 44%; animation: rb-popup-surface-in var(--rb-popup-duration) var(--rb-popup-ease) both !important; }
.hero-info-panel[role="dialog"]:not([hidden]), .hero-menu-panel[role="dialog"]:not([hidden]) { transform-origin: 50% 46%; backface-visibility: hidden; animation: rb-popup-fixed-panel-in .24s var(--rb-popup-ease) both !important; transform: translate(-50%, -50%) translateZ(0px) scale(1) !important; }
.modal:not(.hidden) .modal-close, .modal:not(.hidden) .day-picker-option, #rbMapPickerModal:not(.hidden) .rb-map-choice, .modal:not(.hidden) .install-steps, .modal:not(.hidden) .donate-options, .modal:not(.hidden) .modal-ok, .hero-info-panel[role="dialog"]:not([hidden]) .hero-info-link, .hero-menu-panel[role="dialog"]:not([hidden]) .hero-menu-item, .hero-info-panel[role="dialog"]:not([hidden]) .hero-panel-close { animation: auto ease 0s 1 normal none running none !important; }
.modal:not(.hidden) .day-picker-option:nth-of-type(2), #rbMapPickerModal:not(.hidden) .rb-map-choice:nth-of-type(2), .hero-menu-panel[role="dialog"]:not([hidden]) .hero-menu-item:nth-of-type(2), .hero-info-panel[role="dialog"]:not([hidden]) .hero-info-link:nth-of-type(2) { animation-delay: 0ms; }
.modal:not(.hidden) .day-picker-option:nth-of-type(3), #rbMapPickerModal:not(.hidden) .rb-map-choice:nth-of-type(3), .hero-menu-panel[role="dialog"]:not([hidden]) .hero-menu-item:nth-of-type(3), .hero-info-panel[role="dialog"]:not([hidden]) .hero-info-link:nth-of-type(3) { animation-delay: 0ms; }
@keyframes rb-popup-backdrop-out {
  0% { opacity: 1; }
  100% { opacity: 0; }
}
@keyframes rb-popup-surface-out {
  0% { opacity: 1; transform: translateZ(0px) scale(1); }
  100% { opacity: 0; transform: translate3d(0px, 10px, 0px) scale(0.98); }
}
@keyframes rb-popup-fixed-panel-out {
  0% { opacity: 1; transform: translate(-50%, -50%) translateZ(0px) scale(1); }
  100% { opacity: 0; transform: translate(-50%, -50%) translate3d(0px, 10px, 0px) scale(0.98); }
}
.modal.is-closing { pointer-events: none; }
.modal.is-closing .modal-backdrop { pointer-events: none; animation: 0.18s ease-in 0ms 1 normal both running rb-popup-backdrop-out !important; }
.modal.is-closing .day-picker-modal, .modal.is-closing .donate-modal, .modal.is-closing .developer-donate-modal, .modal.is-closing .install-modal, .modal.is-closing .schedule-calendar-modal, #rbMapPickerModal.is-closing .rb-map-picker-modal { pointer-events: none; animation: 0.22s cubic-bezier(0.32, 0, 0.67, 0) 0ms 1 normal both running rb-popup-surface-out !important; }
.hero-info-panel[role="dialog"].is-closing, .hero-menu-panel[role="dialog"].is-closing { pointer-events: none; animation: 0.22s cubic-bezier(0.32, 0, 0.67, 0) 0ms 1 normal both running rb-popup-fixed-panel-out !important; transform: translate(-50%, -50%) translate3d(0px, 10px, 0px) scale(0.98) !important; }
.modal.is-closing .modal-close, .modal.is-closing .day-picker-option, #rbMapPickerModal.is-closing .rb-map-choice, .modal.is-closing .install-steps, .modal.is-closing .donate-options, .modal.is-closing .modal-ok { pointer-events: none; animation: auto ease 0ms 1 normal none running none !important; }
.hero-animation-toggle { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 14px 0px 12px; padding: 13px 14px 13px 16px; border: 1px solid rgba(95, 190, 239, 0.32); border-radius: 20px; background: linear-gradient(135deg, rgba(255, 252, 244, 0.13), rgba(255, 252, 244, 0.06)), rgba(4, 20, 35, 0.42); color: rgb(255, 255, 255); box-shadow: rgba(255, 255, 255, 0.12) 0px 1px inset, rgba(2, 10, 20, 0.22) 0px 12px 22px; cursor: pointer; text-align: left; touch-action: manipulation; -webkit-tap-highlight-color: transparent; position: relative; z-index: 2; }
.hero-animation-toggle-copy { display: grid; gap: 2px; }
.hero-animation-toggle-copy strong { color: rgb(255, 255, 255); font-size: 0.95rem; line-height: 1.05; font-weight: 900; }
.hero-animation-toggle-copy small { color: rgba(235, 245, 255, 0.76); font-size: 0.72rem; line-height: 1.15; font-weight: 800; }
.hero-animation-toggle-track { width: 56px; height: 34px; flex: 0 0 auto; display: inline-flex; align-items: center; padding: 3px; border-radius: 999px; background: linear-gradient(135deg, rgb(55, 199, 255), rgb(7, 132, 220)); box-shadow: rgba(255, 255, 255, 0.45) 0px 1px 2px inset, rgba(0, 44, 80, 0.22) 0px -1px 2px inset, rgba(30, 170, 238, 0.28) 0px 8px 18px; transition: background 0.22s, box-shadow 0.22s; }
.hero-animation-toggle-track span { width: 28px; height: 28px; border-radius: 999px; background: linear-gradient(rgb(255, 255, 255), rgb(241, 246, 251)); box-shadow: rgba(0, 19, 36, 0.32) 0px 3px 8px, rgba(0, 19, 36, 0.22) 0px 1px 1px; transform: translate3d(22px, 0px, 0px); transition: transform 0.22s cubic-bezier(0.22, 1, 0.36, 1); }
.hero-animation-toggle[aria-checked="false"] .hero-animation-toggle-track { background: linear-gradient(rgba(119, 132, 144, 0.78), rgba(82, 94, 106, 0.9)); box-shadow: rgba(0, 0, 0, 0.2) 0px 1px 3px inset, rgba(255, 255, 255, 0.16) 0px 1px inset; }
.hero-animation-toggle[aria-checked="false"] .hero-animation-toggle-track span { transform: translateZ(0px); }
@media (hover: hover) {
  .hero-animation-toggle:hover { border-color: rgba(95, 190, 239, 0.62); filter: brightness(1.04); }
}
.hero-info-location-tools .hero-location-toggle, .hero-info-location-tools .hero-stop-share-toggle { margin: 0px 0px 8px; }
.hero-info-location-tools .hero-info-refresh-btn { margin-top: 0px !important; }
.hero-info-location-tools .hero-info-location-status { min-height: 1.2em; text-align: center; }
html.rb-motion-off, html.rb-motion-off *, html.rb-motion-off ::before, html.rb-motion-off ::after { scroll-behavior: auto !important; animation: 0s ease 0s 1 normal none running none !important; transition: none !important; will-change: auto !important; }
html.rb-motion-off .modal:not(.hidden) .modal-backdrop, html.rb-motion-off .modal:not(.hidden) .day-picker-modal, html.rb-motion-off .modal:not(.hidden) .donate-modal, html.rb-motion-off .modal:not(.hidden) .developer-donate-modal, html.rb-motion-off .modal:not(.hidden) .install-modal, html.rb-motion-off .modal:not(.hidden) .schedule-calendar-modal, html.rb-motion-off #rbMapPickerModal:not(.hidden) .rb-map-picker-modal, html.rb-motion-off .hero-info-panel[role="dialog"]:not([hidden]), html.rb-motion-off .hero-menu-panel[role="dialog"]:not([hidden]), html.rb-motion-off .hero-info-panel[role="dialog"].is-closing, html.rb-motion-off .hero-menu-panel[role="dialog"].is-closing, html.rb-motion-off .modal:not(.hidden) .modal-close, html.rb-motion-off .modal:not(.hidden) .day-picker-option, html.rb-motion-off #rbMapPickerModal:not(.hidden) .rb-map-choice, html.rb-motion-off .modal:not(.hidden) .install-steps, html.rb-motion-off .modal:not(.hidden) .donate-options, html.rb-motion-off .modal:not(.hidden) .modal-ok, html.rb-motion-off .modal.is-closing .modal-backdrop, html.rb-motion-off .modal.is-closing .day-picker-modal, html.rb-motion-off .modal.is-closing .donate-modal, html.rb-motion-off .modal.is-closing .developer-donate-modal, html.rb-motion-off .modal.is-closing .install-modal, html.rb-motion-off .modal.is-closing .schedule-calendar-modal, html.rb-motion-off #rbMapPickerModal.is-closing .rb-map-picker-modal, html.rb-motion-off .modal.is-closing .modal-close, html.rb-motion-off .modal.is-closing .day-picker-option, html.rb-motion-off #rbMapPickerModal.is-closing .rb-map-choice, html.rb-motion-off .modal.is-closing .install-steps, html.rb-motion-off .modal.is-closing .donate-options, html.rb-motion-off .modal.is-closing .modal-ok, html.rb-motion-off .hero-info-panel[role="dialog"]:not([hidden]) .hero-info-link, html.rb-motion-off .hero-menu-panel[role="dialog"]:not([hidden]) .hero-menu-item, html.rb-motion-off .hero-info-panel[role="dialog"]:not([hidden]) .hero-panel-close, html.rb-motion-off .hero-animation-toggle-track span, html.rb-motion-off .saved-stop-notification-rule-track, html.rb-motion-off .saved-stop-notification-rule-track > span { animation: auto ease 0s 1 normal none running none !important; transition: none !important; }
html.rb-motion-off .hero-card .hero-brand-logo .inline-brand-mark { animation: auto ease 0s 1 normal none running none !important; transition: none !important; transform: none !important; }
html.rb-motion-off .hero-card { transform: none !important; transition: none !important; }
@keyframes rb-mobile-popup-surface-in {
  0% { opacity: 0; transform: translate3d(0px, 26px, 0px) scale(0.94); }
  62% { opacity: 1; transform: translate3d(0px, -2px, 0px) scale(1.006); }
  100% { opacity: 1; transform: translateZ(0px) scale(1); }
}
@keyframes rb-mobile-popup-surface-out {
  0% { opacity: 1; transform: translateZ(0px) scale(1); }
  100% { opacity: 0; transform: translate3d(0px, 18px, 0px) scale(0.965); }
}
@keyframes rb-mobile-fixed-panel-in {
  0% { opacity: 0; transform: translate(-50%, -50%) translate3d(0px, 26px, 0px) scale(0.94); }
  62% { opacity: 1; transform: translate(-50%, -50%) translate3d(0px, -2px, 0px) scale(1.006); }
  100% { opacity: 1; transform: translate(-50%, -50%) translateZ(0px) scale(1); }
}
@keyframes rb-mobile-fixed-panel-out {
  0% { opacity: 1; transform: translate(-50%, -50%) translateZ(0px) scale(1); }
  100% { opacity: 0; transform: translate(-50%, -50%) translate3d(0px, 18px, 0px) scale(0.965); }
}
@keyframes rb-mobile-day-enter-next {
  0% { transform: translate3d(12px, 4px, 0px); }
  100% { transform: translateZ(0px); }
}
.hero-info-link.hero-info-link-photos .hero-info-link-icon.rb-social-medallion::before, .hero-info-link.hero-info-link-instagram .hero-info-link-icon.rb-social-medallion::before { inset: 4px !important; border-width: 1.5px !important; background: rgb(255, 255, 255) !important; }
.hero-info-link.hero-info-link-photos .hero-info-link-icon.rb-social-medallion img { clip-path: circle(50% at 50% 50%); width: 40px !important; height: 40px !important; border-radius: 50% !important; object-fit: cover !important; box-shadow: rgba(255, 255, 255, 0.82) 0px 0px 0px 1px !important; }
.hero-info-link.hero-info-link-instagram .hero-info-link-icon.rb-social-medallion img { clip-path: circle(50% at 50% 50%); width: 36px !important; height: 36px !important; border-radius: 50% !important; object-fit: cover !important; box-shadow: rgba(255, 255, 255, 0.82) 0px 0px 0px 1px !important; }
.hero-info-link.hero-info-link-website .hero-info-link-icon.rb-social-medallion::before { inset: 4px !important; border-width: 1.5px !important; background: rgb(255, 255, 255) !important; }
.hero-info-link.hero-info-link-website .hero-info-link-icon.rb-social-medallion img { position: relative !important; z-index: 1 !important; width: 36px !important; height: 40px !important; border-radius: 0px !important; object-fit: contain !important; filter: none !important; transform: none !important; }
.schedule-picker-card .schedule-picker-hint { display: inline-grid !important; grid-template-columns: auto 23px !important; align-items: center !important; gap: 8px !important; min-height: 38px !important; max-width: 100% !important; margin: 10px auto 0px !important; padding: 6px 6px 6px 13px !important; border: 1px solid rgb(226, 189, 111) !important; border-radius: 8px !important; color: rgb(42, 73, 154) !important; background: rgb(249, 231, 183) !important; box-shadow: rgba(0, 0, 0, 0.22) 0px 7px 15px, rgba(255, 255, 255, 0.72) 0px 1px inset !important; font-size: 0.72rem !important; font-weight: 950 !important; letter-spacing: 0px !important; line-height: 1 !important; text-transform: none !important; white-space: nowrap !important; overflow: visible !important; }
.schedule-picker-card .schedule-picker-hint::after { content: "⌄" !important; display: grid !important; place-items: center !important; width: 23px !important; height: 23px !important; margin: 0px !important; border: 1px solid rgba(255, 255, 255, 0.72) !important; border-radius: 50% !important; color: rgb(255, 255, 255) !important; background: rgb(40, 90, 167) !important; box-shadow: rgba(4, 41, 76, 0.28) 0px 3px 7px !important; font-size: 0.9rem !important; font-weight: 950 !important; line-height: 1 !important; transform: none !important; }
@media (max-width: 390px) {
  .schedule-picker-card .schedule-picker-hint { min-height: 36px !important; padding-left: 11px !important; font-size: 0.68rem !important; }
}
.hero-card h1.hero-lockup > .hero-lockup-main::before, .hero-card h1.hero-lockup > .hero-lockup-main::after { content: none !important; display: none !important; }
@keyframes rb-mobile-day-enter-prev {
  0% { transform: translate3d(-12px, 4px, 0px); }
  100% { transform: translateZ(0px); }
}
@media (hover: none), (pointer: coarse), (max-width: 640px) {
  :root { --rb-popup-duration: .34s; }
  html:not(.rb-motion-off) .modal:not(.hidden) .day-picker-modal, html:not(.rb-motion-off) .modal:not(.hidden) .donate-modal, html:not(.rb-motion-off) .modal:not(.hidden) .developer-donate-modal, html:not(.rb-motion-off) .modal:not(.hidden) .install-modal, html:not(.rb-motion-off) .modal:not(.hidden) .schedule-calendar-modal, html:not(.rb-motion-off) #rbMapPickerModal:not(.hidden) .rb-map-picker-modal { transform: translateZ(0px) scale(1); backface-visibility: hidden; animation: 0.34s cubic-bezier(0.16, 1, 0.3, 1) 0s 1 normal both running rb-mobile-popup-surface-in !important; transform-origin: 50% 54% !important; }
  html:not(.rb-motion-off) .hero-info-panel[role="dialog"]:not([hidden]), html:not(.rb-motion-off) .hero-menu-panel[role="dialog"]:not([hidden]) { backface-visibility: hidden; animation: 0.34s cubic-bezier(0.16, 1, 0.3, 1) 0s 1 normal both running rb-mobile-fixed-panel-in !important; transform: translate(-50%, -50%) translateZ(0px) scale(1) !important; transform-origin: 50% 54% !important; }
  html:not(.rb-motion-off) .modal.is-closing .day-picker-modal, html:not(.rb-motion-off) .modal.is-closing .donate-modal, html:not(.rb-motion-off) .modal.is-closing .developer-donate-modal, html:not(.rb-motion-off) .modal.is-closing .install-modal, html:not(.rb-motion-off) .modal.is-closing .schedule-calendar-modal, html:not(.rb-motion-off) #rbMapPickerModal.is-closing .rb-map-picker-modal { pointer-events: none; animation: 0.28s cubic-bezier(0.32, 0, 0.67, 0) 0ms 1 normal both running rb-mobile-popup-surface-out !important; }
  html:not(.rb-motion-off) .hero-info-panel[role="dialog"].is-closing, html:not(.rb-motion-off) .hero-menu-panel[role="dialog"].is-closing { pointer-events: none; animation: 0.28s cubic-bezier(0.32, 0, 0.67, 0) 0ms 1 normal both running rb-mobile-fixed-panel-out !important; transform: translate(-50%, -50%) translate3d(0px, 18px, 0px) scale(0.965) !important; }
  html:not(.rb-motion-off) .modal:not(.hidden) .modal-backdrop { animation-duration: 0.24s !important; backdrop-filter: blur(8px); }
  html:not(.rb-motion-off) .modal.is-closing .modal-backdrop { animation-duration: 0.22s !important; }
  html:not(.rb-motion-off) body.rb-day-switching.rb-day-switch-next .summary-grid, html:not(.rb-motion-off) body.rb-day-switching.rb-day-switch-next .rb-map-picker-slot > .rb-map-picker-button { animation: 0.24s cubic-bezier(0.2, 0.82, 0.28, 1) 0s 1 normal both running rb-mobile-day-enter-next !important; filter: none !important; }
  html:not(.rb-motion-off) body.rb-day-switching.rb-day-switch-prev .summary-grid, html:not(.rb-motion-off) body.rb-day-switching.rb-day-switch-prev .rb-map-picker-slot > .rb-map-picker-button { animation: 0.24s cubic-bezier(0.2, 0.82, 0.28, 1) 0s 1 normal both running rb-mobile-day-enter-prev !important; filter: none !important; }
  html:not(.rb-motion-off) .btn, html:not(.rb-motion-off) .hero-info-button, html:not(.rb-motion-off) .route-main, html:not(.rb-motion-off) .save-stop-btn, html:not(.rb-motion-off) .install-app-btn, html:not(.rb-motion-off) .day-picker-option, html:not(.rb-motion-off) .rb-map-choice { -webkit-tap-highlight-color: transparent; transition: transform 0.15s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.15s, filter 0.15s, opacity 0.15s !important; }
  html:not(.rb-motion-off) .btn:active, html:not(.rb-motion-off) .hero-info-button:active, html:not(.rb-motion-off) .route-main:active, html:not(.rb-motion-off) .save-stop-btn:active, html:not(.rb-motion-off) .install-app-btn:active, html:not(.rb-motion-off) .day-picker-option:active, html:not(.rb-motion-off) .rb-map-choice:active { transform: translateY(1px) scale(0.982) !important; filter: brightness(0.98) saturate(1.04) !important; }
}
.stop-actions { width: 100% !important; margin-top: 14px !important; display: grid !important; grid-template-columns: minmax(0px, 0.92fr) minmax(0px, 0.78fr) minmax(0px, 1.34fr) !important; gap: 10px !important; align-items: stretch !important; }
.stop-actions .save-stop-btn, .stop-actions .calendar-stop-btn, .stop-actions .route-main { width: 100% !important; max-width: none !important; min-width: 0px !important; height: 56px !important; min-height: 56px !important; max-height: 56px !important; margin: 0px !important; box-sizing: border-box !important; align-self: stretch !important; overflow: hidden !important; }
.stop-actions .save-stop-btn { grid-area: 1 / 1 !important; }
.stop-actions .calendar-stop-btn { grid-area: 1 / 2 !important; }
.stop-actions .route-main { grid-area: 1 / 3 !important; display: grid !important; grid-template-columns: 36px minmax(0px, 1fr) 36px !important; column-gap: 10px !important; place-items: center !important; padding: 8px 12px 8px 10px !important; }
.stop-actions .route-main::after { grid-column: 3 !important; margin-left: 0px !important; place-self: center end !important; flex: 0 0 auto !important; }
.stop-actions .route-icon { grid-column: 1 !important; justify-self: center !important; }
.stop-actions .route-text { grid-column: 2 !important; min-width: 0px !important; max-width: 100% !important; justify-self: center !important; text-align: center !important; line-height: 1.02 !important; white-space: normal !important; }
.stop-actions .save-stop-btn, .stop-actions .calendar-stop-btn { appearance: none !important; display: flex !important; align-items: center !important; justify-content: flex-start !important; gap: 9px !important; padding: 8px 10px !important; text-align: left !important; color: rgb(42, 73, 154) !important; background: radial-gradient(circle at 20% 14%, rgba(255, 255, 255, 0.75), transparent 2.4rem), linear-gradient(135deg, rgba(255, 250, 238, 0.96), rgba(232, 242, 248, 0.94)) !important; border: 1px solid rgba(31, 125, 190, 0.24) !important; border-radius: 18px !important; box-shadow: rgba(5, 28, 46, 0.12) 0px 12px 22px, rgba(255, 255, 255, 0.78) 0px 1px inset !important; cursor: pointer !important; touch-action: manipulation !important; }
.stop-actions .calendar-stop-btn { background: radial-gradient(circle at 22% 16%, rgba(255, 255, 255, 0.78), transparent 2.2rem), linear-gradient(135deg, rgba(250, 253, 255, 0.98), rgba(225, 242, 251, 0.95)) !important; border-color: rgba(31, 125, 190, 0.28) !important; }
.stop-actions .calendar-stop-btn.is-share-mode { background: radial-gradient(circle at 22% 16%, rgba(255, 255, 255, 0.78), transparent 2.2rem), linear-gradient(135deg, rgba(235, 249, 255, 0.98), rgba(193, 233, 255, 0.96)) !important; border-color: rgba(31, 151, 222, 0.38) !important; }
.save-stop-btn:focus-visible, .calendar-stop-btn:focus-visible { outline: rgba(30, 144, 255, 0.38) solid 3px !important; outline-offset: 3px !important; }
.save-stop-btn.is-saved { color: rgb(42, 73, 154) !important; background: linear-gradient(135deg, rgb(244, 239, 225), rgb(40, 90, 167)) !important; border-color: rgba(40, 90, 167, 0.46) !important; }
.save-stop-icon, .calendar-stop-icon { width: 34px !important; height: 34px !important; min-width: 34px !important; display: inline-grid !important; place-items: center !important; border-radius: 12px !important; color: rgb(255, 255, 255) !important; background: linear-gradient(135deg, rgb(30, 144, 255), rgb(40, 90, 167)) !important; box-shadow: rgba(40, 90, 167, 0.25) 0px 10px 17px !important; }
.save-stop-icon svg, .calendar-stop-icon svg { width: 20px !important; height: 20px !important; fill: none !important; stroke: currentcolor !important; stroke-width: 2.2 !important; stroke-linecap: round !important; stroke-linejoin: round !important; }
.save-stop-copy { min-width: 0px !important; display: grid !important; gap: 2px !important; line-height: 1.02 !important; }
.save-stop-copy strong, .save-stop-copy small { display: block !important; min-width: 0px !important; overflow: visible !important; text-overflow: clip !important; white-space: normal !important; }
.save-stop-copy strong { color: inherit !important; font-size: clamp(0.76rem, 2.4vw, 0.92rem) !important; font-weight: 950 !important; }
.save-stop-copy small { color: rgba(42, 73, 154, 0.66) !important; font-size: clamp(0.58rem, 2.1vw, 0.7rem) !important; font-weight: 850 !important; }
html:not(.rb-motion-off) .calendar-stop-btn { -webkit-tap-highlight-color: transparent; transition: transform 0.15s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.15s, filter 0.15s, opacity 0.15s !important; }
html:not(.rb-motion-off) .calendar-stop-btn:active { transform: translateY(1px) scale(0.982) !important; filter: brightness(0.98) saturate(1.04) !important; }
@media (hover: hover) and (pointer: fine) {
  .calendar-stop-btn:not(:disabled):hover { transform: translateY(-3px) scale(1.03) !important; filter: brightness(1.06) saturate(1.04) !important; }
}
@media (max-width: 520px) {
  .stop-actions { grid-template-columns: minmax(92px, 0.78fr) 52px minmax(138px, 1.55fr) !important; gap: 7px !important; }
  .stop-actions.has-share-secondary { grid-template-columns: minmax(86px, 0.74fr) minmax(76px, 0.72fr) minmax(132px, 1.38fr) !important; }
  .stop-actions .save-stop-btn, .stop-actions .calendar-stop-btn, .stop-actions .route-main { height: 54px !important; min-height: 54px !important; max-height: 54px !important; border-radius: 16px !important; }
  .stop-actions .save-stop-btn { padding: 7px 8px !important; gap: 7px !important; }
  .stop-actions .calendar-stop-btn { width: auto !important; max-width: none !important; padding: 0px !important; justify-content: center !important; gap: 0px !important; }
  .stop-actions.has-share-secondary .calendar-stop-btn { padding: 7px 8px !important; justify-content: flex-start !important; gap: 6px !important; }
  .stop-actions .route-main { grid-template-columns: 32px minmax(0px, 1fr) 32px !important; column-gap: 8px !important; padding: 7px 9px 7px 8px !important; }
  .save-stop-icon, .calendar-stop-icon { width: 30px !important; height: 30px !important; min-width: 30px !important; border-radius: 10px !important; }
  .save-stop-icon svg, .calendar-stop-icon svg { width: 18px !important; height: 18px !important; }
  .save-stop-copy strong { font-size: clamp(0.72rem, 3.15vw, 0.86rem) !important; line-height: 1.02 !important; white-space: normal !important; }
  .save-stop-copy small { display: none !important; }
  .stop-actions .route-text { font-size: clamp(0.78rem, 3.15vw, 0.96rem) !important; }
}
@media (max-width: 370px) {
  .stop-actions { grid-template-columns: minmax(68px, 0.72fr) 42px minmax(106px, 1.42fr) !important; gap: 4px !important; }
  .stop-actions.has-share-secondary { grid-template-columns: minmax(68px, 0.7fr) minmax(62px, 0.76fr) minmax(104px, 1.28fr) !important; }
  .stop-actions .save-stop-btn, .stop-actions .calendar-stop-btn, .stop-actions .route-main { height: 52px !important; min-height: 52px !important; max-height: 52px !important; }
  .stop-actions .route-main { grid-template-columns: 26px minmax(0px, 1fr) 24px !important; column-gap: 4px !important; padding-inline: 5px !important; }
  .stop-actions .save-stop-btn { justify-content: center !important; padding: 0px !important; }
  .stop-actions .save-stop-copy { display: none !important; }
  .stop-actions .route-text { font-size: 0.72rem !important; line-height: 0.96 !important; }
}
.schedule-calendar-modal { position: relative; width: min(-24px + 100vw, 1180px); max-height: min(92dvh, 900px); display: flex; flex-direction: column; overflow: hidden; padding: 22px; color: rgb(248, 251, 255); border: 1px solid rgba(92, 184, 239, 0.36); border-radius: 24px; background: rgb(0, 0, 0); box-shadow: rgba(0, 0, 0, 0.48) 0px 28px 72px, rgba(255, 255, 255, 0.1) 0px 1px inset; overscroll-behavior: contain; }
.schedule-calendar-heading { flex: 0 0 auto; padding: 0px 58px 16px 0px; }
.schedule-calendar-status { position: absolute; width: 1px; height: 1px; padding: 0px; margin: -1px; overflow: hidden; clip: rect(0px, 0px, 0px, 0px); white-space: nowrap; border: 0px; }
.schedule-calendar-heading .mini-label { margin: 0px 0px 4px; color: rgb(80, 201, 255); }
.schedule-calendar-heading h2 { margin: 0px; color: rgb(255, 250, 241); font-family: var(--rb-font-ui); font-weight: 700; font-size: clamp(2rem, 4vw, 3.2rem); line-height: 0.98; letter-spacing: -0.02em; }
.schedule-calendar-heading > p:not(.mini-label) { max-width: 720px; margin: 9px 0px 0px; color: rgba(237, 247, 255, 0.76); font-size: 0.88rem; line-height: 1.35; font-weight: 700; }
.schedule-calendar-scroll { min-height: 0px; overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; scrollbar-width: auto; scrollbar-color: rgb(66, 184, 238) rgba(255, 255, 255, 0.08); }
.schedule-calendar-scroll::-webkit-scrollbar { width: 10px; }
.schedule-calendar-scroll::-webkit-scrollbar-track { border-radius: 999px; background: rgba(255, 255, 255, 0.08); }
.schedule-calendar-scroll::-webkit-scrollbar-thumb { border: 2px solid rgb(0, 0, 0); border-radius: 999px; background: rgb(66, 184, 238); }
.schedule-calendar-week { display: grid; grid-template-columns: repeat(7, minmax(0px, 1fr)); gap: 10px; padding: 2px 2px 8px; }
.schedule-calendar-message, .schedule-calendar-loading { grid-column: 1 / -1; margin: 0px 0px 2px; padding: 13px 15px; color: rgb(13, 54, 86); border: 1px solid rgba(73, 163, 218, 0.34); border-radius: 12px; background: rgb(231, 245, 252); font-weight: 850; }
.schedule-calendar-day { min-width: 0px; align-self: start; overflow: hidden; border: 1px solid rgba(255, 255, 255, 0.14); border-radius: 14px; background: rgb(16, 38, 58); }
.schedule-calendar-day.is-today { border-color: rgba(62, 191, 246, 0.72); box-shadow: rgba(50, 180, 237, 0.15) 0px 0px 0px 2px; }
.schedule-calendar-day-head { min-height: 84px; display: flex; align-items: flex-end; justify-content: space-between; gap: 8px; padding: 12px; border-bottom: 1px solid rgba(255, 255, 255, 0.1); background: rgb(11, 32, 52); }
.schedule-calendar-day-head p { margin: 0px 0px 3px; color: rgb(88, 203, 255); font-size: 0.62rem; line-height: 1; font-weight: 950; text-transform: uppercase; }
.schedule-calendar-day-head h3 { margin: 0px; color: rgb(255, 250, 241); font-size: clamp(1rem, 1.5vw, 1.28rem); line-height: 1; }
.schedule-calendar-day-meta { display: grid; justify-items: end; gap: 3px; color: rgba(234, 245, 255, 0.72); font-size: 0.64rem; line-height: 1.05; font-weight: 850; text-align: right; }
.schedule-calendar-events { display: grid; gap: 7px; padding: 8px; }
.schedule-calendar-event { min-width: 0px; display: grid; grid-template-columns: minmax(0px, 1fr); gap: 9px; padding: 10px; color: rgb(16, 45, 72); border: 1px solid rgb(224, 173, 59); border-radius: 10px; background: rgb(255, 240, 184); }
.schedule-calendar-event-copy { min-width: 0px; display: grid; gap: 4px; }
.schedule-calendar-event-copy time { color: rgb(134, 87, 11); font-size: 0.7rem; line-height: 1; font-weight: 950; }
.schedule-calendar-event-copy strong { overflow-wrap: anywhere; font-size: 0.78rem; line-height: 1.12; font-weight: 950; }
.schedule-calendar-event-copy span { overflow-wrap: anywhere; font-size: 0.64rem; line-height: 1.2; font-weight: 750; opacity: 0.82; }
.schedule-calendar-event-copy small { overflow-wrap: anywhere; color: rgb(66, 87, 107); font-size: 0.62rem; line-height: 1.2; font-weight: 750; }
.schedule-calendar-event-action { width: 100%; min-height: 44px; display: flex; align-items: center; justify-content: center; gap: 7px; padding: 7px 9px; color: rgb(23, 50, 75); border: 1px solid rgba(42, 73, 154, 0.24); border-radius: 9px; background: rgba(255, 255, 255, 0.64); box-shadow: rgba(255, 255, 255, 0.66) 0px 1px inset; font-size: 0.72rem; font-weight: 950; cursor: pointer; }
.schedule-calendar-event-action:disabled { cursor: default; opacity: 0.68; }
.schedule-calendar-event-action-icon { width: 24px; height: 24px; display: inline-grid; place-items: center; }
.schedule-calendar-event-action-icon svg { width: 21px; height: 21px; fill: none; stroke: currentcolor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
@media (hover: hover) and (pointer: fine) {
  .schedule-calendar-event-action:not(:disabled):hover { transform: translateY(-1px); filter: brightness(1.03); }
}
@media (max-width: 900px) {
  .schedule-calendar-week { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
  .schedule-calendar-event { grid-template-columns: minmax(0px, 1fr) 92px; align-items: center; }
}
@media (min-width: 601px) and (max-width: 900px) {
  .schedule-calendar-week.is-tablet-masonry { grid-auto-flow: dense; grid-auto-rows: 1px; gap: 0px 10px; }
}
@media (max-width: 600px) {
  .schedule-calendar-modal { width: min(-18px + 100vw, 520px); max-height: calc(100dvh - 18px - env(safe-area-inset-top) - env(safe-area-inset-bottom)); padding: 18px 13px 14px; border-radius: 20px; }
  .schedule-calendar-heading { padding: 0px 52px 13px 2px; }
  .schedule-calendar-heading h2 { font-size: clamp(1.8rem, 9vw, 2.45rem); }
  .schedule-calendar-heading > p:not(.mini-label) { font-size: 0.78rem; }
  .schedule-calendar-week { grid-template-columns: 1fr; gap: 9px; }
  .schedule-calendar-day-head { min-height: 70px; }
  .schedule-calendar-day-head h3 { font-size: 1.22rem; }
  .schedule-calendar-event { grid-template-columns: minmax(0px, 1fr) 92px; }
  .schedule-calendar-event-copy strong { font-size: 0.84rem; }
  .schedule-calendar-event-copy span { font-size: 0.68rem; }
}
@media (max-width: 350px) {
  .schedule-calendar-event { grid-template-columns: 1fr; }
}
html.rb-motion-off .schedule-calendar-event-action { transition: none !important; }
.hero-utility-backdrop { position: fixed; inset: 0px; z-index: 4900; background: rgba(9, 4, 3, 0.72); overscroll-behavior: none; touch-action: none; animation: 0.2s ease-out 0s 1 normal both running rb-popup-backdrop-in; }
.hero-utility-backdrop[hidden] { display: none !important; }
#heroMenuPanel.hero-menu-panel[role="dialog"] { box-shadow: rgba(0, 0, 0, 0.45) 0px 24px 70px, rgba(255, 255, 255, 0.08) 0px 1px inset !important; }
.modal-backdrop { touch-action: none; }
html.rb-motion-off .hero-utility-backdrop { animation: auto ease 0s 1 normal none running none !important; }
@media (hover: none), (pointer: coarse), (max-width: 640px) {
  body.modal-open { overflow: clip auto !important; }
}
.modal { top: var(--rb-modal-viewport-top, 0px) !important; right: 0px !important; bottom: auto !important; left: 0px !important; width: 100% !important; height: var(--rb-modal-viewport-height, 100dvh) !important; }
.hero-utility-backdrop { top: var(--rb-modal-viewport-top, 0px) !important; right: 0px !important; bottom: auto !important; left: 0px !important; height: var(--rb-modal-viewport-height, 100dvh) !important; }
#heroMenuPanel.hero-menu-panel[role="dialog"] { top: var(--rb-modal-viewport-center, 50dvh) !important; }
@media (max-width: 640px) {
  .all-pins-leaflet-map .leaflet-marker-icon.rb-map-pin-combo-icon, .all-pins-leaflet-map .rb-map-pin-combo-icon { width: 46px !important; height: 64px !important; margin: -55px 0px 0px -23px !important; padding: 0px !important; overflow: visible !important; background: transparent !important; border: 0px !important; box-shadow: none !important; transform-origin: 23px 55px !important; }
  .all-pins-leaflet-map .rb-map-pin-combo-icon .rb-map-pin-wrap { width: 46px !important; height: 64px !important; max-width: none !important; transform-origin: 23px 55px !important; }
  .all-pins-leaflet-map .rb-map-pin-combo-icon .rb-map-pin-wrap img { width: 46px !important; height: 64px !important; max-width: none !important; transform: none !important; object-fit: fill !important; }
  .all-pins-leaflet-map .rb-map-pin-combo-icon .rb-map-pin-number { left: 50% !important; top: 38px !important; width: 24px !important; height: 18px !important; min-width: 0px !important; padding: 0px !important; border: 0px !important; border-radius: 0px !important; color: rgb(255, 255, 255) !important; background: transparent !important; box-shadow: none !important; text-shadow: rgba(0, 0, 0, 0.58) 0px 1px 2px, rgba(0, 0, 0, 0.55) 0px 0px 5px !important; transform: translate(-50%, -50%) !important; }
}
.hero-card h1.hero-lockup { width: min(100%, 440px) !important; max-width: min(100%, 440px) !important; justify-content: center !important; gap: 0.38rem !important; padding-inline: 0.35rem !important; }
.hero-card h1.hero-lockup > .hero-lockup-kicker, .hero-card h1.hero-lockup > .hero-lockup-main, .hero-card h1.hero-lockup > .hero-lockup-accent { font-family: var(--rb-font-display) !important; font-size: 1.28rem !important; font-weight: 400 !important; line-height: 1 !important; letter-spacing: 0px !important; text-transform: uppercase !important; }
.hero-card h1.hero-lockup > .hero-lockup-main { margin-inline: 0px !important; padding-inline: 0px !important; color: rgb(244, 239, 225) !important; transform: none !important; text-shadow: rgba(0, 0, 0, 0.6) 0px 2px 2px, rgba(0, 0, 0, 0.28) 0px 8px 16px !important; }
.hero-card .hero-info-control { margin-top: 13px !important; }
.hero-card .inline-brand-logo.hero-brand-logo { margin-bottom: 14px !important; }
.schedule-picker-card .schedule-picker-hint { grid-template-columns: auto 24px !important; gap: 8px !important; min-height: 40px !important; padding: 6px 6px 6px 13px !important; }
.schedule-picker-card .schedule-picker-hint::after { content: none !important; display: none !important; }
.schedule-picker-hint-icon { width: 24px !important; height: 24px !important; display: grid !important; place-items: center !important; border: 1px solid rgba(255, 255, 255, 0.72) !important; border-radius: 50% !important; color: rgb(255, 255, 255) !important; background: rgb(40, 90, 167) !important; box-shadow: rgba(4, 41, 76, 0.3) 0px 4px 9px, rgba(255, 255, 255, 0.34) 0px 1px inset !important; }
.schedule-picker-hint-icon svg { width: 13px !important; height: 13px !important; display: block !important; fill: none !important; stroke: currentcolor !important; stroke-width: 2.6 !important; stroke-linecap: round !important; stroke-linejoin: round !important; }
@media (max-width: 520px) {
  .hero-card h1.hero-lockup { width: min(100%, 340px) !important; max-width: min(100%, 340px) !important; gap: 0.32rem !important; padding-inline: 0.15rem !important; }
  .hero-card h1.hero-lockup > .hero-lockup-kicker, .hero-card h1.hero-lockup > .hero-lockup-main, .hero-card h1.hero-lockup > .hero-lockup-accent { font-size: 0.92rem !important; }
  .hero-card .hero-info-control { margin-top: 11px !important; }
  .hero-card .inline-brand-logo.hero-brand-logo { width: min(294.3px, 90%) !important; max-width: min(294.3px, 90%) !important; margin-bottom: 12px !important; }
}
@media (max-width: 360px) {
  .hero-card h1.hero-lockup { width: min(100%, 304px) !important; max-width: min(100%, 304px) !important; gap: 0.28rem !important; padding-inline: 0px !important; }
  .hero-card h1.hero-lockup > .hero-lockup-kicker, .hero-card h1.hero-lockup > .hero-lockup-main, .hero-card h1.hero-lockup > .hero-lockup-accent { font-size: 0.8rem !important; }
}
#heroMenuPanel .hero-menu-availability-note { width: 100% !important; margin: 0px 0px 16px !important; padding: 10px 12px !important; border-width: 0px 0px 0px 4px !important; border-style: none none none solid !important; border-color: currentcolor currentcolor currentcolor rgb(40, 90, 167) !important; border-image: none !important; border-radius: 0px 8px 8px 0px !important; color: rgb(23, 54, 83) !important; background: rgba(255, 250, 239, 0.68) !important; box-shadow: rgba(255, 255, 255, 0.68) 0px 1px inset !important; font-size: 0.83rem !important; font-weight: 800 !important; line-height: 1.38 !important; letter-spacing: 0px !important; text-align: left !important; text-shadow: none !important; }
#heroMenuFavorites[hidden] { display: none !important; }
#heroMenuFavorites { display: grid !important; gap: 10px !important; width: 100% !important; margin: 0px 0px 16px !important; }
#heroMenuFavoritesTitle { display: block !important; width: 100% !important; margin: 0px !important; color: var(--rb-app-sub-blue, #1e90ff) !important; font-family: var(--rb-font-ui) !important; font-size: 0.7rem !important; font-weight: 950 !important; line-height: 1.15 !important; letter-spacing: 0.13em !important; text-align: center !important; text-transform: uppercase !important; }
#heroMenuPanel .hero-menu-item-with-art { grid-template-columns: minmax(0px, 1fr) 44px clamp(58px, 14vw, 78px) !important; gap: 8px !important; }
#heroMenuPanel .hero-menu-favorite-button { display: grid !important; place-items: center !important; width: 44px !important; min-width: 44px !important; height: 44px !important; min-height: 44px !important; margin: 0px !important; padding: 0px !important; border: 1px solid rgba(36, 120, 183, 0.42) !important; border-radius: 50% !important; color: rgb(40, 90, 167) !important; background: rgba(255, 250, 239, 0.88) !important; box-shadow: rgba(42, 73, 154, 0.13) 0px 5px 12px, rgba(255, 255, 255, 0.82) 0px 1px inset !important; cursor: pointer !important; touch-action: manipulation !important; -webkit-tap-highlight-color: transparent !important; }
#heroMenuPanel .hero-menu-favorite-button svg { display: block !important; width: 20px !important; height: 20px !important; fill: transparent !important; stroke: currentcolor !important; stroke-width: 1.8 !important; stroke-linecap: round !important; stroke-linejoin: round !important; transition: transform 0.16s, fill 0.16s !important; }
#heroMenuPanel .hero-menu-favorite-button.is-favorite { border-color: rgba(186, 121, 23, 0.48) !important; color: rgb(143, 89, 0) !important; background: rgb(255, 224, 157) !important; }
#heroMenuPanel .hero-menu-favorite-button.is-favorite svg { fill: currentcolor !important; transform: scale(1.06) !important; }
#heroMenuPanel .hero-menu-favorite-button:focus-visible { outline: rgba(40, 90, 167, 0.38) solid 3px !important; outline-offset: 2px !important; }
#heroMenuFavoritesList .hero-menu-item { border-color: rgba(40, 90, 167, 0.66) !important; box-shadow: rgba(42, 73, 154, 0.1) 0px 10px 20px, rgba(255, 224, 157, 0.34) 0px 0px 0px 1px, rgba(255, 255, 255, 0.78) 0px 1px inset !important; }
@media (hover: hover) and (pointer: fine) {
  #heroMenuPanel .hero-menu-favorite-button:hover { transform: translateY(-1px) !important; box-shadow: rgba(42, 73, 154, 0.17) 0px 7px 14px, rgba(255, 255, 255, 0.82) 0px 1px inset !important; }
}
@media (max-width: 640px) {
  #heroMenuPanel .hero-menu-item-with-art { grid-template-columns: minmax(0px, 1fr) 44px 60px !important; gap: 7px !important; }
  #heroMenuPanel .hero-menu-favorite-button svg { width: 19px !important; height: 19px !important; }
}
@media (max-width: 430px) {
  #heroMenuPanel .hero-menu-availability-note { margin-bottom: 14px !important; padding: 9px 10px !important; font-size: 0.77rem !important; }
  #heroMenuPanel .hero-menu-item-with-art { grid-template-columns: minmax(0px, 1fr) 40px 54px !important; gap: 6px !important; }
  #heroMenuPanel .hero-menu-drink-art { width: 54px !important; }
}
html.rb-motion-off #heroMenuPanel .hero-menu-favorite-button svg { transition: none !important; }
.hero-info-link-website, .hero-info-link-shop, .hero-info-link-contact { grid-column: span 2 !important; }
.hero-info-link-contact { appearance: none !important; cursor: pointer !important; font: inherit !important; }
.hero-info-contact-icon { border: 2px solid rgba(255, 255, 255, 0.9) !important; border-radius: 50% !important; color: rgb(255, 255, 255) !important; background: rgb(40, 90, 167) !important; box-shadow: rgb(40, 90, 167) 0px 0px 0px 2px, rgba(5, 34, 60, 0.28) 0px 8px 16px, rgba(255, 255, 255, 0.32) 0px 1px inset !important; }
.hero-info-contact-icon svg, .contact-action-icon svg { width: 24px !important; height: 24px !important; display: block !important; fill: none !important; stroke: currentcolor !important; stroke-width: 1.8 !important; stroke-linecap: round !important; stroke-linejoin: round !important; }
#contactModal { z-index: 5200 !important; }
.contact-modal { position: relative !important; width: min(-22px + 100vw, 410px) !important; max-height: min(calc(var(--rb-modal-viewport-height, 100dvh) - 22px), 540px) !important; overflow: auto !important; padding: 22px 16px 18px !important; border: 1px solid rgba(40, 90, 167, 0.58) !important; border-radius: 28px !important; color: rgb(244, 239, 225) !important; text-align: center !important; background: radial-gradient(circle at 82% 8%, rgba(30, 144, 255, 0.16), transparent 7rem), linear-gradient(155deg, rgba(0, 0, 0, 0.98), rgba(0, 0, 0, 0.97) 66%, rgba(0, 0, 0, 0.95)) !important; box-shadow: rgba(0, 0, 0, 0.48) 0px 24px 70px, rgba(255, 255, 255, 0.08) 0px 1px inset !important; scrollbar-width: thin !important; scrollbar-color: rgba(30, 144, 255, 0.52) rgba(255, 255, 255, 0.06) !important; }
.contact-modal .mini-label { margin: 4px auto 8px !important; color: rgb(120, 158, 211) !important; }
.contact-modal h2 { margin: 0px auto 9px !important; padding-inline: 48px !important; font-family: var(--rb-font-ui) !important; font-weight: 700 !important; font-size: clamp(2rem, 9vw, 2.6rem) !important; line-height: 0.94 !important; letter-spacing: -0.02em !important; }
.contact-intro { max-width: 320px !important; margin: 0px auto 16px !important; color: rgba(244, 239, 225, 0.75) !important; font-size: 0.84rem !important; line-height: 1.4 !important; font-weight: 750 !important; }
.contact-actions { display: grid !important; gap: 10px !important; }
.contact-action { min-width: 0px !important; min-height: 72px !important; display: grid !important; grid-template-columns: 44px minmax(0px, 1fr) 18px !important; align-items: center !important; gap: 11px !important; padding: 11px 12px !important; border: 1px solid rgba(40, 90, 167, 0.66) !important; border-radius: 18px !important; color: rgb(42, 73, 154) !important; text-decoration: none !important; text-align: left !important; background: linear-gradient(rgba(244, 239, 225, 0.84), rgba(244, 239, 225, 0.84)), url("assets/schedule-wavy-stripes.webp?v=e60748e390c2&rb=20260802b") center center / cover no-repeat !important; box-shadow: rgba(0, 0, 0, 0.22) 0px 8px 18px, rgba(255, 255, 255, 0.72) 0px 1px inset !important; }
.contact-action-icon { width: 44px !important; height: 44px !important; display: grid !important; place-items: center !important; border-radius: 50% !important; color: rgb(255, 255, 255) !important; background: rgb(40, 90, 167) !important; box-shadow: rgba(255, 255, 255, 0.28) 0px 1px inset !important; }
.contact-action-copy, .contact-action-copy strong, .contact-action-copy small { min-width: 0px !important; display: block !important; }
.contact-action-copy strong { font-size: 0.9rem !important; line-height: 1.15 !important; font-weight: 950 !important; }
.contact-action-copy small { margin-top: 3px !important; overflow-wrap: anywhere !important; color: rgba(42, 73, 154, 0.72) !important; font-size: 0.76rem !important; line-height: 1.2 !important; font-weight: 800 !important; }
.contact-action-chevron { color: rgb(40, 90, 167) !important; font-size: 1.8rem !important; line-height: 1 !important; font-weight: 900 !important; text-align: right !important; }
.contact-action:focus-visible, .hero-info-link-contact:focus-visible { outline: rgba(30, 144, 255, 0.72) solid 3px !important; outline-offset: 3px !important; }
@media (hover: hover) and (pointer: fine) {
  .contact-action:hover { transform: translateY(-2px) !important; filter: brightness(1.04) saturate(1.03) !important; }
}
.modal:not(.hidden) .contact-modal { animation: rb-popup-surface-in var(--rb-popup-duration) var(--rb-popup-ease) both !important; transform-origin: 50% 44% !important; }
.modal.is-closing .contact-modal { animation: 0.22s cubic-bezier(0.32, 0, 0.67, 0) 0s 1 normal both running rb-popup-surface-out !important; pointer-events: none !important; }
html.rb-motion-off .modal:not(.hidden) .contact-modal, html.rb-motion-off .modal.is-closing .contact-modal { animation: auto ease 0s 1 normal none running none !important; }
@media (max-width: 420px) {
  .contact-modal { width: min(-18px + 100vw, 390px) !important; padding: 20px 12px 14px !important; border-radius: 24px !important; }
  .contact-action { grid-template-columns: 42px minmax(0px, 1fr) 16px !important; gap: 9px !important; padding: 10px !important; }
  .contact-action-icon { width: 42px !important; height: 42px !important; }
}
:root { --rb-logo-white: var(--rb-brand-white); --rb-launch-canvas: var(--rb-brand-white); --rb-app-background-phone-image: url(assets/app-background/botanical-background.webp?v=15d153df46fa&rb=20260729b); --rb-app-background-tablet-image: url(assets/app-background/botanical-background.webp?v=15d153df46fa&rb=20260729b); --rb-app-background-landscape-image: url(assets/app-background/botanical-background.webp?v=15d153df46fa&rb=20260729b); --rb-app-background-image: var(--rb-app-background-phone-image); --rb-page-bg-image: var(--rb-app-background-image); --rb-app-main-dark: var(--rb-brand-main-2); --rb-app-canvas-dark: var(--rb-brand-black); --rb-app-canvas-fallback: var(--rb-brand-black); --rb-app-main-blue: var(--rb-brand-main); --rb-app-sub-blue: var(--rb-brand-sub-1); --rb-app-sub-blue-soft: var(--rb-brand-sub-2); --rb-app-cream: var(--rb-brand-tan); --rb-app-accent: var(--rb-brand-sub-1); --rb-app-accent-strong: var(--rb-brand-main); --rb-app-ink: var(--rb-brand-main-2); --rb-app-muted: var(--rb-brand-sub-2); --rb-a11y-blue: var(--rb-brand-main-2); --rb-a11y-muted: var(--rb-brand-main-2); --rb-app-radius-compact: 12px; --rb-app-radius-button: 16px; --rb-app-radius-card: 20px; --rb-app-radius-nav: 24px; --rb-app-radius-hero: 28px; --rb-app-nav-height: 72px; --rb-app-motion-fast: .16s; --rb-app-motion-standard: .22s; --rb-app-shadow-card: 0 8px 22px rgba(0, 0, 0, .26); --rb-app-shadow-raised: 0 10px 30px rgba(0, 0, 0, .32); --rb-app-shadow-nav: 0 16px 38px rgba(0, 0, 0, .48); --rb-app-wavy-surface: url(assets/schedule-wavy-stripes.webp?v=e60748e390c2&rb=20260802b); --rb-app-safe-top: env(safe-area-inset-top, 0px); --rb-app-safe-right: env(safe-area-inset-right, 0px); --rb-app-safe-bottom: env(safe-area-inset-bottom, 0px); --rb-app-safe-left: env(safe-area-inset-left, 0px); --rb-app-mobile-content-inline-inset: 6px; --rb-app-nav-bottom-gap: max(8px, calc(var(--rb-app-safe-bottom) - 6px)); --rb-app-bottom-clearance: calc(var(--rb-app-nav-height) + var(--rb-app-nav-bottom-gap)); --rb-app-glass-surface: linear-gradient(

      180deg,
      rgba(255, 255, 255, .1),
      rgba(255, 255, 255, 0) 40%),
    linear-gradient(

      155deg,
      rgba(42, 73, 154, .38),
      rgba(0, 0, 0, .3)); --rb-app-glass-surface-strong: linear-gradient(

      180deg,
      rgba(255, 255, 255, .085),
      rgba(255, 255, 255, 0) 38%),
    linear-gradient(

      155deg,
      rgba(42, 73, 154, .5),
      rgba(0, 0, 0, .58)); --rb-app-glass-filter: blur(6px) saturate(1.1); --rb-app-glass-filter-strong: blur(12px) saturate(1.14); }
@media (orientation: landscape) {
  :root { --rb-app-background-image: var(--rb-app-background-landscape-image); }
}
@media (orientation: portrait) and (min-width: 700px) {
  :root { --rb-app-background-image: var(--rb-app-background-tablet-image); }
}
.rb-sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0px !important; margin: -1px !important; overflow: hidden !important; clip: rect(0px, 0px, 0px, 0px) !important; clip-path: inset(50%) !important; white-space: nowrap !important; border: 0px !important; }
html.rb-apple-mobile { --rb-app-glass-surface: linear-gradient(

      180deg,
      rgba(255, 255, 255, .075),
      rgba(255, 255, 255, 0) 38%),
    linear-gradient(

      155deg,
      rgba(42, 73, 154, .3),
      rgba(0, 0, 0, .36)); --rb-app-glass-surface-strong: linear-gradient(

      180deg,
      rgba(255, 255, 255, .08),
      rgba(255, 255, 255, 0) 36%),
    linear-gradient(

      155deg,
      rgba(42, 73, 154, .48),
      rgba(0, 0, 0, .56)); --rb-app-glass-filter: none; --rb-app-glass-filter-strong: none; }
.rb-pwa-launch-screen { position: fixed; z-index: 50000; inset: 0px; display: none; width: 100%; height: 100dvh; padding: 0px; place-items: stretch; box-sizing: border-box; overflow: hidden; opacity: 1; background: var(--rb-launch-canvas); transition: opacity 0.22s ease-out; pointer-events: auto; touch-action: none; }
html.rb-boot-launch { color-scheme: light; background-color: var(--rb-launch-canvas) !important; background-image: none !important; }
.rb-pwa-launch-screen > picture, .rb-pwa-launch-screen > picture > img { position: absolute; inset: 0px; display: block; width: 100%; height: 100%; background: var(--rb-launch-canvas); }
.rb-pwa-launch-screen > picture > img { object-fit: contain; object-position: center center; }
.rb-pwa-launch-screen.is-cup-ready > picture { visibility: hidden; }
.rb-pwa-launch-cup-frame { position: absolute; inset: 0px; display: grid; place-items: center; visibility: hidden; overflow: hidden; background: var(--rb-launch-canvas); }
.rb-pwa-launch-screen.is-cup-ready .rb-pwa-launch-cup-frame { visibility: visible; }
.rb-pwa-launch-cup { grid-area: 1 / 1; display: block; width: auto; height: auto; max-width: min(108vw, 540px); max-height: 72dvh; object-fit: contain; object-position: center center; background: transparent; filter: drop-shadow(rgba(42, 73, 154, 0.16) 0px 18px 16px) drop-shadow(rgba(42, 73, 154, 0.12) 0px 4px 4px); }
@media (orientation: portrait) and (max-width: 699px) {
  .rb-pwa-launch-cup { max-width: min(100vw, 500px); transform: translate(-4px); }
}
@media (orientation: landscape) {
  .rb-pwa-launch-screen > picture > img { object-fit: contain; background: var(--rb-launch-canvas); }
  .rb-pwa-launch-cup { max-width: min(58vw, 540px); max-height: 78dvh; }
}
body.rb-app .hero-brand-logo .inline-brand-mark { background-color: var(--rb-logo-white) !important; background-image: none !important; }
body:not(.rb-pwa-launching) .rb-pwa-launch-screen, .rb-pwa-launch-screen.is-dismissing { opacity: 0; pointer-events: none; }
.rb-pwa-launch-screen[hidden] { display: none !important; }
@media (display-mode: standalone) {
  .rb-pwa-launch-screen { display: grid; }
}
@supports (-webkit-touch-callout: none) {
  @media (display-mode: standalone) and (any-pointer: coarse) {
  .rb-pwa-launch-screen { transition: none; }
  html body.rb-app.rb-pwa-launching { background: var(--rb-launch-canvas) !important; }
}
}
html.rb-ios-standalone .rb-pwa-launch-screen { transition: none; display: grid !important; }
html.rb-ios-standalone .rb-pwa-launch-screen[hidden] { display: none !important; }
html.rb-ios-standalone body.rb-app.rb-pwa-launching { background: var(--rb-launch-canvas) !important; }
html { width: 100%; height: 100%; min-height: 100%; overscroll-behavior: none; color-scheme: dark; overflow: hidden !important; background: var(--rb-app-canvas-fallback) var(--rb-app-background-image) center / cover no-repeat !important; }
body.rb-app { width: 100%; height: 100dvh; min-height: 100dvh; margin: 0px; overflow: hidden; color: var(--rb-app-cream); font-family: var(--rb-font-ui); font-weight: 600; -webkit-tap-highlight-color: transparent; overscroll-behavior-y: contain; position: fixed !important; inset: 0px !important; background: transparent !important; }
body.rb-app :is(button, input, select, textarea) { font-family: var(--rb-font-ui); }
body.rb-app.rb-pwa-launching { background: var(--rb-launch-canvas) !important; }
body.rb-app .bean-photo-bg { position: fixed; width: auto; height: auto; min-height: calc(100dvh + var(--rb-app-safe-top) + var(--rb-app-safe-bottom)); opacity: 0.96; background-color: var(--rb-app-canvas-fallback); background-position: center center; background-size: cover; inset: calc(-1 * var(--rb-app-safe-top)) calc(-1 * var(--rb-app-safe-right)) calc(-1 * var(--rb-app-safe-bottom)) calc(-1 * var(--rb-app-safe-left)) !important; }
body.rb-app .app-shell { position: relative; z-index: 1; margin: 0px auto; padding-right: 12px; padding-left: 12px; overflow: hidden; box-sizing: border-box; width: min(100%, 720px) !important; max-width: 720px !important; height: 100% !important; min-height: 100% !important; max-height: 100% !important; padding-top: 0px !important; padding-bottom: 0px !important; }
.rb-app-screen { width: 100%; height: 100%; min-height: 0px; padding: max(12px, var(--rb-app-safe-top)) 0 calc(var(--rb-app-bottom-clearance) + 14px); scroll-padding-top: max(12px, var(--rb-app-safe-top)); scroll-padding-bottom: calc(var(--rb-app-bottom-clearance) + 20px); overflow: hidden auto; box-sizing: border-box; overscroll-behavior: contain; scrollbar-width: none; outline: none; }
.rb-app-screen::-webkit-scrollbar { display: none; }
.rb-app-screen-locked { display: flex; padding-top: 0px; padding-bottom: 0px; flex-direction: column; overflow: hidden; }
.rb-app-screen-scroll { min-width: 0px; min-height: 0px; padding: 14px 0 calc(var(--rb-app-bottom-clearance) + 14px); scroll-padding-bottom: calc(var(--rb-app-bottom-clearance) + 20px); flex: 1 1 0px; overflow-x: hidden; overflow-y: auto; -webkit-overflow-scrolling: touch; box-sizing: border-box; overscroll-behavior: contain; scrollbar-width: none; }
.rb-app-screen-locked > .rb-app-screen-scroll { padding-top: 0px; border-radius: 0px; }
body.modal-open .rb-app-screen, body.modal-open .rb-app-screen-scroll { overflow-y: hidden; overscroll-behavior: none; }
.rb-app-screen-stops > .rb-app-screen-scroll { padding-top: 0px; }
.rb-app-screen-scroll::-webkit-scrollbar { display: none; }
.rb-app-screen[hidden] { display: none !important; }
body.rb-app .app-shell.rb-tab-swipe-active { display: grid; grid-template: minmax(0px, 1fr) / minmax(0px, 1fr); isolation: isolate; }
body.rb-app .app-shell.rb-tab-swipe-active > .rb-app-screen.rb-tab-swipe-current, body.rb-app .app-shell.rb-tab-swipe-active > .rb-app-screen.rb-tab-swipe-target { grid-area: 1 / 1; min-width: 0px; pointer-events: none; backface-visibility: hidden; will-change: transform; }
body.rb-app .app-shell.rb-tab-swipe-active > .rb-tab-swipe-current { z-index: 1; transform: translate3d(var(--rb-tab-current-x, 0), 0, 0); }
body.rb-app .app-shell.rb-tab-swipe-active > .rb-tab-swipe-target { z-index: 2; transform: translate3d(var(--rb-tab-target-x, 100%), 0, 0); }
body.rb-app .app-shell.rb-tab-swipe-settling > :is(.rb-tab-swipe-current, .rb-tab-swipe-target) { transition: transform var(--rb-tab-settle-duration, .22s) cubic-bezier(.32, .72, 0, 1); }
html.rb-motion-off body.rb-app .app-shell.rb-tab-swipe-settling > :is(.rb-tab-swipe-current, .rb-tab-swipe-target) { transition-duration: 1ms; }
.rb-bottom-nav { --rb-nav-index: 0; position: fixed; z-index: 800; left: 50%; bottom: var(--rb-app-nav-bottom-gap); display: grid; grid-template-columns: repeat(5, minmax(0px, 1fr)); width: min(100% - 20px, 610px); height: var(--rb-app-nav-height); padding: 5px; transform: translate(-50%); border: 1px solid var(--rb-app-dock-border); border-radius: var(--rb-app-radius-nav); background: var(--rb-app-dock-surface); box-shadow: var(--rb-app-shadow-nav); box-sizing: border-box; isolation: isolate; backdrop-filter: blur(20px) saturate(1.22); }
.rb-bottom-nav-selector { position: absolute; z-index: -1; top: 5px; bottom: 5px; left: 5px; width: calc(20% - 2px); transform: translate(calc(var(--rb-nav-index) * 100%)); border: 1px solid rgba(255, 255, 255, 0.84); border-radius: 19px; background: linear-gradient(
      180deg,
      var(--rb-brand-sub-1),
      var(--rb-brand-sub-2)); box-shadow: var(--rb-app-shadow-card); transition: transform 0.22s cubic-bezier(0.2, 0.75, 0.24, 1); }
.rb-bottom-nav-item { position: relative; display: flex; min-width: 0px; min-height: 62px; padding: 6px 2px 4px; align-items: center; justify-content: flex-start; flex-direction: column; gap: 1px; border: 0px; border-radius: 18px; background: transparent; color: var(--rb-app-dock-text); font-family: var(--rb-font-ui); font-size: 10px; font-weight: 700; line-height: 12px; letter-spacing: 0px; cursor: pointer; touch-action: manipulation; }
.rb-bottom-nav-label { line-height: max(12px, 1.2em); transform: translateY(2px); }
.rb-bottom-nav-item[aria-current="page"] { color: var(--rb-app-dock-selected-text); }
.rb-bottom-nav-item:focus-visible { outline: rgb(255, 255, 255) solid 2px; outline-offset: 1px; box-shadow: inset 0 0 0 3px var(--rb-app-ink); }
.rb-bottom-nav-item:active .rb-nav-medallion { transform: scale(0.92); }
.rb-nav-medallion { display: grid; width: 31px; height: 31px; flex: 0 0 31px; place-items: center; overflow: hidden; border: 2px solid var(--rb-app-dock-medallion-border); border-radius: 50%; background: var(--rb-app-dock-medallion-surface); box-shadow: 0 0 0 3px var(--rb-app-dock-medallion-ring), 0 0 0 4px var(--rb-app-dock-medallion-halo); transition: transform 0.16s; }
.rb-bottom-nav-item[data-app-destination="stops"] .rb-nav-medallion, .rb-bottom-nav-item[data-app-destination="saved"] .rb-nav-medallion, .rb-bottom-nav-item[data-app-destination="more"] .rb-nav-medallion { scale: 0.9; }
.rb-bottom-nav-item[data-app-destination="nearby"] .rb-nav-medallion { scale: 1.213; translate: 0px -2px; }
.rb-nav-medallion svg { width: 18px; height: 18px; fill: var(--rb-app-dock-medallion-icon); stroke: var(--rb-app-dock-medallion-icon); stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.rb-nav-medallion .rb-nav-icon-cutout { fill: none; stroke: var(--rb-app-dock-medallion-cutout); stroke-width: 2.2; }
.rb-header-icon-cutout { fill: none; stroke: var(--rb-app-main-blue); stroke-width: 2.2; }
.rb-nav-nearby-medallion { overflow: visible; padding: 0px; border: 0px; background: transparent; box-shadow: none; }
.rb-nav-pin-cluster, .rb-header-pin-cluster { position: relative; display: block; width: 27px; height: 25px; }
.rb-nav-nearby-medallion .rb-nav-pin-cluster { width: 100%; height: 100%; }
.rb-nav-pin-cluster img, .rb-header-pin-cluster img { position: absolute; width: 17px; height: 22px; object-fit: contain; }
.rb-nav-pin-cluster .rb-android-nearby-icon, .rb-header-pin-cluster .rb-android-nearby-icon { position: static !important; width: 100% !important; height: 100% !important; object-fit: contain !important; transform: translateY(-1px) !important; }
.rb-nav-pin-cluster img:nth-child(1), .rb-header-pin-cluster img:nth-child(1) { left: 0px; top: 5px; transform: rotate(-7deg); }
.rb-nav-pin-cluster img:nth-child(2), .rb-header-pin-cluster img:nth-child(2) { left: 5px; top: 0px; z-index: 3; }
.rb-nav-pin-cluster img:nth-child(3), .rb-header-pin-cluster img:nth-child(3) { right: 0px; top: 5px; transform: rotate(7deg); }
.rb-bottom-nav-badge { position: absolute; top: 1px; left: calc(50% + 8px); min-width: 18px; height: 18px; padding: 0px 5px; border: 2px solid var(--rb-app-canvas-dark); border-radius: 999px; background: rgb(255, 255, 255); color: var(--rb-app-ink); font-size: 10px; line-height: 14px; text-align: center; }
.rb-bottom-nav-badge.has-notifications { border-color: rgb(255, 255, 255); background: rgb(216, 47, 63); color: rgb(255, 255, 255); box-shadow: rgba(125, 12, 29, 0.42) 0px 3px 9px; font-weight: 900; }
.rb-screen-header { display: grid; grid-template-columns: 66px minmax(0px, 1fr); gap: 12px; margin: 0px 0px 14px; padding: 14px 16px; align-items: center; overflow: hidden; border: 1px solid rgba(120, 158, 211, 0.28); border-radius: var(--rb-app-radius-card); background: linear-gradient(90deg, rgba(0, 0, 0, 0.94), rgba(42, 73, 154, 0.7), rgba(0, 0, 0, 0.56)); box-shadow: var(--rb-app-shadow-card); backdrop-filter: blur(12px); }
.rb-screen-header-icon, .rb-screen-header > .rb-header-pin-cluster { display: grid; width: 58px; height: 58px; place-items: center; border: 3px solid var(--rb-app-sub-blue); border-radius: 50%; background: var(--rb-app-main-blue); box-shadow: 0 0 0 5px var(--rb-app-cream), 0 0 0 7px #22b8f2bf; }
.rb-screen-header > .rb-header-pin-cluster { position: relative; width: 58px; height: 58px; padding: 0px; border: 0px; background: transparent; box-shadow: none; }
.rb-screen-header > .rb-header-pin-cluster img { width: 27px; height: 34px; }
.rb-screen-header > .rb-header-pin-cluster img:nth-child(1) { left: 2px; top: 19px; }
.rb-screen-header > .rb-header-pin-cluster img:nth-child(2) { left: 15px; top: 3px; }
.rb-screen-header > .rb-header-pin-cluster img:nth-child(3) { right: 2px; top: 19px; }
.rb-screen-header-icon svg { width: 32px; height: 32px; fill: rgb(255, 255, 255); stroke: rgb(255, 255, 255); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.rb-screen-header-copy { display: flex; min-width: 0px; flex-direction: column; }
.rb-screen-kicker { margin: 0px; color: var(--rb-app-kicker-text); font-family: var(--rb-font-ui); font-weight: 700; letter-spacing: 0px; text-transform: uppercase; }
.rb-section-title { margin: 0px; color: var(--rb-app-sub-blue); font-family: var(--rb-font-ui); font-weight: 700; letter-spacing: 0.035em; text-transform: uppercase; }
.rb-screen-kicker { font-size: 12px; line-height: 15px; }
.rb-screen-header h1 { margin: 1px 0px 2px; color: rgb(255, 255, 255); font-family: var(--rb-font-ui); font-weight: 700; font-size: clamp(2rem, 9vw, 2.75rem); line-height: 1; letter-spacing: -0.02em; }
.rb-screen-description { color: rgba(255, 255, 255, 0.72); font-size: 13px; font-weight: 600; line-height: 17px; }
body.rb-app :is(.rb-app-screen-nearby, .rb-app-screen-saved, .rb-app-screen-more) > .rb-app-screen-scroll > .rb-screen-header { grid-template-columns: 56px minmax(0px, 1fr); gap: 10px; padding: 10px 14px; }
body.rb-app :is(.rb-app-screen-nearby, .rb-app-screen-saved, .rb-app-screen-more) > .rb-app-screen-scroll > .rb-screen-header > :is(.rb-screen-header-icon, .rb-header-pin-cluster) { width: 50px; height: 50px; }
body.rb-app :is(.rb-app-screen-nearby, .rb-app-screen-saved, .rb-app-screen-more) > .rb-app-screen-scroll > .rb-screen-header .rb-screen-header-icon svg { width: 28px; height: 28px; }
body.rb-app :is(.rb-app-screen-nearby, .rb-app-screen-saved, .rb-app-screen-more) > .rb-app-screen-scroll > .rb-screen-header .rb-screen-kicker { font-size: 11px; line-height: 13px; }
body.rb-app :is(.rb-app-screen-nearby, .rb-app-screen-saved, .rb-app-screen-more) > .rb-app-screen-scroll > .rb-screen-header h1 { margin: 0px 0px 1px; font-size: clamp(1.8rem, 8vw, 2.3rem); }
body.rb-app :is(.rb-app-screen-nearby, .rb-app-screen-saved, .rb-app-screen-more) > .rb-app-screen-scroll > .rb-screen-header .rb-screen-description { font-size: 12px; line-height: 15px; }
.rb-section-title { padding: 2px 0px 9px; font-size: 15px; line-height: 19px; }
body.rb-app .rb-app-screen-home .hero-card { grid-template-columns: minmax(0px, 1fr) minmax(0px, 1.18fr); gap: 7px 10px; overflow: hidden; display: grid !important; width: 100% !important; margin: 0px 0px 12px !important; padding: 8px 12px 9px !important; border: 1px solid rgba(255, 213, 141, 0.68) !important; border-radius: var(--rb-app-radius-hero) !important; background: linear-gradient(rgba(42, 73, 154, 0.98), rgba(0, 0, 0, 0.98)) !important; box-shadow: var(--rb-app-shadow-raised) !important; }
body.rb-app .hero-lockup-zone, body.rb-app .hero-info-control, body.rb-app .hero-actions { display: contents !important; }
body.rb-app .hero-card .inline-brand-logo.hero-brand-logo { order: 1; grid-column: 1 / -1; justify-self: center; width: min(276.9px, 100%) !important; max-width: min(276.9px, 100%) !important; margin: 0px auto !important; padding: 0px !important; overflow: visible !important; }
body.rb-app .rb-app-screen-home .hero-card .inline-brand-logo.hero-brand-logo { margin: 4px auto 0px !important; }
body.rb-app .hero-brand-logo .inline-brand-mark { display: block; width: 100% !important; height: auto !important; max-height: none !important; border-radius: 24px !important; object-fit: contain !important; }
body.rb-app .hero-award-badge { scale: 0.95; transform-origin: center center; width: 54px !important; height: 54px !important; right: 6px !important; top: 7px !important; }
body.rb-app .hero-lockup { order: 2; grid-column: 1 / -1; align-items: baseline; justify-content: center; gap: clamp(5px, 2vw, 10px); color: var(--rb-app-cream); white-space: nowrap; display: flex !important; width: max-content !important; max-width: 100% !important; margin: 0px !important; justify-self: center !important; font-family: var(--rb-font-display) !important; font-size: clamp(0.87rem, 4vw, 1.08rem) !important; font-weight: 400 !important; line-height: 1.2 !important; }
body.rb-app .hero-lockup span { display: inline !important; width: auto !important; margin: 0px !important; }
body.rb-app .hero-lockup > :is(.hero-lockup-kicker, .hero-lockup-main, .hero-lockup-accent) { font-family: var(--rb-font-ui) !important; font-size: inherit !important; font-style: normal !important; font-weight: 700 !important; line-height: inherit !important; letter-spacing: .025em !important; }
body.rb-app .hero-lockup-accent { color: var(--rb-app-kicker-text) !important; }
body.rb-app #locateBtn { order: 3; grid-column: 1 / -1; min-height: 64px; border: 0px !important; border-radius: 17px !important; background: var(--rb-app-sub-blue) !important; color: var(--rb-app-on-bright) !important; box-shadow: rgba(0, 0, 0, 0.22) 0px 8px 18px !important; }
body.rb-app #heroMenuButton { order: 4; min-height: 58px; grid-column: 1 !important; width: 100% !important; margin: 0px !important; border: 1px solid var(--rb-app-accent) !important; border-radius: 17px !important; background: rgba(0, 0, 0, 0.96) !important; color: rgb(255, 255, 255) !important; box-shadow: none !important; gap: 11px !important; padding-inline: 13px !important; }
body.rb-app #allMapBtn { order: 5; min-height: 58px; grid-column: 2 !important; width: 100% !important; margin: 0px !important; border: 0px !important; border-radius: 17px !important; background: var(--rb-app-sub-blue) !important; color: var(--rb-app-on-bright) !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 12px !important; padding: 8px 12px 8px 10px !important; }
body.rb-app #allMapBtn > span:nth-child(2) { flex: 0 1 auto !important; min-width: 0px !important; text-align: center !important; }
body.rb-app #allMapBtn .btn-spark.rb-action-pin-cluster { position: relative !important; width: 46px !important; min-width: 46px !important; height: 40px !important; overflow: visible !important; }
body.rb-app #allMapBtn .btn-spark.rb-action-pin-cluster::before, body.rb-app #allMapBtn .btn-spark.rb-action-pin-cluster::after { content: none !important; display: none !important; }
body.rb-app #allMapBtn .btn-spark.rb-action-pin-cluster img { filter: drop-shadow(rgba(0, 0, 0, 0.22) 0px 4px 5px); position: absolute !important; width: 22px !important; height: 30px !important; object-fit: contain !important; }
body.rb-app #allMapBtn .btn-spark.rb-action-pin-cluster img:nth-child(1) { left: 0px !important; top: 10px !important; z-index: 1 !important; transform: rotate(-10deg) !important; }
body.rb-app #allMapBtn .btn-spark.rb-action-pin-cluster img:nth-child(2) { left: 12px !important; top: 0px !important; z-index: 3 !important; transform: none !important; }
body.rb-app #allMapBtn .btn-spark.rb-action-pin-cluster img:nth-child(3) { left: 24px !important; top: 10px !important; z-index: 2 !important; transform: rotate(10deg) !important; }
body.rb-app #allMapBtn .btn-chevron { display: none !important; }
body.rb-app #heroMenuButton .hero-pill-icon { width: 35px !important; height: 35px !important; border-radius: 50% !important; background: var(--rb-app-main-blue) !important; box-shadow: 0 0 0 3px var(--rb-app-cream), 0 0 0 4px var(--rb-app-sub-blue) !important; }
body.rb-app #heroMenuButton .hero-pill-label, body.rb-app #allMapBtn strong { font-size: 15px !important; font-weight: 700 !important; white-space: nowrap !important; letter-spacing: 0px !important; }
body.rb-app #allMapBtn small { display: none; }
body.rb-app #statusText { order: 6; grid-column: 1 / -1; min-height: 0px; margin: 0px; padding: 2px 4px 0px; color: rgba(255, 255, 255, 0.68); font-size: 11px; line-height: 15px; }
body.rb-app .rb-app-screen-home .summary-grid { display: grid !important; grid-template-columns: repeat(2, minmax(0px, 1fr)) !important; gap: 10px !important; margin: 0px 0px 14px !important; }
@keyframes rb-app-home-day-refresh {
  0% { opacity: 0.28; transform: translate3d(0px, 5px, 0px); }
  100% { opacity: 1; transform: translateZ(0px); }
}
html:not(.rb-motion-off) body.rb-app.rb-day-switching.rb-day-switch-next .rb-app-screen-home .summary-grid, html:not(.rb-motion-off) body.rb-app.rb-day-switching.rb-day-switch-prev .rb-app-screen-home .summary-grid { animation: 0.36s cubic-bezier(0.2, 0.82, 0.28, 1) 0s 1 normal both running rb-app-home-day-refresh !important; }
body.rb-app .rb-app-screen-home .summary-schedule, body.rb-app .rb-app-screen-home .summary-stops { grid-column: auto !important; }
body.rb-app .rb-app-screen-home .summary-card { min-width: 0px !important; min-height: 118px !important; padding: 12px 10px 39px !important; border: 1px solid rgba(120, 158, 211, 0.34) !important; border-radius: var(--rb-app-radius-card) !important; background: linear-gradient(rgba(42, 73, 154, 0.97), rgba(42, 73, 154, 0.97)) !important; box-shadow: var(--rb-app-shadow-card) !important; }
@media (hover: hover) and (pointer: fine) {
  body.rb-app .rb-app-screen-home .schedule-picker-card:hover { transform: translateY(-2px) !important; filter: brightness(1.05) saturate(1.03) !important; box-shadow: rgba(0, 0, 0, 0.3) 0px 12px 26px, rgba(255, 255, 255, 0.1) 0px 1px inset !important; }
}
body.rb-app .rb-app-screen-home .schedule-picker-card, body.rb-app .rb-app-screen-home .summary-stops { cursor: pointer; }
body.rb-app .rb-app-screen-home .schedule-picker-hint, body.rb-app .rb-app-screen-home .rb-summary-action { position: absolute !important; right: 8px !important; bottom: 8px !important; left: 8px !important; display: flex !important; width: auto !important; min-width: 0px !important; max-width: none !important; min-height: 25px !important; margin: 0px !important; padding: 4px 7px 4px 10px !important; align-items: center !important; justify-content: center !important; gap: 6px !important; overflow: hidden !important; border: 1px solid rgba(255, 255, 255, 0.66) !important; border-radius: 999px !important; background: linear-gradient(
      180deg,
      var(--rb-brand-sub-1),
      var(--rb-brand-sub-2)) !important; color: var(--rb-app-on-bright) !important; box-shadow: rgba(0, 0, 0, 0.26) 0px 4px 10px, rgba(255, 255, 255, 0.66) 0px 1px inset !important; font-size: 10px !important; line-height: 14px !important; font-family: var(--rb-font-ui) !important; font-weight: 700 !important; letter-spacing: 0px !important; text-transform: none !important; white-space: nowrap !important; }
body.rb-app .rb-app-screen-home .schedule-picker-hint-icon, body.rb-app .rb-app-screen-home .rb-summary-action-chevron { display: grid !important; width: 15px !important; min-width: 15px !important; height: 15px !important; place-items: center !important; border: 0px !important; border-radius: 50% !important; background: var(--rb-app-main-blue) !important; color: rgb(255, 255, 255) !important; box-shadow: none !important; font-size: 15px !important; line-height: 1 !important; }
body.rb-app .rb-app-screen-home .schedule-picker-hint-icon svg { width: 10px !important; height: 10px !important; fill: none !important; stroke: currentcolor !important; stroke-width: 2.5 !important; }
body.rb-app .rb-app-screen-home .summary-stops:focus-visible, body.rb-app .rb-app-screen-home .schedule-picker-card:focus-visible { outline: 3px solid var(--rb-app-sub-blue) !important; outline-offset: 3px !important; }
body.rb-app .rb-app-screen-home .summary-card .mini-label { color: var(--rb-app-kicker-text) !important; font-size: 10px !important; line-height: 13px !important; font-family: var(--rb-font-ui) !important; font-weight: 700 !important; }
body.rb-app .rb-app-screen-home .summary-card h2 { margin: 4px 0px 0px !important; color: rgb(255, 255, 255) !important; font-family: var(--rb-font-ui) !important; font-size: clamp(1.35rem, 7vw, 1.8rem) !important; font-weight: 700 !important; line-height: 1.05 !important; }
body.rb-app .rb-app-screen-home .summary-date { color: rgba(255, 255, 255, 0.72) !important; font-family: var(--rb-font-ui) !important; font-size: 12px !important; font-weight: 600 !important; }
.rb-home-featured { margin-top: 2px; }
.rb-home-featured-card:empty { display: none; }
.rb-stops-schedule-header { display: grid; grid-template-columns: minmax(0px, 1fr); align-items: stretch; margin: 0px 0px 8px; overflow: hidden; isolation: isolate; border: 1px solid rgba(255, 235, 223, 0.74); border-radius: 22px; background: rgb(105, 31, 59); box-shadow: rgba(29, 18, 5, 0.28) 0px 16px 36px, rgba(255, 255, 255, 0.32) 0px 1px inset; }
.rb-stops-sticky-stack { position: sticky; z-index: 700; top: max(12px, var(--rb-app-safe-top)); margin-top: max(12px, var(--rb-app-safe-top)); padding: 0px; flex: 0 0 auto; }
.rb-app-screen-nearby > .rb-app-screen-scroll > .rb-screen-header, .rb-app-screen-saved > .rb-app-screen-scroll > .rb-screen-header, .rb-app-screen-more > .rb-app-screen-scroll > .rb-screen-header { position: sticky; z-index: 700; top: max(12px, var(--rb-app-safe-top)); margin: max(12px, var(--rb-app-safe-top)) 0 14px; flex: 0 0 auto; }
.rb-stops-schedule-artwork-stage { display: grid; width: 100%; min-width: 0px; min-height: 82px; max-height: 160px; padding: 0px; aspect-ratio: 4 / 1; place-items: center; overflow: hidden; border-radius: 21px 21px 12px 12px; background: rgb(202, 127, 192) var(--rb-schedule-header-bg-image) center / cover no-repeat; }
.rb-stops-schedule-header img { display: block; width: 100%; max-width: 100%; height: 100%; min-height: 0px; max-height: none; aspect-ratio: auto; object-fit: contain; object-position: center; background: transparent; border-radius: inherit; filter: drop-shadow(0px 2px 2px rgba(72, 22, 50, 0.42)); pointer-events: none; user-select: none; }
.rb-stops-schedule-header p { margin: 0px; padding: 7px 10px 8px; border-top: 1px solid rgba(255, 235, 223, 0.42); background: linear-gradient(180deg, rgba(103, 31, 61, 0.98), rgba(72, 18, 43, 0.99)); color: rgba(255, 255, 255, 0.92); font-size: 12px; line-height: 16px; text-align: center; }
.rb-stops-schedule-guidance { display: flex; min-height: 44px; flex-wrap: wrap; align-items: center; justify-content: center; gap: 4px 8px; }
.rb-stops-refresh-schedule { appearance: none; min-height: 44px; margin: -5px 0px; padding: 6px 10px; border: 1px solid rgba(255, 235, 223, 0.46); border-radius: 12px; background: rgba(255, 255, 255, 0.1); color: rgb(255, 255, 255); cursor: pointer; touch-action: manipulation; font-family: var(--rb-font-ui); font-size: 12px; font-weight: 800; line-height: 16px; text-decoration: none; }
.rb-stops-refresh-schedule:disabled { cursor: wait; opacity: 0.62; }
.rb-stops-refresh-schedule:focus-visible { outline: rgb(255, 255, 255) solid 3px; outline-offset: 1px; }
.rb-schedule-day-strip { display: flex; gap: 8px; width: 100%; margin: 0px; padding: 5px 2px 0px; overflow: auto hidden; max-width: 100%; box-sizing: border-box; touch-action: pan-x pan-y pinch-zoom; overscroll-behavior-inline: contain; scrollbar-width: none; scroll-snap-type: inline; cursor: grab; }
.rb-schedule-day-strip.is-dragging { cursor: grabbing; scroll-snap-type: none; user-select: none; }
.rb-schedule-day-strip::-webkit-scrollbar { display: none; }
html.rb-ipad .rb-schedule-day-strip { touch-action: pan-y pinch-zoom; scroll-snap-type: none; }
.rb-day-chip { display: flex; min-width: max-content; min-height: 52px; padding: 9px 15px; align-items: flex-start; justify-content: center; flex-direction: column; scroll-snap-align: start; border: 1px solid rgba(120, 158, 211, 0.34); border-radius: var(--rb-app-radius-button); background: rgba(42, 73, 154, 0.96); color: rgb(255, 255, 255); font: inherit; cursor: pointer; transform-origin: center center; transition: transform var(--rb-app-motion-fast) ease,
    border-color var(--rb-app-motion-fast) ease,
    box-shadow var(--rb-app-motion-fast) ease; }
html.rb-ipad .rb-day-chip:not(.active):active { transform: translateY(1px) scale(0.985); }
.rb-day-chip strong { font-size: 14px; line-height: 17px; }
.rb-day-chip small { color: rgba(255, 255, 255, 0.66); font-size: 10px; line-height: 13px; }
.rb-day-chip.active { border-color: rgb(255, 255, 255); background: linear-gradient(
      180deg,
      var(--rb-app-accent),
      var(--rb-app-accent-strong)); color: var(--rb-app-ink); box-shadow: rgba(255, 255, 255, 0.72) 0px 1px inset, rgba(0, 0, 0, 0.18) 0px -3px 6px inset; animation: 0.26s cubic-bezier(0.2, 0.78, 0.24, 1) 0s 1 normal both running rb-day-chip-selected; }
.rb-day-chip.active small { color: var(--rb-app-ink); }
@keyframes rb-day-chip-selected {
  0% { transform: translateY(1px) scale(0.98); }
  100% { transform: translateY(-1px) scale(1); }
}
.rb-stops-summary { display: flex; min-height: 72px; margin: 12px 0px; padding: 14px 16px; align-items: center; justify-content: space-between; gap: 12px; border: 1px solid rgba(120, 158, 211, 0.34); border-radius: var(--rb-app-radius-card); background: linear-gradient(rgba(42, 73, 154, 0.98), rgba(42, 73, 154, 0.98)); box-shadow: var(--rb-app-shadow-card); }
@media (min-width: 700px) {
  .rb-stops-summary { min-height: 66px; padding-block: 11px; }
}
.rb-stops-summary > span:first-child { display: flex; min-width: 0px; flex-direction: column; }
.rb-stops-summary strong { color: rgb(255, 255, 255); font-size: 20px; line-height: 25px; }
.rb-stops-summary small { color: rgba(255, 255, 255, 0.68); font-size: 12px; line-height: 16px; }
.rb-stops-summary-count { flex: 0 0 auto; padding: 10px 14px; border-radius: 999px; background: var(--rb-app-accent); color: var(--rb-app-on-bright); font-size: 13px; font-weight: 900; white-space: nowrap; }
body.rb-app .rb-app-screen-stops .results { display: grid !important; gap: 12px !important; margin: 0px !important; }
body.rb-app .rb-app-screen-stops .stop-card, body.rb-app .rb-featured-stop-card { border: 1px solid rgba(30, 144, 255, 0.65) !important; border-radius: var(--rb-app-radius-card) !important; background: var(--rb-app-wavy-surface) center / cover !important; color: var(--rb-app-ink) !important; }
body.rb-app .rb-schedule-empty-card { color: rgb(42, 73, 154) !important; border: 2px solid rgba(120, 158, 211, 0.42) !important; background-color: rgb(244, 239, 225) !important; background-image: linear-gradient(rgba(255, 252, 244, 0.16), rgba(255, 252, 244, 0.16)), url("assets/schedule-wavy-stripes.webp?v=e60748e390c2&rb=20260802b") !important; background-position: center center, center center !important; background-size: cover, cover !important; background-repeat: no-repeat, no-repeat !important; background-blend-mode: normal, normal !important; box-shadow: rgba(29, 18, 5, 0.24) 0px 18px 42px, rgba(255, 255, 255, 0.78) 0px 1px inset !important; backdrop-filter: none !important; }
body.rb-app .stop-card.rb-schedule-empty-card .stop-name { color: rgb(42, 73, 154) !important; font-family: var(--rb-font-ui) !important; font-weight: 700 !important; text-shadow: rgba(255, 255, 255, 0.7) 0px 1px 0px !important; }
body.rb-app .stop-card.rb-schedule-empty-card .stop-address, body.rb-app .stop-card.rb-schedule-empty-card .card-topline { color: rgba(42, 73, 154, 0.86) !important; font-weight: 850 !important; text-shadow: rgba(255, 255, 255, 0.66) 0px 1px 0px !important; }
body.rb-app .stop-card.coffee-art-card:not(.cancelled-card):not(.rb-featured-stop-card) { --rb-stop-route-cup-height: clamp(112px, 27vw, 146px); --rb-stop-cup-bottom-crop: clamp(22px, 5.5vw, 28px); --rb-stop-art-copy-reserve: clamp(120px, 44%, 282px); flex-direction: column; align-items: stretch; align-self: start; display: flex !important; height: auto !important; }
body.rb-app .stop-card.coffee-art-card:not(.cancelled-card):not(.rb-featured-stop-card) > .rb-stop-card-body { min-height: var(--rb-stop-route-cup-height); grid-template-columns: minmax(0, 1fr) var(--rb-stop-art-copy-reserve); grid-auto-flow: row; align-content: start; padding-right: 0px; box-sizing: border-box; display: grid !important; }
body.rb-app .stop-card.coffee-art-card:not(.cancelled-card):not(.rb-featured-stop-card) > .rb-stop-card-body > .card-topline { grid-column: 1 / -1; }
body.rb-app .stop-card.coffee-art-card:not(.cancelled-card):not(.rb-featured-stop-card) > .rb-stop-card-body > :is(.stop-name, .stop-time, .stop-address, .stop-source) { grid-column: 1; min-width: 0px; }
body.rb-app #results .stop-card.coffee-art-card:not(.cancelled-card) .stop-name, body.rb-app #results .stop-card.coffee-art-card:not(.cancelled-card) .stop-address, body.rb-app #results .stop-card.coffee-art-card:not(.cancelled-card) .stop-source, body.rb-app .results .stop-card.coffee-art-card:not(.cancelled-card) .stop-name, body.rb-app .results .stop-card.coffee-art-card:not(.cancelled-card) .stop-address, body.rb-app .results .stop-card.coffee-art-card:not(.cancelled-card) .stop-source { width: 100% !important; max-width: 100% !important; overflow: visible !important; overflow-wrap: anywhere !important; white-space: normal !important; text-overflow: clip !important; }
body.rb-app .stop-card.coffee-art-card:not(.cancelled-card):not(.rb-featured-stop-card)::after { content: none !important; display: none !important; }
body.rb-app .stop-card.coffee-art-card:not(.cancelled-card):not(.rb-featured-stop-card) .stop-actions { padding-top: 10px; border-top: 1px solid rgba(30, 144, 255, 0.34); margin-top: 0px !important; }
body.rb-app .stop-card.coffee-art-card:not(.cancelled-card):not(.rb-featured-stop-card) .route-main { isolation: isolate; position: relative !important; overflow: visible !important; }
body.rb-app .stop-card.coffee-art-card:not(.cancelled-card):not(.rb-featured-stop-card) .route-main > .rb-stop-route-cup { position: absolute; z-index: 1; left: 50%; bottom: calc(100% + 11px); display: block; width: clamp(92px, 24vw, 136px); height: var(--rb-stop-route-cup-height); overflow: hidden; transform: translate(-50%) rotate(0.6deg); transform-origin: 50% 100%; pointer-events: none; }
body.rb-app .stop-card.coffee-art-card:not(.cancelled-card):not(.rb-featured-stop-card) .route-main > .rb-stop-route-cup img { position: absolute; top: 0px; left: 50%; display: block; width: auto; max-width: none; height: calc(100% + var(--rb-stop-cup-bottom-crop)); transform: translate(-50%); object-fit: contain; object-position: center top; filter: drop-shadow(rgba(42, 73, 154, 0.22) 0px 11px 12px); }
body.rb-app .stop-card.coffee-art-card:not(.cancelled-card):not(.rb-featured-stop-card) .route-main > .route-icon, body.rb-app .stop-card.coffee-art-card:not(.cancelled-card):not(.rb-featured-stop-card) .route-main > .route-text, body.rb-app .stop-card.coffee-art-card:not(.cancelled-card):not(.rb-featured-stop-card) .route-main::after { position: relative !important; z-index: 3 !important; }
body.rb-app .rb-featured-stop-card { --rb-featured-art-height: clamp(122px, 29vw, 176px); --rb-featured-cup-bottom-crop: clamp(18px, 4.8vw, 26px); --rb-featured-art-copy-reserve: clamp(150px, 47%, 282px); flex-direction: column; align-items: stretch; isolation: isolate; position: relative !important; display: flex !important; margin: 0px !important; box-shadow: var(--rb-app-shadow-card) !important; }
body.rb-app .rb-featured-stop-card > .rb-stop-card-body { min-height: var(--rb-featured-art-height); grid-template-columns: minmax(0, 1fr) var(--rb-featured-art-copy-reserve); grid-auto-flow: row; align-content: start; padding-right: 0px; box-sizing: border-box; display: grid !important; }
body.rb-app .rb-featured-stop-card > .rb-stop-card-body > .card-topline { grid-column: 1 / -1; }
body.rb-app .rb-featured-stop-card > .rb-stop-card-body > :is(.stop-name, .stop-time, .stop-address, .stop-source) { grid-column: 1; min-width: 0px; }
body.rb-app #results .stop-card .stop-source[hidden], body.rb-app .rb-featured-stop-card .stop-source[hidden] { display: none !important; }
body.rb-app .rb-featured-stop-card .stop-actions { padding-top: 10px; border-top: 1px solid rgba(30, 144, 255, 0.34); margin-top: 0px !important; }
body.rb-app .rb-featured-stop-card .stop-name, body.rb-app .rb-featured-stop-card .stop-address, body.rb-app .rb-featured-stop-card .stop-source { width: 100% !important; max-width: 100% !important; overflow: visible !important; overflow-wrap: anywhere !important; white-space: normal !important; text-overflow: clip !important; }
body.rb-app .stop-card.coffee-art-card:not(.cancelled-card) .stop-time { width: fit-content !important; max-width: 100% !important; }
body.rb-app .rb-featured-stop-card.coffee-art-card::after { content: none !important; display: none !important; }
body.rb-app .rb-featured-stop-card .route-main { position: relative !important; overflow: visible !important; }
body.rb-app .rb-featured-stop-card .route-main > .rb-featured-cup-trio { overflow: hidden; pointer-events: none; position: absolute !important; z-index: 1 !important; inset: auto auto calc(100% + 11px) 50% !important; display: block !important; width: clamp(140px, 34vw, 210px) !important; height: var(--rb-featured-art-height) !important; transform: translate(-50%) !important; }
body.rb-app .rb-featured-stop-card .route-main > .route-icon, body.rb-app .rb-featured-stop-card .route-main > .route-text, body.rb-app .rb-featured-stop-card .route-main::after { position: relative !important; z-index: 3 !important; }
.rb-featured-cup-trio img { position: absolute; bottom: calc(-1 * var(--rb-featured-cup-bottom-crop)); width: calc(48% + var(--rb-featured-cup-bottom-crop)); height: calc(82% + var(--rb-featured-cup-bottom-crop)); object-fit: contain; object-position: center bottom; filter: drop-shadow(rgba(42, 73, 154, 0.18) 0px 8px 8px); }
.rb-featured-cup-trio img:nth-child(1) { left: 0px; transform: rotate(-4deg); }
.rb-featured-cup-trio img:nth-child(2) { right: 0px; transform: rotate(4deg); }
.rb-featured-cup-trio img:nth-child(3) { left: 18%; z-index: 2; width: calc(52% + var(--rb-featured-cup-bottom-crop)); height: calc(92% + var(--rb-featured-cup-bottom-crop)); }
body.rb-app .stop-card .stop-name, body.rb-app .stop-card h3 { color: var(--rb-app-ink) !important; font-family: var(--rb-font-ui) !important; font-weight: 700 !important; }
body.rb-app .stop-card .stop-time { color: rgb(42, 73, 154) !important; font-weight: 600 !important; }
body.rb-app .stop-card .stop-address { color: var(--rb-a11y-muted) !important; font-weight: 600 !important; }
body.rb-app .stop-card .save-stop-btn, body.rb-app .stop-card .calendar-stop-btn { min-height: 50px !important; border-radius: var(--rb-app-radius-button) !important; }
body.rb-app .stop-card .stop-actions { grid-template-columns: minmax(94px, 0.9fr) 56px minmax(132px, 1.34fr) !important; }
body.rb-app .stop-card .calendar-stop-btn, body.rb-app .stop-card .stop-actions.has-share-secondary .calendar-stop-btn { width: 56px !important; min-width: 56px !important; padding: 0px !important; justify-content: center !important; gap: 0px !important; }
body.rb-app .stop-card .route-main { min-height: 50px !important; border-radius: var(--rb-app-radius-button) !important; background: var(--rb-app-sub-blue) !important; color: var(--rb-app-ink) !important; }
@media (min-width: 720px) {
  body.rb-app .rb-app-screen-stops .stop-card .stop-actions { grid-template-columns: minmax(92px, 0.82fr) 44px minmax(146px, 1.36fr) !important; gap: 6px !important; }
  body.rb-app .rb-app-screen-stops .stop-card .calendar-stop-btn, body.rb-app .rb-app-screen-stops .stop-card .stop-actions.has-share-secondary .calendar-stop-btn { width: 44px !important; min-width: 44px !important; }
  body.rb-app .rb-app-screen-stops .stop-card .save-stop-btn { gap: 5px !important; padding-inline: 6px !important; }
  body.rb-app .rb-app-screen-stops .stop-card .save-stop-icon, body.rb-app .rb-app-screen-stops .stop-card .calendar-stop-icon { width: 28px !important; min-width: 28px !important; height: 28px !important; }
  body.rb-app .rb-app-screen-stops .stop-card .save-stop-copy strong { font-size: 11px !important; line-height: 12px !important; }
  body.rb-app .rb-app-screen-stops .stop-card .route-main { grid-template-columns: 28px minmax(0px, 1fr) 24px !important; column-gap: 6px !important; padding-inline: 6px !important; }
}
.rb-nearby-map-card { position: relative; height: clamp(260px, 70vw, 330px); margin: 0px 0px 12px; overflow: hidden; border: 2px solid var(--rb-app-sub-blue); border-radius: var(--rb-app-radius-card); background: rgba(0, 0, 0, 0.92); box-shadow: var(--rb-app-shadow-card); }
.rb-nearby-map-expand-button { appearance: none; position: absolute; z-index: 560; inset: 0px; display: flex; width: 100%; height: 100%; margin: 0px; padding: 7px; align-items: flex-start; justify-content: flex-end; gap: 0px; border: 0px; border-radius: inherit; background: transparent; color: rgb(255, 255, 255); cursor: zoom-in; touch-action: manipulation; }
.rb-nearby-map-expand-button > span, .rb-nearby-map-expand-button > strong { display: inline-grid; min-height: 44px; place-items: center; border: 1px solid rgba(120, 158, 211, 0.46); background: rgba(0, 0, 0, 0.86); box-shadow: rgba(0, 0, 0, 0.28) 0px 7px 18px; backdrop-filter: blur(14px) saturate(1.12); }
.rb-nearby-map-expand-button > span { width: 44px; border-right: 0px; border-radius: 999px 0px 0px 999px; font-size: 20px; line-height: 1; }
.rb-nearby-map-expand-button > strong { padding: 0px 12px 0px 3px; border-left: 0px; border-radius: 0px 999px 999px 0px; font-family: var(--rb-font-ui); font-size: 11px; font-weight: 700; line-height: 1.1; letter-spacing: 0.01em; }
.rb-nearby-map-expand-button:focus-visible { outline: rgb(255, 255, 255) solid 3px; outline-offset: -5px; }
.rb-nearby-map-fullscreen-header { display: none; }
body.rb-app .rb-nearby-map-card.is-fullscreen { position: fixed !important; z-index: 10000 !important; top: var(--rb-modal-viewport-top, 0px) !important; right: auto !important; bottom: auto !important; left: 0px !important; width: 100vw !important; max-width: none !important; height: var(--rb-modal-viewport-height, 100dvh) !important; min-height: 1px !important; max-height: none !important; margin: 0px !important; overflow: hidden !important; border: 0px !important; border-radius: 0px !important; background: rgb(0, 0, 0) !important; box-shadow: none !important; backdrop-filter: none !important; }
body.rb-app .rb-nearby-map-card.is-fullscreen .all-map-preview { width: 100% !important; height: 100% !important; min-height: 100% !important; border: 0px !important; border-radius: 0px !important; }
body.rb-app .rb-nearby-map-card.is-fullscreen .rb-nearby-map-expand-button { display: none; }
body.rb-app .rb-nearby-map-card.is-fullscreen .rb-nearby-map-fullscreen-header { position: absolute; z-index: 620; top: max(8px, env(safe-area-inset-top, 0px)); left: 10px; display: grid; width: calc(100% - 20px); min-height: 68px; padding: 9px 10px; grid-template-columns: 46px minmax(0px, 1fr) 44px; align-items: center; gap: 9px; border: 1px solid rgba(120, 158, 211, 0.46); border-radius: 22px; background: rgba(0, 0, 0, 0.86); color: rgb(255, 255, 255); box-shadow: rgba(0, 0, 0, 0.34) 0px 12px 30px, rgba(255, 255, 255, 0.12) 0px 1px inset; backdrop-filter: blur(18px) saturate(1.16); }
.rb-nearby-map-fullscreen-mark { display: grid; width: 44px; height: 44px; place-items: center; }
.rb-nearby-map-fullscreen-mark img { display: block; width: 44px; height: 44px; object-fit: contain; }
.rb-nearby-map-fullscreen-copy { display: flex; min-width: 0px; flex-direction: column; }
.rb-nearby-map-fullscreen-copy > span { color: rgb(141, 220, 255); font-family: var(--rb-font-ui); font-size: 10px; font-weight: 700; line-height: 1.2; letter-spacing: 0.08em; text-transform: uppercase; }
.rb-nearby-map-fullscreen-copy > strong { overflow: hidden; color: rgb(255, 255, 255); font-family: var(--rb-font-ui); font-size: clamp(20px, 5.8vw, 27px); font-weight: 700; line-height: 1.05; letter-spacing: -0.015em; text-overflow: ellipsis; white-space: nowrap; }
.rb-nearby-map-close-button { appearance: none; display: grid; width: 44px; min-width: 44px; height: 44px; padding: 0px; place-items: center; border: 1px solid rgba(255, 255, 255, 0.24); border-radius: 50%; background: rgba(255, 255, 255, 0.12); color: rgb(255, 255, 255); cursor: pointer; touch-action: manipulation; font-family: var(--rb-font-ui); font-size: 24px; font-weight: 700; line-height: 1; }
.rb-nearby-map-close-button:focus-visible { outline: rgb(255, 255, 255) solid 3px; outline-offset: 2px; }
body.rb-app .rb-nearby-map-card.is-fullscreen .rb-nearby-map-count { z-index: 610; top: calc(max(8px, env(safe-area-inset-top, 0px)) + 78px); left: 16px; max-width: calc(100% - 32px); border: 1px solid rgba(120, 158, 211, 0.42); background: rgba(0, 0, 0, 0.88) !important; color: rgb(255, 255, 255) !important; backdrop-filter: blur(14px) saturate(1.12) !important; }
@media (orientation: landscape) and (max-height: 500px) {
  body.rb-app .rb-nearby-map-card.is-fullscreen .rb-nearby-map-fullscreen-header { min-height: 58px; padding-block: 6px; grid-template-columns: 44px minmax(0px, 1fr) 44px; }
  body.rb-app .rb-nearby-map-card.is-fullscreen .rb-nearby-map-count { top: calc(max(6px, env(safe-area-inset-top, 0px)) + 66px); }
  .rb-nearby-map-fullscreen-copy > strong { font-size: 20px; }
}
body.rb-app .rb-nearby-map-card .all-map-preview { width: 100% !important; height: 100% !important; min-height: 100% !important; margin: 0px !important; padding: 0px !important; overflow: hidden !important; border: 0px !important; border-radius: 0px !important; background: rgb(244, 239, 225) !important; }
body.rb-app .all-map-preview .all-map-preview-empty { color: var(--rb-app-ink) !important; text-shadow: rgba(255, 255, 255, 0.72) 0px 1px 0px !important; }
body.rb-app .all-map-preview[data-rb-map-appearance="light"] { color-scheme: light; background: rgb(244, 239, 225) !important; }
body.rb-app .all-map-preview[data-rb-map-appearance="dark"] { color-scheme: dark; background: rgb(0, 0, 0) !important; }
body.rb-app .all-map-preview[data-rb-map-appearance="dark"] .all-map-preview-empty { color: rgb(255, 255, 255) !important; text-shadow: rgba(0, 0, 0, 0.92) 0px 2px 8px !important; }
body.rb-app .all-map-grid-bg, body.rb-app .all-map-route-glow { position: absolute; inset: 0px; pointer-events: none; }
body.rb-app .all-map-grid-bg { z-index: 1; background-color: rgb(244, 239, 225); background-image: linear-gradient(rgba(35, 84, 112, 0.09) 1px, transparent 1px), linear-gradient(90deg, rgba(35, 84, 112, 0.09) 1px, transparent 1px); background-size: 30px 30px; }
body.rb-app .all-map-route-glow { z-index: 2; background: radial-gradient(circle at 22% 28%, rgba(37, 169, 226, 0.18), transparent 28%), radial-gradient(circle at 76% 68%, rgba(13, 104, 159, 0.13), transparent 34%); }
body.rb-app .all-map-preview[data-rb-map-appearance="dark"] .all-map-grid-bg { background-color: rgb(0, 0, 0); background-image: linear-gradient(rgba(153, 206, 232, 0.09) 1px, transparent 1px), linear-gradient(90deg, rgba(153, 206, 232, 0.09) 1px, transparent 1px); }
body.rb-app .all-map-preview[data-rb-map-appearance="dark"] .all-map-route-glow { background: radial-gradient(circle at 22% 28%, rgba(61, 184, 235, 0.22), transparent 28%), radial-gradient(circle at 76% 68%, rgba(13, 104, 159, 0.18), transparent 34%); }
body.rb-app .all-map-preview[data-rb-map-appearance="dark"] .leaflet-tile-pane { filter: invert(0.9) hue-rotate(180deg) brightness(0.72) contrast(1.12) saturate(0.72); }
body.rb-app .all-map-preview[data-rb-map-appearance="dark"] .leaflet-control-attribution { background: rgba(18, 31, 43, 0.94) !important; color: rgb(234, 246, 252) !important; box-shadow: rgba(0, 0, 0, 0.34) 0px 4px 10px !important; }
body.rb-app .all-map-preview[data-rb-map-appearance="dark"] .leaflet-control-attribution a { color: rgb(155, 220, 255) !important; }
body.rb-app .all-map-preview[data-rb-map-appearance="dark"] .leaflet-control-zoom a { border-bottom-color: rgba(255, 255, 255, 0.16); background: rgba(18, 31, 43, 0.96); color: rgb(255, 255, 255); }
body.rb-app .map-popup-content { box-sizing: border-box; width: min(224px, -96px + 100vw); max-width: 100%; overflow-wrap: anywhere; color: var(--rb-app-ink); font-family: var(--rb-font-ui); font-size: 12px; line-height: 1.35; }
body.rb-app .map-popup-title { display: block; padding-right: 18px; color: var(--rb-app-main-dark); font-family: var(--rb-font-ui); font-size: 14px; line-height: 1.25; font-weight: 700; }
body.rb-app .map-popup-address { display: block; margin-top: 4px; color: rgb(49, 81, 107); font-weight: 700; }
body.rb-app .map-popup-distance-pill { display: inline-flex; align-items: center; max-width: 100%; min-height: 24px; margin-top: 6px; padding: 4px 9px; border: 1px solid rgba(84, 207, 242, 0.72); border-radius: 999px; background: var(--rb-app-main-dark); color: rgb(255, 255, 255); font-family: var(--rb-font-ui); font-size: 12px; font-weight: 950; line-height: 1; white-space: nowrap; }
body.rb-app .map-popup-actions { display: grid; grid-template-columns: minmax(0px, 1fr); gap: 8px; margin-top: 10px; }
body.rb-app .map-popup-actions > button { appearance: none; box-sizing: border-box; display: flex; width: 100%; min-width: 0px; min-height: 44px; margin: 0px; padding: 8px 11px; align-items: center; justify-content: center; gap: 8px; border-radius: 13px; cursor: pointer; touch-action: manipulation; font-family: var(--rb-font-ui); font-size: 12px; font-weight: 700; line-height: 1.2; text-align: center; }
body.rb-app .map-popup-chooser { width: min(252px, -96px + 100vw); }
body.rb-app .map-popup-choices { max-height: min(240px, 42vh); overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; }
body.rb-app .map-popup-actions > .map-popup-choice { border: 1px solid rgba(6, 135, 196, 0.38); background: linear-gradient(135deg, rgb(245, 251, 255), rgb(217, 242, 255)); color: var(--rb-app-main-dark); font-family: var(--rb-font-ui); font-weight: 700; box-shadow: rgba(4, 78, 119, 0.14) 0px 4px 10px; justify-content: flex-start; text-align: left; }
body.rb-app .map-popup-save { border: 1px solid rgb(6, 135, 196); background: linear-gradient(135deg, rgb(57, 200, 246), rgb(22, 174, 231)); color: var(--rb-app-ink); box-shadow: rgba(4, 78, 119, 0.22) 0px 5px 12px; }
body.rb-app .map-popup-save-icon { display: grid; width: 24px; height: 24px; flex: 0 0 24px; place-items: center; border-radius: 50%; background: rgba(255, 255, 255, 0.5); }
body.rb-app .map-popup-save-icon svg { width: 15px; height: 15px; fill: none; stroke: currentcolor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
body.rb-app .map-popup-save.is-saved { border-color: rgba(40, 90, 167, 0.72); background: linear-gradient(135deg, rgb(244, 239, 225), rgb(40, 90, 167)); color: rgb(42, 73, 154); box-shadow: rgba(103, 60, 25, 0.2) 0px 5px 12px; }
body.rb-app .map-popup-route { border: 1px solid rgba(40, 90, 167, 0.42); background: linear-gradient(135deg, rgb(244, 239, 225), rgb(30, 144, 255)); color: rgb(42, 73, 154); box-shadow: rgba(103, 60, 25, 0.18) 0px 5px 12px; }
body.rb-app .map-popup-route-unavailable { display: block; padding: 8px 10px; border: 1px solid rgba(113, 126, 137, 0.28); border-radius: 10px; background: rgba(113, 126, 137, 0.09); color: rgb(82, 96, 107); font-size: 10px; font-weight: 800; line-height: 14px; text-align: center; }
body.rb-app .map-popup-actions > button:focus-visible, body.rb-app .map-static-stop-popup-close:focus-visible { outline: 3px solid var(--rb-app-main-blue); outline-offset: 2px; }
body.rb-app .map-static-stop-popup { position: absolute; z-index: 900; left: 50%; bottom: 12px; box-sizing: border-box; width: min(264px, 100% - 24px); padding: 14px; border: 2px solid var(--rb-app-sub-blue); border-radius: 18px; background: rgb(255, 255, 255); box-shadow: rgba(0, 0, 0, 0.34) 0px 14px 32px; transform: translate(-50%); }
body.rb-app .map-static-stop-popup .map-popup-content { width: 100%; max-width: 100%; }
body.rb-app .map-static-stop-popup-close { appearance: none; position: absolute; z-index: 2; top: 7px; right: 7px; display: grid; width: 30px; height: 30px; padding: 0px; place-items: center; border: 0px; border-radius: 50%; background: var(--rb-app-main-dark); color: rgb(255, 255, 255); cursor: pointer; font-family: var(--rb-font-ui); font-size: 21px; font-weight: 700; line-height: 1; }
body.rb-app .rb-nearby-map-card .all-pins-leaflet-map, body.rb-app .rb-nearby-map-card .all-pins-google-map, body.rb-app .rb-nearby-map-card .all-map-svg-fallback { width: 100% !important; height: 100% !important; min-height: 100% !important; }
body.rb-app .all-pins-google-map, body.rb-app .all-pins-google-map * { box-sizing: initial; }
body.rb-app .all-pins-google-map img, body.rb-app .all-pins-google-map svg, body.rb-app .all-pins-google-map canvas { max-width: none; }
body.rb-app .rb-nearby-map-card .rb-map-cluster-icon { display: grid !important; place-items: center !important; border: 0px !important; background: transparent !important; }
body.rb-app .rb-nearby-map-card .rb-map-cluster-count { display: grid; width: 52px; height: 52px; place-items: center; border: 4px solid var(--rb-app-sub-blue); border-radius: 50%; outline: 3px solid var(--rb-app-cream); background: var(--rb-app-main-dark); color: rgb(255, 255, 255); box-shadow: rgba(0, 0, 0, 0.38) 0px 7px 16px, rgba(255, 255, 255, 0.14) 0px 0px 0px 2px inset; font-size: 16px; line-height: 1; font-weight: 950; }
body.rb-app .rb-nearby-map-card .rb-map-cluster-icon:focus-visible .rb-map-cluster-count { outline: rgb(255, 255, 255) solid 4px; outline-offset: 3px; }
html:not(.rb-motion-off) body.rb-app .rb-nearby-map-card .rb-map-cluster-count { transition: transform var(--rb-app-motion-standard) ease, box-shadow var(--rb-app-motion-standard) ease; }
html:not(.rb-motion-off) body.rb-app .rb-nearby-map-card .rb-map-cluster-icon:hover .rb-map-cluster-count { transform: scale(1.06); box-shadow: rgba(0, 0, 0, 0.46) 0px 9px 20px, rgba(255, 255, 255, 0.18) 0px 0px 0px 2px inset; }
.rb-nearby-map-count { position: absolute; z-index: 550; top: 9px; left: 9px; max-width: calc(100% - 18px); padding: 7px 10px; border-radius: var(--rb-app-radius-compact); background: rgba(42, 73, 154, 0.94); color: rgb(255, 255, 255); box-shadow: var(--rb-app-shadow-card); font-size: 13px; line-height: 17px; font-weight: 900; text-transform: none; pointer-events: none; }
.rb-nearby-actions { display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 10px; margin-bottom: 16px; }
.rb-nearby-actions.is-location-missing { grid-template-columns: minmax(0px, 1fr); }
.rb-nearby-location-refresh { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; margin: -2px 0px 12px; }
.rb-nearby-location-status { max-width: 680px; margin: 0px; color: var(--rb-app-panel-muted); font-size: 11px; font-weight: 700; line-height: 16px; text-align: center; }
body.rb-app .rb-nearby-map-card[hidden], body.rb-app #rbNearbyRouteClosestButton[hidden], body.rb-app .rb-nearby-location-refresh[hidden], body.rb-app .rb-nearby-list-section[hidden] { display: none; }
body.rb-app .rb-nearby-location-refresh .hero-info-refresh-btn { min-height: 44px !important; margin: 0px !important; padding: 10px 16px !important; }
body.rb-app .rb-nearby-location-refresh .hero-info-refresh-btn:focus-visible { outline: rgb(255, 255, 255) solid 3px !important; outline-offset: 2px !important; }
.rb-command-group { overflow: hidden; border: 1px solid rgba(120, 158, 211, 0.34); border-radius: var(--rb-app-radius-card); background: linear-gradient(rgba(42, 73, 154, 0.98), rgba(42, 73, 154, 0.98)); box-shadow: var(--rb-app-shadow-card); }
.rb-command-row { display: grid; grid-template-columns: 48px minmax(0px, 1fr) 20px; width: 100%; min-height: 76px; padding: 10px 14px; align-items: center; gap: 12px; border-width: 0px 0px 1px; border-style: none none solid; border-color: currentcolor currentcolor rgba(255, 255, 255, 0.1); border-image: none; background: transparent; color: rgb(255, 255, 255); text-align: left; font: inherit; cursor: pointer; }
.rb-command-group .rb-command-row:last-child { border-bottom: 0px; }
.rb-nearby-actions .rb-command-row { grid-template-columns: 42px minmax(0px, 1fr); min-height: 68px; padding: 8px 10px; gap: 8px; border: 1px solid var(--rb-app-sub-blue); border-radius: var(--rb-app-radius-button); background: rgba(0, 0, 0, 0.78); }
.rb-nearby-actions .rb-command-copy small { display: none; }
.rb-nearby-actions .rb-command-copy strong { font-size: 14px; line-height: 18px; white-space: nowrap; }
.rb-nearby-actions .rb-command-icon { width: 40px; height: 40px; box-shadow: none; }
.rb-nearby-actions .rb-command-icon-cutout { fill: none; stroke: var(--rb-app-ink); stroke-width: 2; }
.rb-nearby-actions .rb-command-row-primary { border-color: transparent; background: var(--rb-app-sub-blue); color: var(--rb-app-ink); }
.rb-command-icon { display: grid; width: 44px; height: 44px; place-items: center; overflow: hidden; border: 2px solid var(--rb-app-sub-blue); border-radius: 50%; background: var(--rb-app-main-blue); box-shadow: 0 0 0 3px var(--rb-app-cream); }
.rb-command-icon svg, .rb-command-icon img { width: 25px; height: 25px; fill: rgb(255, 255, 255); stroke: rgb(255, 255, 255); stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; object-fit: contain; }
.rb-command-icon .rb-refresh-app-icon { fill: none; stroke: rgb(255, 255, 255); stroke-width: 2; }
.rb-command-copy { display: flex; min-width: 0px; flex-direction: column; }
.rb-command-copy strong { font-size: 15px; line-height: 19px; }
.rb-command-copy small { margin-top: 2px; color: rgba(255, 255, 255, 0.66); font-size: 11px; line-height: 15px; }
.rb-command-row-primary .rb-command-copy small { color: rgba(42, 73, 154, 0.72); }
.rb-command-chevron { color: rgba(255, 255, 255, 0.58); font-size: 30px; line-height: 1; }
.rb-nearby-actions .rb-command-chevron { display: none; }
.rb-nearby-stop-list { display: grid; gap: 10px; }
.rb-nearby-stop-row { display: grid; grid-template-columns: minmax(0px, 1fr) max-content; min-height: 124px; padding: 14px; align-items: center; gap: 9px; border: 1px solid rgba(30, 144, 255, 0.56); border-radius: var(--rb-app-radius-card); background: var(--rb-app-wavy-surface) center / cover; color: var(--rb-app-ink); box-shadow: var(--rb-app-shadow-card); cursor: pointer; touch-action: manipulation; }
.rb-nearby-stop-row.is-reference-only { cursor: default; }
.rb-nearby-stop-copy { display: flex; min-width: 0px; grid-area: 1 / 1 / span 2; align-self: center; flex-direction: column; }
.rb-nearby-stop-copy strong { font-family: var(--rb-font-ui); font-size: 16px; font-weight: 700; line-height: 20px; }
.rb-nearby-stop-copy small { margin-top: 3px; color: rgb(42, 73, 154); font-weight: 800; }
.rb-nearby-stop-copy span { margin-top: 5px; color: var(--rb-a11y-muted); font-size: 11px; line-height: 15px; }
.rb-nearby-stop-distance { display: inline-flex; min-height: 27px; padding: 6px 10px; grid-area: 1 / 2; align-items: center; place-self: start end; border: 1px solid rgba(255, 255, 255, 0.42); border-radius: 999px; background: linear-gradient(135deg, rgba(42, 73, 154, 0.97), rgba(42, 73, 154, 0.96)); color: rgb(255, 255, 255); box-shadow: rgba(6, 22, 35, 0.2) 0px 8px 16px, rgba(255, 255, 255, 0.2) 0px 1px inset; font-size: 0.72rem; font-weight: 950; line-height: 1; letter-spacing: -0.01em; text-align: right; text-shadow: rgba(0, 0, 0, 0.34) 0px 1px 0px; white-space: nowrap; }
.rb-nearby-stop-row button { display: grid; width: 48px; height: 48px; grid-area: 2 / 2; place-items: center; place-self: end; border: 0px; border-radius: 50%; background: var(--rb-app-sub-blue); color: var(--rb-app-ink); cursor: pointer; }
.rb-nearby-stop-row button svg { width: 27px; height: 27px; fill: var(--rb-app-ink); }
.rb-nearby-stop-row button .rb-nearby-route-cutout { fill: none; stroke: var(--rb-app-sub-blue); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.rb-nearby-stop-actions { display: flex; grid-area: 2 / 2; place-self: end; gap: 8px; }
.rb-nearby-route-unavailable { display: inline-flex; min-height: 30px; padding: 5px 8px; align-items: center; align-self: center; border: 1px solid rgba(72, 95, 114, 0.24); border-radius: 999px; background: rgba(255, 255, 255, 0.55); color: rgb(82, 96, 107); font-size: 9px; font-weight: 900; line-height: 12px; white-space: nowrap; }
.rb-nearby-stop-row .rb-nearby-stop-actions button { width: 44px; height: 44px; grid-area: auto; }
.rb-nearby-stop-row .rb-nearby-stop-save { border: 1px solid rgba(20, 126, 190, 0.32); background: rgb(255, 255, 255); color: var(--rb-app-main-blue); }
.rb-nearby-stop-row .rb-nearby-stop-save svg { width: 23px; height: 23px; fill: none; stroke: currentcolor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.rb-nearby-stop-row .rb-nearby-stop-save.is-saved { border-color: rgba(199, 133, 28, 0.7); background: var(--rb-app-accent); color: var(--rb-app-on-bright); }
.rb-state-card { display: flex; min-height: 132px; padding: 22px; align-items: center; justify-content: center; flex-direction: column; border: 1px solid rgba(30, 144, 255, 0.56); border-radius: var(--rb-app-radius-card); background: var(--rb-app-wavy-surface) center / cover; color: var(--rb-app-ink); text-align: center; }
.rb-state-card span { margin-top: 6px; color: var(--rb-a11y-muted); font-size: 12px; line-height: 17px; }
.rb-saved-content { display: grid; gap: 12px; }
body.rb-app .rb-saved-content .saved-stop-notification-controls, body.rb-app .rb-saved-content .saved-stop-notification-settings, body.rb-app .rb-saved-content .saved-stop-notification-enrollment, body.rb-app .rb-saved-content .saved-stops-list > * { border: 1px solid rgba(30, 144, 255, 0.54) !important; border-radius: var(--rb-app-radius-card) !important; background: var(--rb-app-wavy-surface) center / cover !important; color: var(--rb-app-card-text) !important; box-shadow: var(--rb-app-shadow-card) !important; }
body.rb-app .rb-saved-content .saved-stop-notification-enrollment { padding-inline: 10px !important; }
body.rb-app .rb-saved-content .saved-stop-notification-controls { position: relative !important; display: grid !important; grid-template-columns: 44px minmax(0px, 1fr) 44px !important; grid-template-rows: auto !important; gap: 4px !important; min-height: 60px !important; margin: 0px !important; padding: 8px 12px !important; align-items: center !important; }
body.rb-app .rb-saved-content .saved-stop-notification-summary { display: grid !important; grid-area: 1 / 2 !important; grid-template-columns: minmax(0px, 1fr) !important; width: 100% !important; min-width: 0px !important; min-height: 44px !important; margin: 0px !important; padding: 0px !important; gap: 2px !important; overflow: visible !important; border: 0px !important; border-radius: 0px !important; background: transparent !important; box-shadow: none !important; clip-path: none !important; contain: none !important; color: var(--rb-app-card-text) !important; cursor: default !important; place-content: center !important; text-align: center !important; }
body.rb-app .rb-saved-content .hero-saved-stop-alert-switch { width: 56px; height: 44px; display: inline-grid; place-items: center; padding: 0px; border: 0px; border-radius: 999px; background: transparent; box-shadow: none; cursor: pointer; touch-action: manipulation; -webkit-tap-highlight-color: transparent; }
body.rb-app .rb-saved-content .hero-saved-stop-alert-switch:focus-visible { outline: 3px solid var(--rb-a11y-blue); outline-offset: 3px; }
body.rb-app .rb-saved-content .hero-saved-stop-alert-switch[aria-checked="false"] .hero-animation-toggle-track { background: linear-gradient(rgba(119, 132, 144, 0.78), rgba(82, 94, 106, 0.9)); box-shadow: rgba(0, 0, 0, 0.2) 0px 1px 3px inset, rgba(255, 255, 255, 0.16) 0px 1px inset; }
body.rb-app .rb-saved-content .hero-saved-stop-alert-switch[aria-checked="false"] .hero-animation-toggle-track span { transform: translateZ(0px); }
body.rb-app .rb-saved-content .hero-saved-stop-alert-switch[aria-checked="true"] .hero-animation-toggle-track span { transform: translate3d(22px, 0px, 0px); }
body.rb-app .rb-saved-content .hero-animation-toggle-copy { display: flex !important; width: 100% !important; height: 100% !important; min-width: 0px !important; margin-inline-start: 0px !important; gap: 3px !important; align-items: center !important; justify-content: center !important; flex-direction: column !important; text-align: center !important; }
body.rb-app .rb-saved-content .hero-animation-toggle-copy strong { text-wrap-style: balance; font-size: 14px !important; line-height: 17px !important; white-space: normal !important; }
body.rb-app .rb-saved-content .hero-animation-toggle-copy small { font-size: 11px !important; line-height: 14px !important; }
body.rb-app .rb-saved-content .hero-animation-toggle-copy strong, body.rb-app .rb-saved-content .saved-stop-notification-settings strong { color: var(--rb-app-card-text) !important; }
body.rb-app .rb-saved-content .hero-animation-toggle-copy small, body.rb-app .rb-saved-content .saved-stop-notification-settings small, body.rb-app .rb-saved-content .saved-stop-notification-settings p { color: var(--rb-app-card-muted) !important; }
body.rb-app .rb-saved-content .saved-stop-notification-settings-button { width: 44px !important; height: 44px !important; min-width: 44px !important; min-height: 44px !important; border-radius: 50% !important; }
body.rb-app .rb-saved-content .saved-stop-notification-settings-button svg, body.rb-app .rb-saved-content .saved-stop-notification-settings-button svg path, body.rb-app .rb-saved-content .saved-stop-notification-enrollment-icon svg, body.rb-app .rb-saved-content .saved-stop-notification-enrollment-icon svg path { display: block !important; visibility: visible !important; opacity: 1 !important; fill: none !important; stroke: rgb(255, 255, 255) !important; }
body.rb-app .rb-saved-content .saved-stop-notification-enrollment-icon { transform: none; }
body.rb-app .rb-saved-content #savedStopNotificationSettingsButton svg, body.rb-app .rb-saved-content #savedStopNotificationSettingsButton svg path, body.rb-app .rb-saved-content #savedStopNotificationSettingsButton svg circle { fill: none !important; stroke: var(--rb-app-main-blue) !important; }
body.rb-app .rb-saved-content .saved-stop-notification-bell-button { grid-area: 1 / 1 !important; border: 0px !important; background: var(--rb-app-main-blue) !important; color: rgb(255, 255, 255) !important; box-shadow: none !important; }
@supports (-webkit-touch-callout: none) {
  body.rb-app .rb-saved-content .saved-stop-notification-bell-button { transform: none !important; }
}
body.rb-app .rb-saved-content #savedStopNotificationSettingsButton { transform: translate(2px); grid-area: 1 / 3 !important; border: 0px !important; background: transparent !important; color: var(--rb-app-main-blue) !important; box-shadow: none !important; }
body.rb-app .rb-saved-content .saved-stop-notification-settings { padding: 16px !important; }
body.rb-app .rb-saved-content .saved-stop-notification-rule { border-color: rgba(40, 90, 167, 0.22) !important; background: rgba(255, 255, 255, 0.46) !important; }
body.rb-app .rb-saved-content .saved-stop-notification-rule.is-disabled { background: rgba(232, 237, 241, 0.78) !important; }
body.rb-app .rb-saved-content .saved-stops-list { display: grid !important; gap: 12px !important; }
.rb-saved-summary { display: flex; min-height: 72px; padding: 12px 14px; align-items: center; justify-content: space-between; gap: 10px; border: 1px solid rgba(30, 144, 255, 0.54); border-radius: var(--rb-app-radius-card); background: var(--rb-app-wavy-surface) center / cover; color: var(--rb-app-card-text); box-shadow: var(--rb-app-shadow-card); }
.rb-saved-summary strong, .rb-saved-summary button { min-height: 44px; padding: 10px 15px; border: 0px; border-radius: 999px; background: var(--rb-app-accent); color: var(--rb-app-on-bright); font-size: 13px; font-weight: 900; text-transform: uppercase; }
.rb-saved-summary button { border: 1px solid rgba(16, 45, 73, 0.26); cursor: pointer; }
body.rb-app .rb-saved-content .saved-stops-empty, body.rb-app .rb-saved-content .saved-stops-empty-fun { display: flex !important; min-height: 255px !important; margin: 0px !important; padding: 24px 20px !important; align-items: center !important; justify-content: center !important; gap: 8px !important; flex-direction: column !important; text-align: center !important; }
body.rb-app .rb-saved-content .saved-empty-cup { display: block !important; margin: 0px 0px 4px !important; }
body.rb-app .rb-saved-content .saved-empty-cup img { width: 92px !important; height: 92px !important; object-fit: contain !important; }
body.rb-app .rb-saved-content .saved-stops-empty strong { color: var(--rb-app-card-text) !important; font-size: 20px !important; line-height: 24px !important; }
body.rb-app .rb-saved-content .saved-stops-empty span:not(.saved-empty-cup) { max-width: 34ch; color: var(--rb-app-card-muted) !important; font-size: 13px !important; line-height: 18px !important; }
body.rb-app .rb-saved-content .saved-stop-item { display: grid !important; grid-template-columns: minmax(0px, 1fr) !important; gap: 12px !important; padding: 16px !important; overflow: hidden !important; border: 1px solid rgba(30, 144, 255, 0.65) !important; border-radius: var(--rb-app-radius-card) !important; background: var(--rb-app-wavy-surface) center / cover !important; color: var(--rb-app-card-text) !important; box-shadow: var(--rb-app-shadow-card) !important; }
body.rb-app .rb-saved-content .saved-stop-copy { position: relative !important; display: grid !important; min-width: 0px !important; gap: 7px !important; padding-right: 0px !important; }
body.rb-app .rb-saved-content .saved-stop-item.has-distance .saved-stop-copy { padding-right: 152px !important; }
body.rb-app .rb-saved-content .saved-stop-copy strong, body.rb-app .rb-saved-content .saved-stop-copy small, body.rb-app .rb-saved-content .saved-stop-copy > span { min-width: 0px !important; max-width: none !important; overflow: visible !important; color: var(--rb-app-card-text) !important; white-space: normal !important; text-overflow: clip !important; }
body.rb-app .rb-saved-content .saved-stop-copy strong { font-family: var(--rb-font-ui) !important; font-size: 19px !important; line-height: 23px !important; font-weight: 700 !important; }
body.rb-app .rb-saved-content .saved-stop-copy .saved-stop-time { justify-self: start !important; margin: 0px !important; padding: 5px 10px !important; border: 1px solid rgba(40, 90, 167, 0.52) !important; border-radius: 999px !important; background: rgb(120, 158, 211) !important; color: var(--rb-app-on-bright) !important; font-size: 12px !important; line-height: 15px !important; font-weight: 900 !important; }
body.rb-app .rb-saved-content .saved-stop-copy .saved-stop-address { margin: 0px !important; color: var(--rb-app-card-muted) !important; font-size: 12px !important; line-height: 16px !important; font-weight: 800 !important; }
body.rb-app .rb-saved-content .saved-stop-copy .saved-stop-distance { position: absolute !important; top: 0px !important; right: 0px !important; width: auto !important; max-width: none !important; margin: 0px !important; padding: 7px 10px !important; overflow: visible !important; border: 1px solid rgba(255, 255, 255, 0.42) !important; border-radius: 999px !important; background: linear-gradient(135deg, rgba(42, 73, 154, 0.97), rgba(42, 73, 154, 0.96)) !important; color: rgb(255, 255, 255) !important; box-shadow: rgba(6, 22, 35, 0.2) 0px 8px 16px, rgba(255, 255, 255, 0.2) 0px 1px inset !important; font-size: 0.72rem !important; line-height: 1 !important; font-weight: 950 !important; letter-spacing: -0.01em !important; text-align: right !important; text-shadow: rgba(0, 0, 0, 0.34) 0px 1px 0px !important; white-space: nowrap !important; text-overflow: clip !important; }
body.rb-app .rb-saved-content .saved-stop-actions { display: grid !important; grid-template-columns: repeat(3, minmax(0px, 1fr)) !important; width: 100% !important; gap: 8px !important; }
body.rb-app .rb-saved-content .saved-stop-actions button { min-width: 0px !important; min-height: 44px !important; padding-inline: 8px !important; white-space: normal !important; border: 1px solid rgba(40, 90, 167, 0.25) !important; background: rgba(218, 237, 246, 0.86) !important; color: var(--rb-app-ink) !important; font-weight: 900 !important; }
body.rb-app .rb-saved-content .saved-stop-actions button[data-saved-route] { border-color: rgba(40, 90, 167, 0.34) !important; background: var(--rb-app-sub-blue) !important; color: var(--rb-app-on-bright) !important; }
body.rb-app .rb-saved-content .saved-stop-actions button[data-saved-remove] { border: 1px solid rgba(163, 46, 46, 0.42) !important; background: linear-gradient(135deg, rgb(255, 244, 239), rgb(255, 199, 187)) !important; color: rgb(138, 31, 31) !important; -webkit-text-fill-color: rgb(138, 31, 31) !important; box-shadow: rgba(255, 255, 255, 0.82) 0px 1px inset, rgba(124, 31, 31, 0.13) 0px 7px 14px !important; font-weight: 900 !important; opacity: 1 !important; }
.rb-more-section { width: 100%; margin-bottom: 16px; box-sizing: border-box; }
body.rb-app .rb-app-screen-more .rb-command-group, body.rb-app .rb-app-screen-more .hero-info-links, body.rb-app .rb-app-screen-more #rbMapPickerSlot, body.rb-app .rb-app-screen-more #heroInfoLocationTools, body.rb-app .rb-app-screen-more .install-footer { width: 100% !important; max-width: none !important; box-sizing: border-box !important; }
body.rb-app .rb-more-links-section .hero-info-links { overflow: visible; border: 0px; border-radius: 0px; background: transparent; box-shadow: none; display: grid !important; grid-template-columns: repeat(2, minmax(0px, 1fr)) !important; gap: 6px !important; }
body.rb-app .rb-more-links-section .rb-more-link-groups { display: grid; gap: 12px; }
body.rb-app .rb-more-links-section .rb-more-link-group { min-width: 0px; display: grid; gap: 5px; }
body.rb-app .rb-more-links-section .rb-more-link-group-title { margin: 0px; padding: 0px 2px; color: rgb(85, 213, 255); font-family: var(--rb-font-ui); font-size: 10px; line-height: 13px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; text-shadow: rgba(0, 0, 0, 0.5) 0px 1px 2px; }
body.rb-app .rb-more-links-section .hero-info-link { display: grid !important; grid-area: auto !important; grid-template-columns: 36px minmax(0px, 1fr) 14px !important; width: 100% !important; min-width: 0px !important; min-height: 60px !important; padding: 6px 8px !important; place-items: center start !important; gap: 6px !important; border: 1px solid rgba(30, 144, 255, 0.54) !important; border-radius: var(--rb-app-radius-card) !important; background: var(--rb-app-wavy-surface) center / cover !important; color: var(--rb-app-card-text) !important; box-shadow: var(--rb-app-shadow-card) !important; text-decoration: none !important; }
body.rb-app .rb-app-screen-more :is(button, a) { animation: auto ease 0s 1 normal none running none !important; transition: none !important; will-change: auto !important; }
body.rb-app .rb-app-screen-more :is(button, a):is(:hover, :active) { transform: none !important; }
body.rb-app .rb-more-links-section .hero-info-link-support { cursor: pointer; max-width: none !important; margin: 0px !important; appearance: none !important; letter-spacing: 0px !important; }
body.rb-app .rb-more-links-section .hero-info-link:last-child { border-bottom: 1px solid rgba(30, 144, 255, 0.54) !important; }
body.rb-app .rb-more-links-section .hero-info-link:not(.instagram-quick-tag-button)::after { content: ""; width: 9px; height: 9px; justify-self: end; margin-right: 4px; border-top: 3px solid; border-right: 3px solid; color: var(--rb-app-main-blue); transform: rotate(45deg); }
body.rb-app .rb-more-links-section .hero-info-link-icon { width: 36px !important; height: 36px !important; margin: 0px !important; }
body.rb-app .rb-more-links-section .hero-info-link:not(.instagram-quick-tag-button) > span:last-of-type { min-width: 0px; font-size: 14px !important; font-weight: 800 !important; line-height: 17px !important; }
body.rb-app .rb-more-links-section .hero-info-link > :nth-child(2) { width: 100% !important; min-width: 0px !important; place-self: center stretch !important; text-align: center !important; }
body.rb-app .rb-more-links-section .rb-more-link-copy, body.rb-app .rb-more-links-section .instagram-quick-tag-copy { justify-items: center !important; }
body.rb-app .rb-more-links-section .instagram-quick-tag-button { grid-template-columns: 36px minmax(0px, 1fr) auto !important; width: 100% !important; max-width: none !important; min-height: 60px !important; margin: 0px !important; padding: 6px 8px !important; box-sizing: border-box !important; border: 1px solid rgba(120, 158, 211, 0.34) !important; border-radius: var(--rb-app-radius-button) !important; background: var(--rb-app-wavy-surface) center / cover !important; color: var(--rb-app-card-text) !important; box-shadow: var(--rb-app-shadow-card) !important; }
body.rb-app .rb-more-links-section .instagram-quick-tag-icon { width: 36px !important; height: 36px !important; margin: 0px !important; }
body.rb-app .rb-more-links-section .instagram-quick-tag-copy strong { color: var(--rb-app-card-text) !important; font-size: 12px !important; line-height: 15px !important; }
body.rb-app .rb-more-links-section .instagram-quick-tag-copy small { color: var(--rb-app-card-muted) !important; font-size: 11px !important; line-height: 14px !important; }
body.rb-app .rb-more-links-section .instagram-quick-tag-state { color: var(--rb-app-card-text) !important; font-size: 11px !important; line-height: 14px !important; }
body.rb-app .rb-more-links-section .rb-more-action-icon { display: grid !important; place-items: center !important; border: 2px solid rgba(255, 255, 255, 0.9) !important; border-radius: 50% !important; color: rgb(255, 255, 255) !important; background: linear-gradient(145deg, rgb(39, 189, 242), rgb(15, 115, 197)) !important; box-shadow: rgb(20, 139, 215) 0px 0px 0px 2px !important; }
body.rb-app .rb-more-links-section .rb-more-action-icon svg { display: block !important; width: 23px !important; height: 23px !important; fill: none !important; stroke: currentcolor !important; stroke-width: 1.8 !important; stroke-linecap: round !important; stroke-linejoin: round !important; }
body.rb-app .rb-more-links-section .hero-info-link-icon, body.rb-app .rb-more-links-section .instagram-quick-tag-icon { position: relative !important; isolation: isolate !important; display: inline-grid !important; place-items: center !important; width: 36px !important; height: 36px !important; border: 0px !important; border-radius: 50% !important; color: rgb(40, 90, 167) !important; background: rgb(255, 255, 255) !important; box-shadow: rgba(4, 41, 76, 0.2) 0px 5px 10px !important; overflow: visible !important; }
body.rb-app .rb-more-links-section .hero-info-link-icon::before, body.rb-app .rb-more-links-section .instagram-quick-tag-icon::before { content: "" !important; position: absolute !important; inset: 5px !important; z-index: 0 !important; border: 0px !important; border-radius: 50% !important; background: rgb(255, 255, 255) !important; box-shadow: rgba(255, 255, 255, 0.9) 0px 1px inset !important; pointer-events: none !important; }
body.rb-app .rb-more-links-section .hero-info-link-icon::after, body.rb-app .rb-more-links-section .instagram-quick-tag-icon::after { content: "" !important; position: absolute !important; inset: -3px !important; z-index: 3 !important; border: 0px !important; border-radius: 50% !important; background: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTAwIiBhcmlhLWhpZGRlbj0idHJ1ZSIgZm9jdXNhYmxlPSJmYWxzZSI+CiAgPGRlZnM+CiAgICA8bGluZWFyR3JhZGllbnQgaWQ9InJiUmluZ0JsdWUiIHgxPSIxNCIgeTE9IjEwIiB4Mj0iODgiIHkyPSI5MSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPgogICAgICA8c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiMxNjRmYTgiLz4KICAgICAgPHN0b3Agb2Zmc2V0PSIwLjQ4IiBzdG9wLWNvbG9yPSIjMTU5ZmRmIi8+CiAgICAgIDxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzBiNjJiOCIvPgogICAgPC9saW5lYXJHcmFkaWVudD4KICA8L2RlZnM+CiAgPHBhdGggZD0iTTUwLjggMy41Qzc3LjIgMy4xIDk1IDIwLjEgOTYuNyA0Ny40YzEuNyAyOC4xLTE2LjkgNDcuOS00Ni4zIDQ5LjFDMjEuOSA5Ny42IDMuMSA3OC43IDMuMyA1MC45IDMuNSAyMi45IDIyLjUgNCA1MC44IDMuNVoiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzA4N2ZjYSIgc3Ryb2tlLXdpZHRoPSIyLjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgogIDxwYXRoIGQ9Ik00OS4zIDguNGMyNi4xLTEgNDIuMyAxNi41IDQyLjggNDIuMS42IDI1LjctMTcuMiA0MS41LTQyLjggNDEuNEMyMy41IDkxLjggNy41IDc0LjggNy45IDQ5LjggOC4zIDI0LjcgMjMuNiA5LjQgNDkuMyA4LjRaIiBmaWxsPSJub25lIiBzdHJva2U9InVybCgjcmJSaW5nQmx1ZSkiIHN0cm9rZS13aWR0aD0iMy43IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KICA8cGF0aCBkPSJNNTAuMiAxNGMyMS45LS4zIDM2LjIgMTQuOSAzNi44IDM2LjguNSAyMi0xNC42IDM2LjItMzcuNCAzNi4yLTIyLjIgMC0zNi43LTE0LjctMzYuNy0zNi42QzEyLjkgMjguNyAyOCAxNC4zIDUwLjIgMTRaIiBmaWxsPSJub25lIiBzdHJva2U9IiMwODdmY2EiIHN0cm9rZS13aWR0aD0iMy40IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9zdmc+Cg==") center center / contain no-repeat !important; pointer-events: none !important; }
body.rb-app .rb-more-links-section .hero-info-link-icon > svg, body.rb-app .rb-more-links-section .hero-info-link-icon > img, body.rb-app .rb-more-links-section .instagram-quick-tag-icon > img { position: relative !important; z-index: 2 !important; }
body.rb-app .rb-more-links-section .hero-info-link-icon > svg { width: 20px !important; height: 20px !important; color: rgb(40, 90, 167) !important; stroke: currentcolor !important; }
body.rb-app .rb-more-links-section .rb-more-action-icon::before, body.rb-app .rb-more-links-section .hero-info-link-contact .hero-info-link-icon::before { background: linear-gradient(145deg, rgb(39, 189, 242), rgb(15, 115, 197)) !important; box-shadow: rgba(255, 255, 255, 0.34) 0px 1px inset !important; }
body.rb-app .rb-more-links-section .rb-more-action-icon > svg, body.rb-app .rb-more-links-section .hero-info-link-contact .hero-info-link-icon > svg { color: rgb(255, 255, 255) !important; stroke: currentcolor !important; }
body.rb-app .rb-more-links-section .hero-info-link-book-truck .rb-book-truck-mark { width: 20px !important; height: 20px !important; color: rgb(255, 255, 255) !important; }
body.rb-app .rb-more-links-section .hero-info-link-book-truck .rb-book-truck-mark [fill]:not([fill="none"]) { fill: currentcolor !important; }
body.rb-app .rb-more-links-section .hero-info-link-book-truck .rb-book-truck-mark [fill="none"] { fill: none !important; }
body.rb-app .rb-more-links-section .hero-info-link-book-truck .rb-book-truck-mark [stroke] { stroke: currentcolor !important; }
body.rb-app .rb-more-links-section .hero-info-link-website .hero-info-link-icon > img { width: 29px !important; height: 29px !important; object-fit: contain !important; }
body.rb-app .rb-more-links-section .hero-info-link-photos .hero-info-link-icon > img, body.rb-app .rb-more-links-section .hero-info-link-instagram .hero-info-link-icon > img, body.rb-app .rb-more-links-section .instagram-quick-tag-icon > img { width: 24px !important; height: 24px !important; }
body.rb-app .rb-more-links-section .hero-info-link-facebook .hero-info-link-icon > img { width: 18px !important; height: 22px !important; }
body.rb-app .rb-more-links-section .hero-info-link-shop .hero-info-link-icon > img { width: 22px !important; height: 22px !important; }
body.rb-app .rb-more-links-section .rb-more-link-copy { display: grid; gap: 1px; min-width: 0px; }
body.rb-app .rb-more-links-section .rb-more-link-copy strong, body.rb-app .rb-more-links-section .rb-more-link-copy small { min-width: 0px; overflow-wrap: anywhere; }
body.rb-app .rb-more-links-section .rb-more-link-copy strong { color: var(--rb-app-card-text); font-size: 13px; line-height: 15px; }
body.rb-app .rb-more-links-section .rb-more-link-copy small { color: var(--rb-app-card-muted); font-size: 11px; font-weight: 750; line-height: 14px; }
body.rb-app .rb-more-links-section .rb-more-title-heart { display: inline-block; margin-inline-start: 2px; color: rgb(227, 38, 54); font-size: 0.82em; line-height: 1; text-shadow: rgba(90, 0, 8, 0.2) 0px 1px 1px; }
body.rb-app .rb-more-directions-section #rbMapPickerSlot, body.rb-app .rb-more-directions-section #rbMapPickerButton { width: 100% !important; margin: 0px !important; }
body.rb-app .rb-more-settings-section #heroInfoLocationTools, body.rb-app .rb-more-settings-section .install-footer { width: 100% !important; margin: 0px !important; border: 1px solid rgba(120, 158, 211, 0.34) !important; border-radius: var(--rb-app-radius-card) !important; background: linear-gradient(rgba(42, 73, 154, 0.98), rgba(42, 73, 154, 0.98)) !important; box-shadow: var(--rb-app-shadow-card) !important; }
body.rb-app .rb-more-settings-section #heroInfoLocationTools { display: grid !important; gap: 0px !important; margin-top: 10px !important; padding: 8px 14px !important; }
body.rb-app .rb-more-settings-section .hero-animation-toggle { min-height: 64px !important; border-width: 0px 0px 1px !important; border-style: none none solid !important; border-color: currentcolor currentcolor rgba(255, 255, 255, 0.1) !important; border-image: none !important; border-radius: 0px !important; background: transparent !important; color: rgb(255, 255, 255) !important; box-shadow: none !important; }
body.rb-app .rb-haptics-settings { display: grid; min-width: 0px; border-bottom: 1px solid rgba(255, 255, 255, 0.1); }
body.rb-app .rb-haptics-settings .rb-haptics-toggle { border-bottom: 0px !important; }
body.rb-app .rb-haptic-intensity-setting { display: grid; grid-template-columns: auto minmax(0px, 1fr); min-width: 0px; padding: 7px 0px 11px; align-items: center; gap: 10px; }
body.rb-app .rb-haptic-intensity-label { color: var(--rb-app-panel-muted); font-size: 11px; font-weight: 850; line-height: 14px; }
body.rb-app .rb-haptic-intensity-control { display: grid; grid-template-columns: repeat(4, minmax(0px, 1fr)); min-width: 0px; padding: 3px; gap: 2px; border: 1px solid rgba(255, 255, 255, 0.13); border-radius: 12px; background: rgba(0, 0, 0, 0.16); box-shadow: rgba(0, 0, 0, 0.14) 0px 1px 2px inset, rgba(255, 255, 255, 0.05) 0px 1px inset; }
body.rb-app .rb-haptic-intensity-control > button { min-width: 0px; min-height: 44px; margin: 0px; padding: 5px 4px; border: 0px; border-radius: 9px; background: transparent; color: var(--rb-app-panel-muted); font-style: inherit; font-variant: inherit; font-stretch: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-language-override: inherit; font-size: 10px; font-weight: 850; line-height: 13px; text-align: center; cursor: pointer; }
body.rb-app .rb-haptic-intensity-control > button[aria-checked="true"] { background: linear-gradient(
      180deg,
      #ffffff2e,
      #ffffff0f),
    rgba(var(--rb-app-theme-rgb), .28); color: var(--rb-app-panel-text); box-shadow: rgba(0, 0, 0, 0.2) 0px 2px 7px, rgba(255, 255, 255, 0.16) 0px 1px inset; }
body.rb-app .rb-haptic-intensity-control > button:focus-visible { outline: 3px solid var(--rb-app-sub-blue); outline-offset: 2px; }
body.rb-app .rb-haptic-intensity-example { grid-column: 2; color: var(--rb-app-panel-muted); font-size: 10px; font-weight: 750; line-height: 13px; }
@media (max-width: 360px) {
  body.rb-app .rb-haptic-intensity-setting { grid-template-columns: minmax(0px, 1fr); gap: 6px; }
  body.rb-app .rb-haptic-intensity-control { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
  body.rb-app .rb-haptic-intensity-example { grid-column: 1; }
}
body.rb-app .rb-more-settings-section .install-footer { display: grid !important; grid-template-columns: minmax(0px, 1fr) !important; gap: 8px !important; margin-top: 10px !important; padding: 10px !important; }
body.rb-app .rb-more-settings-section .install-app-btn { min-height: 68px !important; border-radius: var(--rb-app-radius-button) !important; }
body.rb-app .rb-more-settings-section .install-home-btn { grid-template-columns: 42px minmax(0px, 1fr) 58px !important; min-height: 88px !important; gap: 12px !important; }
body.rb-app .rb-more-settings-section .install-copy { min-width: 0px !important; padding-right: 0px !important; text-align: left !important; }
body.rb-app .rb-more-settings-section .install-copy strong, body.rb-app .rb-more-settings-section .install-copy small { text-wrap-style: pretty; max-width: none !important; overflow-wrap: normal !important; word-break: normal !important; white-space: normal !important; }
body.rb-app .rb-more-settings-section .install-phone-visual { position: relative !important; right: auto !important; bottom: auto !important; width: 52px !important; height: 72px !important; }
@media (min-width: 560px) {
  body.rb-app .rb-haptics-settings { grid-template-columns: minmax(172px, 0.8fr) minmax(260px, 1.2fr); align-items: center; }
  body.rb-app .rb-haptics-settings .rb-haptics-toggle { border-right: 1px solid rgba(255, 255, 255, 0.1) !important; }
  body.rb-app .rb-haptic-intensity-setting { padding: 8px 0px 8px 12px; }
}
@media (orientation: landscape) and (min-width: 760px) and (min-height: 500px) {
  body.rb-app[data-app-destination="more"] .app-shell { padding-right: max(18px, var(--rb-app-safe-right)); padding-left: max(18px, var(--rb-app-safe-left)); width: min(100%, 1120px) !important; max-width: 1120px !important; }
  body.rb-app .rb-app-screen-more > .rb-app-screen-scroll > .rb-screen-header { grid-area: header; margin-right: 2px; margin-left: 2px; }
  body.rb-app .rb-app-screen-more > .rb-app-screen-scroll { display: grid; grid-template-columns: minmax(0px, 0.9fr) minmax(0px, 1.1fr); grid-template-areas: "header header" "links settings"; padding: 0 2px calc(var(--rb-app-bottom-clearance) + 18px); align-content: start; align-items: start; gap: 14px 16px; overscroll-behavior-y: contain; touch-action: pan-y; overflow-y: auto !important; }
  body.rb-app .rb-app-screen-more .rb-more-section { min-width: 0px; margin: 0px; align-self: start; }
  body.rb-app .rb-app-screen-more .rb-more-links-section { grid-area: links; }
  body.rb-app .rb-app-screen-more .rb-more-settings-section { grid-area: settings; }
  body.rb-app .rb-app-screen-more .rb-more-settings-section #heroInfoLocationTools { grid-template-columns: repeat(2, minmax(0px, 1fr)); padding: 10px !important; gap: 8px !important; }
  body.rb-app .rb-app-screen-more .rb-more-settings-section #heroInfoLocationTools > :is(button, .rb-haptics-settings) { min-width: 0px; min-height: 64px !important; border: 1px solid var(--rb-app-panel-border) !important; border-radius: 14px !important; background: linear-gradient(
        180deg,
        #fff1,
        #ffffff04),
      var(--rb-app-action-surface) !important; box-shadow: rgba(255, 255, 255, 0.07) 0px 1px inset !important; }
  body.rb-app .rb-app-screen-more .rb-more-settings-section .rb-haptics-settings, body.rb-app .rb-app-screen-more .rb-more-settings-section #shareTrackerBtn, body.rb-app .rb-app-screen-more .rb-more-settings-section #heroInfoLocationStatus { grid-column: 1 / -1; }
  body.rb-app .rb-app-screen-more .rb-more-settings-section .rb-haptics-settings { grid-template-columns: minmax(0px, 0.82fr) minmax(0px, 1.18fr); padding-right: 12px; }
  body.rb-app .rb-app-screen-more .rb-more-settings-section .install-footer { margin-top: 10px !important; }
}
body.rb-app .modal { z-index: 1200 !important; }
body.rb-app #donateModal.modal { inset: 0px !important; width: auto !important; height: auto !important; place-items: center !important; }
body.rb-app .modal-backdrop, body.rb-app .hero-utility-backdrop { backdrop-filter: blur(5px); background: rgba(2, 10, 18, 0.72) !important; }
body.rb-app .hero-info-panel { z-index: 5100 !important; }
body.rb-app .hero-menu-panel { --rb-menu-sheet-max-height: calc(100dvh - var(--rb-app-safe-top) - var(--rb-app-safe-bottom) - 16px); --rb-menu-sheet-collapsed-height: min(68dvh, 650px, var(--rb-menu-sheet-max-height)); --rb-menu-sheet-expanded-height: var(--rb-menu-sheet-max-height); --rb-menu-sheet-height: var(--rb-menu-sheet-collapsed-height); --rb-menu-sheet-offset-y: 0px; --rb-menu-sheet-opacity: 1; overflow-anchor: none; overscroll-behavior: contain; position: fixed !important; inset: auto 8px max(8px, var(--rb-app-safe-bottom)) !important; width: min(100% - 16px, 610px) !important; max-width: 610px !important; height: var(--rb-menu-sheet-height) !important; min-height: min(360px, var(--rb-menu-sheet-max-height)) !important; max-height: var(--rb-menu-sheet-expanded-height) !important; margin: auto !important; padding: 18px 14px calc(18px + var(--rb-app-safe-bottom)) !important; overflow-y: auto !important; border: 1px solid rgba(120, 158, 211, 0.42) !important; border-radius: 28px 28px 20px 20px !important; background: var(--rb-app-canvas-dark) !important; color: rgb(255, 255, 255) !important; box-shadow: rgba(0, 0, 0, 0.48) 0px -14px 50px !important; transition: height var(--rb-menu-sheet-settle-duration, .3s) cubic-bezier(.22, 1, .36, 1),
    translate var(--rb-menu-sheet-settle-duration, .3s) cubic-bezier(.22, 1, .36, 1),
    opacity var(--rb-menu-sheet-dismiss-duration, .24s) ease-out !important; }
body.rb-app #heroMenuPanel.hero-menu-panel[role="dialog"] { translate: 0px; scale: 1; top: auto !important; right: 8px !important; bottom: max(8px, var(--rb-app-safe-bottom)) !important; left: 8px !important; box-sizing: border-box !important; transform: none !important; }
body.rb-app .hero-menu-panel.rb-menu-sheet-expanded { --rb-menu-sheet-height: var(--rb-menu-sheet-expanded-height); }
body.rb-app .hero-menu-panel.rb-menu-sheet-dragging { user-select: none; cursor: grabbing; will-change: height, translate, opacity; transition: none !important; max-height: calc(var(--rb-menu-sheet-expanded-height) + 12px) !important; }
.rb-menu-sheet-handle { position: sticky; z-index: 6; top: 0px; display: grid; width: 96px; height: 44px; min-height: 44px; flex: 0 0 44px; margin: -12px auto -10px; padding: 0px; place-items: center; border: 0px; background: transparent; cursor: ns-resize; touch-action: none; }
.rb-menu-sheet-handle span { display: block; width: 52px; height: 5px; pointer-events: none; border-radius: 999px; background: rgba(255, 255, 255, 0.58); box-shadow: rgba(0, 0, 0, 0.22) 0px 1px; }
.rb-menu-sheet-handle:focus-visible { outline: 3px solid var(--rb-app-sub-blue); outline-offset: -2px; border-radius: 999px; }
html:not(.rb-motion-off) body.rb-app #heroMenuPanel.hero-menu-panel[role="dialog"]:not([hidden]):not(.is-closing):not(.rb-menu-sheet-interacted) { transform: none !important; animation: 0.32s cubic-bezier(0.16, 1, 0.3, 1) 0s 1 normal both running rb-app-menu-sheet-in !important; }
body.rb-app #heroMenuPanel.hero-menu-panel[role="dialog"].rb-menu-sheet-interacted:not(.is-closing) { animation: auto ease 0s 1 normal none running none !important; transform: none !important; translate: 0 var(--rb-menu-sheet-offset-y) !important; opacity: var(--rb-menu-sheet-opacity) !important; }
body.rb-app #heroMenuPanel.hero-menu-panel[role="dialog"].rb-menu-sheet-dismissing.is-closing { pointer-events: none; will-change: translate, opacity; animation: auto ease 0s 1 normal none running none !important; transform: none !important; translate: 0 var(--rb-menu-sheet-offset-y) !important; opacity: var(--rb-menu-sheet-opacity) !important; transition: translate var(--rb-menu-sheet-dismiss-duration, .24s) cubic-bezier(.32, 0, .67, 0), opacity var(--rb-menu-sheet-dismiss-duration, .24s) ease-in !important; }
html:not(.rb-motion-off) body.rb-app #heroMenuPanel.hero-menu-panel[role="dialog"].is-closing:not(.rb-menu-sheet-dismissing) { pointer-events: none; will-change: translate, opacity; transform: none !important; animation: 0.22s cubic-bezier(0.32, 0, 0.67, 0) 0s 1 normal both running rb-app-menu-sheet-out !important; }
html.rb-motion-off body.rb-app #heroMenuPanel.hero-menu-panel[role="dialog"]:not([hidden]) { transform: none !important; animation: auto ease 0s 1 normal none running none !important; transition: none !important; }
@keyframes rb-app-menu-sheet-in {
  0% { opacity: 0; translate: 0px 18px; scale: 0.985; }
  100% { opacity: 1; translate: 0px; scale: 1; }
}
@keyframes rb-app-menu-sheet-out {
  0% { opacity: 1; translate: 0px; scale: 1; }
  100% { opacity: 0; translate: 0px 36px; scale: 0.985; }
}
body.rb-app .hero-menu-panel .hero-panel-title { margin: 2px 58px 14px 4px !important; color: rgb(255, 255, 255) !important; font-family: var(--rb-font-ui) !important; font-size: 30px !important; font-weight: 700 !important; letter-spacing: -0.015em !important; text-align: left !important; }
body.rb-app .hero-menu-panel .hero-panel-close { top: 12px !important; right: 12px !important; width: 48px !important; min-width: 48px !important; height: 48px !important; min-height: 48px !important; border: 1px solid rgba(120, 158, 211, 0.22) !important; border-radius: 50% !important; background: rgb(27, 58, 85) !important; color: rgb(255, 255, 255) !important; box-shadow: none !important; font-size: 28px !important; line-height: 1 !important; }
body.rb-app .hero-menu-panel .hero-panel-close:focus-visible { outline: 3px solid var(--rb-app-sub-blue) !important; outline-offset: 3px !important; }
body.rb-app .hero-menu-panel .hero-menu-section-title { color: var(--rb-app-sub-blue) !important; font-family: var(--rb-font-ui) !important; font-weight: 700 !important; }
body.rb-app .hero-menu-panel .hero-menu-classics { margin: 0px 0px 14px; padding: 14px 14px 13px; border: 1px solid rgba(120, 158, 211, 0.42); border-radius: var(--rb-app-radius-card); background: var(--rb-app-glass-surface); backdrop-filter: var(--rb-app-glass-filter); box-shadow: var(--rb-app-shadow-card); }
body.rb-app .hero-menu-panel .hero-menu-classics-intro { margin: 0px 0px 11px; color: rgba(255, 255, 255, 0.9); font-size: 13px; font-weight: 800; line-height: 18px; text-align: center; }
body.rb-app .hero-menu-panel .hero-menu-classics-grid { display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 7px 8px; margin: 0px; padding: 0px; list-style: none; }
body.rb-app .hero-menu-panel .hero-menu-classics-grid li { display: flex; align-items: center; gap: 8px; min-width: 0px; min-height: 32px; padding: 6px 9px; border: 1px solid rgba(120, 158, 211, 0.16); border-radius: 10px; background: rgba(255, 255, 255, 0.043); color: rgb(255, 255, 255); font-size: 13px; font-weight: 800; line-height: 17px; text-align: left; }
body.rb-app .hero-menu-panel .hero-menu-classics-grid li::before { width: 5px; height: 5px; flex: 0 0 5px; border-radius: 50%; background: var(--rb-app-sub-blue); box-shadow: rgba(34, 184, 242, 0.1) 0px 0px 0px 3px; content: ""; }
body.rb-app #heroMenuPanel .hero-menu-classics .hero-menu-availability-note { width: auto !important; margin: 11px 0px 0px !important; padding: 10px 11px !important; border-top: 1px solid rgba(120, 158, 211, 0.22) !important; border-right: 1px solid rgba(120, 158, 211, 0.22) !important; border-bottom: 1px solid rgba(120, 158, 211, 0.22) !important; border-image: none !important; border-left: 3px solid var(--rb-app-sub-blue) !important; border-radius: 11px !important; color: rgba(255, 255, 255, 0.84) !important; background: rgba(34, 184, 242, 0.075) !important; box-shadow: rgba(255, 255, 255, 0.05) 0px 1px inset !important; font-size: 12px !important; font-weight: 750 !important; line-height: 17px !important; text-align: left !important; text-shadow: none !important; }
body.rb-app .hero-menu-panel .hero-menu-availability-note, body.rb-app .hero-menu-panel .hero-menu-item { border: 1px solid rgba(30, 144, 255, 0.5) !important; border-radius: var(--rb-app-radius-card) !important; background: var(--rb-app-wavy-surface) center / cover !important; color: var(--rb-app-ink) !important; }
body.rb-app .hero-menu-panel .hero-menu-availability-note { padding: 13px 14px !important; font-size: 12px !important; line-height: 17px !important; }
body.rb-app .hero-menu-panel .hero-menu-copy strong, body.rb-app .hero-menu-panel .hero-menu-copy p { color: var(--rb-app-ink) !important; }
body.rb-app .hero-menu-panel .hero-menu-item.is-description-collapsible { position: relative !important; cursor: pointer; }
body.rb-app .hero-menu-panel .hero-menu-description-toggle { position: absolute; z-index: 1; inset: 2px; margin: 0px; padding: 0px; border: 0px; border-radius: calc(var(--rb-app-radius-card) - 2px); background: transparent; color: transparent; font-size: 0px; cursor: pointer; touch-action: pan-y; -webkit-tap-highlight-color: transparent; }
body.rb-app .hero-menu-panel .hero-menu-favorite-button { position: relative !important; z-index: 2 !important; }
body.rb-app .hero-menu-panel .hero-menu-item.is-description-collapsible .hero-menu-copy p { display: none !important; }
body.rb-app .hero-menu-panel .hero-menu-item.is-description-collapsible.is-description-expanded .hero-menu-copy p { display: block !important; }
body.rb-app .hero-menu-panel .hero-menu-item.is-description-collapsible .hero-menu-copy strong::after { content: ""; display: inline-block; width: 7px; height: 7px; margin: 0px 0px 3px 9px; border-right: 2px solid var(--rb-app-main-blue); border-bottom: 2px solid var(--rb-app-main-blue); transform: rotate(45deg); transition: transform var(--rb-app-motion-fast) ease; }
body.rb-app .hero-menu-panel .hero-menu-item.is-description-collapsible.is-description-expanded .hero-menu-copy strong::after { transform: rotate(225deg) translate(-2px, -2px); }
body.rb-app .hero-menu-panel .hero-menu-description-toggle:focus-visible { outline-offset: -3px; outline: 3px solid var(--rb-a11y-blue) !important; }
body.rb-app .hero-menu-panel .hero-menu-diagram { position: relative; grid-column: 1 / -1; width: min(100%, 460px); margin: 9px auto 2px; padding: 3px; box-sizing: border-box; overflow: hidden; border: 1px solid rgba(255, 224, 157, 0.72); border-radius: 20px; background: linear-gradient(145deg, rgba(34, 184, 242, 0.96), rgba(255, 224, 157, 0.96)); box-shadow: rgba(0, 0, 0, 0.24) 0px 15px 30px, rgba(255, 255, 255, 0.38) 0px 0px 0px 1px, rgba(255, 255, 255, 0.64) 0px 1px inset; isolation: isolate; pointer-events: none; display: none !important; }
body.rb-app .hero-menu-panel .hero-menu-item.is-description-expanded .hero-menu-diagram { animation: 0.24s cubic-bezier(0.16, 1, 0.3, 1) 0s 1 normal both running rb-menu-diagram-reveal; display: block !important; }
body.rb-app .hero-menu-panel .hero-menu-diagram img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 16px; user-select: none; }
#bruceBrewPromotion[hidden] { display: none !important; }
body.rb-app .hero-menu-panel .hero-menu-promotion { display: grid; gap: 9px; width: 100%; margin: 0px 0px 16px; }
body.rb-app .hero-menu-panel .hero-menu-promotion > .hero-menu-section-title { display: block; width: 100%; text-transform: uppercase; color: rgb(255, 224, 157) !important; font-size: 0.72rem !important; font-weight: 900 !important; letter-spacing: 0.13em !important; text-align: center !important; text-shadow: rgba(2, 10, 18, 0.48) 0px 1px 8px !important; }
body.rb-app .hero-menu-panel .hero-menu-promotion-item { border: 2px solid rgb(197, 0, 56) !important; background: linear-gradient(135deg, rgba(168, 208, 226, .9), rgba(255, 250, 239, .94)),
    var(--rb-card-bg-image) center / cover !important; box-shadow: rgba(2, 10, 18, 0.24) 0px 14px 28px, rgba(255, 255, 255, 0.56) 0px 0px 0px 1px, rgb(255, 255, 255) 0px 1px inset !important; }
body.rb-app .hero-menu-panel .hero-menu-promotion-item .hero-menu-copy > strong { color: rgb(12, 73, 97) !important; font-size: 1rem !important; }
body.rb-app .hero-menu-panel .hero-menu-promotion-dates { display: inline-flex; width: fit-content; max-width: 100%; margin-top: 2px; padding: 4px 7px; border: 1px solid rgba(197, 0, 56, 0.25); border-radius: 999px; color: rgb(119, 16, 47); background: rgba(255, 250, 240, 0.85); font-size: 0.67rem; font-weight: 800; line-height: 1.2; }
body.rb-app .hero-menu-panel .hero-menu-promotion-poster { overflow: hidden; border: 1px solid rgba(12, 73, 97, 0.24); border-radius: 12px; box-shadow: rgba(8, 40, 59, 0.18) 0px 7px 14px; height: 80px !important; background: rgb(120, 158, 211) !important; }
body.rb-app .hero-menu-panel .hero-menu-promotion-poster img { display: block; width: 100%; height: 100%; aspect-ratio: 3 / 4; object-fit: contain; object-position: center center; }
body.rb-app .hero-menu-panel .hero-menu-promotion-detail { width: min(100%, 420px); padding: 5px; border-color: rgba(197, 0, 56, 0.54); background: linear-gradient(145deg, rgb(120, 158, 211), rgb(255, 243, 211)); }
body.rb-app .hero-menu-panel .hero-menu-promotion-detail img { aspect-ratio: 3 / 4; object-fit: contain; object-position: center center; background: rgb(120, 158, 211); }
@keyframes rb-menu-diagram-reveal {
  0% { opacity: 0; transform: translateY(-8px) scale(0.985); }
  100% { opacity: 1; transform: translateY(0px) scale(1); }
}
html.rb-motion-off body.rb-app .hero-menu-panel .hero-menu-diagram { animation: auto ease 0s 1 normal none running none !important; }
@media (prefers-reduced-motion: reduce) {
  body.rb-app .hero-menu-panel .hero-menu-diagram { animation: auto ease 0s 1 normal none running none !important; }
}
body.rb-app .modal > section { max-height: calc(100dvh - 24px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px)); overflow-y: auto; overscroll-behavior: contain; }
body.rb-app .day-picker-modal, body.rb-app .schedule-calendar-modal, body.rb-app .contact-modal, body.rb-app .install-modal, body.rb-app .developer-donate-modal { border: 1px solid rgba(120, 158, 211, 0.42) !important; border-radius: var(--rb-app-radius-hero) !important; background: linear-gradient(rgba(42, 73, 154, 0.99), rgba(0, 0, 0, 0.99)) !important; color: rgb(255, 255, 255) !important; box-shadow: rgba(0, 0, 0, 0.54) 0px 18px 60px !important; }
body.rb-app .all-map-preview { border: 2px solid var(--rb-app-sub-blue) !important; border-radius: var(--rb-app-radius-card) !important; overflow: hidden !important; }
body.rb-app .modal-close, body.rb-app .hero-panel-close { display: grid !important; width: 48px !important; height: 48px !important; place-items: center !important; border: 1px solid rgba(120, 158, 211, 0.38) !important; border-radius: 16px !important; background: rgba(255, 255, 255, 0.12) !important; color: rgb(255, 255, 255) !important; }
body.rb-app .rb-screen-header, body.rb-app .rb-app-screen-home .hero-card, body.rb-app #heroMenuButton, body.rb-app .rb-app-screen-home .summary-card, body.rb-app .rb-day-chip:not(.active), body.rb-app .rb-stops-summary, body.rb-app .rb-nearby-map-card, body.rb-app .rb-nearby-actions .rb-command-row:not(.rb-command-row-primary), body.rb-app .rb-command-group, body.rb-app .rb-nearby-map-count, body.rb-app .rb-more-settings-section #heroInfoLocationTools, body.rb-app .rb-more-settings-section .install-footer { background: var(--rb-app-glass-surface) !important; backdrop-filter: var(--rb-app-glass-filter) !important; }
body.rb-app .hero-menu-panel, body.rb-app .hero-menu-panel .hero-menu-classics, body.rb-app .day-picker-modal, body.rb-app .schedule-calendar-modal, body.rb-app .contact-modal, body.rb-app .install-modal, body.rb-app .developer-donate-modal { background: var(--rb-app-glass-surface-strong) !important; backdrop-filter: var(--rb-app-glass-filter-strong) !important; }
body.rb-app .about-modal { width: min(-22px + 100vw, 720px) !important; max-height: min(calc(var(--rb-modal-viewport-height, 100dvh) - 22px), 680px) !important; }
body.rb-app .about-modal-copy { display: grid; gap: 14px; text-align: left; }
body.rb-app .about-modal-copy p { margin: 0px; color: rgba(244, 239, 225, 0.88); font-size: 14px; font-weight: 650; line-height: 1.58; }
body.rb-app .about-modal-copy a { color: var(--rb-app-sub-blue); font-weight: 850; text-decoration-thickness: 2px; text-underline-offset: 2px; }
@media (min-width: 720px) {
  body.rb-app .app-shell { padding-right: 18px; padding-left: 18px; }
  body.rb-app .rb-app-screen-stops .results { grid-template-columns: repeat(2, minmax(0px, 1fr)) !important; }
  body.rb-app .rb-app-screen-stops .stop-card { height: 100%; }
}
@media (max-width: 380px) {
  :root { --rb-app-nav-height: 70px; }
  body.rb-app .app-shell { padding-right: 8px; padding-left: 8px; }
  body.rb-app .rb-app-screen-home .hero-card { grid-template-columns: minmax(106px, 0.84fr) minmax(0px, 1.32fr); }
  .rb-bottom-nav { width: calc(100% - 12px); }
  .rb-bottom-nav-item { font-size: 9px; }
  .rb-nav-medallion { width: 28px; height: 28px; flex-basis: 28px; }
  body.rb-app #allMapBtn { gap: 7px !important; padding-right: 8px !important; padding-left: 8px !important; }
  body.rb-app #allMapBtn > span:nth-child(2) { width: auto !important; flex: 0 1 auto !important; }
  body.rb-app #allMapBtn strong { width: 100% !important; }
  body.rb-app #heroMenuButton { gap: 8px !important; padding-inline: 9px !important; }
  body.rb-app #allMapBtn .btn-spark.rb-action-pin-cluster { width: 34px !important; min-width: 34px !important; height: 32px !important; }
  body.rb-app #allMapBtn .btn-spark.rb-action-pin-cluster img { width: 17px !important; height: 24px !important; }
  body.rb-app #allMapBtn .btn-spark.rb-action-pin-cluster img:nth-child(1) { left: 0px !important; top: 7px !important; }
  body.rb-app #allMapBtn .btn-spark.rb-action-pin-cluster img:nth-child(2) { left: 8px !important; top: 0px !important; }
  body.rb-app #allMapBtn .btn-spark.rb-action-pin-cluster img:nth-child(3) { left: 16px !important; top: 7px !important; }
  body.rb-app .hero-lockup { gap: 5px; font-size: 0.78rem !important; }
  body.rb-app .hero-brand-logo { width: min(52.02vw, 193px) !important; }
  .rb-nearby-actions { grid-template-columns: 1fr; }
  .rb-screen-header { grid-template-columns: 58px minmax(0px, 1fr); padding: 12px; }
  .rb-screen-header-icon, .rb-screen-header > .rb-header-pin-cluster { width: 50px; height: 50px; }
}
@media (max-width: 520px) {
  :root { --rb-app-nav-bottom-gap: max(3px, calc(var(--rb-app-safe-bottom) - 11px)); --rb-app-glass-surface: linear-gradient(

        180deg,
        rgba(255, 255, 255, .075),
        rgba(255, 255, 255, 0) 38%),
      linear-gradient(

        155deg,
        rgba(42, 73, 154, .92),
        rgba(0, 0, 0, .86)); --rb-app-glass-surface-strong: linear-gradient(

        180deg,
        rgba(255, 255, 255, .08),
        rgba(255, 255, 255, 0) 36%),
      linear-gradient(

        155deg,
        rgba(42, 73, 154, .94),
        rgba(0, 0, 0, .89)); }
  body.rb-app .app-shell { padding-right: max(4px, var(--rb-app-safe-right)); padding-left: max(4px, var(--rb-app-safe-left)); }
  body.rb-app .rb-app-screen-home { padding-top: max(8px, calc(var(--rb-app-safe-top) - 4px)); scroll-padding-top: max(8px, calc(var(--rb-app-safe-top) - 4px)); }
  body.rb-app .hero-card .inline-brand-logo.hero-brand-logo { width: min(250.155px, 76.5%) !important; max-width: min(250.155px, 76.5%) !important; }
  body.rb-app .rb-app-screen-home .hero-card { margin-bottom: 8px !important; }
  body.rb-app .rb-app-screen-home .summary-grid { gap: 8px !important; margin-bottom: 10px !important; }
  body.rb-app .rb-app-screen-home .summary-schedule, body.rb-app .rb-app-screen-home .summary-stops { min-height: 104px !important; padding: 8px 8px 34px !important; gap: 3px !important; }
  body.rb-app .rb-app-screen-home .schedule-picker-hint, body.rb-app .rb-app-screen-home .rb-summary-action { right: 7px !important; bottom: 6px !important; left: 7px !important; }
  body.rb-app .rb-app-screen-home .summary-card .mini-label, body.rb-app .rb-app-screen-home .summary-card h2, body.rb-app .rb-app-screen-home .summary-date { margin: 0px !important; }
  body.rb-app .rb-app-screen-home .rb-home-featured { margin-top: 0px; }
  body.rb-app .rb-app-screen-home .rb-home-featured > .rb-section-title { padding-bottom: 6px; }
  body.rb-app .rb-app-screen-home, body.rb-app .rb-app-screen-scroll { padding-right: var(--rb-app-mobile-content-inline-inset); padding-left: var(--rb-app-mobile-content-inline-inset); }
  body.rb-app .rb-app-screen-home { border-radius: 0px; clip-path: none; }
  body.rb-app .rb-more-links-section .hero-info-link-hiring, body.rb-app .rb-more-links-section .hero-info-link-franchise, body.rb-app .rb-more-links-section .instagram-quick-tag-button { min-height: 60px !important; padding-inline: 7px !important; column-gap: 5px !important; }
  body.rb-app .rb-more-links-section .hero-info-link-hiring .rb-more-link-copy strong, body.rb-app .rb-more-links-section .hero-info-link-franchise .rb-more-link-copy strong { overflow-wrap: anywhere; word-break: normal; text-wrap: balance; line-height: 16px; }
  body.rb-app .rb-more-links-section .instagram-quick-tag-copy strong { text-wrap: balance; line-height: 16px !important; }
  body.rb-app .rb-more-links-section .instagram-quick-tag-state { min-width: 32px !important; }
  .rb-bottom-nav { width: calc(100% - 12px); background-image: ; background-position-x: ; background-position-y: ; background-size: ; background-repeat: ; background-attachment: ; background-origin: ; background-color: ; background-clip: padding-box; }
  @supports (-webkit-touch-callout: none) {
  body.rb-app .rb-screen-header, body.rb-app .rb-app-screen-home .hero-card, body.rb-app #heroMenuButton, body.rb-app .rb-app-screen-home .summary-card, body.rb-app .rb-day-chip:not(.active), body.rb-app .rb-stops-summary, body.rb-app .rb-nearby-map-card, body.rb-app .rb-nearby-actions .rb-command-row:not(.rb-command-row-primary), body.rb-app .rb-command-group, body.rb-app .rb-nearby-map-count, body.rb-app .rb-more-settings-section #heroInfoLocationTools, body.rb-app .rb-more-settings-section .install-footer, body.rb-app .hero-menu-panel, body.rb-app .hero-menu-panel .hero-menu-classics, body.rb-app .day-picker-modal, body.rb-app .schedule-calendar-modal, body.rb-app .contact-modal, body.rb-app .install-modal, body.rb-app .developer-donate-modal, body.rb-app .rb-bottom-nav { backdrop-filter: none !important; }
}
}
@media (orientation: landscape) and (max-height: 560px) {
  :root { --rb-app-nav-height: 64px; }
  body.rb-app .rb-stops-schedule-header { display: grid; grid-template-columns: minmax(0px, 1fr); align-items: stretch; }
  body.rb-app .rb-stops-schedule-artwork-stage { min-width: 0px; }
  body.rb-app .rb-stops-schedule-guidance { align-content: center; align-self: stretch; border-left: 0px; }
  .rb-bottom-nav { height: 64px; }
  .rb-bottom-nav-item { min-height: 54px; padding-top: 3px; }
  .rb-nav-medallion { width: 30px; height: 30px; flex-basis: 30px; }
  body.rb-app .hero-card .inline-brand-logo.hero-brand-logo { width: min(27.965vw, 147.05px) !important; max-width: min(27.965vw, 147.05px) !important; }
  html.rb-apple-mobile:not(.rb-ipad) { --rb-app-nav-height: 56px; --rb-app-nav-bottom-gap: max(2px, calc(var(--rb-app-safe-bottom) - 8px)); --rb-app-bottom-clearance: calc(var(--rb-app-nav-height) + var(--rb-app-nav-bottom-gap)); }
  html.rb-apple-mobile:not(.rb-ipad) body.rb-app .app-shell { padding-right: max(6px, var(--rb-app-safe-right)); padding-left: max(6px, var(--rb-app-safe-left)); }
  html.rb-apple-mobile:not(.rb-ipad) body.rb-app .rb-app-screen-home { padding-top: max(6px, var(--rb-app-safe-top)); scroll-padding-top: max(6px, var(--rb-app-safe-top)); }
  html.rb-apple-mobile:not(.rb-ipad) body.rb-app .rb-app-screen-scroll { padding-top: 0px; padding-bottom: calc(var(--rb-app-bottom-clearance) + 8px); }
  html.rb-apple-mobile:not(.rb-ipad) .rb-bottom-nav { height: 56px; padding: 4px; }
  html.rb-apple-mobile:not(.rb-ipad) .rb-bottom-nav-selector { top: 4px; bottom: 4px; left: 4px; width: calc(20% - 1.6px); border-radius: 16px; }
  html.rb-apple-mobile:not(.rb-ipad) .rb-bottom-nav-item { min-height: 46px; padding: 2px 2px 1px; gap: 0px; border-radius: 15px; font-size: 9px; line-height: 10px; }
  html.rb-apple-mobile:not(.rb-ipad) .rb-bottom-nav-label { line-height: 10px; transform: translateY(1px); }
  html.rb-apple-mobile:not(.rb-ipad) .rb-nav-medallion { width: 26px; height: 26px; flex-basis: 26px; }
  html.rb-apple-mobile:not(.rb-ipad) body.rb-app :is(.rb-app-screen-nearby, .rb-app-screen-saved, .rb-app-screen-more) > .rb-app-screen-scroll > .rb-screen-header { grid-template-columns: 44px minmax(0px, 1fr); gap: 8px; padding: 6px 10px; }
  html.rb-apple-mobile:not(.rb-ipad) body.rb-app :is(.rb-app-screen-nearby, .rb-app-screen-saved, .rb-app-screen-more) > .rb-app-screen-scroll > .rb-screen-header > :is(.rb-screen-header-icon, .rb-header-pin-cluster) { width: 40px; height: 40px; }
  html.rb-apple-mobile:not(.rb-ipad) body.rb-app :is(.rb-app-screen-nearby, .rb-app-screen-saved, .rb-app-screen-more) > .rb-app-screen-scroll > .rb-screen-header .rb-screen-header-icon svg { width: 23px; height: 23px; }
  html.rb-apple-mobile:not(.rb-ipad) body.rb-app .rb-app-screen-nearby > .rb-app-screen-scroll > .rb-screen-header > .rb-header-pin-cluster img { width: 19px; height: 25px; }
  html.rb-apple-mobile:not(.rb-ipad) body.rb-app .rb-app-screen-nearby > .rb-app-screen-scroll > .rb-screen-header > .rb-header-pin-cluster img:nth-child(1) { left: 0px; top: 12px; }
  html.rb-apple-mobile:not(.rb-ipad) body.rb-app .rb-app-screen-nearby > .rb-app-screen-scroll > .rb-screen-header > .rb-header-pin-cluster img:nth-child(2) { left: 10px; top: 1px; }
  html.rb-apple-mobile:not(.rb-ipad) body.rb-app .rb-app-screen-nearby > .rb-app-screen-scroll > .rb-screen-header > .rb-header-pin-cluster img:nth-child(3) { right: 0px; top: 12px; }
  html.rb-apple-mobile:not(.rb-ipad) body.rb-app :is(.rb-app-screen-nearby, .rb-app-screen-saved, .rb-app-screen-more) > .rb-app-screen-scroll > .rb-screen-header .rb-screen-kicker { font-size: 9px; line-height: 10px; }
  html.rb-apple-mobile:not(.rb-ipad) body.rb-app :is(.rb-app-screen-nearby, .rb-app-screen-saved, .rb-app-screen-more) > .rb-app-screen-scroll > .rb-screen-header h1 { margin: 0px; font-size: 25px; line-height: 26px; }
  html.rb-apple-mobile:not(.rb-ipad) body.rb-app :is(.rb-app-screen-nearby, .rb-app-screen-saved, .rb-app-screen-more) > .rb-app-screen-scroll > .rb-screen-header .rb-screen-description { font-size: 10px; line-height: 12px; }
  html.rb-apple-mobile:not(.rb-ipad) body.rb-app .rb-app-screen-home .hero-card { grid-template-columns: 108px minmax(0px, 1fr) minmax(0px, 1.18fr); align-items: center; gap: 4px 7px; margin-bottom: 7px !important; padding: 5px 9px 6px !important; }
  html.rb-apple-mobile:not(.rb-ipad) body.rb-app .hero-card .inline-brand-logo.hero-brand-logo { grid-row: 1 / 5; align-self: center; grid-column: 1 !important; width: min(28vw, 108px) !important; max-width: min(28vw, 108px) !important; margin-top: 0px !important; }
  html.rb-apple-mobile:not(.rb-ipad) body.rb-app .hero-brand-logo .inline-brand-mark { border-radius: 14px !important; }
  html.rb-apple-mobile:not(.rb-ipad) body.rb-app .hero-award-badge { top: 3px !important; right: 4px !important; width: 38px !important; height: 38px !important; }
  html.rb-apple-mobile:not(.rb-ipad) body.rb-app .hero-lockup { grid-row: 1; gap: 5px; grid-column: 2 / -1 !important; font-size: 11px !important; }
  html.rb-apple-mobile:not(.rb-ipad) body.rb-app #locateBtn { grid-row: 2; grid-column: 2 / -1 !important; grid-template-columns: 32px minmax(0px, 1fr) 16px !important; min-height: 48px !important; padding: 5px 10px !important; gap: 8px !important; border-radius: 14px !important; }
  html.rb-apple-mobile:not(.rb-ipad) body.rb-app #locateBtn .btn-spark { width: 32px !important; height: 32px !important; }
  html.rb-apple-mobile:not(.rb-ipad) body.rb-app #locateBtn strong, html.rb-apple-mobile:not(.rb-ipad) body.rb-app #locateBtn > span:nth-child(2) { font-size: 13px !important; line-height: 14px !important; }
  html.rb-apple-mobile:not(.rb-ipad) body.rb-app #locateBtn small { margin-top: 1px !important; font-size: 9px !important; line-height: 11px !important; }
  html.rb-apple-mobile:not(.rb-ipad) body.rb-app #locateBtn .btn-chevron { font-size: 20px !important; }
  html.rb-apple-mobile:not(.rb-ipad) body.rb-app :is(#heroMenuButton, #allMapBtn) { grid-row: 3; min-height: 44px !important; border-radius: 14px !important; }
  html.rb-apple-mobile:not(.rb-ipad) body.rb-app #heroMenuButton { grid-column: 2 !important; }
  html.rb-apple-mobile:not(.rb-ipad) body.rb-app #allMapBtn { grid-column: 3 !important; }
  html.rb-apple-mobile:not(.rb-ipad) body.rb-app #heroMenuButton .hero-pill-icon { width: 29px !important; height: 29px !important; }
  html.rb-apple-mobile:not(.rb-ipad) body.rb-app :is(#heroMenuButton .hero-pill-label, #allMapBtn strong) { font-size: 13px !important; }
  html.rb-apple-mobile:not(.rb-ipad) body.rb-app #allMapBtn .btn-spark.rb-action-pin-cluster { width: 38px !important; min-width: 38px !important; height: 32px !important; }
  html.rb-apple-mobile:not(.rb-ipad) body.rb-app #allMapBtn .btn-spark.rb-action-pin-cluster img { width: 18px !important; height: 25px !important; }
  html.rb-apple-mobile:not(.rb-ipad) body.rb-app #allMapBtn .btn-spark.rb-action-pin-cluster img:nth-child(1) { top: 7px !important; }
  html.rb-apple-mobile:not(.rb-ipad) body.rb-app #allMapBtn .btn-spark.rb-action-pin-cluster img:nth-child(2) { left: 10px !important; }
  html.rb-apple-mobile:not(.rb-ipad) body.rb-app #allMapBtn .btn-spark.rb-action-pin-cluster img:nth-child(3) { left: 20px !important; top: 7px !important; }
  html.rb-apple-mobile:not(.rb-ipad) body.rb-app #statusText { grid-row: 4; padding-top: 0px; font-size: 9px; line-height: 11px; grid-column: 2 / -1 !important; }
  html.rb-apple-mobile:not(.rb-ipad) body.rb-app .rb-app-screen-home .summary-grid { gap: 7px !important; margin-bottom: 8px !important; }
  html.rb-apple-mobile:not(.rb-ipad) body.rb-app .rb-app-screen-home .summary-card { min-height: 88px !important; padding: 8px 8px 31px !important; }
  html.rb-apple-mobile:not(.rb-ipad) body.rb-app .rb-app-screen-home .summary-card h2 { margin-top: 1px !important; font-size: 18px !important; }
  html.rb-apple-mobile:not(.rb-ipad) body.rb-app .rb-app-screen-home .summary-date { font-size: 10px !important; }
  html.rb-apple-mobile:not(.rb-ipad) body.rb-app .rb-stops-schedule-header { margin-bottom: 6px; }
  html.rb-apple-mobile:not(.rb-ipad) body.rb-app .rb-stops-schedule-artwork-stage { min-height: 0px; padding: 0px; }
  html.rb-apple-mobile:not(.rb-ipad) body.rb-app .rb-stops-schedule-header img { width: 100%; margin-inline: auto; }
  html.rb-apple-mobile:not(.rb-ipad) body.rb-app .rb-stops-schedule-header p { padding: 4px 8px 6px; font-size: 11px; line-height: 14px; }
  html.rb-apple-mobile:not(.rb-ipad) body.rb-app .rb-schedule-day-strip { gap: 6px; padding-top: 3px; }
  html.rb-apple-mobile:not(.rb-ipad) body.rb-app .rb-day-chip { min-height: 44px; padding: 5px 12px; }
  html.rb-apple-mobile:not(.rb-ipad) body.rb-app .rb-day-chip strong { font-size: 12px; line-height: 14px; }
  html.rb-apple-mobile:not(.rb-ipad) body.rb-app .rb-day-chip small { font-size: 9px; line-height: 11px; }
  html.rb-apple-mobile:not(.rb-ipad) body.rb-app .rb-stops-summary { min-height: 56px; margin: 8px 0px; padding: 8px 12px; }
  html.rb-apple-mobile:not(.rb-ipad) body.rb-app .rb-stops-summary strong { font-size: 16px; line-height: 19px; }
  html.rb-apple-mobile:not(.rb-ipad) body.rb-app .rb-stops-summary-count { padding: 8px 11px; font-size: 11px; }
  html.rb-apple-mobile:not(.rb-ipad) body.rb-app .rb-nearby-map-card { height: clamp(180px, -170px + 100dvh, 220px); margin-bottom: 8px; }
  html.rb-apple-mobile:not(.rb-ipad) body.rb-app .rb-saved-content { gap: 8px; }
  html.rb-apple-mobile:not(.rb-ipad) body.rb-app .rb-saved-content .saved-stop-notification-controls { padding-inline: 10px !important; }
  html.rb-apple-mobile:not(.rb-ipad) body.rb-app .rb-saved-content .hero-animation-toggle-copy strong { font-size: 12px !important; line-height: 14px !important; }
  html.rb-apple-mobile:not(.rb-ipad) body.rb-app .rb-saved-content .hero-animation-toggle-copy small { font-size: 9px !important; line-height: 11px !important; }
  html.rb-apple-mobile:not(.rb-ipad) body.rb-app .rb-more-section { margin-bottom: 10px; }
  html.rb-apple-mobile:not(.rb-ipad) body.rb-app .rb-section-title { padding: 1px 0px 5px; font-size: 12px; line-height: 15px; }
  html.rb-apple-mobile:not(.rb-ipad) body.rb-app .rb-more-links-section .hero-info-links { gap: 5px !important; }
  html.rb-apple-mobile:not(.rb-ipad) body.rb-app .rb-more-links-section .rb-more-link-groups { gap: 9px; }
  html.rb-apple-mobile:not(.rb-ipad) body.rb-app .rb-more-links-section .rb-more-link-group { gap: 4px; }
  html.rb-apple-mobile:not(.rb-ipad) body.rb-app .rb-more-links-section .rb-more-link-group-title { font-size: 9px; line-height: 11px; }
  html.rb-apple-mobile:not(.rb-ipad) body.rb-app .rb-more-links-section :is(.hero-info-link, .instagram-quick-tag-button) { grid-template-columns: 32px minmax(0px, 1fr) 12px !important; min-height: 52px !important; padding: 6px 8px !important; gap: 6px !important; }
  html.rb-apple-mobile:not(.rb-ipad) body.rb-app .rb-more-links-section .instagram-quick-tag-button { grid-template-columns: 32px minmax(0px, 1fr) auto !important; }
  html.rb-apple-mobile:not(.rb-ipad) body.rb-app .rb-more-links-section :is(.hero-info-link-icon, .instagram-quick-tag-icon) { width: 32px !important; height: 32px !important; }
  html.rb-apple-mobile:not(.rb-ipad) body.rb-app .rb-more-links-section .hero-info-link-icon::before, html.rb-apple-mobile:not(.rb-ipad) body.rb-app .rb-more-links-section .instagram-quick-tag-icon::before { inset: 5px !important; }
  html.rb-apple-mobile:not(.rb-ipad) body.rb-app .rb-more-links-section .hero-info-link-icon::after, html.rb-apple-mobile:not(.rb-ipad) body.rb-app .rb-more-links-section .instagram-quick-tag-icon::after { inset: -3px !important; }
  html.rb-apple-mobile:not(.rb-ipad) body.rb-app .rb-more-links-section .hero-info-link:not(.instagram-quick-tag-button) > span:last-of-type { font-size: 12px !important; line-height: 14px !important; }
  html.rb-apple-mobile:not(.rb-ipad) body.rb-app .rb-more-links-section .rb-more-link-copy strong { font-size: 11px; line-height: 13px; }
  html.rb-apple-mobile:not(.rb-ipad) body.rb-app .rb-more-links-section .instagram-quick-tag-copy small { font-size: 9px !important; line-height: 11px !important; }
  html.rb-apple-mobile:not(.rb-ipad) body.rb-app .hero-menu-panel { --rb-menu-sheet-collapsed-height: min(74dvh, var(--rb-menu-sheet-max-height)); min-height: min(250px, var(--rb-menu-sheet-max-height)) !important; padding: 12px 10px calc(12px + var(--rb-app-safe-bottom)) !important; }
  html.rb-apple-mobile:not(.rb-ipad) body.rb-app .hero-menu-panel .hero-panel-title { margin: 0px 52px 8px 2px !important; font-size: 22px !important; }
  html.rb-apple-mobile:not(.rb-ipad) body.rb-app .hero-menu-panel .hero-panel-close { top: 7px !important; right: 8px !important; width: 44px !important; min-width: 44px !important; height: 44px !important; min-height: 44px !important; }
  html.rb-apple-mobile:not(.rb-ipad) body.rb-app .day-picker-modal { max-height: calc(100dvh - 40px - var(--rb-app-safe-top) - var(--rb-app-safe-bottom)) !important; }
}
@media (orientation: landscape) and (max-height: 380px) {
  html.rb-apple-mobile:not(.rb-ipad) body.rb-app .hero-card .inline-brand-logo.hero-brand-logo { width: min(25vw, 92px) !important; max-width: min(25vw, 92px) !important; }
}
@media (display-mode: standalone) {
  body.rb-app { overscroll-behavior-y: none; }
}
@media (min-width: 721px) and (min-height: 700px) and (max-width: 1366px) {
  html.rb-ipad body.rb-app .hero-card .inline-brand-logo.hero-brand-logo { width: min(382.122px, 100%) !important; max-width: min(382.122px, 100%) !important; }
}
@media (min-width: 821px) and (hover: hover) and (pointer: fine) {
  html:not(.rb-ipad) body.rb-app .hero-card .inline-brand-logo.hero-brand-logo { width: min(359.97px, 100%) !important; max-width: min(359.97px, 100%) !important; }
}
html.rb-ipad { --rb-app-ipad-dock-lift: 3px; --rb-app-ipad-dock-bottom: max(0px, calc(var(--rb-app-nav-bottom-gap) + var(--rb-app-ipad-dock-lift))); --rb-app-bottom-clearance: calc(var(--rb-app-nav-height) + var(--rb-app-ipad-dock-bottom)); }
@media (orientation: landscape) {
  html.rb-ipad.rb-ios-standalone { --rb-app-ipad-dock-lift: -12px; }
}
@media (max-width: 720px) {
  html.rb-ios-standalone { background: var(--rb-app-canvas-fallback) var(--rb-app-background-image) center / cover no-repeat !important; }
  html.rb-ios-standalone body.rb-app { position: relative !important; inset: auto !important; height: 100vh !important; min-height: 100vh !important; background: transparent !important; }
  html.rb-ios-standalone body.rb-app .bean-photo-bg { width: 100%; height: 100%; min-height: 100%; inset: 0px !important; background: var(--rb-app-canvas-fallback) var(--rb-app-background-image) center / cover no-repeat !important; }
  html.rb-ios-standalone body.rb-app .app-shell { padding-right: max(4px, var(--rb-app-safe-right)); padding-left: max(4px, var(--rb-app-safe-left)); padding-bottom: 0px !important; }
  html.rb-ios-standalone .rb-app-screen { padding-top: 0px; scroll-padding-top: max(12px, var(--rb-app-safe-top)); }
  html.rb-ios-standalone .rb-app-screen::before { content: ""; display: block; width: 100%; height: max(12px, var(--rb-app-safe-top)); flex: 0 0 max(12px, var(--rb-app-safe-top)); pointer-events: none; }
  html.rb-ios-standalone .rb-app-screen-locked::before { content: none; display: none; }
  html.rb-ios-standalone .rb-app-screen-home::before, html.rb-ios-standalone .rb-app-screen-nearby::before, html.rb-ios-standalone .rb-app-screen-saved::before, html.rb-ios-standalone .rb-app-screen-more::before { height: max(8px, calc(var(--rb-app-safe-top) - 4px)); flex-basis: max(8px, calc(var(--rb-app-safe-top) - 4px)); }
  html.rb-ios-standalone .rb-bottom-nav { right: max(6px, var(--rb-app-safe-right)); bottom: var(--rb-app-nav-bottom-gap); left: max(6px, var(--rb-app-safe-left)); width: auto; max-width: none; height: var(--rb-app-nav-height); padding: 5px; transform: none; border-radius: var(--rb-app-radius-nav); backdrop-filter: blur(20px) saturate(1.22); }
  html.rb-ios-standalone .rb-bottom-nav-selector { bottom: 5px; }
}
html.rb-ipad.rb-ios-standalone { --rb-app-nav-bottom-gap: max(4px, calc(var(--rb-app-safe-bottom) - 10px)); --rb-app-glass-surface: linear-gradient(

      180deg,
      rgba(255, 255, 255, .075),
      rgba(255, 255, 255, 0) 38%),
    linear-gradient(

      155deg,
      rgba(42, 73, 154, .92),
      rgba(0, 0, 0, .86)); --rb-app-glass-surface-strong: linear-gradient(

      180deg,
      rgba(255, 255, 255, .08),
      rgba(255, 255, 255, 0) 36%),
    linear-gradient(

      155deg,
      rgba(42, 73, 154, .94),
      rgba(0, 0, 0, .89)); background: var(--rb-app-canvas-fallback) var(--rb-app-background-image) center / cover no-repeat !important; }
html.rb-ipad.rb-ios-standalone body.rb-app { position: relative !important; inset: auto !important; height: 100vh !important; min-height: 100vh !important; background: transparent !important; }
html.rb-ipad.rb-ios-standalone body.rb-app .bean-photo-bg { width: 100%; height: 100%; min-height: 100%; inset: 0px !important; background: var(--rb-app-canvas-fallback) var(--rb-app-background-image) center / cover no-repeat !important; }
@supports (-webkit-touch-callout: none) {
  html.rb-ipad.rb-ios-standalone body.rb-app .rb-screen-header, html.rb-ipad.rb-ios-standalone body.rb-app .rb-app-screen-home .hero-card, html.rb-ipad.rb-ios-standalone body.rb-app #heroMenuButton, html.rb-ipad.rb-ios-standalone body.rb-app .rb-app-screen-home .summary-card, html.rb-ipad.rb-ios-standalone body.rb-app .rb-stops-schedule-header, html.rb-ipad.rb-ios-standalone body.rb-app .rb-day-chip:not(.active), html.rb-ipad.rb-ios-standalone body.rb-app .rb-stops-summary, html.rb-ipad.rb-ios-standalone body.rb-app .rb-nearby-map-card, html.rb-ipad.rb-ios-standalone body.rb-app .rb-nearby-actions .rb-command-row:not(.rb-command-row-primary), html.rb-ipad.rb-ios-standalone body.rb-app .rb-command-group, html.rb-ipad.rb-ios-standalone body.rb-app .rb-nearby-map-count, html.rb-ipad.rb-ios-standalone body.rb-app .rb-more-settings-section #heroInfoLocationTools, html.rb-ipad.rb-ios-standalone body.rb-app .rb-more-settings-section .install-footer, html.rb-ipad.rb-ios-standalone body.rb-app .hero-menu-panel, html.rb-ipad.rb-ios-standalone body.rb-app .hero-menu-panel .hero-menu-classics, html.rb-ipad.rb-ios-standalone body.rb-app .day-picker-modal, html.rb-ipad.rb-ios-standalone body.rb-app .schedule-calendar-modal, html.rb-ipad.rb-ios-standalone body.rb-app .contact-modal, html.rb-ipad.rb-ios-standalone body.rb-app .install-modal, html.rb-ipad.rb-ios-standalone body.rb-app .developer-donate-modal, html.rb-ipad.rb-ios-standalone .rb-bottom-nav { backdrop-filter: none !important; }
}
html.rb-ipad .rb-bottom-nav { bottom: var(--rb-app-ipad-dock-bottom); }
html.rb-ios-standalone, html.rb-ios-standalone body.rb-app { background-color: var(--rb-app-canvas-fallback) !important; background-image: var(--rb-app-background-image) !important; background-position: center center !important; background-size: cover !important; background-repeat: no-repeat !important; }
html.rb-ios-standalone body.rb-app .bean-photo-bg { position: fixed !important; inset: -18px !important; width: auto !important; height: auto !important; min-width: calc(100% + 36px) !important; min-height: calc(100% + 36px) !important; filter: none !important; background: linear-gradient(#00000014, #00000014), var(--rb-app-background-image) center / cover no-repeat !important; }
html.rb-apple-mobile .rb-bottom-nav { backdrop-filter: none !important; }
html.rb-apple-mobile body.rb-app .modal-backdrop, html.rb-apple-mobile body.rb-app .hero-utility-backdrop { backdrop-filter: none !important; }
body.rb-app #notice.rb-global-banner { z-index: 1100; top: max(8px, calc(var(--rb-app-safe-top) + 8px)); right: max(10px, calc(var(--rb-app-safe-right) + 8px)); left: max(10px, calc(var(--rb-app-safe-left) + 8px)); width: auto; max-width: 610px; min-height: 42px; box-sizing: border-box; font-size: clamp(0.76rem, 2.8vw, 0.86rem); line-height: 1.3; font-weight: 800; text-align: left; pointer-events: none; opacity: 0; transform: translate3d(0px, -12px, 0px) scale(0.985); transform-origin: 50% 0px; position: fixed !important; margin: 0px auto !important; padding: 10px 14px 10px 42px !important; border: 1px solid rgba(90, 191, 239, 0.76) !important; border-radius: 16px !important; background: linear-gradient(155deg, rgba(8, 42, 70, 0.98), rgba(0, 0, 0, 0.97)) !important; color: rgb(255, 255, 255) !important; box-shadow: rgba(0, 0, 0, 0.42) 0px 12px 30px, rgba(255, 255, 255, 0.11) 0px 1px inset !important; backdrop-filter: none !important; }
body.rb-app #notice.rb-global-banner::before { --rb-notice-icon-background: #1c92dc; content: ""; position: absolute; top: 50%; left: 11px; display: grid; width: 22px; height: 22px; place-items: center; border: 1px solid rgba(255, 255, 255, 0.82); border-radius: 999px; background: url(assets/coffee-bean-status.svg?v=8f01d4c1c73b&rb=20260728a) center / 15px 15px no-repeat, var(--rb-notice-icon-background); color: rgb(255, 255, 255); font-size: 0.76rem; font-style: normal; font-weight: 900; line-height: 1; transform: translateY(-50%); }
body.rb-app #notice.rb-global-banner[data-tone="warning"] { border-color: rgba(255, 183, 80, 0.82) !important; background: linear-gradient(155deg, rgba(87, 45, 16, 0.98), rgba(53, 27, 13, 0.97)) !important; }
body.rb-app #notice.rb-global-banner[data-tone="warning"]::before { --rb-notice-icon-background: #e69a2e; }
body.rb-app #notice.rb-global-banner[data-tone="success"] { border-color: rgba(104, 220, 158, 0.8) !important; background: linear-gradient(155deg, rgba(15, 74, 50, 0.98), rgba(7, 46, 34, 0.97)) !important; }
body.rb-app #notice.rb-global-banner[data-tone="success"]::before { --rb-notice-icon-background: #24985d; }
html:not(.rb-motion-off) body.rb-app #notice.rb-global-banner.is-active:not(.hidden) { animation: rb-global-banner-enter var(--rb-app-motion-standard) cubic-bezier(.2, .8, .25, 1) both; }
html:not(.rb-motion-off) body.rb-app #notice.rb-global-banner.is-hiding:not(.hidden) { animation: rb-global-banner-exit var(--rb-app-motion-standard) ease both; will-change: opacity, transform; }
html.rb-motion-off body.rb-app #notice.rb-global-banner.is-active:not(.hidden) { opacity: 1; transform: none; }
html.rb-motion-off body.rb-app #notice.rb-global-banner.is-hiding:not(.hidden) { opacity: 0; transform: none; }
@keyframes rb-global-banner-enter {
  0% { opacity: 0; transform: translate3d(0px, -12px, 0px) scale(0.985); }
  100% { opacity: 1; transform: translateZ(0px) scale(1); }
}
@keyframes rb-global-banner-exit {
  0% { opacity: 1; transform: translateZ(0px) scale(1); }
  100% { opacity: 0; transform: translate3d(0px, -8px, 0px) scale(0.99); }
}
body.rb-app .stop-card .stop-actions .save-stop-btn, body.rb-app .stop-card .stop-actions .calendar-stop-btn, body.rb-app .stop-card .stop-actions .route-main { height: auto !important; min-height: 56px !important; max-height: none !important; overflow: visible !important; }
body.rb-app .stop-card .stop-actions .save-stop-copy strong, body.rb-app .stop-card .stop-actions .save-stop-copy small, body.rb-app .stop-card .stop-actions .route-text { overflow-wrap: anywhere !important; }
body.rb-app .stop-card .save-stop-btn:focus-visible, body.rb-app .stop-card .calendar-stop-btn:focus-visible, body.rb-app .saved-stop-notification-settings-button:focus-visible, body.rb-app #savedStopNotificationEnrollmentButton:focus-visible, body.rb-app .saved-stop-notification-service-actions button:focus-visible, body.rb-app .instagram-quick-tag-button:focus-visible, body.rb-app #heroMenuPanel .hero-menu-favorite-button:focus-visible, body.rb-app .contact-action:focus-visible, body.rb-app .hero-info-link-contact:focus-visible { outline: 3px solid var(--rb-a11y-blue) !important; outline-offset: -4px !important; }
body.rb-app .stop-card .route-main:focus-visible { outline: 3px solid var(--rb-app-main-dark) !important; outline-offset: -4px !important; }
body.rb-app #savedStopNotificationEnrollmentButton:focus-visible, body.rb-app .saved-stop-notification-service-actions button:last-child:focus-visible { outline: rgb(255, 255, 255) solid 3px !important; outline-offset: -5px !important; }
body.rb-app:not(.is-loading-schedule):not(.is-locating-user) .status-text::before, body.rb-app .hero-info-location-status::before { content: "" !important; display: inline-block !important; width: 0.92em !important; height: 0.92em !important; margin-right: 7px !important; vertical-align: -0.1em !important; background: url("assets/coffee-bean-status.svg?v=8f01d4c1c73b&rb=20260728a") center center / contain no-repeat !important; }
@media (max-width: 520px) {
  body.rb-app .stop-card .stop-actions .save-stop-btn, body.rb-app .stop-card .stop-actions .calendar-stop-btn, body.rb-app .stop-card .stop-actions .route-main { min-height: 54px !important; }
}
@media (max-width: 370px) {
  body.rb-app .stop-card .stop-actions { grid-template-columns: minmax(68px, 0.72fr) 44px minmax(106px, 1.42fr) !important; gap: 4px !important; }
  body.rb-app .stop-card .stop-actions .save-stop-btn, body.rb-app .stop-card .stop-actions .calendar-stop-btn, body.rb-app .stop-card .stop-actions .route-main { min-height: 52px !important; }
  body.rb-app .stop-card .calendar-stop-btn, body.rb-app .stop-card .stop-actions.has-share-secondary .calendar-stop-btn { width: 44px !important; min-width: 44px !important; }
}
@media (forced-colors: active) {
  .saved-stop-notification-rule-track { forced-color-adjust: none; border: 2px solid buttontext; background: canvas; box-shadow: none; }
  .saved-stop-notification-rule-track > span { background: buttontext; box-shadow: none; }
  .saved-stop-notification-rule-toggle input:checked + .saved-stop-notification-rule-track { border-color: highlight; background: highlight; }
  .saved-stop-notification-rule-toggle input:checked + .saved-stop-notification-rule-track > span { background: highlighttext; }
  body.rb-app .rb-saved-content .hero-saved-stop-alert-switch .hero-animation-toggle-track { forced-color-adjust: none; border: 2px solid buttontext; background: canvas !important; box-shadow: none !important; }
  body.rb-app .rb-saved-content .hero-saved-stop-alert-switch[aria-checked="true"] .hero-animation-toggle-track { border-color: highlight; background: highlight !important; }
}
@media (prefers-reduced-motion: reduce) {
  body.is-loading-schedule .summary-card h2::before, body.is-loading-schedule .status-text::before, body.is-locating-user .status-text::before, .btn.is-locating .btn-spark::after, .schedule-loading-card::after { animation: auto ease 0s 1 normal none running none !important; }
  html:not(.rb-motion-off) .btn, html:not(.rb-motion-off) .save-stop-btn, html:not(.rb-motion-off) .hero-info-button, html:not(.rb-motion-off) .route-main, html:not(.rb-motion-off) .install-app-btn, html:not(.rb-motion-off) .rb-map-picker-button, html:not(.rb-motion-off) .schedule-picker-card, html:not(.rb-motion-off) .modal-close, html:not(.rb-motion-off) .day-picker-option, html:not(.rb-motion-off) .rb-map-choice, html:not(.rb-motion-off) .saved-stop-actions button, html:not(.rb-motion-off) .hero-info-refresh-btn, html:not(.rb-motion-off) .hero-info-link, html:not(.rb-motion-off) .schedule-calendar-event-action, html:not(.rb-motion-off) .contact-action, html:not(.rb-motion-off) #heroMenuPanel .hero-menu-favorite-button svg, html:not(.rb-motion-off) .rb-pwa-launch-screen, html:not(.rb-motion-off) .saved-stop-notification-rule-track, html:not(.rb-motion-off) .saved-stop-notification-rule-track > span { transition: none !important; }
  html:not(.rb-motion-off) .btn:not(:disabled):hover, html:not(.rb-motion-off) .save-stop-btn:not(:disabled):hover, html:not(.rb-motion-off) .hero-info-button:not(:disabled):hover, html:not(.rb-motion-off) .rb-map-picker-button:hover, html:not(.rb-motion-off) .schedule-picker-card:hover, html:not(.rb-motion-off) .modal-close:not(:disabled):hover, html:not(.rb-motion-off) .day-picker-option:not(:disabled):hover, html:not(.rb-motion-off) .rb-map-choice:hover, html:not(.rb-motion-off) .saved-stop-actions button:not(:disabled):hover, html:not(.rb-motion-off) .hero-info-refresh-btn:not(:disabled):hover, html:not(.rb-motion-off) .hero-info-link:hover { transform: none !important; filter: brightness(1.04) !important; }
  html:not(.rb-motion-off) .btn:active, html:not(.rb-motion-off) .hero-info-button:active, html:not(.rb-motion-off) .route-main:active, html:not(.rb-motion-off) .save-stop-btn:active, html:not(.rb-motion-off) .install-app-btn:active, html:not(.rb-motion-off) .day-picker-option:active, html:not(.rb-motion-off) .rb-map-choice:active { transform: none !important; filter: brightness(0.98) !important; }
  html:not(.rb-motion-off) .modal:not(.hidden) .modal-backdrop, html:not(.rb-motion-off) .modal:not(.hidden) .day-picker-modal, html:not(.rb-motion-off) .modal:not(.hidden) .donate-modal, html:not(.rb-motion-off) .modal:not(.hidden) .developer-donate-modal, html:not(.rb-motion-off) .modal:not(.hidden) .install-modal, html:not(.rb-motion-off) .modal:not(.hidden) .schedule-calendar-modal, html:not(.rb-motion-off) .modal:not(.hidden) .contact-modal, html:not(.rb-motion-off) #rbMapPickerModal:not(.hidden) .rb-map-picker-modal, html:not(.rb-motion-off) .hero-info-panel[role="dialog"]:not([hidden]), html:not(.rb-motion-off) .hero-menu-panel[role="dialog"]:not([hidden]), html:not(.rb-motion-off) .hero-info-panel[role="dialog"].is-closing, html:not(.rb-motion-off) .hero-menu-panel[role="dialog"].is-closing, html:not(.rb-motion-off) .modal.is-closing .modal-backdrop, html:not(.rb-motion-off) .modal.is-closing .day-picker-modal, html:not(.rb-motion-off) .modal.is-closing .donate-modal, html:not(.rb-motion-off) .modal.is-closing .developer-donate-modal, html:not(.rb-motion-off) .modal.is-closing .install-modal, html:not(.rb-motion-off) .modal.is-closing .schedule-calendar-modal, html:not(.rb-motion-off) .modal.is-closing .contact-modal, html:not(.rb-motion-off) #rbMapPickerModal.is-closing .rb-map-picker-modal, html:not(.rb-motion-off) .hero-utility-backdrop:not([hidden]), html:not(.rb-motion-off) .modal:not(.hidden) .modal-close, html:not(.rb-motion-off) .modal:not(.hidden) .day-picker-option, html:not(.rb-motion-off) #rbMapPickerModal:not(.hidden) .rb-map-choice, html:not(.rb-motion-off) .modal:not(.hidden) .install-steps, html:not(.rb-motion-off) .modal:not(.hidden) .donate-options, html:not(.rb-motion-off) .modal:not(.hidden) .modal-ok, html:not(.rb-motion-off) .modal.is-closing .modal-close, html:not(.rb-motion-off) .modal.is-closing .day-picker-option, html:not(.rb-motion-off) #rbMapPickerModal.is-closing .rb-map-choice, html:not(.rb-motion-off) .modal.is-closing .install-steps, html:not(.rb-motion-off) .modal.is-closing .donate-options, html:not(.rb-motion-off) .modal.is-closing .modal-ok, html:not(.rb-motion-off) .hero-info-panel[role="dialog"]:not([hidden]) .hero-info-link, html:not(.rb-motion-off) .hero-menu-panel[role="dialog"]:not([hidden]) .hero-menu-item, html:not(.rb-motion-off) .hero-info-panel[role="dialog"]:not([hidden]) .hero-panel-close { animation: auto ease 0s 1 normal none running none !important; transition: none !important; will-change: auto !important; }
  html:not(.rb-motion-off) body.rb-day-switching #results, html:not(.rb-motion-off) body.rb-day-switching .summary-grid, html:not(.rb-motion-off) body.rb-day-switching .rb-map-picker-slot > .rb-map-picker-button, html:not(.rb-motion-off) .rb-all-map-pins-enter .all-pins-leaflet-map .rb-map-pin-combo-icon .rb-map-pin-wrap, html:not(.rb-motion-off) .rb-pin-drop-active, html:not(.rb-motion-off) .rb-all-map-pins-enter .all-map-svg-fallback .fallback-stop-marker .fallback-map-pin-image, html:not(.rb-motion-off) .rb-all-map-pins-enter .all-pins-leaflet-map .rb-map-pin-combo-icon .rb-map-pin-number, html:not(.rb-motion-off) .rb-pin-number-pop-active, html:not(.rb-motion-off) .rb-all-map-pins-enter .all-map-svg-fallback .fallback-stop-marker .fallback-map-pin-number, html:not(.rb-motion-off) #results .stop-card:not(.cancelled-card) .open-chip, html:not(.rb-motion-off) .results .stop-card:not(.cancelled-card) .open-chip, html:not(.rb-motion-off) #results .stop-card:not(.cancelled-card) .stop-source, html:not(.rb-motion-off) .results .stop-card:not(.cancelled-card) .stop-source, html:not(.rb-motion-off) body.rb-app .hero-card .hero-brand-logo .inline-brand-mark, html:not(.rb-motion-off) .rb-day-chip.active, html:not(.rb-motion-off) .rb-map-cluster-count { animation: auto ease 0s 1 normal none running none !important; transition: none !important; transform: none !important; filter: none !important; will-change: auto !important; }
  html:not(.rb-motion-off) body.rb-app #heroMenuPanel.hero-menu-panel[role="dialog"]:not([hidden]):not(.is-closing):not(.rb-menu-sheet-interacted), html:not(.rb-motion-off) body.rb-app #heroMenuPanel.hero-menu-panel[role="dialog"].is-closing:not(.rb-menu-sheet-dismissing), html:not(.rb-motion-off) body.rb-app #heroMenuPanel.hero-menu-panel[role="dialog"].rb-menu-sheet-dismissing.is-closing, html:not(.rb-motion-off) body.rb-app #notice.rb-global-banner.is-active:not(.hidden), html:not(.rb-motion-off) body.rb-app #notice.rb-global-banner.is-hiding:not(.hidden), html:not(.rb-motion-off) body.rb-app .app-shell.rb-tab-swipe-settling > :is(.rb-tab-swipe-current, .rb-tab-swipe-target), html:not(.rb-motion-off) body.rb-app .rb-app-screen, html:not(.rb-motion-off) body.rb-app .rb-bottom-nav-selector, html:not(.rb-motion-off) body.rb-app .rb-nav-medallion { animation: auto ease 0s 1 normal none running none !important; transition: none !important; will-change: auto !important; }
  html:not(.rb-motion-off) body.rb-app #notice.rb-global-banner.is-active:not(.hidden) { opacity: 1 !important; transform: none !important; }
  html:not(.rb-motion-off) body.rb-app #notice.rb-global-banner.is-hiding:not(.hidden) { opacity: 0 !important; transform: none !important; }
}
:root { --rb-app-custom-color: var(--rb-brand-main); --rb-app-custom-color-rgb: 40,
    90,
    167; --rb-app-custom-browser-color: var(--rb-brand-main-2); --rb-app-custom-glass-intensity: .5; --rb-app-custom-glass-strength: 1; --rb-app-custom-glass-surface-alpha: .18; --rb-app-custom-glass-surface-soft-alpha: .055; --rb-app-custom-glass-strong-alpha: .24; --rb-app-custom-glass-strong-soft-alpha: .07; --rb-app-theme-color: var(--rb-brand-main); --rb-app-theme-rgb: 40, 90, 167; --rb-app-browser-theme: var(--rb-brand-main-2); --rb-app-panel-text: var(--rb-brand-white); --rb-app-panel-muted: rgba(255, 255, 255, .72); --rb-app-on-bright: var(--rb-brand-black); --rb-app-card-text: var(--rb-brand-white); --rb-app-card-muted: rgba(255, 255, 255, .76); --rb-app-kicker-text: var(--rb-brand-tan); --rb-app-panel-border: rgba(120, 158, 211, .42); --rb-app-action-surface: rgba(255, 255, 255, .075); --rb-app-action-surface-selected: rgba(40, 90, 167, .36); --rb-app-dock-surface: linear-gradient(
      180deg,
      rgba(255, 255, 255, .18),
      rgba(255, 255, 255, .025) 44%),
    linear-gradient(
      145deg,
      rgba(42, 73, 154, .5),
      rgba(40, 90, 167, .64) 52%,
      rgba(30, 144, 255, .22)),
    rgba(42, 73, 154, .96); --rb-app-dock-accent: var(--rb-brand-main); --rb-app-dock-accent-rgb: 40, 90, 167; --rb-app-dock-border: rgba(var(--rb-app-dock-accent-rgb), .82); --rb-app-dock-text: var(--rb-brand-white); --rb-app-dock-selected-text: var(--rb-brand-black); --rb-app-dock-medallion-surface: linear-gradient(
      180deg,
      rgba(255, 255, 255, .1),
      rgba(255, 255, 255, .015)),
    var(--rb-app-dock-accent); --rb-app-dock-medallion-border: rgba(var(--rb-app-dock-accent-rgb), .96); --rb-app-dock-medallion-cutout: var(--rb-brand-black); --rb-app-dock-medallion-icon: var(--rb-brand-white); --rb-app-dock-medallion-ring: #f4fbff; --rb-app-dock-medallion-halo: rgba(var(--rb-app-dock-accent-rgb), .76); --rb-app-wavy-tint-rgb: 40, 90, 167; --rb-app-wavy-tint-opacity: .3; --rb-app-wavy-tint-soft-opacity: .14; }
html[data-rb-appearance="bean-blue"], html[data-rb-resolved-appearance="bean-blue"] { --rb-app-theme-color: var(--rb-brand-main); --rb-app-theme-rgb: 40, 90, 167; --rb-app-browser-theme: var(--rb-brand-main-2); --rb-app-panel-text: var(--rb-brand-white); --rb-app-panel-muted: rgba(255, 255, 255, .72); --rb-app-panel-border: rgba(120, 158, 211, .46); --rb-app-action-surface: rgba(255, 255, 255, .075); --rb-app-action-surface-selected: rgba(40, 90, 167, .42); --rb-app-dock-surface: linear-gradient(
      180deg,
      rgba(255, 255, 255, .18),
      rgba(255, 255, 255, .025) 44%),
    linear-gradient(
      145deg,
      rgba(42, 73, 154, .5),
      rgba(40, 90, 167, .64) 52%,
      rgba(30, 144, 255, .22)),
    rgba(42, 73, 154, .58); --rb-app-dock-accent: var(--rb-brand-main); --rb-app-dock-accent-rgb: 40, 90, 167; --rb-app-dock-text: var(--rb-brand-white); --rb-app-wavy-tint-rgb: 40, 90, 167; --rb-app-wavy-tint-opacity: .28; --rb-app-wavy-tint-soft-opacity: .12; --rb-app-glass-surface: linear-gradient(

      180deg,
      rgba(255, 255, 255, .075),
      rgba(255, 255, 255, 0) 40%),
    linear-gradient(

      155deg,
      rgba(42, 73, 154, .3),
      rgba(0, 0, 0, .36)); --rb-app-glass-surface-strong: linear-gradient(

      180deg,
      rgba(255, 255, 255, .085),
      rgba(255, 255, 255, 0) 38%),
    linear-gradient(

      155deg,
      rgba(42, 73, 154, .48),
      rgba(0, 0, 0, .56)); }
html[data-rb-appearance="custom"], html[data-rb-resolved-appearance="custom"] { --rb-app-theme-color: var(--rb-app-custom-color); --rb-app-theme-rgb: var(--rb-app-custom-color-rgb); --rb-app-browser-theme: var(--rb-app-custom-browser-color); --rb-app-panel-border: rgba(var(--rb-app-custom-color-rgb), .32); --rb-app-action-surface-selected: rgba(var(--rb-app-custom-color-rgb), .18); --rb-app-dock-surface: linear-gradient(
      180deg,
      rgba(255, 255, 255, .13),
      rgba(255, 255, 255, .018) 44%),
    linear-gradient(
      145deg,
      rgba(var(--rb-app-custom-color-rgb), .3),
      rgba(var(--rb-app-custom-color-rgb), .11) 58%,
      rgba(var(--rb-app-custom-color-rgb), 0) 80%),
    rgba(3, 18, 33, .96); --rb-app-dock-accent: var(--rb-app-custom-color); --rb-app-dock-accent-rgb: var(--rb-app-custom-color-rgb); --rb-app-dock-text: var(--rb-brand-white); --rb-app-wavy-tint-rgb: var(--rb-app-custom-color-rgb); --rb-app-wavy-tint-opacity: .15; --rb-app-wavy-tint-soft-opacity: .055; --rb-app-glass-surface: linear-gradient(

      145deg,
      rgba(var(--rb-app-custom-color-rgb), var(--rb-app-custom-glass-surface-alpha)),
      rgba(var(--rb-app-custom-color-rgb), var(--rb-app-custom-glass-surface-soft-alpha)) 46%,
      rgba(var(--rb-app-custom-color-rgb), 0) 72%),
    linear-gradient(

      180deg,
      rgba(255, 255, 255, .14),
      rgba(255, 255, 255, .025) 42%,
      rgba(255, 255, 255, .01)),
    rgba(4, 24, 39, .68); --rb-app-glass-surface-strong: linear-gradient(

      145deg,
      rgba(var(--rb-app-custom-color-rgb), var(--rb-app-custom-glass-strong-alpha)),
      rgba(var(--rb-app-custom-color-rgb), var(--rb-app-custom-glass-strong-soft-alpha)) 44%,
      rgba(var(--rb-app-custom-color-rgb), 0) 70%),
    linear-gradient(

      180deg,
      rgba(255, 255, 255, .17),
      rgba(255, 255, 255, .03) 40%,
      rgba(255, 255, 255, .012)),
    rgba(3, 18, 33, .81); }
html[data-rb-appearance="dark"], html[data-rb-resolved-appearance="dark"] { --rb-app-theme-color: #000000; --rb-app-theme-rgb: 17,
    27,
    37; --rb-app-browser-theme: #000000; --rb-app-panel-text: var(--rb-brand-white); --rb-app-panel-muted: rgba(244, 249, 252, .7); --rb-app-panel-border: rgba(171, 207, 226, .24); --rb-app-action-surface: rgba(255, 255, 255, .06); --rb-app-action-surface-selected: rgba(30, 144, 255, .18); --rb-app-dock-surface: linear-gradient(
      180deg,
      rgba(255, 255, 255, .1),
      rgba(255, 255, 255, .012) 44%),
    linear-gradient(
      145deg,
      rgba(120, 158, 211, .16),
      rgba(120, 158, 211, .035) 62%,
      rgba(120, 158, 211, 0) 82%),
    rgba(1, 7, 13, .97); --rb-app-dock-accent: #486d84; --rb-app-dock-accent-rgb: 72,
    109,
    132; --rb-app-dock-text: var(--rb-brand-white); --rb-app-wavy-tint-rgb: 0,
    0,
    0; --rb-app-wavy-tint-opacity: .22; --rb-app-wavy-tint-soft-opacity: .09; --rb-app-glass-surface: linear-gradient(

      145deg,
      rgba(120, 158, 211, .09),
      rgba(120, 158, 211, .02) 46%,
      rgba(120, 158, 211, 0) 72%),
    linear-gradient(

      180deg,
      rgba(255, 255, 255, .095),
      rgba(255, 255, 255, .018) 42%,
      rgba(255, 255, 255, .008)),
    rgba(3, 10, 17, .7); --rb-app-glass-surface-strong: linear-gradient(

      145deg,
      rgba(120, 158, 211, .12),
      rgba(120, 158, 211, .025) 44%,
      rgba(120, 158, 211, 0) 70%),
    linear-gradient(

      180deg,
      rgba(255, 255, 255, .115),
      rgba(255, 255, 255, .02) 40%,
      rgba(255, 255, 255, .008)),
    rgba(1, 7, 13, .84); }
html[data-rb-appearance="light"], html[data-rb-resolved-appearance="light"], html.rb-appearance-light { --rb-app-theme-color: var(--rb-brand-main); --rb-app-theme-rgb: 40, 90, 167; --rb-app-browser-theme: #ffffff; --rb-app-canvas-fallback: #f4efe1; --rb-app-muted: #2a499a; --rb-app-panel-text: #2a499a; --rb-app-panel-muted: #2a499a; --rb-app-card-text: var(--rb-brand-main-2); --rb-app-card-muted: rgba(42, 73, 154, .8); --rb-app-kicker-text: var(--rb-brand-main); --rb-app-panel-border: rgba(40, 90, 167, .28); --rb-app-action-surface: rgba(255, 255, 255, .56); --rb-app-action-surface-selected: rgba(40, 90, 167, .14); --rb-app-dock-surface: linear-gradient(
      180deg,
      rgba(255, 255, 255, .78),
      rgba(255, 255, 255, .18) 46%),
    linear-gradient(
      145deg,
      rgba(40, 90, 167, .15),
      rgba(30, 144, 255, .055) 64%,
      rgba(30, 144, 255, 0) 82%),
    rgba(238, 248, 252, .97); --rb-app-dock-accent: #2a499a; --rb-app-dock-accent-rgb: 0,
    94,
    168; --rb-app-dock-text: #233d54; --rb-app-wavy-tint-rgb: 255,
    255,
    255; --rb-app-wavy-tint-opacity: .3; --rb-app-wavy-tint-soft-opacity: .12; --rb-app-glass-surface: linear-gradient(

      145deg,
      rgba(255, 255, 255, .58),
      rgba(255, 255, 255, .17) 48%,
      rgba(255, 255, 255, .05) 72%),
    linear-gradient(

      180deg,
      rgba(255, 255, 255, .42),
      rgba(247, 252, 255, .12) 44%,
      rgba(220, 239, 247, .08)),
    rgba(225, 242, 249, .46); --rb-app-glass-surface-strong: linear-gradient(

      145deg,
      rgba(255, 255, 255, .74),
      rgba(255, 255, 255, .24) 46%,
      rgba(255, 255, 255, .07) 72%),
    linear-gradient(

      180deg,
      rgba(255, 255, 255, .56),
      rgba(238, 248, 252, .18) 42%,
      rgba(211, 233, 242, .1)),
    rgba(225, 242, 249, .6); color-scheme: light; }
html.rb-appearance-light[data-rb-appearance="custom"], html.rb-appearance-light[data-rb-resolved-appearance="custom"] { --rb-app-theme-color: var(--rb-app-custom-color); --rb-app-theme-rgb: var(--rb-app-custom-color-rgb); --rb-app-browser-theme: var(--rb-app-custom-browser-color); --rb-app-panel-text: #2a499a; --rb-app-panel-muted: #2a499a; --rb-app-card-text: var(--rb-brand-main-2); --rb-app-card-muted: rgba(42, 73, 154, .8); --rb-app-kicker-text: var(--rb-brand-main); --rb-app-panel-border: rgba(var(--rb-app-custom-color-rgb), .25); --rb-app-action-surface: rgba(255, 255, 255, .54); --rb-app-action-surface-selected: rgba(var(--rb-app-custom-color-rgb), .13); --rb-app-dock-surface: linear-gradient(
      180deg,
      rgba(255, 255, 255, .76),
      rgba(255, 255, 255, .17) 46%),
    linear-gradient(
      145deg,
      rgba(var(--rb-app-custom-color-rgb), .18),
      rgba(var(--rb-app-custom-color-rgb), .055) 62%,
      rgba(var(--rb-app-custom-color-rgb), 0) 82%),
    rgba(238, 248, 252, .97); --rb-app-dock-accent: var(--rb-app-custom-color); --rb-app-dock-accent-rgb: var(--rb-app-custom-color-rgb); --rb-app-dock-text: #233d54; --rb-app-wavy-tint-rgb: var(--rb-app-custom-color-rgb); --rb-app-wavy-tint-opacity: .12; --rb-app-wavy-tint-soft-opacity: .04; --rb-app-glass-surface: linear-gradient(

      145deg,
      rgba(var(--rb-app-custom-color-rgb), var(--rb-app-custom-glass-surface-alpha)),
      rgba(var(--rb-app-custom-color-rgb), var(--rb-app-custom-glass-surface-soft-alpha)) 48%,
      rgba(var(--rb-app-custom-color-rgb), 0) 72%),
    linear-gradient(

      180deg,
      rgba(255, 255, 255, .56),
      rgba(255, 255, 255, .14) 44%,
      rgba(255, 255, 255, .04)),
    rgba(235, 247, 252, .54); --rb-app-glass-surface-strong: linear-gradient(

      145deg,
      rgba(var(--rb-app-custom-color-rgb), var(--rb-app-custom-glass-strong-alpha)),
      rgba(var(--rb-app-custom-color-rgb), var(--rb-app-custom-glass-strong-soft-alpha)) 46%,
      rgba(var(--rb-app-custom-color-rgb), 0) 70%),
    linear-gradient(

      180deg,
      rgba(255, 255, 255, .72),
      rgba(255, 255, 255, .2) 42%,
      rgba(255, 255, 255, .05)),
    rgba(235, 247, 252, .68); }
html.rb-shade-wavy { --rb-app-card-text: var(--rb-brand-main-2); --rb-app-card-muted: rgba(42, 73, 154, .8); --rb-app-wavy-surface: linear-gradient(

      145deg,
      rgba(var(--rb-app-wavy-tint-rgb), var(--rb-app-wavy-tint-opacity)),
      rgba(var(--rb-app-wavy-tint-rgb), var(--rb-app-wavy-tint-soft-opacity)) 54%,
      rgba(255, 255, 255, .035)),
    url(assets/schedule-wavy-stripes.webp?v=e60748e390c2&rb=20260802b); }
body.rb-app :is(.rb-screen-header, .rb-app-screen-home .hero-card, #heroMenuButton, .rb-app-screen-home .summary-card, .rb-day-chip:not(.active), .rb-stops-summary, .rb-nearby-map-card, .rb-nearby-actions .rb-command-row:not(.rb-command-row-primary), .rb-command-group, .rb-nearby-map-count, .rb-more-settings-section #heroInfoLocationTools, .rb-more-settings-section .install-footer) { border-color: var(--rb-app-panel-border) !important; background: var(--rb-app-glass-surface) !important; backdrop-filter: var(--rb-app-glass-filter) !important; }
body.rb-app :is(.hero-menu-panel, .hero-menu-panel .hero-menu-classics, .day-picker-modal, .schedule-calendar-modal, .contact-modal, .install-modal, .rb-settings-modal) { border-color: var(--rb-app-panel-border) !important; background: var(--rb-app-glass-surface-strong) !important; backdrop-filter: var(--rb-app-glass-filter-strong) !important; }
body.rb-app .rb-bottom-nav { backdrop-filter: var(--rb-app-glass-filter-strong); border-color: var(--rb-app-dock-border) !important; background: var(--rb-app-dock-surface) !important; }
body.rb-app .rb-more-links-section .rb-more-link-group-title { color: var(--rb-app-kicker-text); }
body.rb-app .rb-social-icon-strip { display: flex; width: max-content; max-width: 100%; min-height: 58px; margin: 12px auto 0px; padding: 6px 8px; align-items: center; justify-content: center; gap: 8px; border: 1px solid var(--rb-app-panel-border); border-radius: 999px; background: linear-gradient(
      145deg,
      #ffffff2e,
      #ffffff0b),
    rgba(var(--rb-app-theme-rgb), .1); box-shadow: rgba(2, 19, 35, 0.16) 0px 8px 20px, rgba(255, 255, 255, 0.22) 0px 1px inset; box-sizing: border-box; backdrop-filter: var(--rb-app-glass-filter); }
body.rb-app .contact-modal .rb-social-icon-strip { flex: 0 0 auto; margin-top: 10px; }
body.rb-app .rb-social-instagram-group { display: inline-flex; min-width: 0px; padding-right: 5px; align-items: center; gap: 4px; border-right: 1px solid var(--rb-app-panel-border); }
body.rb-app :is(.rb-social-icon-button, .rb-social-copy-button) { position: relative; display: inline-grid; place-items: center; flex: 0 0 auto; margin: 0px; padding: 0px; appearance: none; border: 1px solid rgba(40, 90, 167, 0.22); border-radius: 50%; background: rgb(255, 255, 255); color: rgb(40, 90, 167); box-shadow: rgba(0, 0, 0, 0.22) 0px 5px 12px, rgba(255, 255, 255, 0.9) 0px 1px inset; text-decoration: none; cursor: pointer; }
body.rb-app .rb-social-icon-button, body.rb-app .rb-social-copy-button { width: 44px; height: 44px; }
body.rb-app .rb-social-icon-button img { display: block; width: 28px; height: 28px; object-fit: contain; }
body.rb-app .rb-social-icon-button[href*="facebook"] img { width: 20px; height: 25px; }
body.rb-app .rb-social-copy-button svg { width: 17px; height: 17px; fill: none; stroke: currentcolor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
body.rb-app :is(.rb-social-icon-button, .rb-social-copy-button):focus-visible { outline: 3px solid var(--rb-app-sub-blue); outline-offset: 3px; }
body.rb-app .rb-settings-link-row { display: grid; grid-template-columns: 38px minmax(0px, 1fr) 18px; width: 100%; min-height: 64px; margin: 0px; padding: 8px 2px; align-items: center; gap: 10px; appearance: none; border-width: 0px 0px 1px; border-style: none none solid; border-color: currentcolor currentcolor rgba(255, 255, 255, 0.1); border-image: none; border-radius: 0px; background: transparent; color: var(--rb-app-panel-text); text-align: left; box-shadow: none; cursor: pointer; }
body.rb-app .rb-settings-link-row:last-of-type { border-bottom-color: transparent; }
body.rb-app .rb-settings-row-icon { display: grid; width: 36px; height: 36px; place-items: center; overflow: hidden; border: 1px solid rgba(255, 255, 255, 0.28); border-radius: 11px; background: linear-gradient(
      145deg,
      var(--rb-app-sub-blue),
      var(--rb-app-main-blue)); color: rgb(255, 255, 255); font-size: 18px; line-height: 1; box-shadow: rgba(255, 255, 255, 0.24) 0px 1px inset; }
body.rb-app .rb-settings-share-icon img { width: 21px; height: 21px; object-fit: contain; filter: brightness(0) invert(1); }
body.rb-app .rb-settings-link-row .hero-animation-toggle-copy { min-width: 0px; text-align: left; }
body.rb-app .rb-settings-link-row .hero-animation-toggle-copy :is(strong, small) { display: block; min-width: 0px; overflow-wrap: anywhere; }
body.rb-app .rb-settings-link-row .hero-animation-toggle-copy strong { color: var(--rb-app-panel-text); font-size: 14px; font-weight: 900; line-height: 18px; }
body.rb-app .rb-settings-link-row .hero-animation-toggle-copy small { margin-top: 2px; color: var(--rb-app-panel-muted); font-size: 10px; font-weight: 700; line-height: 14px; }
body.rb-app .rb-settings-link-row .rb-command-chevron { justify-self: end; color: var(--rb-app-sub-blue); font-size: 26px; line-height: 1; font-weight: 800; }
body.rb-app :is(.rb-settings-link-row, .rb-settings-action):focus-visible { outline: 3px solid var(--rb-app-sub-blue); outline-offset: -2px; }
body.rb-app :is(#rbAppearanceModal, #rbPrivacyModal, #rbSupportModal) { z-index: 5200 !important; }
body.rb-app .rb-settings-modal { position: relative; width: min(-22px + 100vw, 520px); max-height: min(calc(var(--rb-modal-viewport-height, 100dvh) - 22px), 820px); padding: 22px 16px 18px; overflow: hidden auto; border: 1px solid var(--rb-app-panel-border); border-radius: var(--rb-app-radius-hero); color: var(--rb-app-panel-text); box-shadow: rgba(0, 0, 0, 0.5) 0px 24px 70px, rgba(255, 255, 255, 0.09) 0px 1px inset; box-sizing: border-box; scrollbar-width: thin; scrollbar-color: rgba(var(--rb-app-theme-rgb), .62) rgba(255, 255, 255, .06); }
body.rb-app .rb-settings-modal > .mini-label { margin: 3px 58px 7px 2px; color: var(--rb-app-sub-blue); }
body.rb-app .rb-settings-modal > h2 { margin: 0px 58px 8px 0px; color: var(--rb-app-panel-text); font-family: var(--rb-font-ui); font-weight: 700; font-size: clamp(2rem, 8vw, 2.55rem); line-height: 0.98; letter-spacing: -0.02em; }
body.rb-app .rb-settings-modal-intro { margin: 0px 0px 13px; color: var(--rb-app-panel-muted); font-size: 12px; font-weight: 700; line-height: 17px; }
body.rb-app .rb-settings-section-label { margin: 18px 2px 8px; color: var(--rb-app-sub-blue); font-size: 10px; font-weight: 950; line-height: 14px; letter-spacing: 0.09em; text-transform: uppercase; }
body.rb-app .rb-settings-action { display: grid; grid-template-columns: minmax(0px, 1fr) 20px; width: 100%; min-height: 52px; margin: 8px 0px 0px; padding: 11px 13px; align-items: center; gap: 10px; appearance: none; border: 1px solid var(--rb-app-panel-border); border-radius: 14px; background: var(--rb-app-action-surface); color: var(--rb-app-panel-text); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-language-override: inherit; line-height: 18px; text-align: left; text-decoration: none; box-shadow: rgba(255, 255, 255, 0.07) 0px 1px inset; box-sizing: border-box; cursor: pointer; }
body.rb-app .rb-settings-action > span:last-child { justify-self: end; color: var(--rb-app-sub-blue); font-size: 25px; line-height: 1; }
body.rb-app .rb-appearance-toggle-row, body.rb-app :is(.rb-appearance-choice, .rb-custom-color-row, .rb-custom-glass-intensity-row, .rb-artwork-choice) { display: grid; width: 100%; min-width: 0px; align-items: center; border: 1px solid var(--rb-app-panel-border); border-radius: 15px; background: var(--rb-app-action-surface); color: var(--rb-app-panel-text); box-shadow: rgba(255, 255, 255, 0.055) 0px 1px inset; box-sizing: border-box; }
body.rb-app .rb-appearance-toggle-row { grid-template-columns: minmax(0px, 1fr) 52px; min-height: 62px; padding: 9px 11px 9px 13px; gap: 12px; cursor: pointer; }
body.rb-app :is(.rb-appearance-toggle-row, .rb-appearance-choice, .rb-custom-color-row, .rb-custom-glass-intensity-row, .rb-artwork-choice) > span { min-width: 0px; }
body.rb-app :is(.rb-appearance-toggle-row, .rb-appearance-choice, .rb-custom-color-row, .rb-custom-glass-intensity-row, .rb-artwork-choice) strong, body.rb-app :is(.rb-appearance-toggle-row, .rb-appearance-choice, .rb-custom-color-row, .rb-custom-glass-intensity-row, .rb-artwork-choice) small { display: block; min-width: 0px; text-align: left; }
body.rb-app :is(.rb-appearance-toggle-row, .rb-appearance-choice, .rb-custom-color-row, .rb-custom-glass-intensity-row, .rb-artwork-choice) strong { color: var(--rb-app-panel-text); font-size: 14px; font-weight: 900; line-height: 18px; }
body.rb-app :is(.rb-appearance-toggle-row, .rb-appearance-choice, .rb-custom-color-row, .rb-custom-glass-intensity-row, .rb-artwork-choice) small { margin-top: 2px; color: var(--rb-app-panel-muted); font-size: 10px; font-weight: 700; line-height: 14px; }
body.rb-app .rb-native-switch { position: relative; display: block; width: 50px; height: 30px; }
body.rb-app .rb-native-switch > input { position: absolute; inset: 0px; z-index: 2; width: 100%; height: 100%; margin: 0px; opacity: 0; cursor: pointer; }
body.rb-app .rb-native-switch > input + span { position: absolute; inset: 0px; display: block; border: 1px solid rgba(255, 255, 255, 0.34); border-radius: 999px; background: rgba(106, 125, 140, 0.65); box-shadow: rgba(0, 0, 0, 0.18) 0px 1px 2px inset; transition: background-color var(--rb-app-motion-fast) ease, border-color var(--rb-app-motion-fast) ease; }
body.rb-app .rb-native-switch > input + span > span { position: absolute; top: 3px; left: 3px; width: 22px; height: 22px; border-radius: 50%; background: rgb(255, 255, 255); box-shadow: rgba(0, 0, 0, 0.32) 0px 2px 6px; transition: transform var(--rb-app-motion-fast) cubic-bezier(.2, .8, .2, 1); }
body.rb-app .rb-native-switch > input:checked + span { border-color: rgba(40, 90, 167, 0.82); background: var(--rb-app-main-blue); }
body.rb-app .rb-native-switch > input:checked + span > span { transform: translate(20px); }
body.rb-app .rb-native-switch > input:focus-visible + span { outline: 3px solid var(--rb-app-sub-blue); outline-offset: 3px; }
body.rb-app .rb-appearance-choice-list, body.rb-app .rb-artwork-choice-list { display: grid; gap: 8px; margin-top: 8px; }
body.rb-app .rb-custom-appearance-group { display: grid; min-width: 0px; gap: 8px; }
body.rb-app :is(.rb-appearance-choice, .rb-artwork-choice) { grid-template-columns: 44px minmax(0px, 1fr) auto; min-height: 58px; padding: 7px 10px; gap: 11px; appearance: none; font: inherit; cursor: pointer; }
body.rb-app :is(.rb-appearance-choice, .rb-artwork-choice)[aria-pressed="true"] { border-color: rgba(120, 158, 211, 0.82); background: var(--rb-app-action-surface-selected); box-shadow: rgba(120, 158, 211, 0.2) 0px 0px 0px 1px inset, rgba(255, 255, 255, 0.1) 0px 1px inset; }
body.rb-app .rb-choice-state { min-width: 46px; color: var(--rb-app-panel-muted); overflow: hidden; font-size: 0px; font-weight: 850; line-height: 0; text-align: right; }
body.rb-app .rb-choice-state::after { content: "Use"; display: block; font-size: 10px; line-height: 14px; }
body.rb-app [aria-pressed="true"] > .rb-choice-state::after { content: "Selected"; color: var(--rb-app-accent); }
body.rb-app .rb-appearance-swatch { display: grid; width: 42px; height: 42px; place-items: center; border: 2px solid rgba(255, 255, 255, 0.76); border-radius: 50%; color: rgb(255, 255, 255); font-size: 17px; line-height: 1; box-shadow: rgba(0, 0, 0, 0.22) 0px 4px 10px, rgba(255, 255, 255, 0.24) 0px 1px inset; box-sizing: border-box; }
body.rb-app .rb-appearance-swatch-blue { background: linear-gradient(145deg, rgb(48, 80, 160), rgb(40, 90, 167) 52%, rgb(30, 144, 255)); }
body.rb-app .rb-appearance-swatch-custom { background: radial-gradient(circle at 35% 30%, rgba(255, 255, 255, 0.72) 0px, rgba(255, 255, 255, 0.72) 7%, transparent 8%), conic-gradient(from 205deg, rgb(30, 144, 255), rgb(139, 92, 246), rgb(237, 120, 153), rgb(241, 189, 90), rgb(30, 144, 255)); }
body.rb-app .rb-custom-color-preview { background: linear-gradient(
      145deg,
      #ffffff6b,
      #fff0 48%),
    var(--rb-custom-preview-color, var(--rb-app-custom-color)); }
body.rb-app .rb-appearance-swatch-system { background: conic-gradient(rgb(255, 255, 255) 0deg, rgb(255, 255, 255) 50%, rgb(7, 17, 26) 50%); color: rgb(30, 144, 255); }
body.rb-app .rb-appearance-swatch-light { background: rgb(247, 251, 253); color: rgb(216, 144, 40); }
body.rb-app .rb-appearance-swatch-dark { background: rgb(7, 17, 26); color: rgb(255, 255, 255); }
body.rb-app .rb-custom-color-row { grid-template-columns: 44px minmax(0px, 1fr) 54px; min-height: 58px; margin: 0px 0px 0px 18px; width: calc(100% - 18px); padding: 7px 9px; gap: 10px; cursor: pointer; }
body.rb-app #rbCustomAppearanceColor { width: 48px; height: 44px; margin: 0px; padding: 3px; appearance: none; border: 1px solid var(--rb-app-panel-border); border-radius: 10px; background: transparent; cursor: pointer; }
body.rb-app #rbCustomAppearanceColor::-webkit-color-swatch-wrapper { padding: 0px; }
body.rb-app #rbCustomAppearanceColor::-webkit-color-swatch { border: 0px; border-radius: 7px; }
body.rb-app #rbCustomAppearanceColor:focus-visible { outline: 3px solid var(--rb-app-sub-blue); outline-offset: 2px; }
body.rb-app .rb-custom-glass-intensity-row { grid-template-columns: 44px minmax(0px, 1fr) minmax(112px, 138px); min-height: 72px; width: calc(100% - 18px); margin: 0px 0px 0px 18px; padding: 8px 9px; gap: 10px; }
body.rb-app .rb-glass-intensity-icon { border-color: rgba(255, 255, 255, 0.68); background: linear-gradient(
      135deg,
      #ffffffc7,
      #ffffff0f 48%),
    rgba(var(--rb-app-custom-color-rgb), .46); color: rgb(255, 255, 255); text-shadow: rgba(0, 0, 0, 0.34) 0px 1px 3px; }
body.rb-app .rb-glass-intensity-control { display: grid; min-width: 0px; grid-template-rows: 44px 14px; align-items: center; }
body.rb-app #rbCustomGlassIntensity { width: 100%; min-width: 0px; height: 44px; margin: 0px; padding: 0px; appearance: none; border: 0px; border-radius: 999px; outline: none; background: transparent; accent-color: var(--rb-app-custom-color); cursor: pointer; touch-action: manipulation; }
body.rb-app #rbCustomGlassIntensity::-webkit-slider-runnable-track { height: 7px; border: 1px solid rgba(255, 255, 255, 0.28); border-radius: 999px; background: linear-gradient(
      90deg,
      rgba(255, 255, 255, .22),
      var(--rb-app-custom-color)); box-shadow: rgba(0, 0, 0, 0.22) 0px 1px 2px inset; }
body.rb-app #rbCustomGlassIntensity::-webkit-slider-thumb { width: 28px; height: 28px; margin-top: -11px; appearance: none; border: 2px solid rgba(var(--rb-app-custom-color-rgb), .72); border-radius: 50%; background: rgb(255, 255, 255); box-shadow: rgba(0, 0, 0, 0.3) 0px 3px 9px, rgba(255, 255, 255, 0.92) 0px 1px inset; }
body.rb-app #rbCustomGlassIntensity:focus-visible { outline: 3px solid var(--rb-app-sub-blue); outline-offset: 1px; }
body.rb-app #rbCustomGlassIntensityValue { justify-self: end; color: var(--rb-app-panel-muted); font-size: 10px; font-weight: 850; line-height: 14px; }
body.rb-app .rb-artwork-choice img { display: block; width: 44px; height: 44px; border: 1px solid rgba(255, 255, 255, 0.42); border-radius: 12px; object-fit: cover; box-shadow: rgba(0, 0, 0, 0.22) 0px 4px 10px; }
body.rb-app .rb-platform-note { margin: 11px 2px 0px; padding: 10px 11px; border-left: 3px solid var(--rb-app-sub-blue); border-radius: 0px 10px 10px 0px; background: rgba(34, 184, 242, 0.08); color: var(--rb-app-panel-muted); font-size: 10px; font-weight: 700; line-height: 15px; }
body.rb-app :is(.rb-appearance-choice, .rb-artwork-choice):focus-visible { outline: 3px solid var(--rb-app-sub-blue); outline-offset: 2px; }
body.rb-app .rb-privacy-modal { width: min(-22px + 100vw, 610px); }
body.rb-app .rb-privacy-sections { display: grid; gap: 9px; margin: 13px 0px 4px; }
body.rb-app .rb-privacy-section { display: grid; grid-template-columns: 38px minmax(0px, 1fr); min-width: 0px; padding: 11px 12px; gap: 10px; border: 1px solid var(--rb-app-panel-border); border-radius: 15px; background: var(--rb-app-action-surface); box-shadow: rgba(255, 255, 255, 0.05) 0px 1px inset; }
body.rb-app .rb-privacy-section > span { display: grid; width: 36px; height: 36px; place-items: center; border-radius: 11px; background: linear-gradient(
      145deg,
      var(--rb-app-sub-blue),
      var(--rb-app-main-blue)); color: rgb(255, 255, 255); font-size: 17px; box-shadow: rgba(255, 255, 255, 0.24) 0px 1px inset; }
body.rb-app .rb-privacy-section :is(h3, p) { margin: 0px; }
body.rb-app .rb-privacy-section h3 { color: var(--rb-app-panel-text); font-size: 13px; font-weight: 900; line-height: 18px; }
body.rb-app .rb-privacy-section p { margin-top: 3px; color: var(--rb-app-panel-muted); font-size: 11px; font-weight: 650; line-height: 16px; }
body.rb-app .rb-privacy-effective { margin: 10px 2px 0px; color: var(--rb-app-panel-muted); font-size: 10px; font-weight: 750; line-height: 14px; text-align: center; }
body.rb-app .rb-support-modal { width: min(-22px + 100vw, 470px); text-align: center; }
body.rb-app .rb-share-modal { width: min(-22px + 100vw, 520px); }
body.rb-app .rb-share-modal > p:not(.mini-label) { margin: 8px 0px 14px; color: var(--rb-app-panel-muted); font-size: 12px; font-weight: 650; line-height: 18px; }
body.rb-app .rb-share-url-label { display: block; margin: 0px 0px 6px; color: var(--rb-app-panel-text); font-size: 11px; font-weight: 900; }
body.rb-app .rb-share-url { box-sizing: border-box; width: 100%; min-height: 46px; padding: 10px 12px; border: 1px solid var(--rb-app-panel-border); border-radius: 12px; background: var(--rb-app-action-surface); color: var(--rb-app-panel-text); font: 700 13px/20px var(--rb-font-supporting); }
body.rb-app .rb-share-url:focus-visible { outline: 3px solid var(--rb-app-sub-blue); outline-offset: 2px; }
body.rb-app .rb-share-fallback-actions { display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 8px; margin-top: 8px; }
@media (max-width: 430px) {
  body.rb-app .rb-share-fallback-actions { grid-template-columns: minmax(0px, 1fr); }
}
body.rb-app .rb-support-heart { display: grid; width: 72px; height: 72px; margin: 14px auto 12px; place-items: center; border: 1px solid rgba(255, 205, 222, 0.6); border-radius: 50%; background: linear-gradient(145deg, rgba(240, 146, 174, 0.98), rgba(181, 58, 58, 0.9)); color: rgb(255, 255, 255); font-size: 34px; line-height: 1; box-shadow: rgba(121, 22, 56, 0.3) 0px 10px 24px, rgba(255, 255, 255, 0.34) 0px 1px inset; }
body.rb-app .rb-support-modal > p { margin: 0px auto 12px; max-width: 390px; color: var(--rb-app-panel-muted); font-size: 12px; font-weight: 650; line-height: 18px; }
body.rb-app .rb-support-modal .rb-support-lead { color: var(--rb-app-panel-text); font-size: 15px; line-height: 20px; }
body.rb-app .rb-support-actions { display: grid; gap: 2px; margin-top: 14px; text-align: left; }
body.rb-app .rb-support-action-copy { display: flex; min-width: 0px; flex-direction: column; }
body.rb-app .rb-support-action-copy small { margin-top: 1px; color: var(--rb-app-panel-muted); font-size: 10px; font-weight: 750; line-height: 14px; }
body.rb-app .rb-about-heading { display: grid; gap: 3px; padding: 11px 13px; border: 1px solid var(--rb-app-panel-border); border-radius: 15px; background: var(--rb-app-action-surface); text-align: center; }
body.rb-app .rb-about-heading span { color: var(--rb-app-sub-blue); font-size: 10px; font-weight: 950; line-height: 14px; letter-spacing: 0.06em; text-transform: uppercase; }
body.rb-app .rb-about-heading strong { color: var(--rb-app-panel-text); font-family: var(--rb-font-display); font-weight: 400; font-size: 18px; line-height: 22px; }
body.rb-app .rb-about-story { display: grid; grid-template-columns: 42px minmax(0px, 1fr); min-width: 0px; padding: 12px; gap: 10px; border: 1px solid rgba(30, 144, 255, 0.42); border-radius: 16px; background: var(--rb-app-wavy-surface) center / cover; color: var(--rb-app-card-text); box-shadow: var(--rb-app-shadow-card); }
body.rb-app .rb-about-story > span { display: grid; width: 40px; height: 40px; place-items: center; border-radius: 50%; background: var(--rb-app-main-blue); color: rgb(255, 255, 255); font-size: 19px; box-shadow: 0 0 0 3px #fff, 0 0 0 4px var(--rb-app-sub-blue); }
body.rb-app .rb-about-story :is(h3, p) { margin: 0px; color: var(--rb-app-card-text) !important; }
body.rb-app .rb-about-story p { color: var(--rb-app-card-muted) !important; }
body.rb-app .rb-about-story h3 { font-size: 14px; font-weight: 950; line-height: 18px; }
body.rb-app .rb-about-story p { margin-top: 3px; font-size: 11px; font-weight: 650; line-height: 16px; }
body.rb-app .about-modal-copy .rb-about-closing { padding: 2px 4px; color: var(--rb-app-panel-muted); text-align: center; }
body.rb-app .about-modal-copy .rb-settings-action { color: var(--rb-app-panel-text); text-decoration: none; }
body.rb-app .rb-contact-website-icon img { display: block; width: 32px; height: 32px; border-radius: 50%; object-fit: contain; }
html.rb-appearance-light body.rb-app { color: var(--rb-app-panel-text); }
html.rb-appearance-light body.rb-app :is(.rb-screen-header h1, .rb-screen-description, .hero-lockup, #heroMenuButton, .rb-app-screen-home .summary-card h2, .rb-app-screen-home .summary-date, .rb-day-chip:not(.active), .rb-day-chip:not(.active) small, .rb-stops-summary strong, .rb-stops-summary small, .rb-nearby-map-count, .rb-command-row:not(.rb-command-row-primary), .rb-command-row:not(.rb-command-row-primary) .rb-command-copy small, .rb-command-row:not(.rb-command-row-primary) .rb-command-chevron, .rb-more-settings-section .hero-animation-toggle, .rb-more-settings-section .hero-animation-toggle-copy strong, .rb-more-settings-section .hero-animation-toggle-copy small, .hero-menu-panel .hero-panel-title, .day-picker-modal, .schedule-calendar-modal, .contact-modal, .install-modal) { color: var(--rb-app-panel-text) !important; text-shadow: none !important; }
html.rb-appearance-light body.rb-app :is(.rb-screen-description, #statusText, .hero-menu-panel .hero-menu-classics-intro, .rb-stops-summary small, .rb-command-row:not(.rb-command-row-primary) .rb-command-copy small, .day-picker-subtext, .contact-intro, .install-intro) { color: var(--rb-app-panel-muted) !important; }
html.rb-appearance-light body.rb-app :is(.rb-screen-kicker, .rb-section-title, .mini-label, .rb-more-link-group-title) { color: rgb(40, 90, 167) !important; text-shadow: none !important; }
html.rb-appearance-light body.rb-app .rb-more-settings-section .hero-animation-toggle, html.rb-appearance-light body.rb-app .rb-settings-link-row { border-bottom-color: rgba(40, 90, 167, 0.14) !important; }
html.rb-appearance-light body.rb-app [aria-pressed="true"] > .rb-choice-state::after { color: rgb(109, 69, 0); }
html.rb-appearance-light body.rb-app :is(.rb-settings-action, .rb-settings-link-row) :is(.rb-command-chevron, span:last-child) { color: var(--rb-a11y-blue); }
html.rb-appearance-light body.rb-app .rb-modal-close, html.rb-appearance-light body.rb-app .modal-close { border-color: rgba(40, 90, 167, 0.24) !important; background: rgba(255, 255, 255, 0.64) !important; color: rgb(42, 73, 154) !important; }
html.rb-appearance-light body.rb-app .rb-bottom-nav-item:focus-visible { outline-color: rgb(40, 90, 167); }
html.rb-appearance-light body.rb-app .rb-bottom-nav-badge { border-color: rgb(255, 255, 255); }
html.rb-appearance-light body.rb-app .rb-modal-backdrop, html.rb-appearance-light body.rb-app .modal-backdrop { background: rgba(11, 35, 51, 0.46) !important; }
@media (hover: hover) and (pointer: fine) {
  body.rb-app :is(.rb-social-icon-button, .rb-social-copy-button, .rb-appearance-choice, .rb-artwork-choice, .rb-settings-action):hover { filter: brightness(1.055) saturate(1.03); }
}
@media (min-width: 680px) {
  body.rb-app .rb-privacy-sections { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
  body.rb-app .rb-privacy-section { height: 100%; box-sizing: border-box; }
  body.rb-app .rb-artwork-choice-list { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
}
@media (max-width: 520px) {
  body.rb-app .rb-settings-modal { width: min(-14px + 100vw, 520px); max-height: calc(100dvh - var(--rb-app-safe-top) - var(--rb-app-safe-bottom) - 10px); padding: 18px 11px calc(14px + var(--rb-app-safe-bottom)); border-radius: 24px; }
  body.rb-app .rb-settings-modal > h2 { font-size: clamp(1.75rem, 8vw, 2.25rem); }
  body.rb-app :is(.rb-custom-color-row, .rb-custom-glass-intensity-row) { width: 100%; margin-left: 0px; }
  body.rb-app .rb-social-icon-strip { min-height: 54px; padding: 5px 7px; gap: 6px; }
  body.rb-app .rb-social-icon-button { width: 44px; height: 44px; }
  body.rb-app .rb-social-icon-button img { width: 25px; height: 25px; }
  body.rb-app .rb-social-copy-button { width: 44px; height: 44px; }
  body.rb-app .rb-settings-link-row { grid-template-columns: 36px minmax(0px, 1fr) 16px; gap: 8px; }
  body.rb-app :is(.rb-appearance-choice, .rb-artwork-choice) { grid-template-columns: 42px minmax(0px, 1fr) auto; padding-inline: 8px; gap: 8px; }
  body.rb-app .rb-appearance-swatch { width: 40px; height: 40px; }
  body.rb-app .rb-choice-state { min-width: 42px; }
  body.rb-app .rb-privacy-section { grid-template-columns: 36px minmax(0px, 1fr); padding: 10px; gap: 9px; }
}
@media (orientation: landscape) and (max-height: 560px) {
  body.rb-app .rb-settings-modal { width: min(calc(100vw - var(--rb-app-safe-left) - var(--rb-app-safe-right) - 18px), 720px); max-height: calc(100dvh - var(--rb-app-safe-top) - var(--rb-app-safe-bottom) - 8px); padding-top: 14px; padding-bottom: 14px; }
  body.rb-app .rb-appearance-choice-list { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
  body.rb-app .rb-custom-appearance-group { grid-column: 1 / -1; grid-template-columns: repeat(2, minmax(0px, 1fr)); }
  body.rb-app .rb-custom-appearance-group .rb-custom-glass-intensity-row { grid-column: 1 / -1; }
  body.rb-app :is(.rb-custom-color-row, .rb-custom-glass-intensity-row) { width: 100%; margin-left: 0px; }
}
.modal:not(.hidden) .rb-settings-modal { transform-origin: 50% 44%; animation: rb-popup-surface-in var(--rb-popup-duration) var(--rb-popup-ease) both !important; }
.modal.is-closing .rb-settings-modal { pointer-events: none; animation: 0.22s cubic-bezier(0.32, 0, 0.67, 0) 0s 1 normal both running rb-popup-surface-out !important; }
html.rb-motion-off .modal:not(.hidden) .rb-settings-modal, html.rb-motion-off .modal.is-closing .rb-settings-modal, html.rb-motion-off body.rb-app .rb-native-switch > input + span, html.rb-motion-off body.rb-app .rb-native-switch > input + span > span { animation: auto ease 0s 1 normal none running none !important; transition: none !important; will-change: auto !important; }
@media (prefers-reduced-motion: reduce) {
  html:not(.rb-motion-off) .modal:not(.hidden) .day-picker-modal, html:not(.rb-motion-off) .modal.is-closing .schedule-calendar-modal, html:not(.rb-motion-off) .hero-menu-panel[role="dialog"]:not([hidden]), html:not(.rb-motion-off) .modal:not(.hidden) .modal-backdrop, html:not(.rb-motion-off) body.rb-day-switching #results, html:not(.rb-motion-off) .rb-all-map-pins-enter, html:not(.rb-motion-off) body.rb-app #heroMenuPanel, html:not(.rb-motion-off) body.rb-app #notice.rb-global-banner.is-active, html:not(.rb-motion-off) body.rb-app #notice.rb-global-banner.is-hiding, html:not(.rb-motion-off) .modal:not(.hidden) .rb-settings-modal, html:not(.rb-motion-off) .modal.is-closing .rb-settings-modal, html:not(.rb-motion-off) body.rb-app .rb-native-switch > input + span, html:not(.rb-motion-off) body.rb-app .rb-native-switch > input + span > span, html:not(.rb-motion-off) body.rb-app :is(.rb-social-icon-button, .rb-social-copy-button, .rb-appearance-choice, .rb-artwork-choice, .rb-settings-action) { animation: auto ease 0s 1 normal none running none !important; transition: none !important; will-change: auto !important; }
}
@media (forced-colors: active) {
  body.rb-app :is(.rb-appearance-choice, .rb-artwork-choice, .rb-custom-color-row, .rb-custom-glass-intensity-row, .rb-appearance-toggle-row, .rb-settings-action, .rb-social-icon-button, .rb-social-copy-button) { forced-color-adjust: auto; border: 1px solid buttontext !important; }
  body.rb-app :is(.rb-appearance-choice, .rb-artwork-choice)[aria-pressed="true"] { outline: highlight solid 3px; outline-offset: -4px; }
  body.rb-app .rb-native-switch > input:checked + span { border-color: highlight; background: highlight; }
  body.rb-app #rbCustomGlassIntensity { appearance: auto; forced-color-adjust: auto; }
}
html.rb-apple-mobile:not(.rb-ios-standalone) { --rb-app-glass-filter: blur(14px) saturate(1.16); --rb-app-glass-filter-strong: blur(18px) saturate(1.18); }
html.rb-apple-mobile:not(.rb-ios-standalone) body.rb-app :is(.rb-screen-header, .rb-app-screen-home .hero-card, #heroMenuButton, .rb-app-screen-home .summary-card, .rb-day-chip:not(.active), .rb-stops-summary, .rb-nearby-map-card, .rb-nearby-actions .rb-command-row:not(.rb-command-row-primary), .rb-command-group, .rb-nearby-map-count, .rb-more-settings-section #heroInfoLocationTools, .rb-more-settings-section .install-footer) { backdrop-filter: var(--rb-app-glass-filter) !important; }
html.rb-apple-mobile:not(.rb-ios-standalone) body.rb-app :is(.hero-menu-panel, .hero-menu-panel .hero-menu-classics, .day-picker-modal, .schedule-calendar-modal, .contact-modal, .install-modal, .rb-settings-modal) { backdrop-filter: var(--rb-app-glass-filter-strong) !important; }
html:not(.rb-ios-standalone) body.rb-app .rb-social-icon-strip { border-color: var(--rb-app-panel-border) !important; background: var(--rb-app-glass-surface) !important; backdrop-filter: var(--rb-app-glass-filter-strong) !important; }
html:not(.rb-ios-standalone) body.rb-app .rb-bottom-nav { border-color: var(--rb-app-dock-border) !important; background: var(--rb-app-dock-surface) !important; }
html.rb-apple-mobile:not(.rb-ios-standalone) body.rb-app .modal-backdrop, html.rb-apple-mobile:not(.rb-ios-standalone) body.rb-app .hero-utility-backdrop { backdrop-filter: blur(8px) saturate(1.08) !important; }
html.rb-shade-wavy body.rb-app #results .stop-card:not(.cancelled-card), html.rb-shade-wavy body.rb-app .rb-featured-stop-card:not(.cancelled-card), html.rb-shade-wavy body.rb-app .rb-schedule-empty-card, html.rb-shade-wavy body.rb-app .rb-state-card, html.rb-shade-wavy body.rb-app .rb-nearby-stop-row, html.rb-shade-wavy body.rb-app .rb-saved-content .saved-stop-notification-controls, html.rb-shade-wavy body.rb-app .rb-saved-content .saved-stop-notification-settings, html.rb-shade-wavy body.rb-app .rb-saved-content .saved-stop-notification-enrollment, html.rb-shade-wavy body.rb-app .rb-saved-content .saved-stops-list > *, html.rb-shade-wavy body.rb-app .rb-saved-summary, html.rb-shade-wavy body.rb-app .rb-saved-content .saved-stop-item, html.rb-shade-wavy body.rb-app .rb-more-links-section .hero-info-link, html.rb-shade-wavy body.rb-app .rb-more-links-section .instagram-quick-tag-button, html.rb-shade-wavy body.rb-app .rb-map-picker-slot, html.rb-shade-wavy body.rb-app .hero-menu-panel .hero-menu-item, html.rb-shade-wavy body.rb-app .hero-menu-panel .hero-menu-availability-note, html.rb-shade-wavy body.rb-app .contact-action, html.rb-shade-wavy body.rb-app .rb-about-story { background-color: rgb(244, 239, 225) !important; background-image: linear-gradient(
      145deg,
      rgba(var(--rb-app-wavy-tint-rgb), var(--rb-app-wavy-tint-opacity)),
      rgba(var(--rb-app-wavy-tint-rgb), var(--rb-app-wavy-tint-soft-opacity)) 54%,
      #ffffff09),
    url(assets/schedule-wavy-stripes.webp?v=e60748e390c2&rb=20260802b) !important; background-position: center center, center center !important; background-size: cover, cover !important; background-repeat: no-repeat, no-repeat !important; background-blend-mode: normal, normal !important; }
body.rb-app #allMapPreview[data-rb-map-appearance="dark"] .all-map-preview-empty { color: #ffffff !important; background: rgba(5, 13, 22, .72) !important; font-size: clamp(16px, 1.7vw, 19px) !important; font-weight: 900 !important; line-height: 1.4 !important; text-shadow: 0 2px 3px #000000, 0 0 12px #000000 !important; }
body.rb-app #results .stop-card .stop-name, body.rb-app #results .stop-card h3, body.rb-app .results .stop-card .stop-name, body.rb-app .results .stop-card h3, body.rb-app .rb-featured-stop-card .stop-name, body.rb-app .rb-featured-stop-card h3 { color: rgb(0, 0, 0) !important; text-shadow: none !important; }
body.rb-app #results .stop-card .stop-time, body.rb-app .results .stop-card .stop-time, body.rb-app .rb-featured-stop-card .stop-time { color: rgb(140, 79, 18) !important; border-color: rgba(189, 122, 37, 0.28) !important; background: rgba(255, 240, 223, 0.88) !important; font-weight: 600 !important; text-shadow: none !important; }
body.rb-app #results .stop-card .stop-time::before, body.rb-app .results .stop-card .stop-time::before, body.rb-app .rb-featured-stop-card .stop-time::before { background: rgb(189, 122, 37) !important; box-shadow: rgba(189, 122, 37, 0.28) 0px 0px 6px !important; }
body.rb-app #results .stop-card .stop-address, body.rb-app #results .stop-card .stop-source, body.rb-app .results .stop-card .stop-address, body.rb-app .results .stop-card .stop-source, body.rb-app .rb-featured-stop-card .stop-address, body.rb-app .rb-featured-stop-card .stop-source { color: rgb(76, 96, 116) !important; text-shadow: none !important; }
body.rb-app .rb-nearby-stop-copy strong { color: rgb(0, 0, 0) !important; }
body.rb-app .rb-nearby-stop-copy small { color: rgb(124, 74, 23) !important; }
body.rb-app .rb-nearby-stop-copy span { color: rgba(0, 0, 0, 0.7) !important; }
body.rb-app .rb-saved-content .saved-stop-copy strong { color: rgb(0, 0, 0) !important; }
body.rb-app .rb-saved-content .saved-stop-copy .saved-stop-time { color: rgb(124, 74, 23) !important; text-shadow: none !important; }
body.rb-app .rb-saved-content .saved-stop-copy .saved-stop-address { color: rgb(76, 96, 116) !important; }
body.rb-app .schedule-calendar-event-copy strong { color: rgb(0, 0, 0) !important; }
body.rb-app .schedule-calendar-event-copy time { color: rgb(40, 90, 167) !important; }
body.rb-app .schedule-calendar-event-copy span, body.rb-app .schedule-calendar-event-copy small { color: rgba(0, 0, 0, 0.68) !important; }
body.rb-app .rb-more-links-section .rb-more-link-group, body.rb-app .rb-more-links-section .rb-more-link-group-title, body.rb-app .rb-more-links-section .hero-info-link, body.rb-app .rb-more-links-section .hero-info-link > span:not(.hero-info-link-icon), body.rb-app .rb-more-links-section .rb-more-link-copy, body.rb-app .rb-more-links-section .rb-more-link-copy strong { color: rgb(0, 0, 0) !important; text-shadow: none !important; }
body.rb-app .rb-more-links-section .hero-info-link small, body.rb-app .rb-more-links-section .rb-more-link-copy small { color: rgb(76, 96, 116) !important; text-shadow: none !important; }
body.rb-app .rb-more-links-section .hero-info-link-icon { color: rgb(0, 0, 0) !important; }
body.rb-app .rb-more-links-section .rb-more-title-heart { color: rgb(181, 58, 58) !important; }
:root { --rb-app-background-phone-image: url("assets/app-background/botanical-background.webp?v=15d153df46fa&rb=20260729b") !important; --rb-app-background-tablet-image: url("assets/app-background/botanical-background.webp?v=15d153df46fa&rb=20260729b") !important; --rb-app-background-landscape-image: url("assets/app-background/botanical-background.webp?v=15d153df46fa&rb=20260729b") !important; --rb-app-background-image: url("assets/app-background/botanical-background.webp?v=15d153df46fa&rb=20260729b") !important; --rb-page-bg-image: url("assets/app-background/botanical-background.webp?v=15d153df46fa&rb=20260729b") !important; }
html { background-color: rgb(0, 0, 0) !important; background-image: var(--rb-page-bg-image) !important; background-position: center center !important; background-repeat: no-repeat !important; background-size: cover !important; }
body.rb-app .rb-day-chip.active, body.rb-app .rb-day-chip.active * { color: rgb(0, 0, 0) !important; text-shadow: none !important; }
body.rb-app #results .stop-card:not(.cancelled-card) :is(.save-stop-btn, .calendar-stop-btn, .route-main), body.rb-app #results .stop-card:not(.cancelled-card) :is(.save-stop-btn, .calendar-stop-btn, .route-main) *, body.rb-app .stop-card:not(.cancelled-card) :is(.save-stop-btn, .calendar-stop-btn, .route-main), body.rb-app .stop-card:not(.cancelled-card) :is(.save-stop-btn, .calendar-stop-btn, .route-main) * { color: rgb(0, 0, 0) !important; text-shadow: none !important; }
body.rb-app #results .stop-card:not(.cancelled-card) .distance-chip, body.rb-app .stop-card:not(.cancelled-card) .distance-chip, body.rb-app .rb-nearby-stop-distance, body.rb-app .rb-saved-content .saved-stop-copy .saved-stop-distance { color: rgb(255, 255, 255) !important; background: linear-gradient(135deg, rgba(42, 73, 154, 0.88), rgba(40, 90, 167, 0.82)) !important; border-color: rgba(255, 255, 255, 0.42) !important; backdrop-filter: blur(14px) saturate(1.08) !important; }
body.rb-app .rb-app-screen-saved .rb-screen-header-copy, body.rb-app .rb-app-screen-saved .rb-screen-header-copy h1, body.rb-app .rb-app-screen-saved .rb-screen-kicker { color: rgb(0, 0, 0) !important; text-shadow: none !important; }
body.rb-app .rb-app-screen-saved .rb-screen-description { color: rgb(76, 96, 116) !important; }
body.rb-app .rb-app-screen-saved :is(.saved-stop-notification-controls, .saved-stop-notification-enrollment, .saved-stop-notification-inbox, .saved-stop-notification-settings, .saved-stop-notification-rules, .saved-stop-notification-rule, .saved-stops-list, .saved-stops-empty, .saved-stop-copy) { color: rgb(0, 0, 0) !important; }
body.rb-app .rb-app-screen-saved :is(.saved-stop-notification-summary, .saved-stop-notification-summary strong, .saved-stop-notification-enrollment-copy strong, .saved-stop-notification-inbox-heading > span, #savedStopNotificationInboxTitle, .saved-stop-notification-master-copy strong, #savedStopNotificationSettingsTitle, .saved-stop-notification-rule-label, .saved-stops-empty > strong, .saved-stop-copy strong, .saved-stop-copy .saved-stop-name, .saved-stop-copy .stop-name) { color: rgb(0, 0, 0) !important; text-shadow: none !important; }
body.rb-app .rb-app-screen-saved :is(.hero-animation-toggle-copy, .saved-stop-notification-enrollment-copy, .saved-stop-notification-inbox-heading > span, .saved-stop-notification-inbox-empty, .saved-stop-notification-master-copy, .saved-stop-notification-settings-heading, .saved-stop-notification-time-control > span, .saved-stops-empty > span, .saved-stop-copy .saved-stop-address, .saved-stop-copy .stop-address) { color: rgb(76, 96, 116) !important; }
body.rb-app .rb-app-screen-saved :is(.saved-stop-copy .saved-stop-time, .saved-stop-copy .stop-time) { color: rgb(124, 74, 23) !important; }
body.rb-app .hero-menu-icon svg, body.rb-app .hero-menu-icon svg path { fill: currentcolor !important; stroke: none !important; stroke-width: 0 !important; }
body.rb-app :is(#appScreenNearby, #appScreenSaved, #appScreenMore) { --rb-ios-blue: #285aa7; --rb-ios-blue-deep: #2a499a; --rb-ios-blue-bright: #1e90ff; --rb-ios-blue-soft: #d9eff8; --rb-ios-blue-muted: #789ed3; --rb-ios-tan: #f4efe1; --rb-ios-ink: #000000; --rb-ios-slate: #4c6074; --rb-ios-time: #7c4a17; --rb-ios-red: #b53a3a; --rb-ios-wavy-surface: linear-gradient(135deg, rgba(40, 90, 167, 0.28), rgba(40, 90, 167, 0.15) 56%, rgba(255, 255, 255, 0.04)),
    linear-gradient(rgba(244, 239, 225, 0.24), rgba(244, 239, 225, 0.24)),
    var(--rb-app-wavy-surface) center / cover no-repeat,
    var(--rb-ios-tan); color: var(--rb-ios-ink) !important; }
body.rb-app :is(#appScreenNearby, #appScreenSaved, #appScreenMore) [hidden] { display: none !important; }
body.rb-app :is(#appScreenNearby, #appScreenSaved, #appScreenMore) > .rb-app-screen-scroll { width: min(100%, 840px) !important; margin-inline: auto !important; padding: 12px 12px calc(92px + env(safe-area-inset-bottom, 0px)) !important; }
body.rb-app #appScreenSaved > .rb-app-screen-scroll, body.rb-app #appScreenMore > .rb-app-screen-scroll { display: flex !important; flex-direction: column !important; gap: 11px !important; }
body.rb-app :is(#appScreenNearby, #appScreenSaved, #appScreenMore) > .rb-app-screen-scroll > .rb-screen-header { display: grid !important; grid-template-columns: 58px minmax(0px, 1fr) !important; align-items: center !important; gap: 12px !important; min-height: 78px !important; margin: 0px !important; padding: 10px !important; overflow: hidden !important; border: 1px solid rgba(30, 144, 255, 0.42) !important; border-radius: 22px !important; background: var(--rb-app-glass-surface) !important; box-shadow: rgba(0, 0, 0, 0.26) 0px 8px 22px !important; color: var(--rb-ios-ink) !important; text-align: left !important; backdrop-filter: var(--rb-app-glass-filter) !important; }
body.rb-app :is(#appScreenNearby, #appScreenSaved, #appScreenMore) .rb-screen-header::after { content: none !important; }
body.rb-app :is(#appScreenNearby, #appScreenSaved, #appScreenMore) :is(.rb-screen-header-icon, .rb-header-pin-cluster) { display: grid !important; place-items: center !important; width: 58px !important; height: 58px !important; margin: 0px !important; overflow: hidden !important; border-radius: 18px !important; }
body.rb-app :is(#appScreenNearby, #appScreenSaved, #appScreenMore) .rb-screen-header-icon svg { width: 25px !important; height: 25px !important; }
body.rb-app #appScreenNearby .rb-header-pin-cluster img { width: 52px !important; height: 52px !important; object-fit: contain !important; }
body.rb-app :is(#appScreenNearby, #appScreenSaved, #appScreenMore) .rb-screen-header-copy { display: flex !important; min-width: 0px !important; flex-direction: column !important; align-items: flex-start !important; gap: 1px !important; color: var(--rb-ios-ink) !important; }
body.rb-app :is(#appScreenNearby, #appScreenSaved, #appScreenMore) .rb-screen-kicker { margin: 0px !important; color: var(--rb-ios-blue-muted) !important; font: 900 10px / 1.15 Poppins, sans-serif !important; letter-spacing: 0.8px !important; text-transform: uppercase !important; }
body.rb-app :is(#appScreenNearby, #appScreenSaved, #appScreenMore) .rb-screen-header h1 { margin: 0px !important; color: var(--rb-ios-ink) !important; font: 800 30px / 1 Fraunces, serif !important; letter-spacing: -0.55px !important; }
body.rb-app :is(#appScreenNearby, #appScreenSaved, #appScreenMore) .rb-screen-description { margin: 3px 0px 0px !important; color: rgba(0, 0, 0, 0.86) !important; font: 500 12px / 1.3 Poppins, sans-serif !important; }
body.rb-app :is(#appScreenNearby, #appScreenSaved, #appScreenMore) .rb-section-title { margin: 3px 4px 7px !important; padding: 0px !important; color: var(--rb-ios-blue-muted) !important; font: 900 10px / 1.2 Poppins, sans-serif !important; letter-spacing: 0.8px !important; text-align: left !important; text-transform: uppercase !important; }
body.rb-app #appScreenMore .rb-more-section, body.rb-app #appScreenMore .rb-more-link-group { margin: 0px !important; padding: 0px !important; border: 0px !important; background: transparent !important; box-shadow: none !important; }
body.rb-app #appScreenMore .rb-more-link-groups { display: flex !important; flex-direction: column !important; gap: 11px !important; }
body.rb-app #appScreenMore .rb-more-link-group-title { margin: 0px 4px 7px !important; color: var(--rb-ios-blue-muted) !important; font: 900 10px / 1.2 Poppins, sans-serif !important; letter-spacing: 0.8px !important; text-align: left !important; text-transform: uppercase !important; }
body.rb-app #appScreenMore .hero-info-links { display: grid !important; grid-template-columns: repeat(2, minmax(0px, 1fr)) !important; gap: 8px !important; margin: 0px !important; }
body.rb-app #appScreenMore .hero-info-links > :is(a, button).hero-info-link { display: grid !important; grid-template-columns: 43px minmax(0px, 1fr) 13px !important; align-items: center !important; gap: 7px !important; min-width: 0px !important; min-height: 68px !important; margin: 0px !important; padding: 0px 8px !important; border: 1px solid rgba(30, 144, 255, 0.45) !important; border-radius: 17px !important; background: var(--rb-ios-wavy-surface) !important; box-shadow: rgba(0, 0, 0, 0.25) 0px 8px 16px !important; color: var(--rb-ios-ink) !important; font: 900 12px / 1.2 Poppins, sans-serif !important; text-align: left !important; text-decoration: none !important; text-shadow: none !important; appearance: none !important; }
body.rb-app #appScreenMore .hero-info-links > :is(a, button).hero-info-link::after { content: "" !important; display: block !important; width: 8px !important; height: 8px !important; justify-self: center !important; border-top: 2px solid var(--rb-ios-blue) !important; border-right: 2px solid var(--rb-ios-blue) !important; transform: rotate(45deg) !important; text-shadow: none !important; }
body.rb-app #appScreenMore .hero-info-links > :is(a, button).hero-info-link > :not(.hero-info-link-icon) { min-width: 0px !important; color: var(--rb-ios-ink) !important; font: 900 12px / 1.2 Poppins, sans-serif !important; text-align: center !important; text-shadow: none !important; }
body.rb-app #appScreenMore .rb-more-link-copy strong { color: var(--rb-ios-ink) !important; font: inherit !important; }
body.rb-app #appScreenMore .rb-more-title-heart { color: var(--rb-ios-red) !important; }
body.rb-app #appScreenMore .hero-info-link-icon { display: grid !important; place-items: center !important; width: 43px !important; height: 43px !important; margin: 0px !important; overflow: hidden !important; border-radius: 14px !important; }
body.rb-app #appScreenMore .hero-info-link-icon :is(svg, img) { width: 29px !important; height: 29px !important; max-width: 29px !important; max-height: 29px !important; object-fit: contain !important; }
body.rb-app #appScreenMore .hero-info-contact-icon svg, body.rb-app #appScreenMore .rb-more-action-icon svg:not(.rb-book-truck-mark) { width: 21px !important; height: 21px !important; }
body.rb-app #appScreenMore #heroInfoLocationTools { display: block !important; margin: 0px !important; padding: 0px 12px !important; overflow: hidden !important; border: 1px solid rgba(255, 255, 255, 0.2) !important; border-radius: 18px !important; background: linear-gradient(145deg, rgba(30, 144, 255, 0.12), rgba(42, 73, 154, 0.06)), rgba(42, 73, 154, 0.68) !important; box-shadow: rgba(0, 0, 0, 0.26) 0px 8px 22px !important; color: var(--rb-ios-ink) !important; backdrop-filter: var(--rb-app-glass-filter) !important; }
body.rb-app #appScreenMore #heroInfoLocationTools > :is(.rb-settings-link-row, .hero-animation-toggle), body.rb-app #appScreenMore #heroInfoLocationTools .rb-haptics-settings > .hero-animation-toggle { display: grid !important; grid-template-columns: 44px minmax(0px, 1fr) auto !important; align-items: center !important; gap: 11px !important; width: 100% !important; min-height: 62px !important; margin: 0px !important; padding: 8px 0px !important; border: 0px !important; border-radius: 0px !important; background: transparent !important; box-shadow: rgba(255, 255, 255, 0.18) 0px -1px inset !important; color: var(--rb-ios-ink) !important; text-align: left !important; appearance: none !important; }
body.rb-app #appScreenMore #heroInfoLocationTools > #shareTrackerBtn { box-shadow: none !important; }
body.rb-app #appScreenMore .rb-settings-row-icon, body.rb-app #appScreenMore #heroInfoLocationTools > .hero-animation-toggle::before, body.rb-app #appScreenMore #heroInfoLocationTools .rb-haptics-settings > .hero-animation-toggle::before { content: "" !important; display: grid !important; place-items: center !important; width: 44px !important; height: 44px !important; margin: 0px !important; overflow: hidden !important; border: 1px solid rgba(40, 90, 167, 0.16) !important; border-radius: 14px !important; background-color: var(--rb-ios-blue-soft) !important; background-position: center center !important; background-repeat: no-repeat !important; background-size: 22px 22px !important; color: transparent !important; font-size: 0px !important; }
body.rb-app #appScreenMore #rbAppearanceButton .rb-settings-row-icon { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3.5a8.5 8.5 0 1 0 0 17c1.15 0 1.75-.63 1.75-1.38 0-.53-.28-.93-.55-1.3-.28-.38-.55-.75-.55-1.25 0-.92.75-1.67 1.67-1.67h1.7c2.48 0 4.48-2 4.48-4.48C20.5 6.6 16.7 3.5 12 3.5Z' fill='none' stroke='%23285AA7' stroke-width='1.7'/%3E%3Ccircle cx='7.5' cy='10' r='1.25' fill='%23285AA7'/%3E%3Ccircle cx='10' cy='6.8' r='1.25' fill='%23285AA7'/%3E%3Ccircle cx='14.2' cy='6.8' r='1.25' fill='%23285AA7'/%3E%3Ccircle cx='17' cy='10' r='1.25' fill='%23285AA7'/%3E%3C/svg%3E") !important; }
body.rb-app #appScreenMore #rbMapPickerIcon { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m3.5 6 5-2.5 7 2.5 5-2.5v14.5l-5 2.5-7-2.5-5 2.5Z' fill='none' stroke='%23285AA7' stroke-width='1.7' stroke-linejoin='round'/%3E%3Cpath d='M8.5 3.5V18M15.5 6v14.5' fill='none' stroke='%23285AA7' stroke-width='1.7'/%3E%3C/svg%3E") !important; }
body.rb-app #appScreenMore #rbMapPickerIcon > * { display: none !important; }
body.rb-app #appScreenMore #rbPrivacyButton .rb-settings-row-icon { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3.5 19 6v5.4c0 4.25-2.55 7.55-7 9.1-4.45-1.55-7-4.85-7-9.1V6Z' fill='none' stroke='%23285AA7' stroke-width='1.7' stroke-linejoin='round'/%3E%3Cpath d='m8.7 12 2.1 2.1 4.6-4.7' fill='none' stroke='%23285AA7' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important; }
body.rb-app #appScreenMore #heroAnimationToggle::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m12 3 1.15 3.85L17 8l-3.85 1.15L12 13l-1.15-3.85L7 8l3.85-1.15ZM18 13l.75 2.25L21 16l-2.25.75L18 19l-.75-2.25L15 16l2.25-.75ZM6 14l.75 2.25L9 17l-2.25.75L6 20l-.75-2.25L3 17l2.25-.75Z' fill='%23285AA7'/%3E%3C/svg%3E") !important; }
body.rb-app #appScreenMore #rbHapticsToggle::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='8' y='3.5' width='8' height='17' rx='2' fill='none' stroke='%23285AA7' stroke-width='1.7'/%3E%3Cpath d='M5.5 8.5c-1.5 2.2-1.5 4.8 0 7M18.5 8.5c1.5 2.2 1.5 4.8 0 7' fill='none' stroke='%23285AA7' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E") !important; }
body.rb-app #appScreenMore #heroStopShareToggle::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 8H5.5A2.5 2.5 0 0 0 3 10.5v8A2.5 2.5 0 0 0 5.5 21h13a2.5 2.5 0 0 0 2.5-2.5v-8A2.5 2.5 0 0 0 18.5 8H16M12 15V3m0 0L8.5 6.5M12 3l3.5 3.5' fill='none' stroke='%23285AA7' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important; }
body.rb-app #appScreenMore #heroAutoLocationToggle::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m12 3 7.8 17-7.8-3.7L4.2 20Z' fill='none' stroke='%23285AA7' stroke-width='1.7' stroke-linejoin='round'/%3E%3C/svg%3E") !important; }
body.rb-app #appScreenMore .rb-settings-share-icon { background-image: none !important; }
body.rb-app #appScreenMore .rb-settings-share-icon img { display: block !important; width: 24px !important; height: 24px !important; object-fit: contain !important; }
body.rb-app #appScreenMore #heroInfoLocationTools .hero-animation-toggle-copy { display: flex !important; min-width: 0px !important; flex-direction: column !important; align-items: flex-start !important; gap: 2px !important; color: var(--rb-ios-ink) !important; text-align: left !important; }
body.rb-app #appScreenMore #heroInfoLocationTools .hero-animation-toggle-copy strong { color: var(--rb-ios-ink) !important; font: 900 14px / 1.22 Poppins, sans-serif !important; text-shadow: none !important; }
body.rb-app #appScreenMore #heroInfoLocationTools .hero-animation-toggle-copy small { color: rgba(0, 0, 0, 0.86) !important; font: 500 11px / 1.3 Poppins, sans-serif !important; text-shadow: none !important; }
body.rb-app #appScreenMore .rb-haptics-settings { margin: 0px !important; padding: 0px !important; border: 0px !important; background: transparent !important; box-shadow: none !important; }
body.rb-app #appScreenMore .rb-haptic-intensity-setting { margin: 0px !important; padding: 10px 0px 12px 55px !important; border: 0px !important; background: transparent !important; box-shadow: rgba(255, 255, 255, 0.18) 0px -1px inset !important; }
body.rb-app #appScreenMore .rb-haptic-intensity-label, body.rb-app #appScreenMore .rb-haptic-intensity-example { color: var(--rb-ios-ink) !important; text-shadow: none !important; }
body.rb-app #appScreenMore .rb-haptic-intensity-control button { color: var(--rb-ios-ink) !important; }
body.rb-app #appScreenMore .rb-haptic-intensity-control button[aria-checked="true"] { background: var(--rb-ios-blue-bright) !important; color: var(--rb-ios-ink) !important; }
body.rb-app #appScreenMore .hero-info-location-status:empty { display: none !important; }
body.rb-app #appScreenMore .install-footer { margin: 11px 0px 0px !important; padding: 0px !important; border: 0px !important; background: transparent !important; }
body.rb-app #appScreenSaved .rb-saved-content { display: flex !important; width: 100% !important; flex-direction: column !important; gap: 11px !important; margin: 0px !important; padding: 0px !important; }
body.rb-app #appScreenSaved .saved-stop-notification-controls { display: grid !important; grid-template-columns: 46px minmax(0px, 1fr) 46px !important; align-items: center !important; gap: 10px !important; min-height: 82px !important; margin: 0px !important; padding: 10px 13px !important; border: 1px solid rgba(205, 171, 104, 0.8) !important; border-radius: 18px !important; background: var(--rb-ios-wavy-surface) !important; box-shadow: rgba(0, 0, 0, 0.25) 0px 8px 16px !important; color: var(--rb-ios-ink) !important; }
body.rb-app #appScreenSaved .saved-stop-notification-summary { display: flex !important; grid-area: 1 / 2 !important; width: auto !important; min-width: 0px !important; flex-direction: column !important; align-items: center !important; justify-content: center !important; gap: 2px !important; color: var(--rb-ios-ink) !important; text-align: center !important; }
body.rb-app #appScreenSaved .saved-stop-notification-summary strong { color: var(--rb-ios-ink) !important; font: 900 15px / 1.2 Poppins, sans-serif !important; text-shadow: none !important; }
body.rb-app #appScreenSaved .saved-stop-notification-summary small { color: rgba(0, 0, 0, 0.68) !important; font: 700 11px / 1.3 Poppins, sans-serif !important; text-shadow: none !important; }
body.rb-app #appScreenSaved .saved-stop-notification-bell-button { grid-area: 1 / 1 !important; }
body.rb-app #appScreenSaved #savedStopNotificationSettingsButton { grid-area: 1 / 3 !important; }
body.rb-app #appScreenSaved .saved-stop-notification-settings-button { display: grid !important; place-items: center !important; width: 46px !important; height: 46px !important; min-width: 46px !important; min-height: 46px !important; margin: 0px !important; padding: 0px !important; border-radius: 50% !important; }
body.rb-app #appScreenSaved :is(.saved-stop-notification-enrollment, .saved-stop-notification-settings, .saved-stop-notification-inbox), body.rb-app #appScreenSaved .rb-saved-summary, body.rb-app #appScreenSaved .saved-stop-item, body.rb-app #appScreenSaved .saved-stops-empty { border-radius: 18px !important; background: var(--rb-ios-wavy-surface) !important; box-shadow: rgba(0, 0, 0, 0.25) 0px 8px 16px !important; color: var(--rb-ios-ink) !important; }
body.rb-app #appScreenSaved :is(.saved-stop-notification-enrollment, .saved-stop-notification-settings, .saved-stop-notification-inbox) :is(strong, small, span, label, p) { color: var(--rb-ios-ink) !important; text-shadow: none !important; }
body.rb-app #appScreenSaved .rb-saved-summary { display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 9px !important; min-height: 54px !important; margin: 0px !important; padding: 9px 13px !important; }
body.rb-app #appScreenSaved .rb-saved-summary strong { color: var(--rb-ios-ink) !important; text-shadow: none !important; }
body.rb-app #appScreenSaved .saved-stops-list { display: grid !important; grid-template-columns: minmax(0px, 1fr) !important; gap: 10px !important; margin: 0px !important; padding: 0px !important; }
body.rb-app #appScreenSaved .saved-stop-item { display: grid !important; grid-template-columns: minmax(0px, 1fr) !important; gap: 11px !important; margin: 0px !important; padding: 13px !important; }
body.rb-app #appScreenSaved .saved-stop-copy > strong { color: var(--rb-ios-ink) !important; font: 900 15px / 1.22 Poppins, sans-serif !important; text-shadow: none !important; }
body.rb-app #appScreenSaved .saved-stop-time { color: var(--rb-ios-time) !important; font: 800 12px / 1.3 Poppins, sans-serif !important; }
body.rb-app #appScreenSaved .saved-stop-address { color: var(--rb-ios-slate) !important; font: 500 11px / 1.35 Poppins, sans-serif !important; }
body.rb-app #appScreenSaved .saved-stop-actions { display: grid !important; grid-template-columns: repeat(3, minmax(0px, 1fr)) !important; gap: 8px !important; }
body.rb-app #appScreenSaved .saved-stop-actions button { min-height: 46px !important; border-radius: 13px !important; color: var(--rb-ios-ink) !important; font: 900 11px / 1.1 Poppins, sans-serif !important; }
body.rb-app #appScreenSaved .saved-stop-actions [data-saved-route] { background: var(--rb-ios-blue-bright) !important; color: var(--rb-ios-ink) !important; }
body.rb-app #appScreenSaved .saved-stops-empty { min-height: 0px !important; padding: 20px 22px !important; }
body.rb-app #appScreenSaved .saved-empty-cup, body.rb-app #appScreenSaved .saved-empty-cup img { width: 92px !important; height: 92px !important; object-fit: contain !important; }
body.rb-app #appScreenSaved .saved-stops-empty strong { color: var(--rb-ios-ink) !important; font: 900 17px / 1.2 Poppins, sans-serif !important; text-shadow: none !important; }
body.rb-app #appScreenSaved .saved-stops-empty > span:not(.saved-empty-cup) { color: rgba(0, 0, 0, 0.7) !important; font: 500 12px / 1.4 Poppins, sans-serif !important; text-shadow: none !important; }
body.rb-app #appScreenNearby > .rb-app-screen-scroll { display: grid !important; grid-template-columns: repeat(6, minmax(0px, 1fr)) !important; grid-template-areas: "header header header header header header" "map map map map map map" "route route refresh refresh mode mode" "status status status status status status" "list list list list list list" !important; gap: 9px !important; }
body.rb-app #appScreenNearby > .rb-app-screen-scroll:has(.rb-nearby-actions.is-location-missing) { grid-template-areas: "header header header header header header" "map map map map map map" "refresh refresh refresh mode mode mode" "status status status status status status" "list list list list list list" !important; }
body.rb-app #appScreenNearby .rb-screen-header { grid-area: header !important; }
body.rb-app #appScreenNearby .rb-nearby-map-card { grid-area: map !important; min-height: 235px !important; margin: 0px !important; overflow: hidden !important; border: 1px solid rgba(30, 144, 255, 0.42) !important; border-radius: 18px !important; background: var(--rb-app-glass-surface) !important; box-shadow: rgba(0, 0, 0, 0.26) 0px 8px 22px !important; }
body.rb-app #appScreenNearby .all-map-preview { min-height: 235px !important; border-radius: 18px !important; }
body.rb-app #appScreenNearby .all-map-preview-empty { padding: 28px !important; clip-path: none !important; border-radius: 0px !important; background: rgba(217, 239, 248, 0.92) !important; color: var(--rb-ios-ink) !important; font: 700 12px / 1.4 Poppins, sans-serif !important; text-align: center !important; }
body.rb-app #appScreenNearby .rb-nearby-actions:not([hidden]), body.rb-app #appScreenNearby .rb-nearby-location-refresh:not([hidden]) { display: contents !important; }
body.rb-app #appScreenNearby #rbNearbyRouteClosestButton { grid-area: route !important; }
body.rb-app #appScreenNearby #heroInfoRefreshBtn { grid-area: refresh !important; }
body.rb-app #appScreenNearby #rbNearbyMapModeButton { grid-area: mode !important; }
body.rb-app #appScreenNearby .rb-nearby-actions.is-location-missing #rbNearbyRouteClosestButton { display: none !important; }
body.rb-app #appScreenNearby .rb-command-row, body.rb-app #appScreenNearby .hero-info-refresh-btn { display: flex !important; min-width: 0px !important; min-height: 46px !important; align-items: center !important; justify-content: center !important; gap: 6px !important; margin: 0px !important; padding: 7px 8px !important; border-radius: 13px !important; color: var(--rb-ios-ink) !important; font: 900 11px / 1.1 Poppins, sans-serif !important; text-align: center !important; text-shadow: none !important; }
body.rb-app #appScreenNearby #rbNearbyRouteClosestButton, body.rb-app #appScreenNearby #heroInfoRefreshBtn { background: var(--rb-ios-blue-bright) !important; color: var(--rb-ios-ink) !important; }
body.rb-app #appScreenNearby #rbNearbyMapModeButton { background: rgba(42, 73, 154, 0.72) !important; color: rgb(255, 255, 255) !important; }
body.rb-app #appScreenNearby .rb-command-copy small, body.rb-app #appScreenNearby .rb-command-chevron { display: none !important; }
body.rb-app #appScreenNearby #rbNearbyRouteClosestButton .rb-command-copy strong { font-size: 0px !important; }
body.rb-app #appScreenNearby #rbNearbyRouteClosestButton .rb-command-copy strong::after { content: "Route" !important; font: 900 11px / 1.1 Poppins, sans-serif !important; }
body.rb-app #appScreenNearby #heroInfoRefreshBtn > span:last-child { display: none !important; }
body.rb-app #appScreenNearby #heroInfoRefreshBtn::after { content: "Refresh" !important; }
body.rb-app #appScreenNearby .rb-command-icon { width: 18px !important; height: 18px !important; flex: 0 0 18px !important; }
body.rb-app #appScreenNearby .rb-command-icon svg { width: 18px !important; height: 18px !important; }
body.rb-app #appScreenNearby .rb-nearby-location-status { grid-area: status !important; margin: 0px !important; padding: 7px 10px !important; border: 0px !important; border-radius: 0px !important; background: transparent !important; box-shadow: none !important; color: rgba(0, 0, 0, 0.72) !important; font: 600 11px / 1.35 Poppins, sans-serif !important; text-align: center !important; text-shadow: none !important; }
body.rb-app #appScreenNearby .rb-nearby-list-section { grid-area: list !important; margin: 2px 0px 0px !important; padding: 0px !important; border: 0px !important; background: transparent !important; box-shadow: none !important; }
body.rb-app #appScreenNearby .rb-nearby-stop-list { display: grid !important; grid-template-columns: minmax(0px, 1fr) !important; gap: 9px !important; margin: 0px !important; }
body.rb-app #appScreenNearby .rb-nearby-stop-row, body.rb-app #appScreenNearby .rb-state-card { border-radius: 15px !important; background: var(--rb-ios-wavy-surface) !important; box-shadow: rgba(0, 0, 0, 0.25) 0px 8px 16px !important; color: var(--rb-ios-ink) !important; }
body.rb-app #appScreenNearby .rb-nearby-stop-row { display: grid !important; grid-template-columns: minmax(0px, 1fr) auto !important; gap: 9px 10px !important; margin: 0px !important; padding: 11px !important; }
body.rb-app #appScreenNearby .rb-nearby-stop-copy strong { color: var(--rb-ios-ink) !important; font: 900 15px / 1.22 Poppins, sans-serif !important; text-shadow: none !important; }
body.rb-app #appScreenNearby .rb-nearby-stop-copy small { color: var(--rb-ios-time) !important; font: 800 12px / 1.3 Poppins, sans-serif !important; }
body.rb-app #appScreenNearby .rb-nearby-stop-copy span { color: rgba(0, 0, 0, 0.7) !important; font: 500 11px / 1.35 Poppins, sans-serif !important; }


/* Native iOS parity: title-card copy and More settings contrast. */
body.rb-app :is(#appScreenNearby, #appScreenSaved, #appScreenMore) > .rb-app-screen-scroll > .rb-screen-header,
body.rb-app :is(#appScreenNearby, #appScreenSaved, #appScreenMore) .rb-screen-header-copy,
body.rb-app :is(#appScreenNearby, #appScreenSaved, #appScreenMore) .rb-screen-header h1 {
  color: #ffffff !important;
  text-shadow: 0 2px 12px rgba(0, 0, 0, .32) !important;
}
body.rb-app :is(#appScreenNearby, #appScreenSaved, #appScreenMore) .rb-screen-header .rb-screen-kicker {
  color: #789ed3 !important;
  text-shadow: 0 1px 8px rgba(0, 0, 0, .28) !important;
}
body.rb-app :is(#appScreenNearby, #appScreenSaved, #appScreenMore) .rb-screen-header .rb-screen-description {
  color: rgba(255, 255, 255, .86) !important;
  text-shadow: 0 1px 8px rgba(0, 0, 0, .3) !important;
}
body.rb-app :is(#appScreenNearby, #appScreenSaved, #appScreenMore) .rb-screen-header :is(.rb-screen-header-icon, .rb-header-pin-cluster) {
  border-radius: 50% !important;
}
body.rb-app #appScreenMore .rb-more-settings-section :is(.rb-settings-link-row, .hero-animation-toggle, .hero-animation-toggle-copy),
body.rb-app #appScreenMore .rb-more-settings-section .hero-animation-toggle-copy strong {
  color: #ffffff !important;
}
body.rb-app #appScreenMore .rb-more-settings-section .hero-animation-toggle-copy small {
  color: rgba(255, 255, 255, .86) !important;
}
body.rb-app #appScreenMore .rb-more-settings-section .rb-command-chevron {
  color: rgba(255, 255, 255, .72) !important;
}
body.rb-app #appScreenMore .rb-more-settings-section .rb-settings-row-icon,
body.rb-app #appScreenMore .rb-more-settings-section :is(#heroAnimationToggle, #rbHapticsToggle, #heroStopShareToggle, #heroAutoLocationToggle)::before {
  border: 2px solid #ffffff !important;
  border-radius: 50% !important;
  background-color: #285aa7 !important;
  box-shadow: 0 0 0 2px #1e90ff, inset 0 1px rgba(255, 255, 255, .28) !important;
  color: #ffffff !important;
}
body.rb-app #appScreenMore .rb-more-settings-section .rb-settings-share-icon svg {
  fill: none !important;
  stroke: #ffffff !important;
}
body.rb-app #appScreenMore #rbAppearanceButton .rb-settings-row-icon { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3.5a8.5 8.5 0 1 0 0 17c1.15 0 1.75-.63 1.75-1.38 0-.53-.28-.93-.55-1.3-.28-.38-.55-.75-.55-1.25 0-.92.75-1.67 1.67-1.67h1.7c2.48 0 4.48-2 4.48-4.48C20.5 6.6 16.7 3.5 12 3.5Z' fill='none' stroke='%23FFFFFF' stroke-width='1.7'/%3E%3Ccircle cx='7.5' cy='10' r='1.25' fill='%23FFFFFF'/%3E%3Ccircle cx='10' cy='6.8' r='1.25' fill='%23FFFFFF'/%3E%3Ccircle cx='14.2' cy='6.8' r='1.25' fill='%23FFFFFF'/%3E%3Ccircle cx='17' cy='10' r='1.25' fill='%23FFFFFF'/%3E%3C/svg%3E") !important; }
body.rb-app #appScreenMore #rbMapPickerButton .rb-settings-row-icon { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m3.5 6 5-2.5 7 2.5 5-2.5v14.5l-5 2.5-7-2.5-5 2.5Z' fill='none' stroke='%23FFFFFF' stroke-width='1.7' stroke-linejoin='round'/%3E%3Cpath d='M8.5 3.5V18M15.5 6v14.5' fill='none' stroke='%23FFFFFF' stroke-width='1.7'/%3E%3C/svg%3E") !important; }
body.rb-app #appScreenMore #rbPrivacyButton .rb-settings-row-icon { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3.5 19 6v5.4c0 4.25-2.55 7.55-7 9.1-4.45-1.55-7-4.85-7-9.1V6Z' fill='none' stroke='%23FFFFFF' stroke-width='1.7' stroke-linejoin='round'/%3E%3Cpath d='m8.7 12 2.1 2.1 4.6-4.7' fill='none' stroke='%23FFFFFF' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important; }
body.rb-app #appScreenMore #heroAnimationToggle::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m12 3 1.15 3.85L17 8l-3.85 1.15L12 13l-1.15-3.85L7 8l3.85-1.15ZM18 13l.75 2.25L21 16l-2.25.75L18 19l-.75-2.25L15 16l2.25-.75ZM6 14l.75 2.25L9 17l-2.25.75L6 20l-.75-2.25L3 17l2.25-.75Z' fill='%23FFFFFF'/%3E%3C/svg%3E") !important; }
body.rb-app #appScreenMore #rbHapticsToggle::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='8' y='3.5' width='8' height='17' rx='2' fill='none' stroke='%23FFFFFF' stroke-width='1.7'/%3E%3Cpath d='M5.5 8.5c-1.5 2.2-1.5 4.8 0 7M18.5 8.5c1.5 2.2 1.5 4.8 0 7' fill='none' stroke='%23FFFFFF' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E") !important; }
body.rb-app #appScreenMore #heroStopShareToggle::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 8H5.5A2.5 2.5 0 0 0 3 10.5v8A2.5 2.5 0 0 0 5.5 21h13a2.5 2.5 0 0 0 2.5-2.5v-8A2.5 2.5 0 0 0 18.5 8H16M12 15V3m0 0L8.5 6.5M12 3l3.5 3.5' fill='none' stroke='%23FFFFFF' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important; }
body.rb-app #appScreenMore #heroAutoLocationToggle::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m12 3 7.8 17-7.8-3.7L4.2 20Z' fill='none' stroke='%23FFFFFF' stroke-width='1.7' stroke-linejoin='round'/%3E%3C/svg%3E") !important; }


/* iOS parity: More settings rows use light typography on the blue glass card. */
#appScreenMore .rb-more-settings-section .rb-settings-link-row,
#appScreenMore .rb-more-settings-section .hero-animation-toggle,
#appScreenMore .rb-more-settings-section .rb-haptic-intensity-setting {
  color: #fff;
}

#appScreenMore .rb-more-settings-section strong,
#appScreenMore .rb-more-settings-section .rb-haptic-intensity-label {
  color: #fff !important;
}

#appScreenMore .rb-more-settings-section small,
#appScreenMore .rb-more-settings-section .rb-haptic-intensity-example {
  color: rgba(255, 255, 255, 0.82) !important;
}

/* Final iOS parity: outrank legacy ID-scoped settings typography. */
body.rb-app #appScreenMore #heroInfoLocationTools .hero-animation-toggle-copy strong {
  color: #fff !important;
}

body.rb-app #appScreenMore #heroInfoLocationTools .hero-animation-toggle-copy small {
  color: rgba(255, 255, 255, 0.82) !important;
}

body.rb-app #appScreenNearby #rbNearbyLocationStatus {
  color: rgba(255, 255, 255, 0.88) !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.72);
}

/* Native More card keeps this short title on one line. */
@media (max-width: 520px) {
  body.rb-app #appScreenMore .hero-info-link-book-truck > span:last-of-type {
    white-space: nowrap !important;
  }
}

/* Canonical cross-platform palette from iOS BeanTheme. */
body.rb-app {
  --rb-brand-main-blue: #285aa7 !important;
  --rb-brand-main-blue-2: #2a499a !important;
  --rb-brand-sub-blue-1: #1e90ff !important;
  --rb-brand-sub-blue-2: #789ed3 !important;
  --rb-app-main-blue: #285aa7 !important;
  --rb-app-main-blue-2: #2a499a !important;
  --rb-app-main-blue2: #2a499a !important;
  --rb-app-sub-blue: #1e90ff !important;
  --rb-app-sub-blue-1: #1e90ff !important;
  --rb-app-sub-blue-2: #789ed3 !important;
  --rb-app-accent: #1e90ff !important;
  --rb-app-kicker-text: #789ed3 !important;
  --rb-ios-blue-main: #285aa7 !important;
  --rb-ios-blue-deep: #2a499a !important;
  --rb-ios-blue-bright: #1e90ff !important;
  --rb-ios-blue-muted: #789ed3 !important;
}

/* ScreenHeader uses BeanTheme.mainBlue2 at 78% in the native app. */
body.rb-app :is(#appScreenNearby, #appScreenSaved, #appScreenMore) > .rb-app-screen-scroll > .rb-screen-header {
  border-color: rgba(30, 144, 255, 0.42) !important;
  background: var(--rb-app-glass-surface) !important;
}

body.rb-app #appScreenMore .rb-more-settings-section #heroInfoLocationTools {
  border-color: rgba(30, 144, 255, 0.42) !important;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.11), transparent 48%, rgba(0, 0, 0, 0.055)),
    rgba(42, 73, 154, 0.78) !important;
}

/* Native selected controls use subBlue1 -> mainBlue, top to bottom. */
body.rb-app #appScreenNearby :is(#rbNearbyRouteClosestButton, #heroInfoRefreshBtn),
body.rb-app .rb-bottom-nav :is(a, button).active,
body.rb-app .rb-bottom-nav :is(a, button).is-active,
body.rb-app .rb-bottom-nav :is(a, button)[aria-current="page"],
body.rb-app .rb-bottom-nav :is(a, button)[aria-selected="true"],
body.rb-app .rb-bottom-nav :is(a, button)[aria-pressed="true"] {
  background: linear-gradient(to bottom, #1e90ff, #285aa7) !important;
}

body.rb-app #appScreenNearby #rbNearbyMapModeButton {
  background: rgba(42, 73, 154, 0.72) !important;
}

body.rb-app .rb-bottom-nav {
  border-color: rgba(30, 144, 255, 0.42) !important;
  background: var(--rb-app-dock-surface) !important;
}

body.rb-app :is(
  .rb-screen-header-icon,
  .rb-settings-row-icon,
  .rb-more-action-icon,
  .rb-branded-pin-cluster-icon
) {
  --rb-app-main-blue: #285aa7 !important;
  background-color: #285aa7 !important;
}

/* iOS parity: More action icons use the native blue-and-white medallion. */
body.rb-app #appScreenMore .rb-more-links-section .hero-info-link .hero-info-link-icon {
  border: 2px solid #fff !important;
  border-radius: 50% !important;
  background: #285aa7 !important;
  color: #fff !important;
  box-shadow:
    0 0 0 2px #1e90ff,
    inset 0 1px 0 rgba(255, 255, 255, 0.28) !important;
}

body.rb-app #appScreenMore .rb-more-links-section .hero-info-link .hero-info-link-icon::before,
body.rb-app #appScreenMore .rb-more-links-section .hero-info-link .hero-info-link-icon::after {
  content: none !important;
  display: none !important;
}

body.rb-app #appScreenMore .rb-more-links-section .hero-info-link .hero-info-link-icon > :is(svg, img) {
  position: relative;
  z-index: 1;
}

body.rb-app #appScreenMore .rb-more-links-section .hero-info-link-shop .hero-info-link-icon img {
  filter: brightness(0) invert(1) !important;
}

/* iOS portrait geometry: 12pt content and dock edges, without a second shell inset. */
@media (max-width: 520px) {
  body.rb-app .app-shell {
    padding-left: var(--rb-app-safe-left) !important;
    padding-right: var(--rb-app-safe-right) !important;
  }

  body.rb-app .rb-bottom-nav {
    width: calc(100% - 24px) !important;
  }
}

/* iOS section rhythm: keep the first content card clear of its title card. */
body.rb-app #appScreenMore .rb-more-links-section,
body.rb-app #appScreenSaved .rb-saved-content,
body.rb-app #appScreenNearby .rb-nearby-map-card {
  margin-top: 8px !important;
}

/* iOS Saved notification card order: copy, bell, then settings. */
body.rb-app #appScreenSaved .saved-stop-notification-controls {
  grid-template-columns: minmax(0, 1fr) 46px 46px !important;
}

body.rb-app #appScreenSaved .saved-stop-notification-summary {
  grid-area: 1 / 1 !important;
  grid-column: 1 !important;
}

body.rb-app #appScreenSaved #savedStopNotificationBellButton {
  grid-area: 1 / 2 !important;
  grid-column: 2 !important;
}

body.rb-app #appScreenSaved #savedStopNotificationSettingsButton {
  grid-area: 1 / 3 !important;
  grid-column: 3 !important;
}

@media (max-width: 520px) {
  body.rb-app #appScreenSaved .rb-saved-summary {
    height: 44px !important;
    min-height: 44px !important;
    padding: 0 13px !important;
  }

  body.rb-app #appScreenSaved #rbSavedSummaryCount {
    min-height: 28px !important;
    padding: 2px 12px !important;
    font-size: 12px !important;
  }

  body.rb-app #appScreenSaved .saved-stops-empty {
    height: 192px !important;
    min-height: 192px !important;
    padding: 16px 18px !important;
    gap: 6px !important;
  }

  body.rb-app #appScreenSaved #savedStopsList {
    margin-top: 14px !important;
  }

  body.rb-app #appScreenSaved .saved-stops-empty > span:last-child {
    width: 100% !important;
    max-width: 340px !important;
  }

  body.rb-app #appScreenNearby .rb-nearby-map-card {
    height: 290px !important;
    min-height: 290px !important;
    margin-top: 11px !important;
  }

  body.rb-app #appScreenNearby .rb-nearby-actions > :is(a, button),
  body.rb-app #appScreenNearby .rb-nearby-location-refresh :is(a, button),
  body.rb-app #appScreenNearby #rbNearbyMapModeButton {
    box-sizing: border-box !important;
    height: 48px !important;
    min-height: 48px !important;
  }
}

/* Final iOS parity pass: desktop headers, Nearby flow, icons, and copy. */
body.rb-app #appScreenMore .rb-haptics-settings {
  display: none !important;
}

body.rb-app #appScreenMore .install-app-btn,
body.rb-app #appScreenMore .install-app-btn strong,
body.rb-app #appScreenMore .install-app-btn small {
  color: #0b0b0b !important;
  text-shadow: none !important;
}

body.rb-app #appScreenMore .install-app-btn small {
  color: rgba(0, 0, 0, 0.72) !important;
}

/* SwiftUI's Home action uses RoamingBeanPinCluster at 34pt, without a medallion. */
body.rb-app #allMapBtn .btn-spark.rb-action-pin-cluster {
  position: relative !important;
  display: inline-block !important;
  width: 34px !important;
  min-width: 34px !important;
  height: 29.24px !important;
  min-height: 29.24px !important;
  flex: 0 0 34px !important;
  padding: 0 !important;
  overflow: visible !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.rb-app #allMapBtn .btn-spark.rb-action-pin-cluster > img {
  position: absolute !important;
  display: block !important;
  max-width: none !important;
  object-fit: contain !important;
  margin: 0 !important;
  opacity: 1 !important;
  filter: none !important;
}

body.rb-app #allMapBtn .btn-spark.rb-action-pin-cluster > img:nth-child(1) {
  left: 0 !important;
  top: 7.14px !important;
  width: 21.08px !important;
  height: 21.08px !important;
  transform: rotate(-10deg) !important;
}

body.rb-app #allMapBtn .btn-spark.rb-action-pin-cluster > img:nth-child(2) {
  right: 0 !important;
  top: 3.4px !important;
  width: 21.08px !important;
  height: 21.08px !important;
  transform: rotate(9deg) !important;
}

body.rb-app #allMapBtn .btn-spark.rb-action-pin-cluster > img:nth-child(3) {
  left: 50% !important;
  top: 0.17px !important;
  z-index: 2 !important;
  width: 23.46px !important;
  height: 23.46px !important;
  transform: translateX(-50%) !important;
}

/* Nearby's native title mark uses the same white/blue medallion as the other title icons. */
body.rb-app #appScreenNearby .rb-screen-header > .rb-branded-pin-cluster-icon {
  isolation: isolate !important;
  position: relative !important;
  display: block !important;
  padding: 0 !important;
  overflow: visible !important;
  border: 1px solid rgba(30, 144, 255, 0.8) !important;
  border-radius: 50% !important;
  background: #ffffff !important;
  box-shadow: none !important;
}

body.rb-app #appScreenNearby .rb-screen-header > .rb-branded-pin-cluster-icon::before,
body.rb-app #appScreenNearby .rb-screen-header > .rb-branded-pin-cluster-icon::after {
  content: "" !important;
  position: absolute !important;
  border-radius: 50% !important;
}

body.rb-app #appScreenNearby .rb-screen-header > .rb-branded-pin-cluster-icon::before {
  z-index: 0 !important;
  inset: 10% !important;
  border: 1px solid rgba(255, 255, 255, 0.72) !important;
  background: #2a499a !important;
}

body.rb-app #appScreenNearby .rb-screen-header > .rb-branded-pin-cluster-icon::after {
  z-index: 1 !important;
  inset: 16% !important;
  background: rgba(255, 255, 255, 0.94) !important;
}

body.rb-app #appScreenNearby .rb-screen-header > .rb-branded-pin-cluster-icon > img {
  position: absolute !important;
  z-index: 2 !important;
  display: block !important;
  max-width: none !important;
  object-fit: contain !important;
}

body.rb-app #appScreenNearby .rb-screen-header > .rb-branded-pin-cluster-icon > img:nth-child(1) {
  left: 10% !important;
  top: 32.4% !important;
  width: 49.6% !important;
  height: 49.6% !important;
  transform: rotate(-10deg) !important;
}

body.rb-app #appScreenNearby .rb-screen-header > .rb-branded-pin-cluster-icon > img:nth-child(2) {
  left: 40.4% !important;
  top: 23.6% !important;
  width: 49.6% !important;
  height: 49.6% !important;
  transform: rotate(9deg) !important;
}

body.rb-app #appScreenNearby .rb-screen-header > .rb-branded-pin-cluster-icon > img:nth-child(3) {
  left: 22.4% !important;
  top: 16% !important;
  width: 55.2% !important;
  height: 55.2% !important;
}

/* Auto grid rows were stretching to fill desktop height and creating the giant Nearby blocks. */
body.rb-app #appScreenNearby > .rb-app-screen-scroll {
  grid-template-rows: auto auto auto auto auto !important;
  grid-auto-rows: max-content !important;
  align-content: start !important;
  align-items: start !important;
}

body.rb-app #appScreenNearby > .rb-app-screen-scroll > :is(
  .rb-screen-header,
  .rb-nearby-map-card,
  .rb-nearby-location-status,
  .rb-nearby-list-section
) {
  width: 100% !important;
  align-self: start !important;
}

/* Nearby parity: keep the map in its own row below the title card. */
body.rb-app #appScreenNearby > .rb-app-screen-scroll {
  grid-auto-flow: row !important;
  grid-auto-rows: max-content !important;
  grid-template-rows: repeat(5, max-content) !important;
  align-content: start !important;
  row-gap: 14px !important;
}

body.rb-app #appScreenNearby > .rb-app-screen-scroll > .rb-screen-header {
  grid-row: 1 !important;
  position: relative !important;
  inset: auto !important;
  z-index: 2 !important;
  margin: 0 !important;
  transform: none !important;
}

body.rb-app #appScreenNearby > .rb-app-screen-scroll > .rb-nearby-map-card {
  grid-row: 2 !important;
  position: relative !important;
  inset: auto !important;
  z-index: 1 !important;
  margin: 0 !important;
  transform: none !important;
}

/* Match the white title-icon ring used by the other app sections. */
body.rb-app #appScreenNearby .rb-screen-header-icon,
body.rb-app #appScreenNearby .rb-screen-header-icon::before,
body.rb-app #appScreenNearby .rb-screen-header-icon::after,
body.rb-app #appScreenNearby .rb-screen-header-icon > *,
body.rb-app #appScreenNearby .rb-header-pin-cluster,
body.rb-app #appScreenNearby .rb-header-pin-cluster::before,
body.rb-app #appScreenNearby .rb-header-pin-cluster::after {
  border-color: #ffffff !important;
}

body.rb-app #appScreenNearby :is(.rb-screen-header-icon, .rb-header-pin-cluster) {
  background-color: #ffffff !important;
  box-shadow: 0 0 0 2px #ffffff, 0 5px 14px rgba(0, 0, 0, .24) !important;
}

body.rb-app #appScreenNearby .rb-screen-header > .rb-branded-pin-cluster-icon {
  border-color: #ffffff !important;
  background: #ffffff !important;
  box-shadow: none !important;
}

body.rb-app #appScreenNearby > .rb-app-screen-scroll > .rb-screen-header {
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  margin-bottom: 0 !important;
  aspect-ratio: auto !important;
}

body.rb-app #appScreenNearby :is(.rb-command-row, .hero-info-refresh-btn) {
  box-sizing: border-box !important;
  height: 48px !important;
  min-height: 48px !important;
  max-height: 48px !important;
  align-self: start !important;
}

body.rb-app #appScreenNearby #heroInfoRefreshBtn > span:first-child {
  width: 18px !important;
  height: 18px !important;
  flex: 0 0 18px !important;
  overflow: hidden !important;
  color: transparent !important;
  font-size: 0 !important;
  background: center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21s6-5.15 6-11a6 6 0 1 0-12 0c0 5.85 6 11 6 11Z' fill='%230b0b0b'/%3E%3Ccircle cx='12' cy='10' r='2.35' fill='%23ffffff'/%3E%3C/svg%3E") !important;
}

body.rb-app #appScreenNearby .rb-state-card,
body.rb-app #appScreenNearby .rb-state-card :is(strong, h2, h3) {
  color: #0b0b0b !important;
  text-shadow: none !important;
}

body.rb-app #appScreenNearby .rb-state-card :is(p, small, span) {
  color: rgba(0, 0, 0, 0.72) !important;
  text-shadow: none !important;
}

/* Home's empty featured card now uses the same black/brown copy as native stop cards. */
body.rb-app #rbHomeFeaturedCard .rb-schedule-empty-card,
body.rb-app #rbHomeFeaturedCard .rb-schedule-empty-card .stop-name {
  color: #0b0b0b !important;
  text-shadow: none !important;
}

body.rb-app #rbHomeFeaturedCard .rb-schedule-empty-card .stop-time {
  color: #9a5a1a !important;
  border-color: rgba(189, 122, 37, 0.28) !important;
  background: rgba(255, 240, 223, 0.88) !important;
  text-shadow: none !important;
}

body.rb-app #rbHomeFeaturedCard .rb-schedule-empty-card .stop-time::before {
  background: #bd7a25 !important;
  box-shadow: 0 0 6px rgba(189, 122, 37, 0.28) !important;
}

body.rb-app #rbHomeFeaturedCard .rb-schedule-empty-card .stop-address {
  color: rgba(0, 0, 0, 0.76) !important;
  text-shadow: none !important;
}

/* Match the iPad ScreenHeader metrics instead of scaling headers with viewport height. */
@media (min-width: 700px) {
  body.rb-app :is(#appScreenNearby, #appScreenSaved, #appScreenMore) > .rb-app-screen-scroll > .rb-screen-header {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 96px !important;
    height: auto !important;
    max-height: none !important;
    padding: 14px !important;
    grid-template-columns: 68px minmax(0, 1fr) !important;
    gap: 15px !important;
    align-items: center !important;
    align-self: stretch !important;
    justify-self: stretch !important;
    aspect-ratio: auto !important;
  }

  body.rb-app :is(#appScreenNearby, #appScreenSaved, #appScreenMore) .rb-screen-header :is(.rb-screen-header-icon, .rb-header-pin-cluster) {
    width: 68px !important;
    height: 68px !important;
  }

  body.rb-app :is(#appScreenNearby, #appScreenSaved, #appScreenMore) .rb-screen-header .rb-screen-kicker {
    font-size: 11px !important;
    line-height: 1.2 !important;
  }

  body.rb-app :is(#appScreenNearby, #appScreenSaved, #appScreenMore) .rb-screen-header h1 {
    font-size: 36px !important;
    line-height: 1 !important;
  }

  body.rb-app :is(#appScreenNearby, #appScreenSaved, #appScreenMore) .rb-screen-header .rb-screen-description {
    margin-top: 3px !important;
    font-size: 14px !important;
    line-height: 1.3 !important;
  }
}

/* Final theme-aware glass parity for secondary headers, More settings, and dock. */
:root {
  /* Browser glass needs a stronger foundation to visually match SwiftUI's
     regular material plus its 28.8% tint. */
  --rb-app-navigation-tint-rgb: 40, 90, 167;
  --rb-app-navigation-tint-alpha: 0.40;
  --rb-app-home-glass-alpha: 0.38;
}

html[data-rb-appearance="bean-blue"],
html[data-rb-resolved-appearance="bean-blue"] {
  --rb-app-navigation-tint-rgb: 40, 90, 167;
  --rb-app-navigation-tint-alpha: 0.40;
  --rb-app-home-glass-alpha: 0.38;
}

html[data-rb-appearance="light"],
html[data-rb-resolved-appearance="light"] {
  --rb-app-navigation-tint-rgb: 42, 73, 154;
  --rb-app-navigation-tint-alpha: 0.40;
  --rb-app-home-glass-alpha: 0.38;
}

html[data-rb-appearance="dark"],
html[data-rb-resolved-appearance="dark"] {
  --rb-app-navigation-tint-rgb: 0, 0, 0;
  --rb-app-navigation-tint-alpha: 0.20;
  --rb-app-home-glass-alpha: 0.24;
}

body.rb-app :is(#appScreenNearby, #appScreenSaved, #appScreenMore) > .rb-app-screen-scroll > .rb-screen-header,
body.rb-app #appScreenMore .rb-more-settings-section #heroInfoLocationTools {
  border-color: var(--rb-app-panel-border) !important;
  background: var(--rb-app-glass-surface) !important;
  backdrop-filter: var(--rb-app-glass-filter) !important;
  -webkit-backdrop-filter: var(--rb-app-glass-filter) !important;
}

body.rb-app .rb-bottom-nav {
  border-color: rgba(255, 255, 255, 0.24) !important;
  background: var(--rb-app-dock-surface) !important;
  backdrop-filter: blur(2px) saturate(1.04) !important;
  -webkit-backdrop-filter: blur(2px) saturate(1.04) !important;
}

body.rb-app .rb-bottom-nav-selector {
  /* Native selectionGradient is subBlue1 -> mainBlue, not subBlue2. */
  background: linear-gradient(
    180deg,
    var(--rb-brand-sub-1),
    var(--rb-brand-main)
  ) !important;
}

/* Home uses the same clear blue glass hierarchy as the native iOS screen. */
body.rb-app .rb-app-screen-home :is(.hero-card, .summary-card),
body.rb-app #heroMenuButton {
  border-color: rgba(120, 158, 211, 0.48) !important;
  background:
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.11),
      rgba(255, 255, 255, 0.018) 44%,
      rgba(255, 255, 255, 0)
    ),
    rgba(var(--rb-app-navigation-tint-rgb), var(--rb-app-home-glass-alpha)) !important;
  backdrop-filter: blur(2px) saturate(1.04) !important;
  -webkit-backdrop-filter: blur(2px) saturate(1.04) !important;
}

body.rb-app #allMapBtn,
body.rb-app .rb-app-screen-home .summary-card > :is(button, a) {
  color: #000 !important;
  border: 1px solid rgba(255, 255, 255, 0.76) !important;
  background: linear-gradient(
    180deg,
    var(--rb-brand-sub-1),
    var(--rb-brand-main)
  ) !important;
  box-shadow: 0 5px 12px rgba(0, 0, 0, 0.20), inset 0 1px rgba(255, 255, 255, 0.24) !important;
}

body.rb-app .rb-app-screen-home .summary-card {
  box-sizing: border-box !important;
  min-height: 122px !important;
  padding: 10px 10px 8px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
}

body.rb-app .rb-app-screen-home .summary-card .mini-label {
  margin: 0 !important;
  color: var(--rb-brand-sub-2) !important;
  font-family: var(--rb-font-ui) !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  line-height: 12px !important;
  letter-spacing: 0.08em !important;
}

body.rb-app .rb-app-screen-home .summary-card h2 {
  margin: 2px 0 0 !important;
  color: #fff !important;
  font-family: var(--rb-font-ui) !important;
  font-size: 30px !important;
  font-weight: 800 !important;
  line-height: 31px !important;
  letter-spacing: -0.025em !important;
  text-shadow: none !important;
}

body.rb-app .rb-app-screen-home .summary-card:nth-child(2) h2 {
  font-size: 40px !important;
  line-height: 41px !important;
}

body.rb-app .rb-app-screen-home .summary-card > small {
  margin: 0 !important;
  color: rgba(255, 255, 255, 0.78) !important;
  font-family: var(--rb-font-ui) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 16px !important;
}

body.rb-app .rb-app-screen-home .summary-card > :is(button, a) {
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 100% !important;
  height: 32px !important;
  min-height: 32px !important;
  margin: auto 0 0 !important;
  padding: 0 12px !important;
  align-self: stretch !important;
  border-radius: 16px !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 30px !important;
}

body.rb-app :is(#appScreenNearby, #appScreenSaved, #appScreenMore) :is(.rb-screen-header, .rb-screen-header-copy, .rb-screen-header h1),
body.rb-app #appScreenMore #heroInfoLocationTools :is(.rb-settings-link-row, .hero-animation-toggle, .hero-animation-toggle-copy, .rb-haptic-intensity-setting, strong) {
  color: var(--rb-app-panel-text) !important;
}

body.rb-app :is(#appScreenNearby, #appScreenSaved, #appScreenMore) .rb-screen-header .rb-screen-kicker {
  color: var(--rb-app-kicker-text) !important;
}

body.rb-app :is(#appScreenNearby, #appScreenSaved, #appScreenMore) .rb-screen-header .rb-screen-description,
body.rb-app #appScreenMore #heroInfoLocationTools :is(small, .rb-haptic-intensity-example, .rb-command-chevron) {
  color: var(--rb-app-panel-muted) !important;
}

/* Keep iOS PWA scrolling smooth while retaining the same translucent colors. */
html.rb-apple-mobile body.rb-app :is(#appScreenNearby, #appScreenSaved, #appScreenMore) > .rb-app-screen-scroll > .rb-screen-header,
html.rb-apple-mobile body.rb-app #appScreenMore .rb-more-settings-section #heroInfoLocationTools,
html.rb-apple-mobile body.rb-app .rb-bottom-nav,
html.rb-apple-mobile body.rb-app .rb-app-screen-home :is(.hero-card, .summary-card),
html.rb-apple-mobile body.rb-app #heroMenuButton {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* ================================================================
   ROAMING BEAN 2.8.5.14 — CANONICAL PRODUCTION COMPONENTS
   This is the only active schedule/menu/nearby/more layout system.
   Historical 2.8.5.x visual patch blocks were removed above.
   ================================================================ */

:root {
  --rb-schedule-header-bg-image: url("assets/schedule-header-books.webp?v=20260803d&rb=20260803d");
  --rb-stop-card-bg-image: url("assets/schedule-stop-starburst.webp?v=20260803d&rb=20260803d");
  --rb-menu-card-bg-image: url("assets/menu-bookshelf-card.webp?v=20260803d&rb=20260803d");
  --rb-stop-card-copy-inset: clamp(30px, 7.8vw, 40px);
  --rb-stop-card-art-reserve: clamp(116px, 31vw, 154px);
  --rb-featured-card-art-reserve: clamp(154px, 38vw, 216px);
  --rb-menu-art-width: clamp(82px, 22vw, 102px);
  --rb-menu-favorite-width: 42px;
  --rb-menu-copy-left: clamp(24px, 8.2vw, 42px);
  --rb-menu-star-center-x: 82.5%;
  --rb-menu-copy-right: calc(var(--rb-menu-art-width) + var(--rb-menu-favorite-width) + 22px);
  --rb-address-plum: #532b3c;
}

/* --------------------------- SAFE AREAS --------------------------- */
body.rb-app :is(#appScreenNearby, #appScreenSaved, #appScreenMore) > .rb-app-screen-scroll {
  padding-top: calc(14px + env(safe-area-inset-top, 0px)) !important;
}
body.rb-app :is(#appScreenNearby, #appScreenSaved, #appScreenMore) > .rb-app-screen-scroll > .rb-screen-header {
  top: max(12px, var(--rb-app-safe-top)) !important;
  margin-top: 0 !important;
}

/* ------------------------- SCHEDULE HEADER ------------------------ */
html body.rb-app #appScreenStops .rb-stops-schedule-header {
  grid-template-columns: minmax(0, 1fr) !important;
  overflow: hidden !important;
  border-color: rgba(255, 235, 223, 0.76) !important;
  background: #691f3b !important;
  box-shadow: 0 16px 36px rgba(29, 18, 5, 0.28), inset 0 1px rgba(255,255,255,0.32) !important;
}
html body.rb-app #appScreenStops .rb-stops-schedule-artwork-stage {
  background: #ca7fc0 var(--rb-schedule-header-bg-image) center / cover no-repeat !important;
}
html body.rb-app #appScreenStops .rb-stops-schedule-guidance {
  border-left: 0 !important;
  background: linear-gradient(180deg, rgba(103,31,61,0.98), rgba(72,18,43,0.99)) !important;
  color: rgba(255,255,255,0.94) !important;
}

/* --------------------------- STOP CARDS --------------------------- */
html body.rb-app #appScreenStops #results .stop-card:not(.cancelled-card):not(.rb-schedule-empty-card),
html body.rb-app #appScreenHome #rbHomeFeaturedCard .stop-card.rb-featured-stop-card:not(.cancelled-card):not(.rb-schedule-empty-card) {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  border: 2px solid rgba(255, 235, 223, 0.80) !important;
  border-radius: 20px !important;
  background: #ca7fc0 var(--rb-stop-card-bg-image) center / 100% 100% no-repeat !important;
  box-shadow: 0 15px 34px rgba(29,18,5,0.28), inset 0 1px rgba(255,255,255,0.34) !important;
}
html body.rb-app #appScreenStops #results .stop-card:not(.cancelled-card):not(.rb-schedule-empty-card) > .rb-stop-card-body,
html body.rb-app #appScreenHome #rbHomeFeaturedCard .stop-card.rb-featured-stop-card:not(.cancelled-card):not(.rb-schedule-empty-card) > .rb-stop-card-body {
  box-sizing: border-box !important;
  position: relative !important;
  z-index: 2 !important;
  padding-left: var(--rb-stop-card-copy-inset) !important;
  padding-right: 0 !important;
}
html body.rb-app #appScreenStops #results .stop-card.coffee-art-card:not(.cancelled-card):not(.rb-featured-stop-card) > .rb-stop-card-body {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) var(--rb-stop-card-art-reserve) !important;
  align-content: start !important;
  min-height: clamp(132px, 33vw, 164px) !important;
}
html body.rb-app #appScreenHome #rbHomeFeaturedCard .stop-card.rb-featured-stop-card > .rb-stop-card-body {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) var(--rb-featured-card-art-reserve) !important;
  align-content: start !important;
  min-height: clamp(144px, 36vw, 184px) !important;
}
html body.rb-app :is(#appScreenStops #results .stop-card.coffee-art-card:not(.cancelled-card), #appScreenHome #rbHomeFeaturedCard .rb-featured-stop-card) > .rb-stop-card-body > .card-topline {
  grid-column: 1 / -1 !important;
  position: relative !important;
  z-index: 5 !important;
}
html body.rb-app :is(#appScreenStops #results .stop-card.coffee-art-card:not(.cancelled-card), #appScreenHome #rbHomeFeaturedCard .rb-featured-stop-card) > .rb-stop-card-body > :is(.stop-name, .stop-time, .stop-address, .stop-source) {
  grid-column: 1 !important;
  min-width: 0 !important;
  position: relative !important;
  z-index: 3 !important;
}
html body.rb-app :is(#appScreenStops #results .stop-card, #appScreenHome #rbHomeFeaturedCard .stop-card) .stop-address {
  color: var(--rb-address-plum) !important;
  text-shadow: none !important;
}
html body.rb-app :is(#appScreenStops #results .stop-card, #appScreenHome #rbHomeFeaturedCard .stop-card) .card-topline {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 8px !important;
  width: 100% !important;
}
html body.rb-app :is(#appScreenStops #results .stop-card, #appScreenHome #rbHomeFeaturedCard .stop-card) :is(.open-chip, .distance-chip) {
  position: relative !important;
  inset: auto !important;
  transform: none !important;
  margin-top: 0 !important;
}

/* Dedicated artwork layer — never attach cup art to an action button. */
/* The art layer is a seam-clipped window: its bottom edge sits exactly on
   the action row's top border (the gray line), and overflow is hidden, so
   cups are cut off at the line and read as peeking from behind the tray.
   Seam = card pad-bottom 16 + card border 2 + actions border 1 + actions
   pad-top 10 + button height (56, or 54 at <=520px). Measured, not styled
   here — if the action-row metrics change, change --rb-stop-card-seam. */
html body.rb-app .stop-card > .rb-stop-art-layer {
  --rb-stop-card-seam: 83px;
  --rb-stop-actions-gap: 10px;
  position: absolute !important;
  z-index: 2 !important;
  pointer-events: none !important;
  overflow: hidden !important;
  top: 0 !important;
  left: 16px !important;
  right: 16px !important;
  bottom: var(--rb-stop-card-seam) !important;
  width: auto !important;
}
@media (max-width: 520px) {
  html body.rb-app .stop-card > .rb-stop-art-layer {
    --rb-stop-card-seam: 81px;
    --rb-stop-actions-gap: 7px;
  }
}
html body.rb-app #appScreenHome #rbHomeFeaturedCard .rb-featured-stop-card > .rb-stop-art-layer {
  left: auto !important;
  right: 16px !important;
  width: var(--rb-featured-card-art-reserve) !important;
}
html body.rb-app .rb-stop-art-layer > .rb-stop-route-cup {
  position: absolute !important;
  /* Route button center: the actions grid resolves to
     [save 0.92fr | calendar 56px | route 1.34fr] with two gaps, so the route
     button's half-width from the row's right edge is
     (rowWidth - 56px - 2*gap) * (1.34 / 2.26) / 2 = * 0.2985. */
  right: calc((100% - 56px - 2 * var(--rb-stop-actions-gap)) * 0.2985) !important;
  bottom: -6px !important;
  display: block !important;
  width: clamp(90px, 23vw, 118px) !important;
  height: clamp(124px, 30vw, 154px) !important;
  overflow: visible !important;
  transform: translateX(50%) !important;
}
html body.rb-app .rb-stop-art-layer > .rb-stop-route-cup img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center bottom !important;
  filter: drop-shadow(0 11px 12px rgba(42,73,154,0.24)) !important;
}
/* The French Toast PNG's cup body sits +73px right of its 640px canvas
   center (the toast stick widens the art to one side; alpha-measured).
   Rendered art width always equals the box width here, so shifting the
   image by 73/640 = 11.4% of its own width recenters the cup body. */
html body.rb-app .rb-stop-art-layer > .rb-stop-route-cup img[src*="french-toast"] {
  transform: translateX(-11.4%) !important;
}
html body.rb-app .rb-stop-art-layer > .rb-featured-cup-trio {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  overflow: visible !important;
  transform: none !important;
}
html body.rb-app .rb-stop-art-layer > .rb-featured-cup-trio img {
  position: absolute !important;
  bottom: -6px !important;
  width: 46% !important;
  height: clamp(136px, 33vw, 170px) !important;
  object-fit: contain !important;
  object-position: center bottom !important;
  filter: drop-shadow(0 12px 14px rgba(42,73,154,0.24)) !important;
}
html body.rb-app .rb-stop-art-layer > .rb-featured-cup-trio img:nth-child(1) {
  left: 8% !important;
  z-index: 1 !important;
  transform: rotate(-4deg) !important;
}
html body.rb-app .rb-stop-art-layer > .rb-featured-cup-trio img:nth-child(2) {
  left: 31% !important;
  z-index: 3 !important;
  transform: rotate(1deg) !important;
}
html body.rb-app .rb-stop-art-layer > .rb-featured-cup-trio img:nth-child(3) {
  left: 54% !important;
  z-index: 2 !important;
  transform: rotate(5deg) !important;
}
html body.rb-app :is(#appScreenStops #results .stop-card, #appScreenHome #rbHomeFeaturedCard .stop-card) > .stop-actions {
  position: relative !important;
  z-index: 6 !important;
}

/* ----------------------------- MENU ------------------------------- */
html body.rb-app #heroMenuPanel.hero-menu-panel[role="dialog"] .hero-menu-list {
  gap: 11px !important;
}
html body.rb-app #heroMenuPanel.hero-menu-panel[role="dialog"] .hero-menu-item {
  position: relative !important;
  isolation: isolate !important;
  box-sizing: border-box !important;
  min-width: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 19px !important;
  color: #fff !important;
  background: #bd75ba var(--rb-menu-card-bg-image) center / 100% 100% no-repeat !important;
  box-shadow: 0 14px 28px rgba(47,15,31,0.34), 0 3px 8px rgba(47,15,31,0.22), inset 0 0 0 1px rgba(255,239,226,0.66) !important;
}
html body.rb-app #heroMenuPanel.hero-menu-panel[role="dialog"] .hero-menu-item::before {
  content: "" !important;
  position: absolute !important;
  z-index: -1 !important;
  inset: 18px var(--rb-menu-copy-right) 18px var(--rb-menu-copy-left) !important;
  border-radius: 14px !important;
  background: linear-gradient(90deg, rgba(78,22,54,0.22), rgba(78,22,54,0.08) 76%, transparent) !important;
  pointer-events: none !important;
}
html body.rb-app #heroMenuPanel.hero-menu-panel[role="dialog"] .hero-menu-item-with-art {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) var(--rb-menu-favorite-width) var(--rb-menu-art-width) !important;
  align-items: center !important;
  column-gap: 8px !important;
  row-gap: 4px !important;
  min-height: 120px !important;
  padding: 24px 20px 24px var(--rb-menu-copy-left) !important;
}
html body.rb-app #heroMenuPanel.hero-menu-panel[role="dialog"] .hero-menu-copy {
  position: relative !important;
  z-index: 3 !important;
  grid-column: 1 !important;
  display: grid !important;
  align-content: center !important;
  justify-items: center !important;
  min-width: 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
  padding: 0 10px !important;
  gap: 4px !important;
  text-align: center !important;
}
html body.rb-app #heroMenuPanel.hero-menu-panel[role="dialog"] .hero-menu-copy > strong,
html body.rb-app #heroMenuPanel.hero-menu-panel[role="dialog"] .hero-menu-copy p {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  text-align: center !important;
}
html body.rb-app #heroMenuPanel.hero-menu-panel[role="dialog"] .hero-menu-copy > strong,
html body.rb-app #heroMenuPanel.hero-menu-panel[role="dialog"] #heroMenuFavoritesList .hero-menu-copy > strong {
  color: #fff !important;
  font-family: var(--rb-font-ui) !important;
  font-size: clamp(0.88rem, 4vw, 1rem) !important;
  font-weight: 900 !important;
  line-height: 1.10 !important;
  letter-spacing: -0.015em !important;
  text-wrap: balance !important;
  overflow-wrap: normal !important;
  text-shadow: 0 2px 3px rgba(71,17,48,0.98), 0 0 7px rgba(71,17,48,0.62) !important;
}
html body.rb-app #heroMenuPanel.hero-menu-panel[role="dialog"] .hero-menu-copy p {
  color: rgba(255,255,255,0.96) !important;
  font-family: var(--rb-font-ui) !important;
  font-size: 0.74rem !important;
  font-weight: 650 !important;
  line-height: 1.32 !important;
  text-shadow: 0 1px 3px rgba(71,17,48,0.92) !important;
}
html body.rb-app #heroMenuPanel.hero-menu-panel[role="dialog"] .hero-menu-copy p em {
  color: #fff1e9 !important;
  font-weight: 900 !important;
  letter-spacing: 0.02em !important;
}
/* The Limited-Time promo poster is a real <img> panel, not cup art — it must
   never be forced into the absolute 82.5% cup slot (it keeps styles.css:5104).
   Without this exclusion the next promotion renders broken. */
html body.rb-app #heroMenuPanel.hero-menu-panel[role="dialog"] .hero-menu-drink-art:not(.hero-menu-promotion-poster) {
  position: absolute !important;
  inset: auto !important;
  z-index: 3 !important;
  grid-column: auto !important;
  grid-row: auto !important;
  left: var(--rb-menu-star-center-x) !important;
  top: 50% !important;
  width: var(--rb-menu-art-width) !important;
  height: clamp(94px, 24vw, 116px) !important;
  margin: 0 !important;
  background-image: var(--rb-asset-image) !important;
  background-position: center bottom !important;
  background-repeat: no-repeat !important;
  background-size: contain !important;
  filter: drop-shadow(0 8px 7px rgba(64,19,44,0.32)) !important;
  transform: translate(-50%, -50%) !important;
  pointer-events: none !important;
}
html body.rb-app #heroMenuPanel.hero-menu-panel[role="dialog"] .hero-menu-favorite-button {
  position: relative !important;
  inset: auto !important;
  z-index: 5 !important;
  grid-column: 2 !important;
  place-self: center !important;
  width: var(--rb-menu-favorite-width) !important;
  min-width: var(--rb-menu-favorite-width) !important;
  height: var(--rb-menu-favorite-width) !important;
  min-height: var(--rb-menu-favorite-width) !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid rgba(255,239,226,0.84) !important;
  border-radius: 50% !important;
  color: #6d2447 !important;
  background: rgba(255,239,226,0.96) !important;
  box-shadow: 0 7px 15px rgba(71,17,48,0.30), inset 0 1px rgba(255,255,255,0.9) !important;
  transform: none !important;
}
html body.rb-app #heroMenuPanel.hero-menu-panel[role="dialog"] .hero-menu-description-toggle {
  position: absolute !important;
  inset: 0 !important;
  z-index: 4 !important;
  width: 100% !important;
  height: 100% !important;
  border: 0 !important;
  background: transparent !important;
}
html body.rb-app #heroMenuPanel.hero-menu-panel[role="dialog"] .hero-menu-favorite-button {
  pointer-events: auto !important;
}
html body.rb-app #heroMenuPanel.hero-menu-panel[role="dialog"] .hero-menu-item[data-menu-item-id="french_toast_latte"] .hero-menu-drink-art {
  background-position: calc(50% - 10px) bottom !important;
}
@media (min-width: 430.02px) {
  html body.rb-app #heroMenuPanel.hero-menu-panel[role="dialog"] .hero-menu-item-with-art.is-description-expanded {
    padding-top: 32px !important;
    padding-bottom: 32px !important;
  }
}
html body.rb-app #heroMenuPanel.hero-menu-panel[role="dialog"] > .hero-menu-availability-note {
  margin: 3px 0 15px !important;
  padding: 11px 14px !important;
  border: 1px solid rgba(255,235,223,0.62) !important;
  border-left: 4px solid #ff9d9a !important;
  border-radius: 13px !important;
  color: rgba(255,255,255,0.95) !important;
  background: linear-gradient(135deg, rgba(105,31,59,0.94), rgba(94,29,78,0.92)) !important;
  font-size: 0.78rem !important;
  font-weight: 850 !important;
  line-height: 1.35 !important;
  text-align: center !important;
}

/* ------------------------ NEARBY / SAVED ------------------------- */
html body.rb-app #appScreenNearby .rb-nearby-stop-row {
  border: 1px solid rgba(255,231,240,0.86) !important;
  border-radius: 18px !important;
  background: linear-gradient(135deg, #d88dce, #c875bc) !important;
  background-image: none !important;
  box-shadow: 0 12px 26px rgba(76,20,52,0.22), inset 0 1px rgba(255,255,255,0.68) !important;
}
html body.rb-app #appScreenNearby .rb-nearby-stop-copy strong {
  color: #fff !important;
  text-shadow: 0 2px 3px rgba(71,17,48,0.70) !important;
}
html body.rb-app #appScreenNearby .rb-nearby-stop-copy small {
  color: #fff0d1 !important;
}
html body.rb-app #appScreenNearby .rb-nearby-stop-copy span {
  color: #532b3c !important;
}
html body.rb-app #appScreenNearby .rb-nearby-stop-distance {
  color: #fff !important;
  background: linear-gradient(135deg, rgba(42,73,154,0.97), rgba(40,90,167,0.95)) !important;
  border-color: rgba(255,255,255,0.48) !important;
}
html body.rb-app #appScreenNearby .rb-nearby-stop-actions button {
  box-shadow: 0 7px 15px rgba(65,20,48,0.18), inset 0 1px rgba(255,255,255,0.82) !important;
}

/* ------------------------------ MORE ----------------------------- */
html body.rb-app #appScreenMore .hero-info-links {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 11px !important;
  margin: 0 !important;
}
html body.rb-app #appScreenMore .hero-info-links > :is(a,button).hero-info-link {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 46px minmax(0,1fr) 15px !important;
  align-items: center !important;
  gap: 10px !important;
  min-height: 66px !important;
  padding: 0 12px 0 14px !important;
  overflow: hidden !important;
  border: 1px solid rgba(40,90,167,0.24) !important;
  border-radius: 18px !important;
  background: linear-gradient(180deg, rgba(255,255,255,0.74), rgba(255,255,255,0.24)), #f4efe1 !important;
  color: #000 !important;
  box-shadow: 0 10px 22px rgba(9,26,40,0.16), inset 0 1px rgba(255,255,255,0.86) !important;
}
html body.rb-app #appScreenMore .hero-info-links > :is(a,button).hero-info-link::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 auto 0 0 !important;
  width: 7px !important;
  background: linear-gradient(180deg, #ffaaa2, #cb79c0) !important;
}
html body.rb-app #appScreenMore .hero-info-links > :is(a,button).hero-info-link::after {
  border-top-color: #285aa7 !important;
  border-right-color: #285aa7 !important;
}
html body.rb-app #appScreenMore .hero-info-link-icon {
  display: grid !important;
  place-items: center !important;
  width: 46px !important;
  height: 46px !important;
  border: 2px solid #fff !important;
  border-radius: 50% !important;
  background: #285aa7 !important;
  color: #fff !important;
  box-shadow: 0 0 0 2px #1e90ff, inset 0 1px rgba(255,255,255,0.28) !important;
}
html body.rb-app #appScreenMore .rb-more-link-copy {
  display: grid !important;
  align-content: center !important;
  justify-items: start !important;
  min-width: 0 !important;
  gap: 2px !important;
  text-align: left !important;
}
html body.rb-app #appScreenMore .rb-more-link-copy :is(strong,small) {
  width: 100% !important;
  color: #000 !important;
  text-align: left !important;
  text-shadow: none !important;
}
html body.rb-app #appScreenMore .rb-more-link-copy small {
  color: #4c6074 !important;
}

@media (min-width: 760px) {
  html body.rb-app #appScreenMore .hero-info-links {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  }
}

@media (max-width: 430px) {
  :root {
    --rb-stop-card-copy-inset: 30px;
    --rb-stop-card-art-reserve: 120px;
    --rb-featured-card-art-reserve: 170px;
    --rb-menu-art-width: 86px;
    --rb-menu-favorite-width: 39px;
    --rb-menu-copy-left: 22px;
  }
  html body.rb-app .rb-stop-art-layer > .rb-stop-route-cup {
    width: 94px !important;
    height: 134px !important;
    bottom: -6px !important;
  }
  html body.rb-app .rb-stop-art-layer > .rb-featured-cup-trio img {
    height: 150px !important;
    bottom: -6px !important;
  }
  html body.rb-app .rb-stop-art-layer > .rb-featured-cup-trio img:nth-child(1) { left: 7% !important; }
  html body.rb-app .rb-stop-art-layer > .rb-featured-cup-trio img:nth-child(2) { left: 30% !important; }
  html body.rb-app .rb-stop-art-layer > .rb-featured-cup-trio img:nth-child(3) { left: 52% !important; }
  html body.rb-app #heroMenuPanel.hero-menu-panel[role="dialog"] .hero-menu-item-with-art {
    min-height: 116px !important;
    padding: 22px 16px 22px var(--rb-menu-copy-left) !important;
    column-gap: 6px !important;
  }
  html body.rb-app #heroMenuPanel.hero-menu-panel[role="dialog"] .hero-menu-item-with-art.is-description-expanded {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }
}

@media (max-width: 360px) {
  :root {
    --rb-stop-card-art-reserve: 112px;
    --rb-featured-card-art-reserve: 156px;
    --rb-menu-art-width: 76px;
    --rb-menu-favorite-width: 36px;
    --rb-menu-copy-left: 20px;
  }
  html body.rb-app #heroMenuPanel.hero-menu-panel[role="dialog"] .hero-menu-copy > strong {
    font-size: 0.82rem !important;
  }
  html body.rb-app #heroMenuPanel.hero-menu-panel[role="dialog"] .hero-menu-copy p {
    font-size: 0.70rem !important;
    line-height: 1.28 !important;
  }
  html body.rb-app #heroMenuPanel.hero-menu-panel[role="dialog"] .hero-menu-item-with-art.is-description-expanded {
    padding-top: 46px !important;
    padding-bottom: 46px !important;
  }
}
/* Explicitly outrank legacy direct-child positioning for the new art layer. */
html body.rb-app #appScreenStops #results .stop-card.coffee-art-card:not(.cancelled-card):not(.rb-featured-stop-card) > .rb-stop-art-layer {
  position: absolute !important;
  /* Must match the seam-clipped layer geometry above — left:auto here would
     collapse the layer to zero width. */
  left: 16px !important;
  right: 16px !important;
  width: auto !important;
  z-index: 2 !important;
}
html body.rb-app #appScreenHome #rbHomeFeaturedCard .stop-card.rb-featured-stop-card:not(.cancelled-card) > .rb-stop-art-layer {
  position: absolute !important;
  left: auto !important;
  right: 16px !important;
  width: var(--rb-featured-card-art-reserve) !important;
  z-index: 2 !important;
}
/* Final geometry corrections found during rendered component audit. */
/* Product names are deliberately white on every Back to the Books card. */
html body.rb-app #heroMenuPanel.hero-menu-panel[role="dialog"] .hero-menu-item {
  background-color: #bd75ba !important;
  background-image: var(--rb-menu-card-bg-image) !important;
}
html body.rb-app #heroMenuPanel.hero-menu-panel[role="dialog"] .hero-menu-copy > strong,
html body.rb-app #heroMenuPanel.hero-menu-panel[role="dialog"] #heroMenuFavoritesList .hero-menu-copy > strong {
  color: #ffffff !important;
}
html body.rb-app #heroMenuPanel.hero-menu-panel[role="dialog"] .hero-menu-copy *,
html body.rb-app #heroMenuPanel.hero-menu-panel[role="dialog"] .hero-menu-drink-art {
  pointer-events: none !important;
}
html body.rb-app :is(#appScreenStops #results .stop-card:not(.cancelled-card):not(.rb-schedule-empty-card), #appScreenHome #rbHomeFeaturedCard .stop-card.rb-featured-stop-card:not(.cancelled-card):not(.rb-schedule-empty-card)) .stop-name {
  color: #ffffff !important;
  text-shadow: 0 2px 3px rgba(100,35,59,0.72) !important;
}
@media (max-width: 340px) {
  :root {
    --rb-stop-card-art-reserve: 104px;
    --rb-featured-card-art-reserve: 140px;
  }
  html body.rb-app .rb-stop-art-layer > .rb-featured-cup-trio img {
    width: 48% !important;
    height: 134px !important;
    bottom: 14px !important;
  }
  html body.rb-app .rb-stop-art-layer > .rb-featured-cup-trio img:nth-child(1) { left: 4% !important; }
  html body.rb-app .rb-stop-art-layer > .rb-featured-cup-trio img:nth-child(2) { left: 28% !important; }
  html body.rb-app .rb-stop-art-layer > .rb-featured-cup-trio img:nth-child(3) { left: 52% !important; }
}

/* ================================================================
   ROAMING BEAN 2.8.5.15 — LIBRARY CARD PARITY
   Nearby rows, Saved stop cards and More quick links now render on the
   same "Back to the Books" plate as the Stops / Home stop cards.

   GEOMETRY CONTRACT — read before changing any number in this block.

   Each plate is 1464px wide with a bookshelf frame of 100px top,
   100px bottom, 98px left, 94px right (measured off the approved
   schedule-stop-starburst.webp art). Expressed against plate width
   those insets are 6.83% / 6.83% / 6.69% / 6.42%.

   CSS percentage padding always resolves against the element's WIDTH,
   so `padding: 6.83% 6.42% 6.83% 6.69%` reproduces the frame inset at
   any card width without a magic pixel value. `aspect-ratio` then pins
   the card to its plate's proportions, so the frame thickness the art
   paints and the padding the copy respects stay locked together.

   If content is taller than the aspect ratio the card grows and the
   frame thickens beyond the padding — that is why titles are clamped
   to two lines. Raise the plate height in make_plates.py rather than
   loosening the clamp.

   Do NOT set `background-image: none` on these components. That is
   what flattened Nearby to a plain gradient before 2.8.5.15.
   ================================================================ */

:root {
  /* Aspect-matched plates derived from the approved starburst art so the
     bookshelf spines keep their proportions on short cards. */
  --rb-library-plate-row: url("assets/library-plate-row.webp?v=20260803e&rb=20260803e");
  --rb-library-plate-link: url("assets/library-plate-link.webp?v=20260803e&rb=20260803e");
  --rb-library-plate-saved: url("assets/library-plate-saved.webp?v=20260803e&rb=20260803e");

  --rb-library-plate-base: #ca7fc0;
  --rb-library-frame: rgba(255, 235, 223, 0.80);
  --rb-library-shadow: 0 15px 34px rgba(29, 18, 5, 0.28), inset 0 1px rgba(255, 255, 255, 0.34);
  --rb-library-title-shadow: 0 1px 2px rgba(71, 17, 48, 0.55), 0 2px 6px rgba(71, 17, 48, 0.45);
  --rb-library-ink: #ffffff;
  --rb-library-ink-plum: #4e1636;   /* 4.90:1 on purple, 7.69:1 on the starburst */

  /* Frame insets as a share of plate width — see geometry contract. */
  /* Frame insets as a share of plate width — see geometry contract.
     `clear` is extra breathing room so medallions, chips and starburst
     spikes never sit on the panel's white hairline. */
  --rb-library-frame-block: 6.83%;
  --rb-library-frame-inline-left: 6.69%;
  --rb-library-frame-inline-right: 6.42%;
  --rb-library-clear-inline: 3.4%;
  --rb-library-clear-block: 1.4%;
  --rb-library-pad-block: calc(var(--rb-library-frame-block) + var(--rb-library-clear-block));
  /* Starburst geometry (drawn in CSS behind the copy, not baked into the
     plate, so it tracks the title at every width). Overridden per component. */
  --rb-library-star-x: 46px;
  --rb-library-star-y: 26px;
  --rb-library-star-nudge: 15px;
  --rb-library-pad-left: calc(var(--rb-library-frame-inline-left) + var(--rb-library-clear-inline));
  /* Extra inset so copy starts inside the starburst rather than hard against
     the panel edge — mirrors --rb-stop-card-copy-inset on the Stops card. */
  --rb-library-copy-inset: 5%;
  --rb-library-pad-right: calc(var(--rb-library-frame-inline-right) + var(--rb-library-clear-inline));
}

/* Shared plate surface. */
html body.rb-app :is(
  #appScreenNearby #rbNearbyStopList .rb-nearby-stop-row,
  #appScreenSaved #savedStopsList .saved-stop-item,
  #appScreenMore .hero-info-links > :is(a, button).hero-info-link
) {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
  border: 0 !important;
  border-radius: 20px !important;
  background-color: var(--rb-library-plate-base) !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: 100% 100% !important;
  background-blend-mode: normal !important;
  box-shadow: var(--rb-library-shadow) !important;
  color: var(--rb-library-ink) !important;
  padding: var(--rb-library-pad-block) var(--rb-library-pad-right) var(--rb-library-pad-block) var(--rb-library-pad-left) !important;
}

/* Two-line clamp keeps every card inside its plate aspect. */
html body.rb-app :is(
  #appScreenNearby #rbNearbyStopList .rb-nearby-stop-copy strong,
  #appScreenSaved #savedStopsList .saved-stop-copy strong,
  #appScreenMore .rb-more-link-copy strong
) {
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  color: var(--rb-library-ink) !important;
  /* Poppins 700, never the display serif — enforced by the release contract
     ("every PWA stop-name surface uses Poppins"). */
  font-family: var(--rb-font-ui) !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  text-shadow: var(--rb-library-title-shadow) !important;
}


/* --------------------- MENU SECTION LABELS ----------------------- */
/* "Back to the Books Menu" and "Refreshers" are white on the printed
   menu board; the app matches it. Outranks the blue at styles.css:5076
   and the light-blue Refreshers override at styles.css:3778. */
html body.rb-app #heroMenuPanel.hero-menu-panel[role="dialog"] .hero-menu-section-title {
  color: #ffffff !important;
  text-shadow: var(--rb-library-title-shadow) !important;
}
/* The Limited-Time Feature kicker keeps its gold promo treatment. */
html body.rb-app #heroMenuPanel.hero-menu-panel[role="dialog"] .hero-menu-promotion > .hero-menu-section-title {
  color: rgb(255, 224, 157) !important;
}

/* ------------------------- STARBURST ----------------------------- */
/* The plates ship frame-only. The star is drawn here, behind the copy
   block, so it tracks the title through 1-col / 2-col and every card
   width. Baked into the plate it was pinned to a fixed x and the title
   ended up sitting beside it. */
html body.rb-app :is(
  #appScreenNearby #rbNearbyStopList .rb-nearby-stop-copy,
  #appScreenSaved #savedStopsList .saved-stop-copy,
  #appScreenMore .rb-more-links-section .hero-info-link > span:not([class*="hero-info-link-icon"])
) {
  position: relative !important;
  width: max-content !important;
  max-width: 100% !important;
}
html body.rb-app :is(
  #appScreenNearby #rbNearbyStopList .rb-nearby-stop-copy,
  #appScreenSaved #savedStopsList .saved-stop-copy,
  #appScreenMore .rb-more-links-section .hero-info-link > span:not([class*="hero-info-link-icon"])
)::before {
  content: "" !important;
  position: absolute !important;
  z-index: -1 !important;
  /* Nudged right just enough that the leading spikes clear the panel edge;
     a full star-x/2 offset pushed the copy off the star entirely. */
  left: calc(50% + var(--rb-library-star-nudge)) !important;
  top: 50% !important;
  /* Sized per component below — the star must stay inside the purple panel,
     whose usable height is only (card height - 2x frame). */
  width: calc(100% + var(--rb-library-star-x)) !important;
  height: calc(100% + var(--rb-library-star-y)) !important;
  transform: translate(-50%, -50%) !important;
  background: #fdaaa6 !important;
  clip-path: polygon(50.00% 0.00%, 56.05% 19.60%, 69.13% 3.81%, 67.22% 24.22%, 85.36% 14.64%, 75.78% 32.78%, 96.19% 30.87%, 80.40% 43.95%, 100.00% 50.00%, 80.40% 56.05%, 96.19% 69.13%, 75.78% 67.22%, 85.36% 85.36%, 67.22% 75.78%, 69.13% 96.19%, 56.05% 80.40%, 50.00% 100.00%, 43.95% 80.40%, 30.87% 96.19%, 32.78% 75.78%, 14.64% 85.36%, 24.22% 67.22%, 3.81% 69.13%, 19.60% 56.05%, 0.00% 50.00%, 19.60% 43.95%, 3.81% 30.87%, 24.22% 32.78%, 14.64% 14.64%, 32.78% 24.22%, 30.87% 3.81%, 43.95% 19.60%);
  pointer-events: none !important;
}

/* --------------------------- NEARBY ------------------------------ */
html body.rb-app #appScreenNearby #rbNearbyStopList {
  display: grid !important;
  gap: 12px !important;
}
html body.rb-app #appScreenNearby #rbNearbyStopList .rb-nearby-stop-row {
  background-image: var(--rb-library-plate-row) !important;
  aspect-ratio: 1464 / 584 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  grid-template-areas: "copy distance" "copy actions" !important;
  align-content: center !important;
  align-items: center !important;
  column-gap: 10px !important;
  row-gap: 7px !important;
}
html body.rb-app #appScreenNearby #rbNearbyStopList .rb-nearby-stop-copy {
  grid-area: copy !important;
  padding-left: var(--rb-library-copy-inset) !important;
  display: grid !important;
  align-content: center !important;
  gap: 3px !important;
  min-width: 0 !important;
  position: relative !important;
  z-index: 3 !important;
}
html body.rb-app #appScreenNearby #rbNearbyStopList .rb-nearby-stop-copy strong {
  font-size: clamp(0.96rem, 4vw, 1.1rem) !important;
}
html body.rb-app #appScreenNearby #rbNearbyStopList .rb-nearby-stop-copy small {
  color: var(--rb-library-ink-plum) !important;
  font-weight: 800 !important;
  text-shadow: none !important;
}
html body.rb-app #appScreenNearby #rbNearbyStopList .rb-nearby-stop-copy span {
  color: var(--rb-library-ink-plum) !important;
  text-shadow: none !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
html body.rb-app #appScreenNearby #rbNearbyStopList .rb-nearby-stop-distance {
  grid-area: distance !important;
  justify-self: end !important;
  position: relative !important;
  z-index: 3 !important;
  color: #fff !important;
  background: linear-gradient(135deg, rgba(42, 73, 154, 0.97), rgba(40, 90, 167, 0.95)) !important;
  border: 1px solid rgba(255, 255, 255, 0.62) !important;
  box-shadow: 0 6px 14px rgba(29, 18, 5, 0.26) !important;
}
html body.rb-app #appScreenNearby #rbNearbyStopList .rb-nearby-stop-actions {
  grid-area: actions !important;
  justify-self: end !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  position: relative !important;
  z-index: 3 !important;
}
html body.rb-app #appScreenNearby #rbNearbyStopList .rb-nearby-stop-actions button {
  border: 1px solid rgba(255, 255, 255, 0.78) !important;
  background: linear-gradient(180deg, #fffaf0, #f4efe1) !important;
  color: var(--rb-library-ink-plum) !important;
  box-shadow: 0 7px 15px rgba(65, 20, 48, 0.22), inset 0 1px rgba(255, 255, 255, 0.9) !important;
}
html body.rb-app #appScreenNearby #rbNearbyStopList .rb-nearby-route-unavailable {
  color: var(--rb-library-ink-plum) !important;
}

/* ---------------------------- SAVED ------------------------------ */
html body.rb-app #appScreenSaved #savedStopsList {
  display: grid !important;
  gap: 12px !important;
}
html body.rb-app #appScreenSaved #savedStopsList .saved-stop-item {
  background-image: var(--rb-library-plate-saved) !important;
  aspect-ratio: 1464 / 860 !important;
  display: grid !important;
  grid-template-rows: minmax(0, 1fr) auto !important;
  align-content: center !important;
  gap: 10px !important;
}
html body.rb-app #appScreenSaved #savedStopsList .saved-stop-copy {
  padding-left: var(--rb-library-copy-inset) !important;
  display: grid !important;
  align-content: center !important;
  justify-items: start !important;
  gap: 4px !important;
  min-width: 0 !important;
  position: relative !important;
  z-index: 3 !important;
}
html body.rb-app #appScreenSaved #savedStopsList .saved-stop-copy strong {
  font-size: clamp(1rem, 4.2vw, 1.16rem) !important;
}
html body.rb-app #appScreenSaved #savedStopsList .saved-stop-time {
  color: var(--rb-library-ink-plum) !important;
  background: linear-gradient(180deg, #fff3d9, #ffe3b8) !important;
  border: 1px solid rgba(255, 255, 255, 0.86) !important;
  border-radius: 999px !important;
  padding: 3px 11px !important;
  font-weight: 800 !important;
  text-shadow: none !important;
}
html body.rb-app #appScreenSaved #savedStopsList .saved-stop-address {
  color: var(--rb-library-ink-plum) !important;
  text-shadow: none !important;
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
html body.rb-app #appScreenSaved #savedStopsList .saved-stop-distance {
  color: #fff !important;
  background: linear-gradient(135deg, rgba(42, 73, 154, 0.97), rgba(40, 90, 167, 0.95)) !important;
  border: 1px solid rgba(255, 255, 255, 0.62) !important;
  border-radius: 999px !important;
  padding: 3px 11px !important;
  font-weight: 800 !important;
}
html body.rb-app #appScreenSaved #savedStopsList .saved-stop-actions {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 8px !important;
  position: relative !important;
  z-index: 3 !important;
}
html body.rb-app #appScreenSaved #savedStopsList .saved-stop-actions button {
  min-height: 44px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(255, 255, 255, 0.8) !important;
  box-shadow: 0 8px 18px rgba(65, 20, 48, 0.22), inset 0 1px rgba(255, 255, 255, 0.9) !important;
}

/* ----------------------------- MORE ------------------------------ */
html body.rb-app #appScreenMore .hero-info-links > :is(a, button).hero-info-link {
  background-image: var(--rb-library-plate-link) !important;
  aspect-ratio: 1464 / 440 !important;
  display: grid !important;
  grid-template-columns: 48px minmax(0, 1fr) 16px !important;
  align-content: center !important;
  align-items: center !important;
  gap: 11px !important;
  min-height: 0 !important;
}
/* The plate carries the brand art now; the old pink spine would double up. */
html body.rb-app #appScreenMore .hero-info-links > :is(a, button).hero-info-link::before {
  content: none !important;
}
html body.rb-app #appScreenMore .hero-info-links > :is(a, button).hero-info-link::after {
  border-top-color: #ffffff !important;
  border-right-color: #ffffff !important;
}
html body.rb-app #appScreenMore .rb-more-links-section .hero-info-links > :is(a, button).hero-info-link > .hero-info-link-icon {
  display: grid !important;
  place-items: center !important;
  width: 48px !important;
  height: 48px !important;
  border: 2px solid rgba(255, 235, 223, 0.92) !important;
  border-radius: 50% !important;
  background: #64233b !important;
  color: #fff !important;
  box-shadow: 0 8px 16px rgba(29, 18, 5, 0.3), inset 0 1px rgba(255, 255, 255, 0.28) !important;
  position: relative !important;
  z-index: 3 !important;
}
html body.rb-app #appScreenMore .rb-more-links-section .hero-info-link > span:not([class*="hero-info-link-icon"]) {
  display: grid !important;
  align-content: center !important;
  justify-items: start !important;
  min-width: 0 !important;
  gap: 2px !important;
  text-align: left !important;
  position: relative !important;
  z-index: 3 !important;
}
html body.rb-app #appScreenMore .rb-more-links-section .hero-info-link > span:not([class*="hero-info-link-icon"]) > strong,
html body.rb-app #appScreenMore .rb-more-links-section .hero-info-link > span.rb-more-link-copy > strong {
  width: 100% !important;
  text-align: left !important;
  font-size: clamp(0.96rem, 4vw, 1.08rem) !important;
}
html body.rb-app #appScreenMore .rb-more-links-section .hero-info-link > span:not([class*="hero-info-link-icon"]) > small {
  width: 100% !important;
  color: var(--rb-library-ink-plum) !important;
  text-align: left !important;
  text-shadow: none !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

/* styles.css:6070 paints a blue medallion with a cyan halo for the old cream
   card. On the library plate that halo reads as an artifact, so the disc
   becomes shelf-maroon with a cream ring. */
html body.rb-app #appScreenMore .rb-more-links-section .hero-info-links > :is(a, button).hero-info-link > .hero-info-link-icon::before {
  background: transparent !important;
  box-shadow: none !important;
}
html body.rb-app #appScreenMore .rb-more-links-section .hero-info-links > :is(a, button).hero-info-link > .hero-info-link-icon > svg {
  color: #ffffff !important;
  stroke: currentcolor !important;
}

/* Four of the six More links use a bare <span> for their label instead of
   .rb-more-link-copy > strong. Give that span the title treatment directly. */
html body.rb-app #appScreenMore .rb-more-links-section .hero-info-link > span:not([class*="hero-info-link-icon"]) {
  color: #ffffff !important;
  font-family: var(--rb-font-ui) !important;
  font-size: clamp(0.94rem, 3.9vw, 1.05rem) !important;
  font-weight: 700 !important;
  line-height: 1.16 !important;
  text-align: left !important;
  text-shadow: var(--rb-library-title-shadow) !important;
}
html body.rb-app #appScreenMore .rb-more-links-section .hero-info-link > span.rb-more-link-copy {
  display: grid !important;
  justify-items: start !important;
  gap: 2px !important;
}
html body.rb-app #appScreenMore .rb-more-links-section .rb-more-title-heart {
  color: #ffe3b8 !important;
}

/* Nearby and Saved panels are tall enough for a full star; the short More
   rows are not, so they keep the compact default set in :root. */
/* Set on the copy element, not the pseudo, so the margin inset below and the
   star geometry above read the same value. */
html body.rb-app :is(
  #appScreenNearby #rbNearbyStopList .rb-nearby-stop-copy,
  #appScreenSaved #savedStopsList .saved-stop-copy
) {
  --rb-library-star-x: 64px;
  --rb-library-star-y: 62px;
  --rb-library-star-nudge: 19px;
}
/* Keep the medallion clear of the star's leading spikes. */
html body.rb-app #appScreenMore .hero-info-links > :is(a, button).hero-info-link {
  gap: 17px !important;
}
