.journey-entry {
  --journey-ink: var(--text-strong, #202832);
  --journey-accent: #414ab0;
  position: fixed; z-index: 30;
  inset: max(1.5rem, env(safe-area-inset-top)) auto auto 1.5rem;
  box-sizing: border-box; width: min(32rem, calc(100% - 3rem));
  max-height: calc(100svh - 3rem); overflow-y: auto; overscroll-behavior: contain;
  scrollbar-gutter: stable; padding: clamp(1.125rem, 2.5vw, 2rem);
  background: var(--surface-0, #faf9f5); color: var(--journey-ink);
  border: 1px solid var(--border-subtle, #d8dcd8); border-radius: var(--radius-lg, 14px);
  box-shadow: var(--shadow-raised); font: 1rem/1.5 var(--font-sans, system-ui, sans-serif);
}
.journey-entry[hidden], .criteria-overlay[hidden] { display: none !important; }
.journey-brand { display:flex; align-items:center; gap:.6rem; font-weight:650; letter-spacing:-.02em; }
.journey-brand img { flex-shrink:0; }
.journey-entry h1 { font-family:var(--font-display, Georgia, serif);font-weight:400;font-size:clamp(2rem,3vw,2.7rem);line-height:1.07;letter-spacing:-.025em;margin:1.25rem 0 .75rem;max-width:19ch;text-wrap:balance; }
.journey-entry p { margin:.65rem 0; }
.journey-intro { color:var(--text-body);text-wrap:pretty; }
.journey-reassurance { font-size:.875rem;font-weight:600;color:var(--journey-accent); }
.journey-status:empty { display:none; }
.journey-status { font-size:.875rem; }
.journey-entry__actions { display:grid; gap:.25rem;margin:1rem 0; }
.journey-entry button {
  font:inherit;text-align:start;min-height:44px;padding:.65rem .4rem;
  color:inherit;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm,4px);
  cursor:pointer;transition:background-color var(--duration-fast,120ms),border-color var(--duration-fast,120ms);
}
.journey-entry button:hover:not(:disabled) { background:var(--surface-1,#eef2ed);border-color:var(--border-subtle); }
.journey-entry button:disabled { cursor:not-allowed;opacity:.6; }
.journey-entry .journey-choice { display:grid;grid-template-columns:1.5rem 1fr 1rem;align-items:center;gap:.6rem;border:0;border-bottom:1px solid var(--border-subtle);border-radius:0;padding:.9rem 0; }
.journey-choice strong { display:block;font-weight:650;line-height:1.35; }
.journey-choice__number { align-self:start;color:var(--journey-accent);font-size:.8rem;line-height:1.8;font-variant-numeric:tabular-nums; }
.journey-choice__description { display:block;color:var(--text-body);font-size:.875rem;margin-top:.25rem;line-height:1.4; }
.journey-choice__arrow { color:var(--journey-accent); }
.journey-entry .journey-primary { background:var(--journey-accent);color:#fff;padding:.7rem 1rem;text-align:center;font-weight:600; }
.journey-entry .journey-primary:hover:not(:disabled) { background:#333c96;color:#fff;border-color:#333c96; }
.journey-entry :focus-visible { outline:3px solid var(--journey-accent);outline-offset:3px; }
.journey-entry a { color:inherit;text-underline-offset:.2em; }
.journey-method { margin-top:.75rem;font-size:.875rem; }
.journey-method summary { cursor:pointer;min-height:44px;align-content:center;font-weight:600; }
.journey-entry footer { display:flex;flex-wrap:wrap;gap:.4rem 1rem;border-top:1px solid var(--border-subtle);padding-top:.5rem;font-size:.8125rem; }
.journey-entry footer a { display:inline-flex;align-items:center;min-height:44px; }
.journey-version { display:block;width:100%;color:var(--text-muted); }
.journey-entry form { display:grid;gap:.65rem;margin-top:1rem; }
.journey-entry form label { font-weight:600; }
.journey-entry input:not([type=radio]):not([type=checkbox]), .journey-entry select { box-sizing:border-box;width:100%;min-width:0;min-height:44px;font:inherit;color:var(--journey-ink);background:var(--surface-raised,#fff);padding:.65rem;border:1px solid var(--border-strong,#9ba49f);border-radius:var(--radius-sm); }
.journey-entry .journey-note { color:var(--text-body);font-size:.875rem;line-height:1.5; }
.journey-entry fieldset { min-width:0;margin:0;padding:.65rem;border:1px solid var(--border-strong);border-radius:var(--radius-sm); }
.journey-address-option { display:flex;align-items:flex-start;gap:.65rem;padding:.65rem 0; }
.journey-address-option input { width:20px;height:20px;flex-shrink:0;accent-color:var(--journey-accent); }
.journey-address-option small { display:block;font-weight:400;color:var(--text-body); }
.journey-saved-locations { list-style:none;padding:0; }
.journey-saved-locations li { display:grid;border-left:3px solid var(--journey-accent);padding:.5rem .75rem;margin:.75rem 0; }
.journey-saved-locations li>span { font-size:.8125rem;color:var(--text-body); }
@media (max-width:600px) {
  .journey-entry { inset:auto .75rem max(.75rem,env(safe-area-inset-bottom));width:calc(100% - 1.5rem);max-height:80svh;padding:1.125rem; }
  .journey-entry h1 { margin-top:.8rem;font-size:2.15rem; }
  .journey-entry .journey-choice { padding:.65rem 0; }
  .journey-entry__actions { margin:.75rem 0; }
}
@media (prefers-reduced-motion:reduce) { .journey-entry button { transition:none; } }
@media (forced-colors:active) { .journey-entry .journey-primary { border:1px solid ButtonText; } }

.journey-property-option { display:flex;align-items:center;gap:.6rem;min-height:44px; }
.journey-property-option input { width:20px;height:20px;accent-color:var(--journey-accent); }

.journey-more-address summary { min-height:44px;align-content:center;cursor:pointer;font-weight:600;color:var(--journey-accent); }

/* One bounded native dialog, not another dashboard or map. */
.exploration-collection { box-sizing:border-box;width:min(32rem,calc(100% - 1.5rem));max-height:min(80svh,80%);padding:clamp(.75rem,4vw,1.5rem);overflow-wrap:anywhere;border:1px solid var(--border-subtle);border-radius:var(--radius-lg,16px);background:var(--surface-raised,#faf8f2);color:var(--text-1,#172333);font-family:var(--font-sans); }
.exploration-collection::backdrop { background:rgb(20 30 40 / .32); }
.exploration-collection h2 { font-size:1.65rem;margin:0 0 .75rem; }
.exploration-collection p { line-height:1.5;font-size:.95rem; }
.exploration-collection button { font:inherit;min-height:44px;padding:.65rem .8rem;border:1px solid var(--border-subtle);border-radius:var(--radius-sm,6px);background:transparent;color:inherit;cursor:pointer;text-align:left; }
.exploration-collection button:hover:not(:disabled) { background:rgb(65 74 176 / .08); }
.exploration-collection :focus-visible { outline:3px solid #414ab0;outline-offset:3px; }
.exploration-collection .collection-primary { background:#414ab0;color:white; }
.exploration-collection button:disabled { opacity:.6;cursor:default; }
.collection-list { list-style:none;padding:0; }
.collection-list li { padding:1rem 0;border-bottom:1px solid var(--border-subtle); }
.collection-list li p { margin:.35rem 0 .6rem; }
.collection-actions { display:grid;gap:.65rem;margin:1rem 0; }

.exploration-collection form {display:grid;gap:.8rem;margin:1rem 0;}
.exploration-collection input {font:inherit;box-sizing:border-box;width:100%;min-height:44px;padding:.6rem;border:1px solid var(--border-subtle);border-radius:6px;}

.exploration-collection p {overflow-wrap:anywhere;}
.exploration-collection .identity-reports {display:block;box-sizing:border-box;min-height:44px;padding:.65rem 0;color:inherit;text-underline-offset:.2em;}

@font-face{font-family:"PMV Google Sans";src:url("/vendor/identity/google-sans-500.ttf") format("truetype");font-style:normal;font-weight:500;font-display:swap}
.identity-providers{display:grid;gap:10px;margin-block:16px}
.exploration-collection .identity-provider{box-sizing:border-box;min-width:0;display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:44px;padding:10px 12px;background:#fff;color:#1f1f1f;border:1px solid #747775;font-size:14px;line-height:20px}
.exploration-collection .identity-provider-google{font-family:"PMV Google Sans",Arial,sans-serif;font-weight:500}
.identity-provider img{width:20px;height:20px;object-fit:contain;flex-shrink:0}

/* Reading stays inside the bounded existing map overlay, not another dashboard. */
.care-reading h2{font-family:var(--font-display,Georgia,serif);font-size:1.8rem;font-weight:400;line-height:1.15;margin:.75rem 0}
.care-reading h3{font-size:1rem;line-height:1.4;margin:.25rem 0}
.care-findings{list-style:none;padding:0;margin:1rem 0}.care-findings li{padding:.8rem 0;border-top:1px solid var(--border-subtle,#d8dcd8)}
.care-findings small{font-size:.8125rem;font-weight:600;color:var(--journey-accent)}
.care-caution{border-left:3px solid var(--journey-accent);padding:.25rem 0 .25rem 1rem;margin:1.25rem 0}
.care-reading p,.care-calculation>p{overflow-wrap:anywhere}.care-reading>p:last-child{font-size:.8125rem;color:var(--text-body)}
.journey-entry fieldset label:not(.journey-property-option){display:block;margin:.75rem 0 .3rem}
@media(prefers-color-scheme:dark){.journey-entry{--surface-0:#181d25;--surface-1:#242b35;--surface-raised:#202731;--journey-ink:#f0f2f5;--text-body:#d2d7df;--text-muted:#b3bac5;--border-subtle:#47505e;--border-strong:#778291;--journey-accent:#b7beff}.journey-entry .journey-primary{background:#414ab0;color:white}.journey-entry select{color-scheme:dark}}

.journey-report{border-top:1px solid var(--border-subtle);margin-top:1.5rem;padding-top:1rem}
.journey-report h3{font-size:1.125rem;margin:.25rem 0}.journey-report nav{display:grid;gap:.25rem}
.journey-report a{display:inline-flex;align-items:center;min-height:44px;padding:.35rem 0;overflow-wrap:anywhere}
.journey-report button{width:100%}.journey-report [hidden]{display:none!important}

.comparison-table{width:100%;table-layout:fixed;border-collapse:collapse;margin-block:1rem;font-size:1rem;line-height:1.4}
.comparison-table caption{text-align:start;font-weight:600;padding-block:.75rem}
.comparison-table th,.comparison-table td{text-align:start;vertical-align:top;padding:.65rem .35rem;border-bottom:1px solid var(--border-subtle,#d8dcd8);overflow-wrap:anywhere}
.comparison-table thead th{font-weight:600}.comparison-table th:first-child{width:40%}
.comparison-table tbody th{font-weight:500}.comparison-table th span{display:block;font-weight:400;margin-top:.4rem}
.comparison-detail{border-top:1px solid var(--border-subtle,#d8dcd8);padding-block:.5rem}
.comparison-detail summary{cursor:pointer;min-height:44px;padding-block:.6rem;box-sizing:border-box}
.comparison-detail summary:focus-visible{outline:3px solid var(--journey-accent,#414ab0);outline-offset:3px}
