/* Opt-in exploration only: reuse the map and the existing native criterion editors. */
@layer overrides {
  .criteria-overlay[data-exploration="true"] { left: 1rem; top: 1rem; bottom: auto; transform: none;
    width: min(24rem, calc(100vw - 2rem)); height: auto; --dock-height: 6.5rem; }
  [data-exploration="true"] .criteria-shell { display: flex; flex-direction: column; height: auto;
    gap: .5rem; max-height: calc(100dvh - 2rem); }
  [data-exploration="true"] .criteria-dock { order: -2; width: 100%; height: auto; max-height: 8rem; flex: none; }
  [data-exploration="true"] .criteria-dock__scroller { flex-direction: row; max-height: 3.5rem;
    overflow-x: auto; overflow-y: hidden; overscroll-behavior-x: contain; touch-action: pan-x; }
  [data-exploration="true"] .criteria-dock__item, [data-exploration="true"] .criterion-chip { width: auto; }
  [data-exploration="true"] .criteria-editor { position: static; width: 100%; transform: none;
    min-height: 0; max-height: 48dvh; flex: 1 1 auto; }
  [data-exploration="true"] .criteria-editor__body { overflow-y: auto; }
  .exploration-navigation { pointer-events: auto; background: var(--surface-raised);
    border: 1px solid var(--border-subtle); border-radius: var(--radius-lg); padding: .75rem 1rem; }
  .exploration-title { font-size: 1rem; margin: 0; line-height: 1.4; }
  .exploration-status { font-size: .875rem; line-height: 1.4; margin: .4rem 0; color: var(--text-body); }
  .exploration-actions { display: flex; flex-wrap: wrap; gap: .25rem .5rem; }
  .exploration-navigation button { min-height: 44px; padding: .5rem .6rem; font: inherit; font-size: .875rem;
    border: 1px solid var(--border-subtle); border-radius: var(--radius-sm); background: var(--surface-0);
    color: var(--text-strong); cursor: pointer; }
  .exploration-navigation button:hover { border-color: var(--accent); }
  .exploration-navigation button:disabled { cursor: wait; opacity: .6; }
  .exploration-navigation button:focus-visible { outline: 3px solid var(--focus-ring); outline-offset: 2px; }
  .exploration-navigation .exploration-next { background: var(--accent); color: var(--accent-contrast); }
  .exploration-recap { max-height: 32dvh; overflow-y: auto; font-size: .875rem; line-height: 1.45; }
  .exploration-recap ul { list-style: none; padding: 0; margin: .5rem 0; }
  .exploration-recap li { display: grid; grid-template-columns: 7rem 1fr; gap: .75rem; align-items: center;
    padding: .5rem 0; border-bottom: 1px solid var(--border-subtle); }
  [data-guided="true"] .criteria-dock { display: none; }
  [data-guided="true"] .criteria-editor__header { display: flex; }
  [data-guided="true"] .criteria-editor__close, [data-guided="true"] .criteria-editor__remove { display: none; }
  [data-guided="true"]:not([data-step="recap"]) .exploration-title { display: none; }
  [data-guided="true"] .criteria-editor { order: 1; }
  [data-guided="true"] .exploration-navigation { order: 2; flex: none; }
  @media (max-width: 767px), (max-height: 600px) {
    .criteria-overlay[data-exploration="true"] { top: auto; bottom: max(.5rem, env(safe-area-inset-bottom));
      left: .5rem; width: calc(100vw - 1rem); }
    [data-exploration="true"] .criteria-shell { max-height: 55dvh; overflow: hidden; overscroll-behavior: contain; }
    [data-exploration="true"] .criteria-editor { flex: 1 1 auto; max-height: none; overflow: hidden; }
    [data-exploration="true"] .criteria-editor__body { overflow-y: auto; }
    [data-exploration="true"] .exploration-navigation { flex: 0 1 auto; min-height: 0; display: flex; flex-direction: column; }
    [data-guided="true"]:not([data-step="recap"]) .exploration-navigation { flex: none; }
    .exploration-title, .exploration-status, .exploration-actions { flex: none; }
    .exploration-recap { min-height: 0; max-height: none; overflow-y: auto; }
  }
  @media (prefers-reduced-motion: reduce) {
    [data-exploration="true"] *, [data-exploration="true"] *::before { transition: none; scroll-behavior: auto; }
  }
}

.exploration-privacy { display:inline-flex; min-height:44px; align-items:center; color:#006a6f; font-size:.875rem; }
.exploration-privacy[hidden] { display:none; }
