/* Shared autumn palette, with independent destination colors in mixed lists. */
:root{
 --all-paper:#f7f0e4;--all-surface:#fffaf2;--all-ink:#3c3226;--all-muted:#72624f;--all-line:#dfd0b8;--all-accent:#795135;--all-soft:#ede1c9;--all-detail:#a34b28;
 --boston-paper:#f8efe1;--boston-surface:#fff8ed;--boston-ink:#402d23;--boston-muted:#77604d;--boston-line:#e4cdb6;--boston-accent:#93472e;--boston-soft:#f0ddc6;--boston-detail:#98442c;
 --maine-paper:#f1f2e4;--maine-surface:#f9faee;--maine-ink:#293e31;--maine-muted:#5c6c54;--maine-line:#ced9bd;--maine-accent:#365b42;--maine-soft:#e1e7cb;--maine-detail:#876024;
 --vermont-paper:#f8eeea;--vermont-surface:#fff6f1;--vermont-ink:#43292a;--vermont-muted:#795958;--vermont-line:#e3c7c0;--vermont-accent:#983d43;--vermont-soft:#f0d8d1;--vermont-detail:#9c3e40;
 --nh-paper:#eef2f1;--nh-surface:#f7faf8;--nh-ink:#263d47;--nh-muted:#536872;--nh-line:#c9d7d7;--nh-accent:#365f70;--nh-soft:#dde8e7;--nh-detail:#815633;
}
:root[data-theme=dark]{
 --all-paper:#27231d;--all-surface:#322d24;--all-ink:#f4ecdc;--all-muted:#c5b699;--all-line:#554a37;--all-accent:#e5c493;--all-soft:#403729;--all-detail:#e2a97a;
 --boston-paper:#2a201b;--boston-surface:#35271f;--boston-ink:#f6ead6;--boston-muted:#c5af96;--boston-line:#604436;--boston-accent:#eab181;--boston-soft:#443025;--boston-detail:#efae76;
 --maine-paper:#1c2a24;--maine-surface:#25382c;--maine-ink:#edf0dd;--maine-muted:#bac6a5;--maine-line:#465944;--maine-accent:#c5d398;--maine-soft:#354631;--maine-detail:#dabb76;
 --vermont-paper:#2c1c20;--vermont-surface:#3a2529;--vermont-ink:#f9e5de;--vermont-muted:#d0aca6;--vermont-line:#694046;--vermont-accent:#f2b2a3;--vermont-soft:#512e32;--vermont-detail:#f5b68b;
 --nh-paper:#1c292e;--nh-surface:#25353c;--nh-ink:#e8f0ee;--nh-muted:#adc4ca;--nh-line:#435e67;--nh-accent:#acd1dc;--nh-soft:#334b54;--nh-detail:#e2bd8e;
}
@media(prefers-color-scheme:dark){
 :root:not([data-theme=light]){
  --all-paper:#27231d;--all-surface:#322d24;--all-ink:#f4ecdc;--all-muted:#c5b699;--all-line:#554a37;--all-accent:#e5c493;--all-soft:#403729;--all-detail:#e2a97a;
  --boston-paper:#2a201b;--boston-surface:#35271f;--boston-ink:#f6ead6;--boston-muted:#c5af96;--boston-line:#604436;--boston-accent:#eab181;--boston-soft:#443025;--boston-detail:#efae76;
  --maine-paper:#1c2a24;--maine-surface:#25382c;--maine-ink:#edf0dd;--maine-muted:#bac6a5;--maine-line:#465944;--maine-accent:#c5d398;--maine-soft:#354631;--maine-detail:#dabb76;
  --vermont-paper:#2c1c20;--vermont-surface:#3a2529;--vermont-ink:#f9e5de;--vermont-muted:#d0aca6;--vermont-line:#694046;--vermont-accent:#f2b2a3;--vermont-soft:#512e32;--vermont-detail:#f5b68b;
 --nh-paper:#1c292e;--nh-surface:#25353c;--nh-ink:#e8f0ee;--nh-muted:#adc4ca;--nh-line:#435e67;--nh-accent:#acd1dc;--nh-soft:#334b54;--nh-detail:#e2bd8e;
 }
}
body,[data-destination-theme=all]{
 --paper:var(--all-paper);--surface:var(--all-surface);--ink:var(--all-ink);--muted:var(--all-muted);--line:var(--all-line);--forest:var(--all-accent);--forest-soft:var(--all-soft);--rust:var(--all-detail);--destination-solid:#795135;
}
[data-destination-theme=Boston]{
 --paper:var(--boston-paper);--surface:var(--boston-surface);--ink:var(--boston-ink);--muted:var(--boston-muted);--line:var(--boston-line);--forest:var(--boston-accent);--forest-soft:var(--boston-soft);--rust:var(--boston-detail);--destination-solid:#93472e;
}
[data-destination-theme=Maine]{
 --paper:var(--maine-paper);--surface:var(--maine-surface);--ink:var(--maine-ink);--muted:var(--maine-muted);--line:var(--maine-line);--forest:var(--maine-accent);--forest-soft:var(--maine-soft);--rust:var(--maine-detail);--destination-solid:#365b42;
}
[data-destination-theme=Vermont]{
 --paper:var(--vermont-paper);--surface:var(--vermont-surface);--ink:var(--vermont-ink);--muted:var(--vermont-muted);--line:var(--vermont-line);--forest:var(--vermont-accent);--forest-soft:var(--vermont-soft);--rust:var(--vermont-detail);--destination-solid:#983d43;
}
[data-destination-theme="New Hampshire"]{
 --paper:var(--nh-paper);--surface:var(--nh-surface);--ink:var(--nh-ink);--muted:var(--nh-muted);--line:var(--nh-line);--forest:var(--nh-accent);--forest-soft:var(--nh-soft);--rust:var(--nh-detail);--destination-solid:#365f70;
}
html{scrollbar-gutter:stable}
body{background-image:url("../assets/autumn-grove.svg");background-position:right 90px;background-size:660px auto;background-repeat:no-repeat}
.masthead{border-top:3px solid var(--rust)}
.brand-emblem{color:var(--rust)}
.brand-emblem .icon{width:30px;height:30px}
.brand-word{color:var(--ink)}
.brand-year{color:var(--rust)}
.trip-overview .overview-meta{color:var(--ink)}
.trip-summary{box-shadow:0 3px 14px #6e462608}
.destination-tabs button{color:var(--ink);border-color:var(--line)}
.destination-tabs button:not([data-destination-theme=all])::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--forest);flex-shrink:0}
.destination-tabs button[aria-pressed=true]::before{background:currentColor}
.destination-tabs button:hover{border-color:var(--forest)}
.place-card,.suggestion-card,.comparison-grid article{color:var(--ink);background:var(--surface);border-color:var(--line);border-top:4px solid var(--destination-solid)}
.card-kicker{align-items:flex-start;gap:12px;line-height:1.6}
.card-kicker>.card-location{color:var(--forest);font-weight:650;letter-spacing:.25px;min-width:0}
.card-kicker>span:last-child{flex-shrink:0;max-width:43%;text-align:right}
.card-badge{background:var(--surface);color:var(--ink)}
.card-save{background:var(--surface);color:var(--forest)}
.card-save[aria-pressed=true]{background:var(--forest);color:var(--paper)}
.photo-fallback[data-kind],.photo-fallback{background:var(--forest-soft);color:var(--forest)}
.photo-link,.photo-zoom,.detail-close,.detail-region{background:var(--surface);color:var(--ink)}
.detail-visual{border-bottom:3px solid var(--destination-solid)}
.detail-region{font-weight:650;letter-spacing:.4px;font-size:10px}
.place-sheet{border-color:var(--line)}
.sheet::backdrop{background:#211a14b8}
.suggestion-meta>span:first-child,.destination-label{color:var(--forest);font-weight:650}
.comparison-grid article{padding-top:15px}
.place-pin{background:var(--destination-solid)}
.map-cluster{background:transparent;border-color:#f7ead4cc}
.map-cluster>span{background:var(--destination-solid);border-radius:50%}
.map-key{background:var(--surface);color:var(--ink);flex-wrap:wrap;gap:7px 15px;font-size:10px}
.destination-key{display:flex;flex-wrap:wrap;gap:11px;align-items:center}
.destination-key>span{display:inline-flex;gap:5px;align-items:center}
.destination-key>span::before{content:"";width:8px;height:8px;background:var(--forest);border-radius:50%}
.map-popup{color:var(--ink)}
.map-popup p{color:var(--muted)}
.map-popup .destination-label{color:var(--forest)}
.map-popup button{background:var(--forest);color:var(--paper)}
.map-popup button{min-height:44px;font-size:12px}.map-popup p{font-size:12px;line-height:1.5}.map-popup h3{font:600 18px/1.3 var(--text);letter-spacing:0}
.map-preview-pin{stroke:var(--forest);fill:var(--forest);fill-opacity:.2}
.map-hover-popup.is-clamped .leaflet-popup-tip-container{display:none}
.map-hover-popup{pointer-events:none}.map-hover-popup button{pointer-events:auto}
.place-card.is-map-preview{border-color:var(--forest);box-shadow:inset 0 0 0 1px var(--forest)}
.map-empty{position:absolute;z-index:500;top:50%;left:50%;transform:translate(-50%,-50%);width:min(280px,calc(100% - 32px));padding:18px;background:var(--surface);border:1px solid var(--line);border-radius:8px;text-align:center;box-shadow:0 3px 16px #0002}
.map-empty strong{font-size:16px}.map-empty p{font-size:13px;line-height:1.5;margin:8px 0 14px;color:var(--muted)}.map-empty .button{min-height:44px;font-size:13px}
.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:var(--surface)!important;color:var(--ink)}
@media(max-width:620px){
 html{scrollbar-gutter:auto}
 .bottom-nav{grid-template-columns:repeat(6,minmax(0,1fr))}
 body{background-position:right 65px;background-size:440px auto}
 .brand-emblem{display:grid;width:23px;height:27px}
 .brand-emblem .icon{width:24px;height:27px}
 .brand{gap:6px}
 .masthead{gap:6px}
 .detail-region{max-width:52%;font-size:9px}
 body[data-view=map] .map-key{font-size:10px}
 .destination-key{gap:9px}
}
@media print{body{background-image:none}}
