/* Map-first discovery shell. Real registry content, compact app controls. */
:root{--ink:#182b25;--green:#244f3e;--paper:#fff;--line:#e7ebe8;--mint:#d5f2df;--muted:#77817c}html{background:#dce7de}body{background:transparent;font-family:'DM Sans',sans-serif}button,a,input,select{ -webkit-tap-highlight-color:transparent }button{min-height:44px}header{position:absolute;top:0;left:0;right:0;z-index:3;background:transparent;border:0;padding:calc(16px + env(safe-area-inset-top)) 26px 15px;height:auto;gap:13px;backdrop-filter:none}.brand{font-size:25px;color:#173d2d;letter-spacing:-1.2px;text-shadow:0 1px 12px #fff}.logo{background:#244f3e;color:#e2f2cf;width:35px;height:35px;border-radius:12px;text-shadow:none}.nav{margin-left:auto;gap:8px}.nav button{background:#fffdf2df;border:1px solid #fff9!important;border-radius:50%;padding:0;width:44px;height:44px;min-height:44px;font-size:0;box-shadow:0 3px 12px #1b35200b}.nav button[data-page=saved]::before{content:'♡';font-size:26px}.nav button[data-page=discover]{display:none}.nav #saveCount{font-size:9px;position:absolute;margin:0 0 0 -3px}header>.btn{display:none}.profile-trigger{width:44px;height:44px;margin:0;background:#fffdf2df;border:1px solid #fff9;font-size:22px;box-shadow:0 3px 12px #1b35200b}.map-stage{position:fixed;inset:0;z-index:0;background:#e0eadd}.map-stage iframe{border:0;width:100%;height:100%;display:block}.map-stage #liveMap{position:absolute;inset:0}.map-fade{position:absolute;inset:0 0 auto;height:165px;background:linear-gradient(#f8faf3eb,#f7faf48c,transparent);pointer-events:none}.map-context{position:absolute;top:110px;left:26px;display:flex;align-items:center;gap:7px;background:#fffdf7e6;border:1px solid #fff;border-radius:13px;padding:11px 13px;box-shadow:0 5px 25px #1b35200b;max-width:calc(100% - 52px);font-size:12px;backdrop-filter:blur(15px);flex-wrap:wrap}.live-dot{width:6px;height:6px;background:#388861;border-radius:50%;flex-shrink:0}.map-context-note{font-size:10px;color:#7b8378;flex-basis:100%;padding-left:13px}.map-controls{position:absolute;left:26px;top:190px;display:flex;align-items:center;gap:8px}.map-controls button,.map-controls a{border:1px solid #fff;background:#fffffff0;box-shadow:0 3px 15px #243f2014;border-radius:50px;color:#244f3e;padding:11px 14px;font-size:11px;text-decoration:none}.map-controls button{width:44px;height:44px;padding:0;font-size:24px}.map-status{position:absolute;left:26px;right:26px;top:245px;font-size:11px;color:#244f3e;background:#fffffff0;border-radius:10px;padding:10px;display:none}.map-status:not(:empty){display:block}main#discoverySheet{position:relative;z-index:2;background:#fff;max-width:760px;margin:32dvh auto 85px;padding:0 0 20px;border-radius:32px 32px 22px 22px;box-shadow:0 -6px 50px #1a342520;overflow:hidden;transition:margin-top .3s ease}.sheet-handle{display:flex;justify-content:center;align-items:center;width:100%;height:24px;min-height:24px;border:0;background:#285a45}.sheet-handle span{height:4px;width:40px;border-radius:6px;background:#ffffff75}.discovery-top{background:linear-gradient(120deg,#214d3c,#367b5b);color:white;padding:7px 22px 23px;border-radius:0 0 30px 30px}.sheet-intro{display:flex;justify-content:space-between;align-items:center;margin:1px 2px 14px;gap:8px}.sheet-intro .eyebrow{font-size:9px;letter-spacing:1.1px;color:#e5f2e6;font-weight:500}.city-edition{font:600 9px Manrope,sans-serif;color:#c2deca}.toolbar{display:grid;grid-template-columns:1fr auto;gap:10px;margin:17px 0 0;align-items:stretch}.search{min-width:0}.search input{height:52px;min-height:52px;background:#ffffffed;color:#244333;border:1px solid #ffffff80;border-radius:17px;padding:0 14px 0 38px;font-size:13px;box-shadow:0 5px 13px #18372c20}.search input::placeholder{color:#7a8b80}.search span{top:14px;left:14px;color:#244f3e;font-size:20px}.location{display:flex;justify-content:center;align-items:center;gap:8px;grid-column:1;background:#ffffff1a;border:1px solid #ffffff30;color:white;border-radius:13px;padding:10px 12px;font-size:12px;min-width:0;text-align:left}.location #locationLabel{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.mobile-filter{display:block;grid-column:2;grid-row:1 / span 2;color:white;border:1px solid #ffffff30;background:#ffffff15;border-radius:16px;padding:10px;font-size:11px;width:58px}.recommendation-banner{padding:0;margin:0;background:none;border:0;display:block}.preference-summary{display:block;width:100%;border:1px solid #ffffff3d;border-radius:20px;background:linear-gradient(125deg,#ffffff26,#ffffff0d);text-align:left;padding:15px 17px;color:white;box-shadow:inset 0 1px #ffffff24}.preference-title{display:flex;justify-content:space-between;gap:10px;font-size:10px;letter-spacing:.9px;color:#d2e9d9;font-weight:700}.preference-title>span{font-size:10px;letter-spacing:0;font-weight:400;color:#f3fff7}.preference-main{display:block;font:800 26px/1.2 Manrope,sans-serif;letter-spacing:-.9px;margin:9px 0 11px}.preference-tags{display:flex;gap:5px;flex-wrap:wrap}.preference-tags>span{border-radius:20px;padding:5px 9px;background:#e2f5d9;color:#28513a;font-size:10px;font-weight:600}.preference-tags>span:nth-child(2){background:#f2ddc3;color:#74492f}.preference-tags>span:nth-child(3){background:#dbeaf5;color:#345c73}.layout{display:block;padding:20px 22px}.layout aside{display:none;margin-bottom:20px;padding:20px;background:#f5f8f3;border-color:#dce5dc;max-height:55dvh;overflow:auto}.layout aside.open{display:block}.categories{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding:0 0 13px;margin:0 0 15px;gap:9px}.categories .chip{flex-shrink:0;font-size:12px;background:white;border:1px solid #e5e9e6;border-radius:24px;padding:10px 15px;box-shadow:0 3px 9px #243b2007;min-height:40px}.categories .chip.active{background:#244f3e;color:white;border-color:#244f3e}.results-head{gap:12px;margin:0 0 20px}.results-head h2{font-size:23px;letter-spacing:-1px;line-height:1.2}.results-head p{font-size:10px;line-height:1.5;margin-top:5px;color:#879087}.sort{font-size:10px;max-width:120px;border-radius:10px;padding:9px;background:#f8faf7}.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.card{border-radius:20px;box-shadow:0 5px 20px #2b3f2010;background:white}.photo{height:150px;background:#f3f5f1}.card h3{font-size:15px}.description{font-size:11px;min-height:0}.card-foot{display:block}.card-foot button{display:block;margin-top:10px;padding:9px 0;font-size:12px}.card .tag{font-size:8px}.empty{grid-column:1 / -1;border-radius:22px!important}.registry-welcome{position:relative;text-align:left!important;padding:25px!important;background:#f5f7f1;border:1px solid #e1e8dc!important}.registry-welcome .eyebrow{font-size:9px;letter-spacing:1px;color:#69805b}.registry-welcome h3{font:800 27px/1.15 Manrope,sans-serif;letter-spacing:-1.1px;margin:12px 0!important;max-width:360px}.registry-welcome p{font-size:12px;line-height:1.7;margin:0 0 19px!important;max-width:360px}.registry-welcome .btn{font-size:12px;padding:12px 17px;border-radius:24px}.identity-story{margin-top:25px}.identity-story .hero{display:grid;grid-template-columns:1fr 1fr;border-radius:20px;min-height:0;box-shadow:none;background:#f5f1e9;border:0}.identity-story .hero-copy{padding:22px}.identity-story .hero h1{font-size:24px;letter-spacing:-1px;margin:12px 0}.identity-story .hero p{font-size:10px;line-height:1.6}.identity-story .hero .eyebrow{font-size:8px;letter-spacing:.5px}.identity-story .hero-art{display:flex;padding:0;min-height:0;align-items:center}.identity-story .art-label{display:none}.belonging-panel{margin:18px 0;background:white;border-color:#e7ebe5;grid-template-columns:1fr 1fr}.belonging-image img{max-height:180px;object-fit:cover}.belonging-copy{padding:18px}.belonging-copy h2{font-size:21px}.belonging-copy p{font-size:10px;line-height:1.6}.belonging-caption{font-size:8px}.neighborhood{padding:20px;background:#f3f6ee;gap:10px;margin:18px 0}.neighborhood h3{font-size:14px}.neighborhood p{font-size:11px}.neighborhood .btn{font-size:10px;padding:10px;flex-shrink:0}.demo{font-size:8px;gap:12px;line-height:1.6}footer{background:white;font-size:10px;padding:15px 22px 24px;border-top:1px solid #edf0e9}.app-dock{position:fixed;z-index:8;bottom:12px;bottom:max(12px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(calc(100% - 32px),440px);display:flex;align-items:center;background:#fcfffcf2;backdrop-filter:blur(20px);border:1px solid #fff;border-radius:25px;box-shadow:0 8px 35px #1b362329;padding:6px}.app-dock button{flex:1;border:0;background:transparent;border-radius:19px;min-height:49px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:9px;color:#7d877f}.app-dock button>span{font-size:22px;line-height:1.1}.app-dock button.active{color:#244f3e;background:#e9f0e4;font-weight:700}.location-choices{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:15px 0}.location-choices button{background:#f5f8f1;border:1px solid #e3e9dc;border-radius:12px;padding:9px;font-size:12px;text-align:left}.location-choices button[aria-pressed=true]{border-color:#275744;background:#e7f0df}.provider-choices{display:flex;gap:7px;margin:14px 0}.provider-choices button{flex:1;border:1px solid #dce4d6;background:#f8faf5;border-radius:12px;font-size:12px;padding:10px}.provider-choices button[aria-pressed=true]{border-color:#275744;background:#e7f0df}.map-link{display:block;margin:15px 0;font-size:12px;color:#244f3e}.location-note{font-size:11px;line-height:1.6;color:#778170}.map-mode main#discoverySheet{margin-top:calc(100dvh - 220px)}.map-mode .preference-summary,.map-mode .sheet-intro,.map-mode .layout,.map-mode footer{display:none}.map-mode .discovery-top{padding-top:0}.map-mode .toolbar{margin-top:5px}.map-mode .map-controls{top:auto;bottom:235px}.map-mode .map-status{top:auto;bottom:290px}
@media(min-width:900px){header{width:calc(100% - 570px);padding:24px 35px}main#discoverySheet{width:550px;max-width:550px;margin:20px 20px 30px auto;min-height:calc(100dvh - 50px);border-radius:28px}.map-stage{right:570px}.map-context{top:110px;left:35px}.map-controls{top:auto;bottom:35px;left:35px}.map-status{top:180px;left:35px;right:35px}.app-dock{left:calc((100% - 570px)/2);bottom:35px;width:min(390px,calc(100% - 630px))}.map-mode main#discoverySheet{margin-top:20px;min-height:0}.map-mode .map-controls{bottom:110px}.identity-story .hero{grid-template-columns:1fr}.identity-story .hero-art{height:150px;overflow:hidden}.identity-story .hero-art img{height:100%;object-fit:cover}.identity-story .hero h1 br{display:none}}
@media(max-width:480px){header{padding-left:20px;padding-right:20px}.brand{font-size:22px}.map-context{left:20px;top:100px}.map-controls{left:20px;top:175px}.map-status{top:225px;left:20px;right:20px}.discovery-top{padding-left:18px;padding-right:18px}.layout{padding:19px 18px}.preference-main{font-size:24px}.results-head h2{font-size:21px}.identity-story .hero{display:flex;flex-direction:column}.identity-story .hero-copy{padding:23px}.identity-story .hero h1{font-size:28px}.identity-story .hero h1 br{display:none}.identity-story .hero-art{height:auto}.identity-story .hero-art img{width:100%;margin:0}.belonging-panel{grid-template-columns:1fr}.belonging-image img{max-height:none}.belonging-copy{padding:22px}.cards{gap:10px}.photo{height:130px}.card h3{font-size:13px}.content{padding:12px}.neighborhood{align-items:flex-start;flex-direction:column}.map-mode main#discoverySheet{margin-top:calc(100dvh - 245px)}}
@media(prefers-reduced-motion:reduce){main#discoverySheet{transition:none}}
.recommendation-banner .preference-summary{display:block;width:100%;white-space:normal;text-decoration:none;border:1px solid #ffffff3d;border-radius:20px;background:linear-gradient(125deg,#ffffff26,#ffffff0d);color:white;padding:15px 17px;text-align:left}
/* Quiet default: map, search, place. Everything else opens on intent. */
header{position:fixed;top:0;padding-top:calc(17px + env(safe-area-inset-top));z-index:4}.map-context,.map-controls,.app-dock,.sheet-intro{display:none!important}.map-status{top:100px;left:20px;right:20px;max-width:420px}.map-fade{height:130px;background:linear-gradient(#f8faf3db,transparent)}main#discoverySheet{position:fixed;inset:auto 0 0;bottom:0;width:100%;max-width:none;height:72dvh;min-height:0;max-height:calc(100dvh - 100px);margin:0;border-radius:29px 29px 0 0;overflow-y:auto;padding-bottom:calc(15px + env(safe-area-inset-bottom));transition:height .28s ease;scrollbar-width:thin}.map-mode main#discoverySheet{margin:0;height:calc(118px + env(safe-area-inset-bottom));min-height:0;overflow:hidden}.sheet-handle{height:25px;min-height:25px;background:#285a45;border-radius:29px 29px 0 0}.discovery-top{padding:0 18px 15px;border-radius:0;background:linear-gradient(120deg,#214d3c,#367b5b)}.toolbar,.map-mode .toolbar{display:flex;align-items:center;margin:0;gap:0;background:#ffffff1d;border:1px solid #ffffff36;border-radius:26px;min-height:54px;overflow:hidden}.search{flex:1;min-width:0!important}.search input{width:100%;height:54px;min-height:54px;border:0;box-shadow:none;background:none;border-radius:0;color:white;font-size:14px;padding:0 7px 0 39px}.search input::placeholder{color:#fff}.search span{color:#fff;left:13px;top:14px}.location{flex:0 1 48%;border:0;border-left:1px solid #ffffff25;background:#ffffff0e;border-radius:24px;color:#fff;padding:10px 12px;font-size:12px;min-height:46px;margin-right:3px;gap:5px;max-width:48%;min-width:0}.location #locationLabel{flex:initial}.mobile-filter{display:none}.map-mode .recommendation-banner{display:none}.recommendation-banner{margin:0 0 12px}.recommendation-banner .preference-summary{background:none;border:0;border-radius:0;padding:8px 2px;display:flex;align-items:center;justify-content:space-between;min-height:36px;gap:12px}.preference-title{font-size:10px;letter-spacing:.7px;flex:1}.preference-title>span{font-size:11px;font-weight:500}.preference-main,.preference-tags{display:none}.map-mode .discovery-top{padding:0 18px 24px}.map-mode .layout,.map-mode footer{display:none}.categories{padding-right:0;align-items:center}.quick-filter{flex:0 0 auto;border:1px solid #dce5dc;background:#f5f8f1;color:#244f3e;border-radius:22px;padding:9px 13px;font-size:12px;min-height:40px}.area-search input{width:100%;border:1px solid #dce5dc;background:#f7f9f5;border-radius:14px;padding:14px;font:inherit;font-size:16px}.area-results{margin:12px 0}.area-results>button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;background:white;border:0;border-bottom:1px solid #edf0e9;padding:14px 3px;font-size:14px;text-align:left}.area-results>button>span:last-child{color:#788478;font-size:11px}.locate-primary{width:100%;padding:15px;margin:5px 0 8px;border-radius:15px;font-size:14px}.text-action{border:0;background:none;color:#244f3e;padding:10px 0;font-size:13px;text-align:left;text-decoration:underline;text-underline-offset:3px}.location-details{margin-top:22px;border-top:1px solid #e6ebe2;padding:15px 0}.location-details summary{font-size:11px;color:#798476;cursor:pointer}.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}dialog{max-height:80dvh;overflow:auto}#profilePanel{z-index:10}footer{padding-bottom:25px}
@media(min-width:900px){header{width:100%;max-width:calc(100% - 520px);padding:22px 30px}.map-stage{right:0}main#discoverySheet,.map-mode main#discoverySheet{inset:auto 20px 20px auto;width:480px;max-width:480px;border-radius:27px;height:72dvh;min-height:0;margin:0;padding-bottom:10px}.map-mode main#discoverySheet{height:110px}.map-status{top:95px;left:30px}.sheet-handle{border-radius:27px 27px 0 0}}
@media(prefers-reduced-motion:reduce){main#discoverySheet{transition:none}}
.sheet-handle{position:sticky;top:0;z-index:3}main#discoverySheet:focus-within{scroll-behavior:smooth}.map-mode .map-status{top:100px;bottom:auto}
/* Three sheet stops: full map, balanced map/list, and expanded results. */
.sheet-middle main#discoverySheet{height:54dvh;min-height:0}.sheet-handle{touch-action:none}
@media(min-width:900px){.sheet-middle main#discoverySheet{height:54dvh}}
