@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@600;700;800&display=swap";.menu-data{padding-top:12px;color:var(--ink)}.menu-filters{top:env(safe-area-inset-top)}.observed-time{display:block;margin-top:7px;color:var(--muted);font-size:10px;font-weight:700}.menu-place h1:focus,.menu-header h1:focus{outline:none}.menu-location small+small{color:var(--green);font-weight:700}.menu-header{display:grid;grid-template-columns:44px 1fr;gap:13px;align-items:center;min-height:74px}.menu-header h1,.menu-place h1{font-family:Manrope;margin:0;letter-spacing:-.04em}.menu-header .eyebrow{margin-bottom:3px}.menu-summary{color:var(--muted);font-size:13px;margin:14px 0}.menu-filters{position:sticky;top:0;z-index:2;display:grid;gap:10px;padding:12px 0 14px;background:var(--bg);border-bottom:1px solid var(--line)}.menu-filters label{display:grid;gap:6px;color:var(--muted);font-size:12px;font-weight:800}.menu-filters select,.menu-search{min-height:44px;border:1px solid var(--line);border-radius:13px;background:var(--surface);color:var(--ink)}.menu-filters select{padding:0 11px}.menu-search{display:flex;align-items:center;padding:0 12px;gap:8px}.menu-search svg{width:17px;color:var(--muted)}.menu-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--ink)}.menu-search:focus-within,.menu-filters select:focus-visible,.menu-location:focus-visible,.menu-retry:focus-visible,.menu-items a:focus-visible{outline:3px solid var(--warm);outline-offset:2px}.menu-groups>section{margin-top:24px}.menu-groups h2,.menu-items h2{font-family:Manrope;font-size:18px;margin:0 0 9px}.menu-groups ul,.menu-items ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}.menu-location{width:100%;min-height:82px;padding:14px;border:1px solid var(--line);border-radius:17px;background:var(--surface);color:var(--ink);display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left}.menu-location strong{display:block;font-size:15px}.menu-location small,.menu-place>p{display:flex;align-items:center;gap:4px;color:var(--muted);font-size:12px;margin:5px 0 0}.menu-location small svg,.menu-place svg{width:14px}.menu-provenance{display:flex;align-items:center;gap:4px;color:var(--green);font-size:11px;font-weight:800;text-align:right}.menu-provenance svg{width:14px}.menu-status{min-height:110px;display:grid;place-items:center;text-align:center;gap:8px;color:var(--muted);line-height:1.5;padding:24px 12px}.menu-status svg{width:22px;color:var(--green)}.menu-skeleton{height:86px;border-radius:17px;margin:12px 0;background:linear-gradient(90deg,#ebeae4,#f6f4ef,#ebeae4);background-size:200%;animation:shimmer 1.2s infinite}.menu-retry{min-height:44px;border:0;border-radius:13px;background:var(--green);color:#fff;padding:0 15px;font-weight:800;display:flex;align-items:center;gap:7px}.menu-retry svg{width:17px}.menu-detail>.icon-button{margin-bottom:14px}.menu-place{padding:2px 0 16px}.menu-place h1{font-size:28px}.menu-item-filter{margin-bottom:17px}.menu-items>section{margin-bottom:24px}.menu-items li{display:grid;grid-template-columns:1fr auto;gap:5px 16px;border:1px solid var(--line);border-radius:16px;background:var(--surface);padding:14px}.menu-items li>div strong{display:block}.menu-items li small{display:block;color:var(--muted);font-size:12px;margin-top:3px}.menu-items li>a{grid-column:1/-1;color:var(--green);font-size:12px;font-weight:800;width:max-content}.freshness{display:inline-block;margin-top:9px;padding:4px 7px;border-radius:8px;background:var(--green-2);color:var(--green);font-size:10px;font-weight:800}.freshness.stale{background:#fff0cf;color:#7d5715}.freshness.expired{background:#f6dddd;color:#942d2d}@media(prefers-color-scheme:dark){.menu-skeleton{background:linear-gradient(90deg,#2b302b,#373d36,#2b302b)}.freshness.stale{background:#55431d;color:#f4cb77}.freshness.expired{background:#512a2a;color:#f3aaaa}}@media(min-width:480px){.menu-filters{grid-template-columns:150px 1fr}.menu-item-filter{grid-template-columns:1fr}}.menu-header{grid-template-columns:44px minmax(0,1fr)}.menu-header>div{min-width:0}.menu-header h1{font-size:30px;line-height:1.08;overflow-wrap:anywhere}.research-status,.calculator-status{display:inline-block;margin:9px 0 0 6px;padding:4px 7px;border-radius:8px;background:var(--green-2);color:var(--green);font-size:10px;font-weight:800}.research-status{margin-left:0}.calculator-status{background:var(--surface);border:1px solid var(--line)}.menu-items li>a{min-height:44px;display:flex;align-items:center}@media(prefers-color-scheme:dark){.menu-retry{background:#315c3a;color:#fff}}.budget-calculator{padding-bottom:18px}.budget-field{display:grid;gap:7px;margin:16px 0}.budget-field>label,.budget-categories legend{font-size:13px;font-weight:800;color:var(--muted)}.budget-field>span{min-height:54px;display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:16px;padding:0 15px;background:var(--surface)}.budget-field b{font-size:22px;color:var(--green)}.budget-field input{flex:1;min-width:0;border:0;background:transparent;outline:0;font-size:21px;font-weight:800;color:var(--ink)}.budget-field>span>span{font-size:12px;font-weight:800;color:var(--muted)}.budget-field small{color:var(--muted);font-size:12px}.budget-categories{border:0;padding:0;margin:25px 0 18px}.budget-categories>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.budget-categories label{min-height:48px;display:flex;align-items:center;gap:9px;padding:8px 11px;border:1px solid var(--line);border-radius:13px;background:var(--surface);font-size:13px;font-weight:700}.budget-categories input{width:18px;height:18px;accent-color:var(--green)}.budget-validation{color:#942d2d;font-size:13px;font-weight:700;margin:-10px 0 16px}.primary-cta:disabled{cursor:not-allowed;opacity:.52;box-shadow:none}.budget-edit{min-height:44px;margin:13px 0;border:1px solid var(--line);border-radius:13px;background:var(--surface);color:var(--green);padding:0 14px;font-weight:800;display:inline-flex;align-items:center;gap:7px}.budget-edit svg{width:17px}.budget-results{display:grid;gap:13px;margin-top:12px}.budget-card{border:1px solid var(--line);border-radius:19px;background:var(--surface);padding:16px;box-shadow:0 4px 16px #2c352709}.budget-rank{margin:0 0 11px;color:var(--green);font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.budget-card-heading{display:flex;justify-content:space-between;gap:12px}.budget-card h2,.budget-card h3,.budget-limitations h2{font-family:Manrope;margin:0}.budget-card h2{font-size:20px}.budget-card-heading p{display:flex;align-items:center;gap:4px;margin:5px 0 0;color:var(--muted);font-size:12px}.budget-card-heading p svg{width:14px}.budget-totals{display:flex;flex-wrap:wrap;gap:8px 13px;margin:16px 0;padding:12px 0;border-block:1px solid var(--line);font-size:13px}.budget-totals strong{color:var(--green)}.budget-totals span{color:var(--muted)}.budget-order h3{font-size:15px}.budget-order ul{list-style:none;padding:0;margin:9px 0 0;display:grid;gap:10px}.budget-order li{display:grid;gap:3px}.budget-order li strong{font-size:14px}.budget-order li span,.budget-order li a{font-size:12px;color:var(--muted)}.budget-order li a{color:var(--green);font-weight:800;width:max-content;min-height:30px;display:flex;align-items:center}.budget-stale{margin:12px 0;padding:11px;border-radius:13px;background:#fff0cf;color:#7d5715;font-size:13px}.budget-limitations{margin-top:22px}.budget-limitations h2{font-size:18px}.budget-limitations p{border-left:3px solid var(--line);padding-left:10px;color:var(--muted);font-size:13px;line-height:1.5}.budget-field input:focus-visible,.budget-categories label:has(input:focus-visible),.budget-edit:focus-visible,.budget-order a:focus-visible{outline:3px solid var(--warm);outline-offset:2px}@media(max-width:380px){.budget-categories>div{grid-template-columns:1fr}}.budget-order li a{width:100%;min-width:0;min-height:44px;overflow-wrap:anywhere;word-break:break-word}:root{font-family:DM Sans,system-ui,sans-serif;color:#1f261e;background:#eeede7;font-synthesis:none;--bg:#f7f5ef;--surface:#fffefa;--ink:#1f261e;--muted:#697066;--line:#dedfd8;--green:#315c3a;--green-2:#dce8d9;--warm:#ecb754;--shadow:0 12px 36px rgba(44,53,39,.09)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--bg)}button,input{font:inherit}button{cursor:pointer}.app-shell{min-height:100dvh;max-width:560px;margin:auto;background:var(--bg);position:relative;box-shadow:0 0 80px #212a1f14}.content{padding:env(safe-area-inset-top) 20px calc(92px + env(safe-area-inset-bottom));min-height:100dvh}.topbar{height:68px;display:flex;align-items:center;justify-content:space-between}.logo{font-family:Manrope;font-weight:800;font-size:20px;display:flex;align-items:center;gap:9px}.logo>span{display:grid;place-items:center;width:34px;height:34px;color:#fff;background:var(--green);border-radius:11px}.location-pill{border:1px solid var(--line);background:var(--surface);height:40px;border-radius:20px;padding:0 13px;display:flex;align-items:center;gap:6px;color:var(--muted);font-weight:600;max-width:190px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hero{padding:38px 2px 24px}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:11px;font-weight:800;color:var(--green);margin:0 0 9px}.hero h1,.results-header h1,.loading-state h1,.detail-hero h1{font-family:Manrope;margin:0;color:var(--ink);letter-spacing:-.045em}.hero h1{font-size:43px;line-height:1.02}.hero>p:last-child{color:var(--muted);line-height:1.55;font-size:16px;max-width:420px;margin:18px 0 0}.category-card{background:var(--green);color:#fff;border-radius:22px;padding:17px;display:flex;align-items:center;gap:14px;box-shadow:0 12px 30px #315c3a2e}.food-icon{width:50px;height:50px;border-radius:15px;background:#ffffff21;display:grid;place-items:center}.category-card>div:nth-child(2){flex:1}.category-card span{display:block;font-weight:700;font-size:17px}.category-card small{display:block;color:#d9e5d8;margin-top:4px}.selected-dot{width:27px;height:27px;border-radius:50%;background:#fff;color:var(--green);display:grid!important;place-items:center}.selected-dot svg{width:17px;fill:none;stroke:currentColor;stroke-width:2.3}.quantity-section{padding:30px 0 18px}.section-heading{display:flex;justify-content:space-between;align-items:end}.section-heading h2{font-family:Manrope;font-size:22px;margin:0}.family-button{height:42px;border:0;border-radius:14px;background:var(--green-2);color:var(--green);font-weight:800;padding:0 14px}.presets{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:18px 0 12px}.presets button{height:49px;border-radius:14px;border:1px solid var(--line);background:var(--surface);font-weight:700;color:var(--muted);transition:.2s}.presets button.active{color:#fff;background:var(--green);border-color:var(--green);box-shadow:0 7px 16px #315c3a2e}.stepper{border:1px solid var(--line);background:var(--surface);border-radius:18px;display:flex;align-items:center;padding:6px}.stepper button{width:46px;height:46px;border:0;border-radius:13px;background:#efefe9;color:var(--ink);display:grid;place-items:center}.stepper button svg{width:19px}.stepper label{flex:1;text-align:center}.stepper label span{display:block;color:var(--muted);font-size:11px;font-weight:700}.stepper input{width:85px;border:0;background:transparent;text-align:center;color:var(--ink);font-size:20px;font-weight:800;outline:none}.location-box{margin:8px 0 18px}.location-box>label{display:block;font-size:12px;font-weight:700;color:var(--muted);margin:0 0 8px 5px}.location-box>div{height:54px;background:var(--surface);border:1px solid var(--line);border-radius:17px;display:flex;align-items:center;padding:0 8px 0 15px;gap:10px}.location-box input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:var(--ink)}.location-box button{width:42px;height:42px;border:0;border-radius:12px;background:var(--green-2);color:var(--green);display:grid;place-items:center}.primary-cta{width:100%;height:58px;border:0;border-radius:18px;color:#fff;background:var(--green);font-weight:800;font-size:16px;display:flex;align-items:center;justify-content:center;gap:10px;box-shadow:0 12px 28px #315c3a38;transition:transform .18s,filter .18s}.primary-cta:active{transform:scale(.985)}.demo-note{text-align:center;color:#878b83;font-size:12px;margin:13px}.bottom-nav{position:fixed;z-index:10;bottom:0;width:min(560px,100%);height:calc(68px + env(safe-area-inset-bottom));padding:7px 18px env(safe-area-inset-bottom);background:#fffefaeb;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-top:1px solid rgba(222,223,216,.8);display:grid;grid-template-columns:1fr 1fr}.bottom-nav button{border:0;background:transparent;color:#8a8f87;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:11px;font-weight:700}.bottom-nav button svg{width:21px}.bottom-nav button.active{color:var(--green)}.loading-state{text-align:center;padding-top:22vh}.radar{width:88px;height:88px;border-radius:50%;background:var(--green-2);margin:0 auto 28px;display:grid;place-items:center;color:var(--green);position:relative}.radar span{position:absolute;inset:0;border:2px solid var(--green);border-radius:50%;animation:pulse 1.5s infinite}.loading-state h1{font-size:28px}.loading-state p{color:var(--muted);line-height:1.5}.skeleton{height:118px;border-radius:20px;margin-top:14px;background:linear-gradient(90deg,#ebeae4,#f6f4ef,#ebeae4);background-size:200%;animation:shimmer 1.2s infinite}.results-header{height:86px;display:grid;grid-template-columns:48px 1fr 48px;align-items:center;gap:10px}.results-header p{margin:0;color:var(--muted);font-size:12px}.results-header h1{font-size:21px}.icon-button{width:44px;height:44px;border:1px solid var(--line);background:var(--surface);border-radius:14px;display:grid;place-items:center;color:var(--ink)}.icon-button svg{width:21px;fill:none;stroke:currentColor;stroke-width:2}.results-count{font-size:13px;color:var(--muted);margin:14px 2px}.refresh-note{display:flex;gap:8px;align-items:center;background:#fff3da;color:#72551f;padding:12px;border-radius:14px;font-size:13px}.refresh-note svg{width:18px;fill:none;stroke:currentColor}.result-list{display:grid;gap:13px}.result-card{width:100%;text-align:left;border:1px solid var(--line);background:var(--surface);border-radius:21px;padding:18px;color:var(--ink);box-shadow:0 4px 16px #2c352709;position:relative;overflow:hidden}.result-card.winner{border:2px solid var(--green);padding:17px;box-shadow:var(--shadow)}.winner-label{margin:-17px -17px 16px;padding:8px 15px;background:var(--green);color:#fff;font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;display:flex;gap:6px;align-items:center}.card-top{display:flex;justify-content:space-between;align-items:start}.card-top h3{font-family:Manrope;font-size:19px;margin:0 0 6px}.distance{display:flex;align-items:center;gap:3px;color:var(--muted);font-size:12px}.price{text-align:right}.price strong{font-family:Manrope;font-size:27px;display:block;color:var(--green);letter-spacing:-.04em}.price span{font-size:12px;color:var(--muted)}.order-line{margin:15px 0 13px;padding:12px 0;border-block:1px solid #ecece6;display:grid;grid-template-columns:55px 1fr;font-size:13px}.order-line span{color:var(--muted)}.order-line b{text-align:right}.card-meta{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:11px}.card-meta .verified{margin-left:auto;color:var(--green);font-weight:700}.card-meta>svg{margin-left:2px}.fine-print{text-align:center;color:#8a8f87;font-size:11px;line-height:1.5;padding:18px}.detail{max-width:560px;min-height:100dvh;margin:auto;background:var(--bg);padding:env(safe-area-inset-top) 20px calc(32px + env(safe-area-inset-bottom))}.detail-header{height:68px;display:grid;grid-template-columns:44px 1fr 44px;align-items:center;text-align:center;font-weight:800}.detail-hero{text-align:center;padding:25px 0 20px}.brand-mark{width:72px;height:72px;background:var(--green);color:#fff;border-radius:22px;display:grid;place-items:center;font-family:Manrope;font-size:32px;font-weight:800;margin:0 auto 20px}.detail-hero h1{font-size:30px}.detail-hero>p:last-child{display:flex;justify-content:center;align-items:center;gap:5px;color:var(--muted);font-size:13px}.detail-price{background:var(--green);color:#fff;border-radius:24px;padding:22px;text-align:center}.detail-price span,.detail-price small{display:block;color:#dce9dc}.detail-price strong{font-family:Manrope;display:block;font-size:42px;letter-spacing:-.05em;margin:2px}.detail-section{padding:26px 2px}.detail-section h2{font-family:Manrope;font-size:20px}.detail-item{display:grid;grid-template-columns:42px 1fr auto;align-items:center;padding:17px 0;border-bottom:1px solid var(--line)}.count{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:var(--green-2);color:var(--green);font-weight:800}.detail-item small{display:block;color:var(--muted);margin-top:3px}.goal-row{display:flex;align-items:center;gap:8px;padding-top:16px;color:var(--green);font-size:13px}.goal-row b{margin-left:auto}.source-card{border:1px solid var(--line);border-radius:18px;padding:15px;color:var(--muted);font-size:12px}.source-card p{display:flex;align-items:center;gap:8px;margin:7px 0}.source-card svg{width:17px}.source-card span{display:block;margin-top:11px;padding-top:11px;border-top:1px solid var(--line)}.page-enter{animation:enter .28s ease-out}@keyframes enter{0%{opacity:0;transform:translateY(8px)}}@keyframes pulse{to{transform:scale(1.45);opacity:0}}@keyframes shimmer{to{background-position:-200%}}@media(min-width:700px){body{padding:28px}.app-shell,.detail{border-radius:28px;overflow:hidden;min-height:calc(100dvh - 56px)}.bottom-nav{bottom:28px;border-radius:0 0 28px 28px}}@media(prefers-color-scheme:dark){:root{--bg:#171a17;--surface:#222622;--ink:#f2f1ea;--muted:#a8afa5;--line:#373d36;--green:#79a87d;--green-2:#293b2d;--shadow:0 14px 40px rgba(0,0,0,.3)}body{background:#101210}.category-card,.primary-cta,.detail-price,.brand-mark{background:#426d49}.bottom-nav{background:#222622f0}.stepper button{background:#2e332e}.order-line{border-color:var(--line)}.winner-label{background:#426d49}.price strong{color:#91bd94}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.bottom-nav{grid-template-columns:repeat(4,1fr)}.results-header{grid-template-columns:48px 1fr}.bottom-nav button{color:#62685f}.bottom-nav button:disabled{opacity:.55;cursor:not-allowed}.demo-note,.fine-print{color:#62685f}:where(button,input,select,textarea,a):focus-visible{outline:3px solid var(--warm);outline-offset:2px}.stepper input:focus-visible,.location-box input:focus-visible{outline:3px solid var(--warm);outline-offset:2px;border-radius:6px}body{color:var(--ink);overflow-x:hidden}.app-shell{overflow-x:hidden}.section-heading{gap:10px}.section-heading>div{min-width:0}.family-button{flex:0 0 auto;white-space:nowrap}.presets button{min-width:0;padding-inline:0}@media(max-width:390px){.content{padding-inline:16px}.hero h1{font-size:39px}.section-heading h2{font-size:19px}.family-button{padding-inline:11px}.presets{gap:6px}.category-card{padding:15px}.location-pill{max-width:165px}}.review-page{max-width:880px;margin:auto;padding:40px 20px 80px;color:var(--ink)}.review-menu-imports{display:grid;gap:14px;margin:18px 0}.review-menu-imports article{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:18px}.review-menu-imports article>span{color:var(--green);font-size:11px;font-weight:800;text-transform:uppercase}.review-menu-imports h2{font-family:Manrope;margin:5px 0}.review-menu-imports p,.review-menu-imports small{color:var(--muted)}.review-menu-imports .review-actions{margin-top:15px}.review-page button:disabled{opacity:.55;cursor:not-allowed}.review-page>header{display:flex;justify-content:space-between;align-items:center}.review-page header p{color:var(--green);text-transform:uppercase;letter-spacing:.12em;font-weight:800;font-size:12px;margin:0}.review-page h1{font-family:Manrope;margin:6px 0 24px}.review-auth{display:flex;gap:12px;align-items:end;background:var(--surface);border:1px solid var(--line);padding:16px;border-radius:18px}.review-auth label{flex:1;font-weight:700;font-size:13px}.review-auth input{display:block;width:100%;height:44px;margin-top:7px;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:var(--ink);padding:0 12px}.review-auth button,.review-import button{height:44px;border:0;border-radius:12px;background:var(--green);color:#fff;font-weight:800;padding:0 16px}.review-error{background:#fee2e2;color:#991b1b;padding:12px;border-radius:12px}.review-import{margin:16px 0;border:1px solid var(--line);border-radius:16px;padding:14px;background:var(--surface)}.review-import summary{font-weight:800;cursor:pointer}.review-import textarea{display:block;width:100%;min-height:140px;margin:12px 0;border:1px solid var(--line);border-radius:12px;padding:12px;background:var(--bg);color:var(--ink)}.queue-count{color:var(--muted)}.review-list{display:grid;gap:14px}.review-list article{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:18px}.review-card-head{display:flex;justify-content:space-between;gap:18px}.review-card-head span{color:var(--green);text-transform:uppercase;font-size:11px;font-weight:800}.review-card-head h2{margin:4px 0;font-family:Manrope;font-size:20px}.review-card-head p{color:var(--muted);font-size:13px;margin:0}.review-card-head>strong{font-family:Manrope;font-size:28px;color:var(--green)}.review-list dl{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.review-list dl div{background:var(--bg);padding:10px;border-radius:10px}.review-list dt{font-size:10px;color:var(--muted);text-transform:uppercase}.review-list dd{margin:3px 0 0;font-size:12px;font-weight:700}.anomalies{display:flex;align-items:center;gap:7px;flex-wrap:wrap;color:#8a5a10;background:#fff4d6;border-radius:10px;padding:10px;font-size:12px}.anomalies svg{width:17px}.review-list article>a{display:flex;align-items:center;gap:5px;color:var(--green);font-size:12px;margin:14px 0}.review-list article>a svg{width:15px}.review-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.review-actions button{height:46px;border-radius:12px;font-weight:800;display:flex;justify-content:center;align-items:center;gap:6px}.review-actions svg{width:18px}.reject{border:1px solid var(--line);background:transparent;color:var(--ink)}.approve{border:0;background:var(--green);color:#fff}.approve:disabled{opacity:.4;cursor:not-allowed}@media(max-width:600px){.review-auth{display:block}.review-auth button{width:100%;margin-top:10px}.review-list dl{grid-template-columns:1fr 1fr}.review-card-head{display:block}.review-card-head>strong{display:block;margin-top:10px}}
