:root{color-scheme:light;--text:#1c1c1e;--secondary:#6c6c72;--green:#207957;--blue:#007aff;--surface:#fff;--group:#f2f2f7;--line:#e9e9ed;--sheet-height:54dvh;--safe-bottom:env(safe-area-inset-bottom,0px);font-family:-apple-system,BlinkMacSystemFont,'Helvetica Neue','PingFang HK',sans-serif;color:var(--text);background:#e6ece8}*{box-sizing:border-box}html,body{height:100%;margin:0;overflow:hidden}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{cursor:pointer;color:inherit;border:0}a{color:var(--blue);text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #007aff;outline-offset:3px}button:active{transform:scale(.97)}button:disabled{opacity:.5;cursor:wait}[hidden]{display:none!important}svg{display:block;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}button span[data-icon]{display:inline-flex}.app-shell{height:100dvh;width:100%;position:relative;isolation:isolate}#map{position:absolute;inset:0;z-index:0;background:#e5ece8}.leaflet-tile-pane{filter:saturate(.55) brightness(1.04)}.leaflet-container{font-family:inherit}.leaflet-control-attribution{font-size:9px!important;background:#fff9!important;border-radius:6px;padding:3px 6px!important;margin:0 12px 0 0!important}.leaflet-top.leaflet-right{top:calc(env(safe-area-inset-top,0px) + 77px)}.leaflet-control-attribution a{color:#48544d}.topbar{position:absolute;z-index:410;inset:calc(env(safe-area-inset-top,0px) + 14px) 16px auto;display:flex;justify-content:space-between;align-items:center;pointer-events:none}.topbar>*{pointer-events:auto}.glass{background:#ffffffdc;border:1px solid #fff9;box-shadow:0 5px 20px #1a29351a,inset 0 1px 0 #fff;-webkit-backdrop-filter:blur(24px) saturate(1.5);backdrop-filter:blur(24px) saturate(1.5)}.brand{height:48px;border-radius:25px;display:flex;align-items:center;gap:9px;padding:0 17px 0 12px;color:var(--text);font-weight:720;font-size:20px;letter-spacing:-.7px}.brand-mark{display:grid;place-items:center;background:var(--green);color:white;border-radius:50%;height:29px;width:29px}.brand-mark svg{width:19px;height:19px;stroke-width:1.7}.icon-button{width:46px;height:46px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:none;flex-shrink:0}.topbar>.icon-button{width:48px;height:48px}.map-tools{position:absolute;z-index:410;right:16px;top:calc(env(safe-area-inset-top,0px) + 120px);border-radius:23px;display:flex;flex-direction:column;align-items:center;overflow:hidden}.map-tools>span{height:1px;width:23px;background:#bbb5}.map-tools .icon-button{width:46px;height:47px;color:#45464b}.map-tools .icon-button.located{color:var(--blue)}.map-message{position:absolute;z-index:420;top:calc(env(safe-area-inset-top,0px) + 86px);left:16px;max-width:calc(100% - 90px);font-size:12px;line-height:1.6;padding:9px 13px;border-radius:13px}.sheet{position:absolute;z-index:500;bottom:0;left:0;right:0;height:var(--sheet-height);background:#fafafcf5;-webkit-backdrop-filter:blur(28px);backdrop-filter:blur(28px);border-radius:28px 28px 0 0;box-shadow:0 -3px 32px #17293a1c;border:1px solid #fffa;border-bottom:0;display:flex;flex-direction:column;transition:height .32s cubic-bezier(.22,.75,.22,1);overflow:hidden}.sheet[data-snap=expanded]{--sheet-height:calc(100dvh - env(safe-area-inset-top,0px) - 76px)}.sheet[data-snap=compact]{--sheet-height:158px}.sheet.dragging{transition:none}.sheet-handle{height:25px;min-height:25px;width:100%;display:grid;place-items:center;touch-action:none;cursor:ns-resize;background:transparent;user-select:none}.sheet-handle span{width:36px;height:5px;background:#c7c7cc;border-radius:5px}.panel{display:flex;flex-direction:column;min-height:0;flex:1}.browse-header{padding:0 23px;display:flex;align-items:center;justify-content:space-between;gap:8px}.overline{font-size:10px;font-weight:650;letter-spacing:1.35px;margin:0 0 4px;color:var(--secondary)}h1{font-size:25px;font-weight:730;letter-spacing:-.8px;line-height:1.35;margin:0}.round-button{height:44px;width:44px;border-radius:50%;background:#eaeaf0;color:var(--green);display:grid;place-items:center;flex-shrink:0}.location-status{font-size:12px;color:var(--secondary);line-height:1.55;margin:6px 23px 11px}.search-row{display:flex;gap:9px;padding:0 20px}.search{min-width:0;flex:1;display:flex;align-items:center;gap:8px;height:45px;border-radius:13px;background:#e9e9ef;padding:0 12px;color:#77777e}.search svg{width:18px;height:18px}.search input{font-size:16px;min-width:0;width:100%;border:0;outline:0;background:transparent;color:var(--text)}.search input::-webkit-search-cancel-button{display:none}.search input::placeholder{color:#7c7c83}.search button{background:transparent;width:32px;height:40px;padding:8px 0;flex-shrink:0;color:var(--secondary)}.search-row>.round-button{height:45px;width:45px;border-radius:13px;background:#e9e9ef;color:#4d4d56}.chips{display:flex;gap:8px;padding:12px 20px 10px;overflow-x:auto;scrollbar-width:none;flex-shrink:0}.chips::-webkit-scrollbar{display:none}.chip{white-space:nowrap;display:flex;align-items:center;gap:6px;min-height:36px;padding:8px 12px;border-radius:20px;background:white;box-shadow:0 1px 4px #00000008;font-size:12px;font-weight:600;border:1px solid #e4e4e9}.chip svg{width:13px;height:13px}.chip[aria-pressed=true],.chip.selected{background:#e2f1e9;border-color:#c0decd;color:var(--green)}.status-dot{width:7px;height:7px;display:inline-block;border-radius:50%;background:#2b9669;flex-shrink:0}.results-heading{display:flex;align-items:center;justify-content:space-between;gap:6px;margin:0 23px;padding:8px 0 11px;border-bottom:1px solid var(--line);font-size:13px}.results-heading span{font-size:11px;color:var(--secondary)}.scroll-content{min-height:0;flex:1;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.card{display:flex;align-items:center;gap:13px;padding:16px 22px;cursor:pointer;position:relative;background:transparent}.card:after{content:'';position:absolute;left:88px;right:22px;bottom:0;border-bottom:1px solid var(--line)}.card:hover{background:#eeeef480}.cafe-icon{display:grid;place-items:center;width:53px;height:56px;border-radius:16px;background:#e7eee8;color:#44755e;flex-shrink:0}.cafe-icon.amber{background:#f1e9df;color:#9b7553}.cafe-icon.blue{background:#e4ecf3;color:#66859c}.cafe-icon svg{width:26px;height:26px;stroke-width:1.5}.card-text{min-width:0;flex:1}.card h3{font-size:15px;line-height:1.4;letter-spacing:-.25px;margin:0;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card p{font-size:11px;color:var(--secondary);margin:5px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-state{display:flex;gap:6px;align-items:center;font-size:11px;margin-top:7px;flex-wrap:wrap}.state.open{color:#187446}.state.closed{color:#8b5a45}.state.unknown{color:#797980}.state{display:inline-flex;align-items:center;gap:5px;font-weight:570}.state.closed .status-dot{background:#a7826d}.state.unknown .status-dot{background:#a3a3a9}.distance{color:var(--secondary);font-size:11px}.card-chevron{color:#b7b7bd;width:16px;height:16px}.tabbar{display:flex;justify-content:space-around;flex-shrink:0;background:#fafafcec;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);padding:6px 30px calc(7px + var(--safe-bottom));border-top:1px solid #e3e3e9;gap:20px}.tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;background:none;color:#898991;font-size:10px;min-height:45px;min-width:82px;border-radius:16px}.tab svg{width:23px;height:23px}.tab.active{color:var(--green);background:#eaf1ec}.empty{text-align:center;padding:24px;color:var(--secondary);font-size:13px;line-height:1.75}.empty strong{display:block;font-size:16px;color:var(--text);margin-bottom:6px}.empty button{margin:13px 4px 0;min-height:44px;background:#e7edf4;color:var(--blue);padding:10px 18px;border-radius:12px;font-weight:600}.loading-card{height:85px;margin:10px 22px;background:linear-gradient(90deg,#e9e9ed,#f5f5f8,#e9e9ed);background-size:200%;border-radius:15px;animation:shimmer 1.5s infinite}.pin{height:34px;width:34px;border-radius:50%;background:var(--green);color:#fff;border:3px solid #fff;box-shadow:0 3px 7px #182c3440;display:grid;place-items:center}.pin.cluster{width:40px;height:40px;font-size:15px;font-weight:700;background:#fff;color:var(--green);border:3px solid #d0e5d8;box-shadow:0 3px 10px #182c3430}.pin svg{width:18px;height:18px}.pin.pending{background:#a48263}.pin.closed{background:#8e9192}.pin.selected{transform:scale(1.2);box-shadow:0 0 0 6px #20795722,0 3px 7px #182c3440}.pin-label{position:absolute;left:41px;top:7px;white-space:nowrap;font-size:11px;font-weight:700;color:#285c44;text-shadow:0 0 4px white,0 0 4px white,0 0 4px white;pointer-events:none;max-width:150px;overflow:hidden;text-overflow:ellipsis}.detail-top{display:flex;justify-content:space-between;align-items:center;padding:0 14px}.detail-top>div{display:flex;gap:2px}.text-button{display:flex;align-items:center;color:var(--blue);font-size:16px;padding:8px 3px;background:none;min-height:44px}.text-button svg{width:20px;height:20px}#save[aria-pressed=true]{color:#df5773}#save[aria-pressed=true] svg{fill:currentColor}.detail-title{padding:10px 23px 17px}.detail-title h2{font-size:28px;letter-spacing:-.7px;line-height:1.2;margin:7px 0 10px;font-weight:730}.detail-title>.overline{color:var(--green)}.detail-title p{font-size:13px;line-height:1.6;margin:8px 0 0;color:var(--secondary)}.detail-title .state{font-size:13px}.detail-sub{display:flex;gap:12px;align-items:center;margin-top:8px}.detail-sub .distance{font-size:12px}.detail-section{background:var(--surface);border-radius:18px;margin:0 16px 13px;overflow:hidden}.detail-row{display:flex;align-items:flex-start;gap:12px;padding:16px}.detail-row>svg{color:var(--green);width:21px;height:21px;margin-top:1px}.detail-row>div{flex:1;min-width:0}.detail-row h3{font-size:14px;margin:0 0 5px;font-weight:620}.detail-row p{font-size:12px;line-height:1.7;margin:0;color:var(--secondary)}.detail-row a{font-size:13px;display:inline-flex;align-items:center;min-height:40px;gap:4px}.detail-row a svg{width:14px;height:14px}.detail-row+.detail-row{border-top:1px solid var(--line)}.detail-row.traffic{background:#f0f4f9}.traffic-label{font-size:11px!important;font-weight:600;color:#898991!important;margin-bottom:5px!important}.detail-action{padding:10px 18px;flex-shrink:0}.primary{min-height:50px;background:var(--blue);color:white;display:flex;align-items:center;justify-content:center;gap:8px;border-radius:16px;width:100%;font-size:16px;font-weight:650;letter-spacing:-.2px}.primary svg{width:19px;height:19px}.source-details{padding:5px 23px 18px;font-size:12px;color:var(--secondary)}summary{cursor:pointer;min-height:44px;display:flex;align-items:center;gap:7px}summary:after{content:'＋';margin-left:auto}.source-link{display:block;min-height:44px;padding:12px 0;font-size:12px;line-height:1.7}.historical{white-space:pre-wrap;font-size:11px;line-height:1.7;overflow-wrap:anywhere}.detail-footnote{padding:0 23px 18px;font-size:11px;line-height:1.6;color:var(--secondary)}dialog{margin:auto auto 0;width:100%;max-width:540px;max-height:calc(90dvh - env(safe-area-inset-top,0px));border:0;border-radius:28px 28px 0 0;padding:22px 20px calc(24px + var(--safe-bottom));background:var(--group);color:var(--text);box-shadow:0 -10px 60px #192c3333;overscroll-behavior:contain}dialog::backdrop{background:#17242d40;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.dialog-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.dialog-heading h2{font-size:24px;letter-spacing:-.6px;margin:0}.close-dialog{background:#e2e2e8;width:44px;height:44px}.close-dialog svg{width:18px;height:18px}.settings-group{background:var(--surface);border-radius:16px;overflow:hidden;margin-bottom:16px}.setting-row{display:flex;align-items:center;justify-content:space-between;min-height:62px;padding:14px 16px;gap:12px;font-size:14px}.setting-row+.setting-row{border-top:1px solid var(--line)}.setting-row small{display:block;font-size:11px;color:var(--secondary);margin-top:5px}.setting-row select{border:0;background:transparent;color:var(--blue);font-size:16px;max-width:150px;min-height:44px}.switch{appearance:none;-webkit-appearance:none;position:relative;width:49px;height:30px;border-radius:20px;background:#dddde2;margin:0;flex-shrink:0;transition:background .18s;cursor:pointer}.switch:before{content:'';position:absolute;width:26px;height:26px;left:2px;top:2px;border-radius:50%;background:white;box-shadow:0 2px 3px #0002;transition:transform .18s}.switch:checked{background:#34c759}.switch:checked:before{transform:translateX(19px)}.footnote{font-size:12px;line-height:1.6;color:var(--secondary);margin:14px 4px 20px}.info-lead{font-size:17px;color:var(--secondary)}.info-block{padding:17px}.info-block h3{font-size:15px;margin:0 0 10px}.info-block p{font-size:13px;color:var(--secondary);line-height:1.8;margin:9px 0 0}.toast{position:fixed;top:calc(env(safe-area-inset-top,0px) + 77px);left:50%;transform:translateX(-50%);z-index:2000;max-width:90%;padding:12px 20px;background:#252529ef;color:white;box-shadow:0 4px 20px #0002;border-radius:25px;font-size:13px;text-align:center}.sheet[data-snap=compact] .search-row,.sheet[data-snap=compact] .chips,.sheet[data-snap=compact] .results-heading,.sheet[data-snap=compact] #results,.sheet[data-snap=compact] .tabbar{display:none}.sheet[data-snap=compact] .location-status{margin-top:9px}.sheet[data-snap=compact] #detail-content{overflow:hidden}.map-fallback{max-width:260px;margin:120px 24px;font-size:13px;line-height:1.8;color:#5c6963}@keyframes shimmer{to{background-position:-200% 0}}
.top-actions{display:flex;gap:8px;align-items:center;pointer-events:auto}.language-toggle{min-width:48px;min-height:48px;font-size:14px;font-weight:650;border-radius:24px;padding:0 12px}.category-badge{display:inline-block;font-size:10px;line-height:1.6;font-weight:600;color:#53625b;background:#edf1ee;border-radius:6px;padding:1px 6px;margin:3px 0}.category-picker{max-width:180px}.profile-section{padding:18px 22px}.profile-section h3{font-size:16px;margin:0 0 8px}.profile-section h3:not(:first-child){margin-top:22px}.profile-section p{font-size:13px;line-height:1.7;color:var(--secondary);margin:5px 0 12px}.coffee-picks{padding-left:19px;margin:8px 0}.coffee-picks li{padding:4px 0}.coffee-picks strong{font-size:14px}.profile-sources summary{min-height:44px;display:flex;align-items:center;color:var(--blue);font-size:13px;cursor:pointer}.profile-sources a{display:block;min-height:44px;padding:10px 0;font-size:12px;overflow-wrap:anywhere}.profile-note{font-size:11px!important}html[lang=en] h1{font-size:23px;letter-spacing:-.6px}
@media(min-width:760px){.sheet{left:22px;bottom:22px;right:auto;width:390px;border-radius:26px;height:calc(100dvh - 120px);max-height:790px}.sheet[data-snap=expanded]{height:calc(100dvh - 105px)}.sheet[data-snap=compact]{height:158px}.topbar{left:24px;right:24px;top:20px}.map-tools{right:24px;top:104px}.leaflet-top.leaflet-right{top:80px}.tabbar{padding-bottom:9px}.map-message{left:calc(50% + 80px)}dialog{margin:auto;border-radius:26px}.sheet-handle{height:27px;min-height:27px}}
@media(max-height:650px){.sheet{--sheet-height:62dvh}.sheet[data-snap=medium] .overline,.sheet[data-snap=medium] .location-status{display:none}.browse-header{margin-bottom:9px}h1{font-size:22px}.chips{padding-top:8px;padding-bottom:6px}.results-heading{padding-top:3px}.card{padding-top:12px;padding-bottom:12px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media(prefers-contrast:more){.glass,.sheet{background:#fff}.location-status,.distance,.overline,.card p{color:#4b4b50}.chip{border-color:#aaa}}@media(prefers-reduced-transparency:reduce){.glass,.sheet{background:#fafafc;backdrop-filter:none;-webkit-backdrop-filter:none}}
.food-badge{margin-left:5px;color:#765529;background:#f7eddb}.food-badges{display:flex;flex-wrap:wrap;gap:5px;margin:6px 0 12px}.food-badges .category-badge{font-size:11px;margin:0;color:#765529;background:#f7eddb}.food-section .profile-sources p{font-size:11px}.food-setting>span{flex:1;min-width:0}.food-setting select{max-width:155px;min-width:0}.occasion-note{margin-top:4px}#filters{overflow-y:auto}#apply-filters{position:sticky;bottom:0;z-index:1;box-shadow:0 -8px 18px var(--group)}@media(max-width:360px){.food-setting{display:block}.food-setting select{display:block;width:100%;max-width:none;margin-top:7px}.setting-row{padding-left:13px;padding-right:13px}.setting-row select{max-width:140px}}
.toilet-section{background:#eef6f2}.toilet-status{padding:12px 0}.toilet-status+.toilet-status{border-top:1px solid var(--line)}.toilet-status strong{display:block;font-size:13px}.toilet-status p{margin:5px 0}.toilet-section>a{display:block;min-height:44px;padding:10px 0;font-size:13px}
.recommendations{padding:14px 0 9px;border-bottom:1px solid var(--line)}.recommendation-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:0 22px 9px}.recommendation-heading strong{font-size:14px}.recommendation-heading span{font-size:10px;color:var(--secondary);text-align:right}.recommendation-strip{display:grid;grid-auto-flow:column;grid-auto-columns:min(72vw,250px);gap:10px;overflow-x:auto;padding:0 22px 8px;scroll-snap-type:x proximity;scrollbar-width:none}.recommendation-strip::-webkit-scrollbar{display:none}.suggestion-card{min-height:94px;padding:14px;border-radius:16px;background:#edf4f0;text-align:left;display:grid;grid-template-columns:34px 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;scroll-snap-align:start}.suggestion-icon{grid-row:1/3;width:34px;height:34px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center}.suggestion-icon svg{width:19px}.suggestion-card strong{font-size:13px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.suggestion-card>span:last-child{font-size:10px;color:var(--secondary);align-self:start}.sheet[data-snap=compact] .recommendations{display:none}@media(min-width:760px){.recommendation-strip{grid-auto-columns:250px}}
.share-card{display:block;width:100%;height:auto;border-radius:16px;background:#e9f1ec;box-shadow:0 2px 12px #1a293517}.share-copy-label{display:block;font-size:12px;font-weight:650;margin:16px 3px 7px}.share-message{display:block;width:100%;resize:vertical;border:1px solid #d6d6dc;border-radius:13px;background:#fff;color:var(--text);font:14px/1.55 inherit;padding:11px 12px;min-height:106px}.share-note{margin-bottom:12px}.share-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.share-actions .primary{grid-column:1/-1}.secondary-action{min-height:46px;border-radius:14px;background:#fff;color:var(--blue);display:flex;align-items:center;justify-content:center;font-weight:650;font-size:14px;border:1px solid #e2e2e8}.share-actions button.secondary-action{width:100%}#share-dialog{overflow-y:auto}

/* iOS-inspired filter sheet: stable custom controls replace platform-native selects. */
.card-tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:3px}.card-tags:empty{display:none}.card-tags .food-badge{margin-left:0}

/* Image-first cafe detail. Official Instagram media stays embedded from the
   source account; the app does not duplicate third-party image files. */
.media-hero{margin:0 0 6px}.media-strip{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 16px 7px;scrollbar-width:none}.media-strip::-webkit-scrollbar{display:none}.media-slide{position:relative;min-width:calc(100% - 38px);height:430px;margin:0;border-radius:22px;overflow:hidden;background:#fff;scroll-snap-align:center;box-shadow:0 4px 20px #1b2b2614}.media-slide iframe{width:100%;height:100%;border:0;background:#fff}.media-label{position:absolute;left:12px;bottom:12px;background:#171719d9;color:#fff;border-radius:18px;padding:7px 11px;font-size:11px;font-weight:700;pointer-events:none}.media-count{text-align:center;color:var(--secondary);font-size:10px;font-weight:650;letter-spacing:.15px}.media-empty{height:210px;margin:0 16px 8px;border-radius:22px;background:radial-gradient(circle at 78% 20%,#f3c9a8 0 12%,transparent 13%),linear-gradient(135deg,#dbeae3,#f2e6d8);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:#275d48}.media-empty-mark{display:grid;place-items:center;width:62px;height:62px;border-radius:22px;background:#ffffffb8;font-size:29px}.media-empty strong{font-size:17px}.detail-title{padding-top:14px}.detail-address{display:flex;align-items:flex-start;gap:7px;margin:9px 0 6px;color:#55565d;font-size:12px;line-height:1.55}.detail-address svg{width:17px;height:17px;color:var(--green);margin-top:1px}.detail-address svg:last-child{color:#aaaab1;margin-left:auto}.section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}.section-heading h3{margin:0!important;font-size:17px}.section-heading>span{font-size:10px;color:var(--secondary);white-space:nowrap}.compact-food-section{padding:18px 20px}.visual-food-badges{gap:7px;margin:0 0 10px}.visual-food-badges .category-badge{font-size:12px;padding:7px 10px;border-radius:14px}.food-examples{display:flex;gap:7px;overflow-x:auto;scrollbar-width:none}.food-examples::-webkit-scrollbar{display:none}.food-examples span{white-space:nowrap;background:#f4f1ec;color:#6f5537;border-radius:16px;padding:8px 11px;font-size:11px;font-weight:650}.compact-sources{margin-top:8px}.compact-sources summary{min-height:36px;font-size:11px;color:var(--secondary)}.highlight-section{padding:18px 20px}.highlight-list{display:grid;gap:8px}.highlight-pill{min-height:58px;border-radius:15px;padding:10px 12px;display:grid;grid-template-columns:58px 1fr;gap:8px;align-items:center;color:var(--text);background:#f2f3f2}.highlight-pill small{font-size:9px;font-weight:750;letter-spacing:.4px;text-transform:uppercase;color:var(--green)}.highlight-pill strong{font-size:12px;line-height:1.45}.highlight-pill.try{background:#f7efe3}.highlight-pill.try small{color:#9a6429}.highlight-pill.watch{background:#f2edf5}.highlight-pill.watch small{color:#77558b}.editorial-note{font-size:9px!important;color:#929298!important;margin:9px 2px 0!important}.feature-short{font-size:13px!important;line-height:1.55!important;color:#4f5056!important}.coffee-picks{display:flex!important;gap:7px;overflow-x:auto;padding:0!important;margin:10px 0 0!important;list-style:none}.coffee-picks span{display:block;white-space:nowrap;background:#e9f2ed;color:#28684e;border-radius:17px;padding:8px 11px;font-size:11px}.essentials-section{overflow:hidden}.essential-row{min-height:68px;padding:12px 16px;display:grid;grid-template-columns:25px 1fr 18px;gap:11px;align-items:center;color:var(--text)}.essential-row+.essential-row{border-top:1px solid var(--line)}.essential-row>svg:first-child{color:var(--green)}.essential-row>svg:last-child{color:#aaaab1;width:17px}.essential-row span{display:grid;gap:3px;min-width:0}.essential-row small{font-size:10px;color:var(--secondary)}.essential-row strong{font-size:12px;line-height:1.45;overflow:hidden;text-overflow:ellipsis}.detail-meta{margin:0 22px 8px;padding:0}.detail-meta summary{font-size:11px;color:var(--secondary)}.detail-meta p{font-size:10px;line-height:1.65;color:var(--secondary)}.external-links{margin:0 20px 28px;display:flex;justify-content:flex-end;align-items:center;gap:7px;color:var(--secondary)}.external-links>span{font-size:9px;margin-right:3px}.external-links a{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#e9e9ee;color:#666}.external-links a svg{width:17px;height:17px}.external-links #instagram-link{color:#a83a70}.story-transition{height:82px;margin:18px 16px 24px;display:grid;place-items:center;border-top:1px solid #dfe2df;color:var(--green)}.story-transition span{margin-top:18px;padding:8px 13px;border-radius:16px;background:#e4efe8;font-size:10px;font-weight:750;letter-spacing:.3px}.cafe-story{padding-top:1px}.cafe-story+.cafe-story{background:linear-gradient(#eef2ef,#fafafc 120px)}
@media(max-width:360px){.media-slide{height:390px;min-width:calc(100% - 30px)}.connect-grid{grid-template-columns:1fr}.highlight-pill{grid-template-columns:54px 1fr 12px}}
.media-slide img,.media-slide video{width:100%;height:100%;display:block;object-fit:cover;background:#111}.video-slide .media-label{bottom:54px}.video-badge{position:absolute;right:12px;top:12px;background:#171719d9;color:#fff;border-radius:16px;padding:6px 9px;font-size:9px;font-weight:750;pointer-events:none}.media-subsection{margin:0 0 15px}.media-section-title{display:flex;justify-content:space-between;align-items:center;padding:5px 20px 11px}.media-section-title strong{font-size:17px}.media-section-title span{font-size:10px;color:var(--secondary)}
.media-thumb{overflow:hidden}.media-thumb img{width:100%;height:100%;display:block;object-fit:cover}.suggestion-icon.media-thumb{padding:0;border-radius:14px}
#filters{display:none;flex-direction:column;margin:auto auto 0;max-height:calc(94dvh - env(safe-area-inset-top,0px));padding:0;border-radius:32px 32px 0 0;background:#f5f5f7;overflow:hidden}#filters[open]{display:flex}#filters::backdrop{background:#17242d4d;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}
.filter-toolbar{height:72px;flex-shrink:0;padding:13px 15px 8px;margin:0;border-bottom:1px solid #dfdfe4;background:#f7f7f8e8;-webkit-backdrop-filter:blur(24px) saturate(1.5);backdrop-filter:blur(24px) saturate(1.5)}.filter-toolbar h2{font-size:17px;font-weight:700;letter-spacing:-.25px}.filter-toolbar .text-button{min-width:62px;justify-content:flex-start;padding:0 5px;font-size:15px}.filter-toolbar .close-dialog{background:none;width:auto;height:44px}.filter-toolbar #clear-filters{justify-content:flex-end}
.filter-scroll{overflow-y:auto;padding:17px 16px 8px;min-height:0}.filter-section{border:0;padding:0;margin:0 0 18px}.filter-section legend{font-size:18px;font-weight:720;letter-spacing:-.3px;padding:0;margin:0}.filter-help{font-size:12px;line-height:1.45;color:var(--secondary);margin:4px 0 10px}.filter-help-bottom{margin:9px 4px 0}
.choice-grid{display:grid;gap:7px}.choice-grid-3{grid-template-columns:repeat(3,1fr)}.choice-grid-4{grid-template-columns:repeat(4,1fr)}.choice{min-height:48px;padding:8px 10px;border-radius:15px;background:#fff;border:1px solid #e5e5e9;font-size:14px;font-weight:620;line-height:1.2;box-shadow:0 1px 2px #00000008}.choice.active{color:#176743;background:#e4f2ea;border-color:#a9d4bc;box-shadow:inset 0 0 0 1px #a9d4bc}
.choice-stack{background:#fff;border-radius:18px;overflow:hidden;border:1px solid #e8e8ec}.choice-row{display:flex;width:100%;min-height:68px;align-items:center;justify-content:space-between;text-align:left;padding:10px 14px;background:#fff}.choice-row+.choice-row{border-top:1px solid var(--line)}.choice-leading{display:flex;align-items:center;gap:11px;min-width:0}.choice-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#f4eee5;color:#815f37;flex-shrink:0}.choice-icon svg{width:21px;height:21px}.choice-row strong{display:block;font-size:15px;line-height:1.3}.choice-row small{display:block;color:var(--secondary);font-size:11px;margin-top:3px}.checkmark{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:#ededf1;color:transparent;font-size:15px;font-weight:800;flex-shrink:0}.choice-row.active .choice-icon{background:#e2f1e9;color:var(--green)}.choice-row.active .checkmark{background:var(--green);color:#fff}
.switch-row{min-height:68px;background:#fff;border-radius:18px;display:flex;align-items:center;justify-content:space-between;padding:12px 15px}.switch-row strong{display:block;font-size:15px}.switch-row small{display:block;font-size:11px;color:var(--secondary);margin-top:4px}.filter-action{padding:10px 16px calc(12px + var(--safe-bottom));background:#f7f7f8e8;border-top:1px solid #dfdfe4;-webkit-backdrop-filter:blur(24px) saturate(1.5);backdrop-filter:blur(24px) saturate(1.5)}#apply-filters{position:static;min-height:52px;background:var(--green);border-radius:17px;box-shadow:0 6px 18px #20795735}
@media(max-width:390px){.choice-grid-4.compact{grid-template-columns:repeat(2,1fr)}.filter-scroll{padding-left:13px;padding-right:13px}.filter-section{margin-bottom:16px}}
.essential-row em{font-size:9px;line-height:1.35;color:var(--secondary);font-style:normal}
.detail-essentials-top{margin-top:-3px}.new-detail-badge{display:inline-flex;align-items:center;border-radius:14px;padding:5px 8px;background:#e6f2ea;color:var(--green);font-size:10px;font-weight:750}.opening-date-row strong{display:flex;align-items:center;gap:7px}.tabbar{padding-left:16px;padding-right:16px;gap:8px}.tab{min-width:72px}.new-opening-feed{display:grid;gap:18px;padding:7px 12px 28px;scroll-snap-type:y proximity}.discovery-month{display:grid;gap:18px}.discovery-month-title{display:flex;align-items:end;justify-content:space-between;padding:3px 4px 0}.discovery-month-title strong{font-size:17px}.discovery-month-title span{font-size:10px;color:var(--secondary)}.new-opening-card{position:relative;border-radius:24px;background:#fff;overflow:hidden;box-shadow:0 8px 28px #17293a17;scroll-snap-align:start}.new-opening-card .hero-media{margin:0}.new-opening-card .hero-media .media-strip{padding:0;gap:0}.new-opening-card .hero-media .media-slide{min-width:100%;height:min(59dvh,520px);border-radius:0;box-shadow:none}.new-opening-card .hero-media .media-label{display:none}.new-opening-card .media-count{display:none}.new-opening-media{position:relative;touch-action:manipulation}.discovery-save-indicator{position:absolute;right:14px;top:14px;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;color:#222;background:#fffffff0;box-shadow:0 4px 18px #0003;z-index:3;pointer-events:none}.discovery-save-indicator svg{width:24px;height:24px}.discovery-save-indicator.saved{color:#e34d62}.discovery-save-indicator.saved svg{fill:currentColor}.double-tap-heart{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%) scale(.35);width:min(78%,300px);display:grid;justify-items:center;gap:10px;color:#fff;opacity:0;text-align:center;pointer-events:none}.double-tap-heart-icon{width:88px;height:88px;aspect-ratio:1/1;fill:#fff;stroke:#fff;stroke-width:1.4;filter:drop-shadow(0 4px 14px #0008)}.double-tap-heart small{padding:8px 12px;border-radius:16px;background:#171719d9;font-size:13px;font-weight:750;text-shadow:none}.new-opening-card.heart-pop .double-tap-heart{animation:heart-pop 1.15s ease}.new-opening-caption{position:relative;width:100%;padding:14px 48px 17px 16px;background:#fff;text-align:left;display:grid;gap:4px}.new-opening-caption>svg{position:absolute;right:17px;top:50%;transform:translateY(-50%);color:#aaaab1;width:18px}.new-opening-caption strong{font-size:20px;line-height:1.25}.new-opening-caption>span:not(.new-opening-label){font-size:12px;color:var(--green);font-weight:650}.new-opening-caption small{font-size:11px;color:var(--secondary);line-height:1.4}.new-opening-label{width:max-content;border-radius:13px;padding:4px 7px;background:#e8f2ec;color:var(--green);font-size:9px;font-weight:800;letter-spacing:.6px}.new-empty{padding-top:60px}@keyframes heart-pop{0%{opacity:0;transform:translate(-50%,-50%) scale(.35)}18%{opacity:1;transform:translate(-50%,-50%) scale(1.06)}72%{opacity:1;transform:translate(-50%,-50%) scale(.96)}100%{opacity:0;transform:translate(-50%,-50%) scale(1.12)}}
.discovery-intro{padding:4px 4px 10px;display:flex;justify-content:space-between;gap:12px;align-items:end}.discovery-intro strong{font-size:13px}.discovery-intro span{font-size:10px;color:var(--secondary);text-align:right}
.discovery-media{position:relative;height:min(59dvh,520px);overflow:hidden;background:#111}.discovery-media img,.discovery-media video{width:100%;height:100%;display:block;object-fit:cover;background:#111}.discovery-video .video-badge{top:14px;right:14px}.new-opening-card .media-empty{height:min(59dvh,520px);margin:0;border-radius:0}.new-opening-media{cursor:pointer}
.brand-reference-badge{position:absolute;left:12px;bottom:12px;z-index:2;padding:6px 9px;border-radius:14px;background:#171719c9;color:#fff;font-size:9px;font-weight:750;letter-spacing:.2px;pointer-events:none}
#browse-panel.new-mode .location-status,#browse-panel.new-mode .search-row,#browse-panel.new-mode .chips{display:none}#browse-panel.new-mode .browse-header{padding-bottom:8px}#browse-panel.new-mode .results-heading{padding-top:5px}
.legal-links{display:flex;flex-wrap:wrap;gap:8px;padding:4px 2px 2px}.legal-links a{font-size:12px;padding:9px 11px;background:#f2f2f7;border-radius:12px}.consent-banner{position:fixed;z-index:1000;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));max-width:620px;margin:auto;padding:14px;background:#fffffff5;border:1px solid #fff;border-radius:18px;box-shadow:0 8px 35px #15251e33;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}.consent-banner p{margin:0;display:grid;gap:4px;font-size:12px;line-height:1.45}.consent-banner p strong{font-size:14px}.consent-banner p span{color:var(--secondary)}.consent-banner p a{width:max-content}.consent-banner>div{display:flex;gap:8px;margin-top:11px}.consent-banner button{min-height:44px;flex:1;border-radius:12px;background:#ececf1;font-weight:650}.consent-banner button.primary{background:var(--green);color:#fff;padding:8px 12px}
.top-actions #account.signed-in{color:var(--green);box-shadow:0 0 0 2px #5ca98455,0 5px 20px #1a29351a}.account-state{display:grid;gap:16px}.account-nudge-copy{display:grid;gap:4px;margin:0;padding:14px 16px;border-radius:16px;background:var(--green-soft);color:var(--text)}.account-nudge-copy[hidden]{display:none}.account-nudge-copy strong{font-size:16px}.account-nudge-copy span{font-size:12px;line-height:1.5;color:var(--secondary)}.account-hero{display:flex;align-items:center;gap:13px;background:#fff;border-radius:18px;padding:15px}.account-hero strong{display:block;font-size:16px}.account-hero p{margin:4px 0 0;color:var(--secondary);font-size:12px;line-height:1.55}.account-avatar{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto;color:#fff;background:var(--green)}.account-avatar svg{width:26px;height:26px}.account-photo{object-fit:cover}.google-sign-in{min-height:52px;border-radius:16px;background:#fff;border:1px solid #dadce0;display:flex;align-items:center;justify-content:center;gap:12px;font-weight:650;font-size:15px}.google-sign-in:disabled{background:#eeeef2}.google-mark{font:700 20px Arial;color:#4285f4}.account-later{min-height:44px;border-radius:14px;background:transparent;color:var(--secondary);font-weight:650}.account-state .footnote{margin:0}.account-state form{display:grid;gap:12px}.account-state label{display:grid;gap:6px;font-size:12px;font-weight:650;color:#55555d}.account-state input,.account-state textarea{width:100%;border:1px solid #d8d8de;border-radius:13px;background:#fff;color:var(--text);font:16px/1.4 inherit;padding:11px 12px;resize:vertical}.account-secondary{min-height:46px;border-radius:14px;background:#fff;color:#d04d5f;font-weight:650}.account-delete-link{display:block;text-align:center;font-size:12px;min-height:44px;padding:13px;color:var(--secondary)}#account-dialog{overflow-y:auto}
@media(max-width:360px){.brand{width:48px;padding:0;justify-content:center}.brand>span:last-child{display:none}.top-actions{gap:5px}.top-actions .icon-button,.top-actions .language-toggle{width:44px;min-width:44px;height:44px;min-height:44px;padding:0}}
.media-scope-note{margin:0;padding:10px 14px;background:#fff4dc;color:#765529;font-size:11px;line-height:1.55;border-top:1px solid #eedbb6}
:root{--green-soft:#eaf1ec}
