/* styles.css */
:root {
  --ink:#16231d;
--muted:#68726a;
--line:#ddd6c9;
--paper:#f3efe5;
--panel:#fffdf8;
--panel-soft:#f7f3e8;
--field:#f4efe2;
--forest:#183f2b;
--forest-2:#286246;
--gold:#caa24a;
--gold-2:#e4c878;
--wood:#7b4a24;
--wood-dark:#4b2b16;
--velvet:#6f2337;
--clay:#a95b3e;
--river:#4e786f;
--lavender:#756ca8;
--shelf:#ffffff;
--shelf-top:#f8f4ea;
--woodgrain:
    linear-gradient(90deg, rgba(255,224,166,0.16), transparent 24%, rgba(39,18,8,0.16) 52%, transparent 80%),
    repeating-linear-gradient(0deg, rgba(255,235,190,0.10) 0 1px, transparent 1px 7px),
    linear-gradient(135deg, #70421f 0%, #8b5529 42%, #5b3218 100%);
--shadow:0 22px 56px rgba(8,20,14,0.20);
--soft-shadow:0 12px 28px rgba(8,20,14,0.14);
font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.location-welcome{position:fixed;inset:0;z-index:10050;display:grid;place-items:center;padding:20px;background:rgba(12,25,19,.72);backdrop-filter:blur(8px)}
.location-welcome>div{width:min(520px,100%);padding:28px;border:1px solid rgba(184,139,68,.5);border-radius:22px;background:linear-gradient(145deg,#fffaf0,#eee1c5);color:#1d3026;box-shadow:0 24px 70px rgba(0,0,0,.34)}
.location-welcome span{display:block;margin-bottom:8px;color:#76521f;font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.location-welcome h2{margin:0 0 12px;font-family:Georgia,serif;font-size:clamp(1.65rem,5vw,2.3rem);line-height:1.05}
.location-welcome p{margin:0;color:#3f5047;font-size:1rem;line-height:1.55}
.location-welcome>div>div{display:flex;gap:10px;margin-top:22px;flex-wrap:wrap}
.location-welcome button{min-height:46px;padding:11px 17px;border:1px solid #214b35;border-radius:999px;background:#214b35;color:#fff;font-weight:800;cursor:pointer}
.location-welcome button+button{background:transparent;color:#214b35}
@media(max-width:520px){.location-welcome{align-items:end;padding:12px}.location-welcome>div{padding:23px 20px;border-radius:22px 22px 14px 14px}.location-welcome button{width:100%}}
* {
  box-sizing:border-box;
}
html {
  scroll-behavior:smooth;
background:#07120d url("assets/historical-study-bg-sharp.png") center / cover no-repeat;
}
body {
  margin:0;
min-height:100vh;
color:var(--ink);
background:
    linear-gradient(180deg, rgba(7,18,13,0.08), rgba(7,18,13,0.18)),
    url("assets/historical-study-bg-sharp.png") center / cover fixed no-repeat,
    #07120d;
}
body::before,
body::after {
  content:"";
position:fixed;
inset:0;
pointer-events:none;
}
body::before {
  z-index:-2;
background:
    url("assets/historical-study-bg-sharp.png");
background-position:center;
background-size:cover;
filter:saturate(1.18) contrast(1.12) brightness(1.02);
}
body::after {
  z-index:-1;
background:
    linear-gradient(90deg, rgba(5,13,9,0.18), rgba(8,19,14,0.02) 30%, rgba(8,19,14,0.02) 68%, rgba(5,13,9,0.18)),
    radial-gradient(circle at 78% 0%, rgba(228,200,120,0.10), transparent 34%),
    radial-gradient(circle at 12% 18%, rgba(111,35,55,0.10), transparent 30%),
    linear-gradient(180deg, rgba(7,18,13,0), rgba(7,18,13,0.12));
}
button,
input,
select,
textarea {
  font:inherit;
}
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
a:focus-visible {
  outline:3px solid rgba(202,162,74,0.9);
outline-offset:3px;
}
button {
  cursor:pointer;
}
button:disabled {
  cursor:not-allowed;
opacity:0.55;
}
.pastpath-menu-button {
  position:fixed;
z-index:1200;
top:18px;
left:18px;
display:inline-flex;
align-items:center;
gap:9px;
min-height:46px;
padding:9px 13px;
border:1px solid rgba(228,200,120,0.62);
border-radius:8px;
color:#fff9e8;
background:
    linear-gradient(135deg, rgba(24,63,43,0.96), rgba(18,43,30,0.96)),
    var(--woodgrain);
box-shadow:0 14px 34px rgba(6,15,10,0.34);
font-weight:800;
}
.pastpath-menu-button span,
.pastpath-menu-button span::before,
.pastpath-menu-button span::after {
  display:block;
width:18px;
height:2px;
border-radius:999px;
background:#fff7df;
}
.pastpath-menu-button span {
  position:relative;
}
.pastpath-menu-button span::before,
.pastpath-menu-button span::after {
  content:"";
position:absolute;
left:0;
}
.pastpath-menu-button span::before {
  top:-6px;
}
.pastpath-menu-button span::after {
  top:6px;
}
.pastpath-nav-shell {
  position:fixed;
z-index:1400;
inset:0;
display:grid;
grid-template-columns:minmax(300px, 420px) minmax(0, 1fr);
pointer-events:none;
}
.pastpath-nav-shell[hidden] {
  display:none;
}
.pastpath-nav-backdrop {
  position:fixed;
inset:0;
background:rgba(5,13,9,0.54);
backdrop-filter:blur(4px);
pointer-events:auto;
}
.pastpath-nav-drawer {
  position:relative;
z-index:1;
display:flex;
flex-direction:column;
gap:9px;
width:min(420px, calc(100vw - 20px));
max-height:calc(100vh - 20px);
margin:10px;
padding:12px;
border:1px solid rgba(228,200,120,0.46);
border-radius:10px;
background:
    linear-gradient(180deg, rgba(255,253,248,0.98), rgba(245,239,225,0.97)),
    var(--panel);
box-shadow:0 28px 80px rgba(0,0,0,0.42);
pointer-events:auto;
overflow:hidden;
}
.pastpath-nav-header {
  display:flex;
align-items:center;
justify-content:space-between;
gap:12px;
padding:10px 11px;
border-radius:8px;
color:#fff9e8;
background:
    linear-gradient(135deg, rgba(24,63,43,0.98), rgba(52,86,62,0.95)),
    var(--woodgrain);
}
.pastpath-nav-header p {
  margin:0 0 3px;
color:rgba(255,249,232,0.78);
font-size:12px;
font-weight:800;
letter-spacing:0.08em;
text-transform:uppercase;
}
.pastpath-nav-header h2 {
  margin:0;
color:#fff9e8;
font-size:20px;
line-height:1.05;
}
.pastpath-nav-close {
  min-height:42px;
padding:9px 12px;
border:1px solid rgba(255,249,232,0.42);
border-radius:8px;
color:#fff9e8;
background:rgba(255,255,255,0.12);
font-weight:800;
}
.pastpath-nav-intro {
  padding:0 3px;
color:#435044;
font-size:12px;
line-height:1.45;
}
.pastpath-nav-content {
  display:grid;
gap:7px;
padding:2px 2px 10px;
overflow:auto;
}
.pastpath-nav-section,
.pastpath-nav-group {
  border:1px solid rgba(24,63,43,0.12);
border-radius:8px;
background:rgba(255,255,255,0.66);
}
.pastpath-nav-section > summary,
.pastpath-nav-group > summary {
  display:grid;
gap:2px;
padding:9px 10px;
cursor:pointer;
list-style:none;
}
.pastpath-nav-section > summary::-webkit-details-marker,
.pastpath-nav-group > summary::-webkit-details-marker {
  display:none;
}
.pastpath-nav-section > summary span,
.pastpath-nav-group > summary span {
  color:var(--forest);
font-size:13px;
font-weight:900;
}
.pastpath-nav-section > summary small,
.pastpath-nav-group > summary small {
  color:#5a665d;
font-size:12px;
line-height:1.35;
}
.pastpath-nav-items {
  display:grid;
gap:6px;
padding:0 8px 8px;
}
.pastpath-nav-group {
  background:rgba(247,243,232,0.82);
}
.pastpath-nav-item {
  display:grid;
grid-template-columns:40px minmax(0, 1fr);
align-items:center;
gap:8px;
width:100%;
min-height:46px;
padding:6px 7px;
border:1px solid rgba(202,162,74,0.28);
border-radius:8px;
color:var(--ink);
background:rgba(255,253,248,0.92);
text-align:left;
}
.pastpath-nav-item:hover,
.pastpath-nav-item:focus-visible {
  border-color:rgba(202,162,74,0.68);
background:#fffaf0;
transform:translateY(-1px);
}
.pastpath-nav-item.is-current {
  border-color:rgba(24,63,43,0.58);
background:
    linear-gradient(135deg, rgba(232,245,235,0.98), rgba(255,253,248,0.96));
box-shadow:inset 4px 0 0 var(--forest);
}
.pastpath-nav-item.is-muted {
  cursor:default;
opacity:0.72;
}
.pastpath-nav-item.is-muted:hover {
  transform:none;
}
.pastpath-nav-icon {
  display:grid;
place-items:center;
min-width:34px;
min-height:32px;
border-radius:7px;
color:#fff9e8;
background:linear-gradient(135deg, var(--forest), var(--river));
font-size:10px;
font-weight:900;
}
.pastpath-nav-copy {
  display:grid;
gap:3px;
min-width:0;
}
.pastpath-nav-copy strong {
  color:#172a1d;
font-size:13px;
}
.pastpath-nav-copy small {
  color:#526056;
display:none;
font-size:11px;
line-height:1.3;
}
.pastpath-nav-status {
  align-self:start;
padding:4px 7px;
border-radius:999px;
color:#244131;
background:rgba(228,200,120,0.28);
font-size:10px;
font-weight:900;
white-space:nowrap;
}
body.pastpath-nav-open {
  overflow:hidden;
}
.app-shell {
  position:relative;
display:grid;
grid-template-columns:380px minmax(0, 1fr);
min-height:100vh;
background:transparent;
}
body:not(.story-paths-visible) .story-path-panel {
  display:none;
}
body:not(.eras-visible) .era-grid,
body:not(.eras-visible) .era-timeline-strip {
  display:none;
}
body:not(.places-list-visible) .results-column {
  display:none;
}
body:not(.place-preview-visible) .detail-panel {
  display:none;
}
.sidebar {
  display:flex;
flex-direction:column;
gap:18px;
padding:82px 20px 20px;
border-right:1px solid rgba(228,200,120,0.26);
background:
    linear-gradient(180deg, rgba(255,253,248,0.16), rgba(244,239,226,0.04));
box-shadow:14px 0 38px rgba(5,16,11,0.28);
}
.brand-row {
  position:relative;
overflow:hidden;
display:flex;
align-items:center;
gap:14px;
min-height:72px;
padding:12px;
border:1px solid rgba(228,200,120,0.36);
border-radius:8px;
background:
    linear-gradient(135deg, rgba(255,255,255,0.72), rgba(255,247,226,0.54)),
    rgba(255,253,248,0.34);
box-shadow:var(--soft-shadow);
}
.brand-row::after,
.route-card::after,
.topbar::after,
.story-path-panel::after,
.map-panel::after,
.timeline-panel::after,
.results-column::after,
.detail-panel::after {
  content:"";
position:absolute;
right:10px;
bottom:-1px;
left:10px;
height:10px;
border:1px solid rgba(42,20,8,0.28);
border-radius:0 0 8px 8px;
background:var(--woodgrain);
box-shadow:0 8px 14px rgba(10,10,8,0.22);
pointer-events:none;
}
.brand-mark {
  display:grid;
place-items:center;
width:48px;
height:48px;
border-radius:8px;
color:#fff9e8;
background:linear-gradient(135deg, var(--forest), #0f2b1d);
box-shadow:var(--soft-shadow);
font-weight:800;
}
h1,
h2,
p {
  margin:0;
}
h1 {
  font-size:25px;
line-height:1;
}
.brand-row p,
.passport p,
.trip-plan p,
.route-status,
.eyebrow {
  color:var(--muted);
font-size:13px;
}
.route-status {
  position:relative;
min-height:38px;
padding:10px 12px 10px 38px;
border:1px solid rgba(64,92,55,0.22);
border-radius:8px;
color:#173a29;
background:rgba(255,253,248,0.94);
line-height:1.45;
box-shadow:0 8px 18px rgba(18,16,12,0.12);
}
.route-status::before {
  content:"?";
position:absolute;
left:11px;
top:10px;
display:grid;
place-items:center;
width:18px;
height:18px;
border-radius:50%;
color:#fff8dc;
background:#214b35;
font-size:12px;
font-weight:950;
}
.route-status.is-loading {
  color:var(--forest);
font-weight:800;
}
.route-status.is-loading::before {
  content:"...";
color:#214b35;
background:#f2d779;
font-size:9px;
}
.route-status.is-error {
  color:var(--clay);
font-weight:800;
}
.route-status.is-error::before {
  content:"!";
background:var(--clay);
}
.search-explainer {
  display:grid;
gap:7px;
padding:10px 12px;
border:1px solid rgba(202,162,74,0.32);
border-radius:8px;
background:linear-gradient(180deg, rgba(255,251,239,0.98), rgba(244,238,218,0.98));
box-shadow:0 10px 22px rgba(8,20,14,0.10);
}
.search-explainer[hidden] {
  display:none;
}
.search-explainer div {
  display:flex;
flex-wrap:wrap;
align-items:center;
gap:6px;
}
.search-explainer span {
  color:#5b6c5d;
font-size:10px;
font-weight:950;
text-transform:uppercase;
}
.search-explainer strong {
  min-width:0;
max-width:100%;
overflow-wrap:anywhere;
color:#173a29;
font-size:13px;
font-weight:950;
}
.search-explainer p,
.search-explainer small {
  margin:0;
color:#263a2b;
line-height:1.34;
}
.search-explainer p {
  font-size:12.5px;
font-weight:820;
}
.search-explainer small {
  color:#637167;
font-size:11.5px;
font-weight:780;
}
.search-explainer-actions {
  display:flex;
flex-wrap:wrap;
gap:6px;
}
.search-explainer-actions[hidden] {
  display:none;
}
.search-explainer-actions button {
  min-height:34px;
padding:7px 9px;
border:1px solid rgba(33,75,53,0.20);
border-radius:999px;
color:#fffaf0;
background:linear-gradient(180deg, #2f6f4d, #183f2b);
font-size:11.5px;
font-weight:950;
}
.route-card {
  position:relative;
overflow:hidden;
padding:0;
border:1px solid rgba(228,200,120,0.34);
border-left:6px solid var(--gold);
border-radius:8px;
background:
    linear-gradient(180deg, rgba(255,253,248,0.58), rgba(247,241,226,0.36)),
    rgba(255,253,248,0.18);
box-shadow:var(--soft-shadow);
}
.route-card-header {
  display:flex;
align-items:center;
justify-content:space-between;
gap:10px;
min-height:56px;
margin:0;
padding:14px 16px;
border-bottom:1px solid rgba(71,38,17,0.34);
color:#fff8e7;
background:var(--woodgrain);
}
.route-card-header h2 {
  font-size:22px;
text-shadow:0 1px 1px rgba(0,0,0,0.26);
}
.route-card > .mode-tabs,
.route-card > .mode-hint,
.route-card > .state-jump,
.route-card > .route-field,
.route-card > .route-choice,
.route-card > .route-actions,
.route-card > .quick-search-drawer,
.route-card > .search-explainer,
.route-card > .route-status {
  margin-right:16px;
margin-left:16px;
}
.route-card > .mode-tabs {
  margin-top:12px;
}
.route-card > .route-status {
  margin-bottom:16px;
}
.mode-hint {
  min-height:0;
padding:8px 10px;
border:1px solid rgba(202,162,74,0.34);
border-radius:8px;
color:#31513d;
background:#fff7df;
font-size:14px;
font-weight:800;
line-height:1.45;
}
.state-jump {
  display:grid;
gap:8px;
padding:12px;
border:1px solid var(--line);
border-radius:8px;
background:#fbfaf6;
}
.state-jump label {
  color:var(--ink);
font-size:13px;
font-weight:800;
}
.state-jump-row {
  display:grid;
grid-template-columns:minmax(0, 1fr) 96px;
gap:8px;
}
.mode-tabs {
  display:grid;
grid-template-columns:repeat(3, minmax(0, 1fr));
gap:8px;
}
.mode-tab {
  min-height:46px;
padding:0 8px;
border:1px solid var(--line);
border-radius:8px;
color:var(--ink);
background:#ffffff;
font-size:13px;
font-weight:900;
transition:transform 120ms ease, border-color 120ms ease, background 120ms ease;
}
.mode-tab.is-active {
  color:#fffaf0;
border-color:var(--forest);
background:linear-gradient(135deg, var(--forest), #0f2b1d);
box-shadow:var(--soft-shadow);
}
.mode-tab:hover {
  transform:translateY(-1px);
}
.route-form,
.control-group,
.passport,
.trip-plan,
.hidden-stops,
.place-votes,
.tester-feedback,
.more-panel,
.place-more {
  display:grid;
gap:10px;
}
.sidebar > section,
.more-panel {
  padding-top:0;
}
.project-tools-drawer {
  display:grid;
gap:10px;
border:1px solid rgba(228,200,120,0.18);
border-radius:8px;
background:rgba(255,253,248,0.10);
box-shadow:none;
}
.project-tools-drawer > summary {
  display:flex;
align-items:center;
justify-content:space-between;
gap:10px;
min-height:42px;
padding:8px 11px;
color:rgba(255,248,231,0.86);
background:rgba(13,33,23,0.54);
border-radius:8px;
font-size:12px;
font-weight:900;
cursor:pointer;
}
.project-tools-drawer > summary::-webkit-details-marker {
  display:none;
}
.project-tools-drawer > summary strong {
  padding:4px 8px;
border-radius:999px;
color:rgba(255,248,231,0.82);
background:rgba(255,255,255,0.10);
font-size:10px;
}
.project-tools-drawer > section,
.project-tools-drawer > details {
  margin:0 12px 12px;
}
.quick-search-row {
  display:grid;
grid-template-columns:repeat(4, minmax(0, 1fr));
gap:7px;
}
.quick-search-drawer {
  border:1px solid rgba(202,162,74,0.28);
border-radius:8px;
background:rgba(255,253,248,0.72);
}
.quick-search-drawer > summary {
  min-height:38px;
padding:9px;
color:#183f2b;
font-size:12px;
font-weight:950;
cursor:pointer;
list-style:none;
}
.quick-search-drawer > summary::-webkit-details-marker { display:none; }
.quick-search-drawer > summary::after {
  content:"+";
float:right;
}
.quick-search-drawer[open] > summary::after { content:"-"; }
.quick-search-drawer .quick-search-row {
  padding:0 10px 10px;
}
.quick-search-row button {
  min-width:0;
min-height:36px;
border:1px solid rgba(202,162,74,0.38);
border-radius:999px;
color:#183f2b;
background:linear-gradient(180deg, rgba(255,249,223,0.96), rgba(236,213,145,0.88));
font-size:12px;
font-weight:950;
box-shadow:0 6px 14px rgba(8,20,14,0.08);
}
.quick-search-row button:hover,
.quick-search-row button:focus-visible {
  transform:translateY(-1px);
border-color:rgba(33,75,53,0.28);
box-shadow:0 10px 20px rgba(8,20,14,0.13);
}
.more-panel,
.place-more,
.timeline-panel {
  border:1px solid var(--line);
border-radius:8px;
background:var(--shelf);
box-shadow:0 8px 20px rgba(31,43,35,0.05);
}
.more-panel {
  padding:0;
}
.more-panel[open],
.place-more[open],
.timeline-panel[open] {
  padding-bottom:12px;
}
.more-panel summary,
.place-more summary,
.timeline-panel summary {
  min-height:48px;
display:flex;
align-items:center;
padding:0 12px;
color:var(--forest);
background:var(--shelf-top);
font-weight:900;
cursor:pointer;
list-style:none;
}
.more-panel summary::-webkit-details-marker,
.place-more summary::-webkit-details-marker,
.timeline-panel summary::-webkit-details-marker {
  display:none;
}
.more-panel summary::after,
.place-more summary::after,
.timeline-panel summary::after {
  content:"+";
margin-left:auto;
font-size:20px;
}
.more-panel[open] summary::after,
.place-more[open] summary::after,
.timeline-panel[open] summary::after {
  content:"-";
}
.more-panel > section,
.place-more > section,
.place-more > button {
  margin:0 12px;
}
.more-panel > section:not(:last-child),
.place-more > section:not(:last-child) {
  padding-bottom:12px;
border-bottom:1px solid rgba(216,222,210,0.7);
}
label {
  display:grid;
gap:8px;
color:#334034;
font-size:13px;
font-weight:700;
}
.route-field {
  display:grid;
grid-template-columns:auto minmax(0, 1fr);
align-items:center;
gap:10px 12px;
padding:12px;
border:1px solid var(--line);
border-radius:8px;
background:#fbfaf6;
}
.input-action-row {
  grid-column:1 / -1;
display:grid;
grid-template-columns:minmax(0, 1fr);
gap:8px;
}
.route-field input {
  min-height:58px;
border-color:#cbd7d1;
background:#fff;
font-size:16px;
font-weight:800;
}
.route-field input::placeholder {
  color:#6f776e;
font-size:15px;
font-weight:800;
}
.smart-search-panel {
  grid-column:1 / -1;
display:grid;
gap:7px;
margin-top:-2px;
padding:8px;
border:1px solid rgba(202,162,74,0.28);
border-radius:8px;
background:linear-gradient(180deg, rgba(255,253,246,0.98), rgba(246,241,225,0.98));
box-shadow:0 14px 28px rgba(8,20,14,0.12);
}
.smart-search-panel-heading {
  display:grid;
gap:2px;
padding:3px 4px 5px;
color:#284331;
}
.smart-search-panel-heading strong {
  font-size:12px;
font-weight:950;
}
.smart-search-panel-heading span {
  color:#647167;
font-size:11.5px;
font-weight:800;
line-height:1.25;
}
.smart-search-panel[hidden] {
  display:none;
}
.smart-search-option {
  display:grid;
grid-template-columns:32px minmax(0, 1fr);
align-items:center;
gap:9px;
width:100%;
min-height:52px;
padding:8px 10px;
border:1px solid rgba(33,75,53,0.13);
border-radius:8px;
background:rgba(255,255,255,0.94);
color:#173322;
text-align:left;
cursor:pointer;
}
.smart-search-option:hover,
.smart-search-option:focus-visible {
  border-color:rgba(202,162,74,0.58);
background:#fffaf0;
transform:translateY(-1px);
}
.smart-search-rank {
  display:grid;
place-items:center;
width:30px;
height:30px;
border-radius:50%;
background:#214b35;
color:#fff4cf;
font-size:13px;
font-weight:900;
}
.smart-search-copy {
  display:grid;
min-width:0;
gap:2px;
}
.smart-search-copy strong,
.smart-search-copy small {
  overflow-wrap:anywhere;
white-space:normal;
}
.smart-search-copy strong {
  font-size:14px;
font-weight:900;
}
.smart-search-copy small {
  color:#5f6d62;
font-size:12px;
font-weight:800;
}
.route-field label,
.route-field small {
  display:block;
}
.route-field label {
  font-weight:900;
}
.route-field small {
  margin-top:2px;
color:var(--muted);
font-size:12px;
}
.step-dot {
  display:grid;
place-items:center;
width:32px;
height:32px;
border-radius:50%;
color:#fff;
background:var(--forest);
font-size:15px;
font-weight:900;
}
.icon-button {
  display:grid;
place-items:center;
min-width:78px;
height:44px;
padding:0 10px;
border:1px solid var(--line);
border-radius:8px;
color:var(--forest);
background:#fff;
font-size:13px;
font-weight:900;
}
.route-choice {
  display:grid;
gap:8px;
padding:10px;
border:1px solid rgba(202,162,74,0.32);
border-radius:8px;
background:#fff8e7;
}
.route-choice[hidden] {
  display:none;
}
.route-choice label {
  color:var(--forest);
font-size:12px;
font-weight:900;
}
.route-choice select {
  position:fixed;
top:-1000px;
left:-1000px;
width:1px;
height:1px;
min-width:0;
overflow:hidden;
clip:rect(0 0 0 0);
clip-path:inset(50%);
}
.route-option-buttons {
  display:grid;
gap:8px;
}
.route-option-button {
  display:grid;
gap:3px;
min-height:54px;
padding:9px 11px;
border:1px solid rgba(24,63,43,0.18);
border-radius:8px;
color:var(--ink);
background:#fffdf8;
text-align:left;
font-weight:850;
}
.route-option-button strong,
.route-option-button span {
  display:block;
}
.route-option-button span {
  color:var(--muted);
font-size:12px;
}
.route-option-button.is-active {
  color:#fffaf0;
border-color:var(--forest);
background:linear-gradient(135deg, var(--forest), #0f2b1d);
box-shadow:0 10px 18px rgba(24,63,43,0.18);
}
.route-option-button.is-active span {
  color:rgba(255,255,255,0.82);
}
.route-field[hidden],
.icon-button[hidden] {
  display:none;
}
.route-actions {
  display:grid;
grid-template-columns:minmax(0, 1fr) 92px;
gap:8px;
}
.checkbox-row {
  display:flex;
align-items:center;
gap:10px;
min-height:42px;
padding:0 10px;
border:1px solid var(--line);
border-radius:8px;
background:var(--panel);
}
.checkbox-row input {
  width:18px;
height:18px;
accent-color:var(--forest);
}
input[type="text"],
select,
textarea {
  width:100%;
min-height:44px;
border:1px solid var(--line);
border-radius:8px;
padding:0 12px;
color:var(--ink);
background:#fff;
box-shadow:inset 0 1px 0 rgba(255,255,255,0.82);
}
textarea {
  min-height:108px;
padding:10px 12px;
resize:vertical;
}
input[type="range"] {
  width:100%;
accent-color:var(--forest);
}
.primary-button,
.secondary-button,
.text-button,
.filter-button {
  min-height:48px;
border:0;
border-radius:8px;
font-weight:800;
}
.primary-button {
  color:#fffaf0;
background:linear-gradient(135deg, #0f2b1d, var(--forest-2));
box-shadow:0 12px 24px rgba(24,63,43,0.26);
}
.secondary-button {
  width:100%;
color:#fffaf0;
background:linear-gradient(135deg, var(--velvet), #8d3449);
}
.muted-button {
  color:var(--ink);
border:1px solid var(--line);
background:var(--field);
}
.secondary-button.is-stamped {
  background:var(--forest-2);
}
.secondary-button.is-planned {
  background:var(--forest);
}
.secondary-button.is-reading,
.text-button.is-reading {
  color:#fffaf0;
border-color:var(--forest);
background:linear-gradient(135deg, var(--forest), #0f2b1d);
}
.text-button {
  color:var(--forest);
border:1px solid var(--line);
background:#fffdf8;
}
.primary-button:hover,
.secondary-button:hover,
.text-button:hover,
.map-tool-button:hover,
.filter-button:hover {
  transform:translateY(-1px);
}
.danger-button {
  color:var(--clay);
}
.group-header,
.section-heading {
  display:flex;
align-items:center;
justify-content:space-between;
gap:12px;
}
.group-header span,
.section-heading span {
  color:var(--muted);
font-size:12px;
font-weight:900;
}
.control-group h2,
.passport h2,
.trip-plan h2,
.hidden-stops h2,
.place-votes h2,
.timeline-panel h2,
.section-heading h2 {
  font-size:16px;
}
.range-labels {
  display:flex;
justify-content:space-between;
color:var(--muted);
font-size:12px;
}
.chapter-help {
  color:var(--muted);
font-size:13px;
line-height:1.35;
}
.filter-grid {
  display:grid;
grid-template-columns:1fr;
gap:8px;
max-height:340px;
overflow:auto;
padding-right:2px;
}
.filter-button {
  display:grid;
align-content:center;
gap:3px;
min-height:58px;
padding:8px 10px;
border:1px solid var(--line);
color:var(--ink);
background:#fffdf8;
text-align:left;
}
.filter-button.is-photo-filter {
  border-color:rgba(202,162,74,0.54);
background:
    linear-gradient(135deg, rgba(255,246,203,0.96), rgba(255,253,248,0.94));
box-shadow:inset 0 0 0 1px rgba(255,255,255,0.72);
}
.filter-button.is-photo-filter strong::before {
  content:"\1F5BC\FE0F";
margin-right:6px;
}
.filter-button strong,
.filter-button span {
  display:block;
}
.filter-button strong {
  font-size:13px;
line-height:1.1;
}
.filter-button span {
  color:var(--muted);
font-size:11px;
font-weight:700;
line-height:1.25;
}
.filter-button.is-active {
  color:#fffaf0;
border-color:var(--forest);
background:linear-gradient(135deg, var(--forest), #0f2b1d);
}
.filter-button.is-photo-filter.is-active {
  color:#183f2b;
border-color:var(--gold);
background:
    radial-gradient(circle at 12% 18%, rgba(255,255,255,0.7), transparent 28%),
    linear-gradient(135deg, #fff2ae, #d9b75d 56%, #f8e7a0);
box-shadow:0 10px 22px rgba(202,162,74,0.22);
}
.filter-button.is-active span {
  color:rgba(255,255,255,0.82);
}
.filter-button.is-photo-filter.is-active span {
  color:rgba(24,63,43,0.76);
}
.passport-meter {
  overflow:hidden;
height:10px;
border-radius:999px;
background:#e6ded0;
}
.passport-meter span {
  display:block;
width:0%;
height:100%;
background:linear-gradient(90deg, var(--gold), var(--gold-2));
transition:width 180ms ease;
}
.badge-shelf {
  display:flex;
flex-wrap:wrap;
gap:7px;
}
.badge {
  padding:6px 9px;
border:1px solid var(--line);
border-radius:999px;
color:#5b4a2b;
background:#f3ead2;
font-size:12px;
font-weight:900;
}
.badge.is-earned {
  color:#fffaf0;
border-color:var(--forest);
background:var(--forest);
}
.plan-list {
  display:grid;
gap:8px;
}
.plan-item,
.hidden-item {
  display:grid;
gap:2px;
width:100%;
padding:10px;
border:1px solid var(--line);
border-radius:8px;
color:var(--ink);
background:#fffdf8;
text-align:left;
}
.plan-item strong,
.hidden-item strong {
  font-size:13px;
}
.plan-item span,
.hidden-item span {
  color:var(--muted);
font-size:12px;
}
.hidden-list {
  display:grid;
gap:8px;
}
.hidden-stops p {
  color:var(--muted);
font-size:13px;
}
.trip-plan.is-dragging {
  padding:12px;
margin:-12px;
border:2px dashed var(--forest);
border-radius:8px;
background:rgba(202,162,74,0.12);
}
.place-votes p {
  color:var(--muted);
font-size:13px;
line-height:1.45;
}
.workspace {
  display:grid;
grid-template-rows:auto auto auto auto 1fr auto;
gap:18px;
padding:22px;
min-width:0;
background:
    radial-gradient(circle at 88% 5%, rgba(228,200,120,0.10), transparent 32%),
    linear-gradient(180deg, rgba(255,253,248,0.10), rgba(13,27,22,0.02));
}
.workspace .topbar {
  order:1;
}
.workspace .map-panel {
  order:2;
}
.workspace .chapter-panel {
  order:3;
}
.workspace .story-path-panel {
  order:4;
}
.workspace .era-panel {
  order:4;
}
.workspace .content-grid {
  order:5;
}
.workspace .timeline-panel {
  order:6;
}
.topbar {
  position:relative;
overflow:hidden;
display:flex;
align-items:center;
justify-content:space-between;
gap:24px;
padding:18px;
border:1px solid rgba(228,200,120,0.34);
border-radius:8px;
background:
    linear-gradient(90deg, rgba(255,253,248,0.98), rgba(255,249,231,0.94)),
    var(--shelf);
box-shadow:var(--soft-shadow);
}
.eyebrow {
  margin-bottom:6px;
text-transform:uppercase;
color:var(--gold);
font-weight:900;
}
.topbar h2 {
  font-size:30px;
line-height:1.08;
}
.trip-stats {
  display:grid;
grid-template-columns:minmax(96px, 1fr);
gap:10px;
}
.trip-stats div {
  min-height:58px;
padding:10px 14px;
border:1px solid var(--line);
border-radius:8px;
background:linear-gradient(180deg, #fff8e7, #f2e6c8);
box-shadow:0 8px 18px rgba(31,43,35,0.05);
}
.trip-stats .optional-stat {
  display:none;
}
.trip-stats strong,
.trip-stats span {
  display:block;
}
.trip-stats strong {
  color:var(--forest);
font-size:21px;
}
.trip-stats span {
  color:var(--muted);
font-size:12px;
}
.chapter-panel {
  position:relative;
overflow:hidden;
display:grid;
grid-template-columns:minmax(150px, 190px) minmax(0, 1fr);
align-items:center;
gap:12px;
padding:12px;
border:1px solid rgba(228,200,120,0.34);
border-radius:8px;
background:
    linear-gradient(90deg, rgba(255,253,248,0.90), rgba(255,249,231,0.72)),
    rgba(255,253,248,0.60);
box-shadow:var(--soft-shadow);
}
.chapter-panel-title h2 {
  margin:0;
font-size:20px;
line-height:1.1;
}
.chapter-panel-title .eyebrow {
  margin:0 0 4px;
}
.chapter-panel .filter-grid {
  grid-auto-flow:column;
grid-auto-columns:minmax(140px, max-content);
grid-template-columns:none;
gap:8px;
max-height:none;
overflow-x:auto;
overflow-y:hidden;
overscroll-behavior-x:contain;
padding-bottom:6px;
}
.chapter-panel .filter-button {
  min-height:52px;
min-width:140px;
padding:7px 11px;
text-align:left;
}
.chapter-panel .chapter-more-button {
  border-style:dashed;
background:#fff8e7;
}
.chapter-panel .filter-button strong {
  font-size:12px;
line-height:1.16;
white-space:normal;
}
.chapter-panel .filter-button span {
  font-size:11px;
}
.era-panel {
  position:relative;
overflow:hidden;
display:grid;
grid-template-columns:minmax(150px, 210px) minmax(0, 1fr);
align-items:stretch;
gap:12px;
padding:14px;
border:1px solid rgba(202,162,74,0.36);
border-radius:8px;
background:rgba(255,252,242,.95);
}
.era-panel-title h2 {
  margin:0;
font-size:20px;
line-height:1.1;
}
.era-panel-title p:last-child {
  margin:8px 0 0;
color:#4d5a45;
font-size:12px;
line-height:1.35;
}
.era-panel-body {
  min-width:0;
display:grid;
gap:10px;
}
.era-timeline-strip {
  display:flex;
gap:8px;
overflow-x:auto;
padding:2px 0 6px;
}
.era-timeline-strip button {
  flex:0 0 auto;
min-height:36px;
border:1px solid rgba(45,104,74,0.22);
border-radius:999px;
padding:6px 10px;
background:rgba(255,255,255,0.78);
color:#214b35;
font-size:12px;
font-weight:800;
cursor:pointer;
}
.era-grid {
  display:grid;
grid-template-columns:repeat(3, minmax(190px, 1fr));
gap:10px;
}
.era-card {
  min-width:0;
display:grid;
gap:8px;
padding:12px;
border:1px solid rgba(202,162,74,0.3);
border-radius:8px;
background:rgba(255,255,255,.9);
}
.era-card.is-selected {
  border-color:rgba(33,75,53,0.48);
box-shadow:0 0 0 2px rgba(33,75,53,.1);
}
.era-card-top,
.era-card-tags {
  display:flex;
flex-wrap:wrap;
gap:6px;
align-items:center;
}
.era-card-top span,
.era-card-top strong,
.era-card-tags span {
  border-radius:999px;
padding:4px 7px;
font-size:10px;
line-height:1.15;
background:rgba(33,75,53,0.08);
color:#214b35;
}
.era-card-top strong {
  background:rgba(202,162,74,0.18);
}
.era-card h3 {
  margin:0;
color:#183f2b;
font-size:15px;
line-height:1.18;
}
.era-card p {
  margin:0;
color:#384439;
font-size:12px;
line-height:1.42;
}
.era-card-actions {
  display:grid;
grid-template-columns:minmax(0, 1fr) auto;
gap:7px;
}
.era-card button,
.era-detail-actions button,
.era-place-link,
.era-related-link {
  height:39px
  border:0;
border-radius:8px;
padding:8px 10px;
background:#214b35;
color:#fff8df;
font-weight:900;
}
.era-card-actions button:last-child {
  min-width:58px;
background:#e8c66f;
color:#183f2b;
}
.era-card button:disabled {
  cursor:not-allowed;
opacity:0.55;
}
.era-detail-card {
  display:grid;
gap:12px;
padding:14px;
border:1px solid rgba(33,75,53,0.24);
border-radius:8px;
background:rgba(255,250,234,.96);
}
.era-detail-card[hidden] {
  display:none;
}
.era-detail-hero {
  display:grid;
gap:6px;
}
.era-detail-hero span,
.era-trust-note {
  color:#5d6049;
font-size:11px;
font-weight:800;
text-transform:uppercase;
}
.era-detail-hero h3 {
  margin:0;
color:#183f2b;
font-size:22px;
line-height:1.08;
}
.era-detail-hero p,
.era-detail-priority p,
.era-detail-section p,
.era-empty-note {
  margin:0;
color:#2d3d31;
font-size:13px;
line-height:1.42;
}
.era-detail-priority,
.era-detail-grid {
  display:grid;
grid-template-columns:repeat(2, minmax(0, 1fr));
gap:10px;
}
.era-detail-section {
  min-width:0;
display:grid;
gap:7px;
padding:10px;
border:1px solid rgba(202,162,74,0.22);
border-radius:8px;
background:rgba(255,255,255,0.55);
}
.era-detail-section h4 {
  margin:0;
color:#214b35;
font-size:12px;
line-height:1.15;
}
.era-detail-section ul {
  margin:0;
padding-left:17px;
color:#334437;
font-size:12px;
line-height:1.34;
}
.era-detail-tags,
.era-related-list,
.era-place-list {
  display:flex;
flex-wrap:wrap;
gap:7px;
}
.era-detail-tags span {
  border-radius:999px;
padding:5px 8px;
background:rgba(33,75,53,0.1);
color:#214b35;
font-size:11px;
font-weight:850;
}
.era-place-link {
  flex:1 1 190px;
display:grid;
gap:3px;
border:1px solid rgba(33,75,53,0.18);
background:rgba(255,255,255,0.72);
color:#183f2b;
text-align:left;
}
.era-place-link span {
  color:#58614b;
font-size:11px;
font-weight:750;
}
.era-detail-actions {
  display:grid;
grid-template-columns:minmax(180px, 240px) minmax(0, 1fr);
gap:10px;
align-items:center;
}
.era-related-link {
  border:1px solid rgba(33,75,53,0.18);
background:rgba(255,255,255,0.72);
color:#214b35;
}
.era-trust-note {
  margin:0;
text-transform:none;
line-height:1.35;
}
.story-path-panel {
  position:relative;
overflow:hidden;
display:grid;
grid-template-columns:minmax(150px, 210px) minmax(0, 1fr);
align-items:stretch;
gap:12px;
padding:12px;
border:1px solid rgba(228,200,120,0.42);
border-radius:8px;
background:
    linear-gradient(135deg, rgba(255,251,239,0.97), rgba(240,229,203,0.91)),
    var(--shelf);
box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.72),
    0 10px 24px rgba(31,43,35,0.08);
}
.story-path-title {
  display:grid;
gap:4px;
align-content:center;
}
.story-path-title h2 {
  margin:0;
color:var(--forest);
font-size:20px;
line-height:1.1;
}
.story-path-title p:last-child {
  margin:0;
color:var(--muted);
font-size:12px;
line-height:1.35;
}
.story-path-actions {
  display:grid;
gap:8px;
min-width:0;
}
.panel-toggle-button {
  min-height:44px;
width:100%;
border:1px solid rgba(202,162,74,0.46);
border-radius:8px;
color:#183f2b;
background:
    linear-gradient(180deg, #fff9df, #efd689);
font-weight:950;
box-shadow:0 8px 18px rgba(31,43,35,0.09);
cursor:pointer;
}
.panel-toggle-button:hover,
.panel-toggle-button:focus-visible {
  border-color:rgba(33,75,53,0.34);
box-shadow:0 10px 22px rgba(31,43,35,0.13);
}
.story-path-grid {
  display:grid;
grid-auto-flow:column;
grid-auto-columns:minmax(174px, max-content);
gap:8px;
overflow-x:auto;
overflow-y:hidden;
padding:2px 2px 4px;
overscroll-behavior-x:contain;
}
.story-path-button {
  min-height:60px;
display:grid;
grid-template-columns:46px minmax(0, 1fr);
align-items:center;
gap:9px;
padding:8px 11px;
border:1px solid rgba(39,78,55,0.18);
border-radius:8px;
background:
    linear-gradient(180deg, rgba(255,253,247,0.98), rgba(247,238,216,0.94));
color:var(--ink);
box-shadow:0 6px 16px rgba(31,43,35,0.07);
text-align:left;
cursor:pointer;
}
.story-path-button:hover,
.story-path-button:focus-visible {
  border-color:rgba(198,151,63,0.78);
transform:translateY(-1px);
}
.story-path-button.is-active {
  border-color:rgba(33,75,53,0.72);
background:
    linear-gradient(135deg, rgba(33,75,53,0.96), rgba(76,112,72,0.94));
color:#fff8e7;
}
.story-path-icon {
  min-width:42px;
min-height:42px;
display:grid;
place-items:center;
border-radius:50%;
background:
    radial-gradient(circle at 30% 25%, rgba(255,248,218,0.98), rgba(198,151,63,0.82));
color:#214b35;
font-size:10px;
font-weight:900;
text-transform:uppercase;
}
.story-path-button strong,
.story-path-button small {
  display:block;
max-width:100%;
overflow-wrap:anywhere;
}
.story-path-button strong {
  font-size:13px;
line-height:1.18;
}
.story-path-button small {
  margin-top:3px;
color:var(--muted);
font-size:11px;
}
.story-path-button.is-active small {
  color:rgba(255,248,231,0.8);
}
.story-path-clear {
  justify-self:start;
min-height:34px;
padding:6px 10px;
border:1px solid rgba(122,79,35,0.32);
border-radius:8px;
background:rgba(255,253,248,0.82);
color:var(--forest);
font-size:12px;
font-weight:900;
cursor:pointer;
}
.more-panel summary span,
.more-panel summary strong,
.project-tools-drawer > summary span,
.project-tools-drawer > summary strong {
  min-width:0;
}
.more-panel summary strong {
  margin-left:auto;
padding:4px 8px;
border-radius:999px;
color:#31503b;
background:rgba(202,162,74,0.18);
font-size:11px;
white-space:nowrap;
}
.story-path-clear:hover,
.story-path-clear:focus-visible {
  background:#fff8e7;
border-color:rgba(198,151,63,0.8);
}
.story-path-guide {
  display:grid;
grid-template-columns:minmax(0, 1fr) auto;
gap:10px;
align-items:center;
padding:10px;
border:1px solid rgba(33,75,53,0.20);
border-radius:8px;
background:
    linear-gradient(135deg, rgba(255,253,248,0.98), rgba(244,235,211,0.94)),
    #fffdf8;
box-shadow:inset 0 1px 0 rgba(255,255,255,0.72);
}
.story-path-guide[hidden] {
  display:none;
}
.story-path-guide-copy {
  min-width:0;
}
.story-path-guide-copy strong {
  display:block;
color:var(--forest);
font-size:13px;
font-weight:900;
}
.story-path-guide-copy span {
  display:inline-block;
margin-top:3px;
padding:3px 7px;
border:1px solid rgba(198,151,63,0.28);
border-radius:999px;
background:rgba(255,244,207,0.82);
color:#6f4a20;
font-size:11px;
font-weight:900;
}
.story-path-guide-copy p {
  margin:3px 0 0;
color:#435244;
font-size:12px;
line-height:1.35;
}
.story-path-guide-controls {
  display:flex;
flex-wrap:wrap;
gap:7px;
align-items:center;
}
.story-path-nav {
  min-height:36px;
padding:7px 10px;
border:1px solid rgba(33,75,53,0.24);
border-radius:8px;
background:#fffaf0;
color:var(--forest);
font-size:12px;
font-weight:900;
cursor:pointer;
}
.story-path-nav.is-primary {
  border-color:rgba(33,75,53,0.64);
background:var(--forest);
color:#fff8e7;
}
.story-path-nav.is-subtle {
  border-color:rgba(122,79,35,0.18);
background:rgba(255,253,248,0.70);
color:#5f5138;
}
.story-path-nav:disabled {
  cursor:not-allowed;
opacity:0.48;
}
.story-path-step-list {
  grid-column:1 / -1;
display:grid;
grid-auto-flow:column;
grid-auto-columns:minmax(118px, 158px);
gap:7px;
overflow-x:auto;
padding:2px 1px 3px;
overscroll-behavior-x:contain;
}
.story-path-step {
  min-height:48px;
display:grid;
grid-template-columns:28px minmax(0, 1fr);
align-items:center;
gap:7px;
padding:7px;
border:1px solid rgba(39,78,55,0.16);
border-radius:8px;
background:rgba(255,253,248,0.88);
color:var(--ink);
text-align:left;
cursor:pointer;
}
.story-path-step span {
  width:28px;
height:28px;
display:grid;
place-items:center;
border-radius:50%;
background:rgba(198,151,63,0.22);
color:var(--forest);
font-size:12px;
font-weight:900;
}
.story-path-step strong {
  overflow:hidden;
font-size:11px;
line-height:1.18;
display:-webkit-box;
-webkit-line-clamp:2;
-webkit-box-orient:vertical;
}
.story-path-step.is-active {
  border-color:rgba(198,151,63,0.84);
background:#fff4cf;
box-shadow:0 7px 16px rgba(202,162,74,0.16);
}
.story-path-step.is-active span {
  background:var(--forest);
color:#fff8e7;
}
.story-path-complete {
  grid-column:1 / -1;
display:grid;
gap:8px;
padding:10px;
border:1px solid rgba(198,151,63,0.42);
border-radius:8px;
background:
    linear-gradient(135deg, rgba(255,248,225,0.98), rgba(232,244,230,0.94));
box-shadow:inset 0 1px 0 rgba(255,255,255,0.74);
}
.story-path-complete[hidden] {
  display:none;
}
.story-path-complete > strong {
  color:var(--forest);
font-size:14px;
}
.story-path-complete p {
  margin:0;
color:#435244;
font-size:12px;
line-height:1.4;
}
.story-path-followups {
  display:grid;
grid-template-columns:repeat(3, minmax(0, 1fr));
gap:7px;
}
.story-path-followup {
  min-height:42px;
display:grid;
grid-template-columns:34px minmax(0, 1fr);
align-items:center;
gap:7px;
padding:7px;
border:1px solid rgba(33,75,53,0.18);
border-radius:8px;
background:rgba(255,253,248,0.88);
color:var(--forest);
text-align:left;
cursor:pointer;
}
.story-path-followup span {
  width:32px;
height:32px;
display:grid;
place-items:center;
border-radius:50%;
background:rgba(33,75,53,0.10);
font-size:9px;
font-weight:900;
}
.story-path-followup strong {
  overflow-wrap:anywhere;
font-size:11px;
line-height:1.16;
}
.story-path-followup:hover,
.story-path-followup:focus-visible {
  border-color:rgba(198,151,63,0.76);
background:#fff8e7;
}
.map-panel {
  position:relative;
overflow:hidden;
border:1px solid rgba(255,234,166,0.58);
border-radius:8px;
background:
    linear-gradient(180deg, rgba(255,253,248,0.94), rgba(247,241,226,0.78)),
    rgba(255,253,248,0.56);
box-shadow:
    0 34px 80px rgba(4,12,8,0.34),
    0 0 0 1px rgba(255,250,232,0.34) inset,
    0 1px 0 rgba(255,255,255,0.42) inset;
}
.map-panel::before {
  content:"";
position:absolute;
inset:62px 0 44px;
z-index:460;
pointer-events:none;
background:
    linear-gradient(90deg, rgba(13,37,25,0.13), transparent 17%, transparent 83%, rgba(13,37,25,0.13)),
    linear-gradient(180deg, rgba(255,250,225,0.18), transparent 20%, transparent 76%, rgba(13,37,25,0.12));
mix-blend-mode:multiply;
opacity:0.32;
}
.map-panel[data-zoom-stage="world"] .map-layer-hint {
  background:rgba(24,63,43,0.92);
}
.map-panel[data-zoom-stage="regional"] .map-layer-hint {
  background:rgba(86,98,47,0.92);
}
.map-panel[data-zoom-stage="local"] .map-layer-hint,
.map-panel[data-zoom-stage="close"] .map-layer-hint {
  background:rgba(122,79,35,0.92);
}
.map-panel.is-expanded .route-map {
  min-height:680px;
}
.map-toolbar {
  display:flex;
align-items:center;
justify-content:space-between;
gap:10px;
min-height:62px;
padding:12px 14px 12px 16px;
border-bottom:1px solid rgba(71,38,17,0.34);
color:#fff8e7;
background:
    linear-gradient(180deg, rgba(255,244,191,0.12), rgba(38,19,8,0.10)),
    var(--woodgrain);
box-shadow:0 1px 0 rgba(255,248,213,0.22) inset;
}
.map-toolbar strong {
  color:#fff8e7;
font-size:16px;
text-shadow:0 1px 1px rgba(0,0,0,0.28);
}
.map-toolbar div {
  display:flex;
flex-wrap:wrap;
gap:8px;
justify-content:flex-end;
}
.map-tool-button {
  min-height:40px;
padding:8px 12px;
border:1px solid rgba(255,248,213,0.64);
border-radius:8px;
color:#fff8e7;
background:
    linear-gradient(180deg, rgba(255,250,232,0.18), rgba(255,250,232,0.04)),
    rgba(24,63,43,0.86);
font:inherit;
font-weight:900;
cursor:pointer;
box-shadow:0 8px 18px rgba(12,26,18,0.20);
transition:transform 140ms ease, border-color 140ms ease, background 140ms ease, box-shadow 140ms ease;
}
.map-tool-button:hover,
.map-tool-button:focus-visible {
    transform:translateY(-1px);
border-color:#fff8d5;
background:
      linear-gradient(180deg, rgba(255,250,232,0.24), rgba(255,250,232,0.06)),
    rgba(40,98,70,0.94);
box-shadow:0 10px 24px rgba(12,26,18,0.25);
}
.map-style-select {
  display:none;
min-height:40px;
max-width:180px;
padding:8px 10px;
border:1px dashed rgba(255,248,213,0.72);
border-radius:8px;
color:#fff8e7;
background:
    linear-gradient(180deg, rgba(255,250,232,0.14), rgba(255,250,232,0.04)),
    rgba(28,52,40,0.92);
font:inherit;
font-size:12px;
font-weight:900;
}
.map-style-select.is-visible {
  display:inline-flex;
}
.route-map {
  position:relative;
width:100%;
min-height:500px;
background:
    radial-gradient(circle at 30% 22%, rgba(255,235,161,0.45), transparent 26%),
    linear-gradient(135deg, #dff1d5, #b9dcc1 48%, #9ccfd6);
box-shadow:
    0 0 0 1px rgba(255,248,213,0.20) inset,
    0 22px 54px rgba(8,20,14,0.16) inset;
}
.route-map.is-terrain-view {
  background:
    radial-gradient(circle at 16% 18%, rgba(255,227,128,0.28), transparent 28%),
    radial-gradient(circle at 74% 32%, rgba(91,176,107,0.30), transparent 32%),
    radial-gradient(circle at 52% 78%, rgba(77,174,210,0.26), transparent 34%),
    linear-gradient(135deg, #f7e9a7 0%, #cfe5a0 34%, #8fc57f 64%, #77c3d3 100%);
}
.route-map.is-terrain-view .leaflet-tile-pane {
  filter:brightness(1.1) saturate(1.22) contrast(1.02);
}
.route-map .leaflet-tile {
  transition:opacity 180ms ease, filter 180ms ease;
}
.route-map .leaflet-tile-loaded {
  filter:saturate(1.04);
}
.route-map.is-terrain-view::after {
  content:"";
position:absolute;
inset:0;
z-index:450;
pointer-events:none;
background:
    repeating-radial-gradient(circle at 26% 31%, rgba(42,91,64,0.055) 0 1px, transparent 1px 15px),
    linear-gradient(180deg, rgba(255,247,186,0.14), transparent 30%, rgba(13,37,25,0.08)),
    radial-gradient(circle at 78% 18%, rgba(255,218,76,0.11), transparent 24%),
    radial-gradient(circle at 18% 78%, rgba(42,177,228,0.10), transparent 26%),
    radial-gradient(circle at 50% 50%, transparent 58%, rgba(8,20,14,0.12));
mix-blend-mode:screen;
opacity:0.54;
}
.route-map.is-map-active {
  box-shadow:
    0 0 0 1px rgba(255,248,213,0.38) inset,
    0 0 36px rgba(242,215,121,0.22) inset,
    0 22px 54px rgba(8,20,14,0.16) inset;
}
.route-map::before {
  content:"Tap a marker to open a museum label";
position:absolute;
right:14px;
top:14px;
z-index:470;
max-width:min(260px, calc(100% - 28px));
padding:8px 11px;
border:1px solid rgba(255,248,213,0.58);
border-radius:999px;
color:#fffdf8;
background:rgba(20,48,34,0.78);
box-shadow:0 10px 24px rgba(8,20,14,0.22);
font-size:11px;
font-weight:950;
line-height:1.1;
pointer-events:none;
}
.route-map.is-terrain-view .leaflet-control-attribution {
  background:rgba(255,253,248,0.78);
}
.map-fallback {
  display:grid;
place-items:center;
align-content:center;
gap:8px;
min-height:380px;
padding:24px;
color:var(--muted);
text-align:center;
}
.map-fallback strong {
  color:var(--ink);
font-size:18px;
}
.map-fallback span {
  max-width:420px;
line-height:1.45;
}
.leaflet-container {
  font:inherit;
background:#dbeed2;
cursor:grab;
}
.leaflet-container:active {
  cursor:grabbing;
}
.leaflet-control-zoom {
  overflow:hidden;
border:1px solid rgba(255,248,213,0.72) !important;
border-radius:8px;
box-shadow:0 14px 30px rgba(8,20,14,0.25);
}
.leaflet-control-zoom a {
  width:44px;
height:44px;
line-height:44px;
color:var(--forest);
border-color:rgba(24,63,43,0.12) !important;
background:
    linear-gradient(180deg, rgba(255,253,248,0.98), rgba(245,234,209,0.96));
font-size:24px;
font-weight:900;
transition:transform 130ms ease, color 130ms ease, background 130ms ease;
}
.leaflet-control-zoom a:hover,
.leaflet-control-zoom a:focus-visible {
  transform:scale(1.04);
color:#fff8e7;
background:var(--forest);
}
.leaflet-control-attribution {
  border:1px solid rgba(255,248,213,0.48);
border-radius:8px 0 0 0;
color:rgba(38,58,43,0.86);
font-size:10px;
font-weight:750;
box-shadow:0 -8px 18px rgba(8,20,14,0.10);
}
.leaflet-popup {
  max-width:calc(100vw - 24px);
overflow:visible;
}
.leaflet-popup-content-wrapper {
  width:min(390px, calc(100vw - 28px));
max-width:min(390px, calc(100vw - 28px));
box-sizing:border-box;
border-radius:8px;
overflow:hidden;
border:1px solid rgba(202,162,74,0.38);
overflow-x:hidden;
box-shadow:
    0 18px 38px rgba(23,32,24,0.24),
    0 0 0 1px rgba(255,248,213,0.30);
}
.leaflet-popup-content {
  width:100% !important;
max-width:min(370px, calc(100vw - 48px));
margin:0 !important;
box-sizing:border-box;
min-width:0;
overflow-x:hidden;
color:var(--ink);
font-size:14px;
line-height:1.4;
overflow-wrap:anywhere;
word-break:break-word;
white-space:normal;
}
.leaflet-popup-content *,
.map-popup-plaque *,
.museum-label-card * {
  min-width:0;
max-width:100%;
overflow-wrap:anywhere;
word-break:break-word;
}
.history-map-popup .leaflet-popup-content {
  margin:0;
max-height:min(620px, calc(100vh - 128px));
overflow-y:auto;
overflow-x:hidden;
overscroll-behavior:contain;
}
.map-popup-plaque {
  display:grid;
gap:10px;
width:100%;
inline-size:100%;
min-width:0;
max-width:100%;
max-inline-size:100%;
box-sizing:border-box;
padding:14px;
border-left:6px solid var(--gold);
background:
    linear-gradient(180deg, #fffdf8, #f7efd9),
    radial-gradient(circle at 0% 0%, rgba(242,215,121,0.18), transparent 36%);
overflow-wrap:anywhere;
overflow-x:hidden;
}
.map-popup-photo {
  position:relative;
min-height:132px;
margin:-14px -14px 0 -14px;
background-color:#d7c38c;
background-position:center;
background-size:cover;
border-bottom:1px solid rgba(33,75,53,0.14);
}
.map-popup-photo-placeholder {
  min-height:78px;
background:
    radial-gradient(circle at 24% 28%, rgba(255,232,142,0.72), transparent 30%),
    linear-gradient(135deg, rgba(32,79,56,0.92), rgba(91,61,39,0.82));
}
.map-popup-photo span {
  position:absolute;
right:9px;
bottom:9px;
display:inline-flex;
width:fit-content;
max-width:calc(100% - 18px);
padding:5px 8px;
border:1px solid rgba(255,255,255,0.45);
border-radius:999px;
color:#fffdf8;
background:rgba(18,30,22,0.78);
box-shadow:0 5px 12px rgba(8,20,14,0.22);
font-size:9px;
font-weight:950;
line-height:1.1;
}
.map-popup-plaque * {
  min-width:0;
max-width:100%;
box-sizing:border-box;
overflow-wrap:anywhere;
word-break:break-word;
white-space:normal;
}
.map-popup-topline {
  display:grid;
grid-template-columns:minmax(0, 1fr) minmax(72px, auto);
align-items:center;
gap:8px;
min-width:0;
}
.map-popup-topline span {
  flex:0 0 auto;
min-width:0;
max-width:118px;
padding:3px 7px;
border:1px solid rgba(202,162,74,0.34);
border-radius:999px;
color:var(--forest);
background:rgba(255,248,213,0.70);
font-size:9px;
font-weight:950;
line-height:1.1;
text-align:center;
}
.map-popup-plaque .map-popup-kicker {
  margin:0;
color:var(--forest);
font-size:10px;
font-weight:950;
text-transform:uppercase;
}
.map-popup-plaque strong {
  display:block;
color:var(--ink);
font-size:17px;
line-height:1.14;
overflow-wrap:anywhere;
word-break:break-word;
hyphens:auto;
}
.map-popup-mini-facts {
  display:grid;
gap:6px;
padding:8px;
border:1px solid rgba(33,75,53,0.12);
border-radius:8px;
background:rgba(255,253,248,0.72);
}
.map-popup-mini-facts p {
  display:block;
color:#263a2b;
font-size:11px;
font-weight:800;
line-height:1.32;
}
.map-popup-mini-facts strong {
  display:inline;
color:var(--forest);
font-size:inherit;
font-weight:950;
}
.map-popup-plaque p {
  margin:0;
color:#3d493e;
font-size:12px;
font-weight:750;
line-height:1.38;
}
.map-popup-why {
  padding-bottom:2px;
color:#263a2b;
}
.map-popup-story-badge {
  display:inline-flex;
width:fit-content;
max-width:100%;
padding:4px 8px;
border:1px solid rgba(33,75,53,0.16);
border-radius:999px;
color:#173b28;
background:linear-gradient(180deg, rgba(251,235,168,0.92), rgba(232,196,101,0.72));
font-size:10px;
font-weight:950;
line-height:1.1;
}
.map-popup-label-text {
  display:-webkit-box;
overflow:hidden;
padding:9px 10px;
border:1px solid rgba(202,162,74,0.32);
border-radius:8px;
color:#22372a;
background:
    linear-gradient(180deg, rgba(255,250,237,0.96), rgba(246,236,208,0.9));
box-shadow:inset 0 0 0 1px rgba(255,255,255,0.52);
font-family:Georgia, "Times New Roman", serif;
font-size:12.5px;
font-weight:800;
line-height:1.42;
-webkit-line-clamp:6;
-webkit-box-orient:vertical;
}
.map-popup-plaque span {
  display:block;
padding-top:2px;
color:var(--muted);
font-size:11px;
font-weight:900;
line-height:1.25;
}
.map-popup-topline span {
  display:inline-flex;
}
.map-popup-facts {
  display:flex;
flex-wrap:wrap;
gap:5px;
}
.map-popup-facts span {
  display:inline-flex;
max-width:100%;
min-width:0;
padding:4px 7px;
border:1px solid rgba(33,75,53,0.14);
border-radius:999px;
color:#263a2b;
background:rgba(255,253,248,0.76);
font-size:10px;
font-weight:950;
}
.map-popup-plaque small {
  display:block;
color:var(--muted);
font-size:10px;
font-weight:850;
line-height:1.25;
overflow-wrap:anywhere;
word-break:break-word;
}
.map-popup-actions {
  display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:6px;
min-width:0;
max-width:100%;
}

/* Compact museum label: the map remains visible while a place is being scanned. */
.history-map-popup .leaflet-popup-content { max-height:min(440px, calc(100vh - 96px)); }
.history-map-popup .map-popup-plaque { gap:7px; padding:11px; }
.history-map-popup .map-popup-photo { min-height:92px; margin:-11px -11px 0; }
.history-map-popup .map-popup-photo-placeholder { min-height:54px; }
.history-map-popup .map-popup-label-text { padding:7px 8px; -webkit-line-clamp:4; }
.history-map-popup .map-popup-mini-facts { gap:4px; padding:6px 7px; }
.history-map-popup .map-popup-actions { gap:5px; }
.history-map-popup .map-popup-actions :is(a,button) { min-height:36px; padding:7px 6px; }
.map-popup-action-button,
.map-popup-detail-button,
.map-popup-gallery-button,
.map-popup-source-button {
  display:inline-flex;
align-items:center;
justify-content:center;
width:100%;
max-width:100%;
min-width:0;
min-height:38px;
padding:9px 12px;
border:1px solid rgba(116,82,26,0.28);
border-radius:8px;
color:#1d2f22;
background:linear-gradient(180deg, #f5d36b, #c99635);
box-shadow:0 8px 16px rgba(84,54,12,0.16);
font-family:inherit;
font-size:12px;
font-weight:950;
line-height:1.1;
text-align:center;
text-decoration:none;
white-space:normal;
overflow-wrap:anywhere;
word-break:break-word;
hyphens:auto;
cursor:pointer;
transition:transform 120ms ease, box-shadow 120ms ease, background 120ms ease;
}
.map-popup-action-button {
  border-color:rgba(33,75,53,0.24);
color:#fffdf8;
background:linear-gradient(180deg, #2f6f4d, #183f2b);
box-shadow:0 8px 16px rgba(8,20,14,0.16);
}
.map-popup-detail-button {
  color:#fffdf8;
background:linear-gradient(180deg, #5f3518, #2b180c);
box-shadow:0 10px 18px rgba(49,27,12,0.22);
}
.map-popup-gallery-button {
  border-color:rgba(242,215,121,0.46);
color:#183f2b;
background:linear-gradient(180deg, #fff8d8, #e0bc53);
box-shadow:0 10px 18px rgba(84,54,12,0.18);
}
.map-popup-action-button:hover,
.map-popup-action-button:focus-visible,
.map-popup-detail-button:hover,
.map-popup-detail-button:focus-visible,
.map-popup-gallery-button:hover,
.map-popup-gallery-button:focus-visible,
.map-popup-source-button:hover,
.map-popup-source-button:focus-visible {
  transform:translateY(-1px);
color:#122016;
background:linear-gradient(180deg, #ffe084, #d9a33d);
outline:2px solid rgba(202,162,74,0.35);
outline-offset:2px;
}
.premium-route-glow {
  filter:drop-shadow(0 0 8px rgba(242,215,121,0.58));
stroke-linecap:round;
stroke-linejoin:round;
}
.premium-route-line {
  filter:drop-shadow(0 3px 4px rgba(8,20,14,0.34));
stroke-linecap:round;
stroke-linejoin:round;
}
.leaflet-interactive.history-marker {
  cursor:pointer;
filter:drop-shadow(0 5px 9px rgba(8,20,14,0.30));
transition:filter 140ms ease, opacity 140ms ease, stroke-width 140ms ease;
}
.leaflet-interactive.history-marker:hover,
.leaflet-interactive.history-marker:focus {
  filter:drop-shadow(0 8px 14px rgba(8,20,14,0.38)) drop-shadow(0 0 7px rgba(242,215,121,0.62));
stroke-width:4;
}
.leaflet-interactive.history-marker.is-major {
  filter:drop-shadow(0 6px 12px rgba(8,20,14,0.34)) drop-shadow(0 0 6px rgba(202,162,74,0.42));
}
.leaflet-interactive.history-marker.is-local-depth {
  filter:drop-shadow(0 4px 8px rgba(8,20,14,0.24));
}
.leaflet-interactive.history-marker.is-selected {
  filter:drop-shadow(0 9px 16px rgba(8,20,14,0.42)) drop-shadow(0 0 12px rgba(242,215,121,0.72));
stroke-width:4;
}
.leaflet-interactive.history-marker.is-muted {
  filter:saturate(0.65) drop-shadow(0 3px 6px rgba(8,20,14,0.18));
}
.history-marker {
  position:relative;
display:grid;
place-items:center;
width:34px;
height:34px;
padding:0;
border:3px solid #fff;
border-radius:50%;
color:var(--marker-ink, #1e3428);
background:
    radial-gradient(circle at 35% 26%, rgba(255,255,255,0.36), transparent 24%),
    linear-gradient(135deg, var(--marker-accent, var(--gold-2)) 0 18%, var(--marker-base, var(--gold)) 38% 100%);
box-shadow:
    0 8px 18px rgba(23,32,24,0.22),
    0 0 0 1px rgba(255,248,213,0.40) inset;
font:inherit;
cursor:pointer;
touch-action:manipulation;
appearance:none;
animation:markerFadeIn 170ms ease-out both;
transition:opacity 140ms ease, transform 140ms ease, filter 140ms ease, box-shadow 140ms ease;
}
.history-marker::after {
  content:"";
position:absolute;
right:3px;
bottom:-4px;
width:9px;
height:9px;
border-right:2px solid rgba(255,255,255,0.9);
border-bottom:2px solid rgba(255,255,255,0.9);
border-radius:0 0 8px 0;
background:var(--marker-base, var(--gold));
transform:rotate(45deg);
box-shadow:2px 2px 5px rgba(8,20,14,0.14);
}
.history-marker-halo {
  position:absolute;
inset:-7px;
border-radius:50%;
border:1px solid rgba(255,248,213,0.68);
box-shadow:0 0 18px rgba(242,215,121,0.34);
opacity:0.46;
pointer-events:none;
}
.history-marker-icon {
  position:relative;
z-index:1;
display:grid;
place-items:center;
width:22px;
height:22px;
border-radius:50%;
color:var(--marker-ink, #1e3428);
background:var(--marker-accent, #fff4be);
font-family:"Segoe UI Emoji", "Apple Color Emoji", "Noto Color Emoji", system-ui, sans-serif;
font-size:16px;
font-weight:950;
line-height:1;
box-shadow:inset 0 0 0 1px rgba(33,75,53,0.18);
}
.history-marker.is-major {
  width:38px;
height:38px;
border-color:#fff8d5;
box-shadow:
    0 0 0 4px rgba(202,162,74,0.22),
    0 12px 24px rgba(23,32,24,0.24),
    0 0 18px rgba(242,215,121,0.22);
}
.history-marker.is-major .history-marker-icon {
  width:24px;
height:24px;
font-size:17px;
}
.history-marker.is-world-preview {
  width:26px;
height:26px;
border-width:2px;
box-shadow:0 6px 14px rgba(23,32,24,0.2);
}
.history-marker.is-world-preview .history-marker-icon {
  width:18px;
height:18px;
font-size:13px;
}
.history-marker.is-local-depth {
  opacity:0.74;
transform:scale(0.9);
}
.history-marker.is-local-depth .history-marker-icon {
  width:20px;
height:20px;
font-size:14px;
}
.history-marker.is-prior-tier {
  opacity:0.6;
filter:saturate(0.72);
}
.history-marker.is-prior-tier .history-marker-icon {
  opacity:0.78;
}
.history-marker.is-selected {
  width:42px;
height:42px;
border-color:#fff8d5;
box-shadow:0 0 0 5px rgba(202,162,74,0.26), 0 12px 24px rgba(23,32,24,0.26), 0 0 24px rgba(242,215,121,0.42);
transform:translateY(-2px) scale(1.05);
}
.history-marker:hover,
.history-marker:focus-visible {
  opacity:1;
transform:translateY(-3px) scale(1.08);
box-shadow:
    0 0 0 5px rgba(242,215,121,0.24),
    0 14px 28px rgba(23,32,24,0.28),
    0 0 22px rgba(242,215,121,0.28);
}
.history-marker.is-selected .history-marker-halo {
  inset:-11px;
border-color:rgba(255,248,213,0.88);
box-shadow:0 0 0 5px rgba(242,215,121,0.16), 0 0 30px rgba(242,215,121,0.56);
opacity:1;
}
.history-marker.is-selected .history-marker-icon {
  width:26px;
height:26px;
font-size:18px;
box-shadow:inset 0 0 0 1px rgba(255,248,213,0.36), 0 0 12px rgba(242,215,121,0.22);
}
.history-marker.is-stamped {
  box-shadow:0 0 0 4px rgba(40,98,70,0.22), 0 12px 24px rgba(23,32,24,0.24);
}
.history-marker.is-trip-stop {
  width:46px;
  height:46px;
  opacity:1;
  transform:none;
  border:3px solid #fff8d5;
  background:linear-gradient(145deg,#173f32,#0b291f);
  box-shadow:0 0 0 4px rgba(202,162,74,.3),0 12px 25px rgba(5,20,15,.36);
}
.history-marker.is-trip-stop .history-marker-icon {
  width:30px;
  height:30px;
  color:#173327;
  background:linear-gradient(145deg,#fff4c7,#e6bc5d);
  font-family:Inter,system-ui,sans-serif;
  font-size:15px;
  font-weight:950;
}
.history-marker.is-trip-stop::after{background:#173f32}
.history-marker.is-trip-stop:hover,.history-marker.is-trip-stop:focus-visible,.history-marker.is-trip-stop.is-selected{
  opacity:1;
  transform:translateY(-3px) scale(1.08);
  box-shadow:0 0 0 6px rgba(230,188,93,.34),0 16px 30px rgba(5,20,15,.4);
}
.history-marker.has-photo {
  box-shadow:
    0 0 0 4px rgba(242,215,121,0.24),
    0 12px 24px rgba(23,32,24,0.24),
    0 0 18px rgba(242,215,121,0.22);
}
.history-marker.has-media .history-marker-halo {
  border-color:rgba(255,248,213,0.92);
box-shadow:
    0 0 0 3px rgba(255,248,213,0.12),
    0 0 24px rgba(242,215,121,0.48);
opacity:0.78;
}
.history-marker.is-muted {
  opacity:0.28;
}
.premium-history-marker:hover,
.premium-history-marker:focus-visible {
  opacity:1;
transform:translateY(-2px) scale(1.08);
filter:drop-shadow(0 9px 15px rgba(8,20,14,0.36));
box-shadow:0 0 0 5px rgba(242,215,121,0.28), 0 14px 28px rgba(23,32,24,0.28);
}
.premium-history-marker.is-muted:hover,
.premium-history-marker.is-muted:focus-visible {
  opacity:0.84;
}
.premium-history-marker.is-prior-tier {
  transform:scale(0.9);
}
.premium-history-marker.is-selected:hover,
.premium-history-marker.is-selected:focus-visible {
  transform:translateY(-3px) scale(1.12);
}
.map-cluster {
  position:relative;
display:grid;
place-items:center;
width:100%;
height:100%;
border:3px solid #fffaf0;
border-radius:50%;
color:#fffaf0;
background:
    radial-gradient(circle at 35% 28%, rgba(255,244,190,0.96) 0 16%, rgba(202,162,74,0.96) 17% 46%, rgba(24,63,43,0.96) 47% 100%);
box-shadow:0 12px 26px rgba(23,32,24,0.24), 0 0 0 5px rgba(202,162,74,0.18);
font:inherit;
cursor:pointer;
animation:markerFadeIn 180ms ease-out both;
transition:transform 150ms ease, box-shadow 150ms ease;
}
.map-cluster::before,
.map-cluster i {
  content:"";
position:absolute;
inset:-8px;
border-radius:50%;
pointer-events:none;
}
.map-cluster::before {
  border:1px solid rgba(255,248,213,0.54);
box-shadow:0 0 18px rgba(242,215,121,0.32);
}
.map-cluster i {
  inset:5px;
background:radial-gradient(circle, rgba(255,255,255,0.24), transparent 62%);
}
.map-cluster:hover {
  transform:scale(1.06);
box-shadow:0 14px 30px rgba(23,32,24,0.28), 0 0 0 6px rgba(202,162,74,0.24);
}
.map-cluster strong,
.map-cluster span {
  position:relative;
z-index:1;
display:block;
line-height:1;
}
.map-cluster strong {
  font-size:16px;
font-weight:950;
}
.map-cluster span {
  margin-top:-2px;
font-size:8px;
font-weight:900;
text-transform:uppercase;
}
.map-tool-button.is-active {
  color:#183f2b;
border-color:rgba(255,248,213,0.95);
background:linear-gradient(180deg, #fff8d5, #d8ac4e);
box-shadow:0 8px 18px rgba(8,20,14,0.18);
}
.map-panel[data-import-layer="verified-test"] .map-layer-hint {
  background:rgba(80,44,94,0.92);
}
@keyframes markerFadeIn {
  from {
    opacity:0;
transform:scale(0.72);
}
  to {
    opacity:1;
transform:scale(1);
}
}
@media (prefers-reduced-motion:reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior:auto !important;
animation-duration:0.001ms !important;
animation-iteration-count:1 !important;
transition-duration:0.001ms !important;
}
}
.history-map-tooltip {
  border:1px solid rgba(42,20,8,0.18);
border-radius:8px;
color:var(--ink);
background:rgba(255,253,248,0.94);
box-shadow:0 8px 18px rgba(8,20,14,0.16);
font-size:12px;
font-weight:800;
}
.history-map-preview-tooltip {
  padding:0;
border:1px solid rgba(255,248,213,0.72);
color:#172018;
background:rgba(255,253,248,0.98);
box-shadow:0 18px 40px rgba(8,20,14,0.24), 0 0 0 1px rgba(24,63,43,0.08) inset;
max-width:min(280px, calc(100vw - 40px));
white-space:normal !important;
}
.history-map-preview-tooltip.is-selected-preview {
  border-color:rgba(242,215,121,0.95);
box-shadow:0 20px 46px rgba(8,20,14,0.28), 0 0 0 3px rgba(242,215,121,0.18);
}
.history-map-preview-tooltip::before {
  border-top-color:rgba(255,253,248,0.98);
}
.map-preview-card {
  display:grid;
gap:5px;
width:min(260px, 72vw);
max-width:100%;
min-width:0;
padding:11px 12px 12px;
overflow-wrap:anywhere;
white-space:normal;
}
.map-preview-card * {
  min-width:0;
  max-width:100%;
  overflow-wrap:anywhere;
  white-space:normal;
}
.map-preview-top {
  display:flex;
align-items:center;
gap:7px;
}
.map-preview-symbol {
  display:grid;
place-items:center;
width:28px;
height:28px;
border-radius:50%;
background:#f5ead1;
box-shadow:inset 0 0 0 1px rgba(24,63,43,0.12);
font-size:16px;
}
.map-preview-type {
  color:var(--forest);
font-size:10px;
font-weight:950;
letter-spacing:0.04em;
text-transform:uppercase;
}
.map-preview-card strong {
  color:var(--ink);
font-size:14px;
line-height:1.14;
overflow-wrap:anywhere;
}
.map-preview-card p {
  margin:0;
color:#4f5b52;
font-size:12px;
font-weight:700;
line-height:1.35;
overflow-wrap:anywhere;
}
.map-preview-meta {
  overflow-wrap:anywhere;
color:#6f5a35;
font-size:11px;
font-weight:950;
}
.city-marker {
  display:grid;
place-items:center;
width:34px;
height:34px;
border:3px solid #fff;
border-radius:50%;
color:#fff;
background:
    radial-gradient(circle at 35% 28%, rgba(255,248,213,0.30), transparent 30%),
    linear-gradient(135deg, var(--forest), var(--forest-2));
box-shadow:0 8px 18px rgba(23,32,24,0.22), 0 0 0 4px rgba(202,162,74,0.16);
font-size:13px;
font-weight:900;
}
.leaflet-tooltip.city-label {
  border:0;
border-radius:8px;
color:#fff;
background:var(--forest);
box-shadow:0 8px 18px rgba(23,32,24,0.14);
font-weight:800;
}
.leaflet-tooltip.city-label::before {
  display:none;
}
.route-build-progress {
  position:absolute;
  z-index:650;
  left:50%;
  bottom:78px;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  width:min(520px,calc(100% - 28px));
  padding:11px 12px;
  border:1px solid rgba(205,164,76,.72);
  border-radius:8px;
  background:rgba(19,24,20,.95);
  color:#fff5d9;
  box-shadow:0 12px 30px rgba(0,0,0,.3);
  transform:translateX(-50%);
  backdrop-filter:blur(8px);
}
.route-build-progress[hidden] { display:none; }
.route-build-progress strong,.route-build-progress small { display:block; letter-spacing:0; }
.route-build-progress strong { font-size:14px; }
.route-build-progress small { margin-top:2px; color:#e4d6ae; font-size:11px; line-height:1.3; }
.route-build-progress button { min-height:38px; padding:7px 10px; border:1px solid #cda44c; border-radius:6px; color:#fff5d9; background:transparent; font-weight:800; }
.route-build-spinner { width:18px; height:18px; border:2px solid rgba(255,245,217,.28); border-top-color:#e4b85b; border-radius:50%; animation:route-build-spin .8s linear infinite; }
@keyframes route-build-spin { to { transform:rotate(360deg); } }
@media (prefers-reduced-motion:reduce) { .route-build-spinner { animation:none; border-color:#e4b85b; } }

@media (max-width:640px) {
  .route-build-progress { bottom:64px; grid-template-columns:auto minmax(0,1fr); }
  .route-build-progress button { grid-column:1 / -1; width:100%; }
}

.map-legend {
  display:flex;
flex-wrap:wrap;
align-items:center;
gap:12px;
padding:12px 16px;
color:var(--muted);
border-top:1px solid rgba(71,38,17,0.18);
background:
    linear-gradient(180deg, rgba(255,253,248,0.96), rgba(247,241,226,0.94));
font-size:13px;
box-shadow:0 -1px 0 rgba(255,255,255,0.58) inset;
}
.map-click-hint {
  margin-left:auto;
color:var(--ink);
font-weight:900;
}
.map-layer-hint {
  display:inline-flex;
align-items:center;
min-height:28px;
padding:5px 9px;
border:1px solid rgba(202,162,74,0.34);
border-radius:999px;
color:var(--forest);
background:rgba(245,234,209,0.74);
font-size:12px;
font-weight:950;
box-shadow:inset 0 0 0 1px rgba(255,253,248,0.56);
}
.dot {
  display:inline-block;
width:10px;
height:10px;
margin-right:6px;
border-radius:50%;
}
.dot-marker {
  background:var(--gold);
}
.dot-saved {
  background:var(--forest-2);
}
.dot-selected {
  background:var(--clay);
}
.timeline-panel {
  position:relative;
display:block;
overflow:hidden;
align-self:start;
}
.timeline-panel summary {
  display:flex;
gap:12px;
justify-content:space-between;
color:#fff8e7;
border-bottom:1px solid rgba(71,38,17,0.34);
background:var(--woodgrain);
text-shadow:0 1px 1px rgba(0,0,0,0.28);
}
.timeline-panel > .timeline-list {
  margin:0 12px 12px;
}
.timeline-panel summary span:last-child {
  color:rgba(255,248,231,0.84);
font-size:13px;
font-weight:800;
}
.timeline-list {
  display:grid;
grid-auto-flow:column;
grid-auto-columns:minmax(132px, 170px);
gap:10px;
overflow-x:auto;
padding-bottom:2px;
}
.timeline-list p {
  color:var(--muted);
font-size:13px;
}
.timeline-item {
  display:grid;
gap:5px;
min-height:66px;
padding:10px;
border:1px solid var(--line);
border-radius:8px;
color:var(--ink);
background:#fffdf8;
box-shadow:0 6px 16px rgba(31,43,35,0.05);
text-align:left;
}
.timeline-item span {
  color:var(--muted);
font-size:12px;
font-weight:900;
}
.timeline-item strong {
  overflow-wrap:anywhere;
font-size:13px;
line-height:1.25;
}
.timeline-item.is-selected {
  border-color:var(--gold);
box-shadow:0 8px 24px rgba(202,162,74,0.16);
}
.timeline-item.is-planned {
  background:#f7f0d9;
}
.timeline-item.is-stamped {
  color:#fff;
border-color:var(--forest-2);
background:var(--forest-2);
}
.timeline-item.is-stamped span {
  color:rgba(255,255,255,0.76);
}
.content-grid {
  display:grid;
grid-template-columns:minmax(0, 1fr) 380px;
gap:18px;
min-height:0;
}
.results-column,
.detail-panel {
  min-width:0;
}

/* Calm place reader: one reading decision at a time. */
.place-card-disclosure {
  margin:0 16px;
  border:1px solid rgba(33,75,53,.18);
  border-radius:10px;
  background:#fffdf8;
  overflow:hidden;
}
.place-card-disclosure > summary,
.place-learning-group > summary {
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:52px;
  padding:13px 15px;
  color:#183f2b;
  background:#f5edda;
  font-weight:950;
  cursor:pointer;
  list-style:none;
}
.place-card-disclosure > summary::after,
.place-learning-group > summary::after { content:"+"; font-size:20px; line-height:1; }
.place-card-disclosure[open] > summary::after,
.place-learning-group[open] > summary::after { content:"−"; }
.place-card-learning[open] { padding-bottom:10px; }
.place-learning-group {
  margin:10px 12px 0;
  border:1px solid rgba(33,75,53,.14);
  border-radius:8px;
  background:#fffaf0;
  overflow:hidden;
}
.place-learning-group > summary { min-height:48px; padding:11px 13px; background:#fffaf0; }
.place-learning-group > :not(summary) { margin:10px 12px; }
.place-card-learning > :is(.memory-line,.learning-question,.story-beats,.learning-snapshot) { margin:12px; }
.place-card-learning .education-layer-grid { grid-template-columns:1fr; }
.place-card-learning .connected-history-lane > div { grid-template-columns:1fr; }
.place-card-learning .explore-next-list { max-height:360px; overflow:auto; }
.detail-panel .place-primary-actions { grid-template-columns:repeat(3,minmax(0,1fr)); }
.detail-panel .place-primary-actions #addTripButton,
.detail-panel .place-primary-actions #sharePlaceButton { display:none; }
.detail-panel .photo-strip { min-height:118px; }
.detail-panel .museum-label-card { box-shadow:none; }
.detail-panel .detail-hero-card { box-shadow:none; }

/* The customer reader does not show internal learning scaffolding or repeated summaries. */
.detail-panel .memory-line,
.detail-panel .learning-question,
.detail-panel .story-beats,
.detail-panel .learning-snapshot > div:nth-child(2),
.detail-panel .learning-snapshot > div:nth-child(3) {
  display:none !important;
}
.detail-panel .learning-snapshot {
  grid-template-columns:1fr;
}

/* Reader contrast guarantee: plaque text always remains readable on parchment. */
.detail-panel .marker-reader,
.detail-panel .marker-reader p,
.detail-panel .marker-reader .source-note {
  color:#35281d !important;
}
.results-column {
  position:relative;
overflow:hidden;
align-self:start;
border:1px solid rgba(228,200,120,0.34);
border-radius:8px;
background:
    linear-gradient(180deg, rgba(255,253,248,0.86), rgba(247,241,226,0.72)),
    rgba(255,253,248,0.56);
box-shadow:var(--soft-shadow);
}
.results-column > .section-heading {
  min-height:62px;
padding:12px 14px 12px 16px;
border-bottom:1px solid rgba(71,38,17,0.34);
color:#fff8e7;
background:var(--woodgrain);
}
.results-column > .section-heading h2 {
  color:#fff8e7;
text-shadow:0 1px 1px rgba(0,0,0,0.28);
}
.stop-list {
  display:grid;
gap:12px;
padding:14px;
}
.stop-list[hidden],
.story-path-grid[hidden] {
  display:none;
}
.results-panel-toggle {
  margin:12px 14px 0;
width:calc(100% - 28px);
}
.mobile-results-toggle {
  display:block;
width:calc(100% - 28px);
min-height:44px;
margin:12px 14px 0;
border:1px solid rgba(202,162,74,0.42);
border-radius:8px;
color:#183f2b;
background:
    linear-gradient(180deg, #fff9df, #f0dc9c);
font-weight:950;
box-shadow:0 8px 18px rgba(31,43,35,0.09);
cursor:pointer;
}
.mobile-results-toggle:hover,
.mobile-results-toggle:focus-visible {
  border-color:rgba(33,75,53,0.34);
box-shadow:0 10px 22px rgba(31,43,35,0.13);
}
.mobile-results-toggle[hidden] {
  display:none;
}
.story-path-actions .mobile-results-toggle {
  width:100%;
margin:0;
}
.mobile-results-note {
  margin:0;
padding:10px 12px;
border:1px solid rgba(202,162,74,0.28);
border-radius:8px;
color:#31513d;
background:#fff7df;
font-size:13px;
font-weight:800;
line-height:1.35;
}
.stop-card {
  --card-base:#183f2b;
--card-accent:#f2d779;
--card-ink:#fff8d5;
position:relative;
display:grid;
grid-template-columns:minmax(0, 1fr) auto;
gap:14px;
min-height:116px;
padding:15px;
border:1px solid var(--line);
border-radius:8px;
background:#fffdf8;
box-shadow:0 7px 18px rgba(31,43,35,0.06);
cursor:pointer;
transition:transform 120ms ease, border-color 120ms ease, box-shadow 120ms ease;
}
.stop-card::after {
  content:"";
position:absolute;
top:0;
bottom:0;
left:0;
width:5px;
border-radius:8px 0 0 8px;
background:linear-gradient(180deg, var(--card-accent), var(--card-base));
}
.stop-card-main {
  display:grid;
grid-template-columns:46px minmax(0, 1fr);
gap:12px;
min-width:0;
}
.stop-card-symbol {
  display:grid;
place-items:center;
width:46px;
height:46px;
border:1px solid color-mix(in srgb, var(--card-base) 22%, transparent);
border-radius:50%;
color:var(--card-ink);
background:
    radial-gradient(circle at 30% 22%, rgba(255,255,255,0.42), transparent 32%),
    linear-gradient(145deg, var(--card-base), color-mix(in srgb, var(--card-base) 72%, #111 28%));
box-shadow:0 8px 18px rgba(31,43,35,0.13);
font-size:22px;
}
.stop-card-copy {
  min-width:0;
}
.stop-card[draggable="true"] {
  user-select:none;
}
.stop-card.is-selected {
  border-color:var(--gold);
background:
    linear-gradient(90deg, rgba(202,162,74,0.14), transparent 36%),
    #fffdf8;
box-shadow:0 10px 30px rgba(202,162,74,0.16);
}
.stop-card.has-verified-photo {
  border-color:rgba(202,162,74,0.42);
background:
    linear-gradient(90deg, rgba(242,215,121,0.20), transparent 42%),
    radial-gradient(circle at 96% 14%, rgba(202,162,74,0.18), transparent 24%),
    #fffdf8;
}
.stop-card.has-verified-photo::before {
  content:"Photo ready";
grid-column:1 / -1;
width:max-content;
padding:4px 8px;
border:1px solid rgba(202,162,74,0.42);
border-radius:999px;
color:#183f2b;
background:#fff3c4;
font-size:11px;
font-weight:950;
}
.stop-card.is-selected::before {
  content:"Open now";
grid-column:1 / -1;
width:max-content;
padding:4px 8px;
border-radius:999px;
color:#fffaf0;
background:var(--forest);
font-size:11px;
font-weight:900;
}
.stop-card:hover {
  transform:translateY(-1px);
border-color:rgba(24,63,43,0.28);
box-shadow:0 12px 26px rgba(31,43,35,0.1);
}
.stop-card h3 {
  margin:0 0 7px;
font-size:18px;
}
.stop-card p {
  color:var(--muted);
line-height:1.45;
}
.tag-row {
  display:flex;
flex-wrap:wrap;
gap:7px;
margin-top:12px;
}
.tag {
  padding:5px 9px;
border-radius:999px;
color:#253832;
background:#f0eadc;
font-size:13px;
font-weight:800;
}
.tag-chapter {
  color:#fffaf0;
background:var(--forest);
}
.tag-strong {
  color:#fff;
background:var(--forest);
}
.tag-photo {
  color:#183f2b;
border:1px solid rgba(202,162,74,0.42);
background:
    linear-gradient(135deg, #fff8cf, #f2d779);
box-shadow:inset 0 0 0 1px rgba(255,255,255,0.54);
}
.tag-premier {
  color:#fffaf0;
background:linear-gradient(135deg, #214b35, #c6973f);
}
.tag-worth {
  color:#214b35;
background:#e8f2dc;
}
.tag-review {
  color:#fffaf0;
background:#8f5d4b;
}
.score-pill {
  display:grid;
place-items:center;
width:70px;
height:58px;
border-radius:8px;
border:2px solid rgba(255,248,213,0.68);
color:#fff;
background:linear-gradient(135deg, var(--card-base), color-mix(in srgb, var(--card-base) 76%, #111 24%));
font-size:15px;
font-weight:900;
box-shadow:0 8px 18px rgba(24,63,43,0.22);
}
.results-tools {
  display:flex;
align-items:center;
gap:8px;
}
.compact-button {
  min-height:44px;
padding:0 12px;
white-space:nowrap;
}
.detail-panel {
  align-self:start;
position:sticky;
top:24px;
scroll-margin-top:14px;
display:grid;
gap:10px;
max-height:calc(100vh - 48px);
overflow-y:auto;
overflow-x:hidden;
overscroll-behavior:contain;
scrollbar-gutter:stable;
scrollbar-color:rgba(202,162,74,0.72) rgba(255,253,248,0.42);
scroll-margin-top:16px;
padding:0 0 14px;
border:1px solid rgba(228,200,120,0.34);
border-radius:8px;
background:
    linear-gradient(180deg, rgba(255,253,248,0.98), rgba(247,241,226,0.90)),
    radial-gradient(circle at 18% 0%, rgba(242,215,121,0.20), transparent 35%),
    rgba(255,253,248,0.72);
box-shadow:
    var(--shadow),
    inset 0 1px 0 rgba(255,255,255,0.78);
}
.detail-panel::-webkit-scrollbar {
  width:10px;
}
.detail-panel::-webkit-scrollbar-track {
  background:rgba(255,253,248,0.42);
}
.detail-panel::-webkit-scrollbar-thumb {
  border:3px solid rgba(255,253,248,0.74);
border-radius:999px;
background:rgba(202,162,74,0.78);
}
.detail-panel *,
.museum-label-card *,
.detail-hero-card *,
.education-layers-card *,
.explore-card *,
.marker-reader *,
.trust-check * {
  min-width:0;
max-width:100%;
box-sizing:border-box;
overflow-wrap:anywhere;
}
.photo-strip {
  --visual-base:#183f2b;
--visual-accent:#f2d779;
--visual-ink:#fff8d5;
position:relative;
display:grid;
align-content:space-between;
min-height:148px;
padding:15px;
overflow:hidden;
border-radius:0;
border-bottom:1px solid rgba(75,43,22,0.22);
background:
    radial-gradient(circle at 15% 12%, color-mix(in srgb, var(--visual-accent) 72%, transparent), transparent 25%),
    radial-gradient(circle at 88% 18%, rgba(255,255,255,0.20), transparent 20%),
    linear-gradient(135deg, color-mix(in srgb, var(--visual-base) 88%, #111 12%), var(--visual-base) 48%, color-mix(in srgb, var(--visual-base) 62%, #1a1020 38%));
box-shadow:
    inset 0 0 0 1px rgba(255,255,255,0.38),
    inset 0 -42px 80px rgba(0,0,0,0.18);
}
.photo-strip::before {
  content:"";
position:absolute;
inset:0;
background:
    linear-gradient(90deg, rgba(255,255,255,0.08) 0 1px, transparent 1px 28px),
    linear-gradient(0deg, rgba(255,255,255,0.06) 0 1px, transparent 1px 28px);
mask-image:linear-gradient(135deg, rgba(0,0,0,0.78), transparent 76%);
pointer-events:none;
}
.photo-strip::after {
  content:"";
position:absolute;
right:-38px;
bottom:-48px;
width:180px;
height:180px;
border:1px solid rgba(255,255,255,0.28);
border-radius:50%;
background:radial-gradient(circle, rgba(255,255,255,0.12), transparent 66%);
pointer-events:none;
}
.photo-strip[data-visual-state="photo"] {
  min-height:198px;
background-position:center;
background-size:cover;
}
.photo-strip[data-visual-state="photo"]::before {
  background:
    linear-gradient(180deg, rgba(0,0,0,0.08), rgba(0,0,0,0.22)),
    linear-gradient(90deg, rgba(255,255,255,0.06) 0 1px, transparent 1px 34px),
    linear-gradient(0deg, rgba(255,255,255,0.04) 0 1px, transparent 1px 34px);
mask-image:none;
}
.photo-identity {
  position:relative;
z-index:1;
display:grid;
grid-template-columns:58px minmax(0, 1fr);
align-items:center;
gap:12px;
}
.photo-symbol {
  display:grid;
place-items:center;
width:58px;
height:58px;
border:1px solid color-mix(in srgb, var(--visual-accent) 68%, white 20%);
border-radius:50%;
color:var(--visual-ink);
background:
    linear-gradient(145deg, rgba(255,255,255,0.22), rgba(255,255,255,0.04)),
    color-mix(in srgb, var(--visual-accent) 24%, transparent);
box-shadow:
    0 12px 26px rgba(0,0,0,0.20),
    inset 0 0 0 4px rgba(255,255,255,0.06);
font-size:28px;
}
.photo-identity div {
  min-width:0;
}
.photo-kicker,
.photo-proof-strip span {
  color:color-mix(in srgb, var(--visual-accent) 82%, white 18%);
font-size:11px;
font-weight:950;
text-transform:uppercase;
}
.photo-identity strong {
  display:block;
margin-top:4px;
color:#fffdf5;
font-size:21px;
line-height:1.1;
}
.photo-identity small {
  display:block;
margin-top:7px;
color:rgba(255,253,245,0.78);
font-size:12px;
font-weight:800;
}
.photo-proof-strip {
  position:relative;
z-index:1;
display:flex;
flex-wrap:wrap;
gap:8px;
margin-top:18px;
}
.photo-proof-strip span {
  padding:6px 9px;
border:1px solid rgba(255,255,255,0.30);
border-radius:999px;
color:#fffaf0;
background:rgba(0,0,0,0.18);
backdrop-filter:blur(8px);
}
.place-media-card {
  border:1px solid rgba(202,162,74,0.42);
border-radius:8px;
background:
    linear-gradient(180deg, rgba(255,253,248,0.98), rgba(246,238,217,0.96));
box-shadow:
    0 12px 24px rgba(31,43,35,0.10),
    inset 0 1px 0 rgba(255,255,255,0.72);
overflow:hidden;
}
.place-media-card.has-media-ready {
  border-color:rgba(33,75,53,0.28);
box-shadow:
    0 16px 30px rgba(31,43,35,0.13),
    0 0 0 1px rgba(242,215,121,0.20),
    inset 0 1px 0 rgba(255,255,255,0.72);
}
.place-media-card summary {
  display:grid;
grid-template-columns:minmax(0, 1fr) auto 18px;
align-items:center;
gap:8px;
min-height:52px;
padding:0 13px;
color:var(--forest);
cursor:pointer;
list-style:none;
background:
    linear-gradient(180deg, rgba(255,253,248,0.84), rgba(248,238,210,0.58));
}
.place-media-card summary::-webkit-details-marker {
  display:none;
}
.place-media-card summary::after {
  content:"+";
color:var(--gold-dark);
font-size:20px;
font-weight:950;
text-align:right;
}
.place-media-card.has-media-ready summary::after {
  content:"View";
min-width:42px;
padding:5px 8px;
border-radius:999px;
color:#fffdf8;
background:var(--forest);
font-size:10px;
line-height:1;
text-align:center;
}
.place-media-card[open] summary::after {
  content:"-";
}
.place-media-card.has-media-ready[open] summary::after {
  content:"Open";
background:linear-gradient(180deg, #f2d779, #c99635);
color:#183f2b;
}
.place-media-card summary span,
.place-media-card summary strong {
  min-width:0;
}
.place-media-card summary span {
  font-size:14px;
font-weight:950;
}
.place-media-card summary strong {
  padding:5px 8px;
border:1px solid rgba(33,75,53,0.12);
border-radius:999px;
color:#263a2b;
background:rgba(255,253,248,0.72);
font-size:10px;
font-weight:950;
line-height:1.1;
text-align:center;
}
.place-media-body {
  display:grid;
gap:11px;
padding:0 13px 13px;
}
.place-media-preview {
  position:relative;
display:grid;
place-items:center;
align-content:center;
gap:10px;
min-height:128px;
border:1px solid rgba(33,75,53,0.12);
border-radius:8px;
color:#fffdf8;
background:
    radial-gradient(circle at 18% 18%, rgba(255,248,213,0.22), transparent 30%),
    linear-gradient(135deg, #214b35, #4d8392);
background-position:center;
background-size:cover;
overflow:hidden;
}
.place-media-preview > span {
  padding:6px 10px;
border:1px solid rgba(255,255,255,0.42);
border-radius:999px;
background:rgba(13,24,17,0.72);
font-size:11px;
font-weight:950;
}
.place-media-preview .place-media-symbol {
  display:grid;
place-items:center;
width:54px;
height:54px;
padding:0;
color:#183f2b;
background:#fff4be;
font-size:25px;
}
.place-media-preview strong {
  color:#fffdf8;
font-size:13px;
text-shadow:0 2px 8px rgba(8,20,14,0.32);
}
.place-media-primary-link {
  position:relative;
z-index:1;
display:inline-flex;
align-items:center;
justify-content:center;
width:min(92%, 260px);
min-height:42px;
padding:10px 12px;
border:1px solid rgba(255,248,213,0.64);
border-radius:999px;
color:#183f2b;
background:linear-gradient(180deg, #fff8d8, #e9c45c);
box-shadow:0 10px 22px rgba(8,20,14,0.24);
font-family:inherit;
font-size:12px;
font-weight:950;
line-height:1.12;
text-align:center;
text-decoration:none;
cursor:pointer;
}
.place-media-primary-link:hover,
.place-media-primary-link:focus-visible {
  color:#122016;
background:linear-gradient(180deg, #fffbe8, #f2d779);
transform:translateY(-1px);
}
.place-media-copy {
  display:grid;
gap:4px;
}
.place-media-copy h3,
.place-media-copy p {
  margin:0;
}
.place-media-copy h3 {
  color:var(--forest);
font-size:14px;
line-height:1.2;
}
.place-media-copy p {
  color:#314336;
font-size:12px;
font-weight:750;
line-height:1.35;
}
.place-media-actions {
  display:grid;
gap:7px;
}
.media-gallery-button {
  display:inline-flex;
align-items:center;
justify-content:center;
min-height:44px;
padding:11px 12px;
border:1px solid rgba(33,75,53,0.28);
border-radius:8px;
color:#fffdf8;
background:linear-gradient(180deg, #2f6f4d, #183f2b);
box-shadow:0 10px 20px rgba(8,20,14,0.14);
font-weight:950;
line-height:1.12;
}
.media-gallery-button:hover,
.media-gallery-button:focus-visible {
  transform:translateY(-1px);
border-color:rgba(202,162,74,0.58);
background:linear-gradient(180deg, #377c57, #183f2b);
}
.media-gallery-button:disabled {
  color:rgba(49,67,54,0.58);
background:rgba(255,253,248,0.52);
box-shadow:none;
}
.media-action-link {
  display:flex;
align-items:center;
justify-content:center;
min-height:42px;
padding:10px 11px;
border:1px solid rgba(33,75,53,0.16);
border-radius:8px;
color:#183f2b;
background:rgba(255,253,248,0.86);
font-size:12px;
font-weight:950;
line-height:1.15;
text-align:center;
text-decoration:none;
transition:transform 120ms ease, border-color 120ms ease, background 120ms ease, box-shadow 120ms ease;
}
.media-action-link.is-visible:first-child {
  border-color:rgba(202,162,74,0.46);
background:linear-gradient(180deg, #fff8d8, #efd47d);
}
.media-action-link.is-visible:hover,
.media-action-link.is-visible:focus-visible {
  transform:translateY(-1px);
border-color:rgba(33,75,53,0.28);
box-shadow:0 8px 18px rgba(31,43,35,0.10);
}
.media-action-link.is-disabled {
  color:rgba(49,67,54,0.58);
background:rgba(255,253,248,0.52);
cursor:default;
}
.detail-panel > :is(.eyebrow,h2,p,.museum-label-card,.place-media-card,.detail-hero-card,.education-layers-card,.quick-place-card,.explore-card,.explore-next-card,.marker-reader,.trust-check,.detail-stats,.detail-actions,.place-more,.source-actions) {
  margin-right:16px;
margin-left:16px;
}
.detail-panel > .eyebrow {
  margin-top:0;
padding-top:4px;
}
.detail-panel > .source-actions {
  margin-bottom:16px;
}
.detail-panel h2 {
  margin-top:0;
padding-bottom:10px;
border-bottom:1px solid rgba(202,162,74,0.28);
color:#172a1d;
font-size:24px;
line-height:1.08;
}
.detail-panel p {
  color:#3d493e;
line-height:1.55;
}
.museum-label-card {
  position:relative;
display:grid;
gap:12px;
padding:17px;
border:1px solid rgba(75,43,22,0.30);
border-left:7px solid var(--gold);
border-radius:8px;
background:
    linear-gradient(180deg, rgba(255,253,246,0.99), rgba(246,236,210,0.96)),
    #fffaf0;
box-shadow:
    0 16px 34px rgba(31,43,35,0.13),
    inset 0 1px 0 rgba(255,255,255,0.78);
}
.museum-label-card::before {
  content:"";
position:absolute;
inset:8px;
border:1px solid rgba(202,162,74,0.20);
border-radius:6px;
pointer-events:none;
}
.museum-label-topline,
.museum-label-facts {
  position:relative;
z-index:1;
display:flex;
flex-wrap:wrap;
align-items:center;
gap:8px;
min-width:0;
}
.museum-label-topline span,
.museum-label-topline strong,
.museum-label-facts span {
  min-width:0;
max-width:100%;
padding:6px 9px;
border-radius:999px;
font-size:11px;
font-weight:950;
line-height:1.15;
overflow-wrap:anywhere;
white-space:normal;
}
.museum-label-topline span {
  color:#fffaf0;
background:var(--forest);
}
.museum-label-topline strong {
  color:#183f2b;
background:#f2d779;
}
.museum-label-card p {
  position:relative;
z-index:1;
margin:0;
color:#22372a;
font-family:Georgia, "Times New Roman", serif;
font-size:18px;
line-height:1.46;
overflow-wrap:anywhere;
word-break:break-word;
}
.museum-label-facts {
  padding-top:2px;
}
.museum-label-facts span {
  border:1px solid rgba(64,92,55,0.16);
color:#405546;
background:rgba(255,253,248,0.82);
}
.detail-hero-card {
  display:grid;
gap:9px;
padding:15px;
border:1px solid rgba(202,162,74,0.32);
border-left:5px solid rgba(33,75,53,0.82);
border-radius:8px;
background:
    linear-gradient(135deg, rgba(255,253,248,0.99), rgba(244,235,209,0.90));
box-shadow:0 12px 26px rgba(31,43,35,0.08);
}
.detail-hero-card h3 {
  margin:0;
color:var(--forest);
font-size:12px;
text-transform:uppercase;
}
.detail-hero-card p {
  margin:0;
color:#2d3e31;
font-size:15.5px;
font-weight:760;
line-height:1.43;
}
.detail-hero-card .memory-line {
  padding:9px 10px;
border:1px solid rgba(202,162,74,0.38);
border-left:4px solid var(--gold);
border-radius:8px;
color:#173a29;
background:linear-gradient(180deg, #fff8d8, #f7edc8);
font-size:13px;
font-weight:950;
line-height:1.34;
}
.detail-hero-card .learning-question {
  padding:10px 11px;
border:1px solid rgba(33,75,53,0.20);
border-radius:8px;
color:#fffaf0;
background:linear-gradient(180deg, #315f44, #183f2b);
font-size:13px;
font-weight:950;
line-height:1.34;
}
.education-layers-card {
  border:1px solid rgba(64,92,55,0.18);
border-radius:8px;
background:rgba(255,253,248,0.88);
box-shadow:0 8px 18px rgba(31,43,35,0.07);
overflow:hidden;
}
.education-layers-card summary {
  display:grid;
grid-template-columns:minmax(0, 1fr) auto;
gap:8px;
align-items:center;
min-height:44px;
padding:10px 12px;
color:#173a29;
background:linear-gradient(180deg, #fff8d8, #f1df9f);
cursor:pointer;
font-weight:950;
}
.education-layers-card summary span,
.education-layers-card summary strong {
  overflow-wrap:anywhere;
}
.education-layers-card summary strong {
  padding:4px 7px;
border-radius:999px;
color:#fffaf0;
background:var(--forest);
font-size:10px;
}
.education-layer-grid {
  display:grid;
gap:8px;
padding:10px;
}
.education-layer-grid div {
  display:grid;
gap:4px;
padding:9px;
border:1px solid rgba(64,92,55,0.13);
border-radius:8px;
background:#fffaf0;
}
.education-layer-grid span {
  color:var(--forest);
font-size:10px;
font-weight:950;
text-transform:uppercase;
}
.education-layer-grid p {
  margin:0;
color:#263a2b;
font-size:12px;
font-weight:780;
line-height:1.36;
overflow-wrap:anywhere;
}
.story-beats {
  display:grid;
gap:7px;
margin:0;
padding:0;
list-style:none;
}
.story-beats li {
  position:relative;
min-width:0;
padding:9px 10px 9px 30px;
border:1px solid rgba(64,92,55,0.14);
border-radius:8px;
color:#213d2b;
background:rgba(255,253,248,0.84);
font-size:12px;
font-weight:850;
line-height:1.34;
overflow-wrap:anywhere;
}
.story-beats li::before {
  content:"";
position:absolute;
left:10px;
top:13px;
width:8px;
height:8px;
border-radius:50%;
background:var(--gold);
box-shadow:0 0 0 3px rgba(202,162,74,0.16);
}
.learning-snapshot {
  display:grid;
grid-template-columns:repeat(3, minmax(0, 1fr));
gap:8px;
margin-top:2px;
}
.learning-snapshot div {
  display:grid;
gap:4px;
min-width:0;
padding:10px;
border:1px solid rgba(64,92,55,0.16);
border-radius:8px;
background:linear-gradient(180deg, rgba(255,253,248,0.92), rgba(245,241,226,0.86));
}
.learning-snapshot span {
  color:var(--muted);
font-size:10px;
font-weight:950;
line-height:1.15;
text-transform:uppercase;
}
.learning-snapshot strong {
  overflow-wrap:anywhere;
color:#203a29;
font-size:12.5px;
font-weight:900;
line-height:1.28;
}
.quick-place-card {
  display:grid;
grid-template-columns:repeat(3, minmax(0, 1fr));
gap:7px;
}
.quick-place-card div {
  display:grid;
gap:4px;
min-width:0;
padding:9px;
border:1px solid rgba(64,92,55,0.16);
border-radius:8px;
background:#fffaf0;
}
.quick-place-card span {
  color:var(--muted);
font-size:11px;
font-weight:900;
text-transform:uppercase;
}
.quick-place-card strong {
  overflow-wrap:anywhere;
color:var(--forest);
font-size:13px;
line-height:1.18;
}
.explore-card {
  display:grid;
gap:12px;
padding:13px;
border:1px solid rgba(202,162,74,0.34);
border-radius:8px;
background:
    linear-gradient(135deg, rgba(255,250,240,0.96), rgba(239,246,235,0.86));
box-shadow:0 10px 22px rgba(31,43,35,0.07);
}
.explore-card-header {
  display:flex;
align-items:center;
justify-content:space-between;
gap:10px;
}
.explore-card h3 {
  margin:0;
color:var(--forest);
font-size:16px;
}
.explore-card-header span {
  max-width:52%;
padding:6px 9px;
border:1px solid rgba(202,162,74,0.42);
border-radius:999px;
color:#183f2b;
background:#fff3c4;
font-size:12px;
font-weight:900;
line-height:1.15;
text-align:right;
}
.explore-card-grid {
  display:grid;
grid-template-columns:1fr 1fr;
gap:8px;
}
.explore-card-grid div {
  display:grid;
gap:5px;
min-width:0;
padding:10px;
border:1px solid rgba(64,92,55,0.14);
border-radius:8px;
background:rgba(255,253,248,0.82);
}
.explore-card-grid span {
  color:var(--muted);
font-size:11px;
font-weight:950;
text-transform:uppercase;
}
.explore-card p {
  margin:0;
color:#314336;
font-size:13px;
font-weight:750;
line-height:1.42;
}
.explore-card .mini-itinerary {
  padding:10px 11px;
border-left:4px solid var(--forest);
border-radius:8px;
background:rgba(255,253,248,0.72);
}
.explore-next-card {
  display:grid;
gap:10px;
padding:13px;
border:1px solid rgba(202,162,74,0.28);
border-radius:8px;
background:
    linear-gradient(135deg, rgba(255,253,248,0.98), rgba(241,232,207,0.94)),
    #fffdf8;
box-shadow:0 10px 22px rgba(31,43,35,0.08);
}
.explore-next-list {
  display:grid;
gap:7px;
}
.explore-next-button {
  display:grid;
grid-template-columns:36px minmax(0, 1fr);
align-items:start;
gap:9px;
width:100%;
min-height:72px;
padding:8px;
border:1px solid rgba(33,75,53,0.12);
border-radius:8px;
color:#213d2b;
background:rgba(255,255,255,0.72);
text-align:left;
cursor:pointer;
transition:transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}
.explore-next-button:hover,
.explore-next-button:focus-visible {
  transform:translateY(-1px);
border-color:rgba(202,162,74,0.48);
box-shadow:0 8px 18px rgba(31,43,35,0.10);
}
.explore-next-symbol {
  display:grid;
place-items:center;
width:36px;
height:36px;
border:1px solid rgba(202,162,74,0.35);
border-radius:50%;
background:#183f2b;
color:#f2d779;
font-size:18px;
}
.explore-next-button strong,
.explore-next-button small,
.explore-next-button em {
  display:block;
min-width:0;
overflow-wrap:anywhere;
}
.museum-label-card .story-path-why {
  display:-webkit-box;
overflow:hidden;
padding:10px;
border:1px solid rgba(33,75,53,0.16);
border-radius:8px;
background:rgba(246,239,218,0.72);
color:#244030;
font-family:inherit;
font-size:13px;
line-height:1.42;
-webkit-line-clamp:4;
-webkit-box-orient:vertical;
}
.museum-label-card .story-path-why[hidden] {
  display:none;
}
.explore-next-button strong {
  font-size:13px;
line-height:1.18;
}
.explore-next-button small {
  margin-top:3px;
color:#61705f;
font-size:11px;
font-weight:850;
}
.explore-next-button em {
  display:-webkit-box;
overflow:hidden;
margin-top:5px;
color:#2f4938;
font-size:11px;
font-style:normal;
font-weight:750;
line-height:1.32;
-webkit-line-clamp:2;
-webkit-box-orient:vertical;
}
.explore-next-empty {
  margin:0;
color:#5d6a5c;
font-size:13px;
font-weight:750;
}
.marker-reader {
  display:grid;
gap:12px;
padding:14px;
border:1px solid rgba(202,162,74,0.48);
border-radius:8px;
color:#fffaf0;
background:
    linear-gradient(90deg, rgba(255,255,255,0.06) 0 1px, transparent 1px 18px),
    linear-gradient(145deg, rgba(255,255,255,0.09), rgba(0,0,0,0.12)),
    var(--wood-dark);
box-shadow:inset 0 0 0 2px rgba(255,250,240,0.28);
}
.marker-reader .marker-reader-header {
  display:flex;
align-items:center;
justify-content:space-between;
gap:10px;
padding-bottom:8px;
border-bottom:1px solid rgba(255,250,240,0.36);
}
.submit-plaque .marker-reader-header {
  display:flex;
align-items:center;
justify-content:space-between;
gap:10px;
}
.marker-reader h3 {
  margin:0;
color:#fff7df;
font-size:16px;
text-transform:uppercase;
}
.marker-reader .text-button {
  color:#fff7df;
border-color:rgba(255,250,240,0.48);
background:rgba(255,255,255,0.08);
}
.marker-reader p {
  color:#fffaf0;
font-size:15px;
line-height:1.55;
min-width:0;
max-width:100%;
overflow-wrap:anywhere;
word-break:normal;
}
.marker-reader .source-note {
  color:rgba(255,250,240,0.72);
font-size:12px;
font-weight:800;
overflow-wrap:anywhere;
}
.plaque-badges {
  display:flex;
flex-wrap:wrap;
gap:8px;
}
.plaque-badges span {
  padding:6px 9px;
border:1px solid rgba(255,250,240,0.42);
border-radius:999px;
color:#fff7df;
background:rgba(255,255,255,0.08);
font-size:12px;
font-weight:900;
max-width:100%;
overflow-wrap:anywhere;
white-space:normal;
}
.trust-check {
  display:grid;
gap:9px;
padding:12px;
border:1px solid rgba(64,92,55,0.20);
border-radius:8px;
background:
    linear-gradient(180deg, rgba(255,253,248,0.92), rgba(245,234,209,0.72));
box-shadow:0 8px 18px rgba(31,43,35,0.06);
}
.trust-check-header {
  display:flex;
align-items:center;
justify-content:space-between;
gap:10px;
}
.trust-check h3 {
  margin:0;
color:var(--forest);
font-size:15px;
}
.trust-check strong {
  padding:5px 9px;
border-radius:999px;
color:#fffaf0;
background:#69645b;
font-size:12px;
}
.trust-check strong[data-trust-level="high-confidence"] {
  color:#fffaf0;
background:var(--forest);
}
.trust-check strong[data-trust-level="good-starter"] {
  color:var(--forest);
background:var(--gold-2);
}
.trust-check strong[data-trust-level="needs-review"],
.trust-check strong[data-trust-level="low-confidence"] {
  color:#fffaf0;
background:var(--clay);
}
.trust-check p {
  margin:0;
color:#536056;
font-size:13px;
font-weight:750;
line-height:1.4;
overflow-wrap:anywhere;
}
.education-quality-meter {
  display:grid;
gap:7px;
padding:9px;
border:1px solid rgba(64,92,55,0.16);
border-radius:8px;
background:rgba(255,250,240,0.72);
}
.education-quality-meter > div:first-child {
  display:flex;
align-items:center;
justify-content:space-between;
gap:10px;
}
.education-quality-meter span {
  color:#536056;
font-size:12px;
font-weight:900;
}
.education-quality-meter strong {
  color:var(--forest);
background:transparent;
padding:0;
font-size:12px;
text-align:right;
}
.education-quality-meter strong[data-education-quality="gold-lesson"] {
  color:#8a5a00;
}
.education-quality-meter strong[data-education-quality="needs-depth"] {
  color:var(--clay);
}
.education-quality-track {
  width:100%;
height:8px;
overflow:hidden;
border-radius:999px;
background:rgba(64,92,55,0.14);
}
.education-quality-track span {
  display:block;
width:0%;
height:100%;
border-radius:inherit;
background:linear-gradient(90deg, var(--forest), var(--gold-2));
transition:width 180ms ease;
}
.education-quality-meter p {
  font-size:12px;
}
.detail-stats {
  display:grid;
grid-template-columns:repeat(2, 1fr);
gap:8px;
margin:0;
}
.detail-stats div {
  padding:10px;
border-radius:8px;
background:#f8f3e8;
}
.detail-stats dt {
  color:var(--muted);
font-size:12px;
}
.detail-stats dd {
  margin:2px 0 0;
font-weight:900;
overflow-wrap:anywhere;
}
.visit-snapshot {
  display:grid;
gap:10px;
margin:0 16px;
padding:12px;
border:1px solid rgba(64,92,55,0.18);
border-radius:8px;
background:#fffaf0;
}
.visit-snapshot h3 {
  margin:0;
color:var(--forest);
font-size:16px;
}
.visit-snapshot dl {
  display:grid;
gap:8px;
margin:0;
}
.visit-snapshot div {
  display:grid;
gap:2px;
}
.visit-snapshot dt {
  color:var(--muted);
font-size:12px;
font-weight:900;
}
.visit-snapshot dd {
  margin:0;
color:#243528;
font-size:13px;
line-height:1.35;
}
.detail-actions {
  display:grid;
grid-template-columns:1fr 1fr;
gap:8px;
}
.guide-box {
  display:grid;
gap:10px;
padding:12px;
border:1px solid rgba(33,75,53,0.18);
border-radius:8px;
background:linear-gradient(145deg, #fffaf0, #eef3ea);
}
.guide-box h3 {
  margin:0;
color:var(--forest);
font-size:15px;
}
.guide-box p {
  margin:0;
color:#314336;
font-size:14px;
line-height:1.5;
}
.source-actions {
  display:grid;
grid-template-columns:repeat(auto-fit, minmax(160px, 1fr));
gap:8px;
}
.voice-controls {
  display:grid;
gap:10px;
padding:12px;
border:1px solid var(--line);
border-radius:8px;
background:#faf7ed;
}
.voice-controls label {
  font-size:12px;
}
.voice-controls select {
  min-height:42px;
}
.feedback-box {
  display:grid;
gap:10px;
padding:12px;
border:1px solid var(--line);
border-radius:8px;
background:var(--field);
}
.submit-plaque {
  display:grid;
gap:10px;
padding:16px;
border:1px solid rgba(198,155,61,0.38);
border-radius:14px;
background:
  radial-gradient(circle at 100% 0, rgba(224,182,79,0.18), transparent 42%),
  linear-gradient(145deg, #fffdf7, #f2ead7);
box-shadow:0 12px 28px rgba(31,43,35,0.09);
}
.submit-plaque h3 {
  margin:0;
color:var(--forest);
font-size:18px;
line-height:1.15;
}
.submit-plaque-form {
  display:grid;
gap:13px;
padding-top:4px;
}
.submit-plaque p {
  color:var(--muted);
font-size:13px;
line-height:1.45;
}
.contribution-kicker {
  display:block;
  margin-bottom:3px;
  color:var(--clay);
  font-size:10px;
  font-weight:950;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.community-contribution .marker-reader-header > div {
  min-width:0;
}
.community-contribution .submit-plaque-form > label:not(.contribution-consent) {
  display:grid;
  gap:6px;
  color:var(--forest);
  font-size:13px;
  font-weight:900;
}
.community-contribution label > span {
  color:var(--muted);
  font-size:11px;
  font-weight:700;
}
.community-contribution input,
.community-contribution select,
.community-contribution textarea {
  width:100%;
  min-height:44px;
  box-sizing:border-box;
  border:1px solid rgba(33,75,53,.25);
  border-radius:9px;
  background:#fffefb;
  color:#18271d;
  font:inherit;
}
.community-contribution input,
.community-contribution select {
  padding:10px 11px;
}
.community-contribution textarea {
  min-height:124px;
  padding:11px;
  resize:vertical;
}
.community-contribution input:focus,
.community-contribution select:focus,
.community-contribution textarea:focus {
  outline:3px solid rgba(198,155,61,.28);
  border-color:var(--forest);
}
.contribution-file-summary {
  margin-top:-7px;
  color:var(--muted);
  font-size:11px;
  line-height:1.4;
}
.contribution-consent {
  display:grid;
  grid-template-columns:22px minmax(0,1fr);
  gap:8px;
  align-items:start;
  color:#263b2c;
  font-size:12px;
  font-weight:750;
  line-height:1.4;
}
.community-contribution .contribution-consent input {
  width:18px;
  min-height:18px;
  height:18px;
  margin:1px 0 0;
}
.community-contribution .contribution-consent span {
  color:#263b2c;
  font-size:12px;
}
.community-contribution #contributionSubmitButton {
  width:100%;
  min-height:48px;
}
.community-contribution #contributionSubmitButton:disabled {
  cursor:wait;
  opacity:.65;
}
.contribution-status {
  margin:0;
  padding-top:2px;
  font-weight:800;
}
.contribution-honeypot {
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
  clip:rect(0 0 0 0) !important;
  white-space:nowrap !important;
}
.tester-feedback {
  padding:12px;
border:1px solid var(--line);
border-radius:8px;
background:linear-gradient(180deg, #fffdf8, #f7f1e2);
}
.tester-feedback-form {
  display:grid;
gap:10px;
}
.tester-feedback-form label {
  display:grid;
gap:6px;
color:var(--forest);
font-size:13px;
font-weight:900;
}
.tester-feedback-form textarea {
  min-height:116px;
}
.tester-feedback-form .secondary-button,
.tester-feedback-form .text-button {
  width:100%;
}
.tester-checklist {
  border:1px solid rgba(33,75,53,0.14);
border-radius:8px;
background:rgba(255,253,248,0.72);
}
.tester-checklist summary {
  min-height:40px;
padding:10px 11px;
color:var(--forest);
cursor:pointer;
font-size:13px;
font-weight:950;
}
.tester-checklist ol {
  display:grid;
gap:7px;
margin:0;
padding:0 14px 12px 30px;
color:#314336;
font-size:12px;
font-weight:800;
line-height:1.35;
}
#testerFeedbackStatus {
  color:var(--muted);
font-size:13px;
line-height:1.4;
}
.founder-priority-board {
  display:grid;
gap:10px;
padding:12px;
border:1px solid rgba(33,75,53,0.18);
border-radius:8px;
background:linear-gradient(180deg, rgba(255,253,248,0.96), rgba(235,242,231,0.92));
}
.priority-board-grid {
  display:grid;
grid-template-columns:repeat(3, minmax(0, 1fr));
gap:7px;
}
.priority-board-grid div {
  min-width:0;
padding:8px;
border:1px solid rgba(33,75,53,0.13);
border-radius:8px;
background:rgba(255,253,248,0.78);
}
.priority-board-grid strong {
  display:block;
color:var(--forest);
font-size:18px;
line-height:1;
}
.priority-board-grid span {
  display:block;
margin-top:4px;
color:var(--muted);
font-size:10px;
font-weight:900;
line-height:1.15;
}
#priorityBoardSummary {
  margin:0;
color:#314336;
font-size:12px;
font-weight:800;
line-height:1.4;
}
.priority-board-list {
  display:grid;
gap:7px;
margin:0;
padding-left:18px;
color:var(--ink);
font-size:12px;
line-height:1.35;
}
.priority-board-list strong {
  color:var(--forest);
}
.photo-gap-board {
  display:grid;
gap:10px;
padding:12px;
border:1px solid rgba(202,162,74,0.34);
border-radius:8px;
background:
    linear-gradient(135deg, rgba(255,248,216,0.94), rgba(255,253,248,0.96)),
    linear-gradient(90deg, rgba(33,75,53,0.08), transparent);
}
#photoGapSummary {
  margin:0;
color:#314336;
font-size:12px;
font-weight:850;
line-height:1.35;
}
.live-atlas-truth {
  margin:0 16px 16px;
border:1px solid rgba(33,75,53,0.16);
border-radius:8px;
background:
    linear-gradient(180deg, rgba(255,253,248,0.96), rgba(241,232,207,0.90)),
    #fffdf8;
box-shadow:0 10px 20px rgba(31,43,35,0.08);
overflow:hidden;
}
.live-atlas-truth summary {
  display:flex;
align-items:center;
justify-content:space-between;
gap:10px;
min-height:44px;
padding:10px 12px;
color:#183f2b;
cursor:pointer;
list-style:none;
}
.live-atlas-truth summary::-webkit-details-marker {
  display:none;
}
.live-atlas-truth summary span {
  font-size:12px;
font-weight:950;
text-transform:uppercase;
}
.live-atlas-truth summary strong {
  padding:4px 8px;
border-radius:999px;
color:#183f2b;
background:#f2d779;
font-size:12px;
font-weight:950;
}
.live-atlas-grid {
  display:grid;
grid-template-columns:repeat(3, minmax(0, 1fr));
gap:6px;
padding:0 10px 10px;
}
.live-atlas-grid div {
  min-width:0;
padding:8px 7px;
border:1px solid rgba(33,75,53,0.12);
border-radius:8px;
background:rgba(255,253,248,0.76);
text-align:center;
}
.live-atlas-grid strong,
.live-atlas-grid span {
  display:block;
min-width:0;
}
.live-atlas-grid strong {
  color:#183f2b;
font-size:16px;
line-height:1;
}
.live-atlas-grid span {
  margin-top:3px;
color:#61705f;
font-size:10px;
font-weight:850;
line-height:1.12;
}
#liveAtlasSummary {
  margin:0;
padding:0 12px 12px;
color:#4f604f;
font-size:11.5px;
font-weight:800;
line-height:1.34;
}
.photo-gap-list {
  display:grid;
gap:8px;
margin:0;
padding-left:20px;
}
.photo-gap-list li {
  color:var(--forest);
font-size:12px;
line-height:1.35;
}
.photo-gap-list strong,
.photo-gap-list span {
  display:block;
}
.photo-gap-list span {
  margin-top:2px;
color:var(--muted);
font-size:11px;
font-weight:750;
}
.quiz-box {
  display:none;
gap:8px;
padding:12px;
border:1px solid var(--line);
border-radius:8px;
background:#eef3ea;
}
.quiz-box.is-open {
  display:grid;
}
.quiz-box h3 {
  margin:0;
font-size:15px;
}
.quiz-box p {
  color:#3d493e;
font-size:14px;
line-height:1.45;
}
.feedback-box h3 {
  margin:0;
font-size:15px;
}
.feedback-buttons {
  display:grid;
grid-template-columns:repeat(3, 1fr);
gap:8px;
}
.feedback-button {
  min-height:42px;
border:1px solid var(--line);
border-radius:8px;
color:var(--ink);
background:var(--panel);
font-weight:800;
}
.feedback-button.is-active {
  color:#fff;
border-color:var(--forest);
background:var(--forest);
}
.source-link {
  display:none;
min-height:44px;
padding:12px;
border:1px solid rgba(64,92,55,0.26);
border-radius:8px;
color:var(--forest);
background:
    linear-gradient(180deg, #fffdf8, #f5ead1);
text-align:center;
text-decoration:none;
font-weight:900;
box-shadow:0 6px 16px rgba(31,43,35,0.08);
transition:transform 120ms ease, border-color 120ms ease, background 120ms ease, box-shadow 120ms ease;
}
.source-link:hover {
  transform:translateY(-1px);
border-color:rgba(202,162,74,0.7);
background:#fff4d3;
box-shadow:0 10px 20px rgba(31,43,35,0.12);
}
.source-link.is-visible {
  display:block;
}
.media-experience-links {
  display:contents;
}
.source-actions .source-link.is-visible:first-child {
  color:#fffdf8;
border-color:rgba(24,63,43,0.50);
background:linear-gradient(180deg, #2f6f4d, #183f2b);
box-shadow:0 10px 20px rgba(8,20,14,0.15);
}
.source-actions .source-link.is-visible:first-child:hover,
.source-actions .source-link.is-visible:first-child:focus-visible {
  color:#fffdf8;
background:linear-gradient(180deg, #377c57, #183f2b);
}
body.media-gallery-open {
  overflow:hidden;
}
.media-gallery-overlay {
  position:fixed;
inset:0;
z-index:2400;
display:grid;
place-items:center;
padding:22px;
}
.media-gallery-overlay[hidden] {
  display:none;
}
.media-gallery-backdrop {
  position:absolute;
inset:0;
background:
    radial-gradient(circle at 70% 10%, rgba(242,215,121,0.16), transparent 34%),
    rgba(5,13,9,0.72);
backdrop-filter:blur(8px);
}
.media-gallery-panel {
  position:relative;
z-index:1;
display:grid;
gap:14px;
width:min(920px, 100%);
max-height:min(86vh, 820px);
overflow-y:auto;
overscroll-behavior:contain;
padding:18px;
border:1px solid rgba(242,215,121,0.42);
border-radius:8px;
background:
    linear-gradient(180deg, rgba(255,253,248,0.98), rgba(244,236,214,0.96)),
    #fffdf8;
box-shadow:
    0 28px 70px rgba(0,0,0,0.38),
    inset 0 1px 0 rgba(255,255,255,0.78);
}
.media-gallery-header,
.media-gallery-footer {
  display:flex;
align-items:center;
justify-content:space-between;
gap:12px;
}
.media-gallery-header h2 {
  margin:3px 0 0;
color:#172a1d;
font-size:24px;
line-height:1.08;
}
.media-gallery-close {
  min-height:42px;
padding:0 13px;
border:1px solid rgba(33,75,53,0.18);
border-radius:8px;
color:#183f2b;
background:#fff8d8;
font-weight:950;
}
.media-gallery-hero {
  display:grid;
align-content:end;
gap:10px;
min-height:260px;
padding:18px;
overflow:hidden;
border:1px solid rgba(33,75,53,0.16);
border-radius:8px;
color:#fffdf8;
background:
    radial-gradient(circle at 18% 18%, rgba(255,248,213,0.22), transparent 30%),
    linear-gradient(135deg, #214b35, #4d8392);
background-position:center;
background-size:cover;
box-shadow:inset 0 -80px 130px rgba(0,0,0,0.28);
}
.media-gallery-hero span {
  width:fit-content;
max-width:100%;
padding:6px 10px;
border:1px solid rgba(255,255,255,0.42);
border-radius:999px;
background:rgba(13,24,17,0.72);
font-size:11px;
font-weight:950;
}
.media-gallery-hero strong {
  max-width:720px;
font-size:26px;
line-height:1.08;
text-shadow:0 2px 12px rgba(8,20,14,0.42);
}
.media-gallery-symbol {
  display:grid;
place-items:center;
width:62px;
height:62px;
border-radius:50%;
color:#183f2b;
background:#fff4be;
font-size:30px;
}
.media-gallery-summary {
  margin:0;
color:#314336;
font-size:14px;
font-weight:800;
line-height:1.45;
}
.media-gallery-grid {
  display:grid;
grid-template-columns:repeat(3, minmax(0, 1fr));
gap:10px;
}
.media-gallery-item {
  display:grid;
grid-template-columns:74px minmax(0, 1fr);
gap:10px;
min-width:0;
min-height:112px;
padding:10px;
border:1px solid rgba(33,75,53,0.14);
border-radius:8px;
color:#183f2b;
background:rgba(255,253,248,0.86);
text-decoration:none;
box-shadow:0 8px 18px rgba(31,43,35,0.08);
}
.media-gallery-item:hover,
.media-gallery-item:focus-visible {
  transform:translateY(-1px);
border-color:rgba(202,162,74,0.56);
box-shadow:0 12px 24px rgba(31,43,35,0.12);
}
.media-gallery-thumb {
  display:grid;
place-items:center;
width:74px;
height:92px;
min-height:92px;
border-radius:8px;
color:#fffdf8;
background:
    linear-gradient(135deg, #214b35, #4d8392);
background-position:center;
background-size:cover;
font-size:27px;
object-fit:cover;
}
.media-gallery-thumb-icon {
  background:
    radial-gradient(circle at 26% 20%, rgba(255,248,213,0.24), transparent 36%),
    linear-gradient(135deg, #183f2b, #4d8392);
}
.media-gallery-item-copy {
  display:grid;
gap:4px;
min-width:0;
}
.media-gallery-item-copy small,
.media-gallery-item-copy b {
  color:var(--forest);
font-size:10px;
font-weight:950;
line-height:1.15;
text-transform:uppercase;
}
.media-gallery-item-copy strong {
  color:#172a1d;
font-size:14px;
line-height:1.18;
}
.media-gallery-item-copy em {
  color:#405546;
font-size:12px;
font-style:normal;
font-weight:760;
line-height:1.32;
}
.media-gallery-item-copy b {
  width:fit-content;
margin-top:2px;
padding:5px 8px;
border-radius:999px;
color:#fffdf8;
background:var(--forest);
}
.media-gallery-empty {
  grid-column:1 / -1;
padding:18px;
border:1px dashed rgba(33,75,53,0.24);
border-radius:8px;
color:#314336;
background:rgba(255,253,248,0.78);
}
.media-gallery-empty strong {
  display:block;
color:var(--forest);
font-size:16px;
}
.media-gallery-empty p {
  margin:5px 0 0;
font-size:13px;
font-weight:780;
line-height:1.4;
}
.empty-state {
  padding:22px;
border:1px dashed var(--line);
border-radius:8px;
color:var(--muted);
background:rgba(255,253,246,0.64);
}
@media (max-width:980px) {
  .pastpath-menu-button {
    top:10px;
left:10px;
min-height:44px;
padding:8px 11px;
}
  .pastpath-nav-shell {
    grid-template-columns:1fr;
}
  .pastpath-nav-drawer {
    width:calc(100vw - 16px);
max-height:calc(100dvh - 16px);
margin:8px;
}
  .pastpath-nav-item {
    grid-template-columns:48px minmax(0, 1fr);
}
  .pastpath-nav-status {
    grid-column:2;
justify-self:start;
}
  body {
    background:
      linear-gradient(180deg, rgba(7,18,13,0.02), rgba(7,18,13,0.16)),
      url("assets/historical-study-bg-sharp.png") center top / cover scroll no-repeat,
      #07120d;
}
  body::before {
    position:absolute;
min-height:100%;
filter:saturate(1.22) contrast(1.10) brightness(1.10);
}
  body::after {
    background:
      linear-gradient(180deg, rgba(7,18,13,0.02), rgba(7,18,13,0.18)),
      radial-gradient(circle at 50% 0%, rgba(228,200,120,0.11), transparent 38%);
}
  .app-shell {
    grid-template-columns:1fr;
}
  .sidebar {
    border-right:0;
border-bottom:1px solid var(--line);
padding-top:76px;
background:
      linear-gradient(180deg, rgba(255,253,248,0.10), rgba(244,239,226,0.03));
}
  .brand-row {
    min-height:64px;
}
  .content-grid,
  .topbar,
  .chapter-panel,
  .era-panel,
  .story-path-panel {
    grid-template-columns:1fr;
}
  .topbar {
    display:grid;
}
  .chapter-panel .filter-grid {
    grid-template-columns:repeat(3, minmax(118px, 1fr));
}
  .story-path-grid {
    grid-template-columns:repeat(2, minmax(150px, 1fr));
grid-auto-flow:row;
grid-auto-columns:auto;
}
  .era-grid {
    grid-template-columns:repeat(2, minmax(150px, 1fr));
}
  .era-detail-priority,
  .era-detail-grid,
  .era-detail-actions {
    grid-template-columns:1fr;
}
  .story-path-guide {
    grid-template-columns:1fr;
}
  .story-path-guide-controls {
    width:100%;
}
  .story-path-nav {
    flex:1 1 42%;
}
  .detail-panel {
    position:static;
max-height:none;
overflow:visible;
scroll-margin-top:12px;
}
}
@media (max-width:620px) {
  body::before {
    background-position:center top;
}
  .sidebar,
  .workspace {
    padding:16px;
}
  .workspace {
    background:
      linear-gradient(180deg, rgba(255,253,248,0.06), rgba(13,27,22,0.01));
}
  .app-shell {
    display:flex;
flex-direction:column;
}
  .sidebar {
    display:contents;
}
  .brand-row {
    order:1;
min-height:54px;
margin:54px 16px 0;
padding:7px 10px;
}
  .route-card {
    order:2;
margin:8px 16px 0;
}
  .workspace {
    order:3;
}
  .workspace .map-panel {
    order:1;
}
  .workspace .chapter-panel {
    order:2;
}
  .workspace .story-path-panel {
    order:3;
}
  .workspace .era-panel {
    order:3;
}
  .workspace .topbar {
    order:4;
}
  .workspace .content-grid {
    order:4;
}
  .more-panel,
  .tester-feedback,
  .founder-priority-board,
  .photo-gap-board {
    order:4;
margin:0 16px 16px;
}
  .more-panel,
  .founder-priority-board,
  .photo-gap-board {
    display:none;
}
  .route-card > .mode-tabs,
  .route-card > .mode-hint,
  .route-card > .state-jump,
  .route-card > .route-field,
  .route-card > .route-choice,
  .route-card > .route-actions,
  .route-card > .quick-search-drawer,
  .route-card > .search-explainer,
  .route-card > .route-status {
    margin-right:10px;
margin-left:10px;
}
  .route-card {
    gap:7px;
padding-bottom:8px;
border-left-width:0;
background:rgba(255,253,248,0.96);
}
  .route-card-header {
    min-height:40px;
padding:7px 11px;
border-bottom-color:rgba(202,162,74,0.22);
color:#172a1d;
background:linear-gradient(180deg, #fff8d8, #f1dd9a);
}
  .route-card-header h2 {
    font-size:16px;
text-shadow:none;
}
  .mode-hint {
    display:none;
}
  .route-card > .state-jump {
    display:none;
}
  .route-field {
    grid-template-columns:1fr;
gap:4px;
padding:6px;
}
  .route-field .step-dot,
  .route-field > span:not(.step-dot) {
    display:none;
}
  .route-field input {
    min-height:46px;
padding-right:13px;
padding-left:13px;
font-size:16px;
}
  .route-field small {
    display:none;
}
  .step-dot {
    width:28px;
height:28px;
}
  .route-status {
    min-height:30px;
padding:6px 9px 6px 30px;
font-size:12px;
line-height:1.25;
}
  .route-status::before {
    left:9px;
top:6px;
width:16px;
height:16px;
font-size:10px;
}
  .search-explainer {
    gap:5px;
padding:9px 10px;
}
  .search-explainer p {
    display:-webkit-box;
overflow:hidden;
font-size:12px;
-webkit-line-clamp:2;
}
  .search-explainer small {
    display:-webkit-box;
overflow:hidden;
font-size:11px;
-webkit-line-clamp:2;
}
  .brand-mark {
    width:38px;
height:38px;
}
  h1 {
    font-size:20px;
}
  .state-jump-row,
  .input-action-row {
    grid-template-columns:1fr;
}
  .mode-tabs {
    grid-template-columns:repeat(3, minmax(0, 1fr));
gap:6px;
}
  .mode-tab {
    min-height:34px;
padding:0 6px;
border-radius:999px;
font-size:12px;
}
  .trip-stats,
  .explore-card-grid,
  .detail-stats,
  .detail-actions,
  .feedback-buttons {
    grid-template-columns:1fr;
}
  .route-actions {
    grid-template-columns:minmax(0, 1fr) auto;
gap:8px;
}
  .route-actions .primary-button,
  .route-actions .text-button {
    min-height:44px;
}
  .route-actions .text-button {
    min-width:68px;
padding-right:10px;
padding-left:10px;
}
  .quick-search-drawer > summary {
    min-height:34px;
padding:7px 9px;
}
  .quick-search-drawer .quick-search-row {
    grid-template-columns:repeat(2, minmax(0, 1fr));
padding:0 8px 8px;
}
  .quick-search-row button {
    min-height:34px;
}
  .detail-panel {
    order:-1;
gap:9px;
padding-bottom:10px;
}
  .results-column {
    order:1;
}
  .mobile-results-toggle {
    display:block;
width:calc(100% - 24px);
min-height:46px;
margin:12px 12px 0;
border:1px solid rgba(202,162,74,0.48);
border-radius:8px;
color:#183f2b;
background:
      linear-gradient(180deg, #fff8d8, #f0d78a);
font-weight:950;
box-shadow:0 8px 18px rgba(31,43,35,0.10);
}
  .mobile-results-toggle[hidden] {
    display:none;
}
  .photo-strip {
    min-height:104px;
padding:12px;
}
  .photo-strip[data-visual-state="photo"] {
    min-height:138px;
}
  .place-media-card summary {
    position:relative;
grid-template-columns:minmax(0, 1fr);
gap:4px;
padding:9px 38px 9px 12px;
}
  .place-media-card summary::after {
    position:absolute;
right:12px;
}
  .place-media-card summary strong {
    width:fit-content;
max-width:100%;
}
  .place-media-preview {
    min-height:104px;
}
  .detail-panel > :is(.eyebrow,h2,p,.museum-label-card,.place-media-card,.detail-hero-card,.education-layers-card,.quick-place-card,.explore-card,.explore-next-card,.marker-reader,.trust-check,.detail-stats,.detail-actions,.place-more,.source-actions) {
    margin-right:12px;
margin-left:12px;
}
  .explore-next-list {
    max-height:246px;
overflow-y:auto;
overscroll-behavior:contain;
padding-right:2px;
}
  .explore-next-button {
    grid-template-columns:34px minmax(0, 1fr);
min-height:70px;
padding:7px;
}
  .explore-next-symbol {
    width:34px;
height:34px;
font-size:17px;
}
  .detail-panel h2 {
    font-size:19px;
line-height:1.12;
}
  .museum-label-card {
    position:sticky;
top:8px;
z-index:520;
gap:9px;
padding:14px;
box-shadow:
      0 12px 24px rgba(11,24,16,0.18),
      0 0 0 1px rgba(255,248,213,0.34) inset;
}
  .museum-label-card p {
    display:-webkit-box;
overflow:hidden;
font-size:14.5px;
line-height:1.38;
-webkit-line-clamp:4;
-webkit-box-orient:vertical;
}
  .museum-label-card .story-path-why {
    font-size:12px;
line-height:1.34;
-webkit-line-clamp:3;
}
  .museum-label-facts {
    display:grid;
grid-template-columns:1fr;
gap:6px;
}
  .quick-place-card {
    grid-template-columns:1fr;
}
  .quick-place-card div {
    padding:8px;
}
  .quick-place-card strong {
    font-size:13px;
line-height:1.2;
}
  .detail-hero-card p,
  .explore-card-grid p,
  .marker-reader p,
  .guide-box p,
  .trust-check p {
    font-size:13px;
line-height:1.38;
}
  .story-beats {
    gap:6px;
}
  .story-beats li {
    padding:8px 9px 8px 28px;
font-size:11.5px;
line-height:1.3;
}
  .learning-snapshot {
    grid-template-columns:1fr;
}
  .learning-snapshot div {
    padding:8px;
}
  .learning-snapshot strong {
    font-size:12px;
line-height:1.22;
}
  .detail-hero-card,
  .explore-card,
  .explore-next-card,
  .marker-reader,
  .trust-check,
  .visit-snapshot,
  .guide-box {
    padding:11px;
}
  .detail-stats,
  .visit-snapshot {
    display:none;
}
  .place-more {
    margin-top:2px;
}
  .chapter-panel .filter-grid,
  .era-grid,
  .story-path-grid,
  .filter-grid {
    grid-template-columns:1fr;
}
  .era-detail-card {
    max-height:62vh;
overflow-y:auto;
}
  .era-detail-hero h3 {
    font-size:19px;
}
  .era-detail-grid {
    gap:8px;
}
  .era-place-link {
    flex-basis:100%;
}
  .chapter-panel,
  .era-panel,
  .story-path-panel {
    gap:10px;
}
  .story-path-button {
    min-height:56px;
}
  .story-path-step-list {
    grid-auto-columns:minmax(126px, 72%);
}
  .story-path-followups {
    grid-template-columns:1fr;
}
  .route-map,
  .map-fallback {
    min-height:min(68vh, 560px);
}
  .map-panel.is-expanded .route-map {
    min-height:min(78vh, 640px);
}
  .media-gallery-overlay {
    align-items:stretch;
padding:8px;
}
  .media-gallery-panel {
    width:100%;
height:calc(100dvh - 16px);
max-height:calc(100vh - 16px);
overflow:hidden;
grid-template-rows:auto minmax(136px, 0.72fr) auto minmax(0, 1fr) auto;
gap:10px;
padding:11px;
border-radius:8px;
}
  .media-gallery-header,
  .media-gallery-footer {
    align-items:stretch;
flex-direction:column;
}
  .media-gallery-header h2 {
    font-size:20px;
line-height:1.12;
}
  .media-gallery-close,
  .media-gallery-footer .secondary-button {
    width:100%;
}
  .media-gallery-hero {
    min-height:136px;
padding:14px;
}
  .media-gallery-hero strong {
    font-size:20px;
}
  .media-gallery-grid {
    grid-template-columns:1fr;
overflow-y:auto;
overscroll-behavior:contain;
padding-right:2px;
}
  .media-gallery-item {
    grid-template-columns:64px minmax(0, 1fr);
min-height:92px;
}
  .media-gallery-thumb {
    width:64px;
height:78px;
min-height:78px;
}
  .leaflet-popup-content-wrapper {
    width:min(360px, calc(100vw - 18px));
max-width:min(360px, calc(100vw - 18px));
}
  .leaflet-popup-content {
    max-width:min(340px, calc(100vw - 38px));
font-size:13px;
}
  .history-map-popup .leaflet-popup-content {
    max-height:min(520px, calc(100vh - 150px));
}
  .map-popup-plaque {
    gap:8px;
padding:12px;
border-left-width:5px;
}
  .map-popup-photo {
    min-height:112px;
margin:-12px -12px 0 -12px;
}
  .map-popup-topline {
    grid-template-columns:minmax(0, 1fr);
gap:5px;
}
  .map-popup-topline span {
    width:fit-content;
max-width:100%;
}
  .map-popup-plaque strong {
    font-size:15px;
line-height:1.14;
}
  .map-popup-plaque p {
    font-size:11px;
line-height:1.34;
}
  .map-popup-label-text {
    display:-webkit-box;
overflow:hidden;
padding:8px;
font-size:11.2px;
line-height:1.34;
-webkit-line-clamp:5;
-webkit-box-orient:vertical;
}
  .map-popup-mini-facts {
    gap:5px;
padding:7px;
}
  .map-popup-mini-facts p {
    font-size:10.5px;
line-height:1.28;
}
  .map-popup-facts span {
    max-width:100%;
font-size:9.5px;
}
  .history-marker.is-local-depth,
  .history-marker.is-prior-tier {
    opacity:0.82;
}
  .map-toolbar {
    align-items:stretch;
flex-direction:column;
padding:10px;
}
  .map-toolbar div {
    display:grid;
grid-template-columns:1fr 1fr;
}
  .map-click-hint {
    display:none;
}
  .map-layer-hint {
    order:0;
width:auto;
justify-content:center;
}
  .map-legend {
    gap:6px;
padding:9px 10px;
font-size:11px;
line-height:1.15;
}
  .map-legend span {
    min-height:24px;
align-items:center;
}
  .leaflet-control-zoom a {
    width:46px;
height:46px;
line-height:46px;
}
  .stop-card {
    grid-template-columns:1fr;
min-height:auto;
padding:10px;
}
  .stop-card-main {
    grid-template-columns:40px minmax(0, 1fr);
gap:10px;
}
  .stop-card-symbol {
    width:40px;
height:40px;
font-size:19px;
}
  .score-pill {
    width:100%;
height:46px;
}
  .stop-card h3 {
    margin-bottom:4px;
font-size:15px;
}
  .stop-card p {
    display:-webkit-box;
overflow:hidden;
-webkit-line-clamp:2;
-webkit-box-orient:vertical;
font-size:13px;
line-height:1.35;
}
  .tag-row {
    max-height:58px;
overflow:hidden;
gap:5px;
margin-top:8px;
}
  .tag {
    padding:4px 6px;
font-size:10px;
}
  .section-heading,
  .results-tools {
    align-items:stretch;
flex-direction:column;
}
  .timeline-list {
    grid-auto-columns:minmax(132px, 78%);
}
}
.mobile-place-sheet {
  display:none;
}
.mobile-sheet-handle {
  width:max-content;
min-height:34px;
margin:0 auto 8px;
padding:7px 12px;
border:1px solid rgba(33,75,53,0.18);
border-radius:999px;
color:#183f2b;
background:#fff8d8;
font-size:12px;
font-weight:950;
}
.mobile-sheet-top,
.mobile-sheet-facts,
.mobile-sheet-actions {
  display:flex;
align-items:center;
gap:8px;
}
.mobile-sheet-top {
  justify-content:space-between;
}
.mobile-sheet-top span {
  color:var(--forest);
font-size:11px;
font-weight:950;
text-transform:uppercase;
}
.mobile-sheet-top strong {
  padding:4px 8px;
border-radius:999px;
color:#183f2b;
background:#f2d779;
font-size:11px;
font-weight:950;
}
.mobile-place-sheet h2 {
  margin:2px 0 0;
color:var(--ink);
font-size:20px;
line-height:1.08;
}
.mobile-place-sheet p {
  display:-webkit-box;
overflow:hidden;
color:#304235;
font-size:13.5px;
font-weight:750;
line-height:1.35;
-webkit-line-clamp:2;
-webkit-box-orient:vertical;
}
.mobile-place-sheet .mobile-sheet-memory {
  padding:8px 9px;
border-left:4px solid var(--forest);
border-radius:8px;
background:#fffdf8;
-webkit-line-clamp:2;
}
.mobile-place-sheet .mobile-sheet-next-cue {
  display:-webkit-box;
overflow:hidden;
margin:0;
padding:8px 10px;
border:1px solid rgba(196,150,48,0.22);
border-radius:8px;
color:#1e3e2d;
background:linear-gradient(180deg, #fff8dc, #f4e6b7);
font-size:12px;
font-weight:900;
line-height:1.28;
-webkit-line-clamp:2;
-webkit-box-orient:vertical;
}
.mobile-sheet-facts {
  flex-wrap:wrap;
}
.mobile-sheet-facts span {
  flex:1 1 118px;
min-width:0;
padding:7px 8px;
border:1px solid rgba(33,75,53,0.13);
border-radius:8px;
color:#284331;
background:#f7f1dd;
font-size:11.5px;
font-weight:900;
overflow-wrap:anywhere;
}
.mobile-sheet-actions {
  display:grid;
grid-template-columns:repeat(4, minmax(0, 1fr));
}
.mobile-sheet-actions button {
  min-width:0;
min-height:42px;
border:1px solid rgba(33,75,53,0.20);
border-radius:8px;
color:#fffaf0;
background:linear-gradient(180deg, #2f6f4d, #183f2b);
font-weight:950;
}
.mobile-sheet-actions button:nth-child(2) {
  color:#183f2b;
background:#f2d779;
}
@media (min-width:981px) {
  .app-shell {
    grid-template-columns:340px minmax(0, 1fr);
}
  .map-panel.is-expanded .route-map,
  .route-map {
    min-height:min(78vh, 760px);
}
}
@media (max-width:620px) {
  body.mobile-place-sheet-open {
    padding-bottom:270px;
}
  .workspace {
    padding-top:10px;
}
  .route-card {
    position:relative;
top:auto;
z-index:10;
box-shadow:0 14px 32px rgba(8,20,14,0.22);
}
  .route-card > .search-explainer,
  .route-card > .route-status {
    margin-right:12px;
margin-left:12px;
}
  .route-status {
    padding-top:9px;
padding-bottom:9px;
font-size:12.5px;
}
  .search-explainer {
    gap:6px;
padding:9px 10px;
}
  .search-explainer-actions button {
    flex:1 1 30%;
min-width:96px;
}
  .workspace .chapter-panel,
  .workspace .era-panel,
  .workspace .story-path-panel,
  .results-column,
  .timeline-panel {
    display:none;
}
  body.eras-visible .workspace .era-panel,
  body.story-paths-visible .workspace .story-path-panel,
  body.places-list-visible .results-column {
    display:block;
}
  body.mobile-detail-open .timeline-panel {
    display:block;
}
  .workspace .map-panel {
    margin-top:0;
}
  .map-toolbar strong {
    font-size:0;
}
  .map-toolbar strong::after {
    content:"Tap markers";
font-size:13px;
}
  .map-toolbar select,
  .map-toolbar #verifiedImportLayerButton,
  .map-toolbar #toggleMapSizeButton {
    display:none;
}
  .route-map,
  .map-panel.is-expanded .route-map {
    min-height:calc(100vh - 218px);
}
  .detail-panel {
    display:none;
order:2;
}
  body.mobile-detail-open .detail-panel {
    display:grid;
position:fixed;
inset:10px 10px 96px;
z-index:2300;
overflow-y:auto;
overscroll-behavior:contain;
border:1px solid rgba(228,200,120,.58);
border-radius:8px;
background:#fff;
box-shadow:0 14px 30px rgba(8,20,14,.3);
}
  .mobile-place-sheet:not([hidden]) {
    position:fixed;
right:10px;
bottom:10px;
left:10px;
z-index:2400;
display:grid;
gap:6px;
max-height:min(48vh, 286px);
overflow:hidden;
padding:9px 11px 11px;
border:1px solid rgba(228,200,120,.58);
border-radius:12px;
background:#fff;
box-shadow:0 14px 30px rgba(8,20,14,.34);
}
  .mobile-sheet-actions {
    grid-template-columns:repeat(4, minmax(0, 1fr));
gap:5px;
}
  .mobile-sheet-actions button {
    min-height:38px;
padding:5px 3px;
font-size:11px;
line-height:1.1;
}
  .mobile-place-sheet .mobile-sheet-next-cue {
    display:none;
}
  body.mobile-detail-open .mobile-place-sheet:not([hidden]) {
    max-height:92px;
grid-template-columns:auto minmax(0,1fr);
}
  body.mobile-detail-open :is(.mobile-sheet-top,.mobile-place-sheet h2,.mobile-place-sheet p,.mobile-sheet-facts) {
    display:none;
}
  body.mobile-detail-open .mobile-sheet-handle { margin:0; }
  .leaflet-popup {
    display:none;
}
  .leaflet-popup.map-area-preview-popup {
    display:block;
}
  .history-marker {
    width:48px;
height:48px;
}

  .history-marker.is-major {
    width:52px;
height:52px;
}
  .history-marker.is-selected {
    width:58px;
height:58px;
}
  .history-marker-icon,
  .history-marker.is-local-depth .history-marker-icon,
  .history-marker.is-major .history-marker-icon {
    width:30px;
height:30px;
font-size:20px;
}
  .project-tools-drawer {
    order:5;
margin:0 16px 16px;
}
  .project-tools-drawer:not([open]) {
    margin-bottom:10px;
}
  .project-tools-drawer .tester-feedback,
  .project-tools-drawer .founder-priority-board,
  .project-tools-drawer .photo-gap-board,
  .project-tools-drawer .live-atlas-truth {
    margin-right:0;
margin-left:0;
}
}

.map-area-preview-popup .leaflet-popup-content-wrapper {
  width:min(340px, calc(100vw - 28px));
  max-width:min(340px, calc(100vw - 28px));
  border-color:rgba(202,162,74,.58);
  background:#fffdf8;
}
.map-area-preview-popup .leaflet-popup-content {
  max-width:min(320px, calc(100vw - 48px));
}
.map-area-preview {
  display:grid;
  gap:9px;
  width:100%;
  min-width:0;
  padding:14px;
  box-sizing:border-box;
  color:#20372a;
  background:linear-gradient(180deg,#fffdf8,#f7efdc);
}
.map-area-preview-kicker {
  width:fit-content;
  padding:4px 7px;
  border-radius:999px;
  color:#fffdf8;
  background:#214b35;
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
}
.map-area-preview :is(h3,p,small) {
  margin:0;
  overflow-wrap:anywhere;
  word-break:break-word;
}
.map-area-preview h3 {
  font:19px/1.15 Georgia,"Times New Roman",serif;
}
.map-area-preview-status {
  color:#536457;
  font-size:12px;
  line-height:1.35;
}
.map-area-preview-list {
  display:grid;
  gap:6px;
}
.map-area-preview-place {
  display:grid;
  gap:3px;
  width:100%;
  min-height:52px;
  padding:9px 10px;
  border:1px solid rgba(33,75,53,.18);
  border-radius:7px;
  color:#20372a;
  text-align:left;
  background:rgba(255,255,255,.84);
  cursor:pointer;
}
.map-area-preview-place:is(:hover,:focus-visible) {
  border-color:rgba(202,162,74,.78);
  background:#fff;
  box-shadow:0 6px 14px rgba(31,43,35,.1);
}
.map-area-preview-place :is(strong,span,small) {
  display:block;
  min-width:0;
  max-width:100%;
  overflow-wrap:anywhere;
}
.map-area-preview-place strong {
  font-size:13px;
  line-height:1.2;
}
.map-area-preview-place span {
  color:#526759;
  font-size:10px;
  font-weight:800;
}
.map-area-preview-place small {
  display:-webkit-box;
  overflow:hidden;
  color:#34483a;
  font-size:11px;
  line-height:1.3;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
}
.map-area-preview-all {
  min-height:42px;
  padding:8px 12px;
  border:1px solid #214b35;
  border-radius:7px;
  color:#fffdf8;
  background:#214b35;
  font-size:12px;
  font-weight:900;
  cursor:pointer;
}
.map-area-preview-all:is(:hover,:focus-visible) {
  background:#173b29;
}
.map-area-preview-note {
  color:#647267;
  font-size:10px;
  line-height:1.3;
}
@media (max-width:620px) {
  .map-area-preview-popup .leaflet-popup-content-wrapper {
    width:min(320px,calc(100vw - 40px));
    max-width:min(320px,calc(100vw - 40px));
  }
  .map-area-preview-popup .leaflet-popup-content {
    max-width:min(300px,calc(100vw - 60px));
  }
  .map-area-preview {
    gap:7px;
    max-height:min(62vh,430px);
    overflow-y:auto;
    overscroll-behavior:contain;
    padding:12px;
  }
  .map-area-preview h3 { font-size:17px; }
  .map-area-preview-place {
    min-height:48px;
    padding:8px;
  }
}
/* Development-only metrics; created only with ?debug=performance. */
.performance-dashboard {
  position: fixed;
  z-index: 5000;
  right: 8px;
  bottom: 8px;
  display: grid;
  gap: 3px;
  width: min(270px, calc(100vw - 16px));
  max-height: 42vh;
  overflow: auto;
  padding: 10px;
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 6px;
  background: rgba(17, 28, 23, 0.94);
  color: #fff;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.28);
  font: 12px/1.35 system-ui, sans-serif;
}

.performance-dashboard strong {
  color: #f2d779;
}

.performance-dashboard span {
  overflow-wrap: anywhere;
}

/* PastPath Today stays out of the map until the user opens it. */
body.daily-discovery-open {
  overflow: hidden;
}

.daily-discovery-overlay {
  position: fixed;
  inset: 0;
  z-index: 4800;
}

.daily-discovery-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(10, 20, 15, 0.72);
  backdrop-filter: blur(5px);
}

.daily-discovery-panel {
  position: absolute;
  inset: max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  width: min(840px, calc(100vw - 24px));
  margin: auto;
  overflow: hidden;
  border: 1px solid rgba(209, 174, 82, 0.58);
  border-radius: 8px;
  background: #fbfaf6;
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.45);
}

.daily-discovery-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 17px 20px;
  color: #fffdf6;
  background: #183f2b;
}

.daily-discovery-header p,
.daily-discovery-header h2 {
  margin: 0;
}

.daily-discovery-header p {
  color: #f2d779;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.daily-discovery-header h2 {
  font-size: clamp(20px, 3vw, 28px);
}

.daily-discovery-header button,
.daily-story-back {
  min-height: 44px;
  border: 1px solid rgba(255, 255, 255, 0.34);
  border-radius: 6px;
  color: #fff;
  background: rgba(255, 255, 255, 0.1);
  font-weight: 900;
}

.daily-loading {
  align-self: center;
  justify-self: center;
  padding: 24px;
  color: #284331;
  font-weight: 850;
}

.daily-feed-view,
.daily-story-view {
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 18px 20px 28px;
}

.daily-interest-panel details,
.daily-week {
  border: 1px solid #d9d5ca;
  border-radius: 7px;
  background: #fff;
}

.daily-interest-panel summary,
.daily-week > summary {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  padding: 13px 15px;
  color: #183f2b;
  font-weight: 900;
  cursor: pointer;
}

.daily-interest-choices {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
  padding: 0 13px 14px;
}

.daily-interest {
  position: relative;
  display: flex;
  align-items: center;
  gap: 7px;
  min-width: 0;
  padding: 9px;
  border: 1px solid #ded9cd;
  border-radius: 6px;
  color: #33443a;
  background: #faf9f5;
  font-size: 13px;
  font-weight: 750;
}

.daily-interest.is-selected {
  border-color: #2f6f4d;
  background: #e9f3ec;
}

.daily-interest input {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
}

.daily-interest-label {
  min-width: 0;
  overflow-wrap: anywhere;
}

.daily-interest-check {
  display: grid;
  flex: 0 0 24px;
  width: 24px;
  height: 24px;
  place-items: center;
  border: 2px solid #61736a;
  border-radius: 5px;
  color: transparent;
  background: #fff;
  font-size: 17px;
  font-weight: 1000;
  line-height: 1;
}

.daily-interest.is-selected .daily-interest-check {
  border-color: #1f6242;
  color: #fff;
  background: #1f6242;
}

.daily-interest:has(input:focus-visible) {
  outline: 3px solid #d0a83f;
  outline-offset: 2px;
}

.daily-continue {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  min-height: 52px;
  margin: 12px 0 0;
  padding: 10px 14px;
  border: 1px solid #d2b45d;
  border-radius: 7px;
  color: #183f2b;
  background: #f7e7a9;
  text-align: left;
}

.daily-continue span {
  font-size: 12px;
  font-weight: 800;
}

.daily-continue strong {
  overflow-wrap: anywhere;
}

.daily-section {
  margin-top: 22px;
}

.daily-section-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

.daily-section-heading span,
.daily-story-view > p:first-of-type {
  color: #756026;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.daily-section-heading h3 {
  margin: 2px 0 0;
  color: #183f2b;
  font-size: 20px;
}

.daily-section-heading button {
  min-height: 40px;
  padding: 8px 12px;
  border: 1px solid #2f6f4d;
  border-radius: 6px;
  color: #fff;
  background: #2f6f4d;
  font-weight: 900;
}

.daily-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.daily-card {
  min-width: 0;
  min-height: 220px;
  border: 1px solid #d8d3c7;
  border-top: 4px solid #d0a83f;
  border-radius: 7px;
  background: #fff;
  box-shadow: 0 7px 18px rgba(25, 47, 34, 0.08);
  overflow: hidden;
}

.daily-card-top {
  display: grid;
  gap: 3px;
  color: #667268;
  font-size: 11px;
}

.daily-card-top span {
  color: #2f6f4d;
  font-weight: 900;
  text-transform: uppercase;
}

.daily-card h3,
.daily-card p {
  overflow-wrap: anywhere;
}

.daily-card h3 {
  margin: 10px 0 7px;
  color: #183f2b;
  font-size: 17px;
  line-height: 1.18;
}

.daily-card p {
  margin: 0 0 12px;
  color: #3f4a43;
  font-size: 13px;
  line-height: 1.42;
}

.daily-card button {
  min-height: 42px;
  padding: 8px 12px;
  border: 1px solid #214b35;
  border-radius: 6px;
  color: #fff;
  background: #214b35;
  font-weight: 900;
}

.daily-empty {
  grid-column: 1 / -1;
  margin: 0;
  padding: 14px;
  border-left: 4px solid #d0a83f;
  color: #405046;
  background: #fff;
}

.daily-week {
  margin-top: 22px;
}

.daily-week .daily-card-grid {
  padding: 0 13px 14px;
}

.daily-story-view {
  display: block;
  max-width: 720px;
  width: 100%;
  margin: 0 auto;
}

.daily-story-view[hidden] {
  display: none;
}

.daily-story-back {
  color: #183f2b;
  border-color: #b9c7bd;
  background: #fff;
}

.daily-story-view > h2 {
  margin: 7px 0 8px;
  color: #183f2b;
  font-size: clamp(25px, 4vw, 38px);
  line-height: 1.08;
  overflow-wrap: anywhere;
}

.daily-story-view > section {
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid #ddd8cc;
}

.daily-story-view h3 {
  margin: 0 0 6px;
  color: #214b35;
  font-size: 16px;
}

.daily-story-view p {
  max-width: 68ch;
  overflow-wrap: anywhere;
  line-height: 1.58;
}

.daily-story-summary {
  color: #4b574f;
  font-size: 17px;
  font-weight: 700;
}

.daily-kid-summary {
  padding: 14px;
  border: 1px solid #e1c66e;
  border-radius: 7px;
  background: #fff8dc;
}

.daily-difficult-history {
  padding: 12px 14px;
  border-left: 4px solid #81463d;
  color: #542f29;
  background: #f8eae6;
}

.daily-vocabulary {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 16px;
}

.daily-vocabulary span {
  padding: 6px 8px;
  border: 1px solid #c8d3ca;
  border-radius: 5px;
  color: #214b35;
  background: #eef4ef;
  font-size: 12px;
  font-weight: 850;
}

.daily-story-section-label {
  display: block;
  margin-bottom: 5px;
  color: #8a6621;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .12em;
}

.daily-story-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.daily-story-facts > div {
  display: grid;
  gap: 4px;
  padding: 12px;
  border: 1px solid #d6ded8;
  border-radius: 7px;
  background: #f6f9f6;
}

.daily-story-facts span,
.daily-story-sources small {
  color: #68756d;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .08em;
}

.daily-story-facts strong { color: #183f2b; line-height: 1.3; }
.daily-story-timeline,
.daily-story-questions { display: grid; gap: 9px; margin: 10px 0 0; padding: 0; list-style: none; }
.daily-story-timeline li,
.daily-story-questions li { display: grid; grid-template-columns: minmax(72px, auto) 1fr; gap: 12px; align-items: start; padding: 11px 12px; border-left: 3px solid #c59c3c; background: #faf7ef; }
.daily-story-timeline strong { color: #7e5c1e; }
.daily-story-questions b { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 50%; color: #fff; background: #285f45; }
.daily-story-connections { display: flex; flex-wrap: wrap; gap: 7px; }
.daily-story-connections span { padding: 7px 9px; border-radius: 999px; color: #214b35; background: #e8f1ea; font-size: 12px; font-weight: 800; }
.daily-story-sources { display: grid; gap: 8px; }
.daily-story-sources a { display: grid; gap: 3px; padding: 12px; border: 1px solid #c7d4ca; border-radius: 7px; color: #183f2b; background: #fff; text-decoration: none; }
.daily-story-sources a:hover { border-color: #2f6f4d; background: #f1f7f2; }
.daily-story-sources a span { color: #55635a; font-size: 12px; }

.daily-story-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 20px;
}

.daily-story-actions button,
.daily-story-actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 9px 13px;
  border: 1px solid #214b35;
  border-radius: 6px;
  color: #fff;
  background: #214b35;
  font-weight: 900;
  text-decoration: none;
}

.daily-story-actions a {
  color: #214b35;
  background: #fff;
}

@media (max-width: 720px) {
  .daily-story-facts { grid-template-columns: 1fr; }
  .daily-discovery-panel {
    inset: env(safe-area-inset-top) 0 0;
    width: 100%;
    border-right: 0;
    border-bottom: 0;
    border-left: 0;
    border-radius: 0;
  }

  .daily-discovery-header,
  .daily-feed-view,
  .daily-story-view {
    padding-right: 14px;
    padding-left: 14px;
  }

  .daily-interest-choices {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .daily-card-grid {
    grid-template-columns: 1fr;
  }

  .daily-card {
    min-height: 0;
  }

  .daily-week .daily-card:nth-child(n + 4) {
    display: none;
  }

  .daily-story-actions {
    display: grid;
    grid-template-columns: 1fr;
  }
}

/* Project Wayfinder: PastPath owns discovery; navigation providers own transport. */
body.wayfinder-open {
  overflow: hidden;
}

.wayfinder-place-button,
.stop-card-wayfinder-button,
.map-popup-wayfinder-button {
  min-height: 44px;
  border: 1px solid #b88b2d;
  border-radius: 6px;
  color: #fff;
  background: #183f2b;
  font-weight: 900;
}

.wayfinder-place-button {
  padding: 10px 14px;
  box-shadow: 0 8px 18px rgba(24, 63, 43, 0.2);
}

.place-primary-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.place-primary-actions .wayfinder-place-button {
  grid-column: 1 / -1;
}

.stop-card-actions {
  display: grid;
  align-content: start;
  gap: 7px;
  min-width: 112px;
}

.stop-card-wayfinder-button {
  padding: 8px 10px;
  font-size: 13px;
}

.map-popup-wayfinder-button {
  width: 100%;
  padding: 9px 12px;
}

.wayfinder-overlay {
  position: fixed;
  z-index: 5000;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 18px;
}

.wayfinder-overlay[hidden] {
  display: none;
}

.wayfinder-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(6, 18, 13, 0.74);
}

.wayfinder-panel {
  position: relative;
  width: min(620px, 100%);
  max-height: min(860px, calc(100dvh - 36px));
  overflow: auto;
  overscroll-behavior: contain;
  padding: 20px;
  border: 1px solid #d6b45c;
  border-radius: 8px;
  color: #16231d;
  background: #fffdf8;
  box-shadow: 0 26px 70px rgba(0, 0, 0, 0.42);
}

.wayfinder-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 14px;
}

.wayfinder-header span,
.wayfinder-provider-section > span {
  display: block;
  color: #8b641d;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.wayfinder-header h2,
.wayfinder-hero h3,
.wayfinder-provider-section h3,
.wayfinder-return h3 {
  margin: 3px 0 0;
  letter-spacing: 0;
  font-family: Georgia, "Times New Roman", serif;
}

.wayfinder-header h2 {
  font-size: 28px;
}

.wayfinder-icon-button {
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  border: 1px solid #d9d2c5;
  border-radius: 50%;
  color: #183f2b;
  background: #fff;
  font-size: 18px;
}

.wayfinder-hero {
  position: relative;
  min-height: 190px;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  padding: 18px;
  border-radius: 7px;
  color: #fff;
  background-color: #214b35;
  background-position: center;
  background-size: cover;
}

.wayfinder-hero::after {
  content: "";
  position: absolute;
  inset: 38% 0 0;
  background: rgba(5, 18, 12, 0.72);
}

.wayfinder-hero > span,
.wayfinder-hero > div {
  position: relative;
  z-index: 1;
}

.wayfinder-hero > span {
  margin-right: 12px;
  color: #efce78;
  font-size: 32px;
}

.wayfinder-hero h3 {
  font-size: 30px;
}

.wayfinder-hero small {
  font-weight: 800;
}

.wayfinder-importance {
  margin: 14px 0;
  line-height: 1.55;
}

.wayfinder-facts,
.wayfinder-status-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.wayfinder-facts span,
.wayfinder-status-row span {
  min-width: 0;
  padding: 9px;
  border: 1px solid #ded7c9;
  border-radius: 6px;
  background: #f7f3e8;
  text-align: center;
  overflow-wrap: anywhere;
}

.wayfinder-facts strong {
  display: block;
  color: #183f2b;
}

.wayfinder-distance-button {
  width: 100%;
  min-height: 44px;
  margin-top: 8px;
  border: 1px solid #b68b38;
  border-radius: 6px;
  background: #fffaf0;
  color: #173f2d;
  font-weight: 800;
}

.wayfinder-distance-button:disabled {
  opacity: 0.65;
}

.wayfinder-status-row {
  margin-top: 8px;
}

.wayfinder-status-row span {
  color: #4c564f;
  font-size: 12px;
  font-weight: 800;
}

.wayfinder-coordinate-note {
  margin: 12px 0;
  padding: 10px 12px;
  border-left: 4px solid #caa24a;
  color: #4b4b43;
  background: #faf6e9;
  font-size: 13px;
  line-height: 1.45;
}

.wayfinder-distance-callout {
  margin: 14px 0;
  padding: 14px;
  border: 1px solid #d7a45b;
  border-radius: 7px;
  background: #fff3dc;
}

.wayfinder-distance-callout p {
  margin: 5px 0 10px;
}

.wayfinder-distance-callout div,
.wayfinder-secondary-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.wayfinder-distance-callout button,
.wayfinder-secondary-actions button,
.wayfinder-return-actions button,
.wayfinder-memory-editor button,
.wayfinder-rating button,
.wayfinder-not-yet {
  min-height: 44px;
  padding: 9px 12px;
  border: 1px solid #bdb5a6;
  border-radius: 6px;
  color: #183f2b;
  background: #fff;
  font-weight: 850;
}

.wayfinder-recommendations {
  margin: 14px 0;
  border-top: 1px solid #ded7c9;
  border-bottom: 1px solid #ded7c9;
}

.wayfinder-recommendations summary {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  padding: 12px 0;
  color: #183f2b;
  font-weight: 900;
  cursor: pointer;
}

.wayfinder-recommendations summary span {
  color: #68726a;
  font-size: 12px;
}

.wayfinder-recommendations > div {
  display: grid;
  gap: 7px;
}

.wayfinder-recommendations > div button {
  display: grid;
  gap: 3px;
  min-height: 50px;
  padding: 9px 11px;
  border: 1px solid #d9d2c5;
  border-radius: 6px;
  color: #16231d;
  background: #fff;
  text-align: left;
}

.wayfinder-recommendations > div span {
  color: #68726a;
  font-size: 12px;
}

.wayfinder-add-all {
  width: 100%;
  min-height: 44px;
  margin: 8px 0 12px;
  border: 1px solid #286246;
  border-radius: 6px;
  color: #183f2b;
  background: #edf5ef;
  font-weight: 900;
}

.wayfinder-provider-section {
  margin-top: 16px;
}

.wayfinder-provider-section h3 {
  margin-bottom: 10px;
  font-size: 20px;
}

.wayfinder-provider-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.wayfinder-provider-grid button {
  min-height: 70px;
  display: grid;
  align-content: center;
  gap: 3px;
  padding: 9px;
  border: 1px solid #cfc7b8;
  border-radius: 7px;
  color: #24332b;
  background: #fff;
}

.wayfinder-provider-grid button.is-selected {
  border-color: #b88b2d;
  color: #fff;
  background: #214b35;
  box-shadow: inset 0 0 0 2px #e5c66d;
}

.wayfinder-provider-grid span {
  font-size: 11px;
}

.wayfinder-start-button {
  width: 100%;
  min-height: 52px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin: 14px 0 9px;
  border: 1px solid #b88b2d;
  border-radius: 7px;
  color: #fff;
  background: #183f2b;
  box-shadow: 0 10px 22px rgba(24, 63, 43, 0.22);
  font-size: 17px;
  font-weight: 950;
}

.wayfinder-secondary-actions {
  justify-content: center;
}

.wayfinder-return {
  padding: 20px 8px;
  text-align: center;
}

.wayfinder-return-symbol {
  display: block;
  color: #b88b2d;
  font-size: 42px;
}

.wayfinder-return p {
  margin: 6px 0;
}

.wayfinder-return h3 {
  font-size: 32px;
}

.wayfinder-return-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.wayfinder-return-actions button:first-child {
  grid-column: 1 / -1;
  color: #fff;
  background: #183f2b;
  border-color: #b88b2d;
}

.wayfinder-memory-editor,
.wayfinder-rating {
  margin-top: 12px;
  padding: 12px;
  border: 1px solid #ded7c9;
  border-radius: 7px;
  background: #f7f3e8;
}

.wayfinder-memory-editor label,
.wayfinder-rating > span {
  display: block;
  margin-bottom: 7px;
  font-weight: 900;
}

.wayfinder-memory-editor textarea {
  width: 100%;
  resize: vertical;
  padding: 9px;
  border: 1px solid #bdb5a6;
  border-radius: 5px;
  background: #fff;
}

.wayfinder-rating div {
  display: grid;
  grid-template-columns: repeat(5, 44px);
  gap: 7px;
}

.wayfinder-rating button {
  width: 44px;
  padding: 0;
}

.wayfinder-not-yet {
  width: 100%;
  margin-top: 12px;
  color: #68726a;
}

@media (max-width: 620px) {
  .wayfinder-overlay {
    align-items: end;
    padding: 0;
  }

  .wayfinder-panel {
    width: 100%;
    max-height: calc(100dvh - env(safe-area-inset-top));
    padding: 16px 14px calc(18px + env(safe-area-inset-bottom));
    border-right: 0;
    border-bottom: 0;
    border-left: 0;
    border-radius: 8px 8px 0 0;
  }

  .wayfinder-header h2 {
    font-size: 24px;
  }

  .wayfinder-hero {
    min-height: 150px;
  }

  .wayfinder-hero h3 {
    font-size: 25px;
  }

  .wayfinder-facts,
  .wayfinder-status-row,
  .wayfinder-provider-grid {
    grid-template-columns: 1fr;
  }

  .wayfinder-provider-grid button {
    min-height: 52px;
    grid-template-columns: 1fr auto;
    align-items: center;
    text-align: left;
  }

  .wayfinder-return-actions {
    grid-template-columns: 1fr;
  }

  .wayfinder-return-actions button:first-child {
    grid-column: auto;
  }

  .stop-card-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
  }

  .mobile-sheet-actions {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .mobile-wayfinder-button {
    grid-column: span 2;
    color: #fff !important;
    background: #183f2b !important;
    border-color: #b88b2d !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .wayfinder-panel,
  .wayfinder-overlay {
    scroll-behavior: auto;
  }
}
.era-area-highlight {
  mix-blend-mode: multiply;
  pointer-events: none;
}
/* Premium Era destination */
body.eras-visible .era-panel{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr);gap:22px;padding:22px;overflow:hidden;border:1px solid rgba(230,190,102,.32);border-radius:24px;background:radial-gradient(circle at 8% 4%,rgba(225,181,84,.22),transparent 27%),radial-gradient(circle at 94% 12%,rgba(70,126,103,.28),transparent 32%),linear-gradient(145deg,#10261d 0%,#17382a 48%,#0d211a 100%);box-shadow:0 26px 70px rgba(7,25,18,.28);color:#fff9e9}
body.eras-visible .era-panel::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.16;background-image:linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px);background-size:36px 36px;mask-image:linear-gradient(90deg,#000,transparent 72%)}
body.eras-visible .era-panel-title{align-self:start;display:grid;gap:12px;padding:18px 8px 18px 4px}
body.eras-visible .era-panel-title .eyebrow{margin:0;color:#efc96f;font-size:11px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}
body.eras-visible .era-panel-title h2{max-width:230px;margin:0;color:#fffaf0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(31px,4vw,48px);font-weight:700;letter-spacing:-.035em;line-height:.96}
body.eras-visible .era-panel-title>p:not(.eyebrow){margin:0;color:rgba(255,250,235,.76);font-size:14px;line-height:1.55}
body.eras-visible .era-panel-title .era-panel-status{margin-top:8px;padding-top:14px;border-top:1px solid rgba(239,201,111,.25);color:#efcf84;font-size:11px;font-weight:800}
body.eras-visible .era-panel-body{display:grid;gap:14px;min-width:0}body.eras-visible .era-panel .panel-toggle-button{display:none}
body.eras-visible .era-timeline-strip{gap:8px;padding:2px 2px 8px;scrollbar-width:thin;scrollbar-color:#d9b55f rgba(255,255,255,.08)}
body.eras-visible .era-timeline-strip button{min-height:40px;padding:8px 13px;border:1px solid rgba(255,255,255,.15);border-radius:999px;background:rgba(255,255,255,.08);color:#f8eed5;backdrop-filter:blur(8px)}
body.eras-visible .era-timeline-strip button:hover,body.eras-visible .era-timeline-strip button:focus-visible{border-color:#e8c46e;background:rgba(232,196,110,.17);outline:none}
body.eras-visible .era-grid{grid-template-columns:repeat(3,minmax(190px,1fr));gap:14px}
body.eras-visible .era-card{position:relative;gap:12px;min-height:310px;padding:0 16px 16px;overflow:hidden;border:1px solid rgba(255,255,255,.14);border-radius:18px;background:linear-gradient(160deg,rgba(255,255,255,.98),rgba(246,239,219,.94));box-shadow:0 12px 28px rgba(4,20,14,.18);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
body.eras-visible .era-card:hover{transform:translateY(-3px);border-color:rgba(235,196,100,.75);box-shadow:0 18px 36px rgba(4,20,14,.28)}body.eras-visible .era-card.is-selected{border-color:#e8c46e;box-shadow:0 0 0 3px rgba(232,196,110,.2),0 18px 38px rgba(4,20,14,.3)}
body.eras-visible .era-card-banner{position:relative;display:grid;grid-template-columns:56px 1fr;align-items:center;gap:12px;min-height:104px;margin:0 -16px;padding:16px;background:linear-gradient(135deg,var(--era-base,#214b35),#10251b);color:#fff}
body.eras-visible .era-card-banner::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 88% 15%,var(--era-accent,#e8c46e),transparent 36%);opacity:.3}
body.eras-visible .era-card-banner>span{position:relative;z-index:1;display:grid;place-items:center;width:52px;height:52px;border:1px solid rgba(255,255,255,.32);border-radius:50%;background:rgba(255,255,255,.13);font-size:27px}body.eras-visible .era-card-banner div{position:relative;z-index:1}
body.eras-visible .era-card-banner small{display:block;margin-bottom:5px;color:#f3d589;font-size:10px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}body.eras-visible .era-card-banner h3{color:#fffdf5;font-family:Georgia,"Times New Roman",serif;font-size:19px;line-height:1.12}
body.eras-visible .era-card-top{justify-content:space-between;gap:8px}body.eras-visible .era-card-top span,body.eras-visible .era-card-top strong{padding:5px 9px;background:#e8f0e9;color:#224b38;font-size:10px}body.eras-visible .era-card-top strong{background:#f0d991;color:#382d11}
body.eras-visible .era-card>p{color:#39463d;font-size:13px;line-height:1.48}body.eras-visible .era-card-facts{display:none}body.eras-visible .era-card-actions{align-self:end;margin-top:auto}
body.eras-visible .era-card button,body.eras-visible .era-detail-actions button,body.eras-visible .era-place-link,body.eras-visible .era-related-link{min-height:42px;height:auto;border-radius:12px;cursor:pointer}body.eras-visible .era-card-actions button:first-child{background:#173f2d;color:#fff}body.eras-visible .era-card-actions button:last-child{background:#eed17f;color:#2a321e}
body.eras-visible .era-more-button{grid-column:1/-1;min-height:48px;border:1px dashed rgba(239,201,111,.5);border-radius:14px;background:rgba(255,255,255,.08);color:#fff3d0;font-weight:900;cursor:pointer}
body.eras-visible .era-detail-card{gap:16px;padding:clamp(18px,3vw,30px);border:1px solid rgba(232,196,110,.38);border-radius:20px;background:linear-gradient(155deg,#fffdf6,#f2ead7);box-shadow:0 16px 40px rgba(4,20,14,.24)}body.eras-visible .era-detail-hero{padding-bottom:16px;border-bottom:1px solid rgba(33,75,53,.16)}body.eras-visible .era-detail-hero span{color:#946d25;letter-spacing:.1em}body.eras-visible .era-detail-hero h3{color:#153e2b;font-family:Georgia,"Times New Roman",serif;font-size:clamp(28px,4vw,42px);letter-spacing:-.025em}body.eras-visible .era-detail-hero p{max-width:800px;color:#304238;font-size:15px;line-height:1.6}
body.eras-visible .era-detail-section{padding:14px;border-color:rgba(33,75,53,.13);border-radius:14px;background:rgba(255,255,255,.64)}body.eras-visible .era-detail-section h4{color:#173f2d;font-size:13px}body.eras-visible .era-trust-note{padding-top:12px;border-top:1px solid rgba(33,75,53,.12);color:#687167;font-size:10px}
@media(max-width:980px){body.eras-visible .era-panel{grid-template-columns:1fr;padding:16px;border-radius:18px}body.eras-visible .era-panel-title{padding:8px 4px}body.eras-visible .era-panel-title h2{max-width:none}body.eras-visible .era-panel-title .era-panel-status{display:none}body.eras-visible .era-grid{grid-template-columns:repeat(2,minmax(190px,1fr))}}
@media(max-width:620px){body.eras-visible .era-panel{gap:12px;padding:12px;border-radius:0}body.eras-visible .era-panel-title h2{font-size:34px}body.eras-visible .era-panel-title>p:not(.eyebrow):not(.era-panel-status){font-size:13px}body.eras-visible .era-grid{grid-template-columns:1fr}body.eras-visible .era-card{min-height:0}body.eras-visible .era-card-banner{min-height:92px}body.eras-visible .era-detail-card{max-height:none;overflow:visible;padding:18px 14px}body.eras-visible .era-detail-priority,body.eras-visible .era-detail-grid,body.eras-visible .era-detail-actions{grid-template-columns:1fr}}
.search-glossary-card {
  margin: 14px 0 12px;
  padding: 16px;
  border: 1px solid rgba(211, 169, 83, 0.48);
  border-radius: 16px;
  background: linear-gradient(145deg, rgba(24, 50, 54, 0.98), rgba(11, 31, 37, 0.98));
  box-shadow: 0 12px 28px rgba(3, 15, 19, 0.2);
  color: #f8f1df;
}

.search-glossary-heading,
.search-glossary-sources {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

.search-glossary-heading { justify-content: space-between; }
.search-glossary-heading span,
.search-glossary-sources > span {
  color: #e4bd68;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.search-glossary-heading strong { color: #dbe8df; font-size: 0.78rem; }
.search-glossary-card h3 { margin: 8px 0 6px; color: #fffaf0; font-size: 1.25rem; }
.search-glossary-card p { margin: 0; color: #e8e2d4; line-height: 1.55; }
.search-glossary-sources { margin-top: 12px; }
.search-glossary-sources a,
.search-glossary-sources small { color: #d9e8e2; font-size: 0.78rem; }
.search-glossary-sources a { text-decoration-color: rgba(228, 189, 104, 0.7); text-underline-offset: 3px; }

@media (max-width: 680px) {
  .search-glossary-card { padding: 14px; border-radius: 14px; }
  .search-glossary-heading { align-items: flex-start; flex-direction: column; gap: 3px; }
}


/* src/navigation/pastpath-navigation-drawer.css */
.pastpath-nav-drawer {
  gap:0;
  width:min(390px, calc(100vw - 20px));
  padding:0;
  border-radius:8px;
}
.pastpath-nav-header {
  padding:19px 18px 17px;
  border-radius:0;
  background:linear-gradient(120deg,rgba(16,54,38,.99),rgba(33,78,55,.97)),var(--woodgrain);
}
.pastpath-nav-intro {
  margin:0;
  padding:12px 18px;
  border-bottom:1px solid rgba(24,63,43,.12);
}
.pastpath-nav-content { gap:0; padding:0 10px 14px; }
.pastpath-nav-section,
.pastpath-nav-group {
  border:0;
  border-bottom:1px solid rgba(24,63,43,.12);
  border-radius:0;
  background:transparent;
}
.pastpath-nav-section > summary,
.pastpath-nav-group > summary {
  position:relative;
  display:block;
  padding:13px 34px 11px 8px;
}
.pastpath-nav-section > summary::after,
.pastpath-nav-group > summary::after {
  content:"+";
  position:absolute;
  top:11px;
  right:10px;
  color:#9a6f24;
  font-size:20px;
  line-height:1;
}
.pastpath-nav-section[open] > summary::after,
.pastpath-nav-group[open] > summary::after { content:"-"; }
.pastpath-nav-items { gap:2px; padding:0 0 9px; }
.pastpath-nav-group { margin-left:46px; border-bottom:0; }
.pastpath-nav-item {
  min-height:54px;
  padding:7px 9px;
  border:1px solid transparent;
  border-radius:6px;
  background:transparent;
}
.pastpath-nav-item:hover,
.pastpath-nav-item:focus-visible {
  border-color:rgba(202,162,74,.34);
  background:rgba(255,250,240,.9);
  transform:none;
}
.pastpath-nav-item.is-current {
  background:linear-gradient(90deg,rgba(226,241,230,.98),rgba(255,253,248,.3));
  box-shadow:inset 3px 0 0 var(--forest);
}
.pastpath-nav-icon {
  border:1px solid rgba(174,126,43,.35);
  border-radius:50%;
  color:#173f2d;
  background:#fbf3df;
  font:700 20px/1 Georgia,"Times New Roman",serif;
}
.pastpath-nav-icon svg { width:21px; height:21px; }
.pastpath-nav-icon .nav-icon-dot { width:8px; height:8px; border:2px solid currentColor; border-radius:50%; background:rgba(202,162,74,.24); }
.pastpath-nav-copy small { display:block; }


/* src/discovery/pastpath-discovery-home.css */
.discovery-home {
  display:grid;
  gap:12px;
  padding:14px;
  border:1px solid rgba(228,200,120,.4);
  border-radius:8px;
  color:#f8f3e6;
  background:rgba(10,29,20,.9);
  box-shadow:0 18px 42px rgba(5,16,11,.28);
}
.discovery-home-header span,
.discovery-spotlight-copy > span {
  color:#e4c878;
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
}
.discovery-home-header h2 {
  margin:3px 0 0;
  color:#fffdf8;
  font:24px/1.08 Georgia,"Times New Roman",serif;
}
.discovery-spotlight {
  display:grid;
  grid-template-columns:82px minmax(0,1fr);
  gap:11px;
  min-width:0;
  padding:10px;
  border:1px solid rgba(228,200,120,.34);
  border-radius:8px;
  color:#1c3225;
  background:#fffdf8;
  box-shadow:0 12px 24px rgba(4,12,8,.2);
}
.discovery-spotlight.is-changing {
  animation:discovery-card-in .3s ease-out;
}
.discovery-spotlight-visual {
  position:relative;
  overflow:hidden;
  display:grid;
  min-height:82px;
  place-items:center;
  border-radius:7px;
  color:var(--spotlight-accent,#f2d779);
  background:var(--spotlight-base,#214b35);
  background-position:center;
  background-size:cover;
  font-size:31px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.2);
}
.discovery-spotlight-visual.has-photo span {
  padding:5px 8px;
  border-radius:7px;
  background:rgba(11,24,16,.7);
  backdrop-filter:blur(3px);
}
.discovery-spotlight-copy {
  min-width:0;
}
.discovery-spotlight-copy h3,
.discovery-spotlight-copy p,
.discovery-spotlight-copy small {
  max-width:100%;
  overflow-wrap:anywhere;
}
.discovery-spotlight-copy h3 {
  margin:3px 0 4px;
  color:#183f2b;
  font:18px/1.08 Georgia,"Times New Roman",serif;
}
.discovery-spotlight-copy p {
  display:-webkit-box;
  overflow:hidden;
  margin:0;
  color:#394b3e;
  font-size:11.5px;
  line-height:1.35;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
}
.discovery-spotlight-copy small {
  display:block;
  margin-top:5px;
  color:#6a725f;
  font-size:10px;
  font-weight:750;
}
.discovery-spotlight-actions {
  grid-column:1/-1;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:7px;
}
.discovery-spotlight-actions button,
.discovery-quick-actions button {
  min-height:38px;
  border:1px solid rgba(33,75,53,.2);
  border-radius:7px;
  color:#183f2b;
  background:#f6e7b5;
  font-size:11px;
  font-weight:900;
  cursor:pointer;
}
.discovery-spotlight-actions button:first-child {
  color:#fffdf8;
  background:#214b35;
}
.discovery-action-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
}
.discovery-action-grid button {
  display:grid;
  grid-template-columns:36px minmax(0,1fr);
  align-items:center;
  gap:8px;
  min-width:0;
  min-height:52px;
  padding:7px 9px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:8px;
  color:#fffdf8;
  text-align:left;
  background:rgba(255,255,255,.08);
  cursor:pointer;
}
.discovery-action-grid button:is(:hover,:focus-visible),
.discovery-spotlight-actions button:is(:hover,:focus-visible),
.discovery-quick-actions button:is(:hover,:focus-visible) {
  transform:translateY(-1px);
  border-color:rgba(228,200,120,.7);
}
.discovery-action-grid button > span {
  display:grid;
  width:36px;
  height:36px;
  place-items:center;
  border-radius:7px;
  color:#183f2b;
  background:#e4c878;
  font-size:10px;
  font-weight:950;
}
.discovery-action-grid button strong {
  min-width:0;
  font-size:12px;
  line-height:1.15;
  overflow-wrap:anywhere;
}
.discovery-action-grid button.is-surprise {
  border-color:rgba(228,200,120,.46);
  background:rgba(111,35,55,.5);
}
.discovery-quick-actions {
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.discovery-quick-actions button {
  flex:1 1 64px;
  min-height:34px;
  color:#f8f3e6;
  background:rgba(255,255,255,.07);
}
.route-form[hidden] {
  display:none !important;
}
.route-card-header {
  grid-template-columns:minmax(0,1fr) auto auto;
}
.route-card-header h2 {
  margin-right:auto;
}
.search-panel-close {
  min-width:40px;
  min-height:36px;
  padding:6px 9px;
  border:1px solid rgba(33,75,53,.28);
  border-radius:7px;
  color:#173c2a;
  background:#fffaf0;
  font-size:11px;
  font-weight:900;
  cursor:pointer;
}
body.discovery-flight .route-map {
  box-shadow:0 0 0 2px rgba(228,200,120,.42),0 24px 54px rgba(8,20,14,.22);
}
.surprise-reveal{position:relative;z-index:6;margin:12px 0;padding:16px;border:1px solid #cda44c;border-radius:12px;color:#fff9e8;background:linear-gradient(135deg,#341726,#172d23);box-shadow:0 18px 38px rgba(8,15,11,.3)}.surprise-reveal[hidden]{display:none}.surprise-reveal>span{display:block;color:#f1cf7a;font-size:11px;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.surprise-reveal>strong{display:block;margin-top:4px;font:700 23px/1.08 Georgia,serif}.surprise-reveal>p{margin:7px 0 12px;color:#f5ead0;line-height:1.45}.surprise-reveal>div{display:flex;flex-wrap:wrap;gap:7px}.surprise-reveal button{min-height:44px;padding:8px 13px;border:1px solid #e0bd65;border-radius:7px;color:#2d2113;background:#f1d486;font-weight:900}.surprise-reveal button+button{color:#fff8e5;background:#3e2d28}.surprise-reveal.is-arriving{animation:surprise-reveal-in .42s ease-out both}@keyframes surprise-reveal-in{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}@media(max-width:720px){.surprise-reveal{margin:10px 0;padding:14px}.surprise-reveal>div{display:grid}.surprise-reveal button{width:100%}}@media(prefers-reduced-motion:reduce){.surprise-reveal.is-arriving{animation:none}}
.place-card-toolbar .surprise-story-again{min-height:40px;padding:7px 10px;border-color:#d7ad50;color:#2d2113;background:#f0cf78;font-weight:900}
.chapter-panel .filter-button:not(.chapter-more-button) {
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  align-items:center;
  gap:8px;
  border-color:color-mix(in srgb,var(--chapter-base) 28%,#d8cba8);
  background:linear-gradient(180deg,#fffdf8,color-mix(in srgb,var(--chapter-accent) 34%,#fffdf8));
}
.chapter-symbol {
  display:grid;
  width:34px;
  height:34px;
  place-items:center;
  border-radius:7px;
  color:#fff;
  background:var(--chapter-base,#214b35);
  font-size:17px;
}
.chapter-copy {
  display:grid;
  gap:2px;
  min-width:0;
}
.chapter-copy strong,
.chapter-copy small {
  min-width:0;
  overflow-wrap:anywhere;
}
.chapter-copy small {
  color:#647064;
  font-size:10px;
  font-weight:800;
}
.era-card-banner {
  display:grid;
  grid-template-columns:46px minmax(0,1fr);
  align-items:center;
  gap:9px;
  min-height:66px;
  margin:-12px -12px 0;
  padding:10px 12px;
  color:#fff;
  background:var(--era-base,#214b35);
}
.era-card-banner > span {
  display:grid;
  width:46px;
  height:46px;
  place-items:center;
  border:1px solid rgba(255,255,255,.28);
  border-radius:7px;
  color:var(--era-accent,#f2d779);
  background:rgba(255,255,255,.1);
  font-size:23px;
}
.era-card-banner small {
  display:block;
  margin-bottom:3px;
  color:var(--era-accent,#f2d779);
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
}
.era-card .era-card-banner h3 {
  color:#fff;
  font:18px/1.08 Georgia,"Times New Roman",serif;
}
.era-card-facts {
  display:grid;
  gap:5px;
}
.era-card-facts span {
  display:grid;
  grid-template-columns:78px minmax(0,1fr);
  gap:6px;
  min-width:0;
  padding:6px 7px;
  border:1px solid rgba(33,75,53,.1);
  border-radius:7px;
  color:#445447;
  background:#f8f4e8;
  font-size:10px;
  line-height:1.25;
  overflow-wrap:anywhere;
}
.era-card-facts strong {
  color:#214b35;
}
.era-more-button {
  grid-column:1 / -1;
  min-height:44px;
  border:1px solid rgba(33,75,53,.22);
  border-radius:7px;
  color:#214b35;
  background:#fffaf0;
  font-weight:900;
  cursor:pointer;
}
@keyframes discovery-card-in {
  from { opacity:.55; transform:translateY(4px); }
  to { opacity:1; transform:translateY(0); }
}
@media (prefers-reduced-motion:reduce) {
  .discovery-spotlight.is-changing { animation:none; }
  .discovery-action-grid button,
  .discovery-spotlight-actions button,
  .discovery-quick-actions button { transform:none !important; }
}
@media (max-width:980px) {
  .discovery-home {
    margin:0 16px;
  }
}
@media (max-width:620px) {
  .discovery-home {
    order:2;
    gap:9px;
    margin:8px 16px 0;
    padding:11px;
  }
  .discovery-home-header h2 {
    font-size:20px;
  }
  .discovery-spotlight {
    grid-template-columns:68px minmax(0,1fr);
    gap:9px;
    padding:8px;
  }
  .discovery-spotlight-visual {
    min-height:70px;
    font-size:26px;
  }
  .discovery-spotlight-copy h3 { font-size:16px; }
  .discovery-spotlight-copy p { -webkit-line-clamp:2; }
  .discovery-spotlight-copy small { display:none; }
  .discovery-spotlight-actions button { min-height:36px; }
  .discovery-action-grid button {
    min-height:48px;
    padding:6px 8px;
  }
  .discovery-quick-actions button { min-height:32px; }
  body.explore-panel-open {
    overflow:hidden;
  }
  body.explore-panel-open .app-shell::after {
    content:"";
    position:fixed;
    z-index:1900;
    inset:0;
    background:rgba(5,13,9,.58);
    backdrop-filter:blur(3px);
  }
  body.explore-panel-open .route-card {
    position:fixed;
    z-index:2000;
    right:10px;
    bottom:10px;
    left:10px;
    max-height:calc(100dvh - 20px);
    overflow-y:auto;
    overscroll-behavior:contain;
    margin:0;
  }
  body.trip-tools-visible .trip-tools-drawer {
    position:fixed;
    z-index:2000;
    inset:10px;
    display:grid;
    overflow-y:auto;
    overscroll-behavior:contain;
    margin:0;
    padding-bottom:12px;
    color:#fffdf8;
    background:#102b1e;
    box-shadow:0 20px 52px rgba(4,12,8,.42);
  }
  body.trip-tools-visible .app-shell::after {
    content:"";
    position:fixed;
    z-index:1900;
    inset:0;
    background:rgba(5,13,9,.62);
  }
  body.chapters-visible .workspace .chapter-panel {
    display:grid;
  }
}


/* src/aurora/pastpath-aurora.css */
:root {
  --aurora-ink:#0b2f49;
  --aurora-ink-soft:#244b62;
  --aurora-cream:#fbf6eb;
  --aurora-paper:#fffdf7;
  --aurora-gold:#bc7926;
  --aurora-gold-bright:#e7b95b;
  --aurora-teal:#218b88;
  --aurora-green:#477c58;
  --aurora-red:#9a4141;
  --aurora-purple:#635aa4;
  --aurora-blue:#1976a3;
  --aurora-line:rgba(48,67,69,.16);
  --aurora-shadow:0 18px 42px rgba(39,43,39,.14);
  --aurora-shadow-soft:0 9px 24px rgba(39,43,39,.11);
}

.visually-hidden {
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
}

html {
  background:#d9d3c5;
}

body.aurora-ui {
  color:#182b35;
  background:
    linear-gradient(180deg, rgba(255,253,247,.98), rgba(241,235,220,.98)),
    #f5efe2;
}

body.aurora-ui::before {
  z-index:-2;
  background:url("assets/historical-study-bg-sharp.png") center / cover fixed no-repeat;
  filter:saturate(.82) contrast(.9) brightness(1.18);
  opacity:.12;
}

body.aurora-ui::after {
  z-index:-1;
  background:
    linear-gradient(90deg, rgba(255,253,247,.92), rgba(255,253,247,.68) 48%, rgba(232,242,239,.5)),
    linear-gradient(180deg, rgba(255,255,255,.45), rgba(222,231,220,.3));
}

body.aurora-ui button,
body.aurora-ui a,
body.aurora-ui input,
body.aurora-ui select,
body.aurora-ui summary {
  transition:border-color 160ms ease, background-color 160ms ease, box-shadow 160ms ease, color 160ms ease, transform 160ms ease, opacity 160ms ease;
}

body.aurora-ui h1,
body.aurora-ui .discovery-home-header h2,
body.aurora-ui .discovery-spotlight-copy h3,
body.aurora-ui .aurora-daily-card h2 {
  color:var(--aurora-ink);
  font-family:Georgia, "Times New Roman", serif;
  font-weight:700;
  letter-spacing:0;
}

.aurora-ui .pastpath-menu-button {
  top:24px;
  left:24px;
  display:grid;
  width:54px;
  min-height:54px;
  place-items:center;
  padding:0;
  border:1px solid rgba(147,113,65,.18);
  border-radius:50%;
  color:var(--aurora-ink);
  background:rgba(255,252,244,.94);
  box-shadow:0 9px 24px rgba(54,48,38,.16);
  backdrop-filter:blur(10px);
}

.aurora-ui .pastpath-menu-button:hover,
.aurora-ui .pastpath-menu-button:focus-visible {
  transform:translateY(-2px);
  border-color:rgba(188,121,38,.42);
  box-shadow:0 13px 30px rgba(54,48,38,.2);
}

.aurora-ui .pastpath-menu-button span,
.aurora-ui .pastpath-menu-button span::before,
.aurora-ui .pastpath-menu-button span::after {
  width:22px;
  height:3px;
  background:var(--aurora-ink);
}

.aurora-ui .pastpath-menu-button span::before { top:-7px; }
.aurora-ui .pastpath-menu-button span::after { top:7px; }

.aurora-ui .pastpath-nav-backdrop {
  background:rgba(7,31,47,.46);
  backdrop-filter:blur(8px);
}

.aurora-ui .pastpath-nav-drawer {
  border-color:rgba(188,121,38,.24);
  background:rgba(255,253,247,.98);
  box-shadow:0 28px 90px rgba(7,31,47,.28);
}

.aurora-ui .pastpath-nav-header {
  color:#fff;
  background:var(--aurora-ink);
}

.aurora-ui .pastpath-nav-header p { color:var(--aurora-gold-bright); }
.aurora-ui .pastpath-nav-header h2 { color:#fff; }
.aurora-ui .pastpath-nav-item.is-current { box-shadow:inset 4px 0 0 var(--aurora-gold); }
.aurora-ui .pastpath-nav-icon { background:var(--aurora-ink); }

.aurora-ui .app-shell {
  grid-template-columns:minmax(360px, 440px) minmax(0, 1fr);
  gap:18px;
  width:min(1720px, 100%);
  min-height:100vh;
  margin:0 auto;
  padding:0 22px;
  background:transparent;
}

.aurora-ui .sidebar {
  position:sticky;
  top:0;
  align-self:start;
  gap:14px;
  max-height:100vh;
  padding:20px 0 24px;
  border:0;
  background:transparent;
  box-shadow:none;
  overflow-y:auto;
  scrollbar-width:thin;
}

.aurora-ui .brand-row {
  overflow:visible;
  justify-content:space-between;
  min-height:78px;
  padding:0 0 0 72px;
  border:0;
  background:transparent;
  box-shadow:none;
}

.aurora-ui .brand-row::after,
.aurora-ui .map-panel::after,
.aurora-ui .discovery-spotlight::after {
  display:none;
}

.aurora-ui .brand-copy {
  display:flex;
  align-items:flex-start;
  gap:8px;
  min-width:0;
}

.aurora-ui .brand-compass {
  margin-top:-5px;
  color:var(--aurora-gold);
  font-size:26px;
  line-height:1;
}

.aurora-ui .brand-row h1 {
  font-size:42px;
  line-height:.95;
}

.aurora-ui .brand-row p {
  margin-top:9px;
  color:#87571e;
  font-size:10px;
  font-weight:900;
  letter-spacing:.11em;
  line-height:1.2;
  text-transform:uppercase;
}

.aurora-world-button {
  flex:0 0 auto;
  display:grid;
  width:auto;
  min-height:38px;
  place-items:center;
  padding:0;
  border:1px solid rgba(188,121,38,.22);
  gap:7px;
  border-radius:999px;
  color:var(--aurora-gold);
  background:rgba(255,252,244,.9);
  box-shadow:var(--aurora-shadow-soft);
  font-size:18px;
}
.aurora-world-button strong { font:800 11px/1 system-ui,sans-serif; }
.brand-actions { display:flex; align-items:center; gap:8px; margin-left:auto; }

.aurora-world-button:hover,
.aurora-world-button:focus-visible {
  transform:translateY(-1px);
  border-color:rgba(188,121,38,.52);
}

.aurora-ui .discovery-home {
  display:grid;
  gap:14px;
  padding:10px 0 0;
  border:0;
  color:#182b35;
  background:transparent;
  box-shadow:none;
}

.aurora-ui .discovery-home-header span {
  color:var(--aurora-gold);
  font-size:11px;
  letter-spacing:.06em;
}

.aurora-ui .discovery-home-header h2 {
  max-width:410px;
  margin:6px 0 0;
  font-size:44px;
  line-height:1.05;
}

.aurora-search {
  display:grid;
  grid-template-columns:34px minmax(0, 1fr) 50px;
  align-items:center;
  min-height:62px;
  padding:6px 7px 6px 17px;
  border:1px solid rgba(112,103,85,.16);
  border-radius:999px;
  background:rgba(255,253,247,.95);
  box-shadow:0 12px 28px rgba(70,62,48,.13);
}

.aurora-search:focus-within {
  border-color:rgba(188,121,38,.48);
  box-shadow:0 14px 34px rgba(70,62,48,.17), 0 0 0 4px rgba(231,185,91,.14);
}

.aurora-search.is-waiting .aurora-search-submit {
  animation:aurora-search-ready 850ms ease-in-out infinite alternate;
}

.aurora-search-icon {
  position:relative;
  width:21px;
  height:21px;
  border:3px solid #657077;
  border-radius:50%;
}

.aurora-search-icon::after {
  content:"";
  position:absolute;
  right:-8px;
  bottom:-5px;
  width:10px;
  height:3px;
  border-radius:2px;
  background:#657077;
  transform:rotate(45deg);
}

.aurora-search input {
  width:100%;
  min-width:0;
  min-height:46px;
  padding:0 10px;
  border:0;
  outline:0;
  color:#263a43;
  background:transparent;
  font-size:15px;
}

.aurora-search input::placeholder { color:#74797b; opacity:1; }

.aurora-search-submit {
  display:grid;
  width:48px;
  min-height:48px;
  place-items:center;
  padding:0;
  border:1px solid rgba(255,255,255,.24);
  border-radius:50%;
  color:#fff;
  background:var(--aurora-ink);
  box-shadow:0 7px 16px rgba(11,47,73,.25);
  font-size:24px;
}

.aurora-search-submit:hover,
.aurora-search-submit:focus-visible {
  transform:translateY(-1px) rotate(-4deg);
  background:#0f496f;
}

.aurora-search-panel { position:relative; z-index:40; display:grid; gap:5px; max-height:390px; margin-top:-7px; padding:9px; overflow:auto; border:1px solid rgba(188,121,38,.34); border-radius:18px; color:#24372f; background:#fffdf7; box-shadow:0 20px 45px rgba(23,31,27,.24); }
.aurora-search-panel[hidden] { display:none; }
.aurora-search-panel header { display:grid; gap:2px; padding:4px 7px 7px; }
.aurora-search-panel header strong { font-size:12px; }
.aurora-search-panel header span { color:#68736c; font-size:11px; }
.aurora-search-panel button { display:grid; grid-template-columns:84px minmax(0,1fr); gap:2px 9px; min-height:54px; padding:8px 10px; border:1px solid rgba(33,75,53,.13); border-radius:11px; color:#183f2b; background:#fff; text-align:left; cursor:pointer; }
.aurora-search-panel button:is(:hover,[aria-selected="true"]) { border-color:#c4953d; background:#fff6dc; }
.aurora-search-panel button>span { grid-row:1/3; align-self:center; color:#88651f; font-size:10px; font-weight:900; letter-spacing:.05em; text-transform:uppercase; }
.aurora-search-panel button>strong { font-size:14px; }
.aurora-search-panel button>small { color:#667169; overflow-wrap:anywhere; }

@keyframes aurora-search-ready {
  from { opacity:.62; transform:scale(.94); }
  to { opacity:1; transform:scale(1); }
}

.aurora-ui .discovery-action-grid {
  display:grid;
  grid-template-columns:repeat(5, minmax(0, 1fr));
  gap:8px;
}

.aurora-ui .discovery-action-grid .aurora-discovery-card {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  display:block;
  min-width:0;
  min-height:205px;
  padding:0;
  border:2px solid rgba(255,255,255,.72);
  border-radius:8px;
  color:#fff;
  background:#385c70;
  box-shadow:0 12px 26px rgba(25,46,57,.18);
  text-align:left;
  transform:translateY(0);
}

.aurora-ui .aurora-discovery-card::after {
  content:"";
  position:absolute;
  z-index:1;
  inset:0;
  background:linear-gradient(180deg, rgba(8,29,43,.62) 0%, rgba(8,29,43,.1) 45%, rgba(8,29,43,.12) 100%);
  pointer-events:none;
}

.aurora-ui .aurora-discovery-card:hover,
.aurora-ui .aurora-discovery-card:focus-visible {
  transform:translateY(-4px);
  border-color:#fff8df;
  box-shadow:0 17px 34px rgba(25,46,57,.25);
}

.aurora-ui .aurora-discovery-card.is-pressed { transform:translateY(-1px) scale(.985); }
.aurora-ui .aurora-discovery-card.is-loading {
  cursor:progress;
  filter:saturate(.82);
}
.aurora-ui .aurora-discovery-card.is-loading::after {
  content:"Choosing a verified place…";
  display:grid;
  place-items:center;
  background:rgba(18,13,8,.78);
  color:#fff3cf;
  font-size:13px;
  font-weight:900;
  letter-spacing:.02em;
}

.aurora-ui .aurora-card-art {
  position:absolute;
  z-index:0;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  border:0;
  border-radius:0;
  background-image:url("assets/aurora/discovery-card-atlas.webp");
  background-repeat:no-repeat;
  background-size:400% 100%;
}

.aurora-ui .is-surprise .aurora-card-art { background-position:0 50%; }
.aurora-ui .is-nearby .aurora-card-art { background-position:33.333% 50%; }
.aurora-ui .is-today .aurora-card-art { background-position:66.666% 50%; }
.aurora-ui .is-eras .aurora-card-art { background-position:100% 50%; }
.aurora-ui .is-roadtrip .aurora-card-art {
  background-position:33.333% 50%;
  filter:sepia(.38) saturate(1.25) brightness(.82);
}
.aurora-ui .is-chapters .aurora-card-art { background-position:0 50%; filter:sepia(.18) saturate(1.15) brightness(.88); }
.aurora-ui .is-unesco .aurora-card-art { background-position:100% 50%; filter:saturate(1.12) brightness(.86); }
.aurora-ui .is-native-lands .aurora-card-art { background-position:33.333% 50%; filter:sepia(.34) saturate(1.3) brightness(.78); }

.aurora-ui .aurora-card-copy {
  position:relative;
  z-index:2;
  display:grid;
  width:auto;
  height:auto;
  gap:3px;
  padding:14px 10px;
  border:0;
  border-radius:0;
  color:#fff;
  background:transparent;
  text-shadow:0 2px 8px rgba(5,20,30,.62);
}

.aurora-ui .aurora-card-copy strong {
  font-size:15px;
  line-height:1.08;
  overflow-wrap:anywhere;
}

.aurora-ui .aurora-card-copy small {
  display:block;
  color:rgba(255,255,255,.95);
  font-size:10.5px;
  font-weight:700;
  line-height:1.25;
  overflow-wrap:anywhere;
}

.aurora-ui .discovery-quick-actions {
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:8px;
}

.aurora-ui .discovery-quick-actions button {
  min-height:44px;
  border-color:rgba(11,47,73,.14);
  color:var(--aurora-ink);
  background:rgba(255,253,247,.86);
  box-shadow:0 7px 17px rgba(53,61,56,.08);
  font-size:12px;
}

.aurora-ui .discovery-quick-actions button:hover,
.aurora-ui .discovery-quick-actions button:focus-visible {
  border-color:rgba(188,121,38,.45);
  background:#fffdf7;
}

.aurora-ui .discovery-quick-actions button span {
  margin-right:5px;
  color:var(--aurora-gold);
}

.aurora-ui .discovery-quick-actions #continueDiscoveryButton {
  grid-column:1 / -1;
  white-space:normal;
  overflow-wrap:anywhere;
}

.aurora-ui .sidebar > .trip-tools-drawer,
.aurora-ui .sidebar > .project-tools-drawer {
  display:none;
}

body.aurora-ui.trip-tools-visible .sidebar > .trip-tools-drawer {
  display:grid;
}
body.aurora-ui.trip-tools-visible .trip-tools-drawer[data-active-tool] > .trip-tool-section,
body.aurora-ui.trip-tools-visible .trip-tools-drawer[data-active-tool] > .place-votes,
body.aurora-ui.trip-tools-visible .trip-tools-drawer[data-active-tool] > summary { display:none; }
body.aurora-ui.trip-tools-visible .trip-tools-drawer[data-active-tool="passport"] > [data-trip-tool="passport"],
body.aurora-ui.trip-tools-visible .trip-tools-drawer[data-active-tool="saved"] > [data-trip-tool="saved"] { display:block; }
body.aurora-ui.trip-tools-visible .trip-tools-drawer[data-active-tool] > .trip-tools-toolbar { color:#f4dfac; background:#20160e; }
body.aurora-ui.trip-tools-visible .trip-tools-drawer[data-active-tool] > .trip-tools-toolbar strong { color:#d4aa55; }

body.aurora-ui.pastpath-nav-open .aurora-bottom-nav {
  opacity:0;
  pointer-events:none;
  transform:translateY(12px);
}

.aurora-ui .workspace {
  display:flex;
  flex-direction:column;
  gap:14px;
  min-width:0;
  padding:20px 0 32px;
  background:transparent;
}

.aurora-ui .workspace .map-panel { order:1; }
.aurora-ui .workspace .aurora-featured { order:2; }
.aurora-ui .workspace .aurora-daily-card { order:3; }
.aurora-ui .workspace .chapter-panel { order:4; }
.aurora-ui .workspace .story-path-panel,
.aurora-ui .workspace .era-panel { order:5; }
.aurora-ui .workspace .content-grid { order:6; }
.aurora-ui .workspace .timeline-panel { order:7; }

.aurora-ui .map-panel {
  overflow:hidden;
  border:1px solid rgba(67,91,90,.2);
  border-radius:8px;
  background:#dcebe3;
  box-shadow:0 24px 56px rgba(26,51,56,.2);
}

.aurora-ui .map-panel::before {
  inset:52px 0 34px;
  z-index:460;
  background:linear-gradient(180deg, rgba(255,252,233,.11), transparent 22%, transparent 80%, rgba(11,47,73,.08));
  mix-blend-mode:normal;
  opacity:1;
}

.aurora-ui .map-toolbar {
  min-height:54px;
  padding:8px 10px 8px 16px;
  border-bottom:1px solid rgba(11,47,73,.13);
  color:var(--aurora-ink);
  background:rgba(255,253,247,.96);
  box-shadow:none;
}

.aurora-ui .map-toolbar strong {
  color:var(--aurora-ink);
  font:700 19px/1 Georgia, "Times New Roman", serif;
  text-shadow:none;
}

.aurora-ui .map-toolbar strong::after { display:none !important; }
.aurora-ui .map-tool-button {
  min-height:38px;
  padding:7px 10px;
  border-color:rgba(11,47,73,.16);
  color:var(--aurora-ink);
  background:#eef4ef;
  box-shadow:none;
  font-size:11px;
}

.aurora-ui .map-tool-button:hover,
.aurora-ui .map-tool-button:focus-visible {
  border-color:rgba(188,121,38,.42);
  color:#fff;
  background:var(--aurora-ink);
  box-shadow:0 7px 18px rgba(11,47,73,.18);
}

.aurora-ui #mapStyleSelect,
.aurora-ui #verifiedImportLayerButton { display:none !important; }

.aurora-ui .route-map {
  height:min(76vh, 770px);
  min-height:610px;
  background:linear-gradient(135deg, #badfcf, #89c9d2);
}

.aurora-ui .route-map::before {
  top:12px;
  right:12px;
  max-width:min(240px, calc(100% - 24px));
  border-color:rgba(255,255,255,.56);
  color:#fff;
  background:rgba(11,47,73,.78);
  backdrop-filter:blur(8px);
}

.aurora-ui .map-legend {
  border-top:1px solid rgba(11,47,73,.12);
  color:#354d56;
  background:rgba(255,253,247,.96);
}

.aurora-featured {
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:minmax(240px, 42%) minmax(0, 1fr) auto;
  align-items:center;
  gap:18px;
  min-height:220px;
  padding:14px;
  border:1px solid rgba(232,195,112,.42);
  border-radius:8px;
  color:#fff;
  background:#092a40;
  box-shadow:0 20px 46px rgba(11,47,73,.24);
}

.aurora-featured .discovery-spotlight-visual {
  min-height:190px;
  border-radius:7px;
  font-size:40px;
}

.aurora-featured .discovery-spotlight-copy > span,
.aurora-featured .discovery-spotlight-copy small { color:var(--aurora-gold-bright); }

.aurora-ui .aurora-featured .discovery-spotlight-copy h3 {
  margin:7px 0 8px;
  color:#fff;
  font-size:35px;
  line-height:1;
}

.aurora-featured .discovery-spotlight-copy p {
  display:block;
  max-width:58ch;
  color:rgba(255,255,255,.88);
  font-size:14px;
  line-height:1.45;
}

.aurora-featured .discovery-spotlight-copy small {
  margin-top:9px;
  font-size:11px;
}

.aurora-featured .discovery-spotlight-actions {
  grid-column:auto;
  display:grid;
  grid-template-columns:1fr;
  width:170px;
}

.aurora-featured .discovery-spotlight-actions button {
  min-height:45px;
  border-color:rgba(255,255,255,.24);
  color:#fff;
  background:rgba(255,255,255,.1);
}

.aurora-featured .discovery-spotlight-actions button:first-child {
  color:#1e2a2e;
  background:#f8e7bb;
}

.aurora-featured .discovery-spotlight-actions button:hover,
.aurora-featured .discovery-spotlight-actions button:focus-visible {
  transform:translateY(-2px);
  border-color:var(--aurora-gold-bright);
}

.aurora-daily-card {
  display:grid;
  grid-template-columns:62px minmax(0, 1fr) auto;
  align-items:center;
  gap:15px;
  min-height:120px;
  padding:16px 18px;
  border:1px solid rgba(188,121,38,.19);
  border-radius:8px;
  background:rgba(255,253,247,.94);
  box-shadow:var(--aurora-shadow-soft);
}

.aurora-daily-symbol {
  display:grid;
  width:58px;
  height:58px;
  place-items:center;
  border-radius:50%;
  color:#fff8dc;
  background:var(--aurora-gold);
  font-size:27px;
}

.aurora-daily-card > div:nth-child(2) > span {
  color:var(--aurora-gold);
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
}

.aurora-daily-card h2 {
  margin:3px 0 4px;
  font-size:24px;
}

.aurora-daily-card p {
  max-width:65ch;
  color:#4f6065;
  font-size:13px;
  line-height:1.4;
}

.aurora-daily-card button {
  min-height:44px;
  padding:10px 14px;
  border:1px solid rgba(11,47,73,.14);
  border-radius:8px;
  color:var(--aurora-ink);
  background:#edf3ef;
  font-size:12px;
  font-weight:900;
}

.aurora-daily-card button:hover,
.aurora-daily-card button:focus-visible {
  transform:translateY(-2px);
  color:#fff;
  background:var(--aurora-ink);
}

.aurora-ui .chapter-panel,
.aurora-ui .era-panel,
.aurora-ui .story-path-panel,
.aurora-ui .results-column,
.aurora-ui .detail-panel,
.aurora-ui .timeline-panel {
  border-color:var(--aurora-line);
  background:rgba(255,253,247,.96);
  box-shadow:var(--aurora-shadow-soft);
}

.aurora-ui .chapter-panel::after,
.aurora-ui .story-path-panel::after,
.aurora-ui .timeline-panel::after,
.aurora-ui .results-column::after,
.aurora-ui .detail-panel::after { display:none; }

.aurora-bottom-nav { display:none; }

.aurora-ui .route-card-header {
  border-bottom-color:rgba(231,185,91,.28);
  color:#fff;
  background:var(--aurora-ink);
}

.aurora-ui .route-card-header h2 { color:#fff; text-shadow:none; }
.aurora-ui .route-card-header :is(.search-panel-close, .icon-button) {
  border-color:rgba(255,255,255,.26);
  color:#fff;
  background:rgba(255,255,255,.1);
}
.aurora-ui .mode-tab.is-active,
.aurora-ui .route-actions .primary-button {
  color:#fff;
  background:var(--aurora-ink);
}
.aurora-ui .route-field:focus-within { border-color:rgba(188,121,38,.5); }

.aurora-ui .leaflet-popup-content-wrapper,
.aurora-ui .leaflet-popup-content,
.aurora-ui .museum-popup,
.aurora-ui .museum-popup * {
  max-width:100%;
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:normal;
}

.aurora-ui .leaflet-popup-content-wrapper {
  width:min(370px, calc(100vw - 42px));
  border-radius:8px;
}

.aurora-ui .leaflet-popup-content {
  width:auto !important;
  min-width:0;
  margin:12px;
}

.aurora-ui .daily-discovery-header {
  border-bottom-color:rgba(231,185,91,.3);
  color:#fff;
  background:var(--aurora-ink);
}

.aurora-ui .daily-discovery-header p { color:var(--aurora-gold-bright); }
.aurora-ui .daily-discovery-header h2 { color:#fff; }
.aurora-ui .daily-discovery-header button {
  border-color:rgba(255,255,255,.3);
  color:#fff;
  background:rgba(255,255,255,.1);
}
.aurora-ui .daily-near-result,
.aurora-ui .daily-card,
.aurora-ui .daily-story-view { border-color:rgba(11,47,73,.16); }
.aurora-ui :is(.daily-near-button, .daily-section-heading button, .daily-story-actions button) {
  color:#fff;
  background:var(--aurora-ink);
}

.aurora-ui .mobile-place-sheet {
  border-color:rgba(188,121,38,.34);
  background:rgba(255,253,247,.98);
  box-shadow:0 -20px 50px rgba(11,47,73,.24);
}
.aurora-ui .mobile-sheet-handle {
  border-color:rgba(11,47,73,.17);
  color:var(--aurora-ink);
  background:#f6e7bd;
}
.aurora-ui .mobile-sheet-actions button {
  border-color:rgba(255,255,255,.24);
  color:#fff;
  background:var(--aurora-ink);
}

@media (max-width:1180px) {
  .aurora-ui .app-shell { grid-template-columns:minmax(330px, 390px) minmax(0, 1fr); }
  .aurora-ui .brand-row h1 { font-size:36px; }
  .aurora-ui .discovery-home-header h2 { font-size:38px; }
  .aurora-ui .aurora-card-copy strong { font-size:13px; }
  .aurora-ui .aurora-card-copy small { font-size:9.5px; }
  .aurora-featured { grid-template-columns:minmax(210px, 38%) minmax(0, 1fr); }
  .aurora-featured .discovery-spotlight-actions {
    grid-column:2;
    grid-template-columns:minmax(0, 1fr) auto;
    width:auto;
  }
}

@media (max-width:900px) {
  .aurora-ui .app-shell {
    display:flex;
    flex-direction:column;
    gap:0;
    padding:0;
  }

  .aurora-ui .sidebar {
    position:static;
    display:flex;
    width:100%;
    max-height:none;
    padding:18px 18px 4px;
    overflow:visible;
  }

  .aurora-ui .brand-row,
  .aurora-ui .discovery-home { width:min(900px, 100%); margin:0 auto; }

  .aurora-ui .brand-row { padding-left:72px; }
  .aurora-ui .discovery-home-header h2 { max-width:700px; font-size:42px; }
  .aurora-ui .workspace { width:100%; padding:14px 18px 100px; }
  .aurora-ui .route-map { height:min(68vh, 680px); min-height:520px; }
  .aurora-ui .aurora-discovery-card { min-height:190px; }
}

@media (max-width:620px) {
  body.aurora-ui {
    padding-bottom:76px;
    background:linear-gradient(180deg, #fffaf0, #f1eadc);
  }

  body.aurora-ui::before {
    position:fixed;
    min-height:100%;
    background-position:center top;
    filter:saturate(.72) contrast(.9) brightness(1.2);
    opacity:.08;
  }

  .aurora-ui .pastpath-menu-button {
    top:14px;
    left:14px;
    width:50px;
    min-height:50px;
  }

  .aurora-ui .sidebar {
    display:flex;
    gap:10px;
    padding:12px 13px 0;
  }

  .aurora-ui .brand-row {
    order:1;
    min-height:64px;
    margin:0;
    padding:0 0 0 60px;
  }

  .aurora-ui .brand-row h1 { font-size:34px; }
  .aurora-ui .brand-row p {
    margin-top:6px;
    font-size:8px;
    letter-spacing:.08em;
  }
  .aurora-ui .brand-compass { display:none; }
  .aurora-world-button { width:46px; min-height:46px; font-size:25px; }

  .aurora-ui .discovery-home {
    order:2;
    gap:10px;
    margin:0;
    padding:5px 0 0;
  }

  .aurora-ui .discovery-home-header span { font-size:9px; }
  .aurora-ui .discovery-home-header h2 {
    max-width:360px;
    margin-top:4px;
    font-size:32px;
    line-height:1.06;
  }

  .aurora-search {
    grid-template-columns:30px minmax(0, 1fr) 46px;
    min-height:56px;
    padding:4px 5px 4px 15px;
  }

  .aurora-search input {
    min-height:44px;
    padding:0 7px;
    font-size:15px;
  }

  .aurora-search-submit { width:44px; min-height:44px; }

  .aurora-ui .discovery-action-grid {
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:7px;
  }
  .aurora-ui .discovery-action-grid .aurora-discovery-card {
    min-height:132px;
    border-width:1px;
  }

  .aurora-ui .aurora-card-copy { padding:10px 9px; }
  .aurora-ui .aurora-card-copy strong { font-size:14px; }
  .aurora-ui .aurora-card-copy small {
    display:-webkit-box;
    overflow:hidden;
    font-size:10px;
    line-height:1.24;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
  }

  .aurora-ui .leaflet-tooltip.city-label { display:none !important; }

  .aurora-ui .discovery-quick-actions { gap:6px; }
  .aurora-ui .discovery-quick-actions button { min-height:39px; font-size:11px; }

  .aurora-ui .route-card {
    order:3;
    margin:8px 10px 0;
  }

  .aurora-ui .workspace {
    order:3;
    gap:10px;
    padding:10px 9px 96px;
  }

  .aurora-ui .map-panel { order:1; }
  .aurora-ui .map-toolbar { min-height:48px; padding:6px 7px 6px 12px; }
  .aurora-ui .map-toolbar strong { font-size:17px; }
  .aurora-ui .map-toolbar div { gap:5px; }
  .aurora-ui .map-tool-button { min-height:36px; padding:6px 8px; font-size:10px; }
  .aurora-ui #toggleMapSizeButton { display:none; }

  .aurora-ui .route-map {
    height:54vh;
    min-height:420px;
    max-height:560px;
  }

  .aurora-ui .route-map::before {
    top:9px;
    right:9px;
    padding:7px 9px;
    font-size:10px;
  }

  .aurora-ui .map-legend {
    min-height:34px;
    padding:6px 8px;
    gap:7px;
    font-size:9px;
  }

  .aurora-ui .map-legend > span:nth-child(2),
  .aurora-ui .map-legend > span:nth-child(3),
  .aurora-ui .map-click-hint { display:none; }

  .aurora-featured {
    grid-template-columns:104px minmax(0, 1fr);
    gap:10px;
    min-height:0;
    padding:9px;
  }

  .aurora-featured .discovery-spotlight-visual { min-height:126px; font-size:28px; }
  .aurora-featured .discovery-spotlight-copy h3 { margin:4px 0 5px; font-size:24px; }
  .aurora-featured .discovery-spotlight-copy p {
    display:-webkit-box;
    overflow:hidden;
    font-size:11px;
    line-height:1.3;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:3;
  }
  .aurora-featured .discovery-spotlight-copy small { display:none; }
  .aurora-featured .discovery-spotlight-actions {
    grid-column:1 / -1;
    grid-template-columns:minmax(0, 1fr) auto;
  }
  .aurora-featured .discovery-spotlight-actions button { min-height:40px; }

  .aurora-daily-card {
    grid-template-columns:46px minmax(0, 1fr);
    gap:10px;
    min-height:0;
    padding:12px;
  }
  .aurora-daily-symbol { width:44px; height:44px; font-size:21px; }
  .aurora-daily-card h2 { font-size:20px; }
  .aurora-daily-card p { font-size:11px; }
  .aurora-daily-card button {
    grid-column:1 / -1;
    width:100%;
  }

  .aurora-bottom-nav {
    position:fixed;
    z-index:3000;
    right:0;
    bottom:0;
    left:0;
    display:grid;
    grid-template-columns:repeat(5, minmax(0, 1fr));
    min-height:calc(68px + env(safe-area-inset-bottom));
    padding:6px 8px calc(6px + env(safe-area-inset-bottom));
    border:0;
    border-top:1px solid rgba(109,96,73,.22);
    border-radius:0;
    background:#fffaf0;
    box-shadow:0 -10px 28px rgba(24,37,39,.24);
    isolation:isolate;
    pointer-events:auto;
  }

  .aurora-bottom-nav button {
    display:grid;
    place-items:center;
    align-content:center;
    gap:2px;
    min-width:0;
    min-height:54px;
    padding:4px 2px;
    border:0;
    border-radius:7px;
    color:#596365;
    background:transparent;
  }

  .aurora-bottom-nav button span { font-size:20px; line-height:1; }
  .aurora-bottom-nav button strong {
    max-width:100%;
    font-size:9.5px;
    line-height:1.05;
    overflow-wrap:anywhere;
  }
  .aurora-bottom-nav button.is-current {
    color:#fff;
    background:var(--aurora-ink);
  }

  .aurora-ui .mobile-place-sheet { padding-bottom:84px; }
  body.aurora-ui.mobile-detail-open .mobile-place-sheet:not([hidden]) {
    padding:7px;
  }
  body.aurora-ui.mobile-place-sheet-open .leaflet-tooltip { display:none !important; }
  .aurora-ui .leaflet-popup-content-wrapper { width:min(340px, calc(100vw - 30px)); }
}

@media (max-width:370px) {
  .aurora-ui .brand-row h1 { font-size:30px; }
  .aurora-ui .discovery-home-header h2 { font-size:29px; }
  .aurora-ui .discovery-action-grid .aurora-discovery-card { min-height:146px; }
  .aurora-ui .aurora-card-copy strong { font-size:11px; }
  .aurora-ui .aurora-card-copy small { font-size:8px; }
  .aurora-bottom-nav button strong { font-size:8.5px; }
}

@media (prefers-reduced-motion:reduce) {
  .aurora-ui *,
  .aurora-ui *::before,
  .aurora-ui *::after {
    scroll-behavior:auto !important;
    transition-duration:.01ms !important;
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
  }
}


/* src/experience/pastpath-destination-shell.css */
body.place-card-open,
body:is(.chapters-visible,.eras-visible,.story-paths-visible) {
  overflow:hidden;
}

body:not(.chapters-visible) .workspace > .chapter-panel,
body:not(.eras-visible) .workspace > .era-panel,
body:not(.story-paths-visible) .workspace > .story-path-panel {
  display:none;
}

body.place-card-open .app-shell::before,
body:is(.chapters-visible,.eras-visible,.story-paths-visible) .app-shell::before {
  content:"";
  position:fixed;
  z-index:2580;
  inset:0;
  background:rgba(6,18,14,.58);
  backdrop-filter:blur(4px);
}

body.place-card-open .app-shell::before {
  background:rgba(6,18,14,.28);
  backdrop-filter:blur(1px);
}

body.place-card-open .detail-panel {
  display:grid;
  position:fixed;
  z-index:2700;
  top:16px;
  right:16px;
  bottom:16px;
  width:min(570px,calc(100vw - 32px));
  max-width:none;
  scrollbar-width:auto;
  scrollbar-color:#9b6a27 #f1e4c8;
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior:contain;
  scroll-behavior:smooth;
  gap:12px;
  padding:0 18px 24px;
  border:1px solid rgba(197,151,61,.52);
  border-radius:8px;
  background:#fffdf7;
  box-shadow:0 24px 70px rgba(2,14,10,.42);
  animation:pastpath-card-in .22s ease-out both;
}

body.place-card-open .detail-panel::-webkit-scrollbar { width:14px; }
body.place-card-open .detail-panel::-webkit-scrollbar-track { background:#f1e4c8; }
body.place-card-open .detail-panel::-webkit-scrollbar-thumb {
  border:3px solid #f1e4c8;
  border-radius:999px;
  background:#9b6a27;
}

.place-card-toolbar,
.destination-toolbar {
  position:sticky;
  z-index:5;
  top:0;
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
  padding:12px 0;
  border-bottom:1px solid #e7dcc5;
  background:rgba(255,253,247,.97);
  backdrop-filter:blur(12px);
}

.place-card-toolbar {
  order:-10;
  flex-wrap:wrap;
}

.place-card-toolbar .place-card-toolbar-copy {
  flex:1 1 180px;
}

.place-card-toolbar .passport-badge-button {
  flex:0 0 auto;
  min-height:42px;
  padding:0 13px;
  border:1px solid #9a6a26;
  border-radius:999px;
  color:#3b2815;
  background:#f3d77d;
  box-shadow:0 3px 9px rgba(80,49,16,.16);
  font-weight:900;
}

.place-card-toolbar .passport-badge-button::before {
  content:"✦";
  margin-right:6px;
}

.place-card-toolbar .passport-badge-button.is-stamped {
  border-color:#2e6348;
  color:#fffdf2;
  background:#2e6348;
  animation:pastpath-badge-stamp 360ms cubic-bezier(.2,.9,.3,1.25);
}

@keyframes pastpath-badge-stamp {
  0% { transform:scale(1); }
  42% { transform:scale(.94) rotate(-1deg); box-shadow:0 0 0 5px rgba(224,189,101,.28); }
  100% { transform:scale(1); }
}

.place-card-toolbar .place-card-history {
  display:flex;
  flex:1 0 100%;
  width:100%;
  gap:8px;
}

.place-card-toolbar .place-card-history button {
  flex:1 1 0;
}

.place-card-toolbar button,
.destination-toolbar button {
  flex:0 0 auto;
  min-height:44px;
  padding:0 14px;
  border:1px solid #bfa86f;
  border-radius:6px;
  color:#0b3650;
  background:#fff;
  font-weight:800;
  cursor:pointer;
}

.place-card-toolbar div,
.destination-toolbar div {
  display:grid;
  min-width:0;
  gap:2px;
}

.place-card-toolbar .place-card-next {
  margin-left:auto;
  color:#fff;
  border-color:#0a3850;
  background:#0a3850;
}

.place-card-toolbar .place-card-menu {
  color:#0b3650;
  border-color:#c7a85c;
  background:#fff8e8;
}

.place-card-toolbar strong,
.destination-toolbar strong {
  color:#0a2f46;
  font-family:Georgia,"Times New Roman",serif;
  font-size:19px;
  line-height:1.1;
}

.place-card-toolbar span,
.destination-toolbar span {
  overflow-wrap:anywhere;
  color:#59675f;
  font-size:12px;
  line-height:1.3;
}

body.place-card-open .detail-panel > .photo-strip { order:-9; }
body.place-card-open .detail-panel > #detailType { order:-8; }
body.place-card-open .detail-panel > #detailTitle { order:-7; }
body.place-card-open .detail-panel > .museum-label-card { order:-6; }
body.place-card-open .detail-panel > .detail-hero-card { order:-5; }
body.place-card-open .detail-panel > #placeEraCard { order:-4; }
body.place-card-open .detail-panel > #educationLayersCard { order:-3; }
body.place-card-open .detail-panel > .explore-card { order:-2; }
body.place-card-open .detail-panel > .visit-snapshot { order:-1; }
body.place-card-open .detail-panel > .explore-next-card { order:1; }
body.place-card-open .detail-panel > .place-media-card { order:2; }
body.place-card-open .detail-panel > .marker-reader { order:3; }
body.place-card-open .detail-panel > .quick-place-card { order:4; }
body.place-card-open .detail-panel > .detail-stats { order:5; }
body.place-card-open .detail-panel > .detail-actions { order:6; }
body.place-card-open .detail-panel > .guide-box { order:7; }
body.place-card-open .detail-panel > .trust-check { order:8; }
body.place-card-open .detail-panel > .place-more { order:9; }
body.place-card-open .detail-panel > .source-actions { order:10; }

body.place-card-open .detail-panel > *,
body.place-card-open .detail-panel :is(h2,h3,p,li,span,strong,dd,dt,a,button) {
  min-width:0;
  max-width:100%;
  overflow-wrap:anywhere;
  word-break:normal;
}

body.place-card-open .detail-panel > #detailTitle {
  margin:0;
  color:#082f49;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(28px,4vw,39px);
  line-height:1.04;
}

body.place-card-open .detail-panel > #detailTitle:focus {
  outline:none;
}

body.place-card-open .detail-panel > .photo-strip {
  min-height:190px;
  margin:0 -18px;
  border-radius:0;
}

body.place-card-open .museum-label-card,
body.place-card-open .detail-hero-card {
  border-color:#d7c38f;
  background:#fffaf0;
}

body.place-card-open .learning-snapshot {
  grid-template-columns:1fr;
}

body.place-card-open .mobile-place-sheet:not([hidden]),
body.place-card-open .aurora-bottom-nav {
  display:none !important;
}

body:is(.chapters-visible,.eras-visible,.story-paths-visible) .workspace > :is(.chapter-panel,.era-panel,.story-path-panel) {
  position:fixed;
  z-index:2700;
  top:18px;
  bottom:18px;
  left:50%;
  display:none;
  width:min(900px,calc(100vw - 36px));
  max-width:none;
  max-height:none;
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior:contain;
  padding:0 18px 22px;
  border:1px solid rgba(197,151,61,.52);
  border-radius:8px;
  background:#fffdf7;
  box-shadow:0 24px 70px rgba(2,14,10,.42);
  transform:translateX(-50%);
  animation:pastpath-destination-in .2s ease-out both;
}

body.chapters-visible .workspace > .chapter-panel,
body.eras-visible .workspace > .era-panel,
body.story-paths-visible .workspace > .story-path-panel {
  display:grid;
}

body.eras-visible #eraPanelToggle,
body.story-paths-visible #storyPathToggle {
  display:none;
}

.destination-toolbar {
  grid-column:1/-1;
  margin-bottom:2px;
}

@keyframes pastpath-card-in {
  from { opacity:0; transform:translateX(24px); }
  to { opacity:1; transform:translateX(0); }
}

@keyframes pastpath-destination-in {
  from { opacity:0; transform:translate(-50%,16px); }
  to { opacity:1; transform:translate(-50%,0); }
}

@media (max-width:700px) {
  /* The selected-place story already fills the mobile viewport. Keeping the
     backdrop-filter pseudo-element alive behind another fixed element causes
     iOS/WebKit and some installed Chromium PWAs to composite that blur above
     the story sheet. The result is a blue, blurred, untouchable screen even
     though the panel has the higher z-index. Remove the unnecessary mobile
     backdrop and make the story its own opaque, interactive layer. */
  body.place-card-open .app-shell::before {
    content:none;
    display:none;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
    pointer-events:none;
  }

  body.place-card-open .app-shell::before,
  body:is(.chapters-visible,.eras-visible,.story-paths-visible) .app-shell::before {
    background:rgba(6,18,14,.42);
    backdrop-filter:blur(2px);
  }

  body.place-card-open .detail-panel,
  body.mobile-detail-open .detail-panel {
    isolation:isolate;
    pointer-events:auto;
    top:0;
    right:0;
    bottom:0;
    left:0;
    width:100%;
    max-height:100dvh;
    padding:0 14px 24px;
    border:0;
    border-radius:0;
    background:#f7ecd5;
  }

  body.place-card-open .detail-panel > .photo-strip {
    min-height:170px;
    margin:0 -14px;
  }

  .place-card-toolbar,
  .destination-toolbar {
    padding:9px 0;
  }

  .place-card-toolbar span,
  .destination-toolbar span {
    display:none;
  }


  .place-card-toolbar strong {
    font-size:17px;
  }

  body:is(.chapters-visible,.eras-visible,.story-paths-visible) .workspace > :is(.chapter-panel,.era-panel,.story-path-panel) {
    top:0;
    right:0;
    bottom:0;
    left:0;
    width:100%;
    max-height:100dvh;
    padding:0 14px 22px;
    border:0;
    border-radius:0;
    transform:none;
    animation:pastpath-mobile-destination-in .2s ease-out both;
  }

  body.chapters-visible .chapter-panel .filter-grid,
  body.eras-visible .era-grid,
  body.story-paths-visible .story-path-grid {
    grid-template-columns:1fr 1fr;
    grid-auto-flow:row;
    overflow:visible;
  }
}

@media (max-width:430px) {
  body.chapters-visible .chapter-panel .filter-grid,
  body.eras-visible .era-grid,
  body.story-paths-visible .story-path-grid {
    grid-template-columns:1fr;
  }
}

@keyframes pastpath-mobile-destination-in {
  from { opacity:0; transform:translateY(18px); }
  to { opacity:1; transform:translateY(0); }
}

@media (prefers-reduced-motion:reduce) {
  body.place-card-open .detail-panel,
  body:is(.chapters-visible,.eras-visible,.story-paths-visible) .workspace > :is(.chapter-panel,.era-panel,.story-path-panel),
  .place-card-toolbar .passport-badge-button.is-stamped {
    animation:none;
  }
}


/* src/experience/pastpath-ui-simplification.css */
.ui-simplified .discovery-quick-actions > button:not(#continueDiscoveryButton),
.ui-simplified .route-form > .mode-tabs,
.ui-simplified .route-form > .mode-hint,
.ui-simplified .route-form > .state-jump,
.ui-simplified .media-gallery-footer,
body.ui-simplified.chapters-visible .chapter-panel-title,
body.ui-simplified.eras-visible .era-panel-title,
body.ui-simplified.story-paths-visible .story-path-title {
  display:none !important;
}

.place-card-disclosure {
  min-width:0;
  border:1px solid #d8c58f;
  border-radius:7px;
  background:#fffdf8;
}

.place-card-disclosure > summary,
.trip-tool-section > summary,
.daily-more > summary {
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:48px;
  padding:0 14px;
  color:#0a3850;
  font-weight:850;
  cursor:pointer;
  list-style:none;
}

.place-card-disclosure > summary::after,
.trip-tool-section > summary::after,
.daily-more > summary::after {
  content:"+" !important;
  flex:0 0 auto;
  margin-left:12px;
  font-size:22px;
  line-height:1;
}

.place-card-disclosure[open] > summary::after,
.trip-tool-section[open] > summary::after,
.daily-more[open] > summary::after {
  content:"-" !important;
}

.ui-simplified .place-card-toolbar {
  display:none;
}

body.ui-simplified.place-card-open .place-card-toolbar {
  display:flex;
}

.place-card-disclosure > summary::-webkit-details-marker,
.trip-tool-section > summary::-webkit-details-marker,
.daily-more > summary::-webkit-details-marker {
  display:none;
}

body.place-card-open .detail-panel > .place-card-learning { order:-4; }
body.place-card-open .detail-panel > .place-card-visit { order:-3; }

.place-card-disclosure[open] {
  padding-bottom:12px;
}

.place-card-disclosure > :not(summary) {
  margin:10px 12px 0;
  max-width:calc(100% - 24px);
}

.place-card-learning > #educationLayersCard,
.place-card-visit > #placeMediaCard {
  display:block;
}

.place-card-learning > #educationLayersCard > summary,
.place-card-visit > #placeMediaCard > summary {
  display:none;
}

.place-card-learning .museum-label-facts {
  display:grid;
  gap:7px;
}

.ui-simplified .trip-tools-drawer > summary {
  display:none;
}

.ui-simplified .trip-tools-drawer > .place-votes[hidden] {
  display:none !important;
}

.trip-tools-toolbar {
  position:sticky;
  z-index:3;
  top:0;
  display:flex;
  align-items:center;
  gap:14px;
  padding:12px;
  border-bottom:1px solid #e7dcc5;
  background:rgba(255,253,247,.97);
}

.trip-tools-toolbar button {
  min-height:44px;
  padding:0 14px;
  border:1px solid #bfa86f;
  border-radius:6px;
  color:#0b3650;
  background:#fff;
  font-weight:800;
}

.trip-tools-toolbar strong {
  color:#0a2f46;
  font:700 20px/1.1 Georgia,"Times New Roman",serif;
}

.trip-tool-section {
  margin:10px 12px 0;
  border:1px solid #ded4bd;
  border-radius:7px;
  background:#fff;
}

.trip-tool-section > section {
  margin:0;
  border:0;
  border-top:1px solid #ece4d2;
  border-radius:0;
  box-shadow:none;
}

.trip-tool-section > section > .group-header {
  display:none;
}

.trip-tool-section[open] > section {
  display:grid;
}

.ui-simplified .route-form[data-mode="nearby"] > .route-field:first-of-type {
  display:none;
}

.ui-simplified .route-form[data-mode="nearby"].nearby-manual-open > .route-field:first-of-type {
  display:grid;
}

.ui-simplified .route-form:not([data-mode="nearby"]) > .nearby-manual-toggle {
  display:none;
}

.ui-simplified .route-form[data-mode="route"] #endField,
.ui-simplified .route-form[data-mode="route"] > .route-actions,
.ui-simplified .route-form[data-mode="route"] > .quick-search-drawer,
.ui-simplified .route-form[data-mode="route"] > .route-status {
  display:none;
}

.ui-simplified .route-form[data-mode="route"].route-has-start #endField,
.ui-simplified .route-form[data-mode="route"].route-ready > .route-actions {
  display:grid;
}

.ui-simplified .route-form[data-mode="route"]:not(.route-has-start) #startSearchPanel,
.ui-simplified .route-form:not(.route-has-value) #clearRouteButton {
  display:none !important;
}

.daily-more {
  margin-top:14px;
  border:1px solid #d8c9a6;
  border-radius:7px;
  background:#fffaf0;
}

.daily-more[open] {
  padding:0 12px 12px;
}

.daily-more[open] > summary {
  margin:0 -12px;
  border-bottom:1px solid #e3d7bb;
}

.daily-more > :not(summary) {
  margin-top:12px;
}

.daily-more > #dailySurpriseButton {
  width:100%;
  min-height:44px;
}

body.ui-simplified.eras-visible .era-card-facts,
body.ui-simplified.eras-visible .era-card-actions > button:last-child {
  display:none !important;
}

body.ui-simplified.eras-visible .era-card {
  align-content:start;
}

@media (max-width:700px) {
  .ui-simplified .route-card {
    scrollbar-width:none;
  }

  .ui-simplified .route-card::-webkit-scrollbar {
    display:none;
  }

  .place-card-toolbar div {
    display:none;
  }

  .place-card-toolbar {
    justify-content:space-between;
  }

  .place-card-toolbar .place-card-next {
    margin-left:0;
  }

  body.place-card-open .detail-panel > .photo-strip {
    min-height:150px;
  }

  body.trip-tools-visible .trip-tools-drawer {
    inset:0;
    max-height:100dvh;
    border:0;
    border-radius:0;
    background:#fffdf7;
  }

  .trip-tool-section {
    margin-right:10px;
    margin-left:10px;
  }

  .ui-simplified .route-form[data-mode="route"].route-has-start #endField {
    animation:ui-simple-reveal .16s ease-out both;
  }
}

@keyframes ui-simple-reveal {
  from { opacity:0; transform:translateY(6px); }
  to { opacity:1; transform:translateY(0); }
}

@media (prefers-reduced-motion:reduce) {
  .ui-simplified .route-form[data-mode="route"].route-has-start #endField {
    animation:none;
  }
}


/* src/aurora/pastpath-aurora-master.css */
:root {
  --museum-night: #100d0a;
  --museum-walnut: #24180f;
  --museum-leather: #332015;
  --museum-bronze: #9d6d2d;
  --museum-gold: #d8ad56;
  --museum-gold-bright: #f0d88e;
  --museum-paper: #efe0bd;
  --museum-paper-light: #fbf2dc;
  --museum-paper-deep: #d7bc86;
  --museum-ink: #2d2117;
  --museum-forest: #294c3c;
  --museum-navy: #15364a;
  --museum-burgundy: #713c35;
  --museum-teal: #38716d;
  --museum-purple: #665077;
  --museum-line: rgba(105, 69, 28, .3);
  --museum-shadow: 0 22px 54px rgba(0, 0, 0, .38);
  --museum-soft-shadow: 0 10px 24px rgba(28, 17, 9, .2);
}

html { background: var(--museum-night); }

body.aurora-ui.aurora-master {
  min-height: 100vh;
  color: var(--museum-paper-light);
  background: var(--museum-night) url("assets/aurora/museum-atlas-background-v2.png") center top / cover fixed no-repeat;
}

body.aurora-ui.aurora-master::before {
  position: fixed;
  inset: 0;
  z-index: -2;
  display: block;
  background: rgba(9, 7, 5, .54);
  filter: none;
  opacity: 1;
}

body.aurora-ui.aurora-master::after {
  position: fixed;
  inset: 0;
  z-index: -1;
  display: block;
  background: radial-gradient(circle at 50% 10%, rgba(196, 137, 53, .13), transparent 38%), rgba(8, 6, 4, .2);
}

.aurora-master :where(button, input, select, textarea, summary, a) { letter-spacing: 0; }

.aurora-master :where(button, summary, a):focus-visible {
  outline: 3px solid var(--museum-gold-bright);
  outline-offset: 3px;
}

.aurora-master .app-shell {
  grid-template-columns: minmax(350px, 430px) minmax(0, 1fr);
  gap: 20px;
  width: min(1720px, calc(100% - 34px));
  padding: 18px 0;
}

.aurora-master .sidebar {
  top: 18px;
  max-height: calc(100vh - 36px);
  padding: 22px;
  border: 1px solid rgba(216, 173, 86, .48);
  border-radius: 8px;
  color: var(--museum-ink);
  background:
    linear-gradient(rgba(248, 235, 205, .96), rgba(228, 204, 160, .96)),
    repeating-linear-gradient(0deg, rgba(85, 50, 18, .03) 0 1px, transparent 1px 4px);
  box-shadow: var(--museum-shadow), inset 0 0 0 4px rgba(100, 61, 25, .11);
  scrollbar-color: var(--museum-bronze) transparent;
}

.aurora-master .sidebar::before {
  content: "";
  position: absolute;
  inset: 9px;
  z-index: -1;
  border: 1px solid rgba(111, 72, 30, .24);
  pointer-events: none;
}

.aurora-master .brand-row {
  min-height: 74px;
  padding: 0 0 14px 64px;
  border-bottom: 1px solid rgba(119, 76, 29, .28);
}

.aurora-master .brand-row h1,
.aurora-master .discovery-home-header h2,
.aurora-master .map-header h2,
.aurora-master .feature-destination h1,
.aurora-master .feature-destination h2,
.aurora-master .detail-card h2,
.aurora-master .place-detail h2 {
  color: #3a2515;
  font-family: Georgia, "Times New Roman", serif;
  text-shadow: 0 1px rgba(255, 255, 255, .55);
}

.aurora-master .brand-row h1 { color: #4a2b14; font-size: 40px; }
.aurora-master .brand-compass { color: var(--museum-bronze); }
.aurora-master .brand-row p { color: #76501f; letter-spacing: .14em; }

.aurora-master .pastpath-menu-button,
.aurora-master .aurora-world-button {
  border: 1px solid var(--museum-bronze);
  border-radius: 50%;
  color: var(--museum-gold-bright);
  background: radial-gradient(circle, #4b301c, #1d130d 72%);
  box-shadow: 0 7px 18px rgba(0, 0, 0, .38), inset 0 0 0 3px rgba(216, 173, 86, .1);
}

.aurora-master .pastpath-menu-button span,
.aurora-master .pastpath-menu-button span::before,
.aurora-master .pastpath-menu-button span::after { background: var(--museum-gold-bright); }

.aurora-master .pastpath-menu-button:hover,
.aurora-master .aurora-world-button:hover { transform: translateY(-2px); box-shadow: 0 11px 24px rgba(0, 0, 0, .46); }

.aurora-master .discovery-home { gap: 16px; color: var(--museum-ink); }
.aurora-master .discovery-home-header span { color: #7a4d17; letter-spacing: .13em; }
.aurora-master .discovery-home-header h2 { max-width: 380px; font-size: clamp(34px, 3.2vw, 46px); line-height: 1.03; }

.aurora-master .aurora-search {
  grid-template-columns: 32px minmax(0, 1fr) 48px;
  min-height: 58px;
  border: 1px solid rgba(111, 72, 30, .42);
  border-radius: 7px;
  background: rgba(255, 248, 229, .82);
  box-shadow: inset 0 1px 8px rgba(98, 60, 22, .08), var(--museum-soft-shadow);
}

.aurora-master .aurora-search:focus-within { border-color: #a66f24; box-shadow: 0 0 0 3px rgba(216, 173, 86, .28), var(--museum-soft-shadow); }
.aurora-master .aurora-search input { color: var(--museum-ink); }
.aurora-master .aurora-search input::placeholder { color: #776a58; opacity: 1; }
.aurora-master .aurora-search-submit { color: var(--museum-gold-bright); background: linear-gradient(145deg, #254d49, #112d35); box-shadow: 0 5px 13px rgba(17, 42, 44, .3); }

.aurora-master .discovery-action-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.aurora-master .aurora-discovery-card {
  min-height: 154px;
  border: 1px solid rgba(216, 173, 86, .7);
  border-radius: 7px;
  box-shadow: 0 9px 18px rgba(34, 20, 9, .27), inset 0 0 0 2px rgba(255, 245, 215, .12);
  filter: saturate(.88) sepia(.08);
}

.aurora-master .aurora-discovery-card::before { background: linear-gradient(180deg, rgba(13, 10, 7, .04) 20%, rgba(13, 10, 7, .78) 100%); }
.aurora-master .aurora-discovery-card:hover { transform: translateY(-4px); border-color: var(--museum-gold-bright); box-shadow: 0 14px 27px rgba(34, 20, 9, .34); }
.aurora-master .aurora-discovery-card .aurora-card-copy strong { font-family: Georgia, serif; font-size: 20px; text-shadow: 0 2px 7px #000; }
.aurora-master .aurora-discovery-card .aurora-card-copy small { color: #fff2d0; }

.aurora-master .discovery-quick-actions button,
.aurora-master .quick-search-row button {
  border: 1px solid rgba(112, 71, 27, .36);
  border-radius: 5px;
  color: #4c331c;
  background: rgba(255, 247, 226, .58);
}

.aurora-master .route-card,
.aurora-master .more-panel,
.aurora-master .project-tools-drawer,
.aurora-master .control-group,
.aurora-master .trip-plan,
.aurora-master .passport,
.aurora-master .hidden-stops,
.aurora-master .place-votes {
  border-color: rgba(112, 71, 27, .35);
  border-radius: 6px;
  color: var(--museum-ink);
  background: rgba(255, 247, 226, .72);
  box-shadow: none;
}

.aurora-master :where(input, select, textarea) {
  border-color: rgba(91, 58, 26, .38);
  border-radius: 5px;
  color: var(--museum-ink);
  background: #fff9e9;
}

.aurora-master :where(.primary-button, .secondary-button, .text-button, .mode-tab) { border-radius: 5px; }
.aurora-master .primary-button { color: #fff6df; background: linear-gradient(180deg, #385d4b, #173c31); box-shadow: 0 7px 15px rgba(20, 49, 38, .25); }
.aurora-master .secondary-button { color: #342315; border-color: #a47430; background: #ecd49f; }

.aurora-master .content-panel {
  gap: 14px;
  padding: 0;
  color: var(--museum-paper-light);
  background: transparent;
}

.aurora-master .map-panel {
  overflow: hidden;
  border: 1px solid rgba(216, 173, 86, .62);
  border-radius: 8px;
  background: #17110c;
  box-shadow: var(--museum-shadow), inset 0 0 0 4px rgba(216, 173, 86, .09);
}

.aurora-master .map-header,
.aurora-master .map-toolbar {
  min-height: 58px;
  padding: 10px 14px;
  border-bottom: 1px solid rgba(216, 173, 86, .35);
  background: linear-gradient(180deg, rgba(49, 32, 20, .98), rgba(24, 16, 11, .98));
}

.aurora-master .map-header h2,
.aurora-master .map-toolbar strong { color: var(--museum-gold-bright); text-shadow: none; }
.aurora-master .map-header button,
.aurora-master .map-toolbar button,
.aurora-master .map-toolbar select { color: #f4dfaa; border-color: rgba(216, 173, 86, .43); background: rgba(92, 60, 26, .48); }
.aurora-master #map { background: #c9b17c; filter: saturate(.84) contrast(1.03); }
.aurora-master .leaflet-control-zoom a { color: #332111; background: var(--museum-paper-light); }
.aurora-master .leaflet-control-attribution { color: #4a3828; background: rgba(244, 228, 194, .84); }

.aurora-master .leaflet-popup-content-wrapper,
.aurora-master .leaflet-popup-tip {
  color: var(--museum-ink);
  background: var(--museum-paper-light);
  box-shadow: 0 18px 42px rgba(14, 9, 5, .38);
}

.aurora-master .leaflet-popup-content-wrapper { overflow: hidden; border: 1px solid #9d6d2d; border-radius: 7px; }
.aurora-master .leaflet-popup-content { max-width: min(330px, calc(100vw - 54px)); overflow-wrap: anywhere; }

.aurora-master .map-legend,
.aurora-master .map-tip,
.aurora-master .map-click-preview,
.aurora-master .results-panel,
.aurora-master .detail-panel {
  border-color: rgba(216, 173, 86, .35);
  color: var(--museum-ink);
  background: linear-gradient(180deg, rgba(248, 235, 205, .98), rgba(228, 203, 158, .98));
}

.aurora-master .stop-card,
.aurora-master .result-card,
.aurora-master .detail-card,
.aurora-master .museum-label,
.aurora-master .journey-card,
.aurora-master .story-path-card,
.aurora-master .era-card,
.aurora-master .chapter-card {
  border: 1px solid rgba(112, 71, 27, .35);
  border-radius: 7px;
  color: var(--museum-ink);
  background: rgba(255, 248, 228, .94);
  box-shadow: var(--museum-soft-shadow);
}

.aurora-master .feature-destination-shell {
  color: var(--museum-ink);
  background: transparent;
}

.aurora-master .feature-destination-backdrop { background: rgba(7, 5, 3, .82); backdrop-filter: blur(7px); }
.aurora-master .feature-destination-page {
  border: 1px solid rgba(216, 173, 86, .65);
  border-radius: 8px;
  color: var(--museum-ink);
  background: linear-gradient(180deg, #f2e2be, #dfc28c);
  box-shadow: 0 30px 100px rgba(0, 0, 0, .65), inset 0 0 0 3px rgba(255, 246, 219, .18);
  scrollbar-color: var(--museum-bronze) transparent;
}

.aurora-master .feature-destination-toolbar {
  border-bottom: 1px solid rgba(216, 173, 86, .38);
  color: var(--museum-gold-bright);
  background: rgba(27, 18, 12, .97);
}

.aurora-master .feature-destination-toolbar strong { color: var(--museum-gold-bright); }
.aurora-master .feature-destination-toolbar button { color: #382619; border-color: var(--museum-bronze); background: #f2dfb4; }
.aurora-master .feature-destination-hero { border-bottom: 2px solid var(--museum-gold); }
.aurora-master .feature-destination-hero::before {
  background:
    linear-gradient(90deg, rgba(20, 13, 9, .94), rgba(35, 24, 15, .7) 54%, rgba(20, 13, 9, .18)),
    url("assets/aurora/discovery-card-atlas.webp") center / cover no-repeat;
  filter: sepia(.2) saturate(.86) contrast(1.05);
}

.aurora-master .feature-learning-band { border-bottom: 1px solid rgba(112, 71, 27, .25); background: rgba(244, 229, 195, .92); }
.aurora-master .feature-learning-band h3 { color: #3b2a1b; }
.aurora-master .feature-learning-band p { color: #5e4b37; }
.aurora-master .feature-destination-grid { background: rgba(255, 247, 225, .38); }
.aurora-master .feature-destination-card { border-color: rgba(112, 71, 27, .28); }
.aurora-master .feature-destination-card:nth-child(even) { border-left-color: rgba(112, 71, 27, .28); }
.aurora-master .feature-destination-card strong { color: #3b291a; }
.aurora-master .feature-destination-card p { color: #665440; }
.aurora-master .feature-destination-card button { color: #3b291a; border-color: #a67738; background: #f5e6c5; }
.aurora-master .feature-destination-form { border: 1px solid rgba(112, 71, 27, .26); background: rgba(255, 246, 220, .62); }

.aurora-master .feature-destination {
  overflow: hidden;
  border: 1px solid rgba(216, 173, 86, .55);
  border-radius: 8px;
  color: var(--museum-ink);
  background: linear-gradient(180deg, rgba(242, 221, 180, .98), rgba(224, 195, 143, .98));
  box-shadow: var(--museum-shadow), inset 0 0 0 3px rgba(255, 244, 213, .2);
}

.aurora-master .feature-destination-hero {
  min-height: 210px;
  color: #fff4d5;
  background-color: #24170f;
  background-blend-mode: multiply;
  box-shadow: inset 0 -90px 85px rgba(10, 7, 5, .72);
}

.aurora-master .feature-destination-hero :where(h1, h2, p, span, small) { color: inherit; text-shadow: 0 2px 8px #000; }
.aurora-master .feature-card-grid { gap: 12px; }
.aurora-master .feature-card { border: 1px solid rgba(112, 71, 27, .32); border-radius: 7px; color: var(--museum-ink); background: rgba(255, 246, 220, .78); box-shadow: 0 8px 17px rgba(43, 26, 12, .14); }
.aurora-master .feature-card:hover { transform: translateY(-3px); border-color: var(--museum-bronze); }

.aurora-master .pastpath-nav-backdrop { background: rgba(7, 5, 4, .78); backdrop-filter: blur(5px); }
.aurora-master .pastpath-nav-drawer {
  border-right: 1px solid var(--museum-gold);
  color: var(--museum-ink);
  background: linear-gradient(180deg, #f1dfb9, #d7b87d);
  box-shadow: 28px 0 70px rgba(0, 0, 0, .55);
}

.aurora-master .pastpath-nav-header { border-bottom: 1px solid rgba(216, 173, 86, .4); background: linear-gradient(145deg, #3a2416, #17100b); }
.aurora-master .pastpath-nav-header h2 { color: var(--museum-gold-bright); }
.aurora-master .pastpath-nav-item,
.aurora-master .pastpath-nav-section > summary { border-radius: 5px; }
.aurora-master .pastpath-nav-item:hover,
.aurora-master .pastpath-nav-section > summary:hover { background: rgba(255, 248, 225, .54); }
.aurora-master .pastpath-nav-icon { color: var(--museum-gold-bright); background: radial-gradient(circle, #5b3c21, #24170f); }

.aurora-master .aurora-bottom-nav {
  border: 1px solid rgba(216, 173, 86, .48);
  border-bottom: 0;
  border-right: 0;
  border-left: 0;
  border-radius: 0;
  background: #19110b;
  box-shadow: 0 -8px 24px rgba(0, 0, 0, .38);
}

.aurora-master .aurora-bottom-nav button { color: #cabf9f; }
.aurora-master .aurora-bottom-nav button.is-current { color: var(--museum-gold-bright); background: rgba(216, 173, 86, .12); }

.aurora-master .passport-cover { border-color: var(--museum-gold); background: linear-gradient(145deg, #3d2718, #15100c); }
.aurora-master .passport-export { background: linear-gradient(180deg, #41624d, #1f4436); }

@media (max-width: 900px) {
  body.aurora-ui.aurora-master { background-position: 34% top; background-size: auto 100vh; }
  .aurora-master .app-shell { display: block; width: 100%; padding: 0 0 calc(82px + env(safe-area-inset-bottom)); }
  .aurora-master .sidebar {
    position: relative;
    top: 0;
    width: 100%;
    max-height: none;
    padding: 16px 14px 18px;
    border: 0;
    border-radius: 0;
    background: linear-gradient(rgba(245, 228, 192, .98), rgba(223, 195, 143, .98));
    box-shadow: inset 0 -3px 0 rgba(119, 76, 29, .28);
    overflow: visible;
  }
  .aurora-master .brand-row { min-height: 68px; padding-left: 58px; }
  .aurora-master .brand-row h1 { font-size: 35px; }
  .aurora-master .discovery-home-header h2 { max-width: 360px; font-size: 36px; }
  .aurora-master .aurora-discovery-card { min-height: 145px; }
  .aurora-master .content-panel { padding: 12px 10px 90px; background: rgba(14, 10, 7, .84); }
  .aurora-master .map-panel { min-height: 64vh; border-radius: 7px; }
  .aurora-master .feature-destination { border-radius: 7px; }
  .aurora-master .feature-destination-page { inset: 0; width: 100%; border: 0; border-radius: 0; }
  .aurora-master .feature-destination-toolbar { min-height: 58px; }
  .aurora-master .feature-destination-hero { min-height: 180px; }
}

@media (max-width: 520px) {
  .aurora-master .sidebar { padding-inline: 12px; }
  .aurora-master .discovery-home { gap: 13px; }
  .aurora-master .discovery-home-header h2 { font-size: 34px; }
  .aurora-master .aurora-search { min-height: 56px; }
  .aurora-master .discovery-action-grid { gap: 8px; }
  .aurora-master .aurora-discovery-card { min-height: 138px; }
  .aurora-master .aurora-discovery-card .aurora-card-copy strong { font-size: 18px; }
  .aurora-master .map-header { min-height: 54px; }
  .aurora-master .leaflet-popup-content { width: min(300px, calc(100vw - 62px)); margin: 12px; }
  .aurora-master .feature-card-grid { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .aurora-master *, .aurora-master *::before, .aurora-master *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}


/* src/experience/pastpath-premium-visual-system.css */
/* PastPath premium visual system v2 — the final authority for core experiences. */
:root {
  --pp-night:#061722;
  --pp-night-2:#0b2430;
  --pp-green:#153d2d;
  --pp-green-2:#245b42;
  --pp-gold:#e3bd63;
  --pp-gold-soft:#f0d58f;
  --pp-paper:#f5ead2;
  --pp-paper-2:#fffaf0;
  --pp-ink:#201b15;
  --pp-muted:#665e50;
  --pp-line:rgba(165,122,48,.34);
  --pp-shadow:0 24px 70px rgba(0,0,0,.42);
  --pp-serif:Georgia,"Times New Roman",serif;
  --pp-sans:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
}

body.pastpath-premium-v2 {
  color:#f7efd9;
  background:var(--pp-night);
  font-family:var(--pp-sans);
}

body.pastpath-premium-v2 .app-shell {
  background:
    radial-gradient(circle at 20% 0,rgba(43,102,84,.18),transparent 36%),
    linear-gradient(145deg,#071a24,#06151e 62%,#0b211c);
}

/* HOME / AROUND YOU */
body.pastpath-premium-v2 .sidebar {
  border-color:rgba(227,189,99,.2);
  background:linear-gradient(160deg,rgba(5,22,31,.98),rgba(8,28,34,.97));
  box-shadow:16px 0 50px rgba(0,0,0,.26);
}
body.pastpath-premium-v2 .brand-row { border-color:rgba(227,189,99,.2); }
body.pastpath-premium-v2 .brand-copy h1 {
  color:var(--pp-gold);
  font:700 28px/1 var(--pp-serif);
  letter-spacing:.01em;
}
body.pastpath-premium-v2 .brand-copy p { color:#b8c6c2; }
body.pastpath-premium-v2 .discovery-home {
  gap:18px;
  padding:20px;
  border:1px solid rgba(227,189,99,.2);
  border-radius:22px;
  color:#f9f2df;
  background:linear-gradient(150deg,rgba(8,31,42,.94),rgba(8,25,32,.88));
  box-shadow:0 18px 44px rgba(0,0,0,.22);
}
body.pastpath-premium-v2 .discovery-home-header > span { color:var(--pp-gold); }
body.pastpath-premium-v2 .discovery-home-header h2 {
  max-width:460px;
  color:#fff8e8;
  font:700 clamp(32px,4vw,50px)/1.02 var(--pp-serif);
  letter-spacing:-.025em;
}
body.pastpath-premium-v2 .discovery-home-proof { color:#b9c9c4; }
body.pastpath-premium-v2 .aurora-search {
  min-height:52px;
  border:1px solid rgba(227,189,99,.45);
  border-radius:12px;
  background:rgba(255,255,255,.075);
  box-shadow:none;
}
body.pastpath-premium-v2 .aurora-search input { color:#fff9e9; background:transparent; }
body.pastpath-premium-v2 .aurora-search input::placeholder { color:#aebdb9; }
body.pastpath-premium-v2 .aurora-search-submit { color:#18271f; background:var(--pp-gold); }
body.pastpath-premium-v2 .aurora-discovery-card {
  min-height:112px;
  border:1px solid rgba(227,189,99,.24);
  border-radius:16px;
  color:#fff7e3;
  background:linear-gradient(145deg,rgba(27,64,57,.84),rgba(9,32,39,.92));
  box-shadow:0 12px 30px rgba(0,0,0,.2);
}
body.pastpath-premium-v2 .aurora-discovery-card:hover,
body.pastpath-premium-v2 .aurora-discovery-card:focus-visible {
  border-color:var(--pp-gold);
  transform:translateY(-2px);
}
body.pastpath-premium-v2 .aurora-card-copy strong { color:#fff7e2; font:700 21px/1.1 var(--pp-serif); }
body.pastpath-premium-v2 .aurora-card-copy small { color:#c2d0cc; }

/* MAP AND PRIMARY NAV */
body.pastpath-premium-v2 .map-panel {
  border-color:rgba(227,189,99,.22);
  background:#071922;
  box-shadow:0 20px 60px rgba(0,0,0,.3);
}
body.pastpath-premium-v2 .aurora-bottom-nav {
  border-top:1px solid rgba(227,189,99,.24);
  background:rgba(5,20,29,.985);
  box-shadow:0 -10px 30px rgba(0,0,0,.35);
}
body.pastpath-premium-v2 .aurora-bottom-nav button { color:#aebdb9; }
body.pastpath-premium-v2 .aurora-bottom-nav button.is-current { color:var(--pp-gold); background:rgba(227,189,99,.1); }

/* PLACE STORY — one scroll surface, no overlapping dashboard. */
body.pastpath-premium-v2.place-card-open .app-shell::before {
  background:rgba(2,12,16,.62);
  backdrop-filter:blur(5px);
}
body.pastpath-premium-v2.place-card-open .detail-panel.premium-place-story {
  display:flex !important;
  flex-direction:column;
  gap:0 !important;
  width:min(620px,calc(100vw - 32px));
  padding:0 22px 0 !important;
  border:1px solid rgba(227,189,99,.5);
  border-radius:22px;
  color:var(--pp-ink) !important;
  background:linear-gradient(180deg,#f7ecd5,#f0dfbc 72%,#ead5a8) !important;
  box-shadow:var(--pp-shadow);
  scrollbar-color:#8f6427 #ead8b3;
}
body.pastpath-premium-v2 .premium-place-story > * { flex:0 0 auto; }
body.pastpath-premium-v2 .premium-place-story .place-card-toolbar {
  position:sticky;
  z-index:20;
  top:0;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  min-height:58px;
  margin:0 -22px !important;
  padding:8px 14px !important;
  border-bottom:1px solid rgba(227,189,99,.28);
  background:rgba(5,24,33,.985) !important;
  backdrop-filter:blur(14px);
}
body.pastpath-premium-v2 .premium-place-story .place-card-toolbar-copy { display:block !important; }
body.pastpath-premium-v2 .premium-place-story .place-card-toolbar-copy strong {
  color:var(--pp-gold) !important;
  font:700 19px/1.1 var(--pp-serif);
}
body.pastpath-premium-v2 .premium-place-story .place-card-toolbar-copy span,
body.pastpath-premium-v2 .premium-place-story .place-card-toolbar-copy span { display:none !important; }
body.pastpath-premium-v2 .premium-place-story .place-card-toolbar > button {
  min-height:40px;
  border:1px solid rgba(227,189,99,.45);
  border-radius:9px;
  color:#f8e7b7;
  background:rgba(255,255,255,.06);
}
body.pastpath-premium-v2 .premium-place-story > .photo-strip {
  order:1 !important;
  min-height:210px !important;
  margin:0 -22px !important;
  border:0 !important;
  border-bottom:3px solid var(--pp-gold) !important;
  background:linear-gradient(135deg,#0a2a37,#183e36) !important;
}
body.pastpath-premium-v2 .premium-place-story > .photo-strip[data-visual-state="preview"],
body.pastpath-premium-v2 .premium-place-story > .photo-strip[data-visual-state="empty"] {
  min-height:132px !important;
}
body.pastpath-premium-v2 .premium-place-story > #detailTitle {
  order:2 !important;
  margin:0 !important;
  padding:20px 0 8px !important;
  border:0 !important;
  color:#16382c !important;
  font:700 clamp(31px,4vw,43px)/1.02 var(--pp-serif) !important;
  letter-spacing:-.03em;
}
body.pastpath-premium-v2 .premium-place-story > .museum-label-card {
  order:3 !important;
  margin:0 0 12px;
  padding:0 0 18px !important;
  border:0 !important;
  border-bottom:1px solid var(--pp-line) !important;
  color:var(--pp-ink) !important;
  background:transparent !important;
  box-shadow:none !important;
}
body.pastpath-premium-v2 .premium-place-story .museum-label-topline {
  display:flex;
  gap:8px;
  margin-bottom:8px;
  color:#7a541f;
  font-size:11px;
  font-weight:900;
  letter-spacing:.05em;
  text-transform:uppercase;
}
body.pastpath-premium-v2 .premium-place-story .museum-label-card p {
  display:block !important;
  margin:0;
  overflow:visible !important;
  color:#332b21 !important;
  font:400 17px/1.55 var(--pp-serif) !important;
  -webkit-line-clamp:unset !important;
}
body.pastpath-premium-v2 .premium-place-story > .detail-hero-card,
body.pastpath-premium-v2 .premium-place-story > .place-intro-toggle { display:none !important; }

body.pastpath-premium-v2 .premium-place-story > .place-card-learning {
  order:4 !important;
  display:flex !important;
  flex-direction:column;
  gap:10px;
  margin:0 0 14px !important;
  padding:0 !important;
  border:0 !important;
  color:var(--pp-ink) !important;
  background:transparent !important;
  box-shadow:none !important;
}
body.pastpath-premium-v2 .premium-place-story > .place-card-learning > summary,
body.pastpath-premium-v2 .premium-place-story .learning-snapshot { display:none !important; }
body.pastpath-premium-v2 .premium-place-story .place-learning-group {
  order:10;
  margin:0 !important;
  overflow:hidden;
  border:1px solid var(--pp-line) !important;
  border-radius:12px !important;
  color:var(--pp-ink) !important;
  background:rgba(255,250,240,.76) !important;
  box-shadow:0 7px 18px rgba(62,42,17,.07) !important;
}
body.pastpath-premium-v2 .premium-place-story .learning-story { order:1; }
body.pastpath-premium-v2 .premium-place-story .learning-deeper { order:2; }
body.pastpath-premium-v2 .premium-place-story .learning-connections { order:3; }
body.pastpath-premium-v2 .premium-place-story .learning-evidence { order:4; }
body.pastpath-premium-v2 .premium-place-story .learning-extras { order:5; }
body.pastpath-premium-v2 .premium-place-story .place-learning-group > summary {
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  align-items:center;
  gap:12px;
  min-height:68px !important;
  padding:12px 16px !important;
  color:#17372b !important;
  background:transparent !important;
  cursor:pointer;
}
body.pastpath-premium-v2 .premium-place-story .place-learning-group > summary::before { display:none !important; }
body.pastpath-premium-v2 .premium-place-story .place-learning-group > summary::after {
  content:"›";
  color:#9a6c25;
  font:700 28px/1 var(--pp-serif);
  transform:rotate(0);
}
body.pastpath-premium-v2 .premium-place-story .place-learning-group[open] > summary::after { transform:rotate(90deg); }
body.pastpath-premium-v2 .premium-place-story .place-learning-group > summary strong {
  color:#17372b !important;
  font:700 20px/1.08 var(--pp-serif) !important;
}
body.pastpath-premium-v2 .premium-place-story .place-learning-group > summary small {
  display:block !important;
  margin-top:3px;
  color:#70634e !important;
  font:650 12px/1.35 var(--pp-sans) !important;
}
body.pastpath-premium-v2 .premium-place-story .place-learning-group[open] > summary {
  border-bottom:1px solid var(--pp-line) !important;
  color:#fff7df !important;
  background:#153d2d !important;
}
body.pastpath-premium-v2 .premium-place-story .place-learning-group[open] > summary strong,
body.pastpath-premium-v2 .premium-place-story .place-learning-group[open] > summary small { color:#fff3d2 !important; }
body.pastpath-premium-v2 .premium-place-story .place-learning-group > :not(summary) {
  max-width:none !important;
  margin:0 !important;
  padding:16px !important;
}
body.pastpath-premium-v2 .premium-place-story .education-layer-grid p,
body.pastpath-premium-v2 .premium-place-story .marker-reader p,
body.pastpath-premium-v2 .premium-place-story .place-education-context p {
  color:#352c21 !important;
  font:400 16px/1.65 var(--pp-serif) !important;
}

body.pastpath-premium-v2 .premium-place-story > .source-actions {
  order:5 !important;
  margin:0 0 12px !important;
}
body.pastpath-premium-v2 .premium-place-story > .source-actions .source-link.is-visible:first-child {
  min-height:50px;
  border:1px solid #153d2d !important;
  border-radius:11px !important;
  color:#fff4d2 !important;
  background:#153d2d !important;
}
body.pastpath-premium-v2 .premium-place-story > .place-primary-actions {
  order:6 !important;
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:8px !important;
  margin:0 0 12px !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
}
body.pastpath-premium-v2 .premium-place-story > .place-primary-actions button {
  min-height:46px;
  border:1px solid var(--pp-line) !important;
  border-radius:10px !important;
  color:#2e281f !important;
  background:rgba(255,250,240,.76) !important;
}
body.pastpath-premium-v2 .premium-place-story > .place-primary-actions #fullHistoryButton,
body.pastpath-premium-v2 .premium-place-story > .place-primary-actions #quizButton,
body.pastpath-premium-v2 .premium-place-story > .place-primary-actions #addTripButton,
body.pastpath-premium-v2 .premium-place-story > .place-primary-actions #sharePlaceButton { display:none !important; }
body.pastpath-premium-v2 .premium-place-story > .place-primary-actions #contributePlaceButton {
  grid-column:1/-1 !important;
  color:#3a2a12 !important;
  background:linear-gradient(135deg,#f0d58f,#e1b553) !important;
}
body.pastpath-premium-v2 .premium-place-story > .place-primary-actions #prominentMediaButton {
  grid-column:1/-1 !important;
  order:-2;
  min-height:58px !important;
  border:1px solid #b88b35 !important;
  color:#fff8df !important;
  background:linear-gradient(135deg,#173f32,#245f49) !important;
  box-shadow:0 10px 22px rgba(23,63,50,.2) !important;
  font:800 15px/1.25 system-ui,sans-serif !important;
  letter-spacing:.01em;
}
body.pastpath-premium-v2 .premium-place-story > .place-primary-actions #prominentMediaButton:not(:disabled):hover,
body.pastpath-premium-v2 .premium-place-story > .place-primary-actions #prominentMediaButton:not(:disabled):focus-visible {
  border-color:#e5c16c !important;
  background:linear-gradient(135deg,#1d503e,#2f775a) !important;
  transform:translateY(-1px);
}
body.pastpath-premium-v2 .premium-place-story > .place-primary-actions #prominentMediaButton:disabled {
  min-height:46px !important;
  color:#756d5f !important;
  background:#e7dfd0 !important;
  box-shadow:none !important;
  opacity:.82;
}
body.media-gallery-open .media-gallery-overlay:not([hidden]) {
  z-index:12000 !important;
  display:grid !important;
  visibility:visible !important;
  opacity:1 !important;
}
body.pastpath-premium-v2 .media-gallery-overlay {
  padding:24px !important;
  background:rgba(5,16,12,.34);
}
body.pastpath-premium-v2 .media-gallery-panel {
  width:min(1040px,100%) !important;
  max-height:calc(100dvh - 48px) !important;
  gap:0 !important;
  padding:0 !important;
  overflow:auto !important;
  border:1px solid rgba(227,189,99,.42) !important;
  border-radius:20px !important;
  background:#f7f0df !important;
  box-shadow:0 32px 90px rgba(0,0,0,.52) !important;
}
body.pastpath-premium-v2 .media-gallery-header {
  position:sticky;
  z-index:4;
  top:0;
  padding:20px 24px 17px !important;
  border-bottom:1px solid rgba(227,189,99,.22);
  color:#fff8e7;
  background:linear-gradient(135deg,#0d2b21,#173f32) !important;
}
body.pastpath-premium-v2 .media-gallery-header .eyebrow { margin:0 0 5px; color:#e3bd63 !important; }
body.pastpath-premium-v2 .media-gallery-header h2 { margin:0; color:#fff8e7 !important; font:700 clamp(25px,3vw,36px)/1.05 var(--pp-serif); }
body.pastpath-premium-v2 .media-gallery-close {
  min-width:92px;
  border-color:rgba(227,189,99,.52) !important;
  color:#fff3d0 !important;
  background:rgba(255,255,255,.08) !important;
}
body.pastpath-premium-v2 .media-gallery-hero {
  min-height:clamp(230px,40vh,420px) !important;
  margin:22px 24px 0 !important;
  padding:24px !important;
  border:0 !important;
  border-radius:16px !important;
  box-shadow:inset 0 -130px 160px rgba(0,0,0,.48),0 14px 34px rgba(23,45,34,.18) !important;
}
body.pastpath-premium-v2 .media-gallery-hero strong { font:700 clamp(25px,3.4vw,42px)/1.04 var(--pp-serif); }
body.pastpath-premium-v2 .media-gallery-summary {
  margin:0 !important;
  padding:20px 24px 12px !important;
  color:#443b2c !important;
  font-size:15px !important;
  font-weight:650 !important;
}
body.pastpath-premium-v2 .media-gallery-grid {
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:12px !important;
  padding:6px 24px 24px !important;
}
body.pastpath-premium-v2 .media-gallery-item {
  grid-template-columns:112px minmax(0,1fr) !important;
  min-height:136px !important;
  gap:14px !important;
  padding:12px !important;
  border-color:rgba(86,68,37,.17) !important;
  border-radius:14px !important;
  background:#fffaf0 !important;
  box-shadow:0 8px 24px rgba(45,38,25,.08) !important;
}
body.pastpath-premium-v2 .media-gallery-thumb { width:112px !important; height:112px !important; min-height:112px !important; border-radius:10px !important; }
body.pastpath-premium-v2 .media-gallery-item-copy { align-content:center; gap:7px !important; }
body.pastpath-premium-v2 .media-gallery-item-copy strong { color:#272118 !important; font:700 18px/1.15 var(--pp-serif); }
body.pastpath-premium-v2 .media-gallery-item-copy em { color:#5b5243 !important; font-size:13px !important; line-height:1.4 !important; }
body.pastpath-premium-v2 .media-gallery-footer {
  position:sticky;
  z-index:4;
  bottom:0;
  justify-content:flex-start !important;
  padding:14px 24px calc(14px + env(safe-area-inset-bottom)) !important;
  border-top:1px solid rgba(86,68,37,.14);
  background:rgba(247,240,223,.96);
  backdrop-filter:blur(12px);
}
body.pastpath-premium-v2 .media-gallery-footer button { min-width:150px; min-height:46px; color:#fff5dc !important; background:#153d2d !important; }
@media (max-width:720px) {
  body.pastpath-premium-v2 .media-gallery-overlay { padding:0 !important; }
  body.pastpath-premium-v2 .media-gallery-panel { width:100% !important; max-height:100dvh !important; min-height:100dvh; border:0 !important; border-radius:0 !important; }
  body.pastpath-premium-v2 .media-gallery-header { padding:16px !important; }
  body.pastpath-premium-v2 .media-gallery-hero { min-height:245px !important; margin:14px 14px 0 !important; padding:18px !important; }
  body.pastpath-premium-v2 .media-gallery-summary { padding:17px 16px 10px !important; }
  body.pastpath-premium-v2 .media-gallery-grid { grid-template-columns:1fr !important; padding:4px 14px 20px !important; }
  body.pastpath-premium-v2 .media-gallery-item { grid-template-columns:94px minmax(0,1fr) !important; min-height:118px !important; }
  body.pastpath-premium-v2 .media-gallery-thumb { width:94px !important; height:94px !important; min-height:94px !important; }
  body.pastpath-premium-v2 .media-gallery-footer { padding-left:14px !important; padding-right:14px !important; }
  body.pastpath-premium-v2 .media-gallery-footer button { width:100%; }
}
/* Media gallery stability pass: one canvas, one scrollbar, no competing sticky regions. */
body.pastpath-premium-v2 .media-gallery-overlay {
  align-items:center !important;
  overflow:hidden !important;
  background:rgba(4,16,12,.78) !important;
}
body.pastpath-premium-v2 .media-gallery-panel {
  display:block !important;
  width:min(860px,100%) !important;
  height:auto !important;
  max-height:calc(100dvh - 40px) !important;
  overflow-x:hidden !important;
  overflow-y:auto !important;
  overscroll-behavior:contain !important;
  scrollbar-gutter:stable;
  color:#f5ecd7 !important;
  background:
    radial-gradient(circle at 90% 0,rgba(54,110,88,.2),transparent 32%),
    linear-gradient(155deg,#081d27,#0b2b22 72%,#071b24) !important;
}
body.pastpath-premium-v2 .media-gallery-header,
body.pastpath-premium-v2 .media-gallery-footer {
  position:static !important;
  flex-direction:row !important;
  align-items:center !important;
}
body.pastpath-premium-v2 .media-gallery-header {
  padding:18px 20px !important;
  background:rgba(5,23,30,.96) !important;
}
body.pastpath-premium-v2 .media-gallery-header h2 { font-size:clamp(24px,3vw,32px) !important; }
body.pastpath-premium-v2 .media-gallery-close {
  width:auto !important;
  min-width:82px !important;
  color:#fff9e9 !important;
  background:#234b3d !important;
}
body.pastpath-premium-v2 .media-gallery-hero {
  min-height:clamp(190px,32vh,310px) !important;
  margin:18px 20px 0 !important;
  border-radius:12px !important;
}
body.pastpath-premium-v2 .media-gallery-summary {
  max-width:760px;
  padding:18px 20px 10px !important;
  color:#c7d3ce !important;
}
body.pastpath-premium-v2 .media-gallery-grid {
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:10px !important;
  max-width:760px;
  margin:0 auto;
  padding:4px 20px 22px !important;
  overflow:visible !important;
}
body.pastpath-premium-v2 .media-gallery-item {
  grid-template-columns:96px minmax(0,1fr) !important;
  min-height:116px !important;
  padding:10px !important;
  border:1px solid rgba(227,189,99,.25) !important;
  border-radius:10px !important;
  color:#f6eedb !important;
  background:linear-gradient(145deg,rgba(255,255,255,.09),rgba(255,255,255,.035)) !important;
  box-shadow:0 10px 24px rgba(0,0,0,.15) !important;
  transform:none !important;
}
body.pastpath-premium-v2 .media-gallery-item:hover,
body.pastpath-premium-v2 .media-gallery-item:focus-visible {
  border-color:#b68b3c !important;
  background:rgba(255,255,255,.12) !important;
}
body.pastpath-premium-v2 .media-gallery-thumb {
  width:96px !important;
  height:96px !important;
  min-height:96px !important;
}
body.pastpath-premium-v2 .media-gallery-item-copy small { color:#e3bd63 !important; }
body.pastpath-premium-v2 .media-gallery-item-copy strong { color:#fff8e8 !important; font-size:17px !important; }
body.pastpath-premium-v2 .media-gallery-item-copy em { color:#c6d2ce !important; }
body.pastpath-premium-v2 .media-gallery-item-copy b { color:#17261f !important; background:#e3bd63 !important; }
body.pastpath-premium-v2 .media-gallery-footer {
  padding:14px 20px calc(14px + env(safe-area-inset-bottom)) !important;
  border-top:1px solid rgba(227,189,99,.2) !important;
  background:rgba(5,23,30,.96) !important;
  backdrop-filter:none !important;
}
@media (max-width:720px) {
  body.pastpath-premium-v2 .media-gallery-overlay { padding:0 !important; }
  body.pastpath-premium-v2 .media-gallery-panel {
    min-height:0 !important;
    height:100dvh !important;
    max-height:100dvh !important;
    border-radius:0 !important;
  }
  body.pastpath-premium-v2 .media-gallery-header { padding:14px 16px !important; }
  body.pastpath-premium-v2 .media-gallery-hero { min-height:210px !important; margin:14px 14px 0 !important; }
  body.pastpath-premium-v2 .media-gallery-summary { padding:16px 14px 9px !important; }
  body.pastpath-premium-v2 .media-gallery-grid { padding:4px 14px 18px !important; }
  body.pastpath-premium-v2 .media-gallery-item { grid-template-columns:82px minmax(0,1fr) !important; min-height:102px !important; }
  body.pastpath-premium-v2 .media-gallery-thumb { width:82px !important; height:82px !important; min-height:82px !important; }
  body.pastpath-premium-v2 .media-gallery-footer { padding-left:14px !important; padding-right:14px !important; }
}
body.pastpath-premium-v2 .premium-place-story > .place-card-visit {
  order:7 !important;
  margin:0 0 16px !important;
  border-color:var(--pp-line) !important;
  background:rgba(255,250,240,.62) !important;
}
body.pastpath-premium-v2 .premium-place-story > .premium-card-footer {
  order:100 !important;
  position:sticky;
  z-index:25;
  bottom:0;
  display:grid !important;
  grid-template-columns:1fr 1.25fr 1fr;
  gap:8px;
  width:auto !important;
  margin:auto -22px 0 !important;
  padding:10px 14px calc(10px + env(safe-area-inset-bottom)) !important;
  border-top:1px solid rgba(227,189,99,.35);
  background:rgba(5,24,33,.985);
  backdrop-filter:blur(14px);
}
body.pastpath-premium-v2 .premium-place-story .premium-card-footer button {
  min-height:46px;
  padding:7px 8px;
  border:1px solid rgba(227,189,99,.45);
  border-radius:10px;
  color:#f8e7b7;
  background:rgba(255,255,255,.06);
  font-weight:850;
}
body.pastpath-premium-v2 .premium-place-story .premium-card-footer #stampButton {
  color:#17261f;
  background:var(--pp-gold);
}
body.pastpath-premium-v2 .premium-place-story > :is(#detailType,.quick-place-card,.detail-stats,.visit-snapshot,.place-media-card,.marker-reader,.trust-check,.explore-next-card,.explore-card,.guide-box,.place-more,.detail-actions:not(.place-primary-actions)) { max-width:100%; }

/* CHAPTERS, ERAS, PASSPORT, SURPRISE — one shared premium page shell. */
body.pastpath-premium-v2 .feature-destination-overlay {
  background:rgba(2,12,16,.8) !important;
  backdrop-filter:blur(7px);
}
body.pastpath-premium-v2 .feature-destination-overlay .feature-destination-page {
  border:1px solid rgba(227,189,99,.38) !important;
  border-radius:22px !important;
  color:#f7efd9 !important;
  background:
    radial-gradient(circle at 92% 2%,rgba(49,108,87,.28),transparent 28%),
    radial-gradient(circle at 5% 0,rgba(227,189,99,.14),transparent 26%),
    linear-gradient(150deg,#071d27,#0a281f 64%,#061a22) !important;
  box-shadow:var(--pp-shadow) !important;
}
body.pastpath-premium-v2 .feature-destination-toolbar {
  border-bottom:1px solid rgba(227,189,99,.22) !important;
  color:#f7e6b7 !important;
  background:rgba(5,22,30,.985) !important;
}
body.pastpath-premium-v2 .feature-destination-toolbar strong { color:var(--pp-gold) !important; font-family:var(--pp-serif); }
body.pastpath-premium-v2 .feature-destination-toolbar button {
  border-color:rgba(227,189,99,.42) !important;
  border-radius:9px !important;
  color:#f7e6b7 !important;
  background:rgba(255,255,255,.05) !important;
}
body.pastpath-premium-v2 .feature-destination-overlay .aurora-flagship,
body.pastpath-premium-v2 .feature-destination-overlay .aurora-paper-page {
  color:#f7efd9 !important;
  background:transparent !important;
}
body.pastpath-premium-v2 .feature-destination-overlay .aurora-flagship-heading h2 { color:#fff8e8 !important; font-family:var(--pp-serif); }
body.pastpath-premium-v2 .feature-destination-overlay .aurora-flagship-heading span { color:var(--pp-gold) !important; }
body.pastpath-premium-v2 .feature-destination-overlay :is(.aurora-chapter-row,.aurora-era-row,.aurora-submenu-card,.aurora-passport-panel,.aurora-submenu-lesson,.feature-destination-form) {
  border:1px solid rgba(227,189,99,.24) !important;
  border-radius:15px !important;
  color:#fff7e4 !important;
  background:linear-gradient(145deg,rgba(255,255,255,.085),rgba(255,255,255,.035)) !important;
  box-shadow:0 12px 28px rgba(0,0,0,.16) !important;
}
body.pastpath-premium-v2 .feature-destination-overlay :is(.aurora-chapter-row,.aurora-era-row,.aurora-submenu-card) strong { color:#fff5d9 !important; font-family:var(--pp-serif); }
body.pastpath-premium-v2 .feature-destination-overlay :is(.aurora-chapter-row,.aurora-era-row,.aurora-submenu-card) small,
body.pastpath-premium-v2 .feature-destination-overlay p { color:#c6d2ce !important; }
body.pastpath-premium-v2 .feature-destination-overlay .aurora-page-nav {
  border-top:1px solid rgba(227,189,99,.22) !important;
  background:rgba(5,22,30,.98) !important;
}

/* SURPRISE ME — a cinematic invitation, not an empty settings page. */
body.pastpath-premium-v2 .feature-destination-overlay .theme-surprise {
  display:grid !important;
  grid-template-columns:minmax(0,1fr);
  align-content:start;
  gap:14px !important;
  max-width:900px;
  margin:0 auto;
}
body.pastpath-premium-v2 .feature-destination-overlay .theme-surprise > * { position:relative; z-index:1; }
body.pastpath-premium-v2 .feature-destination-overlay .theme-surprise .aurora-flagship-heading { order:1; }
body.pastpath-premium-v2 .feature-destination-overlay .theme-surprise::before {
  content:"A remarkable place is waiting";
  order:2;
  display:flex;
  align-items:flex-end;
  min-height:300px;
  padding:24px;
  border:1px solid rgba(227,189,99,.35);
  border-radius:20px;
  color:#fff5d8;
  background:
    linear-gradient(180deg,transparent 24%,rgba(3,16,21,.88)),
    radial-gradient(circle at 72% 32%,rgba(227,189,99,.42),transparent 24%),
    url("assets/aurora/museum-atlas-background-v2.png") center/cover;
  box-shadow:0 20px 44px rgba(0,0,0,.3);
  font:700 clamp(25px,4vw,38px)/1.06 var(--pp-serif);
}
body.pastpath-premium-v2 .feature-destination-overlay .theme-surprise .aurora-submenu-intro { order:3; margin:0 !important; }
body.pastpath-premium-v2 .feature-destination-overlay .theme-surprise .aurora-submenu-actions { order:4; display:grid !important; }
body.pastpath-premium-v2 .feature-destination-overlay .theme-surprise .aurora-submenu-actions button {
  min-height:54px;
  border:1px solid var(--pp-gold) !important;
  border-radius:12px !important;
  color:#17261f !important;
  background:var(--pp-gold) !important;
  font-weight:950;
}
body.pastpath-premium-v2 .feature-destination-overlay .theme-surprise .calm-search-more { order:5; }
body.pastpath-premium-v2 .feature-destination-overlay .theme-surprise .calm-submenu-more { order:6; }
body.pastpath-premium-v2 .feature-destination-overlay .theme-surprise .aurora-page-nav { order:7; }

@media (max-width:700px) {
  body.pastpath-premium-v2 .discovery-home {
    margin:0 !important;
    padding:16px !important;
    border-radius:18px;
  }
  body.pastpath-premium-v2 .discovery-home-header h2 { font-size:34px !important; }
  body.pastpath-premium-v2 .discovery-action-grid { grid-template-columns:1fr 1fr !important; gap:10px !important; }
  body.pastpath-premium-v2 .aurora-discovery-card { min-height:96px; }
  body.pastpath-premium-v2.place-card-open .detail-panel.premium-place-story {
    width:100%;
    max-height:100dvh;
    padding:0 16px 0 !important;
    border:0;
    border-radius:0;
  }
  body.pastpath-premium-v2 .premium-place-story .place-card-toolbar,
  body.pastpath-premium-v2 .premium-place-story > .photo-strip,
  body.pastpath-premium-v2 .premium-place-story > .premium-card-footer { margin-left:-16px !important; margin-right:-16px !important; }
  body.pastpath-premium-v2 .premium-place-story > .photo-strip { min-height:190px !important; }
  body.pastpath-premium-v2 .premium-place-story > .photo-strip[data-visual-state="preview"],
  body.pastpath-premium-v2 .premium-place-story > .photo-strip[data-visual-state="empty"] { min-height:116px !important; }
  body.pastpath-premium-v2 .premium-place-story > #detailTitle { font-size:32px !important; padding-top:17px !important; }
  body.pastpath-premium-v2 .premium-place-story .museum-label-card p { font-size:16px !important; }
  body.pastpath-premium-v2 .premium-place-story > .place-primary-actions { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  body.pastpath-premium-v2 .premium-place-story .premium-card-footer { grid-template-columns:.9fr 1.25fr .9fr; }
  body.pastpath-premium-v2 .premium-place-story .premium-card-footer button { font-size:12px; }
  body.pastpath-premium-v2 .feature-destination-overlay .feature-destination-page { inset:0 !important; width:100% !important; border:0 !important; border-radius:0 !important; }
  body.pastpath-premium-v2 .feature-destination-overlay .theme-surprise::before { min-height:260px; padding:18px; }
}

@media (max-width:420px) {
  body.pastpath-premium-v2 .discovery-action-grid { grid-template-columns:1fr !important; }
  body.pastpath-premium-v2 .aurora-discovery-card { min-height:82px; }
  body.pastpath-premium-v2 .premium-place-story .place-learning-group > summary { min-height:64px !important; padding:11px 13px !important; }
  body.pastpath-premium-v2 .premium-place-story .place-learning-group > summary strong { font-size:18px !important; }
}

@media (prefers-reduced-motion:reduce) {
  body.pastpath-premium-v2 *, body.pastpath-premium-v2 *::before, body.pastpath-premium-v2 *::after {
    scroll-behavior:auto !important;
    transition-duration:.01ms !important;
    animation-duration:.01ms !important;
  }
}


/* src/experience/pastpath-launch-polish.css */
/* Final launch polish: shared rhythm, readable controls, and compact mobile discovery. */
:root { --pp-launch-radius:12px; --pp-launch-focus:#f4d477; }
html { scrollbar-gutter:stable; }
body { text-rendering:optimizeLegibility; -webkit-font-smoothing:antialiased; }
button,input,select,textarea { font:inherit; }
button,a,input,select,[tabindex]:not([tabindex="-1"]) { -webkit-tap-highlight-color:transparent; }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible { outline:3px solid var(--pp-launch-focus); outline-offset:3px; }
#nl-badge-frame { display:none!important; }

.discovery-home-header h2 { max-width:9.5ch; text-wrap:balance; }
.pastpath-education-promise{display:grid;gap:10px;padding:14px;border:1px solid rgba(229,195,105,.38);border-radius:16px;background:linear-gradient(145deg,rgba(229,195,105,.12),rgba(255,255,255,.035));color:#eff7f2}
.pastpath-education-proof{display:flex;flex-wrap:wrap;gap:7px}
.pastpath-education-proof span{padding:6px 9px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(4,25,20,.38);font-size:11px;line-height:1.2}
.pastpath-education-proof b{color:#f1d47f;font-size:13px}
.pastpath-education-promise>p{margin:0;color:#c8d9d1;font-size:12px;line-height:1.5}
.pastpath-education-entrypoints{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.pastpath-education-entrypoints button{display:grid;gap:2px;min-height:48px;padding:9px 11px;text-align:left;color:#fffdf7;border:1px solid rgba(240,207,120,.44);border-radius:12px;background:#1a4934;cursor:pointer}
.pastpath-education-entrypoints button:is(:hover,:focus-visible){background:#286246;border-color:#f0cf78;outline:none}
.pastpath-education-entrypoints b{font-size:12px}.pastpath-education-entrypoints small{color:#c8d9d1;font-size:10px;line-height:1.3}
.aurora-search { box-shadow:0 12px 28px rgba(0,0,0,.16); }
.aurora-discovery-card,.live-webcam-highlight,.discovery-spotlight,.daily-discovery-home { transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease; }
.aurora-discovery-card:hover,.aurora-discovery-card:focus-visible { transform:translateY(-2px); box-shadow:0 12px 24px rgba(0,0,0,.25); }
.aurora-featured-visual:not(.has-photo),#discoverySpotlightVisual:not(.has-photo) { background-image:radial-gradient(circle at 62% 28%,rgba(243,211,128,.26),transparent 24%),linear-gradient(145deg,#28544b,#15312f 48%,#0e2022)!important; }

.live-webcam-gallery>header { align-items:start; }
.live-webcam-gallery>header button { align-self:start; width:auto; min-width:64px; height:44px; min-height:44px; padding:0 14px; }
.live-webcam-grid { scrollbar-color:#9d7938 #111815; scrollbar-width:thin; }
.live-webcam-card { content-visibility:auto; contain-intrinsic-size:300px 230px; }
.live-webcam-card-open>small { font-size:13px; }
.live-webcam-card-open>em { line-height:1.4; }

.feature-destination-overlay>article,.daily-discovery-overlay>article,.native-lands-explorer>article { scrollbar-color:#9d7938 transparent; scrollbar-width:thin; }
.feature-destination-overlay button,.daily-discovery-overlay button,.native-lands-explorer button { min-height:44px; }
.aurora-chapter-list,.aurora-era-timeline,.aurora-route-list { padding-bottom:max(90px,calc(70px + env(safe-area-inset-bottom))); }

@media (max-width:800px) {
  body { padding-bottom:calc(70px + env(safe-area-inset-bottom)); }
  body.live-webcam-open,body.feature-destination-open,body.place-card-open { padding-bottom:0; }
  .sidebar { padding-bottom:calc(100px + env(safe-area-inset-bottom)); }
  .discovery-home { padding:18px 14px; border-radius:18px; }
  .discovery-home-header h2 { max-width:10ch; font-size:clamp(36px,11.5vw,49px); line-height:.94; }
  .discovery-home-proof { margin-top:10px; font-size:13px; }
  .pastpath-education-promise{padding:11px;gap:8px}
  .pastpath-education-entrypoints{grid-template-columns:1fr}
  .aurora-search { min-height:54px; }
  body.pastpath-premium-v2 .discovery-action-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:9px!important; }
  body.pastpath-premium-v2 .discovery-action-grid .aurora-discovery-card { grid-column:auto!important; min-width:0; min-height:104px!important; padding:11px!important; border-radius:10px!important; }
  .aurora-discovery-card .aurora-card-copy { align-self:end; }
  .aurora-discovery-card strong { font-size:clamp(18px,5.2vw,23px)!important; line-height:1!important; }
  .aurora-discovery-card small { display:block!important; margin-top:4px; font-size:10px!important; line-height:1.15!important; }
  .live-webcam-highlight { margin-top:12px; padding:15px; }
  .live-webcam-highlight h3 { font-size:24px; }
  .live-webcam-highlight button { min-height:52px; }
  .aurora-bottom-nav { padding-bottom:env(safe-area-inset-bottom); backdrop-filter:blur(18px); }

  .live-webcam-gallery>header { gap:10px; padding:16px 16px 13px; }
  .live-webcam-gallery h2 { max-width:11ch; margin-top:5px; font-size:clamp(27px,8.5vw,34px); }
  .live-webcam-gallery header p { font-size:13px; line-height:1.4; }
  .live-webcam-gallery { overflow-y:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; }
  .live-webcam-gallery>header button { position:fixed; top:max(10px,env(safe-area-inset-top)); right:12px; z-index:6; min-width:48px; width:48px; height:48px; padding:0; overflow:hidden; font-size:0; box-shadow:0 8px 22px rgba(0,0,0,.38); }
  .live-webcam-gallery>header button::before { content:"×"; font:400 30px/1 Georgia,serif; }
  .live-webcam-health { gap:7px; }
  .live-webcam-health p { font-size:10px; }
  .live-webcam-tools { gap:10px; }
  .live-webcam-regions { scroll-snap-type:x proximity; scrollbar-width:none; }
  .live-webcam-regions::-webkit-scrollbar { display:none; }
  .live-webcam-regions button { scroll-snap-align:start; }
  .live-webcam-grid { flex:0 0 auto; gap:10px; overflow:visible; padding-bottom:20px; }
  .live-webcam-card { min-height:0; }
  .live-webcam-card-open { padding:15px 15px 9px; }
  .live-webcam-card-open>strong { margin-top:10px; font-size:21px; }
  .live-webcam-save { margin:0 15px 13px; }
  .live-webcam-more { min-height:48px; margin-bottom:max(14px,env(safe-area-inset-bottom)); }

  .feature-destination-overlay>article { border-radius:0; }
  .feature-destination-overlay .feature-overlay-toolbar { position:sticky; top:0; z-index:8; backdrop-filter:blur(16px); }
  .chapter-library-intro { border-radius:14px; }
  .aurora-chapter-card,.aurora-era-row,.aurora-route-card { border-radius:14px!important; }
}

@media (max-width:390px) {
  .discovery-home-header h2 { font-size:38px; }
  .aurora-discovery-card { min-height:96px!important; }
  .aurora-discovery-card small { display:none!important; }
  .live-webcam-health span { font-size:8px; }
}

@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { scroll-behavior:auto!important; transition-duration:.01ms!important; animation-duration:.01ms!important; animation-iteration-count:1!important; }
}

/* Keep sharing available without changing the established place-page layout. */
body.pastpath-premium-v2 .premium-place-story > .place-primary-actions #sharePlaceButton {
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
}
/* The main explore page ends at the map. These legacy home modules remain in
   the DOM for internal compatibility, but never occupy visible page space. */
.aurora-ui #discoverySpotlight[hidden],
.aurora-ui .workspace > .aurora-daily-card[hidden],
.aurora-ui .workspace > .timeline-panel[hidden] {
  display:none !important;
}

/* The public homepage ends at the map. Place details remain available as a
   true overlay after a marker is selected, without leaving results below it. */
body:not(.place-card-open) .workspace > .content-grid,
.workspace > .content-grid > .results-column {
  display:none !important;
}
body.place-card-open .workspace > .content-grid {
  display:contents !important;
}

@media (max-width:520px) {
  .brand-actions { gap:6px; }
  .aurora-world-button { min-height:40px; padding:0 10px; }
  .aurora-world-button strong { display:none; }
}


/* src/experience/pastpath-contrast-repair.css */
/* High-contrast guardrails for the public discovery screen. */
:root { --pp-readable-ink:#102b20; --pp-readable-paper:#fffdf7; --pp-readable-muted:#3f5649; }
.discovery-home { background:#102d21; border-color:#d7b65e; }
.discovery-home-header h2 { color:#fffdf7; text-shadow:0 1px 1px rgba(0,0,0,.3); }
.discovery-home-header p,.discovery-home-proof { color:#ecf5eb; }
.discovery-action-grid button,.discovery-quick-actions button { color:#fffdf7; background:#1a4934; border-color:rgba(255,255,255,.38); }
.discovery-action-grid button:is(:hover,:focus-visible),.discovery-quick-actions button:is(:hover,:focus-visible) { background:#286246; border-color:#f0cf78; }
.discovery-action-grid button strong,.discovery-action-grid button small,.discovery-quick-actions button { text-shadow:0 1px 1px rgba(0,0,0,.28); }
.aurora-discovery-card,.live-webcam-highlight { color:#fffdf7; border-color:rgba(240,207,120,.62); }
.aurora-discovery-card small,.live-webcam-highlight p { color:#eef5ec; }
.discovery-spotlight { color:var(--pp-readable-ink); background:var(--pp-readable-paper); border-color:#d6b56b; }
.discovery-spotlight-copy p,.discovery-spotlight-copy small { color:var(--pp-readable-muted); }
.discovery-spotlight.aurora-featured { color:#fffdf7; background:#092a40; border-color:rgba(232,195,112,.62); }
.aurora-ui .discovery-spotlight.aurora-featured .discovery-spotlight-copy h3 { color:#fffdf7; }
.discovery-spotlight.aurora-featured .discovery-spotlight-copy p { color:rgba(255,255,255,.9); }
.discovery-spotlight.aurora-featured .discovery-spotlight-copy > span,
.discovery-spotlight.aurora-featured .discovery-spotlight-copy small { color:#f0d27d; }
.location-welcome { background:rgba(5,16,11,.82); backdrop-filter:blur(12px); }
.location-welcome>div { background:#fffaf0; box-shadow:0 28px 80px rgba(0,0,0,.55); }
@media (max-width:800px) {
  .discovery-home { background:#0d2a1e; }
  .discovery-action-grid button { background:#194832; }
}


/* src/pwa/pastpath-pwa.css */
.pastpath-pwa-install,
.pastpath-pwa-toast,
.pastpath-pwa-sheet { font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.pastpath-pwa-install { display:flex; align-items:center; gap:12px; width:100%; margin:14px 0 4px; padding:14px 15px; border:1px solid rgba(226,187,101,.55); border-radius:18px; color:#fff8df; background:linear-gradient(135deg,#153e34,#08231d); box-shadow:0 12px 28px rgba(4,25,20,.2); text-align:left; cursor:pointer; }
.pastpath-pwa-install[hidden] { display:none!important; }
.pastpath-pwa-install-mark { display:grid; place-items:center; flex:0 0 42px; height:42px; border-radius:14px; color:#17241f; background:linear-gradient(145deg,#fff0aa,#c68f2f); font-size:22px; }
.pastpath-pwa-install-copy { min-width:0; flex:1; }
.pastpath-pwa-install-copy strong,.pastpath-pwa-install-copy small { display:block; }
.pastpath-pwa-install-copy strong { font-size:14px; letter-spacing:.01em; }
.pastpath-pwa-install-copy small { margin-top:3px; color:#c8d9d2; font-size:11px; line-height:1.35; }
.pastpath-pwa-install-arrow { color:#e9c66e; font-size:20px; }
.pastpath-pwa-toast-stack { position:fixed; z-index:2147482500; right:max(14px,env(safe-area-inset-right)); bottom:max(16px,calc(env(safe-area-inset-bottom) + 12px)); display:grid; gap:10px; width:min(390px,calc(100vw - 28px)); pointer-events:none; }
.pastpath-pwa-toast { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:12px; padding:13px 14px; border:1px solid rgba(240,205,119,.42); border-radius:18px; color:#f8f3e4; background:rgba(6,29,24,.96); box-shadow:0 18px 60px rgba(0,0,0,.36); backdrop-filter:blur(18px); transform:translateY(18px); opacity:0; transition:.24s ease; pointer-events:auto; }
.pastpath-pwa-toast.is-visible { transform:none; opacity:1; }
.pastpath-pwa-toast-icon { display:grid; place-items:center; width:36px; height:36px; border-radius:12px; color:#0a2b23; background:#e7bd60; font-weight:900; }
.pastpath-pwa-toast-copy strong,.pastpath-pwa-toast-copy small { display:block; }
.pastpath-pwa-toast-copy strong { font-size:13px; }.pastpath-pwa-toast-copy small { margin-top:2px; color:#c9d7d2; font-size:11px; line-height:1.4; }
.pastpath-pwa-toast button { min-height:38px; padding:0 13px; border:1px solid #e5bd66; border-radius:12px; color:#102a22; background:#f2d985; font-weight:800; cursor:pointer; }
.pastpath-pwa-sheet[hidden] { display:none!important; }
.pastpath-pwa-sheet { position:fixed; z-index:2147483000; inset:0; display:grid; place-items:end center; padding:18px max(16px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left)); background:rgba(2,12,10,.68); backdrop-filter:blur(8px); }
.pastpath-pwa-card { position:relative; width:min(560px,100%); max-height:min(680px,calc(100dvh - 32px)); overflow:auto; padding:25px; border:1px solid rgba(239,203,111,.64); border-radius:28px; color:#f9f4e7; background:radial-gradient(circle at 100% 0,rgba(216,169,68,.18),transparent 34%),linear-gradient(145deg,#123b31,#061c17 72%); box-shadow:0 32px 90px rgba(0,0,0,.55); }
.pastpath-pwa-card-close { position:absolute; top:15px; right:15px; width:42px; height:42px; border:1px solid rgba(255,255,255,.18); border-radius:50%; color:#fff; background:rgba(0,0,0,.2); font-size:22px; cursor:pointer; }
.pastpath-pwa-card-mark { display:grid; place-items:center; width:58px; height:58px; border-radius:19px; color:#09271f; background:linear-gradient(145deg,#fff0a5,#bf8127); font-size:30px; box-shadow:0 12px 30px rgba(0,0,0,.24); }
.pastpath-pwa-card .eyebrow { margin:17px 0 7px; color:#e8c56f; font-size:11px; font-weight:900; letter-spacing:.15em; text-transform:uppercase; }
.pastpath-pwa-card h2 { margin:0; color:#fffaf0; font-family:Georgia,serif; font-size:clamp(27px,6vw,42px); line-height:1.05; }
.pastpath-pwa-card>p { color:#cfddd7; line-height:1.55; }
.pastpath-pwa-benefits { display:grid; gap:9px; margin:19px 0; padding:0; list-style:none; }
.pastpath-pwa-benefits li { display:flex; gap:10px; align-items:flex-start; padding:12px; border-radius:15px; background:rgba(255,255,255,.06); color:#edf4f1; font-size:13px; line-height:1.4; }
.pastpath-pwa-benefits li span { color:#eac66f; font-weight:900; }
.pastpath-pwa-actions { display:grid; grid-template-columns:1fr auto; gap:10px; }
.pastpath-pwa-actions button { min-height:52px; padding:0 18px; border-radius:16px; font-weight:900; cursor:pointer; }
.pastpath-pwa-primary { border:0; color:#12261f; background:linear-gradient(135deg,#ffe99b,#d6a13c); box-shadow:0 12px 30px rgba(216,164,57,.2); }
.pastpath-pwa-secondary { border:1px solid rgba(255,255,255,.2); color:#f8f3e7; background:transparent; }
.pastpath-pwa-ios-steps { padding:13px 15px; border-radius:15px; color:#f1ead7; background:rgba(255,255,255,.07); font-size:13px; line-height:1.55; }
/* Standalone apps replace the install prompt with the update control. Keep the
   update control visible: hiding the shared base class also hid manual updates. */
body.pastpath-standalone .pastpath-pwa-install-offer { display:none!important; }
body.pastpath-standalone .pastpath-pwa-update { display:flex!important; }
@media (min-width:720px) { .pastpath-pwa-sheet { place-items:center; }.pastpath-pwa-card { padding:32px; } }
@media (max-width:480px) { .pastpath-pwa-actions { grid-template-columns:1fr; }.pastpath-pwa-secondary { order:2; }.pastpath-pwa-card { border-radius:25px; padding:22px; } }
@media (prefers-reduced-motion:reduce) { .pastpath-pwa-toast { transition:none; } }


/* src/pwa/pastpath-notification-entry.css */
.pp-notify-entry,.pp-inbox-menu{width:100%;display:grid;grid-template-columns:42px 1fr auto;gap:12px;align-items:center;margin:10px 0;padding:14px;border:1px solid rgba(212,173,98,.34);border-radius:16px;background:linear-gradient(135deg,rgba(212,173,98,.12),rgba(255,255,255,.03));color:inherit;text-align:left}.pp-notify-entry>span:first-child,.pp-inbox-menu>span:first-child{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#d4ad62;color:#18261f;font-size:20px}.pp-notify-entry strong,.pp-notify-entry small,.pp-inbox-menu strong,.pp-inbox-menu small{display:block}.pp-notify-entry small,.pp-inbox-menu small{margin-top:3px;opacity:.72}.pp-notify-entry i,.pp-inbox-menu i{font-size:26px;font-style:normal}


/* src/experience/pastpath-finish-polish.css */
/* Final cohesive product pass: quiet hierarchy, readable stories, resilient phones. */
:root{
  --pp-space-1:6px;--pp-space-2:10px;--pp-space-3:14px;--pp-space-4:20px;--pp-space-5:28px;
  --pp-control-radius:12px;--pp-card-radius:18px;--pp-sheet-radius:24px;
  --pp-surface:#0b2923;--pp-surface-raised:#12372f;--pp-paper:#f7f0da;--pp-ink:#17251f;
  --pp-gold:#e4bd62;--pp-muted:#bdd0c8;--pp-border:rgba(229,190,101,.34);
}

/* First five minutes: two immediate choices, everything else one calm tap away. */
body.pastpath-progressive-home:not(.pastpath-home-expanded) .discovery-action-grid .aurora-discovery-card:not(.is-primary-discovery){display:none!important;}
.pastpath-more-discovery{display:grid;grid-template-columns:1fr auto;gap:2px 14px;align-items:center;width:100%;min-height:58px;margin:11px 0 0;padding:12px 15px;border:1px solid var(--pp-border);border-radius:var(--pp-control-radius);color:#fff7df;background:rgba(255,255,255,.045);text-align:left;cursor:pointer;}
.pastpath-more-discovery span{font-weight:850;}.pastpath-more-discovery small{grid-column:1;color:var(--pp-muted);font-size:10px;line-height:1.3;}.pastpath-more-discovery b{grid-column:2;grid-row:1/3;color:var(--pp-gold);font-size:24px;font-weight:400;}
.pastpath-continue-cue{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

/* One component language across ordinary cards and controls. */
.aurora-chapter-card,.aurora-era-row,.aurora-route-card,.live-webcam-card,.passport-achievement,.my-hub-card{border-radius:var(--pp-card-radius)!important;}
.feature-overlay-toolbar,.map-toolbar,.live-webcam-gallery>header{border-color:var(--pp-border)!important;}
.feature-destination-overlay button,.pastpath-hub button,.pastpath-account-shell button,.native-lands-explorer button{border-radius:var(--pp-control-radius);}
.feature-destination-overlay h2,.daily-discovery-overlay h2,.pastpath-hub h2,.pastpath-account-shell h2{text-wrap:balance;}

/* Secondary discovery cards are quieter; featured stories retain the drama. */
body.pastpath-home-expanded .aurora-discovery-card:not(.is-primary-discovery)::after{opacity:.48!important;}
body.pastpath-home-expanded .aurora-discovery-card:not(.is-primary-discovery){box-shadow:0 7px 18px rgba(0,0,0,.14)!important;}

/* Museum-quality reading rhythm and a restrained progress signal. */
.pastpath-read-time{display:inline-flex;align-items:center;min-height:26px;margin:2px 0 13px;padding:4px 9px;border:1px solid rgba(155,117,48,.28);border-radius:999px;color:#775824;background:rgba(251,242,214,.72);font:750 10px/1.2 Inter,system-ui,sans-serif;letter-spacing:.04em;text-transform:uppercase;}
.pastpath-reading-progress{position:sticky;z-index:20;top:0;width:100%;height:3px;margin:0 0 10px;overflow:hidden;background:rgba(126,95,40,.12);transform:translateZ(0);}
.pastpath-reading-progress i{display:block;width:100%;height:100%;background:linear-gradient(90deg,#b67f2f,#efcf73);transform:scaleX(0);transform-origin:left center;transition:transform 80ms linear;}
.premium-place-story p,#detailPanel p{line-height:1.66;}
.premium-place-story .detail-hero-card p,#detailPanel .detail-hero-card p{max-width:68ch;}
.premium-place-story h3,#detailPanel h3{line-height:1.15;text-wrap:balance;}
.source-actions{gap:var(--pp-space-2)!important;}

/* Phone hardening: visual viewport, keyboard, rotation, and suspension. */
body.pastpath-standalone{min-height:var(--pp-visual-height,100dvh);}
body.pastpath-keyboard-open .aurora-bottom-nav,body.pastpath-keyboard-open .passport-wallet-button{visibility:hidden!important;pointer-events:none!important;}
body.pastpath-keyboard-open .feature-destination-overlay>article,body.pastpath-keyboard-open .pastpath-account-shell{max-height:var(--pp-visual-height,100dvh)!important;}
body.pastpath-suspended *,body.pastpath-suspended *::before,body.pastpath-suspended *::after{animation-play-state:paused!important;}
body.pastpath-data-saver .live-webcam-card img:not([data-loaded]),body.pastpath-data-saver .media-gallery-overlay img:not([data-loaded]){filter:saturate(.8);}

@media(max-width:800px){
  .pastpath-more-discovery{margin-bottom:4px;}
  body.pastpath-home-expanded .discovery-action-grid{animation:pp-reveal-grid .2s ease both;}
  .pastpath-reading-progress{top:env(safe-area-inset-top);}
  .premium-place-story p,#detailPanel p{font-size:max(16px,1rem);line-height:1.68;}
  .premium-place-story h2,#detailTitle{font-size:clamp(29px,8.5vw,42px)!important;}
}
@keyframes pp-reveal-grid{from{opacity:.7;transform:translateY(-4px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.pastpath-reading-progress i{transition:none}.pastpath-home-expanded .discovery-action-grid{animation:none}}
.trekbound-membership-cue{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:58px;margin:10px 0;padding:11px 13px;border:1px solid rgba(228,189,98,.48);border-radius:14px;color:#fff8e3;background:linear-gradient(115deg,rgba(178,128,41,.23),rgba(255,255,255,.055));text-decoration:none}.trekbound-membership-cue span{display:grid;gap:3px}.trekbound-membership-cue small{color:#e7c979;font-size:9px;font-weight:950;letter-spacing:.1em;text-transform:uppercase}.trekbound-membership-cue strong{font-size:13px}.trekbound-membership-cue b{flex:0 0 auto;padding:8px 10px;border-radius:999px;color:#173b30;background:#f0cf75;font-size:10px;white-space:nowrap}.trekbound-trust-links{display:grid;gap:8px;margin:18px 0 4px;padding:14px 2px 2px;border-top:1px solid rgba(228,189,98,.25);color:#c8d8d1}.trekbound-trust-links>strong{font-size:11px}.trekbound-trust-links nav{display:flex;flex-wrap:wrap;gap:8px 13px}.trekbound-trust-links a{color:#e4c66d;font-size:10px;font-weight:800}
@media(max-width:420px){.trekbound-membership-cue{align-items:flex-start;flex-direction:column}.trekbound-membership-cue b{width:100%;text-align:center}}
/* Ranked search results: make the list explain itself at a glance. */
.stop-card-rank{display:flex;align-items:center;gap:7px;margin:0 0 5px;color:#6d5527;font-size:10px;font-weight:800;letter-spacing:.02em}.stop-card-rank strong{display:grid;place-items:center;min-width:28px;height:24px;padding:0 6px;border-radius:999px;color:#fff;background:#274f3f;font-size:11px}.stop-card-rank span{line-height:1.25}.stop-card-location{margin:-1px 0 6px!important;color:#6c6252!important;font-size:11px!important;font-weight:700}.tag-row .tag-source{border-color:rgba(39,79,63,.28);color:#214b3b;background:#e7f0e9}.places-list-visible .results-panel-toggle{border-color:#b88b32;background:#fff8e8}.places-list-visible .stop-list{scroll-margin-top:76px}
/* The map results tray is owned by pastpath-visual-resilience.css. */
@media(max-width:620px){.stop-card-rank{font-size:9px}.stop-card-rank strong{min-width:26px;height:22px}.stop-card-location{font-size:10px!important}}


/* src/experience/trekbound-easy-mode.css */
.tb-mode-choice,.tb-reader,.tb-demo{position:fixed;z-index:2147483600;inset:0;display:grid;place-items:center;padding:20px;background:rgba(7,18,13,.78);backdrop-filter:blur(7px)}
.tb-mode-choice[hidden],.tb-reader[hidden],.tb-demo[hidden]{display:none!important}
.tb-mode-choice-card,.tb-reader-card,.tb-demo-card{width:min(620px,100%);max-height:calc(100dvh - 32px);overflow:auto;border:2px solid #d2ad55;border-radius:22px;padding:clamp(22px,5vw,40px);color:#18372f;background:#fffdf7;box-shadow:0 28px 80px rgba(0,0,0,.42)}
.tb-mode-choice-card>span,.tb-reader-card header span,.tb-demo-card>span{display:block;color:#795a22;font-size:.82rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.tb-mode-choice h1,.tb-reader h2,.tb-demo h2{margin:7px 0 9px;color:#18372f;font:700 clamp(1.8rem,5vw,2.6rem)/1.08 Georgia,serif}
.tb-mode-choice p,.tb-demo p{color:#43574f;font-size:1.08rem;line-height:1.55}
.tb-mode-choice-card>button{position:relative;display:grid;width:100%;gap:4px;min-height:92px;margin-top:14px;padding:17px 19px;border:2px solid #b7aa90;border-radius:15px;color:#18372f;text-align:left;background:#fff;cursor:pointer}
.tb-mode-choice-card>button:first-of-type{border-color:#1e6555;background:#eef8f2}.tb-mode-choice-card>button strong{font-size:1.22rem}.tb-mode-choice-card>button small{font-size:.98rem;line-height:1.4}.tb-mode-choice-card>button b{position:absolute;top:10px;right:10px;padding:4px 7px;border-radius:999px;color:#fff;background:#1e6555;font-size:.7rem;text-transform:uppercase}
.tb-mode-toggle{position:fixed;z-index:2147483050;top:max(8px,env(safe-area-inset-top));right:10px;min-height:44px;padding:8px 12px;border:2px solid #d6b65f;border-radius:999px;color:#fff;background:#173e30;font-weight:900;box-shadow:0 5px 18px rgba(0,0,0,.2);cursor:pointer}
/* Notification destinations own their Close buttons; preserve the user's mode underneath. */
body:has(#pastPathNotificationSheet:not([hidden]),.pp-inbox:not([hidden]),.pp-editions:not([hidden]),.pp-exhibitions:not([hidden]),.pp-learning-paths:not([hidden]),#dailyDiscoveryOverlay:not([hidden])) .tb-mode-toggle{visibility:hidden;pointer-events:none}
.tb-easy-home{display:none}.trekbound-easy-mode .tb-easy-home{display:grid;gap:16px}.tb-easy-home-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tb-easy-home-grid button{display:grid;grid-template-columns:52px 1fr;align-items:center;gap:3px 12px;min-height:96px;padding:15px;border:2px solid #d6c28d;border-radius:16px;color:#173e30;text-align:left;background:#fffdf7;box-shadow:0 8px 20px rgba(0,0,0,.12);cursor:pointer}.tb-easy-home-grid button:nth-child(5){grid-column:1/-1}.tb-easy-home-grid button span{grid-row:1/3;display:grid;width:52px;height:52px;place-items:center;border-radius:50%;color:#fff;background:#1f6655;font-size:1.5rem;font-weight:900}.tb-easy-home-grid strong{font-size:1.2rem;line-height:1.15}.tb-easy-home-grid small{color:#50635b;font-size:.98rem;line-height:1.3}.tb-easy-home-secondary{display:flex;flex-wrap:wrap;gap:9px}.tb-easy-home-secondary button{flex:1 1 150px;min-height:52px;padding:10px;border:2px solid rgba(255,255,255,.45);border-radius:12px;color:#fff;background:rgba(255,255,255,.1);font-size:1rem;font-weight:800}
.trekbound-easy-mode #pe,.trekbound-easy-mode #discoveryHome>.discovery-action-grid,.trekbound-easy-mode #discoveryHome>.live-webcam-highlight,.trekbound-easy-mode #discoveryHome>.discovery-quick-actions,.trekbound-easy-mode #discoveryHome>.discovery-spotlight,.trekbound-easy-mode #discoveryHome>.aurora-search,.trekbound-easy-mode #discoveryHome>.aurora-search-panel,.trekbound-easy-mode #discoveryHome>.trekbound-membership-cue,.trekbound-easy-mode #pastPathMoreDiscovery{display:none!important}
.trekbound-easy-mode{font-size:112.5%;padding-bottom:104px}.trekbound-easy-mode button,.trekbound-easy-mode a,.trekbound-easy-mode summary,.trekbound-easy-mode select,.trekbound-easy-mode input{min-height:48px}.trekbound-easy-mode :focus-visible{outline:4px solid #f2bd3d!important;outline-offset:3px!important}.trekbound-easy-mode p,.trekbound-easy-mode li{line-height:1.65}.trekbound-easy-mode .discovery-home-header h2{font-size:clamp(1.65rem,5vw,2.25rem)}.trekbound-easy-mode .discovery-home-proof{font-size:1rem;line-height:1.5}
.tb-wayfinder{display:none;position:fixed;z-index:2147483000;right:10px;bottom:max(8px,env(safe-area-inset-bottom));left:10px;max-width:720px;margin:auto;border:2px solid #d6b65f;border-radius:16px;color:#fff;background:#153c2f;box-shadow:0 12px 36px rgba(0,0,0,.36);overflow:hidden}.trekbound-easy-mode .tb-wayfinder{display:block}.tb-wayfinder p{margin:0;padding:7px 12px;color:#fff5cf;background:#0f2d23;font-size:.86rem;font-weight:750;text-align:center}.tb-wayfinder>div{display:grid;grid-template-columns:repeat(4,1fr)}.tb-wayfinder button{display:grid;place-items:center;gap:2px;min-height:62px;padding:5px;border:0;border-right:1px solid rgba(255,255,255,.18);color:#fff;background:transparent;font-size:.92rem;font-weight:900;cursor:pointer}.tb-wayfinder button:last-child{border-right:0}.tb-wayfinder button span{font-size:1.35rem;line-height:1}.tb-wayfinder button:is(:hover,:focus-visible){background:#286a57}
.tb-reader-card{width:min(780px,100%);padding:0}.tb-reader-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:22px 24px 14px}.tb-reader-card header h2{font-size:clamp(1.55rem,4vw,2.1rem)}.tb-reader-card header button,.tb-reader-card footer button,.tb-demo-card button{min-height:48px;padding:10px 16px;border:2px solid #1e6555;border-radius:10px;color:#fff;background:#1e6555;font-weight:900}.tb-depth-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:0 24px 16px}.tb-depth-choices button{display:grid;gap:4px;min-height:76px;padding:10px;border:2px solid #bcb29e;border-radius:11px;color:#18372f;background:#fff;font-weight:900}.tb-depth-choices button[aria-pressed=true]{border-color:#1e6555;background:#e5f4ec;box-shadow:inset 0 0 0 2px #1e6555}.tb-depth-choices small{font-weight:600}.tb-reader-card>[data-tb-reader-label]{display:block;padding:0 24px 8px;color:#795a22}.tb-reader-text{max-height:42vh;overflow:auto;margin:0 24px;padding:18px;border:1px solid #d8cebd;border-radius:12px;color:#243b32;background:#fff;font-size:1.08rem;line-height:1.75;white-space:pre-wrap}.tb-reader-card footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:16px 24px 24px}.tb-reader-card footer label{margin-right:auto;font-weight:800}.tb-reader-card select{min-height:46px;margin-left:5px;padding:7px;border:2px solid #8f856f;border-radius:8px;font:inherit}.tb-reader-card footer button:last-child{color:#18372f;background:#fff}
.tb-demo-card{position:relative;text-align:center}.tb-demo-card p{min-height:84px;font-size:1.15rem}.tb-demo-card>div{display:flex;justify-content:center;gap:9px}.tb-demo-card>button:last-child{margin-top:14px;color:#18372f;background:#fff}.tb-demo-card button:disabled{opacity:.45}
@media(max-width:620px){.tb-mode-toggle{top:max(6px,env(safe-area-inset-top));right:7px;font-size:.75rem}.tb-easy-home-grid{grid-template-columns:1fr}.tb-easy-home-grid button:nth-child(5){grid-column:auto}.tb-wayfinder{right:5px;bottom:max(5px,env(safe-area-inset-bottom));left:5px}.tb-wayfinder p{font-size:.75rem}.tb-wayfinder button{min-height:58px;font-size:.8rem}.tb-depth-choices{grid-template-columns:1fr;padding-inline:16px}.tb-reader-card header,.tb-reader-card footer{padding-inline:16px}.tb-reader-card footer{align-items:stretch;flex-direction:column}.tb-reader-card footer label{margin:0}.tb-reader-text{max-height:34vh;margin-inline:16px}.tb-demo-card>div{align-items:stretch;flex-direction:column}}
@media(prefers-reduced-motion:reduce){.tb-mode-choice,.tb-reader,.tb-demo,.tb-wayfinder{scroll-behavior:auto!important}.trekbound-easy-mode *{animation-duration:.001ms!important;transition-duration:.001ms!important}}


/* src/experience/pastpath-visual-consolidation.css */
/* PastPath visual system — definitive shared language for public surfaces. */
:root{
  --pp-font-display:Georgia,"Times New Roman",serif;
  --pp-font-ui:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --pp-forest-950:#041713;--pp-forest-900:#08241e;--pp-forest-800:#0d3129;--pp-forest-700:#17473c;
  --pp-cream-50:#fffaf0;--pp-cream-100:#f7efd9;--pp-cream-200:#e9dec0;--pp-ink-900:#17231e;--pp-ink-700:#46584f;
  --pp-gold-500:#d7aa4b;--pp-gold-400:#e9c86f;--pp-bronze-600:#8b642c;--pp-info:#70b8aa;--pp-danger:#b9574d;
  --pp-line-dark:rgba(239,205,123,.22);--pp-line-light:rgba(77,59,31,.15);
  --pp-radius-control:12px;--pp-radius-card:18px;--pp-radius-feature:24px;--pp-radius-round:999px;
  --pp-elevation-0:none;--pp-elevation-1:0 6px 18px rgba(2,17,13,.14);--pp-elevation-2:0 16px 42px rgba(2,17,13,.22);--pp-elevation-3:0 28px 78px rgba(0,10,8,.4);
  --pp-motion-fast:140ms;--pp-motion-standard:220ms;--pp-motion-screen:320ms;--pp-motion-ease:cubic-bezier(.2,.75,.25,1);
}

body{font-family:var(--pp-font-ui);color:var(--pp-cream-50);background:var(--pp-forest-950);}
h1,h2,h3,.editorial-title{font-family:var(--pp-font-display);letter-spacing:-.018em;}
.eyebrow,.contribution-kicker,.live-webcam-signal,.premium-place-kicker{font-family:var(--pp-font-ui);font-size:10px!important;font-weight:850!important;letter-spacing:.13em!important;text-transform:uppercase;}

/* Definitive controls. Gold is reserved for primary actions and achievement. */
:where(button,.button,[role="button"]){font-family:var(--pp-font-ui);}
:where(.secondary-button,.text-button,.compact-button,.feature-destination-overlay button,.native-lands-explorer button,.pastpath-account-shell button){min-height:46px;border-radius:var(--pp-radius-control);font-weight:760;letter-spacing:0;}
:where(input,select,textarea){border-radius:var(--pp-radius-control)!important;border-color:rgba(226,200,139,.3)!important;box-shadow:none!important;}
:where(input,select,textarea):focus{border-color:var(--pp-gold-400)!important;box-shadow:0 0 0 3px rgba(233,200,111,.15)!important;}

/* App shell and homepage: editorial headline, quiet utilities, two clear actions. */
.sidebar{background:linear-gradient(180deg,var(--pp-forest-900),#061e19);}
.brand-row{border-bottom:1px solid var(--pp-line-dark)!important;box-shadow:none!important;}
.brand-row h1{color:var(--pp-cream-50);}
.brand-row p{color:var(--pp-muted);font-family:var(--pp-font-ui);letter-spacing:.1em;}
.pastpath-account-button{border-color:var(--pp-line-dark)!important;background:rgba(255,255,255,.055)!important;box-shadow:none!important;}
.discovery-home{border-color:var(--pp-line-dark)!important;background:linear-gradient(160deg,rgba(13,49,41,.9),rgba(6,30,25,.92))!important;box-shadow:var(--pp-elevation-1)!important;}
.discovery-home-header>span{color:var(--pp-gold-400)!important;}
.discovery-home-header h2{color:var(--pp-cream-50)!important;text-shadow:none!important;}
.discovery-home-proof{color:#b9cbc3!important;}
.aurora-search{border:1px solid rgba(237,209,143,.4)!important;border-radius:var(--pp-radius-control)!important;background:rgba(255,250,240,.08)!important;box-shadow:none!important;}
.aurora-search:focus-within{border-color:var(--pp-gold-400)!important;box-shadow:0 0 0 3px rgba(233,200,111,.13)!important;}
.aurora-search input{border:0!important;background:transparent!important;box-shadow:none!important;}
.aurora-search-submit{border-radius:10px!important;color:var(--pp-forest-950)!important;background:var(--pp-gold-400)!important;box-shadow:none!important;}
.aurora-discovery-card{border:1px solid var(--pp-line-dark)!important;border-radius:var(--pp-radius-card)!important;box-shadow:var(--pp-elevation-1)!important;overflow:hidden;}
.aurora-discovery-card.is-primary-discovery{min-height:124px!important;border-color:rgba(239,205,123,.5)!important;box-shadow:var(--pp-elevation-2)!important;}
.aurora-discovery-card.is-primary-discovery::before{background:linear-gradient(180deg,transparent 12%,rgba(2,17,13,.82) 94%)!important;}
.aurora-discovery-card:not(.is-primary-discovery){background:var(--pp-forest-800)!important;}
.pastpath-more-discovery{box-shadow:none!important;}
.live-webcam-highlight{border:1px solid var(--pp-line-dark)!important;border-radius:var(--pp-radius-card)!important;background:rgba(255,255,255,.04)!important;box-shadow:none!important;}
.live-webcam-highlight button{border-radius:var(--pp-radius-control)!important;box-shadow:none!important;}

/* Map: one calm frame and consistent floating controls. */
.workspace{background:var(--pp-forest-950);}
.map-panel{border:1px solid var(--pp-line-dark)!important;border-radius:var(--pp-radius-feature)!important;background:#dfe5d8!important;box-shadow:var(--pp-elevation-2)!important;overflow:hidden;}
.map-toolbar{min-height:58px;padding:10px 14px!important;border-bottom:1px solid var(--pp-line-dark)!important;background:linear-gradient(180deg,#25190f,#382317)!important;box-shadow:none!important;}
.map-toolbar>strong{color:var(--pp-cream-100);font:700 20px/1 var(--pp-font-display);}
.map-toolbar button,.map-toolbar select{min-height:40px;border:1px solid rgba(243,215,150,.25)!important;border-radius:10px!important;background:rgba(255,255,255,.06)!important;box-shadow:none!important;}
.aurora-world-button strong{font-family:var(--pp-font-ui)!important;font-size:11px!important;}
.leaflet-bar{border:0!important;border-radius:12px!important;box-shadow:var(--pp-elevation-1)!important;overflow:hidden;}
.leaflet-bar a{color:var(--pp-ink-900)!important;background:var(--pp-cream-50)!important;border-color:var(--pp-line-light)!important;}
.leaflet-popup-content-wrapper,.leaflet-popup-tip{color:var(--pp-ink-900)!important;background:var(--pp-cream-50)!important;}
.leaflet-popup-content-wrapper{border:1px solid rgba(121,89,38,.22);border-radius:var(--pp-radius-card)!important;box-shadow:var(--pp-elevation-2)!important;}
.leaflet-tooltip{border:1px solid rgba(121,89,38,.2)!important;border-radius:var(--pp-radius-control)!important;color:var(--pp-ink-900)!important;background:rgba(255,250,240,.97)!important;box-shadow:var(--pp-elevation-1)!important;}
.marker-cluster div{font-family:var(--pp-font-ui)!important;font-weight:850!important;}
.map-legend{border:1px solid rgba(121,89,38,.2)!important;border-radius:12px!important;color:var(--pp-ink-900)!important;background:rgba(255,250,240,.94)!important;box-shadow:var(--pp-elevation-1)!important;backdrop-filter:blur(10px);}

/* Story reader: paper, ink, generous rhythm; utilities remain visually secondary. */
.premium-place-story,#detailPanel{color:var(--pp-ink-900)!important;background:var(--pp-cream-50)!important;box-shadow:var(--pp-elevation-3)!important;}
.premium-place-story h2,.premium-place-story h3,#detailPanel h2,#detailPanel h3{color:var(--pp-ink-900)!important;text-shadow:none!important;}
.premium-place-story p,#detailPanel p{color:var(--pp-ink-700);}
.premium-place-story .detail-hero-card,#detailPanel .detail-hero-card{border:0!important;border-bottom:1px solid var(--pp-line-light)!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;}
.premium-place-story details,#detailPanel details{border:1px solid var(--pp-line-light)!important;border-radius:var(--pp-radius-control)!important;background:rgba(139,100,44,.035)!important;box-shadow:none!important;}
.premium-place-story summary,#detailPanel summary{min-height:52px;}
.premium-place-story .place-primary-actions,#detailPanel .place-primary-actions{gap:9px!important;}
.premium-place-story .place-primary-actions button,#detailPanel .place-primary-actions button{box-shadow:none!important;}
.premium-place-story .primary-learning-button,#detailPanel .primary-learning-button{color:var(--pp-forest-950)!important;background:var(--pp-gold-400)!important;}
.premium-place-story .source-link,#detailPanel .source-link{border-radius:var(--pp-control-radius)!important;color:#604517!important;background:rgba(216,170,76,.09)!important;}
.pastpath-read-time{color:#6a4b1c!important;background:rgba(233,200,111,.17)!important;}
.pastpath-reading-progress{background:rgba(103,78,35,.1)!important;}

/* Shared floating surfaces use one elevation and sheet geometry. */
:where(.feature-destination-overlay>article,.daily-discovery-overlay>article,.native-lands-explorer>article,.media-gallery-overlay>article,.pastpath-account-shell,.pastpath-hub){border:1px solid var(--pp-line-dark)!important;border-radius:var(--pp-radius-feature);box-shadow:var(--pp-elevation-3)!important;}

@media(max-width:800px){
  .aurora-ui .workspace{padding-bottom:calc(74px + env(safe-area-inset-bottom))!important;}
  .discovery-home{box-shadow:none!important;}
  .aurora-discovery-card.is-primary-discovery{min-height:112px!important;}
  .map-panel{border-radius:18px!important;box-shadow:var(--pp-elevation-1)!important;}
  .map-toolbar{padding-left:68px!important;}
  .map-toolbar>strong{font-size:17px;}
  :where(.feature-destination-overlay>article,.daily-discovery-overlay>article,.native-lands-explorer>article,.media-gallery-overlay>article,.pastpath-account-shell,.pastpath-hub){border-radius:0!important;border-left:0!important;border-right:0!important;}
  .premium-place-story,#detailPanel{box-shadow:none!important;}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.aurora-discovery-card,.leaflet-popup{transition:none!important}}


/* src/experience/pastpath-visual-resilience.css */
/* Final cross-screen resilience layer. Keep this last in the feature bundle. */
*,*::before,*::after{box-sizing:border-box}
:where(button,a,input,select,textarea,summary,article,section,div,span,strong,small,p,h1,h2,h3){min-width:0}
:where(h1,h2,h3,h4,p,li,strong,small,span,a,button,summary){overflow-wrap:anywhere}
img,video,iframe,canvas,svg{max-width:100%}

/* Drawer: a fixed header with one independently scrolling content area. */
.pastpath-nav-drawer{display:grid!important;grid-template-rows:auto auto auto minmax(0,1fr)!important;height:min(820px,calc(100dvh - 24px))!important;max-height:calc(100dvh - 24px)!important;align-self:start!important}
.pastpath-nav-intro{display:none!important}
.pastpath-nav-header{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important}
.pastpath-nav-header>div{min-width:0!important}.pastpath-nav-content{display:block!important;min-height:0!important;padding:10px 14px 22px!important;overflow-x:hidden!important;overflow-y:auto!important}
.pastpath-nav-section,.pastpath-nav-group{height:auto!important;min-height:0!important;flex:none!important}
.pastpath-nav-section{margin:0 0 9px!important;border-radius:17px!important}.pastpath-nav-section>summary{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:3px 10px!important;min-height:62px!important;height:auto!important;padding:13px 48px 12px 16px!important;white-space:normal!important;overflow:visible!important}.pastpath-nav-section>summary>span{font-size:13px!important}.pastpath-nav-section>summary>small{display:block!important;grid-column:1!important;color:#718078!important;font-size:10px!important;font-weight:650!important;letter-spacing:0!important;text-transform:none!important}.pastpath-nav-section>summary>b,.pastpath-nav-group>summary>b{position:absolute!important;right:48px!important;top:17px!important;display:grid!important;min-width:24px!important;height:24px!important;place-items:center!important;border-radius:999px!important;color:#75591f!important;background:#f1e5c8!important;font:850 10px system-ui!important}.pastpath-nav-group>summary{display:block!important;min-height:46px!important;height:auto!important;white-space:normal!important;overflow:visible!important}
.pastpath-nav-items{height:auto!important;min-height:0!important}.pastpath-nav-item{height:auto!important;min-height:58px!important}
.calm-pages .pastpath-nav-copy small,.pastpath-nav-copy small{display:block!important;white-space:normal!important}
.pastpath-nav-section[open]{border-color:#c6a652!important;box-shadow:0 10px 28px rgba(25,52,42,.09)!important}.pastpath-nav-section[open]>summary{background:linear-gradient(100deg,#eef4ed,#fffaf0)!important}.pastpath-nav-item[hidden],.pastpath-nav-section[hidden],.pastpath-nav-group[hidden]{display:none!important}
.pastpath-nav-command{display:grid!important;gap:5px!important;padding:12px 14px 10px!important;border-bottom:1px solid #ddd4c2!important;background:#fffdf8!important}.pastpath-nav-command label{display:grid!important;gap:5px!important;color:#7d6229!important;font-size:9px!important;font-weight:950!important;letter-spacing:.12em!important;text-transform:uppercase!important}.pastpath-nav-command input{width:100%!important;min-height:44px!important;padding:0 14px!important;border:1px solid #cfc4ae!important;border-radius:12px!important;color:#173c31!important;background:#fff!important;font:750 13px system-ui!important;outline:0!important}.pastpath-nav-command input:focus{border-color:#af8734!important;box-shadow:0 0 0 3px rgba(190,151,61,.16)!important}.pastpath-nav-command p{margin:0!important;color:#718078!important;font-size:10px!important}
.pastpath-nav-account{display:grid!important;grid-template-columns:38px minmax(0,1fr) auto!important;align-items:center!important;gap:10px!important;min-height:58px!important;margin:0!important;padding:9px 16px!important;border:0!important;border-bottom:1px solid #d7ceb9!important;border-radius:0!important;color:#fff4d2!important;background:linear-gradient(125deg,#123f33,#09271f)!important;text-align:left!important}.pastpath-nav-account>span:first-child{display:grid!important;width:36px!important;height:36px!important;place-items:center!important;border-radius:11px!important;color:#17382f!important;background:#e8c76e!important}.pastpath-nav-account strong,.pastpath-nav-account small{display:block!important}.pastpath-nav-account strong{font-size:13px!important}.pastpath-nav-account small{margin-top:2px!important;color:#bed0c7!important;font-size:9px!important}.pastpath-nav-account i{font-style:normal!important;font-size:22px!important}.pastpath-nav-account.is-signed-in>span:first-child{color:#fff!important;background:#2e745d!important}
.pastpath-nav-content>.pp-notify-menu,.pastpath-nav-content>.pastpath-pwa-install-button{width:100%!important;margin:9px 0 0!important;box-shadow:none!important}
body.pastpath-nav-open .pastpath-pwa-toast-stack{display:none!important}
body.pastpath-account-open .pastpath-pwa-toast-stack{display:none!important}
html:has(body:is(.pastpath-nav-open,.pastpath-account-open)){overflow:hidden!important}

/* Search/entity suggestions: long names grow vertically instead of escaping their cards. */
.aurora-search-panel{max-width:100%!important;overflow-x:hidden!important}
.aurora-search-panel button{grid-template-columns:minmax(68px,84px) minmax(0,1fr)!important;grid-auto-rows:auto!important;height:auto!important;min-height:64px!important;align-items:center!important;overflow:hidden!important}
.aurora-search-panel button>span{grid-row:1/span 2!important;align-self:center!important}
.aurora-search-panel button>strong,.aurora-search-panel button>small{grid-column:2!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;line-height:1.22!important}
.aurora-search-panel button>strong{font-size:clamp(13px,3.8vw,17px)!important}.aurora-search-panel button>small{font-size:11px!important}

/* Map-first results tray: collapsed bar, compact preview, deliberate expansion. */
body.places-results-ready:not(.place-card-open) .workspace>.content-grid{display:block!important;position:fixed!important;z-index:850!important;right:16px!important;bottom:18px!important;width:min(382px,calc(100vw - 32px))!important;max-height:min(430px,48dvh)!important;pointer-events:auto!important}
body.places-results-ready:not(.place-card-open) .workspace>.content-grid>.results-column{display:flex!important;flex-direction:column!important;max-height:inherit!important;padding:10px!important;border:1px solid rgba(173,128,48,.5)!important;border-radius:18px!important;background:linear-gradient(180deg,rgba(255,253,247,.985),rgba(242,228,195,.985))!important;box-shadow:0 16px 46px rgba(8,25,19,.25)!important;pointer-events:auto!important;overflow:hidden!important;transition:max-height .2s ease,width .2s ease!important}
/* The old bottom-right "places to explore" preview is retired. Results still
   open after an explicit search, chapter, nearby request, or Explore action. */
body.places-results-ready:not(.places-list-visible):not(.place-card-open) .workspace>.content-grid{display:none!important}
.results-column.places-results-retired{display:none!important}
body.places-results-ready:not(.places-list-visible) .results-column>:not(.results-panel-toggle){display:none!important}
body.places-results-ready .results-panel-toggle{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;width:100%!important;min-height:46px!important;margin:0!important;padding:10px 14px!important;border:0!important;border-radius:999px!important;color:#fff7df!important;background:#123f33!important;font-weight:850!important;text-align:left!important}
body.places-results-ready .results-panel-toggle::after{content:"↑";display:grid;width:28px;height:28px;flex:0 0 auto;place-items:center;border-radius:999px;color:#143c31;background:#e7c76f}
body.places-list-visible .results-panel-toggle{display:none!important}
body.places-list-visible .results-tray-actions{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important;margin:0 0 8px!important}
body.places-list-visible .results-tray-actions[hidden]{display:none!important}
body.places-list-visible .results-tray-actions button{min-height:40px!important;padding:8px 12px!important;border:1px solid rgba(171,132,49,.42)!important;border-radius:12px!important;color:#173d31!important;background:#fffaf0!important;font-weight:850!important}
body.places-list-visible .results-tray-actions button:first-child{color:#fff8df!important;background:#174838!important}
body.places-list-visible .results-column .section-heading{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:10px!important;flex:0 0 auto!important;margin:0 0 8px!important}
body.places-list-visible .results-column .stop-list{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;min-height:0!important;overflow:auto!important;overscroll-behavior:contain!important;padding:0 3px 2px 0!important}
body.places-list-visible .stop-card{grid-template-columns:minmax(0,1fr) auto!important;height:auto!important;min-height:106px!important;align-items:start!important;overflow:hidden!important}
body.places-list-visible .stop-card>:not(.stop-card-actions){min-width:0!important}
body.places-list-visible .stop-card-actions{display:grid!important;grid-template-columns:1fr!important;gap:6px!important;width:104px!important;align-self:stretch!important}
body.places-list-visible .stop-card-actions button{width:100%!important;min-height:38px!important;white-space:normal!important}
body.places-list-visible:not(.results-tray-expanded) .stop-card{min-height:76px!important;padding:9px!important}
body.places-list-visible:not(.results-tray-expanded) .stop-card-copy>p:not(.stop-card-location),body.places-list-visible:not(.results-tray-expanded) .stop-card .tag-row,body.places-list-visible:not(.results-tray-expanded) .stop-card-wayfinder-button{display:none!important}
body.places-list-visible:not(.results-tray-expanded) .stop-card-actions{width:78px!important;align-self:center!important}
body.places-list-visible:not(.results-tray-expanded) .stop-card-rank span{display:none!important}
body.results-tray-expanded:not(.place-card-open) .workspace>.content-grid{top:88px!important;bottom:18px!important;width:min(430px,calc(100vw - 32px))!important;max-height:none!important}
body.results-tray-expanded .workspace>.content-grid>.results-column{height:100%!important;max-height:100%!important}
body.places-list-visible .pastpath-pwa-toast-stack{right:414px!important}

/* Mobile navigation owns exactly the viewport width and never becomes a horizontal scroller. */
@media(max-width:760px){
 html,body{max-width:100%;overflow-x:hidden}
 .pastpath-nav-drawer{width:calc(100vw - 12px)!important;height:calc(100dvh - 12px)!important;max-height:calc(100dvh - 12px)!important}
 .aurora-bottom-nav{inset:auto 0 0 0!important;width:100%!important;max-width:100%!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:0!important;padding:6px 4px calc(6px + env(safe-area-inset-bottom))!important;overflow:hidden!important}
 .aurora-bottom-nav button{width:100%!important;min-width:0!important;max-width:100%!important;padding:4px 1px!important;overflow:hidden!important}
 .aurora-bottom-nav button span{font-size:18px!important}.aurora-bottom-nav button strong{display:block!important;width:100%!important;max-width:100%!important;font-size:clamp(7.5px,2.35vw,10px)!important;line-height:1.08!important;white-space:normal!important;text-align:center!important}
 .passport-wallet-button{right:8px!important;bottom:calc(74px + env(safe-area-inset-bottom))!important;max-width:calc(100vw - 16px)!important}
 body.places-results-ready:not(.place-card-open) .workspace>.content-grid{right:7px!important;bottom:calc(74px + env(safe-area-inset-bottom))!important;left:7px!important;width:auto!important;max-width:none!important;max-height:34dvh!important}
 body.places-results-ready:not(.places-list-visible) .workspace>.content-grid{max-height:58px!important}
 body.results-tray-expanded:not(.place-card-open) .workspace>.content-grid{top:max(58px,env(safe-area-inset-top))!important;bottom:calc(74px + env(safe-area-inset-bottom))!important;max-height:none!important}
 body.results-tray-expanded .workspace>.content-grid>.results-column{border-radius:18px 18px 10px 10px!important}
 body.places-list-visible .results-column .section-heading h2{font-size:17px!important}
 body.places-list-visible .stop-card-actions{width:92px!important}
 body.places-list-visible .pastpath-pwa-toast-stack{display:none!important}
 .stop-card{height:auto!important;min-height:0!important;overflow:hidden!important}.stop-card>*{min-width:0!important}
}

/* A software keyboard must leave no app chrome or toast between the input and keyboard. */
body.pastpath-keyboard-open .aurora-bottom-nav,body.pastpath-keyboard-open .passport-wallet-button,body.pastpath-keyboard-open .pastpath-pwa-toast-stack{display:none!important;visibility:hidden!important;pointer-events:none!important}
body.pastpath-keyboard-open{padding-bottom:0!important}
body.pastpath-keyboard-open :is(.pastpath-nav-drawer,.feature-destination-overlay>article,.pastpath-account-shell,.pastpath-account-card,.pastpath-pwa-sheet>article){max-height:var(--pp-visual-height,100dvh)!important}
body.pastpath-keyboard-open :is(.pastpath-account-shell,.feature-destination-overlay,.pastpath-pwa-sheet){inset:var(--pp-keyboard-offset,0) 0 auto!important;height:var(--pp-visual-height,100dvh)!important;padding-bottom:8px!important}
body.pastpath-keyboard-open :is(.pastpath-account-card,.feature-destination-overlay>article,.pastpath-pwa-sheet>article){overflow-y:auto!important;overscroll-behavior:contain!important;scroll-padding-block:90px!important}

/* Private founder tools are opened intentionally, never floated over the customer map. */
body:not(.pastpath-founder-tools-visible) .founder-command-launcher{display:none!important}


/* src/experience/trekbound-mobile-fit.css */
/* TrekBound mobile fit: final authority for phone geometry and floating controls. */
html{max-width:100%;overflow-x:hidden}
body{max-width:100%;min-height:100dvh;overflow-x:hidden}
body.pastpath-premium-v2{background:
  linear-gradient(180deg,rgba(17,35,27,.10),rgba(44,30,17,.18)),
  url("assets/historical-study-bg-sharp.png") center top/cover fixed no-repeat,
  #23362b!important}
body.pastpath-premium-v2 .app-shell{background:transparent!important}
body.pastpath-premium-v2 .workspace{background:linear-gradient(180deg,rgba(239,224,188,.08),rgba(23,51,38,.10))!important}
body.pastpath-premium-v2 .sidebar{background:linear-gradient(160deg,rgba(23,61,46,.93),rgba(45,34,22,.90))!important}
@media(max-width:620px){
  body.aurora-ui{padding-bottom:calc(76px + env(safe-area-inset-bottom))!important}
  .app-shell,.sidebar,.workspace,.discovery-home,.map-panel{min-width:0;max-width:100%}
  .sidebar,.workspace{padding-right:10px!important;padding-left:10px!important}
  .brand-row{margin-right:10px!important;margin-left:10px!important;min-height:64px!important;padding:9px 12px 9px 58px!important}
  .brand-row h1{font-size:clamp(24px,8vw,36px)!important;white-space:nowrap}
  .brand-row p{font-size:10px!important;line-height:1.2!important;letter-spacing:.14em!important}
  .pastpath-nav-toggle{top:max(8px,env(safe-area-inset-top))!important;left:8px!important;width:48px!important;height:48px!important;min-height:48px!important}
  .tb-mode-toggle{top:auto!important;right:auto!important;bottom:calc(82px + env(safe-area-inset-bottom))!important;left:10px!important;min-height:42px!important;max-width:132px;padding:7px 11px!important;font-size:12px!important;box-shadow:0 7px 22px rgba(0,0,0,.32)!important}
  .passport-wallet-button{right:10px!important;bottom:calc(82px + env(safe-area-inset-bottom))!important;left:auto!important;width:52px!important;min-width:52px!important;max-width:52px!important;height:52px!important;min-height:52px!important;padding:5px!important;border-radius:50%!important;overflow:hidden!important}
  .passport-wallet-button>span:not(.passport-wallet-mark),.passport-wallet-button>em{display:none!important}
  .passport-wallet-mark{width:38px!important;height:38px!important;min-width:38px!important;border-radius:50%!important;font-size:0!important}
  .passport-wallet-mark::after{content:"TB";font-size:13px;font-weight:950}
  .aurora-bottom-nav{min-height:68px!important;padding:5px 3px calc(5px + env(safe-area-inset-bottom))!important}
  .aurora-bottom-nav button{min-height:56px!important;padding:3px 1px!important}
  .aurora-bottom-nav button span{font-size:17px!important}.aurora-bottom-nav button strong{font-size:clamp(8px,2.5vw,10px)!important}
  .discovery-home{padding:22px 18px!important;border-radius:20px!important}
  .discovery-home-header{gap:10px!important}
  .discovery-home-header h2{font-size:clamp(36px,11vw,53px)!important;line-height:.98!important}
  .discovery-home-proof{font-size:15px!important;line-height:1.45!important}
  .discovery-home-metrics{gap:7px!important;padding:10px!important}
  .discovery-home-metrics span{padding:8px 7px!important;font-size:12px!important}
  .discovery-home-feature-actions{gap:8px!important}.discovery-home-feature-actions button{min-height:54px!important}
  .trekbound-membership-cue{padding:16px!important}.aurora-search{min-height:58px!important}
  .map-panel{border-radius:18px!important}
  body.pastpath-premium-v2 .map-panel{background:rgba(244,231,198,.92)!important;box-shadow:0 14px 34px rgba(18,24,18,.22)!important}
  .map-toolbar{display:grid!important;grid-template-columns:1fr auto!important;align-items:center!important;min-height:54px!important;padding:8px 10px!important}
  .map-toolbar>strong{display:block!important;padding-left:48px!important;color:#f5d57b!important;font:700 20px/1 Georgia,serif!important;white-space:nowrap}.map-toolbar>strong::after{content:none!important}
  .map-toolbar>div{display:none!important}
  .map-toolbar>.pastpath-search-area,.map-toolbar>button{display:none!important}
  .map-toolbar .aurora-world-button,.map-toolbar #fitMapButton{flex:0 0 auto!important;width:40px!important;min-width:40px!important;max-width:40px!important;min-height:40px!important;padding:5px!important;font-size:0!important}
  .map-toolbar .aurora-world-button>strong{display:none!important}.map-toolbar #fitMapButton::after{content:"All";font-size:10px!important}
  .route-map,.map-panel.is-expanded .route-map{height:58dvh!important;min-height:420px!important;max-height:620px!important}
  .map-panel::before{inset:54px 0 42px!important}
  .route-map::before{display:none!important}
  .map-legend{display:grid!important;grid-template-columns:auto 1fr!important;gap:5px 9px!important;padding:7px 10px!important;font-size:10px!important}
  .map-legend>span:nth-child(2),.map-legend>span:nth-child(3),.map-click-hint{display:none!important}
  .map-layer-hint{display:none!important}
  .leaflet-control-attribution{max-width:72vw!important;padding:2px 4px!important;font-size:8px!important;line-height:1.15!important;white-space:normal!important}
  .leaflet-control-zoom a{width:40px!important;height:40px!important;line-height:40px!important}
  .history-marker{transform:scale(.82);transform-origin:center}
  .trekbound-easy-mode{padding-bottom:calc(88px + env(safe-area-inset-bottom))!important;font-size:100%!important}
  .trekbound-easy-mode .pastpath-menu-button,.trekbound-easy-mode .passport-wallet-button,.trekbound-easy-mode .aurora-bottom-nav{display:none!important}
  .trekbound-easy-mode .tb-mode-toggle{top:max(8px,env(safe-area-inset-top))!important;right:8px!important;bottom:auto!important;left:auto!important;max-width:118px!important}
  .trekbound-easy-mode .discovery-home{padding:18px 14px 110px!important}
  .trekbound-easy-mode .discovery-home-header h2{font-size:clamp(35px,10.5vw,48px)!important}
  .tb-easy-home-grid{gap:10px!important}
  .tb-easy-home-grid button{grid-template-columns:46px 1fr!important;min-height:78px!important;padding:11px 12px!important;border-radius:15px!important}
  .tb-easy-home-grid button span{width:46px!important;height:46px!important;font-size:1.25rem!important}
  .tb-easy-home-grid strong{font-size:1.08rem!important}.tb-easy-home-grid small{font-size:.88rem!important;line-height:1.25!important}
  .tb-wayfinder{right:6px!important;bottom:max(6px,env(safe-area-inset-bottom))!important;left:6px!important;border-radius:15px!important}
  .tb-wayfinder p{padding:5px 9px!important;font-size:.7rem!important;line-height:1.25!important}
  .tb-wayfinder button{min-height:54px!important;font-size:.74rem!important}
  body.pastpath-premium-v2 .aurora-bottom-nav{background:rgba(25,48,37,.97)!important}
}
@media(max-width:390px){
  .brand-row h1{font-size:25px!important}.brand-row p{display:none!important}
  .discovery-home{padding-inline:13px!important}.discovery-home-header h2{font-size:38px!important}
  .route-map,.map-panel.is-expanded .route-map{height:54dvh!important;min-height:360px!important}
}


/* src/experience/trekbound-discovery-mobile.css */
/* TrekBound discovery and phone-trust layer. This is the final layout authority. */
:root{--tb-phone-nav:72px;--tb-phone-gutter:12px}
.tb-depth-doorway{margin:11px 0 0;border:1px solid rgba(228,189,98,.4);border-radius:15px;color:#fff8e4;background:rgba(255,255,255,.055);overflow:hidden}.tb-depth-doorway[hidden]{display:none!important}
.tb-depth-doorway>summary{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:64px;padding:12px 15px;cursor:pointer;list-style:none}.tb-depth-doorway>summary::-webkit-details-marker{display:none}.tb-depth-doorway>summary>span{display:grid;gap:3px}.tb-depth-doorway>summary strong{font-size:14px}.tb-depth-doorway>summary small{color:#c5d5cd;font-size:10px;line-height:1.35}.tb-depth-doorway>summary>b{color:#e6c76f;font-size:24px;font-weight:400}
.tb-depth-content{display:grid;gap:24px;padding:5px 14px 18px;border-top:1px solid rgba(228,189,98,.25)}.tb-depth-content section>header{padding:14px 1px 8px}.tb-depth-content section>header span{color:#e4c66d;font-size:9px;font-weight:950;letter-spacing:.1em;text-transform:uppercase}.tb-depth-content h3{margin:3px 0 0;color:#fffdf8;font:700 23px/1.08 Georgia,serif}
.tb-feature-previews{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.tb-feature-previews button{display:grid;align-content:start;gap:5px;min-height:150px;padding:14px;border:1px solid rgba(228,189,98,.35);border-radius:14px;color:#173a2f;text-align:left;background:#fffaf0;cursor:pointer}.tb-feature-previews button>span{color:#805f25;font-size:9px;font-weight:950;letter-spacing:.04em;text-transform:uppercase}.tb-feature-previews button>strong{font:700 19px/1.08 Georgia,serif}.tb-feature-previews button>small{color:#526259;font-size:11px;line-height:1.4}.tb-feature-previews button>b{align-self:end;margin-top:auto;color:#174a39;font-size:10px}
.tb-start-collections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.tb-start-collections button{display:grid;gap:3px;min-height:60px;padding:10px 12px;border:1px solid rgba(255,255,255,.18);border-radius:12px;color:#fffaf0;text-align:left;background:rgba(255,255,255,.07);font-weight:850;cursor:pointer}.tb-start-collections small{color:#c4d4cc;font-size:9px;font-weight:650;line-height:1.25}
.tb-journey-strip{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:54px;margin:11px 0 0;padding:10px 13px;border:1px solid rgba(228,189,98,.28);border-radius:13px;color:#fff8e3;text-align:left;background:rgba(5,27,21,.38);cursor:pointer}.tb-journey-strip>span{display:grid;gap:2px}.tb-journey-strip small{color:#c4d5cd;font-size:9px;text-transform:uppercase}.tb-journey-strip strong{font-size:11px}.tb-journey-strip>b{color:#e5c66e;font-size:10px;white-space:nowrap}
.tb-action-status{position:fixed;z-index:2147483500;top:max(10px,env(safe-area-inset-top));left:50%;display:flex;align-items:center;gap:9px;width:min(620px,calc(100vw - 24px));min-height:52px;padding:9px 10px 9px 14px;border:1px solid #d9b961;border-radius:14px;color:#fff8e5;background:#123b2f;box-shadow:0 12px 34px rgba(0,0,0,.34);transform:translateX(-50%)}.tb-action-status[hidden]{display:none!important}.tb-action-status i{width:12px;height:12px;flex:0 0 auto;border:2px solid #eed278;border-right-color:transparent;border-radius:50%;animation:tb-status-spin .75s linear infinite}.tb-action-status strong{flex:1;font-size:12px;line-height:1.3}.tb-action-status button{min-height:36px;padding:6px 9px;border:1px solid #d9b961;border-radius:9px;color:#17382e;background:#f0d47f;font-size:10px;font-weight:900}.tb-action-status [data-tb-status-close]{color:#fff;background:transparent}.tb-action-status[data-tone=success] i{border:0;background:#54c595;animation:none}.tb-action-status[data-tone=error]{border-color:#e0a36d;background:#542f25}.tb-action-status[data-tone=error] i{border:0;background:#efad74;animation:none}@keyframes tb-status-spin{to{transform:rotate(360deg)}}
.tb-guided-tour{position:fixed;z-index:2147483550;inset:0;display:grid;place-items:center;padding:18px;background:rgba(5,19,14,.75);backdrop-filter:blur(5px)}.tb-guided-tour[hidden]{display:none!important}.tb-guided-tour>div{width:min(530px,100%);padding:25px;border:2px solid #d6b65f;border-radius:20px;color:#18372f;background:#fffdf7;box-shadow:0 24px 70px rgba(0,0,0,.4)}.tb-guided-tour>div>span{color:#806126;font-size:10px;font-weight:950;letter-spacing:.1em;text-transform:uppercase}.tb-guided-tour h2{margin:6px 0 9px;color:#17392f;font:700 clamp(27px,6vw,39px)/1.05 Georgia,serif}.tb-guided-tour p{margin:0;color:#445a50;font-size:16px;line-height:1.55}.tb-guided-tour footer{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:21px}.tb-guided-tour button{min-height:44px;padding:8px 13px;border:1px solid #9c8a62;border-radius:10px;color:#173a2f;background:#fff;font-weight:850}.tb-guided-tour [data-tb-tour-next]{color:#fff;border-color:#1d5f4b;background:#1d5f4b}.tb-tour-highlight{position:relative;z-index:2147483540!important;outline:4px solid #f1cb68!important;outline-offset:5px!important}

/* Four immediate choices, with secondary discovery one deliberate tap away. */
body.pastpath-progressive-home:not(.pastpath-home-expanded) .discovery-action-grid .aurora-discovery-card:not(.is-primary-discovery){display:none!important}.discovery-action-grid .is-primary-discovery{display:grid!important}
body.pastpath-progressive-home #pe{display:none!important}
body.pastpath-progressive-home:not(.pastpath-home-expanded) #auroraSearchForm,
body.pastpath-progressive-home:not(.pastpath-home-expanded) #auroraSearchPanel{display:none!important}
body.pastpath-progressive-home .discovery-home-header{margin-bottom:14px}
body.pastpath-progressive-home .pastpath-more-discovery{margin-top:12px}
body.pastpath-progressive-home .tb-depth-content>.trekbound-membership-cue,
body.pastpath-progressive-home .tb-depth-content>.live-webcam-highlight,
body.pastpath-progressive-home .tb-depth-content>.tb-journey-strip,
body.pastpath-progressive-home .tb-depth-content>.discovery-quick-actions,
body.pastpath-progressive-home .tb-depth-content>.trekbound-trust-links{margin-right:0;margin-left:0}

/* The desktop discovery rail is intentionally narrow; its primary cards must
   stack instead of being squeezed into two unreadable columns. */
@media(min-width:761px){
  body.pastpath-premium-v2 .sidebar .discovery-action-grid{grid-template-columns:minmax(0,1fr)!important;gap:9px!important}
  body.pastpath-premium-v2 .sidebar .discovery-action-grid .aurora-discovery-card{display:block!important;width:100%!important;min-width:0!important;min-height:96px!important;max-height:112px!important;padding:0!important}
  body.pastpath-premium-v2 .sidebar .aurora-card-copy{box-sizing:border-box!important;width:100%!important;max-width:100%!important;min-width:0!important;padding:14px 16px!important}
  body.pastpath-premium-v2 .sidebar .aurora-card-copy strong{width:100%!important;font-size:21px!important;line-height:1.08!important;word-break:normal!important;overflow-wrap:normal!important;white-space:normal!important}
  body.pastpath-premium-v2 .sidebar .aurora-card-copy small{width:100%!important;font-size:11px!important;line-height:1.3!important;word-break:normal!important;overflow-wrap:normal!important}
}

/* Mobile owns one width, one bottom navigation, and no competing floating wallet. */
@media(max-width:760px){
 html,body{width:100%;max-width:100%;overflow-x:hidden!important}body.aurora-ui{padding-bottom:calc(var(--tb-phone-nav) + env(safe-area-inset-bottom))!important}
 .app-shell{display:block!important;width:100%!important;max-width:100%!important;min-height:0!important;overflow:visible!important}.sidebar,.workspace{width:100%!important;max-width:100%!important;margin:0!important;padding-inline:var(--tb-phone-gutter)!important}.sidebar,.workspace{min-height:0!important}.workspace{padding-top:8px!important}
 .brand-row{width:auto!important;max-width:calc(100% - 20px)!important;margin-inline:10px!important}.brand-actions{max-width:36%!important}.pastpath-account-button{display:none!important}.pastpath-account-button strong{font-size:10px!important}
 .discovery-home{width:auto!important;max-width:calc(100% - 20px)!important;margin:8px 10px 0!important;padding:17px 14px!important;border-radius:17px!important}.discovery-home-header h2{font-size:clamp(32px,10vw,44px)!important;line-height:1!important}.discovery-home-proof{font-size:14px!important;line-height:1.4!important}
 #pe{margin:0!important}.pastpath-education-proof{grid-template-columns:repeat(3,minmax(0,1fr))!important}.pastpath-education-entrypoints{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .discovery-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}.discovery-action-grid .aurora-discovery-card{min-height:94px!important;padding:11px!important}.aurora-card-copy strong{font-size:17px!important}.aurora-card-copy small{font-size:10px!important;line-height:1.25!important}
 .pastpath-more-discovery,.tb-depth-doorway{margin-top:9px!important}.tb-feature-previews{grid-template-columns:1fr}.tb-feature-previews button{min-height:118px}.tb-start-collections{grid-template-columns:1fr 1fr}
 .trekbound-membership-cue{min-height:54px!important;margin-top:9px!important;padding:11px!important}.trekbound-membership-cue strong{font-size:12px!important}.live-webcam-highlight{padding:14px!important}.live-webcam-highlight h3{font-size:24px!important}
 .passport-wallet-button{display:none!important}.tb-mode-toggle{position:static!important;width:auto!important;max-width:120px!important;min-height:38px!important;margin:0!important;padding:6px 8px!important;border-radius:12px!important;box-shadow:none!important;font-size:9px!important;line-height:1.15!important}
 .aurora-bottom-nav{z-index:2147482000!important;min-height:var(--tb-phone-nav)!important}.aurora-bottom-nav button{min-height:58px!important}.aurora-bottom-nav button strong{font-size:clamp(8px,2.45vw,10px)!important}
 .map-panel{width:100%!important;max-width:100%!important;margin:0!important;border-radius:16px!important;overflow:hidden!important}.map-toolbar{min-height:48px!important}.map-toolbar>strong{padding-left:44px!important;font-size:18px!important}.route-map,.map-panel.is-expanded .route-map{height:clamp(340px,50svh,520px)!important;min-height:0!important;max-height:none!important}.map-panel::before{inset:48px 0 36px!important}.map-cluster{width:48px!important;height:48px!important;min-height:48px!important;padding:0!important}.map-cluster strong{font-size:17px!important}.map-cluster span{display:none!important}.map-cluster i,.map-cluster::before{inset:3px!important}.map-legend{min-height:36px!important;padding:6px 9px!important}.leaflet-control-attribution{max-width:64vw!important;max-height:24px!important;overflow:hidden!important;opacity:.72!important}
 body.places-results-ready:not(.place-card-open) .workspace>.content-grid{bottom:calc(var(--tb-phone-nav) + 4px + env(safe-area-inset-bottom))!important}
 .feature-destination-overlay,.pp-platform-studio,.pp-seasons-overlay,.pp-editions-overlay,.pp-learning-paths-overlay,.pp-exhibitions-overlay,.pp-time-machine{width:100%!important;max-width:100%!important;overflow-x:hidden!important}.feature-destination-overlay>article,.pp-studio-frame,.pp-seasons-shell,.pp-editions-shell,.pp-learning-paths-shell,.pp-exhibitions-shell{width:100%!important;max-width:100%!important;border-radius:0!important}
 .feature-destination-toolbar,.feature-overlay-toolbar,.pp-studio-header,.pp-seasons-header,.pp-editions-header,.pp-learning-paths-header,.pp-exhibitions-header{padding-top:max(9px,env(safe-area-inset-top))!important}.feature-destination-content,.pp-studio-body,.pp-seasons-body,.pp-editions-body,.pp-learning-paths-body,.pp-exhibitions-body{padding-bottom:max(20px,env(safe-area-inset-bottom))!important}
 .tb-guided-tour footer{display:grid;grid-template-columns:1fr 1fr}.tb-guided-tour [data-tb-tour-next]{grid-column:1/-1;grid-row:1}.tb-action-status{top:max(6px,env(safe-area-inset-top));align-items:stretch;flex-wrap:wrap}.tb-action-status strong{flex-basis:calc(100% - 30px)}
}
@media(max-width:480px){body.pastpath-premium-v2 #discoveryHome .discovery-action-grid{grid-template-columns:1fr!important}body.pastpath-premium-v2 #discoveryHome .discovery-action-grid .aurora-discovery-card{min-height:78px!important;max-height:92px!important}.discovery-action-grid .aurora-card-copy{position:relative!important;z-index:3!important;grid-column:1/-1!important;justify-self:stretch!important;width:100%!important;max-width:100%!important;padding:0 8px!important;box-sizing:border-box!important}.discovery-action-grid .aurora-card-copy strong{width:100%!important;font-size:19px!important;line-height:1.08!important;word-break:normal!important;overflow-wrap:normal!important}.pastpath-education-entrypoints button{position:relative!important;isolation:isolate!important}.pastpath-education-entrypoints b{position:relative!important;z-index:3!important;display:block!important;width:100%!important;color:#fffdf7!important}.tb-start-collections{grid-template-columns:1fr}.brand-row h1{font-size:25px!important}.route-map,.map-panel.is-expanded .route-map{height:clamp(320px,46svh,480px)!important;min-height:0!important}}

/* iPhone landscape is wider than the portrait breakpoint, but is still a phone. */
@media(orientation:landscape) and (max-height:600px) and (max-width:1100px){
  html,body{width:100%!important;max-width:100%!important;overflow-x:hidden!important}
  body.aurora-ui{padding-bottom:calc(62px + env(safe-area-inset-bottom))!important;background:#19382e!important}
  .app-shell{display:block!important;width:100%!important;max-width:100%!important;min-height:0!important;overflow:visible!important;background:#19382e!important}
  .sidebar,.workspace{box-sizing:border-box!important;width:100%!important;max-width:100%!important;min-width:0!important;min-height:0!important;margin:0!important;padding-inline:max(14px,env(safe-area-inset-left))!important}
  .sidebar{padding-top:max(10px,env(safe-area-inset-top))!important;border-right:0!important;background:linear-gradient(180deg,#1b493b,#17392f)!important}
  .workspace{display:grid!important;padding-top:14px!important;background:#19382e!important}
  .brand-row,.discovery-home,.map-panel{box-sizing:border-box!important;width:100%!important;max-width:100%!important;margin-inline:0!important}
  .brand-row{min-height:58px!important;padding:8px 130px 8px 62px!important}
  .brand-row h1{font-size:30px!important;white-space:nowrap!important}.brand-row p{font-size:9px!important}
  .pastpath-menu-button{top:max(7px,env(safe-area-inset-top))!important;left:max(8px,env(safe-area-inset-left))!important;width:46px!important;height:46px!important;min-height:46px!important}
  .tb-mode-toggle{position:absolute!important;top:max(8px,env(safe-area-inset-top))!important;right:max(10px,env(safe-area-inset-right))!important;bottom:auto!important;left:auto!important;z-index:30!important;max-width:112px!important;min-height:40px!important;padding:6px 9px!important;font-size:10px!important}
  .pastpath-account-button,.passport-wallet-button{display:none!important}
  .discovery-home{margin-top:10px!important;padding:22px!important}.discovery-home-header h2{font-size:clamp(36px,6vw,54px)!important}
  .discovery-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .map-panel{position:relative!important;inset:auto!important;order:initial!important;margin:14px 0 0!important;border-radius:16px!important;overflow:hidden!important}
  .route-map,.map-panel.is-expanded .route-map{width:100%!important;height:clamp(300px,72svh,480px)!important;min-height:0!important;max-height:none!important}
  .map-panel::before{inset:48px 0 36px!important}.map-layer-hint{display:none!important}
  .aurora-bottom-nav{min-height:58px!important;padding:3px max(5px,env(safe-area-inset-right)) calc(3px + env(safe-area-inset-bottom)) max(5px,env(safe-area-inset-left))!important}
  .aurora-bottom-nav button{min-height:50px!important}.aurora-bottom-nav button strong{font-size:9px!important}
}
@media(prefers-reduced-motion:reduce){.tb-action-status i{animation-duration:1.5s}.tb-tour-highlight{scroll-behavior:auto!important}}
/* Consent must sit above every floating rail or helper so both choices remain tappable. */
.location-welcome{z-index:2147483600!important}

/* The JavaScript and CSS share one phone envelope, including short landscape phones. */
@media(max-width:760px),(orientation:landscape) and (max-height:600px) and (max-width:1100px){
 .aurora-bottom-nav{display:grid!important;position:fixed!important;right:0!important;bottom:0!important;left:0!important;grid-template-columns:repeat(5,minmax(0,1fr))!important}
 body.mobile-detail-open{overflow:hidden!important}
 body.mobile-detail-open .detail-panel{display:flex!important;position:fixed!important;inset:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) auto max(8px,env(safe-area-inset-left))!important;z-index:2147482600!important;width:auto!important;height:calc(100vh - 82px)!important;height:calc(100svh - 82px)!important;max-width:none!important;max-height:calc(100svh - 82px)!important;overflow-y:auto!important;overscroll-behavior:contain!important;border-radius:16px!important}
 body.mobile-detail-open .mobile-place-sheet:not([hidden]){z-index:2147482700!important;right:max(8px,env(safe-area-inset-right))!important;bottom:calc(6px + env(safe-area-inset-bottom))!important;left:max(8px,env(safe-area-inset-left))!important;display:grid!important;max-height:58px!important;padding:5px 8px!important}
 body.mobile-detail-open .mobile-place-sheet:not([hidden])>:not(.mobile-sheet-handle){display:none!important}
 body.mobile-detail-open .mobile-sheet-handle{display:block!important;width:100%!important;min-height:44px!important;margin:0!important}
}
@media(max-width:760px){
 body.pastpath-premium-v2 #discoveryHome .discovery-action-grid{grid-template-columns:1fr!important}
 body.pastpath-premium-v2 #discoveryHome .discovery-action-grid .aurora-discovery-card{min-height:88px!important;max-height:108px!important}
 body.pastpath-premium-v2 #discoveryHome .aurora-card-copy{box-sizing:border-box!important;grid-column:1/-1!important;width:100%!important;max-width:100%!important;padding:0 12px!important}
 body.pastpath-premium-v2 #discoveryHome .aurora-card-copy strong{width:100%!important;font-size:20px!important;line-height:1.08!important;word-break:normal!important;overflow-wrap:normal!important}
 body.pastpath-premium-v2 #discoveryHome .aurora-card-copy small{width:100%!important;font-size:11px!important;line-height:1.25!important;word-break:normal!important;overflow-wrap:normal!important}
}

/* Final release safeguard: keep discovery choices compact and readable in
   narrow desktop rails, resized windows, and both phone orientations. */
body.pastpath-premium-v2 #discoveryHome .discovery-action-grid{grid-template-columns:minmax(0,1fr)!important}
body.pastpath-premium-v2 #discoveryHome .aurora-discovery-card{position:relative!important;display:block!important;width:100%!important;min-width:0!important;min-height:96px!important;max-height:112px!important;padding:0!important}
/* Geometry must not override the progressive-disclosure visibility contract. */
body.pastpath-premium-v2.pastpath-progressive-home:not(.pastpath-home-expanded) #discoveryHome .aurora-discovery-card:not(.is-primary-discovery){display:none!important}
body.pastpath-premium-v2 #discoveryHome .aurora-card-art{position:absolute!important;inset:0!important;width:100%!important;height:100%!important}
body.pastpath-premium-v2 #discoveryHome .aurora-card-copy{position:relative!important;z-index:3!important;display:grid!important;align-content:end!important;box-sizing:border-box!important;width:100%!important;min-width:0!important;height:100%!important;padding:14px 16px!important}
body.pastpath-premium-v2 #discoveryHome .aurora-card-copy strong,body.pastpath-premium-v2 #discoveryHome .aurora-card-copy small{display:block!important;width:auto!important;min-width:0!important;word-break:normal!important;overflow-wrap:normal!important;white-space:normal!important}
body.pastpath-premium-v2 #discoveryHome .aurora-card-copy strong{font-size:clamp(19px,2vw,22px)!important;line-height:1.08!important}
body.pastpath-premium-v2 #discoveryHome .aurora-card-copy small{margin-top:4px!important;font-size:11px!important;line-height:1.25!important}
@media(max-width:760px){body.pastpath-premium-v2 #discoveryHome .aurora-discovery-card{min-height:88px!important;max-height:104px!important}}


/* src/experience/trekbound-editorial-polish.css */
/* TrekBound editorial preview. Existing discovery and reading, with less visual noise.
   Scoped selectors intentionally beat the older layered themes, not access modes. */
:root {
  --tb-editorial-forest: #123a30;
  --tb-editorial-night: #0c2922;
  --tb-editorial-paper: #fcfaf4;
  --tb-editorial-ink: #203c32;
  --tb-editorial-muted: #56665e;
  --tb-editorial-gold: #ddc082;
  --tb-editorial-line: #dcded4;
}

/* HOME: one quiet canvas, search first, four compact choices. */
body.pastpath-premium-v2 .app-shell { background:var(--tb-editorial-night) !important; }
body.pastpath-premium-v2 .sidebar {
  background: var(--tb-editorial-night) !important;
  box-shadow: none !important;
}
body.pastpath-premium-v2 .brand-row {
  background: transparent !important;
  border-bottom-color: rgba(221,192,130,.18) !important;
}
body.pastpath-premium-v2 .brand-row::after { display:none !important; }
body.pastpath-premium-v2 .brand-copy h1 {
  color: #f7edda !important;
  font-weight: 600 !important;
  letter-spacing: -.025em !important;
  text-shadow: none !important;
}
body.pastpath-premium-v2 .brand-copy p {
  color: #bdcec5 !important;
  font: 400 12px/1.4 var(--pp-font-ui) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
body.pastpath-premium-v2 .brand-compass { color:var(--tb-editorial-gold) !important; }
body.pastpath-premium-v2 .pastpath-menu-button {
  border: 1px solid rgba(221,192,130,.35) !important;
  border-radius: 12px !important;
  background: var(--tb-editorial-forest) !important;
  box-shadow: none !important;
}
body.pastpath-premium-v2 .tb-mode-toggle {
  border: 1px solid rgba(221,192,130,.38) !important;
  background: transparent !important;
  color: #e3eae3 !important;
  font-size: 12px !important;
  min-height: 44px !important;
}
body.pastpath-premium-v2 #discoveryHome {
  gap: 14px !important;
  padding: 20px 16px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
body.pastpath-premium-v2 #discoveryHome .discovery-home-header { margin:0 !important; }
body.pastpath-premium-v2 #discoveryHome .discovery-home-header > span {
  color: var(--tb-editorial-gold) !important;
  font: 650 12px/1.4 var(--pp-font-ui) !important;
  letter-spacing: .06em !important;
}
body.pastpath-premium-v2 #discoveryHomeTitle {
  max-width: 24ch !important;
  margin: 9px 0 10px !important;
  font-size: clamp(30px,3.2vw,39px) !important;
  line-height: 1.08 !important;
  font-weight: 500 !important;
  letter-spacing: -.025em !important;
}
body.pastpath-premium-v2 #discoveryHome .discovery-home-proof {
  margin: 0 !important;
  color: #c1d0c7 !important;
  font: 400 15px/1.5 var(--pp-font-ui) !important;
}
body.pastpath-premium-v2:not(.trekbound-easy-mode) #discoveryHome #auroraSearchForm {
  display: flex !important;
  min-height: 50px !important;
  margin: 0 !important;
  border: 1px solid #849b8e !important;
  border-radius: 12px !important;
  color: var(--tb-editorial-ink) !important;
  background: var(--tb-editorial-paper) !important;
}
body.pastpath-premium-v2 #auroraSearchForm input {
  min-width: 0 !important;
  color: var(--tb-editorial-ink) !important;
  font: 400 16px/1.4 var(--pp-font-ui) !important;
}
body.pastpath-premium-v2 #auroraSearchForm input::placeholder { color:#56665e !important; opacity:1; }
body.pastpath-premium-v2 #auroraSearchForm .aurora-search-submit {
  min-width: 44px !important;
  min-height: 44px !important;
  color: var(--tb-editorial-paper) !important;
  background: var(--tb-editorial-forest) !important;
}
body.pastpath-premium-v2:not(.trekbound-easy-mode) #discoveryHome #auroraSearchPanel:not([hidden]) { display:block !important; }
body.pastpath-premium-v2 #discoveryHome .discovery-action-grid { gap:10px !important; }
body.pastpath-premium-v2 #discoveryHome .aurora-discovery-card {
  isolation: isolate;
  height: 104px !important;
  min-height: 104px !important;
  max-height: 112px !important;
  border: 1px solid rgba(185,204,191,.27) !important;
  border-radius: 14px !important;
  background: #183f34 !important;
  text-align: left !important;
  box-shadow: none !important;
  transition: border-color 150ms ease, background-color 150ms ease !important;
}
/* The existing atlas is four 400x800 illustrations. A proportional background
   crops a single panel in the right-hand window instead of squashing it. */
body.pastpath-premium-v2 #discoveryHome .aurora-card-art {
  inset: 0 0 0 auto !important;
  width: 34% !important;
  height: 100% !important;
  background-size: 400% auto !important;
  background-position-y: 58% !important;
  transform: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  filter: saturate(.72) brightness(.9) !important;
  opacity: 1 !important;
  z-index: 0 !important;
}
body.pastpath-premium-v2 #discoveryHome .aurora-discovery-card::before {
  inset: 0 !important;
  z-index: 1 !important;
  background: linear-gradient(90deg,#183f34 61%,rgba(24,63,52,.90) 68%,rgba(24,63,52,.05) 92%) !important;
  opacity: 1 !important;
}
body.pastpath-premium-v2 #discoveryHome .aurora-discovery-card::after { display:none !important; }
body.pastpath-premium-v2 #discoveryHome .aurora-card-copy {
  align-content: center !important;
  justify-items: start !important;
  padding: 10px 31% 10px 16px !important;
  text-align: left !important;
}
body.pastpath-premium-v2 #discoveryHome .aurora-card-copy strong {
  color: #fffaf0 !important;
  font: 500 clamp(18px,2vw,22px)/1.15 var(--pp-font-display) !important;
  text-shadow: none !important;
}
body.pastpath-premium-v2 #discoveryHome .aurora-card-copy small {
  color: #d0ded4 !important;
  font: 400 13px/1.35 var(--pp-font-ui) !important;
  text-shadow: none !important;
}
body.pastpath-premium-v2 #discoveryHome .aurora-discovery-card:is(:hover,:focus-visible) {
  border-color: #ddc082 !important;
  transform: none !important;
}
body.pastpath-premium-v2 #pastPathMoreDiscovery {
  min-height: 54px !important;
  margin: 0 !important;
  padding: 12px 0 !important;
  border: 0 !important;
  border-top: 1px solid rgba(185,204,191,.22) !important;
  border-radius: 0 !important;
  color: #f8eedc !important;
  background: transparent !important;
}
body.pastpath-premium-v2 #pastPathMoreDiscovery span { font-size:16px !important; font-weight:600 !important; }
body.pastpath-premium-v2 #pastPathMoreDiscovery small { font-size:12px !important; color:#bdcec5 !important; }

/* NAVIGATION: visible inactive labels, one icon language, clear selected state. */
body.pastpath-premium-v2 .aurora-bottom-nav {
  gap: 3px !important;
  padding-inline: max(5px,env(safe-area-inset-left)) !important;
  border-top: 1px solid #426052 !important;
  background: #0c2922 !important;
  box-shadow: 0 -4px 18px rgba(0,0,0,.12) !important;
}
body.pastpath-premium-v2 .aurora-bottom-nav button {
  display: flex !important;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  width: auto !important;
  padding: 6px 3px !important;
  min-height: 54px !important;
  border: 0 !important;
  border-radius: 10px !important;
  color: #c8d7cd !important;
  background: transparent !important;
  box-shadow: none !important;
}
body.pastpath-premium-v2 .aurora-bottom-nav button.is-current {
  color: #f3dca5 !important;
  background: #22483a !important;
}
body.pastpath-premium-v2 .aurora-bottom-nav button > span { display:flex !important; height:21px; }
.aurora-bottom-nav svg {
  width: 21px; height: 21px; fill: none; stroke: currentColor;
  stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round;
}
body.pastpath-premium-v2 .aurora-bottom-nav button strong {
  font: 500 12px/1.15 var(--pp-font-ui) !important;
  letter-spacing: 0 !important;
  color: inherit !important;
}
body.pastpath-premium-v2 .map-toolbar {
  background: #123a30 !important;
  border-bottom-color: #426052 !important;
}
body.pastpath-premium-v2 .map-toolbar button { color:#f8eedc !important; }

/* PLACE READER: a real article on paper, not gold panels inside gold panels. */
body.pastpath-premium-v2.place-card-open { overflow: hidden !important; }
body.pastpath-premium-v2.place-card-open #mobilePlaceSheet { display: none !important; }
body.pastpath-premium-v2.place-card-open :is(.brand-actions,.brand-actions button,#pastPathMenuButton) {
  visibility: hidden !important;
  pointer-events: none !important;
}
body.pastpath-premium-v2.place-card-open .detail-panel.premium-place-story {
  top: 8px !important;
  bottom: 8px !important;
  height: auto !important;
  max-height: calc(100dvh - 16px) !important;
  background: var(--tb-editorial-paper) !important;
  color: var(--tb-editorial-ink) !important;
  border: 1px solid #c5cabc !important;
  scrollbar-color: #9bab9d var(--tb-editorial-paper) !important;
}
body.pastpath-premium-v2.place-card-open .premium-place-story .place-card-toolbar {
  max-width: none !important;
  border-bottom: 1px solid var(--tb-editorial-line) !important;
  background: var(--tb-editorial-paper) !important;
  box-shadow: none !important;
}
body.pastpath-premium-v2.place-card-open .premium-place-story .place-card-toolbar-copy strong {
  color: var(--tb-editorial-ink) !important;
  font: 500 17px/1.2 var(--pp-font-display) !important;
}
body.pastpath-premium-v2.place-card-open .premium-place-story .place-card-toolbar > button {
  min-height: 44px !important;
  border: 1px solid #b6c4b8 !important;
  border-radius: 10px !important;
  background: #f0f3eb !important;
  color: #234b3d !important;
  font: 600 14px/1.2 var(--pp-font-ui) !important;
}
body.pastpath-premium-v2.place-card-open .premium-place-story > .photo-strip {
  height: 220px !important;
  min-height: 220px !important;
  max-height: 220px !important;
  flex-shrink: 0 !important;
  border-bottom: 0 !important;
  background-color: #123a30 !important;
  background-position: center !important;
  background-size: cover !important;
}
body.pastpath-premium-v2.place-card-open .premium-place-story > .photo-strip[data-visual-state="photo"] {
  min-height: 220px !important;
}
body.pastpath-premium-v2.place-card-open .premium-place-story .photo-identity-on-image {
  position: absolute !important;
  inset: auto 14px 52px !important;
  display: block !important;
}
body.pastpath-premium-v2.place-card-open .premium-place-story .photo-identity-on-image :is(.photo-symbol,strong) { display:none !important; }
body.pastpath-premium-v2.place-card-open .premium-place-story .photo-identity-on-image .photo-kicker {
  display: block !important;
  color: #f6e7bf !important;
  font: 500 12px/1.4 var(--pp-font-ui) !important;
  margin-bottom: 4px;
}
body.pastpath-premium-v2.place-card-open .premium-place-story .photo-identity-on-image small {
  color: #fffaf0 !important;
  font: 400 13px/1.4 var(--pp-font-ui) !important;
  text-shadow: 0 1px 4px #0c2922 !important;
}
body.pastpath-premium-v2.place-card-open .premium-place-story [data-visual-state="photo"] .photo-proof-strip {
  position: absolute !important;
  inset: auto 0 0 !important;
  display: flex !important;
  flex-wrap: wrap;
  gap: 3px 10px !important;
  padding: 8px 14px !important;
  color: #f4eee0 !important;
  background: #123a30 !important;
}
body.pastpath-premium-v2.place-card-open .premium-place-story .photo-proof-strip span {
  font: 400 12px/1.4 var(--pp-font-ui) !important;
  color: inherit !important;
  background: transparent !important;
  padding: 0 !important;
  border: 0 !important;
}
/* Reviewed regional photos teach through a separate caption, leaving the
   photograph unobscured. Source and reuse-license links stay visible. */
body.pastpath-premium-v2.place-card-open .premium-place-story > .photo-strip[data-regional-photo="true"] {
  display: block !important;
  padding: 0 !important;
  height: auto !important;
  min-height: 220px !important;
  max-height: none !important;
  background: #f4f0e6 !important;
  overflow: hidden;
}
body.pastpath-premium-v2.place-card-open .premium-place-story [data-regional-photo="true"]::before,
body.pastpath-premium-v2.place-card-open .premium-place-story [data-regional-photo="true"]::after {
  display: none !important;
}
.regional-place-photo {
  display: block;
  width: 100%;
  height: 220px;
  object-fit: cover;
}
body.pastpath-premium-v2.place-card-open .premium-place-story [data-regional-photo="true"] .photo-identity-on-image {
  position: relative !important;
  inset: auto !important;
  padding: 12px 16px 6px;
  margin: 0 !important;
}
body.pastpath-premium-v2.place-card-open .premium-place-story [data-regional-photo="true"] .photo-identity-on-image small {
  display: block;
  color: #31473b !important;
  text-shadow: none !important;
}
body.pastpath-premium-v2.place-card-open .premium-place-story [data-regional-photo="true"] .photo-proof-strip {
  position: relative !important;
  inset: auto !important;
  margin: 0 !important;
  padding: 4px 16px 12px !important;
  color: #40594b !important;
  background: transparent !important;
}
body.pastpath-premium-v2.place-card-open .premium-place-story [data-regional-photo="true"] .photo-proof-strip :is(span,a) {
  text-transform: none !important;
  letter-spacing: normal !important;
}
body.pastpath-premium-v2.place-card-open .premium-place-story [data-regional-photo="true"] .photo-proof-strip a {
  color: inherit !important;
  font: 400 12px/1.4 var(--pp-font-ui) !important;
  text-decoration: underline;
  text-underline-offset: 3px;
  overflow-wrap: anywhere;
}
body.pastpath-premium-v2.place-card-open .premium-place-story > .photo-strip:is([data-visual-state="empty"],[data-visual-state="preview"]) {
  min-height: 220px !important;
  max-height: 220px !important;
}
body.pastpath-premium-v2.place-card-open .premium-place-story > #detailTitle {
  padding-top: 23px !important;
  color: #173c30 !important;
  font-weight: 500 !important;
  font-size: clamp(30px,4vw,40px) !important;
  line-height: 1.1 !important;
}
body.pastpath-premium-v2.place-card-open .premium-place-story .pastpath-read-time {
  align-self: flex-start;
  padding: 5px 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--tb-editorial-muted) !important;
  font: 500 12px/1.4 var(--pp-font-ui) !important;
  letter-spacing: .04em !important;
}
body.pastpath-premium-v2.place-card-open .premium-place-story .museum-label-card p,
body.pastpath-premium-v2.place-card-open .premium-place-story .education-layer-grid p,
body.pastpath-premium-v2.place-card-open .premium-place-story .place-education-context p {
  color: #31473b !important;
  font: 400 18px/1.7 var(--pp-font-display) !important;
  max-width: 65ch;
}
body.pastpath-premium-v2.place-card-open .premium-place-story .source-actions {
  order: 5 !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 8px !important;
  padding: 14px !important;
  border: 1px solid var(--tb-editorial-line) !important;
  border-radius: 12px !important;
  background: #f0f3eb !important;
  box-shadow: none !important;
}
body.pastpath-premium-v2.place-card-open .premium-place-story .source-actions::before,
body.pastpath-premium-v2.place-card-open .premium-place-story .source-actions::after { display:none !important; }
body.pastpath-premium-v2.place-card-open .premium-place-story .source-actions a {
  min-height: 44px !important;
  padding: 9px 11px !important;
  border: 0 !important;
  border-radius: 7px !important;
  background: transparent !important;
  color: #27513e !important;
  font: 500 14px/1.5 var(--pp-font-ui) !important;
  text-align: left !important;
  justify-content: flex-start !important;
  text-decoration: underline !important;
  text-underline-offset: 3px;
  overflow-wrap: anywhere;
}
body.pastpath-premium-v2.place-card-open .premium-place-story .place-primary-actions {
  order: 4 !important;
  grid-template-columns: 1fr !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
body.pastpath-premium-v2.place-card-open .premium-place-story #fullHistoryButton {
  min-height: 50px !important;
  color: #fffaf0 !important;
  background: #1d513e !important;
  border: 1px solid #1d513e !important;
  border-radius: 11px !important;
  font: 600 16px/1.3 var(--pp-font-ui) !important;
}
body.pastpath-premium-v2.place-card-open .premium-place-story :is(.place-learning-group,.place-card-disclosure) {
  border: 1px solid var(--tb-editorial-line) !important;
  border-radius: 12px !important;
  background: #fffef9 !important;
  box-shadow: none !important;
}
body.pastpath-premium-v2.place-card-open .premium-place-story :is(.place-learning-group,.place-card-disclosure) > summary {
  min-height: 58px !important;
  padding: 14px 16px !important;
  background: transparent !important;
}
body.pastpath-premium-v2.place-card-open .detail-panel.premium-place-story .place-learning-group > summary strong,
body.pastpath-premium-v2.place-card-open .premium-place-story summary strong {
  color: #204433 !important;
  font: 600 18px/1.2 var(--pp-font-display) !important;
}
body.pastpath-premium-v2.place-card-open .detail-panel.premium-place-story .place-learning-group > summary small,
body.pastpath-premium-v2.place-card-open .premium-place-story summary small {
  color: #56665e !important;
  font: 400 13px/1.45 var(--pp-font-ui) !important;
}
body.pastpath-premium-v2.place-card-open .premium-place-story .learning-story { scroll-margin-top:76px; }
body.pastpath-premium-v2.place-card-open .premium-place-story #educationLayersCard {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
body.pastpath-premium-v2.place-card-open .premium-place-story #educationLayersCard > summary {
  border: 0 !important;
  background: #eef2e9 !important;
  color: #234b3d !important;
}
body.pastpath-premium-v2.place-card-open .premium-place-story #educationLayersCard > summary :is(span,strong) {
  color: #365445 !important;
  background: transparent !important;
  font: 500 13px/1.4 var(--pp-font-ui) !important;
}
body.pastpath-premium-v2.place-card-open .premium-place-story .education-layer-grid > div {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
body.pastpath-premium-v2.place-card-open .premium-place-story .education-layer-grid > div + div {
  border-top: 1px solid var(--tb-editorial-line) !important;
}

/* Keep the existing journey reminder in document flow, beside its destination. */
body.pastpath-premium-v2 #journeyCompanionLauncher.is-map-docked {
  position: relative !important;
  inset: auto !important;
  transform: none !important;
  z-index: auto !important;
  grid-column: 1 / -1;
  display: flex !important;
  align-items: center;
  gap: 12px !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 58px !important;
  margin: 0 !important;
  padding: 12px 16px !important;
  border: 1px solid #426052 !important;
  border-radius: 12px !important;
  background: #123a30 !important;
  color: #f8eedc !important;
  box-shadow: none !important;
  text-align: left;
  white-space: normal !important;
}
body.pastpath-premium-v2 #journeyCompanionLauncher.is-map-docked > span:last-child { min-width: 0; }
body.pastpath-premium-v2 #journeyCompanionLauncher.is-map-docked small {
  color: #ddc082 !important;
  font: 500 11px/1.5 var(--pp-font-ui) !important;
  letter-spacing: .06em;
}
body.pastpath-premium-v2 #journeyCompanionLauncher.is-map-docked strong {
  display: block;
  color: #f8eedc !important;
  font: 500 15px/1.4 var(--pp-font-ui) !important;
  overflow-wrap: break-word;
}
body.pastpath-premium-v2 #journeyCompanionLauncher.is-map-docked[hidden],
body.pastpath-premium-v2.place-card-open #journeyCompanionLauncher.is-map-docked { display: none !important; }
body.pastpath-premium-v2 .map-panel { scroll-margin-top: 12px; }
body.pastpath-premium-v2 :is(.map-panel,#journeyCompanionLauncher):focus-visible {
  outline: 3px solid #b58a37 !important;
  outline-offset: 3px !important;
}

/* Preserve the existing discovery controls without sending readers to the bottom. */
body.pastpath-premium-v2.place-card-open .detail-panel.premium-place-story > .premium-card-footer {
  max-width: none !important;
  position: sticky !important;
  bottom: 0 !important;
  z-index: 25 !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 8px !important;
  padding: 10px 12px calc(10px + env(safe-area-inset-bottom)) !important;
  border-top: 1px solid #c5cabc !important;
  background: var(--tb-editorial-paper) !important;
  box-shadow: 0 -5px 14px rgba(18,58,48,.06) !important;
  backdrop-filter: none !important;
}
body.pastpath-premium-v2.place-card-open .detail-panel.premium-place-story .premium-card-footer button {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 48px !important;
  height: auto !important;
  padding: 8px 6px !important;
  border: 1px solid #b6c4b8 !important;
  border-radius: 9px !important;
  background: #f0f3eb !important;
  color: #234b3d !important;
  font: 600 13px/1.25 var(--pp-font-ui) !important;
  white-space: normal !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}
body.pastpath-premium-v2.place-card-open .detail-panel.premium-place-story .premium-card-footer #stampButton {
  background: #f3ead4 !important;
}
body.pastpath-premium-v2.place-card-open .detail-panel.premium-place-story .premium-card-footer button:disabled {
  opacity: 1 !important;
  color: #6a746c !important;
  border-color: #d5dbd1 !important;
  background: #f5f5ee !important;
}

/* Keyboard and motion polish, limited to the surfaces changed here. */
body.pastpath-premium-v2.place-card-open .detail-panel.first-minute-pilot {
  scroll-padding-block: 76px 88px;
}
body.pastpath-premium-v2.place-card-open .first-minute-pilot #educationLayersCard > summary,
body.pastpath-premium-v2.place-card-open .first-minute-pilot .education-layer-grid > div:first-child > span { display:none !important; }
body.pastpath-premium-v2.place-card-open .first-minute-pilot .learning-story { scroll-margin-top:0; }
body.pastpath-premium-v2.place-card-open .first-minute-pilot :is(#educationLayerStory,#educationLayerContext) { white-space:pre-line; }
body.pastpath-premium-v2.place-card-open .first-minute-pilot .first-minute-evidence-note {
  margin: 16px !important;
  color: #31473b !important;
  font: 400 16px/1.65 var(--pp-font-ui) !important;
  white-space: pre-line;
}
body.pastpath-premium-v2.place-card-open .first-minute-pilot .explore-next-button :is(strong,small,em) {
  display: block !important;
  color: #234b3d !important;
  white-space: normal !important;
}
body.pastpath-premium-v2.place-card-open .first-minute-pilot .explore-next-button {
  background: #f0f3eb !important;
  border: 1px solid #dcded4 !important;
}
body.pastpath-premium-v2.place-card-open .first-minute-pilot .explore-next-button small { font: 400 13px/1.5 var(--pp-font-ui) !important; }
body.pastpath-premium-v2.place-card-open .first-minute-pilot .explore-next-button em { font: 400 15px/1.5 var(--pp-font-ui) !important; }
body.pastpath-premium-v2 :is(#discoveryHome,.aurora-bottom-nav,.premium-place-story) :is(button,a,summary,input):focus-visible {
  outline: 3px solid #b58a37 !important;
  outline-offset: 3px !important;
}
@media(max-width:390px) {
  body.pastpath-premium-v2 .brand-copy p { max-width:160px; font-size:12px !important; }
  body.pastpath-premium-v2 #discoveryHome { padding-inline:10px !important; }
  body.pastpath-premium-v2 #discoveryHome .aurora-card-copy { padding-left:12px !important; padding-right:28% !important; }
  body.pastpath-premium-v2 #discoveryHome .aurora-card-copy strong { font-size:18px !important; }
  body.pastpath-premium-v2 .aurora-bottom-nav button { padding-inline:2px !important; }
}
@media(prefers-reduced-motion:reduce) {
  body.pastpath-premium-v2 #discoveryHome .aurora-discovery-card { transition:none !important; }
}
/* Keep the opening insight in reach in short desktop rails and landscape.
   Preserve the caption and attribution; only the photograph becomes shorter. */
@media(max-height:700px) {
  body.pastpath-premium-v2.place-card-open .premium-place-story > .photo-strip[data-regional-photo="true"] {
    min-height: 0 !important;
  }
  .regional-place-photo { height: clamp(96px,20vh,140px); }
  body.pastpath-premium-v2.place-card-open .premium-place-story > #detailTitle {
    padding-top: 14px !important;
    font-size: clamp(26px,3.5vw,34px) !important;
  }
}
@media(max-height:500px) {
  body.pastpath-premium-v2.place-card-open .detail-panel.premium-place-story > .photo-strip:not([data-regional-photo="true"]) {
    height: 148px !important;
    min-height: 148px !important;
    max-height: 148px !important;
  }
}


/* src/passport/trekbound-passport-rewards.css */
/* Passport rewards: the same forest, paper and gold as the map stories.
   Core-loaded so a seal earned before deferred features still has its UI. */
.passport-rewards { --passport-ink:#183f34; --passport-gold:#e2c279; color:var(--passport-ink); font:400 1rem/1.5 system-ui,sans-serif; min-width:0; margin:16px 0; }
.passport-rewards *, .passport-stamp-toast * { box-sizing:border-box; }
.passport-rewards h3 { margin:0; font:700 clamp(1.3rem,2.5vw,1.65rem)/1.2 Georgia,serif; color:inherit; }
.passport-rewards small { font-size:.75rem; line-height:1.4; }
.passport-rewards p { font-size:1rem; line-height:1.5; }
.passport-rewards button, .passport-rewards summary { cursor:pointer; font:inherit; }
.passport-rewards :is(button,summary):focus-visible, .passport-stamp-toast button:focus-visible, #passportCeremony button:focus-visible { outline:3px solid #ad7e23; outline-offset:4px; }
.passport-rewards progress { display:block; appearance:none; -webkit-appearance:none; width:100%; height:6px; overflow:hidden; border:0; border-radius:4px; background:#dfdfd3; accent-color:#997126; }
.passport-rewards progress::-webkit-progress-bar { background:#dfdfd3; border-radius:4px; }
.passport-rewards progress::-webkit-progress-value { background:#997126; border-radius:4px; }
.passport-rewards progress::-moz-progress-bar { background:#997126; border-radius:4px; }
.passport-reward-overview { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(0,1fr); overflow:hidden; border:1px solid #cfc5ae; border-radius:18px; background:#f7f4e9; }
.passport-rewards .passport-identity { padding:28px; color:#f7f4e9; background:#173e33; border-left:7px double #b99b57; }
.passport-identity > small { color:#e2c279; letter-spacing:.14em; font-weight:700; }
.passport-rank-line { display:flex; align-items:center; gap:18px; margin:22px 0 10px; }
.passport-rank-line small { color:#d4dcd4; }
.passport-rank-line h3 { color:#fff9e8; font-size:clamp(1.9rem,3vw,2.5rem); }
.passport-rank-number { flex:none; font:400 3.4rem/1 Georgia,serif; color:#e2c279; }
.passport-identity p { color:#e4e8df; margin:12px 0 20px; }
.passport-reward-stats { display:flex; flex-wrap:wrap; gap:14px 26px; padding:14px 0; border-block:1px solid #426357; }
.passport-reward-stats span { display:grid; color:#d1ded5; font-size:.875rem; }
.passport-reward-stats b { color:#fff9e8; font:700 1.65rem/1.15 Georgia,serif; }
.passport-rank-progress { display:grid; gap:10px; margin-top:18px; font-size:.875rem; }
.passport-identity progress, .passport-identity progress::-webkit-progress-bar { background:#47665b; }
.passport-identity progress::-webkit-progress-value { background:#e2c279; }
.passport-identity progress::-moz-progress-bar { background:#e2c279; }
.passport-within-reach { display:flex; flex-direction:column; justify-content:center; align-items:flex-start; gap:14px; padding:26px; }
.passport-within-reach small { color:#795a22; text-transform:uppercase; letter-spacing:.1em; font-weight:750; }
.passport-within-reach h3 { margin:5px 0; }
.passport-within-reach p { margin:8px 0 16px; }
.passport-within-reach > div { width:100%; min-width:0; }
.passport-within-reach > div > span { display:block; margin-top:8px; font-size:.875rem; color:#5a645b; }
.passport-rewards .passport-badge-mark { display:grid; place-items:center; flex:none; width:68px; height:68px; border:4px double #aa8845; border-radius:50%; font-style:normal; background:#eee8d8; color:#5f6c61; box-shadow:0 0 0 5px rgba(160,131,66,.08); }
.passport-badge-mark b { font:700 1.65rem/1 Georgia,serif; }
.passport-rewards.passport-achievement-gallery { padding:22px; border:1px solid #d4cbb9; border-radius:16px; box-shadow:none; background:#fffdf7; color:#183f34; gap:18px; }
.passport-rewards.passport-achievement-gallery > header { display:flex; flex-wrap:wrap; justify-content:space-between; gap:10px; align-items:center; }
.passport-rewards.passport-achievement-gallery > header h3 { color:#183f34; }
.passport-rewards.passport-achievement-gallery > header small { font-size:.75rem; color:#79602e; letter-spacing:.1em; }
.passport-rewards.passport-achievement-gallery > header > span { border:0; border-radius:0; padding:0; color:#59685e; font-size:.875rem; background:none; }
.passport-collection-filters { display:flex; flex-wrap:wrap; gap:6px; border-bottom:1px solid #ddd5c5; padding-bottom:14px; }
.passport-rewards .passport-collection-filters button { min-height:44px; padding:9px 15px; color:#284b3f; background:transparent; border:1px solid transparent; border-radius:24px; font-size:.875rem; font-weight:650; box-shadow:none; }
.passport-rewards .passport-collection-filters button[aria-pressed="true"] { color:#fff9e8; background:#214d3e; }
.passport-rewards .passport-collection-filters button:hover { border-color:#718d7c; }
.passport-rewards.passport-achievement-gallery .passport-achievement-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,172px),1fr)); align-items:start; gap:12px; }
.passport-rewards .passport-badge { min-width:0; border:1px solid #d8d2c3; border-radius:12px; background:#f5f3ec; overflow:hidden; }
.passport-badge > summary { display:flex; flex-direction:column; align-items:center; text-align:center; list-style:none; padding:22px 14px 12px; }
.passport-badge > summary::-webkit-details-marker { display:none; }
.passport-badge > summary::marker { content:""; }
.passport-badge > summary > small { margin-top:17px; color:#626e61; letter-spacing:.07em; text-transform:uppercase; }
.passport-badge > summary > strong { margin:5px 0 9px; color:#173f33; font:700 1.125rem/1.3 Georgia,serif; overflow-wrap:anywhere; }
.passport-badge > summary > span { font-size:.875rem; font-weight:650; color:#596452; }
.passport-badge > summary > progress { margin:12px 0; }
.passport-badge > summary > em { display:flex; width:100%; justify-content:space-between; padding-top:9px; border-top:1px solid #ded8ca; color:#4e6355; font-size:.75rem; font-style:normal; }
.passport-badge > summary > em span { font-size:1rem; transition:transform 160ms ease; }
.passport-badge[open] > summary > em span { transform:rotate(45deg); }
.passport-badge:hover { border-color:#9e8247; }
.passport-badge.is-earned { background:#fbf1d3; border-color:#bb984b; }
.passport-badge.is-earned .passport-badge-mark { background:#1c4738; color:#f6d78a; border-color:#aa843a; box-shadow:0 0 0 5px #ebdcaf; }
.passport-badge.is-earned summary > span { color:#295237; }
.passport-badge-story { padding:0 15px 18px; color:#3d5043; border-top:1px solid #d8cdb4; }
.passport-badge-story p { font-size:.875rem; line-height:1.55; }
.passport-badge-story > p:first-child { color:#183f34; font:italic 1rem/1.5 Georgia,serif; }
.passport-badge-story > strong { font-size:.875rem; }
.passport-collection-empty { grid-column:1/-1; max-width:48ch; }
.passport-rewards.passport-seal-guide { background:#f4f3eb; border:1px solid #d4cebf; border-radius:12px; padding:4px 18px; }
.passport-seal-guide > summary { display:flex; gap:14px; justify-content:space-between; padding:14px 0; color:#264b3b; font-weight:650; list-style:none; min-height:48px; }
.passport-seal-guide > p { margin:0 0 16px; color:#536455; }
.passport-rewards .passport-seal-key { grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr)); margin-bottom:15px; }
.passport-rewards .passport-seal-key > span { display:grid; grid-template-columns:32px 1fr; column-gap:12px; row-gap:3px; padding:12px; border:0; border-radius:0; box-shadow:none; background:none; }
.passport-rewards .passport-seal-key b { grid-row:1/3; }
.passport-rewards .passport-seal-key strong { color:#173f33; font-size:.875rem; }
.passport-rewards .passport-seal-key small { font-size:.875rem; color:#536455; font-weight:400; }
.passport-stamp-pages > header { margin:22px 0 16px; }
.passport-stamp-pages > header small { letter-spacing:.08em; text-transform:uppercase; color:#79602e; }
.passport-stamp-pages > div { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr)); gap:12px; }
.passport-stamp-pages article { padding:18px; background:#fffdf7; border:1px solid #d9ceba; border-left:3px solid #ab894b; border-radius:4px 12px 12px 4px; min-width:0; }
.passport-stamp-pages article > small { color:#5e6c60; }
.passport-stamp-pages h4 { margin:9px 0 15px; color:#173f33; font:700 1.2rem/1.3 Georgia,serif; }
.passport-place-seals { display:flex; flex-wrap:wrap; gap:6px; }
.passport-place-seals span { color:#687264; padding:4px 6px; border:1px dashed #a8b19f; border-radius:3px; font-size:.75rem; }
.passport-place-seals span.is-earned { color:#21503a; background:#ecf1e5; border-style:solid; border-color:#a6b893; }
.passport-rewards .passport-stamp-pages button, .passport-stamp-pages article > button { display:flex; justify-content:space-between; gap:12px; width:100%; min-height:44px; margin-top:15px; padding:10px 0 0; border:0; border-top:1px solid #ded7c8; border-radius:0; box-shadow:none; color:#25533c; background:none; font-size:.875rem; text-align:left; }
#passportStampToast { position:fixed; z-index:15000; bottom:calc(90px + env(safe-area-inset-bottom,0px)); right:18px; width:min(390px,calc(100vw - 28px)); padding:16px; border:1px solid #bc9d56; border-radius:14px; color:#f8f5e8; background:#173e33; box-shadow:0 12px 40px #09241e38; animation:passport-toast-in 220ms ease-out; }
#passportStampToast[hidden] { display:none; }
#passportStampToast [role="status"] { display:flex; gap:14px; align-items:center; }
#passportStampToast [role="status"] > div { display:grid; gap:3px; min-width:0; }
#passportStampToast small { font-size:.75rem; font-weight:700; color:#e2c279; }
#passportStampToast strong { font:700 1.15rem/1.3 Georgia,serif; overflow-wrap:anywhere; }
#passportStampToast [role="status"] div > span { font-size:.875rem; color:#d0ddd2; }
.passport-toast-mark { display:grid; place-items:center; flex:none; width:40px; height:40px; border:3px double #d5b764; border-radius:50%; color:#edcf82; font-size:1.3rem; }
#passportStampToast > div:last-child { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:8px; }
#passportStampToast button { min-height:44px; border:0; padding:8px 12px; background:transparent; color:#ffe2a1; text-decoration:underline; font:600 .875rem system-ui; cursor:pointer; }
#passportStampToast button[data-toast-close] { font-size:1.5rem; text-decoration:none; }
#passportCeremony { inset:0; width:100vw; max-width:none; height:100dvh; max-height:none; margin:0; border:0; padding:20px; overflow:auto; background:rgba(5,23,18,.8); box-sizing:border-box; }
#passportCeremony:not([open]), #passportCeremony[hidden] { display:none; }
#passportCeremony[open] { display:grid; align-items:safe center; justify-items:center; }
#passportCeremony::backdrop { background:rgba(8,26,22,.35); }
#passportCeremony .passport-ceremony-card { position:relative; width:min(480px,100%); box-sizing:border-box; padding:58px 26px 26px; border:1px solid #bfa262; border-radius:20px; text-align:center; background:#143c30; color:#fff5dc; box-shadow:0 22px 60px #0005; }
#passportCeremony .passport-stamp-mark { display:grid; place-items:center; width:96px; height:96px; font-size:2.5rem; margin:0 auto 20px; color:#f5d48a; border:4px double #bd9950; border-radius:50%; background:#244c3b; box-shadow:0 0 0 7px #e5c47712; }
#passportCeremony .passport-stamp-mark i { font-style:normal; }
#passportCeremony .passport-celebration-actions { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:20px; }
#passportCeremony .passport-celebration-actions button { padding:10px 14px; border:1px solid #aa945c; border-radius:10px; background:#edcf87; color:#173e33; font-weight:700; }
#passportCeremony .passport-celebration-actions button:last-child { background:transparent; color:#ffebba; }
#passportCeremony .passport-achievement-ribbon { font-size:.75rem; letter-spacing:.06em; max-width:calc(100% - 32px); white-space:normal; line-height:1.3; }
#passportCeremony .passport-ceremony-card > small { font-size:.875rem; }
#passportCeremony h2 { font-size:clamp(1.8rem,6vw,2.7rem); line-height:1.1; overflow-wrap:anywhere; }
#passportCeremony #passportCeremonyDescription > span { font:italic 1.125rem/1.5 Georgia,serif; color:#e9e4d2; }
#passportCeremony .passport-award-source { display:block; margin:16px 0; font-size:.875rem; color:#c9d9cc; }
#passportCeremony .passport-bonus-badges, #passportCeremony .passport-new-rank { display:grid; gap:5px; padding:12px; margin-top:14px; border-block:1px solid #8c814955; }
#passportCeremony .passport-bonus-badges small, #passportCeremony .passport-new-rank small { font-size:.75rem; text-transform:uppercase; letter-spacing:.08em; color:#d5cba7; }
#passportCeremony .passport-bonus-badges span { font-size:1rem; }
#passportCeremony .passport-new-rank strong { font:700 1.4rem Georgia,serif; color:#f3d083; }
#passportCeremony button { min-height:48px; font-size:.875rem; cursor:pointer; }
#passportCeremony .passport-ceremony-card > em { font-size:.875rem; }
@keyframes passport-toast-in { from { transform:translateY(12px); opacity:0; } to { transform:none; opacity:1; } }
@media(max-width:600px) {
  .passport-reward-overview { grid-template-columns:1fr; }
  .passport-rewards .passport-identity { padding:22px; }
  .passport-within-reach { flex-direction:row; align-items:center; padding:22px; gap:18px; }
  .passport-within-reach .passport-badge-mark { width:54px; height:54px; }
  .passport-within-reach p { font-size:.875rem; margin:6px 0 12px; }
  .passport-rewards.passport-achievement-gallery { padding:16px 12px; }
  .passport-rewards.passport-achievement-gallery .passport-achievement-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .passport-badge > summary { padding:20px 10px 10px; }
  .passport-badge > summary > strong { font-size:1rem; }
  .passport-collection-filters { gap:3px; }
  .passport-rewards .passport-collection-filters button { padding:8px 10px; }
  #passportStampToast { right:14px; }
  #passportCeremony .passport-celebration-actions { grid-template-columns:1fr; }
}
@media(max-width:340px) { .passport-rewards.passport-achievement-gallery .passport-achievement-grid { grid-template-columns:1fr; } .passport-within-reach { flex-direction:column; align-items:flex-start; } }
@media(max-height:640px) { #passportCeremony { padding:12px; } #passportCeremony .passport-ceremony-card { padding:48px 18px 18px; } #passportCeremony .passport-stamp-mark { width:60px; height:60px; margin-bottom:12px; font-size:1.8rem; } }
@media(prefers-reduced-motion:reduce) { #passportStampToast, #passportCeremony *, .passport-rewards * { animation:none!important; transition:none!important; } #passportCeremony .passport-confetti { display:none; } }


/* src/passport/trekbound-passport-albums.css */
/* An illustrated field album; all styles scoped away from the map and reader. */
.passport-experience { color:#203d32; font:400 1rem/1.5 system-ui,sans-serif; }
.passport-experience *, .passport-reading-finish * { box-sizing:border-box; }
.passport-library-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; margin:4px 0 20px; }
.passport-library-heading small { color:#75643e; font-size:.75rem; font-weight:700; letter-spacing:.12em; }
.passport-library-heading h3 { margin:3px 0 0; font:700 clamp(1.35rem,3vw,2rem)/1.2 Georgia,serif; color:#203d32; }
.passport-library-heading > span { color:#5f6c60; font-size:.875rem; }
.passport-library-heading > span strong { color:#203d32; font-size:1.25rem; }
.passport-album-tabs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin:0 0 24px; }
.passport-experience .passport-album-tabs button { display:grid; gap:3px; min-height:66px; padding:12px 16px; text-align:left; border:1px solid #cdc6b3; border-radius:8px; background:#f7f5ec; box-shadow:none; color:#254334; cursor:pointer; }
.passport-album-tabs button strong { font:700 1rem Georgia,serif; color:inherit; }
.passport-album-tabs button small { font-size:.75rem; color:inherit; }
.passport-experience .passport-album-tabs button[aria-pressed="true"] { background:#214b3c; color:#fff3d5; border-color:#214b3c; }
.passport-experience :is(button,summary,a):focus-visible, .passport-reading-finish button:focus-visible { outline:3px solid #ae7b20; outline-offset:4px; }
.passport-field-album { margin:0; }
.passport-field-album .album-cover { display:grid; grid-template-columns:1fr 1.12fr; min-height:330px; overflow:hidden; border:1px solid #d6cdb7; border-radius:14px; background:#fbf6e9; box-shadow:0 7px 22px #2946350b; }
.album-cover-copy { padding:24px; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; }
.album-cover-copy > small { font-size:.75rem; font-weight:700; letter-spacing:.16em; color:#86632b; }
.passport-field-album .album-cover-copy h3 { margin:12px 0 6px; font:400 clamp(2.4rem,4vw,3.4rem)/.98 Georgia,serif; letter-spacing:-.04em; color:#173e32; }
.album-cover-copy p { color:#5f6554; font-size:1rem; line-height:1.5; margin:8px 0 12px; }
.album-cover-stats { display:flex; gap:24px; width:100%; padding:14px 0; border-block:1px solid #d8cdb7; }
.album-cover-stats span { display:grid; font-size:.75rem; color:#696c59; }
.album-cover-stats b { font:700 1.4rem/1.2 Georgia,serif; color:#254738; }
.passport-field-album .album-cover-copy button { min-height:46px; margin-top:18px; padding:10px 13px; background:#214b3c; border:1px solid #214b3c; border-radius:6px; color:#fff4d7; font-size:.875rem; line-height:1.4; text-align:left; box-shadow:none; cursor:pointer; }
.album-cover-copy button span { margin-left:8px; }
.album-cover-art { position:relative; min-width:0; min-height:250px; background:#d9d5be; }
.album-cover-art > img { display:block; width:100%; height:100%; object-fit:cover; object-position:55% 50%; }
.album-cover-art > span { position:absolute; bottom:0; left:0; right:0; padding:24px 18px 17px; color:#fff4d5; text-align:center; font-size:.75rem; letter-spacing:.035em; line-height:1.65; background:linear-gradient(transparent,#142f27e8); }
.album-chapters { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; padding:20px 0; border-bottom:1px solid #d9d0bf; margin-bottom:20px; }
.album-chapters > div { display:flex; align-items:center; gap:10px; min-width:0; }
.album-chapters > div > span { display:grid; place-items:center; flex:none; width:32px; height:32px; border:1px solid #b9b8a4; border-radius:50%; color:#626b58; font-size:.875rem; }
.album-chapters small { display:block; color:#786b4d; font-size:.75rem; }
.album-chapters strong { display:block; color:#334c3b; font:700 .875rem/1.4 Georgia,serif; }
.album-chapters .is-earned > span { background:#27573d; color:#fff2ba; border-color:#27573d; }
.album-view-switch { display:flex; flex-wrap:wrap; align-items:center; gap:5px; margin-bottom:18px; }
.passport-field-album .album-view-switch button { min-height:44px; padding:9px 14px; border:0; border-bottom:2px solid transparent; border-radius:0; background:transparent; color:#5b685b; box-shadow:none; font-size:.875rem; font-weight:600; cursor:pointer; }
.passport-field-album .album-view-switch button[aria-pressed="true"] { border-bottom-color:#896326; color:#244b37; }
.album-view-switch button span { font-weight:400; margin-left:4px; }
.album-sets { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; align-items:start; }
.passport-field-album .album-set { border:1px solid #d8d0bd; border-radius:10px; background:#fdfbf3; overflow:hidden; }
.album-set > summary { position:relative; display:grid; grid-template-columns:88px minmax(0,1fr); gap:16px; align-items:center; min-height:175px; padding:20px 22px 20px 12px; list-style:none; cursor:pointer; }
.album-set > summary::-webkit-details-marker { display:none; }
.album-set > summary > img { display:block; width:88px; height:102px; object-fit:contain; }
.album-set > summary small { color:#796a49; font-size:.75rem; }
.album-set h4 { font:700 1.25rem/1.15 Georgia,serif; color:#244333; margin:8px 0; }
.album-set > summary p { color:#606955; font-size:.875rem; line-height:1.5; margin:9px 0 14px; }
.album-open-mark { position:absolute; top:8px; right:9px; font-size:1rem; color:#6c705c; }
.album-set[open] .album-open-mark { transform:rotate(45deg); }
.album-set.is-earned { border-color:#b38f46; background:#fbf4de; }
.album-set.is-earned > summary small { color:#245039; }
.album-set-inside { border-top:1px solid #dfd5c0; padding:16px; }
.album-set-inside > p { margin:0 0 16px; font:italic 1rem/1.55 Georgia,serif; color:#36503c; }
.album-set-inside ol { list-style:none; padding:0; margin:0; }
.album-set-inside li { display:grid; grid-template-columns:25px minmax(0,1fr) auto; gap:8px; align-items:center; padding:13px 0; border-bottom:1px solid #e5ddce; }
.album-set-inside li > span { color:#7f704b; font:700 .875rem Georgia,serif; }
.album-set-inside li strong { display:block; color:#284331; font-size:.875rem; }
.album-set-inside li small { display:block; color:#676d5d; margin-top:4px; font-size:.75rem; line-height:1.5; }
.passport-field-album .album-set-inside button { min-height:44px; min-width:44px; padding:8px; border:1px solid #b8bca8; border-radius:5px; background:transparent; color:#284d38; box-shadow:none; font-size:.875rem; cursor:pointer; }
.passport-field-album .album-rule { font:400 .875rem/1.55 system-ui,sans-serif; color:#66705f; margin:16px 0 0; }
.album-stamp-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr)); gap:20px; align-items:start; }
.album-place-stamp { min-width:0; border:1px solid #d5c8ab; border-radius:3px; padding:8px; background:#fffaf0; box-shadow:0 5px 13px #34402b12; }
.album-place-stamp.is-collected { border-color:#ac8848; }
.album-stamp-photo { position:relative; height:156px; background:#e8e6d8; }
.album-stamp-photo img { display:block; width:100%; height:100%; object-fit:cover; }
.album-stamp-photo > span { position:absolute; top:8px; left:8px; padding:4px 6px; color:#fff8e3; background:#183f32e8; font:700 .75rem/1.3 system-ui; }
.album-stamp-photo > b { position:absolute; bottom:12px; right:8px; padding:5px 8px; border:3px double #f2e0a6; color:#fff4ce; background:#204735eb; transform:rotate(-5deg); font:700 .75rem/1.3 system-ui; letter-spacing:.08em; }
.album-stamp-copy { padding:14px 8px 6px; }
.album-stamp-copy > small { color:#7b653d; text-transform:uppercase; letter-spacing:.05em; font-size:.75rem; }
.album-stamp-copy h4 { color:#254230; margin:6px 0 10px; font:700 1.3rem/1.2 Georgia,serif; }
.album-stamp-copy > p { color:#616c5b; font:italic 1rem/1.45 Georgia,serif; margin:0 0 14px; }
.album-stamp-state { display:block; color:#486049; font-size:.875rem; line-height:1.8; }
.passport-field-album .album-stamp-copy > button { display:flex; align-items:center; justify-content:space-between; width:100%; min-height:46px; margin-top:12px; border:0; border-block:1px solid #dfd5bf; border-radius:0; background:transparent; box-shadow:none; padding:10px 0; text-align:left; font-size:.875rem; color:#28533a; cursor:pointer; }
.album-photo-credit { color:#68705f; font-size:.75rem; margin-top:9px; }
.album-photo-credit summary { padding:8px 0; min-height:34px; cursor:pointer; }
.album-photo-credit p { font-size:.75rem; overflow-wrap:anywhere; }
.album-photo-credit a { color:#526d4e; }
.album-photo-unavailable { display:grid; place-items:center; min-height:120px; color:#5e6a58; font-size:.875rem; }
.album-masterwork { display:grid; grid-template-columns:minmax(180px,.9fr) minmax(0,1fr); gap:35px; align-items:center; padding:30px; background:#153d30; border:1px solid #bb9c54; border-radius:14px; color:#fff4d7; }
.album-masterwork > img { width:100%; max-width:310px; height:auto; justify-self:center; }
.album-masterwork small { color:#dcbf7f; letter-spacing:.13em; font-weight:700; font-size:.75rem; }
.album-masterwork h4 { margin:15px 0; font:400 clamp(1.8rem,3vw,2.8rem)/1.08 Georgia,serif; color:#fff2d0; }
.album-masterwork p { font-size:1rem; color:#d8dec9; line-height:1.7; }
.album-masterwork > div > span { display:block; font-size:.875rem; margin-top:10px; color:#efd498; }
.passport-field-album .album-masterwork .album-rule { color:#becdbd; }
.album-footer { display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; padding:24px 0 6px; color:#6b715f; font-size:.75rem; }
.album-footer > details { max-width:42ch; }
.album-footer summary { cursor:pointer; }
.album-footer p { font-size:.875rem; }
.album-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
#passportCeremony .passport-ceremony-art { display:block; width:190px; height:190px; object-fit:contain; margin:0 auto 18px; animation:passport-collectible-arrives 650ms cubic-bezier(.18,.7,.25,1) both; }
#passportCeremony[data-reward-kind="masterwork"] .passport-ceremony-card { border:3px double #cfb36d; background:#12382c; }
.passport-collectible-art { width:90px; height:90px; object-fit:contain; }
.passport-reading-finish { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:14px; margin-top:22px; padding:18px; border-block:1px solid #c7cdb8; background:#f4f6ec; }
.passport-reading-finish[hidden] { display:none; }
.passport-reading-finish > div { flex:1 1 220px; }
.passport-reading-finish small { display:block; font:700 .75rem/1.4 system-ui; letter-spacing:.08em; color:#607348; }
.passport-reading-finish strong { display:block; margin-top:4px; color:#284a32; font:700 1rem/1.4 Georgia,serif; }
.passport-reading-finish p { margin:6px 0 0; font:.875rem/1.5 system-ui; color:#65715e; }
.passport-reading-finish button { min-height:46px; padding:12px 15px; color:#fff4d2; background:#285338; border:0; border-radius:5px; font:600 .875rem system-ui; cursor:pointer; }
.passport-reading-finish button:disabled { background:#e1e8d7; color:#405b3a; cursor:default; }
@keyframes passport-collectible-arrives { from { opacity:0; transform:translateY(-10px) scale(1.13) rotate(-4deg); } to { opacity:1; transform:none; } }
@media(max-width:760px) { .album-sets { grid-template-columns:1fr; } .album-chapters { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; } .album-cover-copy { padding:24px; } .album-masterwork { gap:24px; padding:24px; } }
@media(max-width:540px) {
  .passport-album-tabs { gap:5px; }
  .passport-experience .passport-album-tabs button { padding:10px 8px; }
  .passport-album-tabs button strong { font-size:.875rem; }
  .passport-field-album .album-cover { grid-template-columns:1fr; }
  .album-cover-copy { padding:24px; }
  .passport-field-album .album-cover-copy h3 { font-size:3rem; }
  .album-cover-art { min-height:0; height:170px; }
  .album-cover-art > img { object-position:50% 62%; }
  .album-set > summary { grid-template-columns:76px minmax(0,1fr); gap:13px; }
  .album-set > summary > img { width:76px; height:88px; }
  .album-masterwork { grid-template-columns:1fr; gap:14px; }
  .album-masterwork > img { max-width:220px; }
  .album-view-switch { gap:0; }
  .passport-field-album .album-view-switch button { padding:9px; }
  .album-stamp-grid { gap:14px; }
}
@media(max-height:640px) { #passportCeremony .passport-ceremony-art { width:120px; height:120px; margin-bottom:12px; } }
@media(prefers-reduced-motion:reduce) { #passportCeremony .passport-ceremony-art { animation:none; } .passport-field-album * { transition:none!important; } }


/* src/passport/trekbound-passport-world.css */
/* Collector's case: family artwork, numbered editions, personal provenance. */
.passport-world-album { color:#203d32; }
.passport-world-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:0 0 22px; border-bottom:1px solid #cdc6b3; }
.passport-world-heading small,.passport-world-family header small { font-size:.75rem; letter-spacing:.1em; color:#75643e; font-weight:700; }
.passport-world-heading h3 { font:400 clamp(1.8rem,4vw,2.8rem)/1.1 Georgia,serif; margin:8px 0 12px; }
.passport-world-heading p { margin:0; max-width:58ch; font-size:1rem; }
.passport-world-heading > span { flex:none; display:grid; font-size:.875rem; }
.passport-world-heading b { font:400 2rem Georgia,serif; }
.passport-world-families { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:24px; margin-top:24px; }
.passport-world-family { min-width:0; border:1px solid #cbc3ad; border-radius:12px; background:#fbf7ed; overflow:hidden; }
.passport-world-family > header { display:flex; align-items:center; gap:14px; padding:22px 18px 10px; }
.passport-world-family header img { width:110px; height:120px; object-fit:contain; flex:none; }
.passport-world-family h4 { font:400 1.55rem/1.2 Georgia,serif; margin:7px 0; color:#203d32; }
.passport-world-family header p { font-size:1rem; margin:0; line-height:1.5; }
.passport-world-next { margin:14px 18px 20px; border-left:3px solid #a37b32; padding:10px 0 10px 14px; }
.passport-world-next > strong { display:block; font-size:1rem; }
.passport-world-next p { margin:7px 0; font-size:.875rem; }
.passport-experience .passport-world-next button { min-height:44px; padding:8px 12px; border:1px solid #315843; border-radius:5px; background:#214b3c; color:#fff5df; font-size:.875rem; cursor:pointer; }
.passport-world-editions { padding:0 18px 18px; }
.passport-world-edition { border-top:1px solid #d9d0bc; }
.passport-world-edition > summary { display:grid; grid-template-columns:32px minmax(0,1fr) 60px 16px; gap:10px; align-items:center; min-height:76px; padding:12px 0; list-style:none; cursor:pointer; }
.passport-world-edition > summary::-webkit-details-marker { display:none; }
.passport-edition-number { color:#877249; font-size:.875rem; }
.passport-world-edition.is-earned .passport-edition-number { color:#23513b; font-weight:700; }
.passport-world-edition summary strong { display:block; font:700 1rem/1.35 Georgia,serif; }
.passport-world-edition summary small { display:block; margin-top:4px; font-size:.75rem; color:#596653; }
.passport-world-edition progress { width:100%; height:5px; accent-color:#355f44; }
.passport-world-edition-story { border-top:1px solid #e1dac9; padding:0 0 16px; font-size:.875rem; }
.passport-world-edition-story > p { font-size:1rem; line-height:1.5; }
.passport-world-edition-story .passport-world-next { margin:16px 0 0; }
.passport-world-footnote,.passport-world-finished { font-size:.875rem; color:#5b6657; margin:22px 0; }
.passport-world-finished { margin:16px 18px; }
.passport-reward-evidence { padding:16px 0 5px; border-top:1px solid #cfc6b4; text-align:left; }
.passport-reward-evidence > small { display:block; font-size:.75rem; color:#75643e; letter-spacing:.08em; font-weight:700; }
.passport-reward-evidence ul { list-style:none; padding:0; margin:10px 0; display:grid; gap:6px; }
.passport-reward-evidence li { margin:0; min-width:0; }
.passport-reward-evidence button { display:grid; width:100%; min-height:48px; text-align:left; border:1px solid #d9d0bc; border-radius:5px; background:#fffaf0; color:#203d32; padding:10px 12px; cursor:pointer; white-space:normal; overflow-wrap:anywhere; }
.passport-reward-evidence button strong { font-size:.875rem; color:#203d32; }
.passport-reward-evidence button span { font-size:.75rem; color:#626953; }
.passport-reward-evidence p,.passport-reward-evidence time { display:block; font-size:.75rem; color:#626953; margin:5px 0; }
.passport-ceremony .passport-reward-evidence { max-width:440px; margin:18px auto 0; }
.passport-reward-evidence button:focus-visible { outline:3px solid #ae7b20; outline-offset:3px; }
.passport-ceremony .passport-ceremony-card { max-height:calc(100dvh - 40px); overflow-y:auto; overscroll-behavior:contain; }
.passport-experience .passport-album-tabs { grid-template-columns:repeat(4,minmax(0,1fr)); }
.passport-stamp-date { display:block; font-size:.75rem; color:#626953; margin:10px 0; }
.passport-stamp-date time { display:block; }
@media(max-width:900px) { .passport-world-families { grid-template-columns:minmax(0,1fr); } }
@media(max-width:540px) { .passport-world-heading { align-items:flex-start; flex-direction:column; gap:12px; } .passport-world-heading > span { display:block; } .passport-world-heading b { font-size:1.25rem; margin-right:7px; } .passport-world-family header img { width:80px; height:96px; } .passport-world-family > header { gap:12px; padding:18px 14px 8px; } .passport-world-family h4 { font-size:1.35rem; } .passport-world-edition > summary { grid-template-columns:24px minmax(0,1fr) 40px 12px; gap:8px; } .passport-experience .passport-album-tabs { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(prefers-reduced-motion:reduce) { .passport-world-album *, .passport-reward-evidence * { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }


/* src/passport/trekbound-passport-first-wins.css */
/* The Passport owns its paper surface in every shell, including deferred pages.
   Specificity is intentionally scoped to the Passport, never the map or reader. */
body .passport-experience { background:#f8f4e9; color:#203d32; padding:clamp(14px,3vw,28px); border:1px solid #d9ceba; border-radius:16px; min-width:0; }
body .passport-experience :is(h3,h4,p,small,span,strong,time) { color:inherit; }
/* Deferred destination typography must not put pale text on Passport paper. */
body #featureDestinationOverlay .passport-experience :is(h3,h4,p,small,span,strong,time) { color:inherit; }
/* Overrides the older premium shell's !important pale paragraph rule. */
body.pastpath-premium-v2 #featureDestinationOverlay .passport-experience p { color:inherit!important; }
body.feature-destination-open .tb-mode-toggle { display:none!important; }
body .passport-experience :is(.passport-library-heading,.passport-world-heading,.passport-world-family,.album-cover-copy,.album-set,.album-set-inside,.passport-within-reach,.passport-badge-story,.passport-stamp-pages,.passport-seal-guide) { color:#203d32; }
body .passport-experience :is(.passport-library-heading,.passport-world-heading,.passport-world-family,.album-cover-copy,.album-set,.album-set-inside,.passport-within-reach,.passport-badge-story,.passport-stamp-pages,.passport-seal-guide) :is(p,small,time) { color:#52604d; }
body .passport-experience :is(.passport-identity,.album-masterwork) { color:#fff4d7; }
body .passport-reward-overview .passport-identity:only-child { grid-column:1/-1; }
body .passport-experience :is(.passport-identity,.album-masterwork) :is(h3,h4,p,small,span,strong,b) { color:inherit; }
body .passport-experience .passport-album-tabs button { color:#254334; }
body .passport-experience .passport-album-tabs button[aria-pressed="true"] { color:#fff3d5; }
body .passport-experience .passport-album-tabs button :is(strong,small) { color:inherit; }
body .passport-first-wins { margin:0 0 24px; border:1px solid #cab98f; border-radius:12px; overflow:hidden; background:#fffbf0; color:#203d32; }
body .passport-first-wins-track { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; padding:18px; border-bottom:1px solid #dfd4ba; }
body .passport-first-wins-track > span { display:flex; flex-wrap:wrap; align-items:center; gap:8px; font:600 .875rem/1.4 system-ui; }
body .passport-first-wins-track b { display:grid; place-items:center; flex:none; width:28px; height:28px; border:1px solid #9a8a61; border-radius:50%; font:700 .875rem system-ui; }
body .passport-first-wins-track .is-complete b { color:#fff4d7; background:#27523e; border-color:#27523e; }
body .passport-next-discovery { padding:20px; }
body .passport-next-discovery > small { display:block; font:700 .75rem/1.4 system-ui; letter-spacing:.1em; color:#76602d; }
body .passport-next-discovery h3 { margin:8px 0; font:700 clamp(1.25rem,3vw,1.7rem)/1.2 Georgia,serif; color:#203d32; }
body .passport-next-discovery p { font:400 1rem/1.5 system-ui; margin:8px 0 16px; max-width:64ch; color:#4d5c49; }
body .passport-next-discovery button, body .passport-story-next button { min-height:48px; max-width:100%; padding:12px 16px; border:1px solid #244d3a; border-radius:7px; background:#214b3c; color:#fff4d7; font:600 .9375rem/1.4 system-ui; white-space:normal; text-align:left; cursor:pointer; }
body .passport-next-discovery button span { color:inherit; }
body .passport-story-next button span { display:inline; color:inherit; }
body .passport-reading-finish .passport-story-next { flex:1 0 100%; border-top:1px solid #c7cdb8; padding-top:16px; }
body .passport-reading-finish .passport-story-next button { margin-top:12px; }
#passportCeremony { overflow:hidden; }
#passportCeremony .passport-ceremony-card { padding-top:28px; max-height:calc(100dvh - 40px); scroll-padding-top:20px; }
#passportCeremony .passport-achievement-ribbon { position:static; transform:none; margin:0 auto 16px; }
#passportCeremony .passport-reward-evidence :is(small,p,time) { color:#dfdec9; }
#passportCeremony .passport-reward-evidence button :is(strong,span) { color:#203d32; }
#passportCeremony #passportCeremonyTitle:focus { outline:none; }
#passportCeremony .passport-ceremony-dismiss { position:absolute; top:5px; right:5px; width:44px; min-height:44px; border:0; border-radius:50%; background:#143c30; color:#fff4d7; font:400 1.5rem/1 system-ui; }
#passportCeremony .passport-keepsake-photo { width:100%; max-height:140px; object-fit:cover; border-radius:5px; }
#passportCeremony .album-photo-credit, #passportCeremony .album-photo-credit :is(p,a,summary) { color:#e9e4d2; }
body .passport-next-discovery button:focus-visible, body .passport-story-next button:focus-visible { outline:3px solid #987122; outline-offset:4px; }
@media(max-width:540px) { body .passport-experience { padding:14px 10px; } body .passport-first-wins-track { gap:8px; padding:14px 12px; } body .passport-first-wins-track > span { align-content:start; font-size:.8125rem; } body .passport-next-discovery { padding:16px; } }
@media(max-height:540px) { #passportCeremony { padding:10px; } #passportCeremony .passport-ceremony-card { max-height:calc(100dvh - 20px); padding:18px; } }
@media(prefers-reduced-motion:reduce) { .passport-first-wins *, .passport-story-next * { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }


/* src/experience/trekbound-story-continuation.css */
/* Main-card discovery; the sourced takeaway remains at the end of the full story. */
body.pastpath-premium-v2.place-card-open .detail-panel #detailMemory[hidden],
body.pastpath-premium-v2.place-card-open .detail-panel:has(.explore-next-button) .learning-story .passport-story-next { display:none !important; }
body.pastpath-premium-v2.place-card-open .detail-panel .explore-next-card {
  display:block !important; order:5 !important; width:100%; box-sizing:border-box;
  margin:8px 0 12px !important; padding:16px !important;
  border:1px solid #c8d2c3 !important; border-radius:12px !important;
  background:#f0f3eb !important; box-shadow:none !important; min-width:0;
}
body.pastpath-premium-v2.place-card-open .detail-panel .explore-next-card::before { display:none !important; }
body.pastpath-premium-v2.place-card-open .detail-panel .story-finish-takeaway { margin:20px 0 12px; padding:18px; border:1px solid #c8d2c3; border-radius:10px; background:#f0f3eb; }
body.pastpath-premium-v2.place-card-open .detail-panel .story-finish-takeaway[hidden] { display:none !important; }
body.pastpath-premium-v2.place-card-open .detail-panel .story-finish-takeaway > small { color:#52604e; font:600 11px/1.5 var(--pp-font-ui); letter-spacing:.12em; }
body.pastpath-premium-v2.place-card-open .detail-panel .story-finish-takeaway p { display:block !important; color:#244434 !important; font:400 19px/1.6 var(--pp-font-display) !important; margin:10px 0 !important; max-width:60ch; }
body.pastpath-premium-v2.place-card-open .detail-panel .story-finish-takeaway a,
body.pastpath-premium-v2.place-card-open .detail-panel .story-next-photo a { color:#31553f !important; text-decoration:underline; text-underline-offset:3px; }
body.pastpath-premium-v2.place-card-open .detail-panel .story-finish-takeaway a { display:inline-flex; align-items:center; min-height:44px; font:400 13px/1.5 var(--pp-font-ui); }
body.pastpath-premium-v2.place-card-open .detail-panel .explore-next-card .explore-card-header { display:block !important; margin:0 0 14px; }
body.pastpath-premium-v2.place-card-open .detail-panel #exploreNextTitle { margin:0 0 6px; font:600 20px/1.2 var(--pp-font-display) !important; color:#204433 !important; }
body.pastpath-premium-v2.place-card-open .detail-panel #exploreNextCount { display:block !important; font:400 13px/1.5 var(--pp-font-ui) !important; color:#52604e !important; white-space:normal !important; text-align:left !important; background:transparent !important; border:0 !important; padding:0 !important; }
body.pastpath-premium-v2.place-card-open .detail-panel #exploreNextList { display:block !important; max-height:none !important; height:auto !important; overflow:visible !important; }
body.pastpath-premium-v2.place-card-open .detail-panel #exploreNextList > article { display:grid; grid-template-columns:minmax(0,1fr); gap:8px 12px; }
body.pastpath-premium-v2.place-card-open .detail-panel #exploreNextList > article:has(.story-next-photo:not([hidden])) { grid-template-columns:minmax(0,1fr) 88px; }
body.pastpath-premium-v2.place-card-open .detail-panel .story-next-photo { display:contents; }
body.pastpath-premium-v2.place-card-open .detail-panel .story-next-photo[hidden] { display:none !important; }
body.pastpath-premium-v2.place-card-open .detail-panel .story-next-photo img { display:block; grid-column:2; grid-row:1 / span 2; width:88px; height:88px; object-fit:cover; border-radius:8px; }
body.pastpath-premium-v2.place-card-open .detail-panel .story-next-photo figcaption { grid-column:1 / -1; grid-row:5; margin:0; font:400 11px/1.5 var(--pp-font-ui); color:#52604e; overflow-wrap:anywhere; }
body.pastpath-premium-v2.place-card-open .detail-panel .story-next-photo figcaption a { display:inline-block; padding:8px 0; }
body.pastpath-premium-v2.place-card-open .detail-panel .story-next-name { display:block; grid-column:1; grid-row:1; margin:0; color:#204433; font:600 18px/1.3 var(--pp-font-display); }
body.pastpath-premium-v2.place-card-open .detail-panel .story-next-reason { grid-column:1; grid-row:2; margin:0; color:#52604e; font:400 12px/1.5 var(--pp-font-ui); }
body.pastpath-premium-v2.place-card-open .detail-panel .story-next-insight { grid-column:1 / -1; grid-row:3; margin:0; color:#31473b; font:400 14px/1.6 var(--pp-font-ui); }
body.pastpath-premium-v2.place-card-open .detail-panel .explore-next-button {
  display:block !important; grid-column:1 / -1; grid-row:4; width:100% !important; min-width:0 !important; min-height:50px !important;
  padding:12px 16px !important; border:1px solid #6b8472 !important; border-radius:8px !important;
  background:#fffef9 !important; color:#214c3b !important; font:600 15px/1.4 var(--pp-font-ui) !important;
  text-align:left !important; white-space:normal !important; word-break:normal !important; overflow-wrap:break-word !important;
}
@media(max-width:420px) {
  body.pastpath-premium-v2.place-card-open .detail-panel .explore-next-card { padding:14px !important; }
}
body.pastpath-premium-v2.place-card-open .detail-panel .story-next-source {
  display:inline-flex; align-items:center; min-height:44px; color:#31553f !important;
  font:400 12px/1.4 var(--pp-font-ui); text-decoration:underline; text-underline-offset:3px;
}
.place-connection-status{padding:.75rem;border:1px solid #c4b99e;border-radius:.6rem;background:#fff8e7;color:#173b31;font-size:1rem}
.place-connection-status[hidden]{display:none!important}
.place-connection-status p{margin:0 0 .5rem}
.place-connection-status button{min-height:44px;font-size:.875rem;padding:.5rem .75rem;cursor:pointer}


/* src/experience/trekbound-city-stories.css */
/* Existing city stories: one quiet, exact connection on the main place card. */
body.pastpath-premium-v2.place-card-open .detail-panel .tb-city-story-connection {
  display:block !important; order:6; min-width:0; box-sizing:border-box;
  margin:0 0 16px; padding:16px; border:1px solid #c9c1ab; border-radius:12px;
  color:#294537; background:#fbf6e9;
}
.tb-city-story-connection > small { display:block; font:600 10px/1.6 var(--pp-font-ui); letter-spacing:.1em; color:#675f4b; }
.tb-city-story-connection > strong { display:block; margin:7px 0; font:600 20px/1.3 var(--pp-font-display); }
.tb-city-story-connection p { margin:8px 0; font:400 13px/1.6 var(--pp-font-ui); }
body.pastpath-premium-v2.place-card-open .detail-panel .tb-city-story-connection button {
  display:block !important; width:100%; min-width:0; min-height:48px; padding:12px;
  border:1px solid #6b7b63; border-radius:8px; background:#fffdf7; color:#244434;
  font:600 14px/1.4 var(--pp-font-ui); text-align:left; white-space:normal; word-break:normal;
}
.tb-city-story-connection button:focus-visible { outline:3px solid #315f47; outline-offset:3px; }
.tb-city-story-connection .tb-city-story-status:empty { display:none; }
.pp-editions-toolbar button[data-editions-close] { flex-shrink:0; width:auto; min-width:44px; padding:8px 12px; }
.pp-editions .pp-originals-shelf button span { display:block; white-space:normal; }
.pp-editions [data-edition-content] h2 { scroll-margin-top:96px; }
.pp-editions .pp-edition-plans .is-flagship > small { display:block; margin:12px 0; }
.pp-editions .pp-tour-brief summary { display:flex; align-items:center; min-height:44px; cursor:pointer; font-weight:600; }
.journey-city-reading { margin:0 0 16px; padding:16px; border:1px solid #c8d2c3; border-radius:10px; background:#f0f3eb; color:#244434; }
.journey-city-reading strong { font-size:16px; line-height:1.4; }
.journey-city-reading p { margin:8px 0 0; font-size:13px; line-height:1.6; }


/* src/admin/trekbound-founder-entry.css */
/* Account-owned navigation, never a floating control covering the map. */
.trekbound-founder-entry {
  display: inline-flex; justify-content: center; align-items: center;
  min-height: 44px; padding: 10px 16px; border: 1px solid #856b39;
  border-radius: 10px; background: #173a30; color: #fff0cb;
  font: 700 14px/1.4 system-ui, sans-serif; cursor: pointer;
}
.trekbound-founder-entry:focus-visible { outline: 3px solid #dbb566; outline-offset: 3px; }
#pastPathAccountSignedIn > .trekbound-founder-entry { margin-top: 12px; width: 100%; }


/* src/account/trekbound-account-premium.css */
/* A quiet account workspace, scoped after the existing visual layers. */
body #pastPathAccountShell { z-index: 2147483000; padding: max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left)); }
body #pastPathAccountShell [hidden] { display: none !important; }
body #pastPathAccountShell .pastpath-account-card { width: min(100%, 480px); max-height: calc(100dvh - 32px); padding: 30px; border: 1px solid #d0d8d1; border-top: 4px solid #315749; border-radius: 20px; background: #fcfcf8; color: #193a30; box-shadow: 0 24px 80px #061c2060; font: 400 1rem/1.55 system-ui, sans-serif; overscroll-behavior: contain; scrollbar-gutter: stable; }
body #pastPathAccountShell .pastpath-account-eyebrow { color: #526553; font-size: .75rem; letter-spacing: .16em; font-weight: 750; }
body #pastPathAccountShell h2 { margin: 9px 0 8px; font: 500 2rem/1.12 Georgia, serif; letter-spacing: -.035em; }
body #pastPathAccountShell header p { color: #52665d; font-size: 1rem; line-height: 1.5; }
body #pastPathAccountShell .pastpath-account-close { border: 0; background: #edf0e9; width: 44px; height: 44px; }
body #pastPathAccountShell :is(button, a, summary, input):focus-visible { outline: 3px solid #9b7432; outline-offset: 3px; }
body #pastPathAccountShell button { cursor: pointer; font-family: inherit; }
body #pastPathAccountShell button:disabled { opacity: .6; cursor: wait; }
body #pastPathAccountShell .trekbound-account-modes { display: grid; grid-template-columns: 1fr 1fr; padding: 4px; gap: 4px; margin-top: 24px; border: 1px solid #d5ded5; border-radius: 12px; background: #edf1eb; }
body #pastPathAccountShell .trekbound-account-modes button { min-height: 44px; padding: 8px; border: 0; border-radius: 8px; background: transparent; color: #405a4e; font-size: .875rem; font-weight: 700; }
body #pastPathAccountShell .trekbound-account-modes [aria-pressed="true"] { background: #fff; color: #143b30; box-shadow: 0 1px 4px #193a3015; }
body #pastPathAccountShell .pastpath-account-form { gap: 18px; margin-top: 22px; }
body #pastPathAccountShell label { font-size: .875rem; font-weight: 650; }
body #pastPathAccountShell input:not([type="checkbox"]) { width: 100%; box-sizing: border-box; min-height: 52px; border: 1px solid #9eb1a5; border-radius: 10px; background: #fff; color: #18382e; font: 400 1rem/1.4 system-ui, sans-serif; }
body #pastPathAccountShell input::placeholder { color: #617268; opacity: 1; }
body #pastPathAccountShell .pastpath-password-field input { padding-right: 70px; }
body #pastPathAccountShell .pastpath-password-field button { top: 4px; right: 4px; height: 44px; min-width: 58px; color: #244b3b; background: #f0f3ed; font-size: .875rem; }
body #pastPathAccountShell .pastpath-remember { display: flex; gap: 10px; align-items: start; color: #455e51; font-size: .875rem; line-height: 1.5; font-weight: 400; }
body #pastPathAccountShell .pastpath-remember input { flex: 0 0 20px; width: 20px; height: 20px; min-height: 20px; margin: 2px 0 0; accent-color: #24513f; }
body #pastPathAccountShell .pastpath-account-actions { grid-template-columns: 1fr; }
body #pastPathAccountShell .pastpath-account-actions button { min-height: 52px; border: 0; border-radius: 10px; box-shadow: none; background: #214d3c; color: #fff; font-size: 1rem; font-weight: 700; }
body #pastPathAccountShell .pastpath-account-actions button:hover { background: #163b2d; }
body #pastPathAccountShell .pastpath-account-recovery { justify-content: center; margin-top: -8px; }
body #pastPathAccountShell .pastpath-account-recovery button { font-size: .875rem; min-height: 44px; color: #2d5543; }
body #pastPathAccountShell .trekbound-account-help { margin-top: 12px; border-top: 1px solid #dbe2d9; padding-top: 8px; }
body #pastPathAccountShell :is(summary, .trekbound-account-utilities a) { cursor: pointer; font-size: .875rem; min-height: 44px; align-content: center; }
body #pastPathAccountShell .trekbound-account-help :is(p, button), body #pastPathAccountShell .trekbound-account-terms { font-size: .875rem; line-height: 1.55; color: #4b6255; }
body #pastPathAccountShell .trekbound-account-help button { min-height: 44px; padding: 8px 0; border: 0; background: none; color: #28523e; text-decoration: underline; text-underline-offset: 3px; }
body #pastPathAccountShell a { color: #28523e; text-underline-offset: 3px; }
body #pastPathAccountShell .pastpath-account-profile { margin-top: 24px; padding: 0; background: none; }
body #pastPathAccountShell .pastpath-account-identity-row { padding-bottom: 20px; margin: 0; border-bottom: 1px solid #dbe2d9; }
body #pastPathAccountShell .pastpath-account-identity-row small { font-size: .75rem; color: #52685a; letter-spacing: .06em; }
body #pastPathAccountShell .pastpath-account-identity-row strong { font-size: 1rem; font-weight: 650; line-height: 1.5; }
body #pastPathAccountShell .pastpath-account-avatar { flex-basis: 48px; width: 48px; height: 48px; border: 0; border-radius: 50%; background: #204738; color: #f8f3df !important; font: 500 1rem/1 Georgia, serif; }
body #pastPathAccountShell .trekbound-account-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; padding: 20px 0; }
body #pastPathAccountShell .trekbound-account-stats > span { display: grid; margin: 0; gap: 4px; color: #506456; font-size: .875rem; line-height: 1.4; }
body #pastPathAccountShell .trekbound-account-stats strong { font: 500 1.65rem/1.2 Georgia, serif; color: #1f4534; }
body #pastPathAccountShell .pastpath-account-sync { margin: 0 0 20px; padding: 14px; grid-template-columns: minmax(0,1fr) auto; gap: 12px; border-color: #d3ddd2; background: #f0f4ed; box-shadow: none; }
body #pastPathAccountShell .pastpath-account-sync i { display: none; }
body #pastPathAccountShell .pastpath-account-sync strong { font-size: .875rem; font-weight: 700; }
body #pastPathAccountShell .pastpath-account-sync small { font-size: .875rem; line-height: 1.5; color: #4d6455; }
body #pastPathAccountShell .pastpath-account-sync button { min-height: 44px; font-size: .875rem; background: #fff; }
body #pastPathAccountShell .trekbound-founder-entry { width: 100%; margin: 0 0 16px; min-height: 50px; border: 1px solid #7d6840; border-radius: 10px; color: #fff4d5; background: #214638; }
body #pastPathAccountShell .trekbound-account-utilities { display: flex; justify-content: space-between; gap: 14px; align-items: center; padding-bottom: 12px; }
body #pastPathAccountShell .pastpath-account-signout { min-height: 44px; padding: 8px 16px; border: 1px solid #b9c9bc; border-radius: 9px; color: #294c3a; background: #fff; box-shadow: none; font-size: .875rem; }
body #pastPathAccountShell .trekbound-account-delete { border-top: 1px solid #dbe2d9; margin-top: 2px; }
body #pastPathAccountShell .trekbound-account-delete > summary { color: #963c35; }
body #pastPathAccountShell .trekbound-account-delete-body { padding: 4px 0 12px; }
body #pastPathAccountShell .trekbound-account-delete-body h3 { margin: 10px 0; font-size: 1.125rem; }
body #pastPathAccountShell .trekbound-account-delete-body p { color: #526456; font-size: .875rem; line-height: 1.55; }
body #pastPathAccountShell [data-account-deletion-form] { display: grid; gap: 16px; }
body #pastPathAccountShell [data-account-deletion-form] label { display: grid; gap: 8px; }
body #pastPathAccountShell [data-account-deletion-form] .pastpath-remember { display: flex; }
body #pastPathAccountShell [data-account-deletion-email] { padding: 0 12px; }
body #pastPathAccountShell [data-account-deletion-submit] { min-height: 48px; padding: 10px; border: 1px solid #973e36; border-radius: 10px; background: #fff5f1; color: #843229; font-size: .875rem; font-weight: 700; }
body #pastPathAccountShell [data-account-deletion-check] { border: 0; background: none; color: #315441; min-height: 44px; margin-top: 10px; text-decoration: underline; font-size: .875rem; }
body #pastPathAccountShell [data-account-deletion-status]:not(:empty) { border-left: 3px solid #9b7937; padding: 10px 14px; background: #f4f1e5; overflow-wrap: anywhere; }
body #pastPathAccountShell .pastpath-account-status { margin: 14px 0 0; min-height: 0; font-size: .875rem; line-height: 1.5; }
body #pastPathAccountShell .pastpath-account-status:empty { display: none; }
body #pastPathAccountShell .pastpath-password-meter { font-size: .875rem; color: #526456; }
body #pastPathAccountShell:not([data-account-mode="signup"]) .pastpath-password-meter { display: none; }
@media (max-width: 600px) {
  body #pastPathAccountShell .pastpath-account-card { padding: 24px 20px; border-radius: 16px; }
  body #pastPathAccountShell .pastpath-account-sync { grid-template-columns: minmax(0,1fr); }
  body #pastPathAccountShell .pastpath-account-sync button { grid-column: auto; justify-self: start; width: auto; }
}
@media (max-height: 500px) {
  body #pastPathAccountShell .pastpath-account-card { padding: 18px 24px; }
  body #pastPathAccountShell h2 { font-size: 1.65rem; }
}


/* src/experience/trekbound-readable-polish.css */
/* User-tested readability polish. Keep the established forest/paper theme.
   Color rules are scoped by surface: pale gold is for dark panels only. */
body.pastpath-premium-v2 #routeMap .map-cluster {
  padding:0 !important;
  background:#123a30 !important;
  border-color:#ddc082 !important;
}
body.pastpath-premium-v2 #routeMap .map-cluster strong {
  color:#fff8e7 !important;
  text-shadow:none !important;
  white-space:nowrap;
}
body.pastpath-premium-v2 #routeMap .map-cluster :is(span,i) { display:none !important; }
body.pastpath-premium-v2 #mapLayerHint { color:#fff8e7 !important; background:#123a30 !important; }
body.pastpath-premium-v2 #pastPathAccountButton { color:#fff8e7 !important; background:#123a30 !important; min-height:44px; }
body.pastpath-premium-v2 #pastPathAccountButton strong { color:inherit !important; font-size:14px; }
body #pastPathAccountShell .pastpath-account-eyebrow { color:#75531c; font-size:12px; }
body #pastPathAccountShell .pastpath-account-note { color:#465d50; font-size:14px; line-height:1.5; }
body #pastPathAccountShell .pastpath-account-benefits span { font-size:12px; }
body.pastpath-premium-v2 .leaflet-control-attribution {
  color:#354b40 !important;
  background:#fffdf7 !important;
  opacity:1 !important;
  max-height:3.6em !important;
  overflow:auto !important;
  font-size:12px !important;
  line-height:1.2 !important;
}
body.pastpath-premium-v2 .leaflet-control-attribution a { color:#185c48 !important; }
body.pastpath-premium-v2 .map-legend span { font-size:12px !important; }
body:not(.trekbound-easy-mode) #auroraSearchPanel :is(header span,button>small) { font-size:14px; line-height:1.45; }
body:not(.trekbound-easy-mode) #auroraSearchPanel button>span { font-size:12px; }
#auroraSearchPanel button>small { color:#4c6054; }

/* Place-reader controls must not inherit cream text on a paper surface. */
body.pastpath-premium-v2 #listenMarkerButton,
body.pastpath-premium-v2 .plaque-badges :is(#plaqueStatus,#photoStatus) {
  color:#234b3c !important;
  background:#f5efde !important;
}
body.pastpath-premium-v2 #pastPathLearningLab .education-os-level-note { color:#dbe7df !important; }
body.pastpath-premium-v2 #museumLabelChapter,
body.pastpath-premium-v2 .story-next-photo :is(figcaption,a),
body.pastpath-premium-v2 #pastPathLearningLab header span { font-size:12px !important; }

/* My TrekBound: readable tabs, metadata, recommendations and empty states. */
#pastPathMyHub :is(.my-hub-section-title small,.my-hub-card:not(.is-founding)>small,
 .my-trek-section header small,.my-trek-quick>div>small,.my-trek-preferences header small,
 .my-trek-recommendations small,.my-trek-progress-grid i,.my-trek-quick button b) { color:#75531c; }
#pastPathMyHub :is(.my-hub-section-title p,.my-hub-card:not(.is-founding) p,
 .my-trek-recommendations span,.my-trek-recommendations em,.my-trek-progress-grid em,
 .my-trek-quick button span,.my-offline-builder p,.my-stat-trust,.my-offline-note,
 .family-mode-note) { color:#465d50; }
#pastPathMyHub .my-trek-continue { background:radial-gradient(circle at 86% 18%,rgba(231,194,92,.12),transparent 28%),linear-gradient(125deg,#0d4938,#092a23); }
#pastPathMyHub .my-trek-continue small { color:#f0d790; }
#pastPathMyHub .my-trek-continue p { color:#e1eae4; }
body:not(.trekbound-easy-mode) #pastPathMyHub :is(.my-hub-tabs button,.my-hub-tabs button span,
 .my-trek-recommendations span,.my-trek-recommendations b,.my-trek-quick button span,
 .my-trek-preference-fields label span,.my-trek-preference-fields legend,.my-trek-goal-select,
 .my-hub-section-title p,.my-hub-card p,.my-offline-builder p,.my-stat-trust,.my-offline-note,
 .family-mode-note,.family-profile-form label,.family-profile-form input,.family-profile-form select) { font-size:14px; line-height:1.45; }
body:not(.trekbound-easy-mode) #pastPathMyHub :is(.my-hub-section-title small,.my-hub-card>small,
 .my-trek-continue small,.my-trek-continue aside p,.my-trek-section header small,
 .my-trek-quick>div>small,.my-trek-preferences header small,.my-trek-recommendations small,
 .my-trek-recommendations em,.my-trek-progress-grid i,.my-trek-progress-grid span,
 .my-trek-progress-grid em,.my-trek-quick button b,.my-stat-grid span,.my-stat-ring span,
 .my-theme-grid span,.my-hub-status,.pastpath-day-trip-builder small,.pastpath-day-trip-builder label,
 .pastpath-long-trip-card small,.family-mode-page small,.family-mode-page p) { font-size:12px; line-height:1.5; }
#pastPathMyHub .my-trek-preference-fields input:focus-visible+span { outline:3px solid #916821; outline-offset:3px; }
#pastPathMyHub .my-trek-preference-fields label span { min-height:44px; }
#pastPathMyHub .my-hub-tabs button { flex-shrink:0; padding-inline:12px; }
#pastPathMyHub .my-trek-recommendations>button { min-width:0; }

/* Learning Paths: lesson numbers and instructions are useful text, not decoration. */
body .pp-learning-paths :is(.pp-learning-library,.pp-learning-lesson)>header>.eyebrow {
  color:#76531b !important;
  font-size:12px !important;
  line-height:1.5;
}
body .pp-learning-paths :is(.pp-learning-reading>div small,.pp-learning-check>small,.pp-learning-resource small) { color:#76531b; }
body .pp-learning-paths .pp-learning-lesson-nav span { color:#465d50; font-size:14px; line-height:1.45; }
body .pp-learning-paths :is(.pp-learning-card-copy small,.pp-learning-card-copy b,
 .pp-learning-library>header span,.pp-learning-meter strong,.pp-learning-reading blockquote small,
 .pp-learning-check>small,.pp-learning-resource small,.pp-study-artifact small,
 .pp-learning-syllabus span small,.pp-learning-syllabus>li>button>i,.pp-learning-paths-toolbar p) { font-size:12px; line-height:1.5; }
body .pp-learning-paths :is(.pp-learning-library>aside p,.pp-learning-sources span,
 .pp-learning-syllabus span em,.pp-learning-syllabus span p,.pp-learning-check output) { font-size:14px; line-height:1.55; }
body .pp-learning-paths .pp-learning-card-copy { background:linear-gradient(180deg,rgba(8,34,27,.88),#08221b); }
body .pp-learning-paths .pp-learning-card-copy strong { overflow-wrap:break-word; }
body .pp-learning-paths .pp-learning-modes small { font-size:12px; line-height:1.45; }

/* Time Machine: preserve the layout while making evidence and controls readable. */
body #pastPathTimeMachine :is(.pp-time-tabs button,.pp-time-card button,.pp-time-card a,
 .pp-time-panel>footer button,.pp-time-card span,.pp-time-then span) { font-size:14px; line-height:1.45; }
body #pastPathTimeMachine :is(.pp-time-tabs button,.pp-time-card button,.pp-time-panel>footer button) { min-height:44px; }
body #pastPathTimeMachine :is(.pp-time-kicker,.pp-time-era-row span,.pp-time-year-row label span,
 .pp-time-summary span,.pp-time-card p,.pp-time-card strong,.pp-time-panel>footer small,
 .pp-time-questions summary span,.pp-time-questions p) { font-size:12px; line-height:1.45; }
body #pastPathTimeMachine .pp-time-questions summary span { color:#67532e; }
body #trekBoundActionStatus button { min-height:44px; font-size:14px; }

/* City Stories and daily exhibits use gold differently on forest and paper. */
body .pp-editions :is(.pp-editions-intro .eyebrow,.pp-edition-section .eyebrow,
 .pp-edition-plans small,.is-flagship>small) { color:#75531c; }
body .pp-editions .pp-originals-heading .eyebrow { color:#f0d790; }
body .pastpath-journey-companion :is(.journey-observation small,.journey-completion-reflection small) { color:#75531c; }
body .pastpath-journey-companion .journey-privacy { color:#465d50; }
body:not(.trekbound-easy-mode) .pp-editions :is(.eyebrow,.pp-originals-heading>span,
 .pp-originals-shelf button small,.pp-originals-shelf button span,.pp-edition-content small,
 .pp-edition-content em,.pp-edition-hero p,.pp-edition-hero>div>strong,
 .pp-editions-toolbar p,.pp-editions-intro>div span,.pp-edition-stats span) { font-size:12px; line-height:1.5; }
body:not(.trekbound-easy-mode) .pp-editions :is(.pp-originals-shelf button em,
 .pp-originals-heading p:not(.eyebrow),.pp-edition-content>span,.pp-edition-plans p,
 .pp-edition-plans ol,.pp-edition-tabs button,.pp-edition-section button,
 .pp-edition-hero button,.pp-editions-library>aside p) { font-size:14px; line-height:1.5; }
body .pp-editions .pp-edition-tabs button { flex-shrink:0; min-height:44px; }
body .pastpath-journey-companion :is(.journey-companion-header small,.journey-now small,
 .journey-then-now small,.journey-briefing summary small,.journey-briefing summary em,
 .journey-briefing dt,.journey-transition>small,.journey-observation small,
 .journey-completion-reflection small,.journey-privacy) { font-size:12px; line-height:1.5; }
body .pastpath-journey-companion:not([data-tour-style=accessible]) :is(.journey-observation p,
 .journey-difficult-context p,.journey-route-status p,.journey-time-copy p,
 .journey-briefing dd,.journey-briefing>aside p,.journey-transition>aside p) { font-size:14px; line-height:1.6; }
body #dailyDiscoveryOverlay :is(#dailyTodayEyebrow,#dailyStoryKicker,.daily-story-section-label) { color:#75531c; }
body #dailyDiscoveryOverlay .daily-card-top strong { color:#465d50; }
body #dailyDiscoveryOverlay :is(#dailyTodayEyebrow,#dailyStoryKicker,.daily-story-section-label,
 .daily-card-top span,.daily-card-top strong,.daily-card-action span,
 .daily-exhibit-media figcaption,.daily-exhibit-media figcaption a,
 #dailyStoryImageCredit,#dailyStoryImageCredit a,.daily-story-facts span,
 .daily-story-sources small,.daily-related-story span) { font-size:12px; line-height:1.5; }
body:not(.trekbound-easy-mode) #trekBoundDepthDoorway :is(header>span,.tb-feature-previews button>span) { font-size:12px; line-height:1.5; }
body:not(.trekbound-easy-mode) #trekBoundDepthDoorway :is(button>small,button>b) { font-size:14px; line-height:1.5; }
body .passport-wallet-button>span:nth-child(2) small { font-size:12px; }
body #connectedHistoryCard :is(h4,article>span,button>span) { font-size:12px; line-height:1.5; }
body #connectedHistoryCard :is(article>p,button>p) { font-size:14px; line-height:1.55; }
@media(max-width:380px) {
  #pastPathMyHub .my-hub-tabs button { min-width:86px; }
}

