/* MyMappi Home v779 — a calm, compact return flow on one 980px rail.
   This layer is intentionally limited to populated Home. Starter Mode keeps
   its dedicated first-screen geometry and every existing Home feature stays
   available before and after the companion markup refinement. */

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) {
  --home-calm-rail: 980px;
  --home-calm-section-gap: 30px;
  box-sizing: border-box !important;
  grid-template-columns: minmax(0, 1fr) !important;
  width: min(calc(100% - 40px), var(--home-calm-rail)) !important;
  max-width: var(--home-calm-rail) !important;
  margin-inline: auto !important;
  padding-inline: 0 !important;
  padding-bottom: calc(var(--bottom-nav-height, 84px) + env(safe-area-inset-bottom, 0px) + 56px) !important;
  row-gap: var(--home-calm-section-gap) !important;
  overflow-x: clip !important;
}

/* Populated Home is one vertical reading flow, not a table of sized tracks.
   Keep optional/late-loading shelves in normal intrinsic flow so WebKit has
   no parent grid track to retain after rotation or a chapter rerender.
   The welcome and first-keepsake layouts retain their dedicated sizing. */
html body main.app-shell section.map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home):not(.is-first-keepsake) {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  align-items: stretch !important;
  height: auto !important;
  min-height: 0 !important;
}
html body main.app-shell section.map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home):not(.is-first-keepsake) > * {
  flex: 0 0 auto !important;
}
html body main.app-shell section.map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home):not(.is-first-keepsake) > #homeTimelineStrip.home-section {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  align-items: stretch !important;
  height: auto !important;
  min-height: 0 !important;
}
html body main.app-shell section.map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home):not(.is-first-keepsake) > #homeTimelineStrip.home-section > * {
  flex: 0 0 auto !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) > .home-section {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: var(--home-calm-rail) !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

/* Supporting shelves share one quiet heading baseline instead of reserving a
   large centered title block above every card. */
html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) :is(#homeOnThisDay, #homeJourney, #homeTimelineStrip) .home-section-heading {
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) !important;
  align-items: center !important;
  justify-items: stretch !important;
  width: 100% !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 8px 14px !important;
  text-align: left !important;
}

/* Older Home layers drew a small two-line ornament after the Memory Echo
   heading. In this centered three-column header it becomes an orphaned mark
   and creates a phantom grid row, so the final layer removes it completely. */
