/* Walk Everywhere — cream, ink, and a little red. No downloaded assets. */
:root{--cream:#f8f4ec;--ink:#12242f;--red:#c60c30;--paper:#fffdf9;--muted:#56636b;--line:#ded8ce;--soft:#eee8dd;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--radius:8px;--shadow:none}
*{box-sizing:border-box}html{scroll-padding-top:24px}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.55 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button,input,select{max-width:100%}a{color:var(--red);text-underline-offset:3px;overflow-wrap:anywhere}button{min-height:44px;padding:10px 16px;border:1px solid transparent;border-radius:12px;background:var(--red);color:white;font-weight:650;line-height:1.3;cursor:pointer;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}button:hover{background:#a90929}button:disabled{cursor:wait;opacity:.6}button.secondary,button.ghost{background:var(--cream);color:var(--ink);border-color:var(--line)}button.secondary:hover,button.ghost:hover{background:var(--soft);border-color:var(--ink)}button.ghost{background:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--red);outline-offset:3px}input[type=text],input[type=search],input[type=date],input[type=number],select{width:100%;min-width:0;min-height:48px;padding:11px 12px;border:1px solid #bdb9af;border-radius:12px;background:white;color:var(--ink);font-size:16px}input::placeholder{color:#68737a;opacity:1}input[type=checkbox]{width:18px;height:18px;flex:0 0 18px;accent-color:var(--red);margin:0}label{display:block;margin:8px 0;font-weight:550}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.15;text-wrap:balance;letter-spacing:-.035em}h1,h2{font-family:Georgia,"Times New Roman",serif;font-weight:500;letter-spacing:-.035em}h2{font-size:clamp(26px,3vw,32px)}h3{font-size:20px}p+p{margin-top:12px}.muted{color:var(--muted)}.small{font-size:13px;line-height:1.6}.hidden{display:none!important}.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}.eyebrow{font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:750;color:var(--muted);margin-bottom:10px}
.top{max-width:1160px;margin:auto;padding:24px 16px 16px;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{display:flex;gap:10px;align-items:center;color:var(--ink);font-weight:800;font-size:18px;line-height:1.2;text-decoration:none;letter-spacing:-.04em}.brand-mark{width:38px;height:38px;flex-shrink:0;display:grid;place-items:center;border-radius:12px;background:var(--red);color:white;font-size:26px}.tag{display:none;font-size:13px;color:var(--muted)}main{max-width:1160px;margin:auto;padding:8px 16px 40px;display:flex;flex-direction:column;gap:24px}main>*{min-width:0}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}.card>h2+p{margin-top:12px}.hero{padding:28px 20px;background:var(--paper);border-top:4px solid var(--red)}.hero h1{font-size:clamp(36px,6.4vw,64px);max-width:750px;line-height:1.04;letter-spacing:-.055em}.hero-value{max-width:620px;font-size:clamp(16px,2vw,19px);color:var(--muted);margin-top:20px}#addressForm{margin-top:28px}#addressForm>label{font-size:14px}.address-search{display:grid;grid-template-columns:minmax(0,1fr) 100px;gap:8px;background:var(--paper);border-radius:6px;padding:6px;border:1px solid var(--line);box-shadow:none}#addressInput{grid-column:1/-1}#buildBtn{padding-inline:10px}.row{display:flex;align-items:center;gap:8px;min-width:0;flex-wrap:wrap}.row>input{flex:1 1 160px}.row.gap{margin-top:16px}.wrap{flex-wrap:wrap}.hero-tools{gap:8px}.hero-tools button{font-size:13px;flex:1 1 auto}.privacy-hint{margin-top:16px;max-width:800px}.status{font-size:14px;overflow-wrap:anywhere}.status:not(:empty){padding:14px 0 0}.base,.countdown,.pick,.stay{background:var(--cream);border:1px solid var(--line);border-radius:12px;padding:16px;margin-top:16px;overflow-wrap:anywhere}.base{border-left:3px solid var(--red)}.countdown{font-weight:650}.pick:empty,.stay:empty{display:none}.search-progress{margin-top:20px;padding:16px;display:flex;gap:12px;align-items:center;position:relative;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--cream)}.search-progress strong{display:block;font-size:14px}.search-progress div>span{display:block;font-size:12px;color:var(--muted)}.progress-orbit{font-size:28px;color:var(--red)}.progress-track{position:absolute;bottom:0;left:0;height:3px;width:35%;background:var(--red);animation:searching 2s ease-in-out infinite}@keyframes searching{0%{transform:translateX(-100%)}100%{transform:translateX(390%)}}
.section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:20px}.section-head .eyebrow{margin-bottom:8px}.result-count{font-size:13px;font-weight:600;background:var(--cream);padding:6px 10px;border-radius:8px}.result-count:empty{display:none}/* The filter belongs only to raster tiles; pins, text, and controls stay crisp. */
.map-frame{position:relative;isolation:isolate;min-width:0;border:1px solid var(--ink);border-radius:5px;overflow:hidden;background:var(--cream);box-shadow:none}

#map{height:320px;z-index:0;background-color:var(--cream);background-image:linear-gradient(rgb(18 36 47 / 5%) 1px,transparent 1px),linear-gradient(90deg,rgb(18 36 47 / 5%) 1px,transparent 1px);background-size:32px 32px,32px 32px}
.we-raster-active .we-basemap{filter:saturate(.2) sepia(.16) contrast(.9) brightness(1.04)}
.map-state{position:absolute;z-index:401;left:12px;right:12px;bottom:32px;margin:0;padding:12px 16px;background:var(--paper);border:1px solid var(--line);border-radius:12px;font-size:13px;box-shadow:var(--shadow);pointer-events:none;overflow-wrap:anywhere}
.map-loading{position:absolute;z-index:400;inset:0;display:grid;place-items:center;overflow:hidden;background:rgb(248 244 236 / 88%);pointer-events:none}
.map-loading::before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 25%,rgb(255 253 249 / 85%) 50%,transparent 75%);animation:map-shimmer 1.8s ease-in-out infinite}
.map-loading span{position:relative;padding:10px 16px;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--muted);font-size:13px;box-shadow:var(--shadow)}
@keyframes map-shimmer{from{transform:translateX(-100%)}to{transform:translateX(100%)}}
.map-help{margin-top:16px}.leaflet-container{font-family:inherit}.leaflet-container a{color:var(--ink)}
.leaflet-container .leaflet-control-zoom,.locate-control{border:1px solid #d3ccbf;border-radius:12px;overflow:hidden;box-shadow:0 3px 12px rgb(18 36 47 / 13%)}
.leaflet-container .leaflet-bar a{width:44px;height:44px;min-width:44px;min-height:44px;line-height:44px;background:var(--cream);color:var(--ink);border-color:var(--line);font-size:22px;font-weight:500}
.leaflet-container .leaflet-bar a:hover,.locate-control:hover{background:var(--paper);color:var(--red)}
.leaflet-container .leaflet-bar a:first-child{border-radius:11px 11px 0 0}.leaflet-container .leaflet-bar a:last-child{border-radius:0 0 11px 11px}
.leaflet-container .leaflet-bar a.leaflet-disabled{background:var(--cream);color:#8a908e}
.leaflet-container .leaflet-control-attribution{max-width:100%;margin:0;padding:3px 8px;background:rgb(248 244 236 / 94%);border-top:1px solid rgb(18 36 47 / 10%);border-radius:8px 0 0 0;color:var(--muted);font-size:10px;line-height:1.4;overflow-wrap:anywhere}
.leaflet-control-attribution a{color:var(--ink);text-decoration:underline;text-underline-offset:2px}
.leaflet-container .leaflet-popup-content-wrapper,.leaflet-container .leaflet-popup-tip{background:var(--paper);color:var(--ink);box-shadow:0 4px 16px rgb(18 36 47 / 15%)}
.leaflet-popup-content-wrapper{border:1px solid var(--line);border-radius:12px}.leaflet-popup-content{line-height:1.5}
.we-pin-wrap{background:transparent;border:none}.pin{position:relative;display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:999px;background:#f8f4ec;color:#12242f;border:2px solid #12242f;font:650 12px/1 system-ui,sans-serif;box-shadow:0 2px 4px rgb(18 36 47 / 14%),0 5px 12px rgb(18 36 47 / 15%);cursor:pointer;animation:pin-enter .28s ease-out;transition:transform .2s ease,background .2s ease,color .2s ease}
@keyframes pin-enter{from{opacity:0;translate:0 5px}to{opacity:1;translate:0 0}}
.pin--on{background:#c60c30;color:#fff;border-color:#fff;transform:scale(1.18)}
.pin--on::after{content:"";position:absolute;inset:-6px;border:1px solid rgb(198 12 48 / 50%);border-radius:50%;pointer-events:none;animation:pin-pulse .4s ease-out both}
@keyframes pin-pulse{from{transform:scale(.85);opacity:.9}to{transform:scale(1);opacity:1}}
.pin--home{background:#c60c30;color:#fff;border-color:#fff;width:30px;height:30px;font-size:16px}
.locate-control{width:44px;height:44px;min-height:44px;padding:0;background:var(--cream);color:var(--ink);font-size:26px;font-weight:400}

/* Keep the entire filter group together. No scrolling chip strip at narrow widths. */
.filter-bar{position:sticky;top:0;z-index:500;margin:0 -12px;padding:12px;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 8px 12px -12px rgb(18 36 47 / 30%)}#filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.chip{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 6px;border-radius:999px;background:var(--cream);color:var(--ink);font-size:12px;cursor:pointer;border:1px solid var(--line)}.chip::before{content:"";width:7px;height:7px;flex-shrink:0;border-radius:50%;background:var(--category-color,var(--ink))}.chip:hover{background:var(--soft);border-color:var(--ink)}.chip.active{background:var(--red);color:white;border-color:var(--red)}.chip.active::before{box-shadow:0 0 0 2px white}.filter-tools{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.place-search{flex:1 1 220px;min-width:0}.filter-toggles{display:flex;flex:1 1 360px;gap:4px;flex-wrap:wrap}.check{display:flex;align-items:center;gap:8px;min-height:44px;padding:8px;margin:0;font-size:13px;font-weight:500;cursor:pointer}.filter-toggles .check{flex:1 1 72px;font-size:12px;line-height:1.25;padding-inline:4px;border-radius:10px}.check:has(input:checked){background:var(--cream)}.hours-note{margin-top:12px}.grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;margin-top:20px}.place{min-width:0;display:flex;flex-direction:column;gap:12px;padding:18px 0;border:0;border-top:1px solid var(--ink);border-radius:0;background:transparent;transition:background .16s ease,border-color .16s ease;scroll-margin-block:300px}.place-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.badge{display:inline-flex;align-items:center;gap:7px;font-size:11px;line-height:1.4;letter-spacing:.03em;text-transform:uppercase;font-weight:750;color:var(--muted);background:transparent;border:0;border-radius:0;padding:0}.badge::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--category-color,var(--ink))}.place h3{font-size:22px;line-height:1.25;overflow-wrap:anywhere}.place-number{color:var(--muted);font-size:13px;letter-spacing:0;font-weight:500}.place p+p{margin:0}.distance{font-size:13px;color:var(--muted)}.distance strong{color:var(--ink);font-weight:650}.hours-line{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:650}.open-dot{width:8px;height:8px;border-radius:50%;background:#69757b;flex-shrink:0}.hours-open .open-dot{background:#15803d}.hours-closed .open-dot{background:var(--red)}.hours-source{color:var(--muted);font-size:12px;overflow-wrap:anywhere;margin-top:3px}.place-detail{color:var(--muted);font-size:14px;overflow-wrap:anywhere}.place-actions{margin-top:auto;padding-top:12px;display:flex;gap:8px;flex-wrap:wrap;border-top:1px solid var(--line)}.place-actions a,.place-actions button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:10px 12px;border-radius:10px;font-size:12px;font-weight:650}.place-actions .directions{background:var(--ink);color:white;text-decoration:none}.place-actions .directions:hover{background:#293f4b}.place-actions .website{color:var(--ink)}.fav{width:44px;min-width:44px;padding:0;background:transparent;color:var(--ink);border:1px solid transparent;border-radius:5px;font-size:24px;line-height:1}.fav:hover{color:var(--red);background:var(--cream);border-color:var(--red)}.fav.on{color:var(--red);border-color:var(--red);background:var(--cream)}.place.selected{border-color:var(--red);background:#f3ede3;box-shadow:0 0 0 8px #f3ede3}.empty-state{text-align:center;padding:36px 12px;background:var(--cream);border:1px dashed #bdb9af;border-radius:16px;margin-top:20px}.empty-icon{display:grid;place-items:center;width:56px;height:56px;border:1px solid var(--line);background:var(--paper);color:var(--red);border-radius:50%;font-size:32px;margin:0 auto 16px}.empty-state h3{font-size:22px}.empty-state p{font-size:14px;color:var(--muted);max-width:440px;margin:12px auto 20px}.evening-section{background:var(--ink);color:var(--cream)}.evening-section .muted,.evening-section .eyebrow{color:#c5cbc9}.evening-section .pick{color:var(--ink)}.two{display:grid;grid-template-columns:minmax(0,1fr);gap:24px}.checklist-group h3{font-size:14px;letter-spacing:0;margin:20px 0 6px}.check-item{display:flex;gap:12px;align-items:center;min-height:44px;padding:10px 0;margin:0;border-bottom:1px solid var(--line);font-weight:400;font-size:14px;cursor:pointer}.check-item:has(input:checked){color:var(--ink);background:#eee8dd;text-decoration:line-through;text-decoration-color:#66716f;text-decoration-thickness:1px}#addCheckForm{margin-top:20px}#addCheckForm input{width:0}footer{padding:8px 4px;overflow-wrap:anywhere}footer p:first-child{font-weight:750;color:var(--ink)}footer .footer-note{font-size:14px}footer a{display:inline-block;min-height:44px;padding-block:10px}#privacyNote{scroll-margin-top:24px}
@media(hover:hover){.place:hover{border-color:var(--red)}.place.selected:hover{border-color:var(--red)}}
@media(min-width:560px){.top{padding-top:32px}.tag{display:block}.card{padding:28px}.hero{padding:40px}.hero-tools button{flex:0 1 auto}#filters{display:flex;flex-wrap:wrap}.chip{padding:8px 14px;font-size:13px}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-bar{margin-inline:-16px;padding:16px}.place{padding:20px}.place-actions a,.place-actions button{padding-inline:10px}.section-head{flex-wrap:nowrap}#map{height:400px}}
@media(min-width:900px){main{gap:32px;padding-bottom:56px}.top{padding-bottom:24px}.address-search{grid-template-columns:minmax(0,1fr) 120px auto;gap:8px;padding:10px}#addressInput{grid-column:auto}#buildBtn{padding-inline:24px}.hero h1{max-width:850px}#map{height:430px}.grid{grid-template-columns:repeat(3,minmax(0,1fr))}.two{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-bar{top:12px;border:1px solid var(--line);border-radius:16px}.place{scroll-margin-block:220px}}
@media(max-height:600px){.filter-bar{position:static}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.place:hover{transform:none}.progress-track{width:100%;opacity:.4}}

/* Address choices and local personal-data controls. */
.candidate-picker{margin-top:16px;padding:16px;border:1px solid var(--line);border-left:3px solid var(--red);border-radius:12px;background:var(--cream)}.candidate-picker h2{font-size:20px}.candidate-list{display:grid;gap:8px;margin:12px 0}.candidate-list button{min-height:44px;text-align:left;white-space:normal;overflow-wrap:anywhere;background:var(--paper);border-color:#bdb9af;color:var(--ink)}.candidate-list button:hover{background:var(--soft);border-color:var(--red)}.freshness:not(:empty){margin-bottom:8px}.coverage-note{margin-bottom:12px}.data-tools button{font-size:13px}#dataStatus:not(:empty){margin-block:12px}

/* V19: compact cards, native disclosure, and an unobstructed small-screen flow. */
.skip-link{position:absolute;left:16px;top:-100px;z-index:2000;padding:12px 18px;background:var(--ink);color:var(--cream);border-radius:10px}.skip-link:focus{top:12px}
summary{cursor:pointer;min-height:44px;padding:10px 0;font-weight:650;font-size:13px;color:var(--ink)}summary:focus-visible{outline:3px solid var(--red);outline-offset:3px;border-radius:4px}
.brand-mark{background:none}.brand-mark img{display:block}.site-footer{max-width:1160px;margin:auto;padding:8px 20px 40px}
.outlet-details{border-top:1px solid var(--line);margin-top:auto}.outlet-details[open]{padding-bottom:4px}.outlet-details dl{margin:4px 0 0;font-size:13px;line-height:1.6}.outlet-details dt{font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:750;color:var(--muted);margin-top:7px}.outlet-details dd{margin:2px 0 0;overflow-wrap:anywhere}.outlet-details dd a{display:inline-block;min-height:44px;padding-block:10px}.outlet-details .hours-source{font-size:12px}
.place-actions{margin-top:0}.grid{align-items:start}.place{height:auto}.place h3{font-size:21px;letter-spacing:-.025em}.place-detail{font-size:13px}.custom-check{display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--line)}.custom-check .check-item{flex:1;min-width:0;overflow-wrap:anywhere;border:0}.delete-check{flex:0 0 44px;width:44px;min-height:44px;padding:0;font-size:24px}.check-item{overflow-wrap:anywhere}.pick .secondary{margin-top:12px;display:block}.filter-toggles{flex-basis:260px}.filter-toggles .check{flex:1 1 100px}
@media(max-width:559px){.filter-bar{position:static}.place{scroll-margin-block:24px}.place-actions>*{flex:1 1 100%}.site-footer{padding-inline:20px}.card{padding:20px 16px}.hero{padding:28px 16px}#filters{grid-template-columns:repeat(3,minmax(0,1fr))}.chip{font-size:11px;padding-inline:3px}#addCheckForm input{flex-basis:100%}.filter-tools{gap:6px}}
/* V21 Pocket Field Guide: paper, fine rules, and a compact working introduction. */
.hero-intro,.hero-search{min-width:0}
.hero h1{font-size:clamp(34px,4.4vw,54px);line-height:1.06;letter-spacing:-.045em}
.hero-value{margin-top:14px;font-size:17px;max-width:36em}
.hero-tools{gap:6px;margin-top:12px}
.hero-tools button{padding:8px 10px;min-height:44px;border-radius:6px}
#locateBtn,#sampleBtn{background:var(--ink);color:var(--cream);border-color:var(--ink)}
#locateBtn:hover,#sampleBtn:hover{background:#293f4b}
#clearBtn{flex-basis:100%;width:100%;margin-top:4px;padding-left:0;border:0;border-top:1px solid var(--line);border-radius:0;color:var(--muted);text-align:left;font-weight:500}
#clearBtn:hover{color:var(--red);background:transparent}
.privacy-hint{margin-top:10px;font-size:12px;line-height:1.5}
.guide-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid var(--line);padding-bottom:8px;margin-bottom:12px}
.guide-heading .eyebrow{margin:0;color:var(--ink)}
#welcomeToggle{padding:6px 8px;font-size:12px;flex-shrink:0;border-radius:4px}
.has-guide .hero-intro{margin-bottom:20px}
.has-guide #addressForm{margin-top:12px}
.has-guide .privacy-full{display:none}
.has-guide .base{margin-top:0;background:transparent;border:0;border-left:2px solid var(--red);border-radius:0;padding:0 0 0 12px;font-size:14px}
.base b{font-size:11px;text-transform:uppercase;letter-spacing:.1em}
.correct-address{display:block;min-height:44px;padding-top:10px;font-size:13px;font-weight:650;width:fit-content}
.map-legend{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:14px;padding-bottom:10px;border-bottom:1px solid var(--line);font-size:11px}
.legend-home{color:var(--red);font-weight:750}
.legend-category{display:inline-flex;gap:5px;align-items:center}
.legend-category::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--category-color)}
.map-help{margin-top:10px;color:var(--ink);line-height:1.6}
.map-recovery{display:block;color:var(--muted);font-size:12px}
.place-heading{margin-top:-6px}
.place-top{gap:4px;min-height:44px}
.place h3{margin-top:-2px;font-size:21px;line-height:1.2;letter-spacing:-.025em}
.place-number{font-variant-numeric:tabular-nums;color:var(--red);font-weight:700}
.walk-estimate,.straight-distance{display:block}
.walk-estimate{white-space:nowrap;font-variant-numeric:tabular-nums}
.straight-distance{margin-top:2px;font-size:12px}
.place-actions{padding-top:12px}
.result-count{background:transparent;border-radius:0;padding:0}
.fav-feedback{animation:favorite-mark .2s ease-out}
@keyframes favorite-mark{from{background:#e7d8cc}to{background:var(--cream)}}
.pick-reveal{animation:pick-reveal .22s ease-out}
@keyframes pick-reveal{from{opacity:.35;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
.check-item{padding:9px 8px;transition:background .16s ease}
.custom-check:has(input:checked){background:#eee8dd}
@media(min-width:900px){
  .hero{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:32px;padding:32px}
  #addressForm{margin-top:0}
  .address-search{grid-template-columns:100px minmax(0,1fr);padding:6px}
  #addressInput{grid-column:1/-1}
  .hero-tools button{flex:1 1 auto}
  .hero.has-guide{display:block;padding:24px 28px}
  .has-guide .hero-search{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);column-gap:28px;align-items:start}
  .has-guide .hero-search>*{grid-column:2}
  .has-guide .hero-search>.base{grid-column:1;grid-row:1/7}
  .has-guide #addressForm{margin-top:0}
  .has-guide .hero-intro{max-width:660px}
}
@media(max-width:559px){
  .top{padding-top:16px;padding-bottom:10px}
  main{padding-top:0;gap:18px}
  .hero{padding:18px 16px}
  .hero .eyebrow{margin-bottom:8px;font-size:10px}
  .hero h1{font-size:34px}
  .hero-value{font-size:15px;line-height:1.5;margin-top:10px}
  #addressForm{margin-top:16px}
  #addressForm>label{margin-top:0;margin-bottom:6px;font-size:13px}
  .hero-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 6px;margin-top:8px}
  .hero-tools button{font-size:12px;padding:6px;line-height:1.25}
  #clearBtn{grid-column:2;margin-top:0;padding:6px 8px;border-top:0;border-left:1px solid var(--line)}
  #buildBtn{font-size:13px;padding-inline:6px}
  .privacy-hint{font-size:11px;line-height:1.45;margin-top:6px}
  .status:not(:empty){padding-top:8px;font-size:13px}
  .guide-heading{margin-bottom:10px;gap:4px}
  .guide-heading .eyebrow{max-width:130px;margin:0}
  .has-guide .base{font-size:13px}
  .has-guide .base .small{font-size:11px}
  .has-guide #addressForm{margin-top:8px}
  .place{padding:14px 0}
  .place h3{font-size:20px}
  .section-head{margin-bottom:16px}
}
@media(prefers-reduced-motion:reduce){.pick-reveal{animation:none}.pin--on::after{animation:none;opacity:1}}

@media print{
  @page{margin:14mm}body{background:white;font-size:10pt;color:#12242f}.top{padding:0 0 12px}main{display:block;padding:0;max-width:none}.card{border:0;border-radius:0;box-shadow:none;padding:12px 0;margin:0 0 16px;background:white}.hero h1{font-size:24pt}.hero-value{font-size:11pt}.hero-tools,#addressForm,.candidate-picker,.privacy-hint,.search-progress,.filter-bar,.empty-state button,.place-actions,.fav,.evening-section,.data-tools,#addCheckForm,.delete-check,.skip-link,.site-footer #privacyNote{display:none!important}.grid{display:block;margin-top:12px}.place{display:block;height:auto;break-inside:avoid;border:1px solid #ded8ce;padding:12px;margin-bottom:12px;box-shadow:none}.place h3{font-size:13pt}.place-top{margin-bottom:6px}.place .distance,.place .place-hours,.place .place-detail{margin-top:6px}.outlet-details{margin-top:8px}.outlet-details summary{display:none}.outlet-details::details-content{content-visibility:visible}.outlet-details dl{display:block!important}.outlet-details dt{margin-top:4px}.outlet-details dd a{min-height:0;padding:0}.site-footer{padding:0;font-size:8pt}.two{display:block}.hours-note,.coverage-note{font-size:9pt}.filter-bar{position:static}a{color:inherit}#status{display:none}.check-item{min-height:24px;padding:3px 0}input{border:0!important;min-height:0!important;padding:2px!important}.base,.countdown,.stay{padding:8px;background:white}*{animation:none!important;transition:none!important}
}

@media(min-width:560px){.place a,.place button,.place summary{scroll-margin-top:220px}}

/* Shared native address choices, with no overlay above a second picker. */
.address-autocomplete{grid-column:1/-1;min-width:0;position:relative}
.candidate-list .address-option.active{background:var(--red);color:var(--paper)}
#addressHint:empty{display:none}#addressHint{margin-top:8px}

/* GL inherits Colorful’s palette; only the active raster receives the mute. */
.leaflet-gl-layer{pointer-events:none}
@media print{.map-section{display:block!important;break-inside:avoid}.map-frame{overflow:hidden}#map{height:300px}.leaflet-control-zoom,.locate-control,.map-loading{display:none!important}.map-help{display:none}.map-legend{font-size:8pt}}
/* V27: an arrival guide. Hierarchy and progressive disclosure inspired by
   Impeccable and motion-primitives; native CSS, no framework dependency. */
:root{--paper:#fffdf8;--cream:#f5f1e8;--line:#d9d6ca;--soft:#ece8dd;--radius:8px}
body{background:var(--cream)}
.top{max-width:1200px;border-bottom:1px solid var(--line);padding:24px 28px 18px;margin:auto}
.brand{font-size:19px;letter-spacing:-.6px}.brand-mark{width:32px;height:32px}.brand-mark img{width:32px;height:32px}
.tag{font-size:12px;letter-spacing:.06em}
main{max-width:1200px;padding:28px;gap:24px}
.card{border:0;border-radius:0;box-shadow:none;background:transparent;padding:24px 0}
.hero{border-bottom:1px solid var(--line);padding:40px 0 48px}
.hero h1{font-size:clamp(42px,6vw,76px);line-height:1.02;letter-spacing:-.055em;font-weight:400}
.hero .eyebrow{color:var(--red);font-size:11px;letter-spacing:.15em;margin-bottom:18px}
.hero-value{font-size:17px;line-height:1.7;max-width:28em;color:var(--muted)}
.hero-search{align-self:center}.search-editor{min-width:0}
.address-search{background:var(--paper);border:1px solid #a7aaa0;padding:6px;border-radius:8px}
input,select{border-radius:5px}button,.secondary{border-radius:6px}
#addressInput{background:transparent;border:0;min-height:52px;font-size:15px}
#buildBtn{background:var(--red);border-color:var(--red);min-height:46px}
#locateBtn,#sampleBtn{background:transparent;color:var(--ink);border-color:var(--line);font-weight:550}
#locateBtn:hover,#sampleBtn:hover{background:var(--soft)}
.hero-tools button{font-size:12px;padding-inline:9px}
.privacy-hint{font-size:11px}.hero.has-guide{padding:0 0 14px;display:block}
.has-guide .guide-heading{border:0;margin:0;padding:0;min-height:36px}
.has-guide .guide-heading .eyebrow{font-size:10px;margin:0}
.has-guide #welcomeToggle{font-size:11px;font-weight:500;color:var(--muted)}
.has-guide .hero-search{display:block}.has-guide .base{border:0;padding:0;font-size:15px;line-height:1.5;position:relative;padding-right:120px}
.has-guide .base b{display:none}.has-guide .base br:first-of-type{display:none}
.has-guide .base .small{display:none}.correct-address{position:absolute;right:0;top:0;padding:2px 0;min-height:44px;font-size:12px}
.has-guide:not(.editing) #searchEditor{display:none}
.has-guide .status{font-size:11px;max-width:80em;color:var(--muted);padding:2px 0 0;margin:0}
.has-guide .hero-intro{margin:24px 0}
.guide-nav{display:flex;gap:4px;border-bottom:1px solid var(--line);padding-bottom:12px}
.guide-nav a{display:flex;align-items:center;justify-content:space-between;gap:24px;min-width:120px;min-height:46px;padding:8px 16px;text-decoration:none;color:var(--muted);font-size:14px;border-radius:6px;transition:background .18s ease,color .18s ease}
.guide-nav a[aria-current]{background:var(--ink);color:var(--paper)}.guide-nav a:hover{background:var(--soft);color:var(--ink)}.guide-nav a[aria-current]:hover{background:var(--ink);color:var(--paper)}
.guide-layout{display:grid;gap:24px;align-items:start;min-width:0}
.explore-section{min-width:0;padding:4px 0 0}.section-head{margin-bottom:20px;align-items:baseline}.section-head h2{font-size:36px;font-weight:400;letter-spacing:-.04em}.section-head .eyebrow{font-size:10px;letter-spacing:.12em}.result-count{font-size:11px;color:var(--muted);white-space:nowrap}
.arrival-needs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0 0 16px}
.arrival-needs button{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-height:104px;padding:14px 12px;background:var(--paper);color:var(--ink);border:1px solid var(--line);font-size:13px;font-weight:650;text-align:left;transition:background .18s ease,border-color .18s ease,translate .18s ease}
.arrival-needs button>span:first-child{font-size:21px;line-height:1;color:var(--red)}
.arrival-needs button:hover{border-color:var(--ink);translate:0 -2px}.arrival-needs button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.arrival-needs .need-hint{font-size:10px;font-weight:450;color:var(--muted);margin-top:-5px}.arrival-needs button[aria-pressed=true] .need-hint{color:#d1d6d2}
.guide-filters{border-block:1px solid var(--line)}.guide-filters>summary{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:12px;padding:12px 0;list-style:none}.guide-filters>summary::before{content:'+';color:var(--red);font-size:18px;font-weight:400}.guide-filters[open]>summary::before{content:'−'}.guide-filters>summary span{margin-left:auto;font-size:11px;font-weight:450;color:var(--muted)}
.guide-filters[open]{padding-bottom:12px}.filter-bar{position:static;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}#filters{display:flex;flex-wrap:wrap;gap:5px}.chip{font-size:11px;padding:7px 10px;min-height:40px}.filter-tools{margin-top:10px}.hours-note{font-size:11px;line-height:1.55;margin:12px 0}.coverage-note,.freshness{font-size:11px}
.grid{grid-template-columns:minmax(0,1fr);gap:0;margin-top:12px}
.place{padding:18px 0;border-top:1px solid var(--line);gap:9px;scroll-margin-block:24px;box-shadow:none}.place-heading{margin:0}.place-top{min-height:28px}.place h3{font-size:23px;line-height:1.25;font-weight:650;letter-spacing:-.04em;max-width:95%}.place-number{font-size:12px}.badge{font-size:10px;letter-spacing:.06em}.fav{width:36px;min-width:36px;min-height:44px;height:44px;font-size:23px;margin-block:-8px}
.distance{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 14px}.walk-estimate{font-size:14px}.straight-distance{font-size:11px;margin:0}.hours-line{font-size:12px;font-weight:500}.open-dot{width:6px;height:6px}.place-detail{font-size:12px}.outlet-details{margin:0;border:0}.outlet-details summary{min-height:36px;font-size:11px;padding:6px 0;color:var(--muted)}
.place-actions{border:0;gap:6px;padding:2px 0 0;display:grid;grid-template-columns:1fr 1fr}.place-actions a,.place-actions button{font-size:11px;padding:8px 6px;min-height:44px;border-radius:5px}.place-actions .directions{grid-column:1/-1;background:var(--ink)}.place-actions .show-map{background:transparent;border-color:var(--line)}.place-actions .check-route{background:transparent;border-color:var(--line);color:var(--ink)}.place.selected{background:var(--paper);box-shadow:0 0 0 8px var(--paper);border-color:var(--red)}
.route-status{font-size:11px;color:var(--muted);line-height:1.55}.route-status:empty{display:none}.route-legend{color:var(--red)}
.map-section{padding:0;min-width:0}.map-section .section-head{margin-bottom:8px}.map-section h2{font-size:24px}.map-section #mapCaption{display:none}.map-frame{border-color:#b6b8aa;border-radius:6px}#map{height:370px}.guide-area{min-height:36px;padding:0 0 8px;font-size:11px;font-weight:500}.map-legend{font-size:10px;gap:5px 12px;border:0;padding-bottom:0;margin-top:10px}.map-help{font-size:11px;line-height:1.55}.map-recovery{font-size:10px}
.discovery-tool,.settle-tools,.legacy-tools{border-block:1px solid var(--line)}.discovery-tool>summary,.settle-tools>summary,.legacy-tools>summary{font-size:13px;font-weight:500;min-height:52px}.settle-tools>summary span{color:var(--muted);font-size:11px;margin-left:12px}.evening-section{background:transparent;color:var(--ink);padding:12px 0 24px}.evening-section .muted,.evening-section .eyebrow{color:var(--muted)}.evening-section h2{font-size:24px}.evening-section p{font-size:12px}.two{display:block}.settle-tools .card{padding-top:4px}.check-action-row{display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--line)}.check-action-row .check-item{flex:1;border:0}.check-action-row button{font-size:11px;white-space:nowrap;padding-inline:6px}
.site-footer{max-width:1200px;padding:12px 28px 36px;border-top:1px solid var(--line);font-size:11px}.site-footer .footer-note{font-size:12px}.legacy-tools .card{max-width:400px}.site-footer #clearBtn{border:1px solid var(--line);min-height:44px;width:auto;flex-basis:auto;padding:8px 10px;font-size:12px}.data-tools button{font-size:12px}
#main:not(.is-ready) .guide-layout,#main:not(.is-ready) .settle-tools{display:none}
@media(min-width:900px){.hero{grid-template-columns:1fr 1fr;gap:64px}.guide-layout{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:24px 36px}.explore-section{grid-column:1;grid-row:1}.map-section{grid-column:2;grid-row:1;position:sticky;top:20px}.discovery-tool{grid-column:1}.grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px}.place h3{font-size:21px}.has-guide .base{max-width:100%}.guide-heading{max-width:100%}}
@media(max-width:559px){.top{padding:16px 18px 12px}.brand{font-size:17px}.tag{display:none}main{padding:16px 18px 24px;gap:16px}.hero{padding:16px 0 24px}.hero h1{font-size:48px}.hero-value{font-size:15px;line-height:1.6;margin-top:14px}.hero .eyebrow{font-size:10px;margin-bottom:14px}.hero-search{margin-top:20px}.hero-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.hero-tools button{padding:6px;font-size:11px}.has-guide .hero-search{margin-top:0}.hero.has-guide{padding-bottom:10px}.has-guide .base{font-size:12px;padding-right:80px;min-height:34px;line-height:1.45}.correct-address{font-size:10px;max-width:72px;line-height:1.4}.has-guide .guide-heading{min-height:30px}.has-guide .status{font-size:10px;line-height:1.4}.guide-nav{gap:4px;padding-bottom:0;border:0}.guide-nav a{flex:1;min-width:0;gap:8px;font-size:12px;min-height:44px;padding:8px 12px}.guide-layout{gap:24px}.section-head{gap:8px;margin-bottom:14px;flex-wrap:nowrap}.section-head h2{font-size:30px}.section-head .eyebrow{font-size:9px}.result-count{font-size:9px;white-space:normal;text-align:right;max-width:80px}.arrival-needs{gap:5px;margin-bottom:12px}.arrival-needs button{font-size:10px;min-height:78px;padding:10px 7px;gap:10px}.arrival-needs .need-hint{display:none}.arrival-needs button>span:first-child{font-size:21px}.guide-filters>summary{font-size:11px;gap:6px}.guide-filters>summary span{font-size:10px}.hours-note{font-size:10px;margin:9px 0}.place{padding:14px 0}.place h3{font-size:23px}.place-actions>*{min-width:0}.place-actions .directions{min-height:44px}.map-section{padding:0}.map-section h2{font-size:26px}#map{height:340px}.site-footer{padding:12px 18px 28px}.settle-tools>summary span{display:block;margin:0}.settle-tools .card{padding-inline:0}}
@media print{#searchEditor,.guide-nav,.arrival-needs,.guide-filters,.guide-area,.route-status,.discovery-tool,.legacy-tools{display:none!important}.guide-layout{display:block}.map-section{position:static;display:block!important;margin-top:20px}#main:not(.is-ready) .guide-layout{display:block}.grid{display:block}.settle-tools::details-content{content-visibility:visible}.hero.has-guide{padding:0}.correct-address{display:none}.has-guide .base{padding-right:0}.place-actions{display:none}.site-footer{font-size:8pt}.map-frame #map{height:300px}}
.hours-transition{font-size:11px;color:var(--muted);margin-top:3px}.arrival-needs svg{display:block}
@media(max-width:559px){.has-guide .guide-heading{display:none}.has-guide .base{padding-top:2px}.has-guide .hero-search{margin-top:0}.has-guide .status{margin-top:4px}.arrival-needs button{min-height:66px;gap:8px}.place{gap:7px}.place .place-detail{display:none}.hours-note{line-height:1.5}.has-guide .hero-intro{margin-top:0}}
/* A checked walk is the primary destination action. */
.place-actions .check-route{grid-column:1/-1;grid-row:1;background:var(--ink);border-color:var(--ink);color:var(--paper)}
.place-actions .check-route:hover{background:#293f4b;border-color:#293f4b;color:var(--paper)}
@media(max-width:559px){.explore-section .grid{margin-top:4px}.explore-section .hours-note{margin-bottom:0}}
.place-actions .directions{grid-column:1;grid-row:2;background:transparent;color:var(--ink);border:1px solid var(--line)}
.place-actions .show-map{grid-column:2;grid-row:2}
.place-actions .check-route:disabled{opacity:.65;cursor:progress}

/* V28: guide memberships and an inspectable neighborhood sample score. */
.place-categories{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;min-width:0;flex:1}
.place-top{gap:8px;align-items:flex-start}.place-top .fav{flex-shrink:0}
.neighborhood-score{border-top:1px solid var(--line);padding-top:28px;min-width:0}
.neighborhood-score .section-head{align-items:center;margin-bottom:8px}
.score-total{font-family:Georgia,"Times New Roman",serif;font-size:36px;line-height:1.1;letter-spacing:-.04em;white-space:nowrap;color:var(--red)}
.score-status{font-size:14px;line-height:1.65;max-width:65em}
.score-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:24px 0 18px}
.score-group{border-top:1px solid var(--line);padding-top:12px}.score-group h3{display:flex;justify-content:space-between;gap:12px;font-size:16px;font-weight:550}.score-group h3 span{white-space:nowrap;color:var(--red)}
.score-group p{font-size:12px;color:var(--muted);margin-top:8px;line-height:1.6}
.score-method{margin-top:18px;border-block:1px solid var(--line)}.score-method>summary{min-height:48px;font-size:13px}.score-method>p{font-size:13px;line-height:1.7;margin:12px 0 20px;max-width:70em}
.score-evidence table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:13px;text-align:left}.score-evidence th,.score-evidence td{padding:14px 12px 14px 0;border-bottom:1px solid var(--line);vertical-align:top;overflow-wrap:anywhere}
.score-evidence th:first-child{width:26%}.score-evidence th:last-child{width:15%}.score-evidence thead{font-size:11px;color:var(--muted)}.score-evidence tbody th{font-weight:550}.score-evidence td:last-child{font-variant-numeric:tabular-nums}
.score-coverage,.score-distance{display:block;font-size:11px;font-weight:400;line-height:1.6;color:var(--muted);margin-top:4px}
.score-place{display:block;padding:0;min-height:44px;border:0;border-radius:0;background:transparent;color:var(--ink);font-size:13px;font-weight:500;text-align:left;text-decoration:underline;text-underline-offset:3px}
.score-place:hover{background:transparent;color:var(--red)}
@media(max-width:559px){.guide-nav a{gap:5px;padding-inline:8px;font-size:11px;white-space:nowrap}.guide-nav [data-guide-view=score] span{flex-shrink:0}.guide-nav [data-guide-view=score]{flex:1.2}.score-total{font-size:25px;white-space:normal;text-align:right;max-width:120px}.neighborhood-score .section-head h2{font-size:30px}.score-groups{gap:14px}.score-group h3{display:block;font-size:16px}.score-group h3 span{display:block;margin-top:8px}.score-evidence table{font-size:11px}.score-evidence th,.score-evidence td{padding:12px 7px 12px 0}.score-evidence th:first-child{width:28%}.score-evidence th:last-child{width:17%}.score-place{font-size:12px}.score-coverage,.score-distance{font-size:10px}}
@media print{.neighborhood-score{break-before:auto}.score-method::details-content{content-visibility:visible}.score-method>summary{display:none}.score-evidence tr{break-inside:avoid}.score-place{min-height:0;font-size:10pt}.score-total{font-size:24pt}}

/* Independent collection stays collapsed until opened, including on phones. */
.saved-library{margin-block:1.5rem}.saved-library>summary{font-family:Georgia,serif;font-size:1.5rem;font-weight:bold;cursor:pointer;min-height:44px;padding-block:.5rem}
.saved-library>summary span{font:600 .85rem system-ui,sans-serif;margin-left:.5rem}.saved-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:1.5rem}
.saved-place{min-width:0;border-top:1px solid var(--line);padding-top:1rem;overflow-wrap:anywhere}.saved-place h3{margin:.25rem 0}.saved-place .place-actions{flex-wrap:wrap}.saved-note-label{display:block;font-weight:600;margin-block:.75rem .35rem}
.saved-note{display:block;width:100%;max-width:100%;min-height:72px;resize:vertical;border:1px solid var(--line);border-radius:4px;background:var(--paper);color:var(--ink);padding:.6rem;font:inherit}
.saved-note:focus-visible{outline:2px solid var(--red);outline-offset:2px}.saved-coordinates{font-variant-numeric:tabular-nums}
@media print{.saved-library{display:none}}

/* Named locations are local personal data, excluded from the printed guide. */
.bases-list{display:grid;gap:16px;margin-top:16px}.named-base{border-top:1px solid var(--line);padding-top:16px;min-width:0}.named-base h3,.named-base p{overflow-wrap:anywhere}.named-base .rename-base{margin-top:8px}.named-base input,#baseName{min-width:0;flex:1}.named-bases summary{cursor:pointer;font-weight:700}.named-bases>p{margin-block:12px}.named-bases .row{flex-wrap:wrap}
@media print{.named-bases{display:none!important}}

.category-browse{margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}.category-browse p{margin-bottom:12px}.category-browse .row{flex-wrap:wrap}
@media print{.category-browse{display:none!important}}

.route-filters{display:flex;flex-wrap:wrap;gap:12px;margin-block:12px}.route-filters label{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}.route-filters select{width:100%}
@media print{.route-filters,#routeFilterNote{display:none!important}}
