/* Navy actions, mint selections. Paint only: the main blue-to-green page
   gradients, map tiles, photo covers, personal palettes and semantic feedback
   are deliberately untouched. The real Mappi/wordmark artwork is unchanged. */
:root {
  --mymappi-action-navy: #00243f;
  --mymappi-primary-memory-gradient: var(--mymappi-action-navy);
  --mymappi-action-light: #f9fcf9;
  --mymappi-action-primary-ink: #ffffff;
  /* Legacy component aliases now resolve to a solid background. */
  --mymappi-action-primary-gradient: var(--mymappi-action-navy);
  --mymappi-action-gradient: var(--mymappi-action-navy);
  --mymappi-utility-gradient: var(--mymappi-action-navy);
  --mymappi-action-border: #366079;
  --mymappi-action-ink: #ffffff;
}

/* Rendered audit: secondary and empty states share the production palette.
   Keep semantic errors, pin/category swatches and custom preview art intact. */
html body main.app-shell section.map-stage.home-focus #homeMemoryPulse.home-memory-pulse .home-stat > .home-stat-label,
html body main.app-shell section.map-stage.home-focus #homeDashboard.home-dashboard #homeJourney .life-chapter-empty-copy > small { color: var(--mymappi-text-muted) !important; }
html body main.app-shell section.map-stage.home-focus #homeSyncConfidence:is(.is-local, .is-synced) > i,
html body #homeDashboard .section-title-icon.mappi-glyph-route::after { background: var(--mymappi-color-mint) !important; }
html body main.app-shell section.map-stage.home-focus #homeDashboard.home-dashboard #homeJourney .life-chapter-starter-book { background: var(--mymappi-action-navy) !important; }
html body main.app-shell #memoryForm #memorySaveTrustStatus { color: var(--mymappi-text-muted) !important; }
html body #customizeMymappiDialog :is(.customize-preview-copy > small, .customize-preview-category, .customize-section-jump button, .customize-details-action, #customizeAddCategory, .customize-symbol-grid label > span) { color: var(--mymappi-text-primary) !important; }
html body #customizeMymappiDialog .customize-preview-state-dot { background: var(--mymappi-color-mint) !important; }
html body #customizeMymappiDialog .customize-symbol-grid label:has(input:checked) > span { background: #e4f5f1 !important; border-color: #366079 !important; box-shadow: none !important; }
html body #customizeMymappiDialog .customize-choice-card em { color: var(--mymappi-text-primary) !important; background: #e4f5f1 !important; }
html body #lifeChapterEditorDialog small { color: var(--mymappi-text-muted) !important; }
html body :is(#ourMapContributionDialog, #ourMapStoryDialog, #ourMapStoriesDialog, #ourMapVisitPromptDialog, #ourMapContributionsDialog) { color: var(--mymappi-text-primary) !important; }
html body :is(#ourMapStoriesDialog, #ourMapVisitPromptDialog) :is(small, strong) { color: var(--mymappi-text-primary) !important; }
html body #deleteAccountForm > label { color: var(--mymappi-text-primary) !important; }
html body #authGate .auth-legal-links a { color: var(--mymappi-text-primary) !important; }
html body main.app-shell section.map-stage.home-focus #homeMemoryPulse .home-stat > strong,
html body main.app-shell section.map-stage.home-focus #homeMemoryOfDay .home-living-copy h2 {
  color: var(--mymappi-text-primary) !important;
}
html body main.app-shell section.map-stage.home-focus #homeMemoryOfDay .home-living-copy :is(p, .home-living-meta, .home-living-private) {
  color: var(--mymappi-text-muted) !important;
}
/* Today's Memory is separate from the first-keepsake invitation. Cover its
   photo, text-only and multiple-memory paths without changing layout or art.
   The extra Home ID outranks the legacy caption's hover/media-query rules. */
html body main.app-shell section.map-stage.home-focus #homeDashboard #homeMemoryOfDay#homeMemoryOfDay :is(.today-memory-card, .today-memory-copy) {
  color: var(--mymappi-text-primary) !important;
  background: var(--mymappi-surface-canvas) !important;
  border-color: #c8dce4 !important;
  box-shadow: 0 12px 28px #00243f14 !important;
}
html body main.app-shell section.map-stage.home-focus #homeDashboard #homeMemoryOfDay#homeMemoryOfDay :is(.today-memory-main, .today-memory-photo, .today-memory-text-fallback) {
  color: var(--mymappi-action-primary-ink) !important;
  background: var(--mymappi-action-navy) !important;
}
html body main.app-shell section.map-stage.home-focus #homeDashboard #homeMemoryOfDay#homeMemoryOfDay :is(.today-memory-title, .today-memory-copy, .today-memory-note, .today-memory-note-text, .today-memory-mood-value) {
  color: var(--mymappi-text-primary) !important;
  text-shadow: none !important;
}
html body main.app-shell section.map-stage.home-focus #homeDashboard #homeMemoryOfDay#homeMemoryOfDay :is(.today-memory-copy small, .today-memory-copy p, .today-memory-place-date, .today-memory-meta-separator, .today-memory-mood-prefix, .today-memory-mood-divider) {
  color: var(--mymappi-text-muted) !important;
}
html body main.app-shell section.map-stage.home-focus #homeDashboard #homeMemoryOfDay#homeMemoryOfDay :is(.today-memory-relive-button, .today-memory-relive-button:hover, .today-memory-relive-button:focus-visible, .today-memory-relive-button:active, .today-memory-relive-button.is-relive-launching) {
  color: #fff !important;
  background: var(--mymappi-action-navy) !important;
  border-color: var(--mymappi-action-border) !important;
  box-shadow: 0 6px 16px #00243f26 !important;
}
html body main.app-shell section.map-stage.home-focus #homeDashboard #homeMemoryOfDay#homeMemoryOfDay .today-memory-relive-button > span {
  color: #fff !important; background: transparent !important; box-shadow: none !important;
}
html body main.app-shell section.map-stage.home-focus #homeDashboard #homeMemoryOfDay#homeMemoryOfDay .today-memory-relive-button:focus-visible {
  outline: 3px solid var(--mymappi-color-mint) !important; outline-offset: 3px !important;
}
html body main.app-shell section.map-stage.home-focus #homeDashboard #homeMemoryOfDay#homeMemoryOfDay :is(.home-kicker, .today-memory-name-pill, .today-memory-date-pill, .memory-day-slide-count) {
  color: var(--mymappi-text-primary) !important;
  background: var(--mymappi-surface-card) !important;
  border-color: #c8dce4 !important;
  box-shadow: none !important;
}
html body main.app-shell section.map-stage.home-focus #homeDashboard #homeMemoryOfDay#homeMemoryOfDay :is(.today-memory-photo-label, .today-memory-switcher-scroll, .today-memory-choice) {
  color: #fff !important; background: var(--mymappi-action-navy) !important;
  border-color: var(--mymappi-action-border) !important;
}
html body main.app-shell section.map-stage.home-focus #homeDashboard #homeMemoryOfDay#homeMemoryOfDay .today-memory-choice.active {
  color: var(--mymappi-text-primary) !important; background: var(--mymappi-color-mint) !important;
  border-color: var(--mymappi-color-mint) !important;
}
/* Text-only memories also appear in the chapter/recent placeholders. */
html body main.app-shell section.map-stage.home-focus #homeDashboard #homeJourney :is(.life-chapter-fallback-art, .life-chapter-fallback-art strong) {
  color: var(--mymappi-text-primary) !important; background: var(--mymappi-surface-canvas) !important;
}
html body main.app-shell section.map-stage.home-focus #homeDashboard.home-dashboard #homeTimelineStrip.home-section .recent-memory-no-photo small { color: var(--mymappi-text-muted) !important; }

