:root{color-scheme:light dark;--bg:#f7f6f2;--surface:#fff;--surface2:#eeece6;--text:#171815;--muted:#696a64;--line:rgba(35,35,30,.1);--blue:#087b68;--blue2:#d8f3e9;--accent:#ff6b4a;--shadow:0 18px 60px rgba(29,32,25,.16);--spring:cubic-bezier(.2,.9,.25,1.15);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text",system-ui,sans-serif}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);overflow-x:hidden}body{min-width:320px}button,input{font:inherit;color:inherit}button{border:0}.app{min-height:100dvh;padding-bottom:calc(82px + env(safe-area-inset-bottom));overflow-x:clip}.topbar{position:sticky;top:0;z-index:8;padding:calc(10px + env(safe-area-inset-top)) 18px 8px;background:color-mix(in srgb,var(--bg) 76%,transparent);backdrop-filter:blur(24px) saturate(150%);-webkit-backdrop-filter:blur(24px) saturate(150%);border-bottom:1px solid transparent}.topbar.scrolled{border-color:var(--line)}.eyebrow{font-size:13px;font-weight:700;color:var(--blue);letter-spacing:.02em}.toprow{display:flex;align-items:center;gap:10px}.title{font-size:34px;line-height:1.05;letter-spacing:-1.2px;margin:4px 0;font-weight:800;flex:1}.back{background:none;color:var(--blue);font-size:17px;padding:9px 4px;white-space:nowrap}.iconbtn{width:40px;height:40px;border-radius:50%;background:var(--surface2);display:grid;place-items:center;font-size:18px}.content{padding:18px;max-width:680px;margin:auto}.searchbox{display:flex;gap:10px;background:var(--surface);border:1px solid var(--line);padding:12px 14px;border-radius:16px;box-shadow:0 2px 12px rgba(0,0,0,.04)}.searchbox input{border:0;outline:0;background:none;width:100%;font-size:17px}.section{margin-top:28px}.section h2,.question h3{font-size:20px;letter-spacing:-.35px;margin:0 0 12px}.quickgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.quick{min-height:92px;text-align:left;padding:14px;border-radius:16px;background:var(--surface);border:1px solid var(--line);font-weight:750}.quick .emo{display:block;font-size:27px;margin-bottom:8px}.primary,.secondary{width:100%;min-height:50px;border-radius:15px;font-weight:750;margin-top:10px}.primary{background:var(--blue);color:white}.secondary{background:var(--surface);border:1px solid var(--line)}.badge{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:99px;background:var(--accent);color:white;font-size:12px;margin-left:6px}.tabs{position:fixed;z-index:9;bottom:0;left:0;right:0;height:calc(64px + env(safe-area-inset-bottom));padding:7px 10px env(safe-area-inset-bottom);display:grid;grid-template-columns:repeat(3,1fr);background:color-mix(in srgb,var(--surface) 78%,transparent);backdrop-filter:blur(24px) saturate(160%);-webkit-backdrop-filter:blur(24px) saturate(160%);border-top:1px solid var(--line)}.tab{background:none;color:var(--muted);font-size:11px;font-weight:650}.tab span{display:block;font-size:22px;line-height:25px}.tab.active{color:var(--blue)}.question{margin:0 0 24px}.options{display:grid;gap:7px}.options.five{grid-template-columns:repeat(5,minmax(0,1fr))}.options.three{grid-template-columns:repeat(3,minmax(0,1fr))}.options.four{grid-template-columns:repeat(4,minmax(0,1fr))}.choice{min-width:0;padding:10px 4px;border-radius:12px;background:var(--surface2);font-size:11px;font-weight:700;line-height:1.15}.choice.selected{background:var(--blue);color:white}.choice .big{display:block;font-size:18px;margin-bottom:3px}.location-panel{margin-top:10px;padding:14px;background:var(--surface);border:1px solid var(--line);border-radius:16px}.ziprow{display:flex;gap:8px}.ziprow input{min-width:0;flex:1;background:var(--surface2);border:0;border-radius:12px;padding:12px;font-size:16px}.locate{padding:8px 10px;border-radius:12px;background:var(--blue2);color:#075c4f;font-size:12px;font-weight:750}.statusline{font-size:13px;color:var(--muted);margin:10px 0 0}.actionbar{position:sticky;bottom:72px;z-index:6;display:grid;grid-template-columns:.7fr 1.7fr;gap:10px;padding:10px;background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:blur(20px);border:1px solid var(--line);border-radius:18px;margin-top:22px}.actionbar button{margin:0}.chips{display:flex;flex-wrap:wrap;gap:7px;margin:4px 0 13px}.chip{display:inline-flex;align-items:center;gap:6px;background:var(--surface2);padding:8px 11px;border-radius:999px;font-size:13px;font-weight:650}.chip.apply{background:var(--blue2);color:#075c4f}.chip .x{padding-left:4px;color:var(--muted)}.toolbar{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;margin:10px 0}.segment{background:var(--surface2);padding:3px;border-radius:11px;display:grid;grid-template-columns:repeat(3,1fr)}.segment button{background:transparent;border-radius:9px;padding:7px;font-size:12px}.segment .selected{background:var(--surface);box-shadow:0 1px 4px rgba(0,0,0,.12);font-weight:700}.result-list{display:grid;gap:8px}.row{display:grid;grid-template-columns:56px minmax(0,1fr) 34px;gap:11px;align-items:center;padding:8px;background:var(--surface);border:1px solid var(--line);border-radius:15px;text-align:left;width:100%}.thumb{width:56px;height:56px;border-radius:13px;display:grid;place-items:center;font-size:27px;background:var(--art)}.row h3{font-size:15px;margin:0 0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.meta{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.heart{background:none;font-size:20px;color:var(--muted)}.heart.saved{color:#ef466f}.cards{grid-template-columns:repeat(1,minmax(0,1fr));gap:14px}.card{background:var(--surface);border:1px solid var(--line);border-radius:22px;overflow:hidden;text-align:left;box-shadow:0 5px 20px rgba(0,0,0,.04)}.art{height:145px;display:grid;place-items:center;font-size:62px;background:linear-gradient(145deg,var(--art),color-mix(in srgb,var(--art),#fff 60%));position:relative}.art .pill{position:absolute;left:12px;bottom:10px}.cardbody{padding:14px}.card h3{margin:0 0 5px}.pill{display:inline-block;border-radius:999px;background:rgba(255,255,255,.8);color:#222;padding:5px 9px;font-size:11px;font-weight:750}.empty{text-align:center;padding:60px 24px;color:var(--muted)}.empty .bigemoji{font-size:54px}.mapwrap{height:440px;background:var(--surface);border:1px solid var(--line);border-radius:22px;overflow:hidden}.mapwrap svg{width:100%;height:100%}.maplabel{font-size:10px;fill:var(--muted);font-weight:700}.mapdot{stroke:var(--surface);stroke-width:1.5;cursor:pointer}.sheetback{position:fixed;z-index:20;inset:0;background:rgba(0,0,0,.34);display:flex;align-items:flex-end;justify-content:center;animation:fade .22s}.sheet{width:min(100%,680px);max-height:92dvh;border-radius:28px 28px 0 0;background:var(--bg);box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column;transform:translateY(0);transition:transform .36s var(--spring);padding-bottom:env(safe-area-inset-bottom)}.sheethead{touch-action:none;padding:9px 16px 12px;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(18px);flex:0 0 auto}.grabber{width:38px;height:5px;border-radius:99px;background:#8e8e93;margin:0 auto 8px;opacity:.55}.sheettitle{display:flex;align-items:center}.sheettitle h2{flex:1;margin:0;font-size:21px}.close{width:32px;height:32px;border-radius:50%;background:var(--surface2);font-size:16px}.sheetscroll{overflow-y:auto;overscroll-behavior:contain;padding:0 18px 26px}.hero{height:180px;margin:0 -18px 16px;display:grid;place-items:center;font-size:74px;background:linear-gradient(145deg,var(--art),color-mix(in srgb,var(--art),#fff 55%));position:relative}.offseason{background:#fff0df;color:#984f00;padding:10px 12px;border-radius:12px;font-weight:700;font-size:13px;margin-bottom:12px}.detail h1{font-size:28px;letter-spacing:-.7px;margin:8px 0 3px}.venue{color:var(--muted);margin:0 0 15px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.stat{background:var(--surface);border-radius:14px;padding:11px;text-align:center;font-size:12px;color:var(--muted)}.stat strong{display:block;color:var(--text);font-size:14px;margin-top:2px}.detail p{line-height:1.48}.tip{background:var(--blue2);color:#174d43;padding:14px;border-radius:16px}.amenities{display:flex;flex-wrap:wrap;gap:6px}.sheetactions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.disclaimer{font-size:12px;color:var(--muted);margin-top:18px}.toast-visible{opacity:1!important;transform:translate(-50%,0)!important}#toast{position:fixed;z-index:30;left:50%;bottom:90px;transform:translate(-50%,12px);opacity:0;transition:.2s;background:#222;color:#fff;padding:10px 14px;border-radius:999px;font-size:13px;pointer-events:none;white-space:nowrap}@keyframes fade{from{opacity:0}to{opacity:1}}
@media(min-width:560px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.content{padding-left:24px;padding-right:24px}}
@media(max-width:380px){.content{padding:14px}.choice{font-size:10px;padding:9px 2px}.quick{padding:12px}.topbar{padding-left:14px;padding-right:14px}.title{font-size:31px}.sheet .options.five .choice{font-size:9px}}
@media(prefers-color-scheme:dark){:root{--bg:#111214;--surface:#1d1f20;--surface2:#292b2c;--text:#f4f4ef;--muted:#a4a5a0;--line:rgba(255,255,255,.09);--blue:#43cdb1;--blue2:#163c35;--accent:#ff795c;--shadow:0 20px 70px rgba(0,0,0,.55)}.locate,.chip.apply{color:#b9fae7}.tip{color:#c9fff1}.pill{background:rgba(20,20,20,.75);color:#fff}.offseason{background:#4a2c10;color:#ffc982}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* 2026 visual refresh */
:root{--bg:#f5f4ef;--surface:#fffefa;--surface2:#ebeae4;--text:#121712;--muted:#6c7169;--blue:#087a66;--blue-deep:#075d50;--blue2:#d9f3e8;--accent:#ff7255;--hairline:rgba(22,35,27,.09);--card-shadow:0 8px 30px rgba(36,52,42,.07),0 1px 2px rgba(36,52,42,.04)}
body{background:radial-gradient(circle at 8% 4%,rgba(255,204,112,.14),transparent 28rem),radial-gradient(circle at 96% 18%,rgba(79,202,172,.11),transparent 30rem),var(--bg)}
button{cursor:pointer;-webkit-tap-highlight-color:transparent}.app{position:relative}.topbar{padding-top:calc(16px + env(safe-area-inset-top));padding-bottom:12px}.eyebrow{font-size:12px;letter-spacing:.09em;text-transform:uppercase}.title{font-size:clamp(32px,7vw,44px);line-height:.98;letter-spacing:-1.8px;margin-top:9px;max-width:620px}.content{width:100%;max-width:760px;padding-top:12px}.hero-copy{max-width:470px;margin:0 0 22px;color:var(--muted);font-size:16px;line-height:1.5}.searchbox{border-color:rgba(22,35,27,.07);box-shadow:0 14px 35px rgba(38,55,43,.09),0 2px 4px rgba(38,55,43,.04);transition:box-shadow .2s,transform .2s,border-color .2s}.searchbox:focus-within{border-color:color-mix(in srgb,var(--blue) 35%,transparent);box-shadow:0 16px 38px rgba(38,78,63,.13),0 0 0 4px color-mix(in srgb,var(--blue2) 72%,transparent);transform:translateY(-1px)}.home-search{min-height:60px;align-items:center;padding:8px 9px 8px 16px;border-radius:20px}.search-icon{font-size:24px;color:var(--blue)}.search-go{width:43px;height:43px;border-radius:14px;background:var(--text);color:var(--surface);font-size:20px;flex:0 0 auto;transition:transform .18s,background .18s}.search-go:hover{background:var(--blue);transform:translateX(2px)}.section{margin-top:34px}.sectionhead{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:14px}.sectionhead h2{margin:2px 0 0}.section-kicker{font-size:10px;font-weight:800;letter-spacing:.12em;color:var(--accent)}.section-note{font-size:12px;color:var(--muted);white-space:nowrap}.quickgrid{gap:12px}.quick{position:relative;display:flex;align-items:center;gap:11px;min-height:108px;padding:16px;overflow:hidden;border:0;box-shadow:var(--card-shadow);transition:transform .2s var(--spring),box-shadow .2s;background:linear-gradient(145deg,var(--surface),#f8f6ed)}.quick:after{content:"";position:absolute;width:80px;height:80px;border-radius:50%;right:-30px;bottom:-40px;background:var(--quick-glow,rgba(8,122,102,.12));filter:blur(1px)}.quick:hover{transform:translateY(-3px);box-shadow:0 16px 38px rgba(36,52,42,.12)}.quick:active{transform:scale(.985)}.quick .emo{display:grid;place-items:center;width:43px;height:43px;margin:0;border-radius:14px;background:rgba(255,255,255,.72);box-shadow:inset 0 0 0 1px rgba(255,255,255,.6);font-size:25px;flex:0 0 auto}.quicktext{display:block;min-width:0;text-align:left}.quicktext strong{display:block;font-size:14px}.quicktext small{display:block;margin-top:5px;color:var(--muted);font-size:11px;font-weight:550;line-height:1.25}.quickarrow{position:absolute;top:11px;right:12px;font-size:13px;color:var(--muted)}.quick-1{--quick-glow:rgba(73,171,104,.24);background:linear-gradient(145deg,#f5fff2,#e7f5df)}.quick-2{--quick-glow:rgba(77,149,226,.25);background:linear-gradient(145deg,#f2f8ff,#e4effc)}.quick-3{--quick-glow:rgba(239,159,104,.24);background:linear-gradient(145deg,#fff9f1,#f8eadc)}.quick-4{--quick-glow:rgba(143,112,225,.23);background:linear-gradient(145deg,#f8f4ff,#ece5fa)}.quick-5{--quick-glow:rgba(46,171,214,.26);background:linear-gradient(145deg,#effcff,#ddf2f8)}.quick-6{--quick-glow:rgba(236,167,71,.25);background:linear-gradient(145deg,#fffaf0,#f7ecd4)}.primary,.secondary{min-height:54px;border-radius:17px;transition:transform .18s,box-shadow .18s,background .18s}.primary{background:linear-gradient(135deg,var(--blue),var(--blue-deep));box-shadow:0 10px 24px rgba(8,122,102,.22)}.primary:hover{box-shadow:0 14px 30px rgba(8,122,102,.29);transform:translateY(-2px)}.primary:active,.secondary:active{transform:scale(.985)}.secondary:hover{background:color-mix(in srgb,var(--surface) 75%,var(--blue2))}.home-actions .primary{display:flex;align-items:center;justify-content:center;gap:12px}.home-actions .primary span{font-size:19px}.tabs{left:10px;right:10px;bottom:10px;height:calc(62px + env(safe-area-inset-bottom));border:1px solid var(--hairline);border-radius:22px;padding:6px 8px env(safe-area-inset-bottom);box-shadow:0 12px 40px rgba(20,30,24,.14);overflow:hidden}.tab{border-radius:14px;transition:background .18s,color .18s}.tab.active{background:color-mix(in srgb,var(--blue2) 74%,transparent)}.choice{transition:transform .16s,background .16s,box-shadow .16s}.choice:hover{transform:translateY(-1px)}.choice.selected{background:linear-gradient(135deg,var(--blue),var(--blue-deep));box-shadow:0 5px 14px rgba(8,122,102,.2)}.row{border-color:var(--hairline);box-shadow:0 2px 9px rgba(30,43,34,.035);transition:transform .18s,box-shadow .18s,border-color .18s}.row:hover{transform:translateY(-2px);box-shadow:var(--card-shadow);border-color:color-mix(in srgb,var(--blue) 20%,transparent)}.thumb{box-shadow:inset 0 0 0 1px rgba(255,255,255,.3)}.card{box-shadow:var(--card-shadow);transition:transform .2s,box-shadow .2s}.card:hover{transform:translateY(-3px);box-shadow:0 18px 42px rgba(36,52,42,.12)}.chip{border:1px solid var(--hairline);background:color-mix(in srgb,var(--surface2) 72%,var(--surface));transition:transform .15s,background .15s}.chip:hover{transform:translateY(-1px);background:var(--surface)}.sheetback{background:rgba(12,18,14,.42);backdrop-filter:blur(4px)}.sheet{border:1px solid rgba(255,255,255,.14)}.stat{border:1px solid var(--hairline)}
button:focus-visible,input:focus-visible{outline:3px solid color-mix(in srgb,var(--blue) 38%,transparent);outline-offset:2px}
@media(min-width:700px){.content{max-width:960px;padding:24px 32px 120px}.topbar{padding-left:max(32px,calc((100vw - 960px)/2 + 32px));padding-right:max(32px,calc((100vw - 960px)/2 + 32px))}.quickgrid{grid-template-columns:repeat(3,minmax(0,1fr))}.quick{min-height:126px;align-items:flex-end}.quick .emo{position:absolute;top:16px;left:16px}.quicktext{padding-top:46px}.tabs{left:50%;right:auto;width:390px;transform:translateX(-50%);bottom:18px}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.result-list:not(.cards){gap:10px}.row{padding:10px}.hero-copy{font-size:18px}.home-actions{display:grid;grid-template-columns:1.3fr 1fr;gap:12px}.home-actions button{margin:0}}
@media(min-width:1040px){.content{max-width:1120px}.topbar{padding-left:max(32px,calc((100vw - 1120px)/2 + 32px));padding-right:max(32px,calc((100vw - 1120px)/2 + 32px))}.quickgrid{grid-template-columns:repeat(3,minmax(0,1fr))}.quick{min-height:138px}.result-list:not(.cards){grid-template-columns:repeat(2,minmax(0,1fr))}.cards{grid-template-columns:repeat(3,minmax(0,1fr))}.mapwrap{height:560px}}
@media(max-width:380px){.quick{min-height:98px;padding:12px}.quick .emo{width:38px;height:38px;font-size:22px}.quicktext strong{font-size:12px}.quicktext small{font-size:10px}.home-search{min-height:56px}.tabs{left:6px;right:6px;bottom:6px}.recommend-grid{margin-left:-14px!important;margin-right:-14px!important;padding-left:14px!important;padding-right:14px!important}}
@media(prefers-color-scheme:dark){:root{--bg:#101411;--surface:#1b211d;--surface2:#272e29;--text:#f2f5f1;--muted:#a2aaa3;--blue:#4fd2b2;--blue-deep:#239a83;--blue2:#193f35;--hairline:rgba(255,255,255,.08);--card-shadow:0 12px 34px rgba(0,0,0,.25)}body{background:radial-gradient(circle at 8% 4%,rgba(217,157,62,.08),transparent 28rem),radial-gradient(circle at 96% 18%,rgba(79,202,172,.08),transparent 30rem),var(--bg)}.quick-1,.quick-2,.quick-3,.quick-4,.quick-5,.quick-6{background:linear-gradient(145deg,var(--surface),color-mix(in srgb,var(--surface),var(--quick-glow) 25%))}.quick .emo{background:rgba(255,255,255,.07)}}

/* One-tap recommendations and decision-ready results */
.recommend-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.recommend{min-width:0;border-radius:22px;overflow:hidden;background:var(--surface);border:1px solid var(--hairline);box-shadow:var(--card-shadow);cursor:pointer;transition:transform .2s var(--spring),box-shadow .2s}.recommend:hover{transform:translateY(-3px);box-shadow:0 18px 42px rgba(36,52,42,.13)}.recommend-visual{position:relative;height:150px;background-image:linear-gradient(to top,rgba(7,18,12,.32),transparent 70%),var(--photo),linear-gradient(145deg,var(--art),color-mix(in srgb,var(--art),#fff 58%));background-size:cover;background-position:center}.recommend-emoji{position:absolute;left:13px;bottom:12px;width:38px;height:38px;display:grid;place-items:center;border-radius:13px;background:rgba(255,255,255,.86);font-size:23px;box-shadow:0 3px 12px rgba(0,0,0,.13)}.recommend-label{position:absolute;left:12px;top:12px;padding:6px 9px;border-radius:999px;background:rgba(255,255,255,.88);color:#172019;font-size:10px;font-weight:800;backdrop-filter:blur(8px)}.recommend-heart{position:absolute;right:10px;top:10px;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.9);color:#5d665f;font-size:18px}.recommend-heart.saved{color:#ef466f}.recommend-body{padding:13px}.recommend-body h3{margin:0 0 9px;font-size:15px;line-height:1.2}.recommend-body p{margin:9px 0 0;color:var(--muted);font-size:12px;line-height:1.35}.microfacts{display:flex;gap:5px;flex-wrap:wrap}.microfacts span{padding:4px 7px;border-radius:7px;background:var(--surface2);color:var(--muted);font-size:9px;font-weight:750;text-transform:capitalize}.row{grid-template-columns:64px minmax(0,1fr) 34px;padding:10px}.thumb{width:64px;height:64px}.photo-thumb{background-image:linear-gradient(rgba(12,24,16,.05),rgba(12,24,16,.18)),var(--photo);background-size:cover;background-position:center}.photo-thumb span{display:none}.rowcopy{min-width:0}.rowtitle{display:flex;gap:6px;align-items:center}.rowtitle h3{flex:1}.rowtitle>span{color:var(--muted);font-size:20px}.row .microfacts{flex-wrap:nowrap;overflow:hidden;margin-bottom:4px}.row .microfacts span{white-space:nowrap}.photo-art,.photo-hero{background-image:linear-gradient(to top,rgba(8,20,14,.33),transparent 70%),var(--photo),linear-gradient(145deg,var(--art),color-mix(in srgb,var(--art),#fff 60%));background-size:cover;background-position:center}.photo-art .artemoji,.photo-hero>span{display:none}.cardbody .microfacts{margin:9px 0}.cardfoot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:12px;color:var(--muted);font-size:11px}.cardfoot .heart{white-space:nowrap}.filter-summary{display:grid;grid-template-columns:minmax(0,1fr) 40px 40px;gap:5px;margin:4px 0 8px;padding:5px;background:var(--surface);border:1px solid var(--hairline);border-radius:16px;box-shadow:0 3px 12px rgba(30,43,34,.04)}.filter-summary button{min-width:0;border-radius:12px;background:var(--surface2)}.filter-summary button:first-child{padding:8px 10px;text-align:left;background:transparent}.filter-summary span{display:block;color:var(--blue);font-size:9px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.filter-summary strong{display:block;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px}.decision-banner{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:12px 0}.decision-banner>*{padding:7px 9px;border-radius:9px;background:var(--surface);border:1px solid var(--hairline);font-size:11px;text-transform:capitalize}.decision-banner strong{background:var(--blue2);color:var(--blue-deep)}.sheetactions-top{margin:12px 0 16px}.detail .tip{margin-top:12px}.detail .stats{margin-top:8px}
@media(max-width:699px){.recommend-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin-left:-18px;margin-right:-18px;padding:2px 18px 12px;scrollbar-width:none}.recommend-grid::-webkit-scrollbar{display:none}.recommend{flex:0 0 78%;scroll-snap-align:start}.recommend-visual{height:142px}.row{grid-template-columns:58px minmax(0,1fr) 30px}.thumb{width:58px;height:58px}.row .microfacts span:nth-child(n+4){display:none}}
@media(min-width:1040px){.recommend-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.recommend-visual{height:180px}}

/* Focused Home landing view and compact scroll handoff */
body:has(.home-view){overflow:visible}.home-view{overflow:visible}.home-view .tabs{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .24s,visibility .24s}.home-view.home-past-intro .tabs{opacity:1;visibility:visible;pointer-events:auto}.home-intro{position:relative;min-height:100svh;display:grid;place-items:center;padding:calc(32px + env(safe-area-inset-top)) 18px calc(92px + env(safe-area-inset-bottom));overflow:hidden}.home-intro:before,.home-intro:after{content:"";position:absolute;border-radius:50%;filter:blur(2px);pointer-events:none}.home-intro:before{width:min(62vw,600px);height:min(62vw,600px);left:-24vw;top:-18vw;background:radial-gradient(circle,rgba(255,194,96,.2),transparent 68%)}.home-intro:after{width:min(76vw,720px);height:min(76vw,720px);right:-32vw;bottom:-25vw;background:radial-gradient(circle,rgba(58,197,162,.18),transparent 68%)}.home-intro-inner{position:relative;z-index:1;width:min(100%,760px);text-align:center}.home-brand{display:inline-flex;align-items:center;gap:10px;margin-bottom:24px;color:var(--blue);font-size:16px;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.home-brand .brand-tag{padding:6px 9px;border-radius:999px;background:var(--blue2);font-size:9px;letter-spacing:.07em}.home-intro h1{max-width:760px;margin:0 auto;font-size:clamp(48px,10vw,86px);line-height:.92;letter-spacing:-.065em}.home-intro-inner>p{max-width:570px;margin:24px auto 34px;color:var(--muted);font-size:clamp(17px,2.5vw,22px);line-height:1.48}.home-intro .home-search{max-width:720px;margin:auto;min-height:76px;padding:10px 11px 10px 22px;border-radius:25px;box-shadow:0 24px 70px rgba(34,55,42,.15),0 3px 10px rgba(34,55,42,.06)}.home-intro .home-search input{font-size:clamp(18px,3vw,23px)}.home-intro .search-icon{font-size:29px}.home-intro .search-go{width:54px;height:54px;border-radius:17px;font-size:24px}.scroll-cue{position:absolute;z-index:2;left:50%;bottom:calc(28px + env(safe-area-inset-bottom));transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;width:max-content;max-width:90vw;text-align:center;color:var(--muted);font-size:11px;line-height:1.4;letter-spacing:.02em}.scroll-cue b{display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:var(--surface);color:var(--blue);box-shadow:var(--card-shadow);animation:scroll-bob 1.8s ease-in-out infinite}.home-compact{position:sticky;top:0;z-index:8;background:color-mix(in srgb,var(--bg) 82%,transparent);border-bottom:1px solid var(--hairline);backdrop-filter:blur(24px) saturate(150%);-webkit-backdrop-filter:blur(24px) saturate(150%)}.home-compact-inner{width:min(100%,1120px);margin:auto;padding:calc(12px + env(safe-area-inset-top)) 18px 13px}.home-compact h2{margin:5px 0 2px;font-size:27px;letter-spacing:-1px}.home-compact p{margin:0 0 11px;color:var(--muted);font-size:12px}.home-compact .compact-search{min-height:50px;border-radius:15px;padding:6px 7px 6px 12px;box-shadow:0 5px 18px rgba(34,55,42,.08)}.home-compact .compact-search input{font-size:15px}.home-compact .compact-search .search-icon{font-size:19px}.home-compact .compact-search .search-go{width:37px;height:37px;border-radius:11px;font-size:17px}.home-feed{padding-top:8px}.home-feed>.section:first-child{margin-top:20px}@keyframes scroll-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}
@media(min-width:700px){.home-intro{padding-left:32px;padding-right:32px}.home-compact-inner{padding-left:32px;padding-right:32px}.home-compact-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,480px);column-gap:28px;align-items:center}.home-compact .eyebrow,.home-compact h2,.home-compact p{grid-column:1}.home-compact .compact-search{grid-column:2;grid-row:1/4}.home-compact h2{font-size:31px}.home-feed{max-width:1120px}}
@media(max-height:680px){.home-intro{padding-bottom:105px}.home-brand{margin-bottom:15px}.home-intro-inner>p{margin:16px auto 22px}.home-intro .home-search{min-height:66px}.scroll-cue{bottom:72px}}
@media(prefers-reduced-motion:reduce){.scroll-cue b{animation:none}}

/* Real-time Home scroll morph */
.home-view{--home-progress:0;--home-shift:0px}.home-view .home-intro{position:sticky;top:0;z-index:8;height:100svh;min-height:100svh;pointer-events:none;background:transparent}.home-view .home-intro-inner{pointer-events:auto;top:50%;transform:translateY(calc(-50% - var(--home-shift)));width:min(calc(100% - 36px),1120px);max-width:none;padding:calc(var(--home-progress) * 14px) calc(var(--home-progress) * 16px);border-radius:calc(var(--home-progress) * 22px);background:color-mix(in srgb,var(--bg) calc(var(--home-progress) * 90%),transparent);box-shadow:0 calc(var(--home-progress) * 10px) calc(var(--home-progress) * 36px) rgba(22,38,28,calc(var(--home-progress) * .13));backdrop-filter:blur(calc(var(--home-progress) * 22px));-webkit-backdrop-filter:blur(calc(var(--home-progress) * 22px));will-change:transform}.home-view .home-brand{font-size:calc(16px - var(--home-progress) * 4px);margin-bottom:calc(24px - var(--home-progress) * 18px)}.home-view .home-intro h1{font-size:clamp(27px,calc(86px - var(--home-progress) * 55px),86px);line-height:calc(.92 + var(--home-progress) * .08);letter-spacing:calc(-.065em + var(--home-progress) * .035em);transition:text-align .16s}.home-view .home-intro-inner>p{font-size:calc(22px - var(--home-progress) * 9px);margin-top:calc(24px - var(--home-progress) * 17px);margin-bottom:calc(34px - var(--home-progress) * 24px);line-height:1.4}.home-view .home-intro .home-search{min-height:calc(76px - var(--home-progress) * 24px);border-radius:calc(25px - var(--home-progress) * 9px);padding:calc(10px - var(--home-progress) * 3px) calc(11px - var(--home-progress) * 3px) calc(10px - var(--home-progress) * 3px) calc(22px - var(--home-progress) * 8px);box-shadow:0 calc(24px - var(--home-progress) * 16px) calc(70px - var(--home-progress) * 48px) rgba(34,55,42,.13)}.home-view .home-intro .home-search input{font-size:calc(22px - var(--home-progress) * 6px)}.home-view .home-intro .search-icon{font-size:calc(29px - var(--home-progress) * 8px)}.home-view .home-intro .search-go{width:calc(54px - var(--home-progress) * 14px);height:calc(54px - var(--home-progress) * 14px);border-radius:calc(17px - var(--home-progress) * 5px);font-size:calc(24px - var(--home-progress) * 5px)}.home-view .scroll-cue{opacity:calc(1 - var(--home-progress) * 2);transform:translateX(-50%) translateY(calc(var(--home-progress) * 20px));pointer-events:none}.home-view.home-past-intro .home-intro-inner{text-align:left}.home-view.home-past-intro .home-brand,.home-view.home-past-intro .home-intro h1,.home-view.home-past-intro .home-intro-inner>p,.home-view.home-past-intro .home-search{margin-left:0;margin-right:0}.home-view.home-past-intro .home-intro h1,.home-view.home-past-intro .home-intro-inner>p{max-width:none}.home-view .home-feed{position:relative;z-index:2;background:var(--bg);padding-top:190px;margin-top:0}.home-view.home-past-intro .tabs{z-index:10}
@media(max-width:699px){.home-view .home-intro h1{font-size:calc(52px - var(--home-progress) * 25px)}.home-view .home-intro-inner>p{font-size:calc(18px - var(--home-progress) * 5px)}.home-view .home-feed{padding-top:180px}}
@media(prefers-reduced-motion:reduce){.home-view .home-intro-inner{will-change:auto}}
.home-view .home-intro-inner{position:absolute;top:var(--home-top,50%);transform:translateY(var(--home-translate,-50%))}

/* Keep the opening morph seamless, then let it leave with the opening screen. */
.home-view .home-morph-stage{position:relative;height:100svh}
.home-view .home-intro{height:var(--home-height,100svh);min-height:0}
.home-view .home-intro-inner{padding:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
.home-view .home-feed{padding-top:8px}
@media(max-width:699px){.home-view .home-feed{padding-top:8px}}

@media(max-width:699px){
  .home-view .recommend-grid{
    margin-left:0!important;
    margin-right:0!important;
    padding:6px 0 18px!important;
  }
}

/* Playful, browser-safe flowers for the opening Home composition. */
.home-morph-stage:before,
.home-morph-stage:after,
.home-intro-inner .scroll-cue:before{
  content:"";
  position:absolute;
  z-index:0;
  aspect-ratio:1;
  pointer-events:none;
  background:
    radial-gradient(circle at 50% 50%,#fff 0 11%,transparent 12%),
    radial-gradient(circle at 50% 19%,currentColor 0 19%,transparent 20%),
    radial-gradient(circle at 80% 41%,currentColor 0 19%,transparent 20%),
    radial-gradient(circle at 69% 76%,currentColor 0 19%,transparent 20%),
    radial-gradient(circle at 31% 76%,currentColor 0 19%,transparent 20%),
    radial-gradient(circle at 20% 41%,currentColor 0 19%,transparent 20%),
    radial-gradient(circle at 50% 51%,currentColor 0 20%,transparent 21%);
  filter:drop-shadow(0 8px 18px rgba(45,54,46,.08));
}
.home-morph-stage:before{
  top:12%;
  left:max(18px,calc(50% - 520px));
  width:clamp(96px,14vw,164px);
  color:#efb18d;
  opacity:calc(.27 - var(--home-progress)*.27);
  transform:translate3d(calc(var(--home-progress)*-22px),calc(var(--home-progress)*-14px),0) rotate(-12deg);
}
.home-morph-stage:after{
  top:29%;
  right:max(20px,calc(50% - 540px));
  width:clamp(68px,9vw,108px);
  color:#c7a8df;
  opacity:calc(.34 - var(--home-progress)*.34);
  transform:translate3d(calc(var(--home-progress)*18px),calc(var(--home-progress)*-12px),0) rotate(15deg);
}
.home-intro-inner .scroll-cue:before{
  top:50%;
  left:calc(100% + 18px);
  width:52px;
  color:#7fc9aa;
  opacity:calc(.42 - var(--home-progress)*.42);
  transform:translateY(-50%) rotate(-8deg);
}
.home-intro-inner .scroll-cue{position:relative}
.home-view .home-search input::placeholder{
  font-size:.84em;
  opacity:.72;
}
@media(max-width:699px){
  .home-morph-stage:before{top:9%;left:-34px;width:112px}
  .home-morph-stage:after{top:27%;right:-24px;width:82px}
  .home-intro-inner .scroll-cue:before{left:calc(100% + 8px);width:42px}
}
@media(prefers-reduced-motion:reduce){
  .home-morph-stage:before{opacity:.27;transform:rotate(-12deg)}
  .home-morph-stage:after{opacity:.34;transform:rotate(15deg)}
  .home-intro-inner .scroll-cue:before{opacity:.42;transform:translateY(-50%) rotate(-8deg)}
}

.recommend-empty{
  display:grid;
  justify-items:center;
  gap:6px;
  padding:28px 20px;
  border:1px solid var(--hairline);
  border-radius:18px;
  background:var(--surface);
  color:var(--muted);
  text-align:center;
  box-shadow:var(--card-shadow);
}
.recommend-empty span{font-size:26px;color:var(--blue)}
.recommend-empty strong{color:var(--text);font-size:15px}
.recommend-empty small{max-width:360px;font-size:12px;line-height:1.4}

.home-view .recommend{
  position:relative;
  z-index:1;
  overflow:hidden;
  border:0;
  border-radius:22px;
  box-shadow:var(--card-shadow);
  transform:none;
  transition:transform .2s var(--spring),box-shadow .2s;
}
.home-view .recommend-visual{
  overflow:hidden;
  border-radius:22px 22px 0 0;
}
.home-view .recommend-body{
  border-radius:0 0 22px 22px;
  background:var(--surface);
}
.home-view .recommend:hover{
  box-shadow:0 16px 38px rgba(36,52,42,.12);
  transform:translateY(-3px);
}
.home-view .recommend-shell{
  position:relative;
  transition:none;
}
.home-view .recommend-shell:before{
  content:none;
}
.home-view .recommend-shell:hover{transform:none}
@media(max-width:699px){
  .home-view .recommend-grid{
    margin-top:-12px;
    margin-bottom:-18px;
    margin-left:-6px!important;
    margin-right:-6px!important;
    padding:0!important;
    gap:0;
    scroll-padding-left:0;
  }
  .home-view .recommend-shell{
    flex:0 0 calc(78% + 12px);
    min-width:0;
    padding:18px 6px 30px;
    scroll-snap-align:start;
  }
  .home-view .recommend{width:100%;margin:0;scroll-snap-align:none}
}
@media(min-width:700px){
  .home-view .recommend-shell{min-width:0}
  .home-view .recommend{width:100%;height:100%}
}

/* Taller, roomier bottom navigation. */
.app{padding-bottom:calc(104px + env(safe-area-inset-bottom))}
.tabs{
  height:calc(78px + env(safe-area-inset-bottom));
  padding:8px 9px calc(8px + env(safe-area-inset-bottom));
  border-radius:26px;
  gap:6px;
}
.tab{
  min-width:0;
  border-radius:20px;
  padding:6px 8px;
  font-size:13px;
  line-height:1.05;
}
.tab span{
  font-size:27px;
  line-height:29px;
}
.actionbar{bottom:92px}
#toast{bottom:112px}

/* Persistent, stateful tab navigation. */
.home-view .tabs,
.home-view.home-past-intro .tabs{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}
.tab{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:2px;
  background:transparent;
  color:var(--muted);
  transition:background .2s,color .2s,box-shadow .2s;
}
.tab .tab-icon{
  display:grid;
  place-items:center;
  width:27px;
  height:27px;
  font-size:inherit;
  line-height:1;
  transition:transform .2s var(--spring);
}
.tab .tab-icon svg{display:block;width:27px;height:27px}
.tab .tab-label{
  display:block;
  font-size:13px;
  line-height:1;
  font-weight:700;
  transition:transform .2s var(--spring);
}
.tab.active{
  color:#fff;
  background:linear-gradient(135deg,var(--blue),var(--blue-deep));
  box-shadow:0 5px 14px rgba(8,122,102,.25);
}
.tab.active .tab-icon{transform:scale(1.2)}
.tab.active .tab-label{transform:none}
@media(prefers-color-scheme:dark){
  .tab.active{color:#0c251f;box-shadow:0 6px 18px rgba(0,0,0,.34)}
}

.question-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.question-title span{color:var(--muted);font-size:12px}
.category-options{
  display:flex;
  gap:8px;
  margin:0 -18px;
  padding:3px 18px 10px;
  overflow-x:auto;
  scroll-snap-type:x proximity;
  scrollbar-width:none;
}
.category-options::-webkit-scrollbar{display:none}
.category-choice{
  display:inline-flex;
  align-items:center;
  gap:7px;
  flex:0 0 auto;
  min-height:42px;
  padding:8px 12px;
  border:1px solid var(--hairline);
  border-radius:999px;
  background:var(--surface);
  color:var(--muted);
  font-size:13px;
  font-weight:750;
  scroll-snap-align:start;
  transition:background .16s,color .16s,border-color .16s,transform .16s;
}
.category-choice span{font-size:18px;line-height:1}
.category-choice.selected{
  border-color:transparent;
  background:linear-gradient(135deg,var(--blue),var(--blue-deep));
  color:#fff;
  box-shadow:0 5px 14px rgba(8,122,102,.2);
}
.category-choice:active{transform:scale(.97)}
@media(min-width:560px){.category-options{margin-left:0;margin-right:0;padding-left:0;padding-right:0}}

.home-view .home-intro-inner .scroll-cue{
  position:static;
  left:auto;
  bottom:auto;
  width:max-content;
  margin:18px auto 0;
  transform:none;
}

.home-view .home-feed{
  background:linear-gradient(
    to bottom,
    transparent 0,
    color-mix(in srgb,var(--bg) 48%,transparent) 72px,
    color-mix(in srgb,var(--bg) 86%,transparent) 170px,
    var(--bg) 280px
  );
}
.home-view .home-intro{overflow-x:clip;overflow-y:visible}

.home-view .quicktext strong{
  font-size:15px;
  line-height:1.2;
}

/* Use the compact Recent-card treatment across Home tiles. */
.home-view .recommend,
.home-view .quick{
  border:1px solid var(--hairline);
  border-radius:15px;
  background:var(--surface);
  box-shadow:0 2px 9px rgba(30,43,34,.035);
  transition:transform .18s,box-shadow .18s,border-color .18s;
}
.home-view .recommend:hover,
.home-view .quick:hover{
  transform:translateY(-2px);
  box-shadow:var(--card-shadow);
  border-color:color-mix(in srgb,var(--blue) 20%,transparent);
}
.home-view .recommend-visual{border-radius:14px 14px 0 0}
.home-view .recommend-body{border-radius:0 0 14px 14px}
.home-view .quick:after{display:none}
.home-view .quick .emo{
  background:var(--surface2);
  box-shadow:none;
}
.home-view .quick{min-height:86.4px}
@media(max-width:380px){.home-view .quick{min-height:78.4px}}
@media(min-width:700px){.home-view .quick{min-height:100.8px}}
@media(min-width:1040px){.home-view .quick{min-height:110.4px}}
@media(max-width:699px){
  .home-view .recommend-grid{
    margin-top:-16px;
    margin-bottom:-20px;
    margin-left:-16px!important;
    margin-right:-16px!important;
  }
  .home-view .recommend-shell{
    flex-basis:calc(78% + 32px);
    padding:16px 16px 20px;
    margin-right:-20px;
  }
  .home-view .recommend-shell:last-child{margin-right:0}
}

/* Restore the colorful mood-picker treatment. */
.home-view .quick{
  border:0;
  border-radius:16px;
  box-shadow:var(--card-shadow);
  transition:transform .2s var(--spring),box-shadow .2s;
}
.home-view .quick-1{--quick-glow:rgba(73,171,104,.24);background:linear-gradient(145deg,#f5fff2,#e7f5df)}
.home-view .quick-2{--quick-glow:rgba(77,149,226,.25);background:linear-gradient(145deg,#f2f8ff,#e4effc)}
.home-view .quick-3{--quick-glow:rgba(239,159,104,.24);background:linear-gradient(145deg,#fff9f1,#f8eadc)}
.home-view .quick-4{--quick-glow:rgba(143,112,225,.23);background:linear-gradient(145deg,#f8f4ff,#ece5fa)}
.home-view .quick-5{--quick-glow:rgba(46,171,214,.26);background:linear-gradient(145deg,#effcff,#ddf2f8)}
.home-view .quick-6{--quick-glow:rgba(236,167,71,.25);background:linear-gradient(145deg,#fffaf0,#f7ecd4)}
.home-view .quick:after{display:block}
.home-view .quick .emo{
  background:rgba(255,255,255,.72);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.6);
}
.home-view .quick:hover{
  transform:translateY(-3px);
  box-shadow:0 16px 38px rgba(36,52,42,.12);
  border-color:transparent;
}
@media(prefers-color-scheme:dark){
  .home-view .quick-1,.home-view .quick-2,.home-view .quick-3,
  .home-view .quick-4,.home-view .quick-5,.home-view .quick-6{
    background:linear-gradient(145deg,var(--surface),color-mix(in srgb,var(--surface),var(--quick-glow) 25%));
  }
  .home-view .quick .emo{background:rgba(255,255,255,.07);box-shadow:none}
}

/* Streamlined Search: core choices on-page, refinements in one sheet. */
.core-filter-form{padding-bottom:20px}
.core-filter-form>.question{margin-bottom:28px}
.search-actionbar{
  position:sticky;
  z-index:6;
  bottom:92px;
  margin-top:28px;
  padding:11px;
  border:1px solid var(--hairline);
  border-radius:20px;
  background:color-mix(in srgb,var(--bg) 86%,transparent);
  box-shadow:0 10px 34px rgba(30,43,34,.1);
  backdrop-filter:blur(22px) saturate(150%);
  -webkit-backdrop-filter:blur(22px) saturate(150%);
}
.search-summary{
  position:relative;
  min-width:0;
  padding:2px 54px 10px 3px;
}
.search-summary span{
  display:block;
  color:var(--blue);
  font-size:10px;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.search-summary strong{
  display:block;
  margin-top:3px;
  overflow:hidden;
  color:var(--text);
  font-size:13px;
  font-weight:700;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.search-summary>button{
  position:absolute;
  top:4px;
  right:2px;
  padding:6px 7px;
  border-radius:9px;
  background:transparent;
  color:var(--muted);
  font-size:12px;
  font-weight:700;
}
.search-action-buttons{display:grid;grid-template-columns:.9fr 1.35fr;gap:8px}
.search-action-buttons button{min-height:50px;margin:0}
.advanced-filter-form .search-actionbar{bottom:0;margin-bottom:2px}
.advanced-filter-form .search-action-buttons{grid-template-columns:1fr}
.streamlined-location{padding:11px}
.streamlined-location .ziprow input{font-weight:650}
.distance-row{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:10px;
  margin-top:10px;
}
.distance-row>span{color:var(--muted);font-size:12px;font-weight:700}
.distance-row .options{gap:6px}
.distance-row.is-hidden{display:none}
@media(max-width:380px){
  .search-actionbar{margin-left:-2px;margin-right:-2px;padding:9px}
  .search-action-buttons{grid-template-columns:.85fr 1.3fr}
  .distance-row{grid-template-columns:1fr}
}

/* Keep the three core Search groups visible and visually unified. */
.core-filter-form{padding-bottom:8px}
.core-filter-form>.core-question{
  margin:0 0 12px;
  padding:12px;
  border:1px solid var(--hairline);
  border-radius:18px;
  background:color-mix(in srgb,var(--surface) 88%,transparent);
  box-shadow:0 2px 9px rgba(30,43,34,.025);
}
.core-question .question-title{margin-bottom:9px}
.core-question .question-title h3{margin:0;color:var(--text);font-size:18px}
.core-question .question-title span{color:var(--muted);font-size:12px;font-weight:700}
.category-options{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:7px;
  margin:0;
  padding:0;
  overflow:visible;
  scroll-snap-type:none;
}
.category-choice{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:3px;
  min-width:0;
  min-height:51px;
  padding:5px 3px;
  border:0;
  border-radius:12px;
  background:var(--surface2);
  color:var(--text);
  font-size:12px;
  line-height:1;
  scroll-snap-align:none;
}
.category-choice span{font-size:18px}
.category-choice b{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;font-weight:750}
.category-choice.selected{color:#fff}
.core-question .options{gap:7px}
.core-question .choice{
  min-height:51px;
  padding:6px 3px;
  border-radius:12px;
  color:var(--text);
  font-size:12px;
}
.core-question .choice.selected{color:#fff}
.core-question .choice .big{font-size:17px;margin-bottom:2px}

/* This is a normal action section, not a second floating navigation bar. */
.search-actionbar,
.advanced-filter-form .search-actionbar{
  position:static;
  bottom:auto;
  margin:14px 0 0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
.search-summary{
  padding:0 104px 9px 0;
  border-bottom:1px solid var(--hairline);
  margin-bottom:9px;
}
.search-summary>button{top:-2px;right:0;background:var(--surface2)}
.search-summary>button{color:var(--blue);font-size:13px;font-weight:800}
.search-summary span{font-size:11px}
.search-summary strong{color:var(--text);font-size:14px}
.search-action-buttons button{border-radius:15px;font-size:14px}
.search-action-buttons .clear-filters:disabled{cursor:default;opacity:.42}
.advanced-filter-form .search-action-buttons{grid-template-columns:.9fr 1.35fr}
.advanced-filter-form .search-summary{padding-right:0}

@media(max-width:380px){
  .category-options{gap:6px}
  .category-choice{font-size:12px;padding-left:2px;padding-right:2px}
  .core-filter-form>.core-question{padding:10px}
  .search-actionbar{margin-left:0;margin-right:0;padding:0}
}
@media(max-width:699px) and (max-height:720px){
  body:has(.core-filter-form) .topbar{padding-top:10px;padding-bottom:7px}
  body:has(.core-filter-form) .title{font-size:31px;margin-top:5px}
  body:has(.core-filter-form) .content{padding-top:6px}
  .core-filter-form>.core-question{margin-bottom:8px;padding:9px}
  .core-question .question-title{margin-bottom:6px}
  .category-options{gap:5px}
  .category-choice{min-height:43px}
  .category-choice span{font-size:14px}
  .core-question .choice{min-height:47px}
  .core-question .choice .big{font-size:15px}
  .search-actionbar{margin-top:9px}
  .search-summary{padding-bottom:6px;margin-bottom:7px}
  .search-action-buttons button{min-height:46px}
}

/* Shared attraction-row actions: save first, open chevron at the edge. */
.row{grid-template-columns:64px minmax(0,1fr) auto}
@media(max-width:699px){.row{grid-template-columns:58px minmax(0,1fr) auto}}
.row-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:2px;
  min-width:64px;
}
.row-actions .heart{
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  padding:0;
  border-radius:50%;
  font-size:30px;
  line-height:1;
}
.row-actions .heart:active{background:var(--surface2);transform:scale(.94)}
.row-chevron{
  display:grid;
  place-items:center;
  width:24px;
  height:38px;
  color:var(--muted);
  font-size:24px;
  font-weight:650;
  line-height:1;
}

.options.two{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.sheetactions .map-action{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  text-decoration:none;
}
.sheetactions .map-icon{
  display:block;
  width:22px;
  height:22px;
  flex:0 0 22px;
  color:#fff;
}

.detail-sheet{
  position:relative;
}
.detail-sheet .sheethead{
  position:absolute;
  z-index:2;
  top:0;
  right:0;
  left:0;
  background:transparent;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
.detail-sheet .sheettitle{
  justify-content:flex-end;
}
.detail-sheet .grabber{
  background:rgba(255,255,255,.92);
  box-shadow:0 1px 5px rgba(0,0,0,.35);
}
.detail-sheet .close{
  background:rgba(255,255,255,.9);
  color:#1a1a1a;
  box-shadow:0 3px 12px rgba(0,0,0,.2);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
.detail-sheet .hero{
  height:clamp(220px,32dvh,300px);
}
.detail-sheet .sheetactions-top{
  grid-template-columns:minmax(0,1fr) 54px 54px;
  align-items:stretch;
}
.detail-sheet .sheetactions-top>*{
  height:54px;
  min-height:54px;
  min-width:0;
  margin-top:0;
  padding-inline:6px;
  white-space:nowrap;
}
.detail-sheet .sheetactions-top .action-icon{
  display:grid;
  place-items:center;
  padding:0;
  font-size:22px;
  line-height:1;
}

.detail .stats{
  gap:0;
  margin:12px 0 4px;
  padding:14px 0;
  border-top:1px solid var(--hairline);
  border-bottom:1px solid var(--hairline);
}
.detail .stat{
  padding:1px 10px;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--muted);
  font-size:10px;
  font-weight:750;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.detail .stat+.stat{
  border-left:1px solid var(--hairline);
}
.detail .stat strong{
  margin-top:5px;
  font-size:15px;
  font-weight:750;
  letter-spacing:-.01em;
  text-transform:capitalize;
}

.toolbar{
  grid-template-columns:1fr auto;
}

.brand-wordmark{
  display:inline-flex;
  align-items:center;
  white-space:nowrap;
}
.eyebrow .brand-wordmark{font-size:1.2em}
.brand-wordmark .brand-flower{
  position:relative;
  display:inline-block;
  width:.78em;
  height:.78em;
  flex:0 0 .78em;
  margin:0 .04em;
  padding:0;
  border-radius:0;
  background:
    radial-gradient(circle at 50% 19%,currentColor 0 19%,transparent 20%),
    radial-gradient(circle at 80% 41%,currentColor 0 19%,transparent 20%),
    radial-gradient(circle at 69% 76%,currentColor 0 19%,transparent 20%),
    radial-gradient(circle at 31% 76%,currentColor 0 19%,transparent 20%),
    radial-gradient(circle at 20% 41%,currentColor 0 19%,transparent 20%),
    radial-gradient(circle at 50% 51%,currentColor 0 20%,transparent 21%);
  color:inherit;
  font-size:1em;
  line-height:1;
  transform:rotate(-6deg);
  vertical-align:-.02em;
}
.brand-wordmark .brand-flower:after{
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  width:27%;
  height:27%;
  border-radius:50%;
  background:#fff;
  box-shadow:0 0 0 .025em rgba(255,255,255,.72);
  transform:translate(-50%,-50%);
}
.home-brand .brand-wordmark{
  padding:0;
  border-radius:0;
  background:none;
  font-size:1.2em;
  letter-spacing:inherit;
}
.home-brand{gap:12px}
.home-brand .brand-tag{
  padding:7.2px 10.8px;
  border-radius:999px;
  background:var(--blue2);
  font-size:10.8px;
  letter-spacing:.07em;
}

/* Compact navigation keeps more room for the playful pastel content. */
.app{padding-bottom:calc(83.2px + env(safe-area-inset-bottom))}
.tabs{
  height:calc(62.4px + env(safe-area-inset-bottom));
  padding:6.4px 7.2px calc(6.4px + env(safe-area-inset-bottom));
  border-radius:20.8px;
  gap:4.8px;
}
.tab{
  border-radius:16px;
  padding:4.8px 6.4px;
  font-size:10.4px;
}
.tab .tab-icon{width:21.6px;height:21.6px}
.tab .tab-icon svg{width:21.6px;height:21.6px}
.tab .tab-label{font-size:10.4px}
.actionbar{bottom:73.6px}
#toast{bottom:89.6px}

/* Let the opening Home content glide from centered to left-aligned as one group. */
.home-view .home-intro-inner{text-align:left}
.home-view .home-brand,
.home-view .home-intro h1,
.home-view .home-intro-inner>p,
.home-view .home-intro .home-search{
  margin-left:0;
  margin-right:0;
  transform:translateX(var(--home-item-x,0));
  will-change:transform;
}
.home-view .home-brand{width:max-content;max-width:100%}
.home-view .home-intro h1{width:max-content;max-width:min(760px,100%);text-align:center}
.home-view .home-intro-inner>p{width:max-content;max-width:min(570px,100%);text-align:center}
.home-view .home-intro .home-search{width:min(720px,100%)}
@media(prefers-reduced-motion:reduce){
  .home-view .home-brand,
  .home-view .home-intro h1,
  .home-view .home-intro-inner>p,
  .home-view .home-intro .home-search{will-change:auto}
}

/* A narrower, centered floating tab bar on phones. */
@media(max-width:699px){
  html.home-search-locked,
  body.home-search-locked{overscroll-behavior:none}
  body.home-search-locked{
    position:fixed;
    top:var(--home-focus-top,0);
    left:0;
    right:0;
    width:100%;
    overflow:hidden;
  }
  .home-view.home-keyboard-open .home-intro-inner{
    top:var(--home-keyboard-center)!important;
    transform:translateY(-50%);
  }
  .home-view.home-keyboard-open .home-brand,
  .home-view.home-keyboard-open .scroll-cue{display:none}
  .tabs{
    left:50%;
    right:auto;
    width:66%;
    min-width:224px;
    max-width:290px;
    transform:translateX(-50%);
  }

  /* Keep iOS from applying its own focus zoom to searchable text fields. */
  .home-view .home-intro .home-search input,
  .home-compact .compact-search input{
    font-size:max(16px,calc(22px - var(--home-progress) * 6px));
  }
}