html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeOnThisDay .home-section-heading::after {
  display: none !important;
  content: none !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) :is(#homeOnThisDay, #homeJourney, #homeTimelineStrip) .home-section-title {
  display: inline-grid !important;
  grid-template-columns: 26px auto !important;
  align-items: center !important;
  justify-content: start !important;
  grid-column: 2 !important;
  justify-self: center !important;
  width: fit-content !important;
  min-height: 38px !important;
  margin: 0 !important;
  padding: 6px 12px 6px 8px !important;
  gap: 8px !important;
  border: 1px solid rgba(10, 83, 88, 0.09) !important;
  border-radius: 999px !important;
  color: var(--mymappi-text-primary, #123f46) !important;
  background: rgba(255, 253, 248, 0.72) !important;
  box-shadow: 0 7px 18px rgba(7, 57, 65, 0.045) !important;
  font-size: clamp(0.88rem, 1.4vw, 1rem) !important;
  white-space: nowrap !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) :is(#homeOnThisDay, #homeJourney, #homeTimelineStrip) .home-section-title .section-title-icon {
  box-sizing: border-box !important;
  width: 26px !important;
  min-width: 26px !important;
  height: 26px !important;
  min-height: 26px !important;
  margin: 0 !important;
  font-size: 0 !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) :is(#homeOnThisDay, #homeJourney, #homeTimelineStrip) .home-section-title .section-title-text {
  overflow: hidden !important;
  color: inherit !important;
  font-size: inherit !important;
  font-weight: 880 !important;
  line-height: 1.08 !important;
  text-align: left !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) :is(#homeOnThisDay, #homeJourney) .home-section-heading > strong {
  grid-column: 3 !important;
  justify-self: end !important;
  max-width: min(52vw, 48ch) !important;
  margin: 0 !important;
  overflow: hidden !important;
  color: var(--mymappi-text-muted, #557273) !important;
  font-size: 0.72rem !important;
  font-weight: 650 !important;
  line-height: 1.35 !important;
  text-align: right !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) .home-section-heading-detail,
html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) .home-section-heading-actions {
  grid-column: 3 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  justify-self: end !important;
  min-width: 0 !important;
  margin: 0 !important;
  gap: 8px !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) .home-section-heading-detail > strong {
  max-width: min(43vw, 42ch) !important;
  margin: 0 !important;
  overflow: hidden !important;
  color: var(--mymappi-text-muted, #557273) !important;
  font-size: 0.72rem !important;
  font-weight: 650 !important;
  line-height: 1.35 !important;
  text-align: right !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) .home-shelf-count {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 28px !important;
  min-height: 28px !important;
  margin: 0 !important;
  padding: 5px 9px !important;
  border: 1px solid rgba(10, 103, 99, 0.11) !important;
  border-radius: 999px !important;
  color: #35656b !important;
  background: rgba(239, 249, 245, 0.86) !important;
  font-size: 0.68rem !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) :is(button.home-shelf-count, a.home-shelf-count) {
  min-width: 44px !important;
  min-height: 44px !important;
}

/* The dynamic lead remains the richest surface in the flow. Its smaller
   supporting shelves never borrow this depth or type scale. */
html body main.app-shell section.map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) > #homeMemoryOfDay.memory-of-day-card {
  --home-today-rail: var(--home-calm-rail);
  width: min(100%, var(--home-calm-rail)) !important;
  max-width: var(--home-calm-rail) !important;
  margin-inline: auto !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeMemoryOfDay.is-living-home {
  width: 100% !important;
  max-width: var(--home-calm-rail) !important;
  margin: 0 auto !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeMemoryOfDay .home-living-card {
  grid-template-columns: minmax(240px, 0.76fr) minmax(0, 1.24fr) !important;
  min-height: 286px !important;
  border-radius: 28px !important;
  box-shadow:
    0 22px 52px rgba(3, 44, 57, 0.115),
    inset 0 1px 0 rgba(255, 255, 255, 0.94) !important;
}

/* The Today invitation uses one centered text axis: heading, supporting copy,
   date, action and privacy note must not alternate left/center alignment. */
html body main.app-shell section.map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeMemoryOfDay .home-living-copy {
  align-items: center !important;
  justify-items: center !important;
  text-align: center !important;
}
html body main.app-shell section.map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeMemoryOfDay .home-living-copy > :is(h2, h3, p, small, .home-living-kicker, .home-living-meta, .home-living-action) {
  margin-inline: auto !important;
  align-self: center !important;
  justify-content: center !important;
  text-align: center !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeMemoryOfDay .home-living-visual.has-photo > img {
  min-height: 286px !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeMemoryOfDay .home-living-copy {
  padding: clamp(26px, 4vw, 40px) !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeMemoryOfDay .home-living-copy h2 {
  font-size: clamp(1.65rem, 3vw, 2.42rem) !important;
  line-height: 1.04 !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeMemoryOfDay .home-living-copy > p {
  margin-top: 12px !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeMemoryOfDay .home-living-action {
  min-height: 48px !important;
  margin-top: 18px !important;
}

/* Recovery instructions are not a memory excerpt: keep the entire explanation
   readable, including on a phone, without changing normal card truncation. */
html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeMemoryOfDay .home-living-card.is-account-retry .home-living-copy > p {
  display: block !important;
  -webkit-line-clamp: unset !important;
  max-height: none !important;
  overflow: visible !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeMemoryOfDay .home-living-card.is-account-retry .home-living-action {
  align-self: center !important;
  margin-inline: auto !important;
}

/* One slim signature row connects the lead to the supporting shelves. */
html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) > #homeSignatureActionSection.home-signature-action-section {
  width: 100% !important;
  max-width: var(--home-calm-rail) !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) > #homeSignatureActionSection.home-signature-action-section[hidden],
html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) :is(#homeCreateMemoryAction, #homeReliveMyMap, #homeJourneyRecap)[hidden] {
  display: none !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) :is(#homeCreateMemoryAction, #homeReliveMyMap, #homeJourneyRecap) {
  grid-template-columns: 44px minmax(0, 1fr) 44px !important;
  width: min(100%, 600px) !important;
  max-width: 600px !important;
  min-height: 68px !important;
  margin-inline: auto !important;
  padding: 9px 11px !important;
  gap: 12px !important;
  border-radius: 20px !important;
  justify-self: center !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) :is(#homeCreateMemoryAction, #homeReliveMyMap, #homeJourneyRecap) .home-private-relive-mark,
html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) :is(#homeCreateMemoryAction, #homeReliveMyMap, #homeJourneyRecap) .home-private-relive-action {
  box-sizing: border-box !important;
  width: 44px !important;
  min-width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
}

/* Memory Echo: photo, context, action, and manual paging stay present in a
   single compact card. The 44px paging controls are real touch targets. */
html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeOnThisDay .memory-echo-feature {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeOnThisDay .memory-echo-feature-card.is-simplified {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  grid-template-areas:
    "reason navigation"
    "body action" !important;
  grid-template-rows: auto auto !important;
  min-height: 0 !important;
  padding: 14px 16px !important;
  gap: 8px 16px !important;
  border-radius: 18px !important;
  box-shadow:
    0 13px 30px rgba(10, 64, 69, 0.075),
    inset 0 1px 0 rgba(255, 255, 255, 0.94) !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeOnThisDay .memory-echo-reason {
  max-width: 100% !important;
  min-height: 26px !important;
  padding: 5px 9px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeOnThisDay .memory-echo-body {
  grid-template-columns: 88px minmax(0, 1fr) !important;
  gap: 14px !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeOnThisDay .memory-echo-thumb {
  width: 88px !important;
  min-width: 88px !important;
  height: 88px !important;
  min-height: 88px !important;
  border-radius: 13px !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeOnThisDay .memory-echo-copy-main {
  gap: 4px !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeOnThisDay .memory-echo-copy-main strong {
  display: -webkit-box !important;
  font-size: clamp(1rem, 2vw, 1.24rem) !important;
  line-height: 1.12 !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeOnThisDay .memory-echo-copy-main :is(small, .memory-echo-story) {
  line-height: 1.32 !important;
  -webkit-line-clamp: 1 !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeOnThisDay .memory-echo-relive {
  min-width: 148px !important;
  min-height: 44px !important;
  padding: 9px 14px !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeOnThisDay .memory-echo-navigation {
  justify-self: end !important;
  min-height: 44px !important;
  gap: 6px !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeOnThisDay .memory-echo-nav-button {
  box-sizing: border-box !important;
  width: 44px !important;
  min-width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  padding: 0 0 2px !important;
}

/* A first memory removes Starter Mode before Echo has enough history to show.
   Keep that waiting state on the same full supporting-section rail;
   exposing its body as grid contents prevents implicit tracks from pushing the
   orbit and copy into one another. */
html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeOnThisDay.is-empty .memory-echo-feature {
  width: 100% !important;
  max-width: var(--home-calm-rail) !important;
  margin-inline: auto !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeOnThisDay.is-empty .memory-echo-feature-card.is-empty {
  display: grid !important;
  grid-template-areas:
    "art"
    "copy" !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: auto auto !important;
  align-content: center !important;
  align-items: center !important;
  justify-items: center !important;
  width: 100% !important;
  max-width: var(--home-calm-rail) !important;
  min-height: 250px !important;
  margin: 0 auto !important;
  padding: 24px 28px !important;
  gap: 10px !important;
  border-radius: 26px !important;
  text-align: center !important;
  box-shadow: 0 13px 30px rgba(10, 64, 69, 0.075) !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeOnThisDay.is-empty .memory-echo-body {
  display: contents !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeOnThisDay.is-empty .memory-echo-empty-orbit {
  grid-area: art !important;
  justify-self: center !important;
  width: 84px !important;
  min-width: 84px !important;
  max-width: 84px !important;
  height: 84px !important;
  min-height: 84px !important;
  max-height: 84px !important;
  margin: 0 auto !important;
  border-radius: 20px !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeOnThisDay.is-empty .memory-echo-copy-main {
  grid-area: copy !important;
  display: grid !important;
  justify-self: center !important;
  justify-items: center !important;
  width: min(100%, 590px) !important;
  max-width: 590px !important;
  min-width: 0 !important;
  margin: 0 auto !important;
  padding: 0 !important;
  gap: 5px !important;
  text-align: center !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeOnThisDay.is-empty .memory-echo-copy-main > * {
  justify-self: center !important;
  margin-inline: auto !important;
  text-align: center !important;
  text-wrap: balance !important;
}

/* Life Chapters: shorter covers, lighter cards, compact facts, and one clear
   primary action. Current Edit remains available as a 44px icon; the optional
   More menu below supports the companion markup without changing this layer. */
html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeJourney .life-chapter-shelf,
html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeJourney .life-chapter-import-row {
  width: 100% !important;
  max-width: 100% !important;
  margin-inline: auto !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeJourney .life-chapter-row {
  grid-auto-columns: minmax(282px, 310px) !important;
  padding: 3px 2px 8px !important;
  gap: 12px !important;
}

/* One uninterrupted chapter rail. The real scrollbar only exists when the
   cards overflow, supports trackpad/drag, and does not require JS resize work. */
html body .app-shell .map-stage.home-focus #homeDashboard #homeJourney .life-chapter-shelf {
  display: block !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard #homeJourney .life-chapter-shelf::before,
html body .app-shell .map-stage.home-focus #homeDashboard #homeJourney .life-chapter-shelf::after {
  display: none !important;
  content: none !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard #homeJourney .life-chapter-row:focus-visible {
  outline: 2px solid #087f78 !important;
  outline-offset: -2px !important;
  border-radius: 20px;
}

@media (min-width: 721px) {
  html body .app-shell .map-stage.home-focus #homeDashboard #homeJourney .life-chapter-row {
    overflow-x: auto !important;
    /* Standard "thin" opts Chromium into an auto-hiding overlay scrollbar.
       Use the styled WebKit track below so desktop browsing stays discoverable. */
    scrollbar-width: auto !important;
    scrollbar-color: auto !important;
  }

  html body .app-shell .map-stage.home-focus #homeDashboard #homeJourney .life-chapter-row::-webkit-scrollbar {
    display: block !important;
    height: 8px !important;
  }

  html body .app-shell .map-stage.home-focus #homeDashboard #homeJourney .life-chapter-row::-webkit-scrollbar-track {
    background: #deeeeb;
    border-radius: 999px;
  }

  html body .app-shell .map-stage.home-focus #homeDashboard #homeJourney .life-chapter-row::-webkit-scrollbar-thumb {
    background: #367f80;
    border-radius: 999px;
  }

  @supports not selector(::-webkit-scrollbar) {
    html body .app-shell .map-stage.home-focus #homeDashboard #homeJourney .life-chapter-row {
      scrollbar-width: thin !important;
      scrollbar-color: #367f80 #deeeeb !important;
    }
  }
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeJourney .life-chapter-card {
  grid-template-rows: 160px minmax(0, 1fr) !important;
  min-height: 0 !important;
  border-radius: 19px !important;
  box-shadow:
    0 12px 28px rgba(7, 61, 69, 0.085),
    inset 0 1px 0 rgba(255, 255, 255, 0.92) !important;
  transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeJourney .life-chapter-card::before {
  border-radius: 19px 0 0 19px !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeJourney .life-chapter-cover {
  height: 160px !important;
  min-height: 160px !important;
  border-radius: 18px 18px 0 0 !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeJourney .life-chapter-cover > img {
  transition: transform 240ms ease !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeJourney .life-chapter-copy {
  position: relative !important;
  grid-template-rows: auto auto minmax(103px, 1fr) !important;
  grid-template-areas:
    "heading"
    "facts"
    "actions" !important;
  align-content: stretch !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 12px 13px 13px !important;
  gap: 8px !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeJourney .life-chapter-card-heading {
  grid-template-rows: auto auto !important;
  min-height: 0 !important;
  padding-right: 50px !important;
  gap: 3px !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeJourney .life-chapter-card-heading > strong {
  min-height: 0 !important;
  font-size: 1rem !important;
  line-height: 1.1 !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeJourney .life-chapter-card-heading > small {
  min-height: 0 !important;
  font-size: 0.64rem !important;
  line-height: 1.25 !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeJourney .life-chapter-facts {
  min-height: 0 !important;
  flex-wrap: nowrap !important;
  gap: 5px !important;
  overflow: hidden !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeJourney .life-chapter-facts > span {
  min-width: 0 !important;
  min-height: 26px !important;
  padding: 5px 8px !important;
  overflow: hidden !important;
  white-space: nowrap !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeJourney .life-chapter-actions {
  position: static !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: auto !important;
  align-self: end !important;
  align-content: end !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding-top: 8px !important;
  gap: 7px !important;
}

/* Every card reserves one quiet completion row. This keeps the primary
   Relive action on the same baseline before, during, and after completion. */
html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeJourney .life-chapter-completion-slot {
  grid-column: 1 / -1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 0 !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeJourney .life-chapter-completion-slot.is-empty {
  pointer-events: none !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeJourney .life-chapter-actions :is(.life-chapter-relive, .life-chapter-open) {
  grid-column: 1 / -1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 44px !important;
  padding: 9px 13px !important;
  gap: 7px !important;
  border: 1px solid rgba(11, 114, 100, 0.42) !important;
  border-radius: 999px !important;
  color: var(--mymappi-action-primary-ink, #f8fffc) !important;
  background: var(--mymappi-action-primary-gradient, linear-gradient(112deg, #00243f 0%, #075965 54%, #0b806e 100%)) !important;
  box-shadow: 0 8px 18px rgba(4, 67, 74, 0.16) !important;
  font-size: 0.74rem !important;
  font-weight: 840 !important;
  white-space: nowrap !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeJourney .life-chapter-edit {
  position: absolute !important;
  top: 7px !important;
  right: 6px !important;
  left: auto !important;
  z-index: 8 !important;
  display: inline-grid !important;
  width: 44px !important;
  min-width: 44px !important;
  max-width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  max-height: 44px !important;
  place-items: center !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  color: #176b72 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeJourney .life-chapter-edit::before {
  position: absolute !important;
  inset: 7px !important;
  z-index: -1 !important;
  content: "" !important;
  border: 1px solid rgba(15, 105, 107, 0.12) !important;
  border-radius: inherit !important;
  background: rgba(255, 255, 255, 0.72) !important;
  box-shadow: 0 4px 12px rgba(7, 61, 69, 0.07) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeJourney .life-chapter-edit > svg {
  position: relative !important;
  z-index: 1 !important;
  width: 15px !important;
  height: 15px !important;
  stroke-width: 2 !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeJourney .life-chapter-edit > span:last-child {
  display: none !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeJourney button.life-chapter-completion-status {
  position: static !important;
  inset: auto !important;
  z-index: auto !important;
  grid-column: 1 / -1 !important;
  justify-self: start !important;
  width: auto !important;
  max-width: 100% !important;
  min-width: 44px !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 8px 13px !important;
  border: 1px solid rgba(11, 128, 110, 0.24) !important;
  border-radius: 999px !important;
  color: #096b65 !important;
  background: linear-gradient(145deg, rgba(239, 251, 246, 0.98), rgba(224, 246, 239, 0.92)) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.88), 0 5px 12px rgba(7, 77, 73, 0.07) !important;
  font-size: 0.65rem !important;
  font-weight: 820 !important;
  white-space: nowrap !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeJourney .life-chapter-completion-status.is-finished {
  position: static !important;
  inset: auto !important;
  z-index: auto !important;
  grid-column: 1 / -1 !important;
  justify-self: start !important;
  width: fit-content !important;
  max-width: 100% !important;
  min-height: 30px !important;
  margin: 0 !important;
  padding: 6px 10px !important;
  border: 1px solid rgba(11, 128, 110, 0.14) !important;
  color: #3d696a !important;
  background: rgba(238, 249, 245, 0.9) !important;
  box-shadow: none !important;
  font-size: 0.62rem !important;
  font-weight: 790 !important;
  letter-spacing: 0.01em !important;
  white-space: nowrap !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeJourney .life-chapter-completion-status > svg {
  width: 14px !important;
  height: 14px !important;
  flex: 0 0 auto !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeJourney .life-chapter-menu {
  position: absolute !important;
  top: 10px !important;
  left: 11px !important;
  z-index: 12 !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeJourney .life-chapter-more {
  display: inline-grid !important;
  width: 44px !important;
  min-width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  place-items: center !important;
  padding: 0 !important;
  border: 1px solid rgba(255, 255, 255, 0.44) !important;
  border-radius: 999px !important;
  color: #ffffff !important;
  background: rgba(3, 39, 47, 0.7) !important;
  box-shadow: 0 7px 17px rgba(2, 27, 33, 0.17) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeJourney .life-chapter-menu-popover {
  position: absolute !important;
  top: calc(100% + 7px) !important;
  left: 0 !important;
  z-index: 13 !important;
  display: grid !important;
  box-sizing: border-box !important;
  width: max-content !important;
  min-width: 168px !important;
  max-width: min(220px, calc(100vw - 52px)) !important;
  padding: 6px !important;
  gap: 2px !important;
  border: 1px solid rgba(10, 83, 88, 0.13) !important;
  border-radius: 14px !important;
  color: var(--mymappi-text-primary, #123f46) !important;
  background: rgba(255, 253, 248, 0.97) !important;
  box-shadow: 0 16px 34px rgba(3, 44, 57, 0.18) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeJourney .life-chapter-menu-popover[hidden] {
  display: none !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeJourney .life-chapter-menu-popover :is(button, a) {
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  min-height: 44px !important;
  padding: 9px 11px !important;
  gap: 9px !important;
  border: 0 !important;
  border-radius: 10px !important;
  color: inherit !important;
  background: transparent !important;
  text-align: left !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeJourney .life-chapter-import-row {
  grid-template-columns: minmax(0, 1fr) !important;
  margin-top: 6px !important;
  gap: 5px !important;
  justify-items: center !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeJourney :is(.life-chapter-trip-start, .life-chapter-trip-end, .life-chapter-trip-import-quiet) {
  min-height: 44px !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeJourney .life-chapter-trip-start:not(.is-active-trip) {
  display: grid !important;
  grid-template-columns: 44px minmax(0, 1fr) 44px !important;
  width: min(100%, 600px) !important;
  max-width: 600px !important;
  min-height: 68px !important;
  margin-inline: auto !important;
  padding: 9px 11px !important;
  gap: 12px !important;
  border-radius: 20px !important;
  justify-self: center !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeJourney .life-chapter-trip-start:not(.is-active-trip) .life-chapter-trip-start-icon {
  box-sizing: border-box !important;
  width: 44px !important;
  min-width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeJourney .life-chapter-trip-copy {
  display: grid !important;
  min-width: 0 !important;
  gap: 3px !important;
  align-content: center !important;
  text-align: left !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeJourney .life-chapter-trip-copy .life-chapter-trip-start-label {
  overflow: hidden !important;
  color: #123f4b !important;
  font-size: clamp(0.94rem, 2vw, 1.08rem) !important;
  font-weight: 860 !important;
  letter-spacing: -0.018em !important;
  line-height: 1.18 !important;
  text-align: left !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeJourney .life-chapter-trip-copy > small {
  display: -webkit-box !important;
  margin: 0 !important;
  overflow: hidden !important;
  color: #637e82 !important;
  font-size: 0.72rem !important;
  font-weight: 620 !important;
  line-height: 1.35 !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 1 !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeJourney .life-chapter-trip-start:not(.is-active-trip) .life-chapter-trip-start-arrow {
  box-sizing: border-box !important;
  display: grid !important;
  width: 44px !important;
  min-width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  place-items: center !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeJourney > .life-chapter-empty.premium-empty-preview {
  display: grid !important;
  grid-template-areas:
    "book"
    "copy" !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: auto auto !important;
  align-content: center !important;
  align-items: center !important;
  justify-items: center !important;
  width: 100% !important;
  max-width: var(--home-calm-rail) !important;
  min-height: 250px !important;
  margin: 0 auto !important;
  padding: 24px 28px !important;
  gap: 10px !important;
  border-radius: 26px !important;
  text-align: center !important;
}

/* Keep the empty chapter preview as the visible card, while the trip action
   reads as a separate Home action beneath it. */
html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeJourney.is-empty-chapter-section {
  overflow: visible !important;
  border-color: transparent !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* Life Chapters is a rail, not one oversized card. Keep the heading, chapter
   cards, and trip action on the same alignment system while allowing the trip
   action to read as its own sibling beneath the carousel for every account. */
html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) > :is(#homeOnThisDay, #homeJourney, #homeTimelineStrip) {
  overflow: visible !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  row-gap: 13px !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) > :is(#homeOnThisDay, #homeJourney, #homeTimelineStrip)::before {
  display: none !important;
  content: none !important;
}

/* Structural fallback: the Home shell may be restored from a cached render
   before app.js adds the empty-state class. The empty preview itself is enough
   to identify this state, so never let the outer section visually trap the
   separate Start with a trip action. */
html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeJourney:has(> .life-chapter-empty.premium-empty-preview) {
  overflow: visible !important;
  border-color: transparent !important;
  background: transparent !important;
  box-shadow: none !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeJourney:has(> .life-chapter-empty.premium-empty-preview)::before,
html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeJourney.is-empty-chapter-section::before {
  display: none !important;
  content: none !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeJourney .life-chapter-starter-book {
  grid-area: book !important;
  justify-self: center !important;
  align-self: center !important;
  width: 96px !important;
  min-width: 96px !important;
  max-width: 96px !important;
  height: 72px !important;
  min-height: 72px !important;
  max-height: 72px !important;
  margin: 0 auto !important;
  padding: 6px !important;
  border-radius: 13px !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeJourney .life-chapter-empty-copy {
  grid-area: copy !important;
  display: grid !important;
  justify-self: center !important;
  justify-items: center !important;
  width: min(100%, 590px) !important;
  max-width: 590px !important;
  min-width: 0 !important;
  margin: 0 auto !important;
  padding: 0 !important;
  gap: 5px !important;
  text-align: center !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeJourney .life-chapter-empty-copy > * {
  justify-self: center !important;
  margin-inline: auto !important;
  text-align: center !important;
  text-wrap: balance !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeJourney .life-chapter-empty-copy > strong {
  font-size: clamp(1rem, 1.8vw, 1.18rem) !important;
  line-height: 1.12 !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeJourney .life-chapter-empty-copy > small {
  font-size: 0.76rem !important;
  line-height: 1.38 !important;
}

/* The journey action is a sibling beneath the preview, matching the Home
   signature action instead of reading like content trapped inside the card. */
html body .app-shell .map-stage.home-focus #homeDashboard #homeJourney .life-chapter-empty-action-row {
  display: grid !important;
  justify-items: center !important;
  box-sizing: border-box !important;
  width: min(100%, 600px) !important;
  max-width: 600px !important;
  margin: 12px auto 0 !important;
  padding: 0 !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard #homeJourney .life-chapter-empty-action-row > .life-chapter-trip-start:not(.is-active-trip) {
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: 44px minmax(0, 1fr) 44px !important;
  align-items: center !important;
  width: 100% !important;
  max-width: 600px !important;
  min-height: 68px !important;
  margin: 0 auto !important;
  padding: 9px 11px !important;
  gap: 12px !important;
  border-radius: 20px !important;
  justify-self: center !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard #homeJourney .life-chapter-empty-action-row > .life-chapter-trip-start:not(.is-active-trip) .life-chapter-trip-start-icon,
html body .app-shell .map-stage.home-focus #homeDashboard #homeJourney .life-chapter-empty-action-row > .life-chapter-trip-start:not(.is-active-trip) .life-chapter-trip-start-arrow {
  box-sizing: border-box !important;
  display: grid !important;
  width: 44px !important;
  min-width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  place-items: center !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard #homeJourney .life-chapter-empty-action-row > .life-chapter-trip-start:not(.is-active-trip) .life-chapter-trip-copy {
  display: grid !important;
  min-width: 0 !important;
  align-content: center !important;
  gap: 3px !important;
  text-align: left !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard #homeJourney .life-chapter-empty-action-row > .life-chapter-trip-active-actions {
  width: min(100%, 380px) !important;
  max-width: 380px !important;
  margin: 0 auto !important;
}

/* The chapter viewer primary follows the same action hierarchy. */
html body .app-shell .life-chapter-viewer .life-chapter-viewer-relive {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 44px !important;
  min-height: 44px !important;
  padding: 10px 16px !important;
  gap: 8px !important;
  border: 1px solid rgba(11, 114, 100, 0.42) !important;
  border-radius: 999px !important;
  color: var(--mymappi-action-primary-ink, #f8fffc) !important;
  background: var(--mymappi-action-primary-gradient, linear-gradient(112deg, #00243f 0%, #075965 54%, #0b806e 100%)) !important;
  box-shadow: 0 10px 22px rgba(4, 67, 74, 0.18) !important;
  font-weight: 820 !important;
}

html body .app-shell .life-chapter-viewer .life-chapter-viewer-actions {
  flex-wrap: wrap !important;
}

/* Recent Memories becomes a short keepsake shelf; photos stay recognizable
   without turning each item into another hero. */
html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeTimelineStrip .recent-memory-view-all {
  justify-self: end !important;
  display: inline-grid !important;
  width: 44px !important;
  min-width: 44px !important;
  max-width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 0 !important;
  place-items: center !important;
  border-radius: 999px !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeTimelineStrip .recent-memory-view-all-label {
  display: none !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeTimelineStrip .recent-memories-panel {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 0 !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeTimelineStrip .recent-memory-card-shelf {
  grid-auto-flow: row !important;
  grid-auto-columns: auto !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 2px 1px 6px !important;
  gap: 12px !important;
  overflow: visible !important;
  scroll-snap-type: none !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeTimelineStrip .recent-memory-shelf-card {
  width: 100% !important;
  height: 100% !important;
  grid-template-rows: auto auto !important;
  min-height: 0 !important;
  padding: 6px !important;
  border-radius: 18px !important;
  box-shadow:
    0 10px 24px rgba(7, 57, 65, 0.065),
    inset 0 1px 0 rgba(255, 255, 255, 0.92) !important;
  transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeTimelineStrip .recent-memory-shelf-item {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 100% !important;
  scroll-snap-align: start !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeTimelineStrip .recent-memory-shelf-art {
  aspect-ratio: 16 / 10 !important;
  border-radius: 13px !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeTimelineStrip .recent-memory-shelf-copy {
  min-width: 0 !important;
  padding: 8px 6px 6px !important;
  gap: 3px !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeTimelineStrip .recent-memory-shelf-copy > strong {
  overflow: hidden !important;
  font-size: 0.86rem !important;
  line-height: 1.16 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeTimelineStrip .recent-memory-shelf-copy > small {
  overflow: hidden !important;
  font-size: 0.63rem !important;
  line-height: 1.28 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeTimelineStrip .recent-memory-media-badge {
  position: absolute !important;
  top: 8px !important;
  left: 8px !important;
  right: auto !important;
  z-index: 4 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  width: auto !important;
  min-width: 28px !important;
  max-width: calc(100% - 52px) !important;
  height: 28px !important;
  min-height: 28px !important;
  padding: 5px 7px !important;
  gap: 4px !important;
  border: 1px solid rgba(255, 255, 255, 0.46) !important;
  border-radius: 999px !important;
  color: #ffffff !important;
  background: rgba(3, 39, 47, 0.7) !important;
  box-shadow: 0 6px 14px rgba(2, 27, 33, 0.14) !important;
  backdrop-filter: blur(9px) !important;
  -webkit-backdrop-filter: blur(9px) !important;
  font-size: 0.58rem !important;
  font-weight: 780 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeTimelineStrip .recent-memory-media-badge > span {
  display: inline-grid !important;
  min-width: 10px !important;
  place-items: center !important;
  font-size: 0.66rem !important;
  line-height: 1 !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeTimelineStrip .recent-memory-media-badge > b {
  font-size: 0.58rem !important;
  font-weight: 850 !important;
  line-height: 1 !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeTimelineStrip .recent-memories-empty.premium-empty-preview {
  display: grid !important;
  grid-template-columns: 76px minmax(0, 1fr) !important;
  align-items: center !important;
  min-height: 0 !important;
  padding: 13px 15px !important;
  gap: 13px !important;
  border-radius: 18px !important;
  text-align: left !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeTimelineStrip .recent-empty-timeline {
  width: 72px !important;
  min-width: 72px !important;
  height: 54px !important;
  min-height: 54px !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeTimelineStrip .recent-empty-copy {
  justify-items: start !important;
  gap: 3px !important;
  text-align: left !important;
}

/* Every interactive element introduced or retained in this Home sequence has
   at least a 44px target, independent of its visual icon size. */
html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) :is(#homeMemoryOfDay, #homeSignatureActionSection, #homeOnThisDay, #homeJourney, #homeTimelineStrip) button {
  box-sizing: border-box !important;
  min-height: 44px !important;
  touch-action: manipulation !important;
}

/* Match the DOM reading order: Echo (3), monthly recap, then Chapters (4).
   Without an explicit order the standalone recap defaults to 0, above Today. */
html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard > #homeJourneyRecap {
  order: 3 !important;
}

/* These two journey actions intentionally share one footprint. Keep this
   after the general 44px touch-target rule so their premium row height wins. */
html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) :is(button#homeCreateMemoryAction, button#homeReliveMyMap, button#homeJourneyRecap),
html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeJourney .life-chapter-trip-start:not(.is-active-trip) {
  width: min(100%, 600px) !important;
  max-width: 600px !important;
  min-height: 68px !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) :is(#homeMemoryOfDay, #homeSignatureActionSection, #homeOnThisDay, #homeJourney, #homeTimelineStrip) button:focus-visible,
html body .app-shell .life-chapter-viewer .life-chapter-viewer-relive:focus-visible {
  outline: 3px solid var(--mymappi-focus-ring, rgba(27, 166, 177, 0.34)) !important;
  outline-offset: 3px !important;
}

/* iPad and compact desktop: the rail keeps comfortable gutters while each
   shelf shows enough of the next card to communicate horizontal browsing. */
@media (min-width: 721px) and (max-width: 1024px) {
  html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) {
    --home-calm-section-gap: 30px;
    width: calc(100% - 40px) !important;
    max-width: var(--home-calm-rail) !important;
    padding-bottom: calc(var(--bottom-nav-height, 78px) + env(safe-area-inset-bottom, 0px) + 52px) !important;
  }

  html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeMemoryOfDay .home-living-card {
    grid-template-columns: minmax(214px, 0.72fr) minmax(0, 1.28fr) !important;
    min-height: 272px !important;
  }

  html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeMemoryOfDay .home-living-visual.has-photo > img {
    min-height: 272px !important;
  }

  html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeJourney .life-chapter-row {
    grid-auto-columns: min(42vw, 300px) !important;
    padding-right: 10vw !important;
  }

  html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeTimelineStrip .recent-memory-card-shelf {
    grid-auto-flow: column !important;
    grid-auto-columns: min(42vw, 260px) !important;
    grid-template-columns: none !important;
    padding-right: 9vw !important;
    gap: 10px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-padding-inline: 1px !important;
    scroll-snap-type: x proximity !important;
    overscroll-behavior-inline: contain !important;
    scrollbar-width: none !important;
    -webkit-overflow-scrolling: touch !important;
  }

  html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeTimelineStrip .recent-memory-shelf-card {
    scroll-snap-align: start !important;
  }
}

/* Phone: compact two-column lead, single complete chapter/recent card per
   swipe, protected text wrapping, and explicit bottom-nav clearance. */
@media (max-width: 720px), (max-height: 520px) and (hover: none) and (pointer: coarse) {
  html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) {
    --home-calm-section-gap: 22px;
    width: calc(100% - 24px) !important;
    max-width: calc(100% - 24px) !important;
    padding-bottom: calc(var(--bottom-nav-height, 78px) + env(safe-area-inset-bottom, 0px) + 46px) !important;
  }

  html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeMemoryOfDay {
    --home-today-radius: 24px;
    --home-today-inner-radius: 19px;
    --home-today-card-padding: 8px;
    --home-today-card-gap: 8px;
  }

  html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) :is(#homeOnThisDay, #homeJourney, #homeTimelineStrip) .home-section-heading {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    justify-items: center !important;
  }

  html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) :is(#homeOnThisDay, #homeJourney, #homeTimelineStrip) .home-section-title {
    grid-column: 1 !important;
    grid-row: 1 !important;
    justify-self: center !important;
  }

  html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) :is(#homeOnThisDay, #homeJourney) .home-section-heading > strong {
    grid-column: 1 !important;
    grid-row: 2 !important;
    justify-self: center !important;
    max-width: 100% !important;
    margin-top: -4px !important;
    text-align: center !important;
  }

  html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeJourney .home-section-heading-detail {
    grid-column: 1 !important;
    grid-row: 2 !important;
    justify-content: center !important;
    justify-self: center !important;
    width: auto !important;
    margin-top: -4px !important;
  }

  html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeJourney .home-section-heading-detail > strong {
    max-width: min(58vw, 42ch) !important;
    text-align: center !important;
  }

  html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeTimelineStrip .home-section-heading-actions {
    grid-column: 1 !important;
    grid-row: 2 !important;
    justify-self: center !important;
    gap: 5px !important;
  }

  html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeTimelineStrip .home-section-heading {
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) !important;
    grid-template-rows: auto !important;
  }

  html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeTimelineStrip .home-section-title {
    grid-column: 2 !important;
    grid-row: 1 !important;
  }

  html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeTimelineStrip .home-section-heading-actions {
    grid-column: 3 !important;
    grid-row: 1 !important;
    justify-self: end !important;
  }

  html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeTimelineStrip .recent-memory-view-all {
    width: 44px !important;
    min-width: 44px !important;
    padding: 0 !important;
    justify-content: center !important;
    border-radius: 999px !important;
  }

  html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeTimelineStrip .recent-memory-view-all-label {
    display: none !important;
  }

  html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeTimelineStrip .home-shelf-count {
    display: none !important;
  }

  html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) :is(#homeOnThisDay, #homeJourney, #homeTimelineStrip) .home-section-title {
    grid-template-columns: 24px auto !important;
    min-height: 36px !important;
    padding: 5px 11px 5px 7px !important;
    gap: 7px !important;
    font-size: 0.88rem !important;
  }

  html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) :is(#homeOnThisDay, #homeJourney, #homeTimelineStrip) .home-section-title .section-title-icon {
    width: 24px !important;
    min-width: 24px !important;
    height: 24px !important;
    min-height: 24px !important;
  }

  html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeMemoryOfDay.is-living-home {
    width: 100% !important;
  }

  html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeMemoryOfDay .home-living-card {
    grid-template-columns: 108px minmax(0, 1fr) !important;
    min-height: 238px !important;
    border-radius: 23px !important;
  }

  html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeMemoryOfDay .home-living-visual.has-photo > img {
    min-height: 238px !important;
  }

  html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeMemoryOfDay .home-living-copy {
    padding: 19px 16px !important;
  }

  html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeMemoryOfDay .home-living-copy h2 {
    font-size: clamp(1.24rem, 5.4vw, 1.52rem) !important;
  }

  html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeMemoryOfDay .home-living-copy > p {
    margin-top: 8px !important;
    font-size: 0.75rem !important;
    line-height: 1.38 !important;
  }

  html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeMemoryOfDay .home-living-action {
    min-height: 44px !important;
    margin-top: 12px !important;
  }

  html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) :is(button#homeCreateMemoryAction, button#homeReliveMyMap, button#homeJourneyRecap) {
    width: 100% !important;
    max-width: 100% !important;
    height: 64px !important;
    min-height: 64px !important;
    border-radius: 18px !important;
  }

  html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeJourney .life-chapter-trip-start:not(.is-active-trip) {
    width: 100% !important;
    max-width: 100% !important;
    height: 64px !important;
    min-height: 64px !important;
    border-radius: 18px !important;
  }

  html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeJourney .life-chapter-empty-action-row {
    width: 100% !important;
    max-width: 100% !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
  }

  html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeJourney .life-chapter-empty-action-row > .life-chapter-trip-start:not(.is-active-trip) {
    width: 100% !important;
    max-width: 100% !important;
    height: 64px !important;
    min-height: 64px !important;
    border-radius: 18px !important;
  }

  html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeOnThisDay .memory-echo-feature-card.is-simplified {
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-areas:
      "reason navigation"
      "body body"
      "action action" !important;
    padding: 12px !important;
    gap: 7px 10px !important;
    border-radius: 16px !important;
  }

  html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeOnThisDay .memory-echo-reason-stack {
    justify-content: flex-start !important;
    min-width: 0 !important;
  }

  html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeOnThisDay .memory-echo-body {
    grid-template-columns: 80px minmax(0, 1fr) !important;
    gap: 11px !important;
  }

  html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeOnThisDay .memory-echo-thumb {
    width: 80px !important;
    min-width: 80px !important;
    height: 80px !important;
    min-height: 80px !important;
    border-radius: 12px !important;
  }

  html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeOnThisDay .memory-echo-navigation {
    justify-self: end !important;
  }

  html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeOnThisDay .memory-echo-relive {
    justify-self: center !important;
    width: min(100%, 220px) !important;
    min-width: 0 !important;
  }

  html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeOnThisDay.is-empty .memory-echo-feature-card.is-empty {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-areas:
      "art"
      "copy" !important;
    min-height: 210px !important;
    padding: 20px 18px !important;
    gap: 8px !important;
    border-radius: 22px !important;
  }

  html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeOnThisDay.is-empty .memory-echo-empty-orbit {
    width: 70px !important;
    min-width: 70px !important;
    max-width: 70px !important;
    height: 70px !important;
    min-height: 70px !important;
    max-height: 70px !important;
  }

  html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeOnThisDay.is-empty .memory-echo-copy-main {
    width: min(100%, 330px) !important;
    max-width: 330px !important;
  }

  html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeJourney .life-chapter-row {
    grid-auto-columns: 100% !important;
    grid-template-rows: none !important;
    grid-auto-rows: auto !important;
    width: 100% !important;
    padding: 3px 0 7px !important;
    gap: 10px !important;
    scroll-padding-inline: 0 !important;
  }

  html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeJourney .life-chapter-card {
    grid-template-rows: 158px minmax(0, 1fr) !important;
    min-height: 0 !important;
    height: auto !important;
    border-radius: 18px !important;
  }

  html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeJourney .life-chapter-cover {
    height: 158px !important;
    min-height: 158px !important;
    border-radius: 17px 17px 0 0 !important;
  }

  html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeJourney .life-chapter-copy {
    grid-template-rows: auto auto minmax(102px, 1fr) !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 11px 12px 12px !important;
    gap: 7px !important;
  }

  html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeJourney .life-chapter-card-heading {
    min-height: 0 !important;
  }

  html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeJourney .life-chapter-card-heading > strong {
    min-height: 0 !important;
    font-size: 0.96rem !important;
  }

  html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeJourney .life-chapter-actions {
    grid-template-rows: auto !important;
    height: auto !important;
    padding-top: 7px !important;
  }

  html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeJourney > .life-chapter-empty.premium-empty-preview {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-areas:
      "book"
      "copy" !important;
    min-height: 210px !important;
    padding: 20px 18px !important;
    gap: 8px !important;
    border-radius: 22px !important;
  }

  html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeJourney .life-chapter-starter-book {
    width: 82px !important;
    min-width: 82px !important;
    max-width: 82px !important;
    height: 62px !important;
    min-height: 62px !important;
    max-height: 62px !important;
  }

  html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeJourney .life-chapter-empty-copy {
    width: min(100%, 330px) !important;
    max-width: 330px !important;
  }

  html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeTimelineStrip .recent-memory-card-shelf {
    grid-auto-flow: column !important;
    grid-auto-columns: 100% !important;
    grid-template-columns: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 2px 0 6px !important;
    gap: 10px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-padding-inline: 0 !important;
    scroll-snap-type: x mandatory !important;
    overscroll-behavior-inline: contain !important;
    scrollbar-width: none !important;
    -webkit-overflow-scrolling: touch !important;
  }

  html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeTimelineStrip .recent-memory-shelf-card {
    width: 100% !important;
    min-height: 0 !important;
    scroll-snap-align: start !important;
    scroll-snap-stop: always !important;
  }

  html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeTimelineStrip .recent-memory-shelf-item {
    scroll-snap-stop: always !important;
  }

  html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeTimelineStrip .recent-memory-shelf-art {
    height: clamp(132px, 38vw, 150px) !important;
    aspect-ratio: auto !important;
  }
}

@media (max-width: 390px) {
  html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeMemoryOfDay .home-living-card {
    grid-template-columns: 94px minmax(0, 1fr) !important;
  }

  html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeMemoryOfDay .home-living-copy {
    padding-inline: 13px !important;
  }

  html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) :is(#homeCreateMemoryAction, #homeReliveMyMap, #homeJourneyRecap) {
    grid-template-columns: 44px minmax(0, 1fr) 44px !important;
    gap: 8px !important;
  }

  html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeJourney .life-chapter-trip-start:not(.is-active-trip) {
    grid-template-columns: 44px minmax(0, 1fr) 44px !important;
    gap: 8px !important;
  }

  html body .app-shell .map-stage.home-focus #homeDashboard #homeJourney .life-chapter-empty-action-row > .life-chapter-trip-start:not(.is-active-trip) {
    grid-template-columns: 44px minmax(0, 1fr) 44px !important;
    gap: 8px !important;
  }

  html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeOnThisDay .memory-echo-navigation {
    gap: 3px !important;
  }

  html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeOnThisDay .memory-echo-nav-button {
    width: 44px !important;
    min-width: 44px !important;
  }
}

@media (max-width: 360px) {
  html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeJourney .life-chapter-empty.premium-empty-preview {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-areas:
      "book"
      "copy" !important;
    justify-items: center !important;
    text-align: center !important;
  }

  html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeJourney .life-chapter-empty-copy {
    width: 100% !important;
    justify-items: stretch !important;
    text-align: center !important;
  }

  html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeJourney .life-chapter-empty-copy > :is(strong, small) {
    text-align: center !important;
  }
}

/* Saved for Later: one quiet illustration, one place, one next step.
   Keep the established card rail/height and every photo cover unchanged. */
html body .app-shell #homeMemoryOfDay .home-living-card:is(.is-saved-place, .is-draft) .home-living-orbit {
  display: none;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard #homeMemoryOfDay .home-living-card.is-saved-place .home-living-copy {
  row-gap: 10px !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard #homeMemoryOfDay .home-living-card.is-saved-place .home-living-copy > :is(.home-living-kicker, h2, p, small, button) {
  margin-block: 0 !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard #homeMemoryOfDay .home-living-card.is-saved-place .home-living-copy h2 {
  max-width: 24ch;
  font-size: clamp(1.55rem, 2.6vw, 2.1rem) !important;
  line-height: 1.16 !important;
  overflow-wrap: anywhere;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard #homeMemoryOfDay .home-living-card.is-saved-place .home-living-copy > p {
  background: none !important;
  box-shadow: none !important;
  max-width: 42ch;
  overflow-wrap: anywhere;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard #homeMemoryOfDay .home-living-card.is-saved-place .home-living-meta {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  box-shadow: none !important;
  font-weight: 500;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard #homeMemoryOfDay .home-living-card.is-saved-place .home-living-action {
  margin-top: 6px !important;
}

html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard #homeMemoryOfDay .home-living-card.is-saved-place .home-living-private {
  display: inline-flex !important;
}

@media (max-width: 720px) {
  html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard #homeMemoryOfDay .home-living-card.is-saved-place .home-living-copy {
    row-gap: 8px !important;
  }
  html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard #homeMemoryOfDay .home-living-card.is-saved-place .home-living-copy h2 {
    font-size: clamp(1.2rem, 5vw, 1.5rem) !important;
  }
}

@media (hover: hover) and (pointer: fine) {
  html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeJourney .life-chapter-card:hover,
  html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeTimelineStrip .recent-memory-shelf-card:hover {
    transform: translateY(-1px) !important;
  }

  html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeJourney .life-chapter-card:hover .life-chapter-cover > img {
    transform: scale(1.015) translateZ(0) !important;
  }

  html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeJourney .life-chapter-menu-popover :is(button, a):hover {
    background: rgba(226, 246, 239, 0.76) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home),
  html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) :is(.life-chapter-row, .recent-memory-card-shelf) {
    scroll-behavior: auto !important;
  }

  html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) *,
  html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) *::before,
  html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) *::after,
  html body .app-shell .life-chapter-viewer .life-chapter-viewer-relive {
    animation: none !important;
    transition: none !important;
  }

  html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeOnThisDay.is-switching-echo .memory-echo-feature-card,
  html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) :is(.home-living-action, .life-chapter-card, .recent-memory-shelf-card):is(:hover, :focus-visible, :active),
  html body .app-shell .map-stage.home-focus #homeDashboard.home-dashboard:not(.is-empty-home) #homeJourney .life-chapter-card:is(:hover, :focus-visible, :active) .life-chapter-cover > img {
    opacity: 1 !important;
    transform: none !important;
  }
}