/* Utility icons are interface chrome too, not personal pin or emotion art. */
html body main.app-shell #memoryForm :is(.memory-place-search-row, #memorySaveTrustStatus) > svg,
html body #ourMapContributeHelp > svg,
html body #customizeMymappiDialog :is(#customizeDeviceNote, .customize-cover-note) > svg,
html body #blockedPeopleDialog .blocked-people-loading > svg,
html body #tripImportDialog .trip-import-privacy > svg,
html body #returnLoopSettingsDialog .return-loop-cadence-note > svg {
  color: var(--mymappi-text-primary) !important;
}
html body main.app-shell #peoplePetsButton > svg,
html body #customizeMymappiDialog .customize-section-heading > svg,
html body #tripImportDialog :is(.trip-import-step-heading, .trip-import-file-picker) > svg {
  color: var(--mymappi-text-primary) !important;
  background: #e4f5f1 !important;
}

/* Quick capture (+): the same navy identity and mint accents as the menu.
   Scope every state, including Our Map's private-capture entry. */
html body #captureChoiceDialog { color: #00243f; width: min(500px, calc(100vw - 28px)); max-height: calc(100dvh - 28px - env(safe-area-inset-top) - env(safe-area-inset-bottom)); overflow-y: auto; overscroll-behavior: contain; }
html body #captureChoiceDialog::backdrop { background: rgba(0, 25, 44, .58); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
html body #captureChoiceDialog .capture-choice-panel {
  color: #00243f; background: #f5fafb; padding: 22px; gap: 16px;
  border-color: #c9dde2; box-shadow: 0 24px 64px rgba(0, 36, 63, .24);
}
html body #captureChoiceDialog .capture-choice-heading { grid-template-columns: 36px minmax(0, 1fr) 44px; gap: 12px; align-items: center; }
html body #captureChoiceDialog .capture-choice-mark {
  color: #75d9c3 !important; background: #00243f !important; box-shadow: none;
  width: 36px; height: 40px; border-radius: 12px;
}
html body #captureChoiceDialog .capture-choice-mark svg { width: 20px; height: 20px; }
html body #captureChoiceDialog .capture-choice-heading > div > span { color: #486579; font-size: .625rem; letter-spacing: .12em; font-weight: 750; }
html body #captureChoiceDialog .capture-choice-heading h2 { color: #00243f; font-size: clamp(1.375rem, 5vw, 1.75rem); line-height: 1.2; outline: none; }
html body #captureChoiceDialog .capture-choice-intro { color: #486579; margin: -2px 0 2px; font-size: .875rem; line-height: 1.5; }
html body #captureChoiceDialog .capture-choice-close {
  width: 44px; height: 44px; color: #00243f; background: transparent; border-color: #d4e2e7; border-radius: 50%; box-shadow: none;
}
html body #captureChoiceDialog .capture-choice-actions { grid-auto-rows: 1fr; gap: 10px; }
html body #captureChoiceDialog .capture-choice-action {
  color: #00243f; background: #fff; border-color: #d4e2e7;
  grid-template-columns: 40px minmax(0, 1fr) 16px; gap: 12px;
  min-height: 84px; padding: 14px; border-radius: 18px;
  box-shadow: none; transform: none; min-width: 0;
}
html body #captureChoiceDialog .capture-choice-action > span:nth-child(2) { min-width: 0; gap: 4px; }
html body #captureChoiceDialog .capture-choice-action strong { font-size: 1rem; font-weight: 750; line-height: 1.3; overflow-wrap: anywhere; }
html body #captureChoiceDialog .capture-choice-action small { color: #486579; font-size: .8125rem; line-height: 1.45; }
html body #captureChoiceDialog .capture-choice-action > svg { color: #486579; width: 16px; height: 16px; }
html body #captureChoiceDialog .capture-choice-action-icon {
  color: #00243f; background: #dff5f0; box-shadow: none; width: 40px; height: 40px; border-radius: 13px;
}
html body #captureChoiceDialog .capture-choice-action.is-primary {
  color: #fff !important; background: #00243f !important; border-color: #366079 !important;
}
html body #captureChoiceDialog .capture-choice-action.is-primary :is(small, svg) { color: #c3d8e3; }
html body #captureChoiceDialog .capture-choice-action.is-primary .capture-choice-action-icon {
  color: #00243f; background: #75d9c3; box-shadow: none;
}
html body #captureChoiceDialog .capture-choice-action.is-primary .capture-choice-action-icon svg { color: inherit; }
html body #captureChoiceDialog .capture-choice-saved { color: #00243f; background: #dff5f0; border: 1px solid #b5ccd2; }
html body #captureChoiceDialog .capture-choice-saved small { color: #486579; }
html body #captureChoiceDialog button:focus-visible { outline: 2px solid #267999 !important; outline-offset: -4px !important; box-shadow: none !important; }
html body #captureChoiceDialog button.is-primary:focus-visible { outline-color: #75d9c3 !important; }
@media (hover: hover) {
  html body #captureChoiceDialog .capture-choice-action:hover { border-color: #486579; background: #e8f1f7; transform: none; }
}
@media (max-width: 640px) {
  html body #captureChoiceDialog .capture-choice-panel { padding: 18px 16px; gap: 14px; }
  html body #captureChoiceDialog .capture-choice-heading { gap: 10px; }
  html body #captureChoiceDialog .capture-choice-action { padding: 12px; min-height: 80px; gap: 10px; }
}

