@import "https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;600;700;900&display=swap";:root{--c-bg:#f4e6d8;--c-bg-a:#e6d0bc;--c-paper:#fbf3ea;--c-paper-d:#e0cdb8;--c-red:#a84f33;--c-red-l:#f2e0d6;--c-red-d:#7a3622;--c-gold:#bd8a3c;--c-gold-l:#f3e7cf;--c-gold-d:#8a6020;--c-teal:#b05e40;--c-teal-l:#f0ded4;--c-teal-d:#7a3622;--c-ink:#3d2417;--c-ink-l:#6e4a37;--c-ink-ll:#9e7e6b;--c-bdr:#d6b89c;--c-bdr-l:#e9d6c3;--c-accent:#8a3f26;--c-accent-l:#f2e0d6;--c-green:#5c8a56;--c-green-l:#e1ebd9;--c-green-d:#3e6238;--c-dan-blue:#2c5566;--c-dan-blue-d:#17323e;--font-serif:"Playfair Display", Georgia, serif}.app-main{z-index:1;flex:1;padding:1.25rem 1.25rem 2rem;position:relative}.app-header{z-index:5;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:linear-gradient(#fbf3eaf5,#fbf3eab3);justify-content:space-between;align-items:center;padding:1rem 1.25rem .5rem;display:flex;position:sticky;top:0}.app-wordmark{flex-direction:column;gap:2px;display:flex}.app-wordmark-label{letter-spacing:.06em;color:var(--c-accent);font-size:15px;font-weight:700}.app-wordmark-sub{color:var(--c-ink-ll);letter-spacing:.04em;font-size:12px}.back-btn{border:1.5px solid var(--c-bdr);width:34px;height:34px;color:var(--c-ink);cursor:pointer;background:0 0;border-radius:50%;flex-shrink:0;font-size:16px}.intro-btn{border:1.5px solid var(--c-bdr);cursor:pointer;color:var(--c-accent);letter-spacing:.02em;background:0 0;border-radius:16px;flex-shrink:0;padding:6px 14px;font-family:inherit;font-size:12.5px;font-weight:700}.app-header-title{color:var(--c-accent);text-align:center;text-overflow:ellipsis;white-space:nowrap;flex:1;padding:0 8px;font-size:16px;font-weight:700;overflow:hidden}.nav-bar{z-index:5;border-top:1.5px solid var(--c-bdr-l);background:var(--c-paper);padding:8px 0 calc(8px + env(safe-area-inset-bottom));display:flex;position:sticky;bottom:0}.nav-item{color:var(--c-ink-ll);letter-spacing:.03em;flex-direction:column;flex:1;align-items:center;gap:2px;font-size:11px;font-weight:700;display:flex}.nav-item span:first-child{font-size:19px}.nav-item.active{color:var(--c-red)}.picker{animation:.35s both fadeIn}.home-greeting{text-transform:uppercase;letter-spacing:.12em;color:var(--c-ink-ll);margin-bottom:.5rem;font-size:13px;font-weight:700}.picker-title{color:var(--c-accent);letter-spacing:-.01em;margin-bottom:2rem;font-size:29px;font-weight:700;line-height:1.25}.location-cards{gap:.75rem;margin-bottom:1.75rem;display:flex}.location-card{text-align:center;background:var(--c-paper);border:1.5px solid var(--c-bdr-l);box-shadow:0 3px 0 var(--c-bdr-l);border-radius:18px;flex-direction:column;flex:1;align-items:center;gap:.6rem;padding:1.5rem 1rem 1.25rem;transition:transform .15s,box-shadow .15s,border-color .2s,background-color .2s;animation:.45s cubic-bezier(.2,.8,.3,1.1) both cardIn;display:flex;position:relative;overflow:hidden}.location-card:before{content:"";background:var(--c-red);height:5px;position:absolute;top:0;left:0;right:0}.location-card.accent-green:before{background:var(--c-green)}.location-card-icon{background:var(--c-red-l);width:46px;height:46px;color:var(--c-red-d);border-radius:13px;justify-content:center;align-items:center;display:flex}.location-card.accent-green .location-card-icon{background:var(--c-green-l);color:var(--c-green-d)}.location-card-name{color:var(--c-accent);font-size:18px;font-weight:700}.location-card-count{color:var(--c-red-d);background:var(--c-red-l);letter-spacing:.01em;border-radius:20px;padding:3px 11px;font-size:11.5px;font-weight:700}.location-card.accent-green .location-card-count{color:var(--c-green-d);background:var(--c-green-l)}.location-card:active{box-shadow:0 1px 0 var(--c-bdr-l);transform:translateY(2px)}.location-card.selected{border-color:var(--c-red);box-shadow:0 3px 0 var(--c-red-d), 0 0 0 3px var(--c-red-l)}.location-card.selected.accent-green{border-color:var(--c-green);box-shadow:0 3px 0 var(--c-green-d), 0 0 0 3px var(--c-green-l)}@media (hover:hover){.location-card:hover{transform:translateY(-2px)}}@keyframes cardIn{0%{opacity:0;transform:translateY(14px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.explore-page{padding-top:.1rem}.hood-tabs{gap:.6rem;margin-bottom:.75rem;display:flex}.hood-tab{border:1.5px solid var(--c-bdr);background:var(--c-paper);color:var(--c-ink-l);cursor:pointer;text-align:center;border-radius:14px;flex:1;justify-content:center;align-items:center;padding:14px 10px;font-family:inherit;font-size:16px;font-weight:700;display:flex}.hood-tab.active{background:var(--c-red);color:#fff;border-color:var(--c-red);box-shadow:0 3px 0 var(--c-red-d)}.hood-tab.accent-green.active{background:var(--c-green);border-color:var(--c-green);box-shadow:0 3px 0 var(--c-green-d)}.hood-blurb{color:var(--c-ink-l);margin-bottom:1.75rem;font-size:14px;line-height:1.55}.all-neighborhoods-link{text-align:center;color:var(--c-ink-ll);margin-top:.5rem;padding:1rem 0;font-size:13px;font-weight:700;display:block}.section-row{margin-bottom:2rem}.section-row-head{justify-content:space-between;align-items:baseline;margin-bottom:.75rem;display:flex}.section-row-head h2,.section-title-standalone{text-transform:uppercase;letter-spacing:.1em;color:var(--c-ink-ll);border-left:3px solid var(--c-red);padding-left:10px;font-size:13px;font-weight:700}.section-title-standalone{margin-bottom:.9rem;display:block}.section-see-all{color:var(--c-red);white-space:nowrap;font-size:12.5px;font-weight:700}.explore-page.accent-green .section-row-head h2,.explore-page.accent-green .section-title-standalone{border-left-color:var(--c-green)}.explore-page.accent-green .section-see-all{color:var(--c-green-d)}.section-row-scroll{scrollbar-width:none;gap:.9rem;padding-bottom:4px;display:flex;overflow-x:auto}.section-row-scroll::-webkit-scrollbar{display:none}.section-row-scroll>*{flex:none}.category-chips{scrollbar-width:none;gap:8px;margin-bottom:1.1rem;padding-bottom:6px;display:flex;overflow-x:auto}.category-chips::-webkit-scrollbar{display:none}.category-chip{border:1.5px solid var(--c-bdr);color:var(--c-ink-ll);cursor:pointer;white-space:nowrap;background:0 0;border-radius:20px;flex:none;padding:8px 15px;font-family:inherit;font-size:13px;font-weight:700}.category-chip.active{background:var(--c-red);color:#fff;border-color:var(--c-red)}.explore-page.accent-green .category-chip.active{background:var(--c-green);border-color:var(--c-green)}.r-tile{width:136px;display:block}.r-tile-art{width:46px;margin-bottom:.7rem}.r-tile-name{color:var(--c-ink);letter-spacing:-.01em;font-size:16px;font-weight:700;line-height:1.3}.r-tile-sub{color:var(--c-red);margin-top:4px;font-size:12px;font-weight:700}.card-grid{flex-direction:column;gap:0;display:flex}.r-card{border-bottom:1px solid var(--c-bdr-l);align-items:center;gap:.9rem;width:100%;padding:.9rem 0;display:flex}.r-card-thumb{flex-shrink:0;width:56px}.r-card-meta{flex:1;min-width:0}.r-card-name{color:var(--c-ink);font-size:17px;font-weight:700;line-height:1.3}.r-card-sub{color:var(--c-ink-ll);margin-top:2px;font-size:13px}.r-card-tags{color:var(--c-red);margin-top:4px;font-size:12.5px;font-weight:700}.saved-banner{background:var(--c-paper);border:1.5px solid var(--c-bdr-l);color:var(--c-ink);border-radius:16px;align-items:center;gap:.7rem;margin-top:1.5rem;padding:.9rem 1.1rem;font-size:14.5px;transition:transform .15s,box-shadow .15s;display:flex;box-shadow:0 2px 10px #7a36220f}.saved-banner:active{transform:translateY(2px);box-shadow:0 1px 4px #7a36220f}.saved-banner-icon{background:var(--c-red-l);width:32px;height:32px;color:var(--c-red);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;display:flex}.saved-banner-label{flex:1;font-weight:700}.saved-banner-arrow{color:var(--c-ink-ll);font-size:15px}.browse-page{padding-top:.25rem}.page-title{color:var(--c-accent);margin-bottom:.4rem;font-size:24px;font-weight:700}.page-blurb{color:var(--c-ink-l);margin-bottom:1.1rem;font-size:14.5px;line-height:1.55}.detail-page{padding-top:.25rem}.detail-breadcrumb{color:var(--c-ink-ll);letter-spacing:.02em;margin-top:.75rem;font-size:12.5px;font-weight:700}.detail-breadcrumb a{color:var(--c-red)}.detail-title{color:var(--c-accent);margin-top:.4rem;font-size:26px;font-weight:700}.detail-description{color:var(--c-ink-l);margin-top:.6rem;font-size:15px;line-height:1.6}.detail-callout{background:var(--c-red-l);border:1.5px dashed var(--c-bdr);border-radius:14px;align-items:flex-start;gap:.75rem;margin:1.25rem 0;padding:1rem;display:flex}.detail-callout-label{text-transform:uppercase;letter-spacing:.08em;color:var(--c-accent);margin-bottom:3px;font-size:11.5px;font-weight:700}.detail-callout-text{color:var(--c-ink);font-size:14px;font-style:italic;line-height:1.5}.detail-section-label{text-transform:uppercase;letter-spacing:.1em;color:var(--c-ink-ll);border-left:3px solid var(--c-red);margin-top:1.5rem;margin-bottom:.6rem;padding-left:10px;font-size:13px;font-weight:700}.dish-list{flex-direction:column;gap:.4rem;list-style:none;display:flex}.dish-list li{color:var(--c-ink);padding-left:1.1rem;font-size:14.5px;position:relative}.dish-list li:before{content:"食";color:var(--c-gold);font-size:12px;position:absolute;top:2px;left:0}.detail-meta-row{border-top:1.5px solid var(--c-bdr-l);border-bottom:1.5px solid var(--c-bdr-l);justify-content:space-between;gap:.5rem;margin-top:1.5rem;padding:1rem 0;display:flex}.detail-meta-label{text-transform:uppercase;letter-spacing:.06em;color:var(--c-ink-ll);font-size:11px;font-weight:700}.detail-meta-value{color:var(--c-ink);margin-top:3px;font-size:15px;font-weight:700}.detail-actions{flex-wrap:wrap;gap:.6rem;margin-top:1.5rem;display:flex}.action-btn{background:var(--c-paper);border:1.5px solid var(--c-bdr);color:var(--c-ink);cursor:pointer;border-radius:22px;align-items:center;gap:6px;padding:10px 18px;font-family:inherit;font-size:14px;font-weight:700;display:inline-flex}.action-btn.active{background:var(--c-red);color:#fff;border-color:var(--c-red)}.empty-state{text-align:center;color:var(--c-ink-ll);padding:3rem 1rem;font-size:15px;line-height:1.6}.empty-state .action-btn{margin-top:1rem;display:inline-flex}.intro{flex-direction:column;flex:1;justify-content:space-between;min-height:100vh;display:flex}.intro-content{text-align:left;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2.75rem;padding:2rem 1.75rem 3rem;display:flex}.intro-hero{width:100%;max-width:320px;position:relative}.intro-hero-badge{z-index:3;filter:drop-shadow(0 4px 10px #3d24174d);position:absolute;top:-28px;right:-8px}.intro-hero-kicker{letter-spacing:.14em;text-transform:uppercase;color:var(--c-gold-d);margin-bottom:.6rem;font-size:12.5px;font-weight:700;animation:.5s 50ms both heroFade}.intro-hero-title{z-index:1;letter-spacing:-.02em;color:var(--c-accent);font-size:clamp(46px,13vw,60px);font-weight:900;line-height:.96;animation:.55s .1s both heroFade;position:relative}.intro-hero-art{z-index:2;filter:drop-shadow(0 16px 20px #3d241747);width:182px;height:182px;animation:.6s cubic-bezier(.2,.8,.3,1.2) .2s both heroPop;position:absolute;bottom:20px;right:2px;transform:rotate(-6deg)}.intro-cta{background:var(--c-red);color:#fff;letter-spacing:.02em;cursor:pointer;box-shadow:0 4px 0 var(--c-red-d);border:none;border-radius:28px;padding:15px 38px;font-family:inherit;font-size:15px;font-weight:700;transition:transform .15s,box-shadow .15s;animation:.5s .35s both heroFade}.intro-cta:active{box-shadow:0 1px 0 var(--c-red-d);transform:translateY(3px)}.intro-border{flex-shrink:0}@keyframes heroFade{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes heroPop{0%{opacity:0;transform:rotate(-7deg)scale(.85)}to{opacity:1;transform:rotate(-7deg)scale(1)}}*{box-sizing:border-box;margin:0;padding:0}body{background-color:#e8c9a8;background-image:linear-gradient(#edd5b8,#dfb98e)}.app{color:#3d2417;background:#fbf0e4 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cg stroke='%23C49A6A' fill='none' stroke-linecap='round'%3E%3Cpath d='M5 12 Q14 10 22 12' stroke-width='.7' opacity='.09'/%3E%3Cpath d='M40 8 Q50 6 62 8' stroke-width='.6' opacity='.07'/%3E%3Cpath d='M82 15 Q90 12 100 14' stroke-width='.8' opacity='.09'/%3E%3Cpath d='M118 9 Q127 7 136 9' stroke-width='.6' opacity='.07'/%3E%3Cpath d='M2 30 Q12 27 20 30' stroke-width='.7' opacity='.08'/%3E%3Cpath d='M48 26 Q58 23 68 26' stroke-width='.6' opacity='.07'/%3E%3Cpath d='M96 32 Q106 29 116 31' stroke-width='.8' opacity='.09'/%3E%3Cpath d='M15 48 Q28 44 40 47' stroke-width='.9' opacity='.10'/%3E%3Cpath d='M62 44 Q72 41 84 43' stroke-width='.7' opacity='.08'/%3E%3Cpath d='M108 50 Q118 47 130 49' stroke-width='.6' opacity='.07'/%3E%3Cpath d='M5 65 Q16 62 26 64' stroke-width='.7' opacity='.09'/%3E%3Cpath d='M42 68 Q54 65 64 67' stroke-width='.8' opacity='.09'/%3E%3Cpath d='M80 61 Q92 58 104 61' stroke-width='.6' opacity='.07'/%3E%3Cpath d='M122 66 Q130 63 138 65' stroke-width='.7' opacity='.08'/%3E%3Cpath d='M18 84 Q30 81 42 83' stroke-width='.9' opacity='.10'/%3E%3Cpath d='M60 80 Q72 77 82 79' stroke-width='.6' opacity='.07'/%3E%3Cpath d='M100 86 Q110 83 120 85' stroke-width='.7' opacity='.08'/%3E%3Cpath d='M8 100 Q20 97 30 99' stroke-width='.7' opacity='.09'/%3E%3Cpath d='M50 104 Q62 101 74 103' stroke-width='.8' opacity='.09'/%3E%3Cpath d='M86 96 Q98 93 110 95' stroke-width='.6' opacity='.07'/%3E%3Cpath d='M125 102 Q132 100 139 101' stroke-width='.6' opacity='.07'/%3E%3Cpath d='M22 120 Q34 117 46 119' stroke-width='.7' opacity='.08'/%3E%3Cpath d='M70 116 Q82 113 94 115' stroke-width='.8' opacity='.09'/%3E%3Cpath d='M112 122 Q122 120 132 121' stroke-width='.6' opacity='.07'/%3E%3C/g%3E%3C/svg%3E") 0 0/140px 140px;flex-direction:column;max-width:420px;min-height:100vh;margin:0 auto;font-family:Playfair Display,Georgia,serif;font-size:18px;display:flex;position:relative;box-shadow:0 0 44px #a05a2838}.app:before{content:"";pointer-events:none;z-index:1;background:radial-gradient(70% 100% at 50% 0,#ffffff73,#0000 70%);height:160px;position:absolute;top:0;left:0;right:0}button{transition:transform .12s}button:active{transform:scale(.97)}a{color:inherit;text-decoration:none}@keyframes fadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