/* Explicit product actions only; never a blanket button/submit rule, which
   would erase destructive, recording, category and selected-state meaning. */
html body :is(#authGate, #homeDashboard, .app-shell, dialog) :is(
  #saveMemoryButton, #addMemoryButton, #firstTimeOnboardingPrimary,
  .account-auth-button.primary, .auth-beta-request-link,
  .home-starter-primary, .home-living-action, .home-section-recovery-retry,
  .memory-echo-relive, .life-chapter-relive, .life-chapter-open, .life-chapter-viewer-relive,
  .relive-memory-action, .memory-capsule-edit-action, .popup-edit,
  .capture-choice-action.is-primary, .first-memory-location-allow,
  .memory-cover-focus-save, .memory-share-send, .received-memory-save,
  .life-chapter-editor-save, .active-trip-primary, .trip-entry-primary,
  .trip-import-next, .trip-import-save, .return-loop-settings-save,
  .customize-mymappi-save, .people-pets-primary,
  .pin-search-go-button, .memory-place-search-button,
  .our-map-story-publish, .our-map-stories-add, .our-map-place-request-submit,
  .our-map-pin-key-done, #ourMapContributionsDone,
  .our-map-result-actions .is-primary,
  [data-chapter-journey-resume], [data-sheet-action="complete-memory"]
) {
  color: #ffffff !important;
  background: var(--mymappi-action-navy) !important;
  border-color: var(--mymappi-action-border) !important;
}

/* These older, deeply scoped components used their own hard-coded gradient. */
html body main.app-shell section.map-stage #memoryList article.memory-lane-card button.relive-memory-action,
html body main.app-shell section.map-stage #homeOnThisDay .memory-echo-relive,
html body main.app-shell section.map-stage .maplibregl-popup .popup-edit,
html body main.app-shell section.map-stage.map-focus.our-map-mode .maplibregl-popup.mymappi-our-map-popup-shell .our-map-popup .popup-edit,
html body main.app-shell section.map-stage .full-memory-capsule .memory-capsule-edit-action {
  color: #ffffff !important;
  background: var(--mymappi-action-navy) !important;
  border-color: var(--mymappi-action-border) !important;
}

/* Route, Walk, website, Save for later and public contribution links support
   memory creation rather than competing with it. Saved/disabled states keep
   their existing feedback, and branded provider links are not included. */
html body main.app-shell section.map-stage #map .maplibregl-popup .popup-route:not(:disabled),
html body main.app-shell section.map-stage.map-focus.our-map-mode .maplibregl-popup.mymappi-our-map-popup-shell .our-map-popup .popup-route:not(:disabled),
html body #map .our-map-popup .our-map-popup-action-lane :is(.our-map-save-later-action:not(.is-saved):not([aria-pressed="true"]), .our-map-public-story-action),
html body #map .search-destination-popup .our-map-request-search-action,
html body main.app-shell section.map-stage .full-memory-capsule .memory-capsule-route-action {
  color: var(--mymappi-action-navy) !important;
  background: var(--mymappi-action-light) !important;
  border-color: #b5ccd2 !important;
}

/* The shell frames the light blue/green canvas, it never replaces it. */
/* Saved places and unfinished drafts share the welcome mascot's navy stage. Scope this
   to the Mappi fallback so a saved place's own photo is never recolored. */
html body .app-shell #homeMemoryOfDay .home-living-card:is(.is-saved-place, .is-draft) .home-living-visual.has-atmosphere {
  background: var(--mymappi-action-navy) !important;
}

html body main.app-shell section.map-stage:is(.home-focus, .map-focus, .memories-focus) > .bottom-nav,
html body main.app-shell section.map-stage:is(.home-focus, .map-focus, .memories-focus):not(.memory-editor-active) header.topbar > :is(a.brand, .topbar-left, .topbar-actions),
html body main.app-shell section.map-stage.map-focus :is(.map-scope-switch, .map-depth-switch, .map-navigation-controls) {
  background: var(--mymappi-action-navy) !important;
}

html body main.app-shell section.map-stage:is(.home-focus, .map-focus, .memories-focus) > .bottom-nav .bottom-nav-item.active {
  color: var(--mymappi-action-navy) !important;
  background: var(--mymappi-color-mint) !important;
  border-color: rgba(181, 246, 222, 0.6) !important;
}
html body main.app-shell section.map-stage > .bottom-nav .bottom-nav-item.active :is(span, svg) {
  color: inherit !important;
}

/* Community journeys share the current shell: navy identity, a light
   blue-to-mint reading surface, and explicit semantic error/destructive states. */
html body :is(.our-map-contributions-panel, .our-map-contribution-panel,
  .our-map-place-request-panel, .our-map-visit-prompt-panel, .our-map-story-panel,
  .our-map-stories-panel, .our-map-pin-key-panel) {
  color: #00243f !important;
  border-color: #c9dde2 !important;
  background: linear-gradient(135deg, #eff7fc, #effaf5) !important;
}
html body :is(.our-map-contributions-panel, .our-map-contribution-panel,
  .our-map-place-request-panel, .our-map-visit-prompt-panel, .our-map-story-panel,
  .our-map-stories-panel, .our-map-pin-key-panel) > header {
  padding: 16px !important;
  border-radius: 20px !important;
  color: #fff !important;
  background: #00243f !important;
}
html body :is(.our-map-contributions-panel, .our-map-contribution-panel,
  .our-map-place-request-panel, .our-map-visit-prompt-panel, .our-map-story-panel,
  .our-map-stories-panel, .our-map-pin-key-panel) > header :is(h2, strong) {
  color: #fff !important;
}
html body :is(.our-map-contributions-panel, .our-map-contribution-panel,
  .our-map-place-request-panel, .our-map-visit-prompt-panel, .our-map-story-panel,
  .our-map-stories-panel, .our-map-pin-key-panel) > header small {
  color: #99e5d7 !important;
}
html body :is(.our-map-contributions-mark, .our-map-contribution-mark,
  .our-map-visit-prompt-mark, .our-map-story-mark, .our-map-stories-mark) {
  color: #00243f !important;
  background: #79ddcb !important;
  box-shadow: none !important;
}
html body :is(#ourMapContributionsClose, #ourMapContributionClose,
  #ourMapPlaceRequestClose, #ourMapVisitPromptClose, #ourMapStoryClose,
  #ourMapStoriesClose, #ourMapPinKeyClose) {
  color: #00243f !important;
  background: #e6f6f2 !important;
  min-width: 44px !important;
  min-height: 44px !important;
}
html body .our-map-visit-prompt-actions .is-private {
  color: #fff !important;
  background: #00243f !important;
}
html body .our-map-visit-prompt-actions .is-private :is(strong, small) {
  color: inherit !important;
}
html body .our-map-visit-prompt-actions .is-public {
  color: #00243f !important;
  background: #e6f6f2 !important;
}
html body .our-map-visit-prompt-actions .is-public :is(strong, small) { color: inherit !important; }

/* Receipts do not disappear on a timer. The name/location remain visible. */
html body .app-shell #monthlyRecapDialog .monthly-recap-panel {
  background: #00243f !important;
}
html body .app-shell #monthlyRecapDialog .monthly-recap-story,
html body .app-shell #monthlyRecapDialog .monthly-recap-slide:not(.has-photo):not(.is-pulse) {
  background: #00243f !important;
}
html body .app-shell #monthlyRecapDialog .monthly-recap-slide-copy > button {
  color: #00243f !important;
  background: #e6f6f2 !important;
}
html body .app-shell #monthlyRecapDialog .monthly-recap-navigation .monthly-recap-next {
  color: #00243f !important;
  background: #79ddcb !important;
  border-color: #79ddcb !important;
}
html body #ourMapPlaceRequestForm.has-receipt > :is(label, .our-map-place-request-badge),
html body #ourMapPlaceRequestForm.has-receipt #ourMapPlaceRequestSubmit,
html body #ourMapPlaceRequestTrack[hidden],
html body #ourMapPlaceRequestReceipt:empty { display: none !important; }
html body #ourMapPlaceRequestForm > footer { display: flex !important; flex-wrap: wrap; gap: 10px !important; }
html body #ourMapPlaceRequestForm > footer > button { flex: 1 1 140px; }
html body #ourMapPlaceRequestTrack {
  min-height: 48px;
  padding: 12px 16px;
  border: 1px solid #366079;
  border-radius: 15px;
  color: #fff;
  background: #00243f;
  font: inherit;
  font-size: 16px;
  font-weight: 800;
  cursor: pointer;
}
html body .our-map-request-reference {
  margin: 0;
  color: #4b6576 !important;
  font-size: 12px !important;
  line-height: 1.5 !important;
  overflow-wrap: anywhere;
  user-select: text;
}
html body #ourMapPlaceRequestStatus.is-success { color: #14534e !important; }

html body #ourMapContributionsDialog {
  width: min(680px, calc(100vw - 24px)) !important;
  max-width: 680px !important;
}
html body #ourMapContributionsDialog .our-map-contributions-panel {
  gap: 18px;
  padding: 18px;
  scrollbar-gutter: stable;
  overflow-anchor: none;
}
html body #ourMapContributionsDialog .our-map-contributions-panel > header {
  grid-template-columns: minmax(0, 1fr) 44px;
  gap: 14px;
  padding: 16px !important;
  border-radius: 18px !important;
}
html body #ourMapContributionsDialog .our-map-contributions-mark { display: none; }
html body #ourMapContributionsDialog header > div { min-width: 0; }
html body #ourMapContributionsTitle { font-size: clamp(1.2rem, 2.8vw, 1.55rem); line-height: 1.22; letter-spacing: -.025em; overflow-wrap: anywhere; }
html body #ourMapContributionsDialog header small { margin-bottom: 4px; font-size: .65rem; line-height: 1.5; letter-spacing: .09em; }
html body #ourMapContributionsIntro { max-width: 48ch; margin-inline: auto; color: #486375; font-size: .9rem; line-height: 1.55; text-align: center; }
html body #ourMapContributionsDialog .our-map-impact-nav {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 4px;
  padding: 4px;
  border: 1px solid #cfdee2;
  border-radius: 16px;
  background: #e8f1f3;
}
html body #ourMapContributionsDialog .our-map-impact-nav button {
  min-width: 0;
  min-height: 44px;
  padding: 9px 6px;
  border: 1px solid transparent;
  border-radius: 12px;
  color: #486375;
  background: transparent;
  font: inherit;
  font-size: .875rem;
  font-weight: 800;
  line-height: 1.35;
  overflow-wrap: anywhere;
  cursor: pointer;
}
html body #ourMapContributionsDialog .our-map-impact-nav button[aria-selected="true"] { color: #00243f; border-color: #b9d8d3; background: #ffffff; box-shadow: 0 1px 3px #00243f08; }
html body #ourMapContributionsDialog [role="tabpanel"][hidden] { display: none !important; }
html body #ourMapContributionsDialog .our-map-impact-status-row { display: flex; align-items: center; gap: 14px; min-width: 0; }
html body #ourMapContributionsDialog .our-map-impact-status-row > p { flex: 1 1 0; min-width: 0; }
html body #ourMapContributionsDialog .our-map-contribution-summary { gap: 0; padding: 12px 0; border: 1px solid #d0e1e4; border-radius: 16px; background: #f9fcfd; }
html body #ourMapContributionsDialog .our-map-contribution-summary article {
  min-height: 54px;
  gap: 4px;
  padding: 2px 8px;
  border: 0;
  border-radius: 0;
  background: transparent;
}
html body #ourMapContributionsDialog .our-map-contribution-summary article + article { border-left: 1px solid #d6e4e6; }
html body #ourMapContributionsDialog .our-map-contribution-summary span { overflow: visible; color: #486375; font-size: .75rem; line-height: 1.4; white-space: normal; overflow-wrap: anywhere; }
html body #ourMapContributionsDialog .our-map-contribution-summary strong { color: #00243f; font-size: 1.5rem; line-height: 1.15; }
html body #ourMapContributionsDialog .our-map-contributions-section { gap: 14px; padding-top: 0; border-top: 0; min-width: 0; }
html body #ourMapContributionsDialog .our-map-contributions-section-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
html body #ourMapContributionsDialog .our-map-contributions-section-heading > div { min-width: 0; }
html body #ourMapContributionsRefresh { flex: 0 0 auto; min-height: 44px; padding: 9px 12px; border: 1px solid #bfd8d4; border-radius: 12px; color: #00243f; background: #f8fcfb; font-size: .8rem; font-weight: 800; cursor: pointer; }
html body #ourMapContributionsRefresh:disabled { opacity: .6; cursor: wait; }
html body #ourMapContributionsDialog h3 { color: #00243f; font-size: 1.2rem; line-height: 1.3; letter-spacing: -.02em; scroll-margin-top: 20px; overflow-wrap: anywhere; }
html body #ourMapContributionsDialog .our-map-contributions-section-heading small { display: block; margin-bottom: 3px; color: #4b6576; font-size: .65rem; line-height: 1.5; }
html body #ourMapContributionsDialog :is(.our-map-contributions-status, .our-map-contribution-stories-status,
  .our-map-hidden-creators-status, .our-map-contributions-empty, .our-map-impact-explainer) {
  margin: 0;
  color: #486375;
  font-size: .875rem;
  line-height: 1.55;
  background: transparent;
  overflow-wrap: anywhere;
}
html body #ourMapContributionsDialog .our-map-contributions-status { padding: 0; font-weight: 600; }
html body #ourMapContributionsDialog .our-map-contributions-status:empty { display: none; }
html body #ourMapContributionsDialog .our-map-contributions-empty { padding: 22px 18px; border: 1px solid #d3e3e5; border-radius: 16px; background: #f8fcfb; text-align: center; font-weight: 500; }
html body #ourMapContributionsDialog :is(.our-map-contribution-card, .our-map-badge-card) {
  padding: 16px;
  gap: 12px;
  border-color: #c9dde2;
  color: #00243f;
  background: #ffffff;
  box-shadow: 0 4px 14px rgba(0, 36, 63, .04);
  overflow-wrap: anywhere;
}
html body #ourMapContributionsDialog .our-map-contribution-card-place strong { color: #00243f; font-size: 17px; }
html body #ourMapContributionsDialog .our-map-owned-story-copy > strong { color: #00243f; font-size: 16px; }
html body #ourMapContributionsDialog .our-map-owned-story-actions button:not(.is-delete) { color: #00243f; background: #e6f6f2; border-color: #b5d7d2; font-size: 14px; }
html body #ourMapContributionsDialog .our-map-contribution-card small { color: #486375; font-size: 13px; line-height: 1.5; }
html body #ourMapContributionsDialog .our-map-contribution-card-status b { color: #14534e; font-size: 14px; }
html body #ourMapContributionsDialog .our-map-contribution-card.is-pending .our-map-contribution-card-status b { color: #234d78; }
html body #ourMapContributionsDialog .our-map-contribution-card.is-declined .our-map-contribution-card-status b,
html body #ourMapContributionsDialog .is-error { color: #963c43; }
html body #ourMapContributionsDialog :is(.our-map-contribution-card > button, .our-map-contributions-retry) {
  color: #00243f;
  background: #e6f6f2;
  border-color: #b5d7d2;
  font-size: 14px;
}
html body #ourMapContributionsDialog .our-map-impact-safety { border-top: 1px solid #d1e1e4; padding-top: 4px; }
html body #ourMapContributionsDialog .our-map-impact-safety[open] > section { padding-top: 10px; }
html body #ourMapContributionsDialog summary { min-height: 44px; padding-block: 12px; color: #315469; font-size: .875rem; line-height: 1.45; font-weight: 700; cursor: pointer; }
html body #ourMapContributionsDialog footer { padding-top: 0; }
html body #ourMapContributionsDialog #ourMapContributionsDone { min-height: 46px; font-size: .875rem; line-height: 1.4; }
html body :is(#ourMapContributionsDialog, #ourMapPlaceRequestForm, #ourMapVisitPromptDialog,
  #ourMapStoryDialog, #ourMapStoriesDialog, #ourMapContributionDialog) :is(button, summary, input, textarea, select):focus-visible {
  outline: 3px solid #228578 !important;
  outline-offset: 3px !important;
}
@media (max-width: 480px) {
  html body #ourMapContributionsDialog .our-map-contributions-panel { padding: 14px; gap: 16px; }
  html body #ourMapContributionsDialog .our-map-contributions-panel > header { gap: 10px; padding: 14px !important; }
}

/* First Finder vault: real rendered keepsakes on a navy display, never a
   fabricated award or a replacement for server-owned achievement records. */
html body #ourMapBadgesList { display: block; min-width: 0; }
html body #ourMapContributionsDialog .our-map-contributions-panel { scrollbar-width: thin; scrollbar-color: #92b0bd transparent; }
html body #ourMapContributionsDialog .our-map-contributions-panel::-webkit-scrollbar { width: 6px; }
html body #ourMapContributionsDialog .our-map-contributions-panel::-webkit-scrollbar-track { background: transparent; }
html body #ourMapContributionsDialog .our-map-contributions-panel::-webkit-scrollbar-thumb { border-radius: 6px; background: #92b0bd; }
html body .first-finder-medallion-preview { display: block; width: 100%; height: 100%; object-fit: contain; }
html body #ourMapContributionsDialog .badge-vault { min-width: 0; display: grid; gap: 16px; color: #00243f; overflow-wrap: anywhere; }
html body #ourMapContributionsDialog .badge-vault-hero {
  display: grid; grid-template-columns: 144px minmax(0, 1fr); align-items: center;
  gap: 20px; padding: 22px; border: 1px solid #375064; border-radius: 20px;
  color: #f5fbff; background: #00243f; box-shadow: none;
}
html body #ourMapContributionsDialog .badge-vault-display { display: grid; justify-items: center; gap: 10px; min-width: 0; }
html body #ourMapContributionsDialog .badge-vault-display img { display: block; width: 128px; max-width: 100%; height: auto; object-fit: contain; filter: none; }
html body #ourMapContributionsDialog .badge-vault-display > span { padding: 4px 8px; border: 1px solid #ecd6a740; border-radius: 999px; text-align: center; color: #ecd6a7; font-size: .65rem; line-height: 1.45; font-weight: 700; }
html body #ourMapContributionsDialog .badge-vault-intro { display: grid; gap: 10px; min-width: 0; overflow-wrap: anywhere; }
html body #ourMapContributionsDialog .badge-vault-eyebrow { color: #a7ddd8; font-size: .65rem; line-height: 1.5; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
html body #ourMapContributionsDialog .badge-vault h4 { margin: 0; font-size: 1rem; line-height: 1.3; }
html body #ourMapContributionsDialog .badge-vault-intro h4 { color: #ffffff; font-size: 1.6rem; letter-spacing: -.025em; }
html body #ourMapContributionsDialog .badge-vault p { margin: 0; line-height: 1.55; font-size: .875rem; }
html body #ourMapContributionsDialog .badge-vault-intro p { color: #d2e3ee; }
html body #ourMapContributionsDialog .badge-vault-count { color: #ecd6a7; font-size: .875rem; margin-top: 2px; line-height: 1.45; }
html body #ourMapContributionsDialog .badge-vault-intro small { color: #b9cedd; font-size: .75rem; line-height: 1.5; }
html body #ourMapContributionsDialog .badge-vault-collection-heading { display: grid; gap: 4px; }
html body #ourMapContributionsDialog .badge-vault-collection-heading > span { color: #486375; font-size: 13px; line-height: 1.5; }
html body #ourMapContributionsDialog .badge-vault-tools { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 12px; }
html body #ourMapContributionsDialog .badge-vault-tools label { display: grid; gap: 7px; min-width: 0; color: #315064; font-size: 12px; font-weight: 800; }
html body #ourMapContributionsDialog .badge-vault-tools :is(input, select) { box-sizing: border-box; width: 100%; min-width: 0; min-height: 46px; padding: 10px 12px; border: 1px solid #b9d1d8; border-radius: 12px; background: #f7fcfd; color: #00243f; font: inherit; font-size: 16px; }
html body #ourMapContributionsDialog .badge-vault-results { color: #486375; font-size: 12px; }
html body #ourMapContributionsDialog .badge-vault-shelf { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); align-items: start; gap: 14px; }
html body #ourMapContributionsDialog .badge-vault-keepsake { min-width: 0; overflow: hidden; border: 1px solid #bfd3d9; border-radius: 20px; background: #f7fcfd; box-shadow: 0 6px 16px #00243f0a; }
html body #ourMapContributionsDialog .badge-vault-keepsake:only-child { width: min(100%, 320px); justify-self: center; }
html body #ourMapContributionsDialog .badge-vault-keepsake summary { list-style: none; display: grid; gap: 7px; padding: 0 16px 14px; text-align: center; font-size: 14px; line-height: 1.5; }
html body #ourMapContributionsDialog .badge-vault-keepsake summary::-webkit-details-marker { display: none; }
html body #ourMapContributionsDialog .badge-vault-art { display: grid; place-items: center; margin: 0 -16px 7px; padding: 20px; background: #052c46; border-bottom: 1px solid #b9a36e55; }
html body #ourMapContributionsDialog .badge-vault-art img { display: block; width: 144px; max-width: 100%; height: auto; object-fit: contain; transition: transform 180ms ease-out; filter: drop-shadow(0 8px 7px #00000026); }
html body #ourMapContributionsDialog .badge-vault-earned { color: #456956; font-size: 11px; letter-spacing: .035em; font-weight: 850; }
html body #ourMapContributionsDialog .badge-vault-keepsake summary > strong { color: #00243f; font-size: 16px; overflow-wrap: anywhere; }
html body #ourMapContributionsDialog .badge-vault-keepsake summary > small { color: #486375; font-size: 12px; font-weight: 600; }
html body #ourMapContributionsDialog .badge-vault-reveal { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 32px; margin-top: 4px; color: #264d63; font-size: 12px; }
html body #ourMapContributionsDialog .badge-vault-keepsake details[open] .badge-vault-reveal > span { transform: rotate(45deg); }
html body #ourMapContributionsDialog .badge-vault-details { display: grid; gap: 12px; padding: 16px; border-top: 1px solid #c6dadd; color: #315064; }
html body #ourMapContributionsDialog .badge-vault-details > small { font-size: 11px; overflow-wrap: anywhere; line-height: 1.5; user-select: text; }
html body #ourMapContributionsDialog .badge-vault-pin-unavailable { font-size: 12px; }
html body #ourMapContributionsDialog :is(.badge-vault-empty, .badge-vault-history-note) { color: #486375; font-size: 13px; padding: 14px; border: 1px solid #c9dde2; border-radius: 12px; }
html body #ourMapContributionsDialog .badge-vault-next { display: grid; gap: 14px; padding: 0; border: 0; border-radius: 0; background: transparent; }
html body #ourMapContributionsDialog .badge-vault-next strong { display: block; font-size: 1rem; line-height: 1.4; margin-bottom: 5px; }
html body #ourMapContributionsDialog .badge-vault-next p { color: #486375; font-size: .8rem; }
html body #ourMapContributionsDialog .badge-vault-rules { border-top: 1px solid #d5e5e2; padding-top: 2px; }
html body #ourMapContributionsDialog .badge-vault-rules summary { min-height: 44px; padding-block: 12px; color: #315469; font-size: .8rem; }
html body #ourMapContributionsDialog .badge-vault-rules p { color: #486375; font-size: .8rem; padding-bottom: 4px; }
html body #ourMapContributionsDialog .badge-vault :is(button, .badge-vault-more) { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 46px; padding: 10px 16px; border: 1px solid #244c65; border-radius: 12px; background: #00243f; color: #ffffff; font-size: 14px; font-weight: 800; line-height: 1.4; cursor: pointer; }
html body #ourMapContributionsDialog .badge-vault button[hidden] { display: none !important; }
html body #ourMapContributionsDialog .badge-vault-more { width: 100%; }
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  html body #ourMapContributionsDialog .badge-vault-keepsake summary:hover img { transform: translateY(-3px) rotate(-2deg); }
}
@media (max-width: 520px) {
  html body #ourMapContributionsDialog .badge-vault-hero { grid-template-columns: minmax(0, 1fr); gap: 16px; text-align: center; padding: 20px 18px; }
  html body #ourMapContributionsDialog .badge-vault-display img { width: 112px; }
  html body #ourMapContributionsDialog .badge-vault-tools { grid-template-columns: minmax(0, 1fr); }
}
@media (orientation: landscape) and (max-height: 520px) {
  html body #ourMapContributionsDialog .our-map-contributions-panel { padding: 12px 16px; gap: 8px; }
  html body #ourMapContributionsDialog .our-map-contributions-panel > header { padding: 8px 12px !important; }
  html body #ourMapContributionsDialog #ourMapContributionsTitle { font-size: 1.2rem; }
  html body #ourMapContributionsDialog #ourMapContributionsIntro { line-height: 1.45; }
  html body #ourMapContributionsDialog .our-map-contribution-summary { padding-block: 8px; }
  html body #ourMapContributionsDialog .our-map-contribution-summary article { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; min-height: 30px; gap: 5px 9px; padding-block: 0; }
  html body #ourMapContributionsDialog .our-map-contribution-summary strong { font-size: 1.35rem; }
  html body #ourMapContributionsDialog .our-map-contributions-section { gap: 10px; }
  html body #ourMapContributionsDialog .badge-vault-hero { grid-template-columns: 128px minmax(0, 1fr); align-items: start; gap: 18px; padding: 16px 18px; text-align: left; }
  html body #ourMapContributionsDialog .badge-vault-display img { width: 104px; }
  html body #ourMapContributionsDialog .badge-vault-intro { gap: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  html body #ourMapContributionsDialog .badge-vault img { transition: none; transform: none; }
}
@media (forced-colors: active) {
  html body #ourMapContributionsDialog :is(.badge-vault-hero, .badge-vault-keepsake, .badge-vault-next) { border: 1px solid CanvasText; }
}

/* Palette audit: the OM drawer predates the shared theme. Keep its responsive
   layout/scrolling intact; scope paint to this surface, not maps or pin colors. */
html body #ourMapExplorerButton {
  color: #ffffff !important;
  background: var(--mymappi-action-navy) !important;
  border-color: #426477 !important;
  box-shadow: 0 12px 28px rgba(0, 36, 63, .2) !important;
}
html body #ourMapExplorerButton .our-map-explorer-mappi {
  background: var(--mymappi-action-navy) !important;
  border-color: #426477 !important;
  box-shadow: none !important;
}
html body #ourMapExplorerButton .our-map-explorer-copy strong { color: #ffffff !important; }
html body #ourMapExplorerButton .our-map-explorer-copy small { color: var(--mymappi-color-mint) !important; }
html body #ourMapExplorerButton .our-map-explorer-chevron {
  color: var(--mymappi-action-navy) !important;
  background: var(--mymappi-color-mint) !important;
}
html body #ourMapDiscoveryBar:not([hidden]) {
  color: var(--mymappi-action-navy) !important;
  background: #f7fbfd !important;
  border-color: #c5d8e2 !important;
  box-shadow: 0 14px 32px rgba(0, 36, 63, .18) !important;
  scrollbar-color: #92b0bd transparent;
}
html body #ourMapDiscoveryBar :is(.our-map-tray-mark, #ourMapUseLocationButton,
  .our-map-empty-actions button:first-child, #ourMapContributeHelp, #ourMapLiveSignInButton) {
  color: #ffffff !important;
  background: var(--mymappi-action-navy) !important;
  border-color: #426477 !important;
  box-shadow: none !important;
}
html body #ourMapDiscoveryBar #ourMapLiveSignInButton small { color: #c8dce8 !important; }
html body #ourMapDiscoveryBar :is(.our-map-discovery-copy > span, .our-map-discovery-copy strong,
  h3, .our-map-result-main > strong, .our-map-result-main > b, .our-map-coverage-note strong,
  .our-map-results-heading > div > small, .our-map-worlds-note strong, .our-map-contribute-heading,
  .our-map-result-card, .our-map-result-main, .our-map-result-actions) { color: var(--mymappi-action-navy) !important; }
html body #ourMapDiscoveryBar :is(.our-map-discovery-copy small, .our-map-spot-count,
  .our-map-result-main > small, .our-map-result-why, .our-map-result-meta,
  .our-map-results-empty, .our-map-coverage-note, .our-map-worlds-note,
  .our-map-florida-city-jumps-label, .our-map-results-heading)::after,
html body #ourMapDiscoveryBar :is(.our-map-discovery-copy small, .our-map-spot-count,
  .our-map-result-main > small, .our-map-result-why, .our-map-result-meta,
  .our-map-results-empty, .our-map-coverage-note, .our-map-worlds-note,
  .our-map-florida-city-jumps-label) { color: var(--mymappi-text-muted) !important; }
html body #ourMapDiscoveryBar :is(#ourMapPinKeyButton, #ourMapDiscoveryClose, #ourMapShowAllResults,
  .our-map-florida-city-jumps button, .our-map-filters button, #ourMapAllNearby,
  .our-map-result-actions button, .our-map-empty-actions button:not(:first-child),
  .our-map-worlds-note > span:first-child) {
  color: var(--mymappi-action-navy) !important;
  background: #ffffff !important;
  border-color: #c5d8e2 !important;
  box-shadow: none !important;
}
html body #ourMapDiscoveryBar :is(#ourMapPinKeyButton b, .our-map-filters button > span,
  .our-map-filters button > small, #ourMapAllNearby > small, .our-map-result-source.is-mappi) {
  color: var(--mymappi-action-navy) !important;
  background: #e6f6f2 !important;
}
html body #ourMapDiscoveryBar :is(.our-map-filters button[aria-pressed="true"],
  #ourMapAllNearby[aria-pressed="true"], .our-map-result-actions button.is-saved,
  .our-map-result-actions button[aria-pressed="true"], .our-map-florida-city-jumps button[aria-pressed="true"]) {
  color: var(--mymappi-action-navy) !important;
  background: var(--mymappi-color-mint) !important;
  border-color: var(--mymappi-action-navy) !important;
}
html body #ourMapDiscoveryBar .our-map-result-card { background: #ffffff !important; border-color: #c5d8e2 !important; box-shadow: none !important; }
html body #ourMapDiscoveryBar :is(.our-map-worlds-note, .our-map-coverage-note) { background: #edf5fa !important; border-color: #c5d8e2 !important; }
html body #ourMapDiscoveryBar #ourMapSpotCount::before { background: var(--mymappi-color-mint) !important; box-shadow: 0 0 0 2px rgba(0, 36, 63, .12) !important; }
html body :is(#ourMapExplorerButton, #ourMapDiscoveryBar button):focus-visible { outline: 3px solid #287ba4 !important; outline-offset: 3px !important; }

/* Secondary findings from the rendered-screen audit. Leave photographs,
   personal themes, emotion chips, provider marks and warning/danger states alone. */
html body .app-shell .map-stage.home-focus.has-empty-home #homeStarter.home-starter-section::before { background: var(--mymappi-action-navy) !important; }
html body .app-shell #homeStarter .home-starter-secondary { color: var(--mymappi-action-navy) !important; }
html body #homeMemoryOfDay .home-living-visual.has-atmosphere { background: var(--mymappi-action-navy) !important; }
html body #homeDashboard :is(.home-living-kicker, .home-section-title, .home-section-title .section-title-text, .memory-echo-reason) { color: var(--mymappi-action-navy) !important; }
html body #homeDashboard :is(.home-living-meta, .home-private-relive-note) { color: var(--mymappi-text-muted) !important; }
html body main.app-shell section.map-stage.home-focus :is(.home-calm-status, .home-stat-label) { color: var(--mymappi-text-muted) !important; }
html body main.app-shell section.map-stage.home-focus .hero-copy h2 { color: var(--mymappi-action-navy) !important; }
html body #homeDashboard .section-title-icon::before { background: var(--mymappi-color-mint) !important; }
html body main.app-shell section.map-stage.memories-focus { background: var(--mymappi-action-navy) !important; }
html body #authGate .auth-private-note { color: var(--mymappi-action-navy) !important; background: #e6f6f2 !important; }
html body #authGate .auth-private-note::before { background: radial-gradient(circle, #00243f 0 2px, transparent 2.5px) !important; }
html body #ourMapDiscoveryBar #ourMapPinKeyButton > span:first-child { color: var(--mymappi-action-navy) !important; background: #e6f6f2 !important; }
html body #memoryBottomSheet :is(.memory-capsule-more-action, .memory-capsule-heart-action:not(.is-hearted)) { color: var(--mymappi-action-navy) !important; }

/* Less-frequent dialogs are part of the same brand, including secondary flows
   (sharing, reporting, cover focus, trip import, feedback and reminders). */
html body :is(#memoryShareDialog, #receivedMemoryDialog, #memoryShareReportDialog,
  #memoryShareBlockDialog, #blockedPeopleDialog) { color: var(--mymappi-action-navy) !important; }
html body :is(#memoryShareDialog, #receivedMemoryDialog, #memoryShareReportDialog,
  #memoryShareBlockDialog, #blockedPeopleDialog) :is(.memory-share-panel, .received-memory-panel,
  .memory-share-safety-panel, .blocked-people-panel) { color: var(--mymappi-action-navy) !important; background: #f7fbfd !important; }
html body :is(#memoryShareDialog, #receivedMemoryDialog, #memoryShareReportDialog,
  #memoryShareBlockDialog, #blockedPeopleDialog) :is(.memory-share-panel, .received-memory-panel,
  .memory-share-safety-panel, .blocked-people-panel)::before { background: var(--mymappi-color-mint) !important; }
html body :is(#memoryShareDialog, #receivedMemoryDialog, #memoryShareReportDialog,
  #memoryShareBlockDialog, #blockedPeopleDialog) :is(label, input, textarea, select,
  .memory-share-included, .received-memory-eyebrow, .memory-share-field,
  .memory-share-privacy, .memory-share-safety-assurance, .received-memory-loading,
  .memory-share-heading small, .memory-share-heading > div > span,
  .memory-share-safety-heading small, .blocked-people-heading small) { color: var(--mymappi-action-navy) !important; }
html body :is(#memoryShareClose, #memoryShareCancel, #receivedMemoryClose, #memoryShareReportClose,
  #memoryShareBlockClose, #blockedPeopleClose, #memoryShareCoverOption, #memoryShareCoverOption > .memory-share-cover-check,
  #memoryCoverFocusAuto, #memoryCoverFocusCancel) { color: var(--mymappi-action-navy) !important; background: #ffffff !important; border-color: #c5d8e2 !important; }
html body #memoryShareCoverOption:has(input:checked) { background: #e6f6f2 !important; border-color: #00243f !important; }
html body #memoryShareReportSubmit { color: #ffffff !important; background: var(--mymappi-action-navy) !important; border-color: #426477 !important; }
html body :is(#memoryShareReportDialog, #blockedPeopleDialog) .memory-share-safety-mark { color: var(--mymappi-action-navy) !important; background: var(--mymappi-color-mint) !important; }
html body :is(#betaFeedbackDialog, #knownIssuesDialog) .beta-dialog-eyebrow,
html body #knownIssuesDialog .known-issue-card em,
html body #memoryCoverFocusDialog .memory-cover-focus-heading > div > span,
html body #returnLoopSettingsDialog .return-loop-settings-panel > header > div > span,
html body #lifeChapterEditorDialog :is(#lifeChapterEditorEyebrow, .life-chapter-cover-field,
  .life-chapter-cover-selection-copy > span, .life-chapter-editor-reset, .life-chapter-editor-cancel),
html body #tripEntryDialog :is(.trip-entry-kicker, .trip-entry-close),
html body #activeTripDialog :is(.active-trip-kicker, .active-trip-close, label, .active-trip-secondary),
html body #tripImportDialog :is(.trip-import-header > div > span, .trip-import-close,
  .trip-import-progress li.active, .trip-import-progress li > span, .trip-import-file-picker) { color: var(--mymappi-action-navy) !important; }
html body #customizeMymappiDialog :is(.customize-step-label, legend, .customize-mymappi-heading > div > span,
  .customize-presets-heading small, .customize-presets-heading button, .customize-choice-card) { color: var(--mymappi-action-navy) !important; }
html body #ourMapPinKeyDialog { color: var(--mymappi-action-navy) !important; }
html body #ourMapPinKeyDialog .our-map-pin-key-mark { color: #ffffff !important; background: var(--mymappi-action-navy) !important; box-shadow: none !important; }
html body #ourMapPinKeyDialog :is(.our-map-pin-key-list strong, .our-map-pin-key-private strong) { color: var(--mymappi-action-navy) !important; }
html body #ourMapContributionDialog .our-map-contribution-paths button { color: var(--mymappi-action-navy) !important; background: #ffffff !important; }
html body #ourMapContributionDialog .our-map-contribution-paths button :is(span, strong),
html body #ourMapVisitPublicStory > span { color: var(--mymappi-action-navy) !important; }
html body :is(#ourMapStoryDialog, #ourMapStoriesDialog, #ourMapVisitPromptDialog) :is(#ourMapStoryIntro > strong,
  #ourMapStoriesIntro > strong, .our-map-story-place strong, .our-map-story-panel label,
  .our-map-story-panel label strong, input, textarea, .our-map-story-safety strong) { color: var(--mymappi-action-navy) !important; }
html body :is(.memory-share-status, .received-memory-status, .memory-share-safety-status):not(.is-error):not(.is-success) { color: var(--mymappi-action-navy) !important; }

/* Do not add movement to a paint refresh. Existing disabled/busy behavior and
   pressed geometry remain owned by each component. */
@media (forced-colors: active) {
  :root {
    --mymappi-action-navy: ButtonFace;
    --mymappi-action-primary-ink: ButtonText;
    --mymappi-action-ink: ButtonText;
    --mymappi-action-border: ButtonText;
    --mymappi-action-light: ButtonFace;
  }
  html body :is(#authGate, #homeDashboard, .app-shell, dialog) :is(button, a) {
    forced-color-adjust: auto;
  }
}
