@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap");:root{--paper:#f6f7f9;--ink:#17191e;--muted:#737984;--line:#e6e8ec;--blue:#5b7be5;--blue-dark:#4263cf;--blue-wash:#eef2ff;--green:#568c69;--orange:#db9d56;--pink:#c77f91;--shadow:0 8px 24px rgba(26,34,51,.045);font-synthesis:none;color-scheme:light}*{box-sizing:border-box}html{min-height:100%;scrollbar-color:#c8ccd5 var(--paper);scrollbar-width:thin}body,html{background:var(--paper)}body{margin:0;color:var(--ink);font-family:DM Sans,sans-serif;font-size:15px;line-height:1.5;letter-spacing:-.01em}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible{outline:3px solid #7f98ee;outline-offset:3px}::selection{background:#dce5ff;color:#172552}.app-shell{width:min(100%,560px);min-height:100vh;margin:0 auto;padding:26px 24px 112px;background:var(--surface);position:relative}.topbar{justify-content:space-between;padding-bottom:22px;border-bottom:1px solid var(--line)}.brand,.topbar{display:flex;align-items:center}.brand{gap:10px;font-family:Manrope,sans-serif;font-size:18px;font-weight:800;letter-spacing:-.055em}.brand-mark{width:36px;height:36px;display:grid;place-items:center;background:#17191e;border-radius:12px;overflow:hidden}.brand-mark img{width:36px;height:36px;object-fit:cover}.streak{display:flex;align-items:center;gap:8px;color:var(--muted)}.streak-dot{width:8px;height:8px;border-radius:50%;background:#e0ad58}.streak strong{display:block;font-size:14px;color:var(--ink);line-height:1.1}.streak small{font-size:10px;letter-spacing:.03em}.welcome{display:flex;align-items:center;justify-content:space-between;padding:26px 0 18px}.flow-screen h1,.welcome h1{font-family:Manrope,sans-serif;font-size:27px;line-height:1.16;letter-spacing:-.055em;margin:0 0 5px;font-weight:800}.flow-intro,.welcome p{margin:0;color:var(--muted);font-size:13px}.date-mark{position:relative;overflow:hidden;width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:#f0f2f5;color:#30343b;cursor:pointer}.date-mark:focus-within{outline:3px solid #7f98ee;outline-offset:3px}.date-mark svg{width:19px;height:19px;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.date-mark input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.macro-panel{padding:19px 18px 16px;background:var(--surface);border:1px solid var(--line);border-radius:17px;box-shadow:var(--shadow)}.section-heading{display:flex;align-items:center;justify-content:space-between}.meal-heading h2,.section-heading h2{font-family:Manrope,sans-serif;font-weight:800;letter-spacing:.055em;text-transform:uppercase;font-size:11px;margin:0}.section-heading p{margin:3px 0 0;color:var(--muted);font-size:12px}.total-calories{font-family:Manrope,sans-serif;font-weight:800;font-size:25px;letter-spacing:-.045em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;transition:color .35s ease}.total-calories small{font:600 10px DM Sans,sans-serif;color:var(--muted);letter-spacing:.02em}.macro-row{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:9px;gap:9px;margin-top:18px;padding-top:15px;border-top:1px solid var(--line)}.macro-item{display:flex;flex-direction:column;gap:3px;padding:10px 11px;background:#f7f8fa;border:1px solid #eff0f3;border-radius:12px}.macro-label{font-size:10px;color:var(--muted)}.macro-item strong{font-family:Manrope,sans-serif;font-size:18px;font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.035em}.macro-item.protein strong{color:var(--green)}.macro-item.carbs strong{color:var(--orange)}.macro-item.fat strong{color:var(--pink)}.macro-item strong small{font:600 10px DM Sans,sans-serif;color:var(--muted);margin-left:3px}.goal-note{margin:13px 0 0;color:#737984;font-size:11px}.meal-section{padding-top:26px}.meal-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.meal-heading h2{font-size:11px}.meal-heading span{font-size:10px;font-weight:600;color:#50545e;padding:4px 9px;background:#f1f2f5;border-radius:999px}.empty-state{display:flex;align-items:center;flex-direction:column;text-align:center;padding:23px 14px 22px;background:#f7f8fa;border:1px solid #eff0f3;border-radius:15px}.empty-plate{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:#eff2f8;color:#546787}.empty-plate svg,.meal-symbol svg{width:23px;height:23px;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}.empty-state h3{font-family:Manrope,sans-serif;font-weight:800;font-size:13px;margin:11px 0 3px;letter-spacing:-.025em}.empty-state p{margin:0;font-size:11px;color:var(--muted)}.meal-list{list-style:none;padding:0;margin:0}.meal-item{display:flex;align-items:center;gap:11px;padding:12px 2px;border-bottom:1px solid var(--line)}.meal-symbol{width:36px;height:36px;flex:none;display:grid;place-items:center;border-radius:11px;background:#f0f2f6;color:#4c5669}.meal-name{min-width:0;flex:1 1}.meal-name span,.meal-name strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.meal-name strong{font-size:12px;font-weight:700}.meal-name span{font-size:10px;color:var(--muted);margin-top:1px}.meal-name span.meal-detail{font-size:9px;color:#606671;margin-top:2px}.meal-energy{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.meal-energy span,.meal-energy strong{display:block}.meal-energy strong{font-size:12px}.meal-energy span{font-size:9px;color:var(--muted)}.privacy-note{margin:13px 0 0;color:#59606a;font-size:10px;line-height:1.55}.bottom-bar{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,560px);display:grid;grid-template-columns:1fr 1.3fr 1fr;align-items:center;grid-gap:10px;gap:10px;padding:12px 24px max(16px,env(safe-area-inset-bottom));background:rgba(255,255,255,.97);border-top:1px solid var(--line)}.bottom-label,.streak-bottom{font-size:10px;color:var(--muted)}.bottom-label{font-weight:700;color:#30343b}.streak-bottom{text-align:right}.primary-button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 19px;border:0;border-radius:999px;background:#17191e;color:#fff;font-weight:700;font-size:13px;letter-spacing:-.005em;transition:background .16s ease,transform .16s ease}.primary-button:hover{background:#353943;transform:translateY(-1px)}.primary-button:disabled{opacity:.62;cursor:wait;transform:none}.back-button svg,.food-result svg,.primary-button svg,.search-button svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.flow-screen{padding-top:23px}.back-button{display:flex;align-items:center;gap:5px;padding:0;margin:0 0 24px;border:0;background:none;color:#4e67bf;font-size:12px;font-weight:700}.flow-screen h1{margin-bottom:6px}.flow-intro{max-width:390px;margin-bottom:22px}.meal-form{display:grid;grid-gap:14px;gap:14px}.field{display:grid;grid-gap:6px;gap:6px}.field>span,.nutrition-label{font-size:11px;font-weight:700;color:#373a43}.field input{width:100%;height:46px;padding:0 13px;background:#fff;border:1px solid #dfe2e8;border-radius:10px;color:var(--ink)}.field input::placeholder{color:#828792;opacity:1}.nutrition-label{padding-top:3px;margin-bottom:-7px}.number-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.number-field input{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.number-field small{color:var(--muted);font-size:9px;font-weight:600}.wide-button{width:100%;margin-top:3px}.later-note{margin:-3px 0 0;color:var(--muted);font-size:10px;text-align:center}.alert{padding:11px 13px;border:1px solid #efc9c6;background:#fff3f2;border-radius:10px;color:#873d36;font-size:11px}.alert p{margin:0}.text-button{border:0;background:none;padding:6px 0 0;color:#873d36;text-decoration:underline;text-underline-offset:3px;font-size:11px;font-weight:700}.lookup-block{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;grid-gap:9px;gap:9px}.lookup-block .field{min-width:0}.search-button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:46px;padding:0 15px;border:1px solid #dfe2e8;border-radius:10px;background:#f7f8fa;color:#262a32;font-size:11px;font-weight:700;white-space:nowrap}.search-button:hover:not(:disabled){background:#eef1f6;border-color:#cdd2dc}.search-button:disabled{opacity:.6;cursor:wait}.search-button svg{width:16px;height:16px}.search-feedback,.search-hint,.source-note{margin:-7px 0 0;color:var(--muted);font-size:10px;line-height:1.5}.search-feedback{margin:0;padding:9px 11px;border-radius:9px;background:#f2f4f8;color:#424954}.food-results{list-style:none;margin:-4px 0 0;padding:0;border:1px solid var(--line);border-radius:11px;overflow:hidden}.food-results li+li{border-top:1px solid var(--line)}.food-result{width:100%;display:flex;align-items:center;gap:9px;padding:10px 11px;text-align:left;border:0;background:#fff;color:var(--ink)}.food-result:hover{background:#f7f8fb}.result-main{min-width:0;flex:1 1}.result-macros small,.result-macros strong,.result-main small,.result-main strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.result-main strong{font-size:11px;font-weight:700}.result-macros small,.result-main small{font-size:9px;color:var(--muted);margin-top:2px}.result-macros{text-align:right;max-width:136px}.result-macros strong{font-size:10px}.food-result>svg{width:15px;height:15px;flex:none;color:#737984}.source-note{margin:-4px 0 0;color:#5d6573}.preview-card{padding:16px;border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow)}.preview-title{display:flex;align-items:center;gap:11px;padding-bottom:15px;border-bottom:1px solid var(--line)}.preview-title h2{font-family:Manrope,sans-serif;font-size:15px;letter-spacing:-.03em;margin:0 0 2px;overflow-wrap:anywhere}.preview-title p{font-size:11px;color:var(--muted);margin:0}.preview-nutrition{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:0;gap:0}.preview-nutrition>div{display:flex;align-items:center;justify-content:space-between;padding:12px 5px;border-bottom:1px solid #eff0f3;font-size:11px;color:var(--muted)}.preview-nutrition>div:nth-last-child(-n+2){border-bottom:0}.preview-nutrition strong{font-family:Manrope,sans-serif;color:var(--ink);font-size:14px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.preview-nutrition small{font:600 9px DM Sans,sans-serif;color:var(--muted);margin-left:3px}.preview-privacy{margin-top:17px}@media(max-width:420px){.app-shell{padding:19px 17px 106px}.topbar{padding-bottom:19px}.welcome{padding:22px 0 15px}.flow-screen h1,.welcome h1{font-size:25px}.macro-panel{padding:17px 14px 14px}.macro-row{gap:6px}.macro-item{padding:9px 8px}.macro-item strong{font-size:17px}.bottom-bar{gap:7px;padding-inline:15px}.bottom-label,.streak-bottom{font-size:9px}.primary-button{padding-inline:13px;font-size:12px}.lookup-block{gap:7px}.search-button{padding-inline:11px}.number-grid{gap:9px}.food-result{padding-inline:9px}.result-macros{max-width:118px}}.field select{width:100%;min-height:46px;padding:0 12px;border:1px solid #dfe2e8;border-radius:10px;background:#fff;color:var(--ink);font:500 14px DM Sans,sans-serif}.field input[readonly]{background:#f7f8fa;color:#313741}.amount-control{display:grid;grid-template-columns:minmax(0,1fr) minmax(116px,.8fr);grid-gap:10px;gap:10px}.amount-control .field{min-width:0}.amount-control input,.amount-control select{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.calculated-macros{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.calculated-macro{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;padding:12px;border:1px solid #e7e9ed;border-radius:10px;background:#f7f8fa}.calculated-macro span{font-size:10px;color:#59606a}.calculated-macro strong{font-family:Manrope,sans-serif;font-size:15px;font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.calculated-macro small{font:600 9px DM Sans,sans-serif;color:#616874;margin-left:3px}.log-methods{display:grid;grid-gap:10px;gap:10px}.log-method-choice{display:flex;align-items:center;gap:12px;width:100%;padding:14px;border:1px solid #e1e4e9;border-radius:12px;background:#fff;color:var(--ink);text-align:left}.log-method-choice:hover{background:#f7f8fa;border-color:#cfd4dd}.method-icon{width:38px;height:38px;flex:none;display:grid;place-items:center;border-radius:11px;background:#f0f2f6;color:#43506a}.method-icon svg{width:20px;height:20px;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.method-copy{flex:1 1;min-width:0}.method-copy small,.method-copy strong{display:block}.method-copy strong{font-size:12px;font-weight:700}.method-copy small{margin-top:2px;color:var(--muted);font-size:10px}.log-method-choice>svg{width:16px;height:16px;flex:none;stroke:#737984;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.barcode-panel{display:grid;grid-gap:12px;gap:12px}.barcode-camera-frame{min-height:164px;overflow:hidden;display:grid;place-items:center;border:1px solid #dfe2e8;border-radius:12px;background:#f6f7f9}.barcode-video{display:block;width:100%;height:185px;object-fit:cover}.barcode-camera-placeholder{display:flex;align-items:center;flex-direction:column;gap:9px;padding:23px 17px;color:#5b6270;text-align:center;font-size:11px}.barcode-camera-placeholder svg{width:34px;height:34px;stroke:#43506a;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.camera-button{width:100%}.barcode-divider{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:10px}.barcode-divider:after,.barcode-divider:before{height:1px;flex:1 1;background:var(--line);content:""}.barcode-lookup{grid-template-columns:minmax(0,1fr) auto}.method-switch{justify-self:start}.barcode-selected{display:flex;align-items:center;gap:10px;padding:11px;border:1px solid var(--line);border-radius:11px;background:#f7f8fa}.barcode-selected>div{flex:1 1;min-width:0}.barcode-selected small,.barcode-selected strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.barcode-selected strong{font-size:11px}.barcode-selected small{margin-top:2px;color:var(--muted);font-size:9px}.log-launcher{grid-column:2;position:relative;display:flex;justify-content:center}.log-launcher>.primary-button{width:100%}.log-method-menu{position:absolute;z-index:5;left:50%;bottom:calc(100% + 11px);transform:translateX(-50%);display:grid;grid-gap:5px;gap:5px;width:min(270px,calc(100vw - 32px));padding:8px;border:1px solid #e1e4e9;border-radius:15px;background:#fff;box-shadow:0 12px 30px rgba(26,34,51,.14);animation:menu-pop .16s ease-out}.log-method-menu .log-method-choice{display:flex;align-items:center;gap:10px;width:100%;padding:10px;border:0;border-radius:10px;background:#fff;color:var(--ink);text-align:left}.log-method-menu .log-method-choice:focus-visible,.log-method-menu .log-method-choice:hover{background:#f5f6f8}.log-method-menu .log-method-choice:focus-visible{outline:2px solid #7f98ee;outline-offset:1px}.log-method-menu .method-icon{width:34px;height:34px;flex:none;display:grid;place-items:center;border-radius:10px;background:#f0f2f6;color:#43506a}.log-method-menu .method-icon svg{width:19px;height:19px;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.log-method-menu .method-copy{flex:1 1;min-width:0}.log-method-menu .method-copy small,.log-method-menu .method-copy strong{display:block}.log-method-menu .method-copy strong{font-size:12px;font-weight:700}.log-method-menu .method-copy small{margin-top:2px;color:var(--muted);font-size:10px}.log-method-menu .log-method-choice>svg{width:15px;height:15px;flex:none;stroke:#737984;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}@keyframes menu-pop{0%{opacity:0;transform:translate(-50%,4px)}to{opacity:1;transform:translate(-50%)}}@media(prefers-reduced-motion:reduce){.log-method-menu{animation:none}}.settings-button{display:flex;align-items:center;justify-content:flex-end;gap:4px;padding:8px 0;border:0;background:none;color:#30343b;font-size:10px;font-weight:700;white-space:nowrap}.settings-button svg{width:15px;height:15px;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.settings-screen .meal-form{max-width:440px}.settings-screen .field small{color:var(--muted);font-size:10px;font-weight:600}.goal-storage-note{margin:-5px 0 0;color:var(--muted);font-size:10px;text-align:center}.goal-edit-button{padding:0;border:0;background:none;color:#4e67bf;font:inherit;font-weight:700;text-decoration:underline;text-underline-offset:3px}.macro-target{font-size:9px;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.macro-item{gap:2px}.macro-item.ring-card{align-items:center;gap:3px;min-height:128px;padding:9px 5px 10px;text-align:center}.macro-ring{position:relative;display:grid;place-items:center;width:58px;height:58px;color:#4f8d6a}.macro-ring svg{width:58px;height:58px;transform:rotate(-90deg);overflow:visible}.macro-ring circle{fill:none;stroke-width:4}.macro-ring-track{stroke:#e2e6e9}.macro-ring-progress{stroke:currentColor;stroke-linecap:round;transition:stroke-dashoffset .35s ease}.macro-ring-value{position:absolute;display:flex;align-items:baseline;gap:2px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.macro-ring-value strong{font-family:Manrope,sans-serif;font-size:15px;font-weight:800;letter-spacing:-.04em}.macro-ring-value small{font-size:9px;color:var(--muted)}.macro-item.carbs .macro-ring{color:#db9d56}.macro-item.fat .macro-ring{color:#c77f91}.macro-item.ring-card .macro-target{font-size:9px;white-space:nowrap}@media(prefers-reduced-motion:reduce){.macro-ring-progress,.total-calories{transition:none}}.signed-out-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--paper)}.signed-out-card{width:min(100%,430px);padding:27px;background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}.signed-out-brand{padding-bottom:21px;border-bottom:1px solid var(--line)}.signed-out-copy{padding:25px 0 20px}.signed-out-copy h1{max-width:13ch;margin:0;font-family:Manrope,sans-serif;font-size:29px;line-height:1.16;letter-spacing:-.045em;font-weight:800}.signed-out-copy p{margin:9px 0 0;color:#59606a;font-size:13px}.signed-out-card form{margin-top:3px}.google-button{width:100%;border-radius:11px}.google-button svg{width:18px;height:18px;flex:none}.signed-out-error{margin:0 0 14px;padding:10px 12px;border:1px solid #efc9c6;background:#fff3f2;border-radius:10px;color:#873d36;font-size:12px}.sign-out-form{margin-top:24px;padding-top:14px;border-top:1px solid var(--line)}.sign-out-form .text-button{color:#4e67bf}.today-button{display:flex;align-items:center;justify-content:flex-start;min-height:36px;padding:8px 0;border:0;background:transparent;text-align:left}.today-button:disabled{cursor:default}.find-meals-button{color:#4263cf;font-weight:700;white-space:nowrap}.suggestion-screen .flow-intro{margin-bottom:16px}.remaining-goals{display:grid;grid-gap:4px;gap:4px;padding:11px 0;border-bottom:1px solid var(--line)}.remaining-goals strong{font-size:11px}.remaining-goals span{color:#59606a;font-size:11px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.suggestion-list{list-style:none;margin:0;padding:0}.suggestion-item{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}.suggestion-copy{flex:1 1;min-width:0}.suggestion-copy span,.suggestion-copy strong,.suggestion-nutrition span,.suggestion-nutrition strong{display:block}.suggestion-copy strong{font-size:12px;font-weight:700}.suggestion-copy span{margin-top:3px;color:#59606a;font-size:10px;line-height:1.4}.suggestion-nutrition{flex:none;text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.suggestion-nutrition strong{font-size:11px}.suggestion-nutrition span{margin-top:3px;color:#59606a;font-size:9px;white-space:nowrap}.suggestion-note{margin:13px 0 0;color:#59606a;font-size:10px;line-height:1.5}.suggestion-empty .text-button{margin-top:8px;color:#4263cf}.macro-panel{padding:18px 0 12px;background:transparent;border:0;border-radius:0}.macro-row{gap:0}.macro-item{padding:10px 4px;background:transparent;border:0;border-radius:0}.macro-item.ring-card{min-height:118px;padding:8px 4px 10px}.meal-heading span{padding:0;background:transparent;border-radius:0;color:var(--muted)}.meal-item{gap:10px;padding:14px 0}.meal-symbol{width:30px;height:30px;border-radius:0;background:transparent}.empty-state{padding:22px 10px;border:0;border-radius:0}.empty-plate,.empty-state,.preview-card{background:transparent}.preview-card{margin:5px 0 17px;padding:14px 0;border:0;border-radius:0}.calculated-macros{column-gap:14px;row-gap:0}.calculated-macro{padding:11px 8px;background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0}:root{--paper:#f3f8fd;--surface:#fff;--ink:#17283f;--muted:#5f7188;--line:#dfe8f2;--blue:#2876c7;--blue-dark:#1d5c9f;--blue-wash:#edf5fd;--green:#347bbd;--orange:#538bc4;--pink:#789fca;--shadow:0 8px 24px rgba(35,75,120,.05)}.brand-mark{background:#1d5c9f}.streak-dot{background:#3983c9}.macro-item.carbs .macro-ring,.macro-item.fat .macro-ring,.macro-ring{color:#347bbd}.macro-ring-track{stroke:#dce8f3}.primary-button{background:#236bb2}.primary-button:hover{background:#1d5c9f}.log-method-menu .log-method-choice:focus-visible,.log-method-menu .log-method-choice:hover{background:#edf5fd}.log-method-menu .log-method-choice:focus-visible{outline-color:#2876c7}.log-method-menu .method-icon{background:#edf5fd;color:#245f98}.empty-plate,.meal-symbol{background:#edf5fd;color:#355f87}.macro-panel{padding:16px 15px 13px;background:#fff;border:1px solid #e1eaf4;border-radius:15px;box-shadow:none}.meal-item{margin:0 0 8px;padding:11px 10px;border:1px solid #e5edf5;border-radius:12px;background:#fff}.preview-card{padding:14px;border:1px solid #e1eaf4;border-radius:14px;background:#fff;box-shadow:none}.suggestion-item{padding:12px 10px;margin-bottom:7px;border:1px solid #e5edf5;border-radius:12px}:root{--paper:#e7f4ff}.app-shell{background:#e7f4ff}.macro-ring,.macro-ring svg{width:66px;height:66px}.macro-item.ring-card{min-height:126px}.suggestion-item{padding:14px 12px;margin-bottom:9px;border:1px solid #d7e8f6;border-radius:13px;background:#f7fbff}.suggestion-group{margin-top:18px}.recipe-screen h2,.suggestion-group h2{margin:0 0 8px;font-size:13px;font-weight:750}.suggestion-group .suggestion-list{margin:0;padding:0;list-style:none}.suggestion-group .suggestion-list li{margin:0;padding:0}.suggestion-group .suggestion-item{display:flex;align-items:center;width:100%;gap:10px;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.suggestion-group .suggestion-item:focus-visible,.suggestion-group .suggestion-item:hover{border-color:#2876c7;outline:2px solid #2876c7;outline-offset:2px}.suggestion-group .suggestion-item>svg{width:15px;height:15px;flex:none;stroke:#58718d;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.recipe-serving{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:12px}.recipe-serving span{color:var(--muted)}.recipe-macros{display:flex;flex-wrap:wrap;gap:7px 14px;padding:12px 0;color:var(--ink);font-size:11px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.recipe-macros strong{font-size:12px}.recipe-screen h2{margin-top:18px}.recipe-ingredients,.recipe-steps{display:grid;grid-gap:8px;gap:8px;margin:0;padding-left:20px;color:var(--ink);font-size:12px;line-height:1.5}.recipe-ingredients li,.recipe-steps li{padding-left:3px}.recipe-log-button{margin-top:16px}.nearby-launch{display:grid;grid-gap:6px;gap:6px;padding:15px 0;border-bottom:1px solid var(--line)}.nearby-launch .wide-button{margin:0}.nearby-launch p,.nearby-privacy-note,.osm-attribution{margin:0;color:var(--muted);font-size:10px;line-height:1.5}.restaurant-screen .flow-intro{margin-bottom:13px}.nearby-privacy-note{padding-bottom:12px;border-bottom:1px solid var(--line)}.nearby-list{display:grid;grid-gap:10px;gap:10px;margin:14px 0 0;padding:0;list-style:none}.nearby-card{padding:13px;border:1px solid #d7e8f6;border-radius:13px;background:#fff}.nearby-place-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.nearby-place-heading>div{min-width:0}.nearby-place-heading h2{margin:0;font-size:13px;line-height:1.35}.nearby-place-heading p{margin:3px 0 0;color:var(--muted);font-size:10px;line-height:1.4}.nearby-place-heading>a{flex:none;color:#1d5c9f;font-size:10px;font-weight:700;text-underline-offset:2px}.nearby-dish{display:grid;justify-items:start;grid-gap:4px;gap:4px;margin-top:11px;padding-top:10px;border-top:1px solid var(--line)}.nearby-dish>strong{font-size:12px}.nearby-macros,.nearby-serving{color:#3d536c;font-size:10px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.nearby-dish>small{color:var(--muted);font-size:9px;line-height:1.45}.nutrition-badge{padding:3px 7px;border-radius:999px;font-size:9px;font-weight:700}.nutrition-badge.verified{background:#e8f5ed;color:#256545}.nutrition-badge.estimated{background:#fff3da;color:#795418}.osm-attribution{margin:13px 0 0}.osm-attribution a{color:#1d5c9f;text-underline-offset:2px}.suggestion-empty h2{margin:0;font-size:14px}.meal-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:6px}.meal-action{padding:0;border:0;background:transparent;color:#1d5c9f;font-size:10px;font-weight:700;text-decoration:underline;text-underline-offset:2px}.meal-action.delete{color:#a23d47}.meal-delete-question{color:var(--muted);font-size:10px;font-weight:600}.meal-action:disabled{opacity:.55;cursor:wait}.landing-page{min-height:100svh;background:#e7f4ff;color:#17283f}.landing-header{width:min(1120px,100%);margin:0 auto;padding:24px 28px 0}.landing-brand{display:inline-flex;align-items:center;gap:11px;color:#17283f;text-decoration:none;font-family:Manrope,sans-serif;font-size:20px;font-weight:800;letter-spacing:-.045em}.landing-brand img{display:block;border-radius:13px}.landing-hero{width:min(1120px,100%);min-height:calc(100svh - 70px);margin:0 auto;padding:clamp(50px,8vw,92px) 28px 72px;display:grid;grid-template-columns:minmax(0,.9fr) minmax(370px,1.1fr);align-items:center;grid-gap:clamp(42px,7vw,88px);gap:clamp(42px,7vw,88px)}.landing-copy h1{max-width:11ch;margin:0;font-family:Manrope,sans-serif;font-size:clamp(42px,5.4vw,66px);line-height:1.03;letter-spacing:-.05em;font-weight:800;text-wrap:balance}.landing-copy>p:not(.landing-error){max-width:43ch;margin:22px 0 0;color:#395879;font-size:16px;line-height:1.65;letter-spacing:-.01em}.landing-cta{display:inline-flex;min-height:52px;align-items:center;justify-content:center;gap:14px;margin-top:26px;padding:0 23px;border-radius:10px;background:#236bb2;color:#fff;text-decoration:none;font-size:14px;font-weight:700;transition:background .16s ease,transform .16s ease}.landing-cta:hover{background:#1d5c9f;transform:translateY(-1px)}.landing-cta:focus-visible{outline:3px solid #17283f;outline-offset:4px}.landing-cta svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.landing-copy .landing-audience{margin-top:13px;font-size:12px;color:#486786}.landing-error{max-width:43ch;margin:16px 0 0;padding:10px 12px;border:1px solid #d69b9b;border-radius:9px;background:#fff;color:#7d3333;font-size:13px}.suggestion-preview{width:100%;max-width:540px;justify-self:end;padding:23px 25px 18px;border:1px solid #d5e5f5;border-radius:19px;background:#fff;box-shadow:0 18px 48px rgba(33,85,137,.09)}.preview-heading{display:flex;align-items:center;gap:12px;padding-bottom:17px;border-bottom:1px solid #e3edf6}.preview-mark{width:38px;height:38px;display:grid;place-items:center;flex:none;border-radius:12px;background:#edf5fd}.preview-mark img{display:block;border-radius:8px}.preview-heading h2{margin:0;font-family:Manrope,sans-serif;font-size:20px;font-weight:800;line-height:1.2;letter-spacing:-.035em}.preview-heading p{margin:4px 0 0;color:#55708d;font-size:12px}.preview-meals{margin:0;padding:0;list-style:none}.preview-meal{padding:16px 0 14px;border-bottom:1px solid #e9f0f7}.preview-category{display:block;margin-bottom:5px;color:#386995;font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.preview-meal-line{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.preview-meal-line strong{color:#17283f;font-size:14px;font-weight:700}.preview-meal-line>span{flex:none;color:#1d5c9f;font-size:12px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.preview-meal>p{margin:5px 0 0;color:#496681;font-size:11px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.preview-note{margin:13px 0 0;color:#496681;font-size:11px;line-height:1.5}@media(max-width:780px){.landing-hero{grid-template-columns:minmax(0,1fr);gap:38px;min-height:0;padding-top:54px}.landing-copy h1{max-width:12ch;font-size:clamp(40px,9vw,58px)}.suggestion-preview{justify-self:start;max-width:none}}@media(max-width:420px){.landing-header{padding:18px 20px 0}.landing-brand{font-size:18px}.landing-brand img{width:38px;height:38px}.landing-hero{gap:30px;padding:42px 20px 48px}.landing-copy h1{font-size:41px;letter-spacing:-.047em}.landing-copy>p:not(.landing-error){margin-top:17px;font-size:15px;line-height:1.6}.landing-cta{width:100%;margin-top:22px}.suggestion-preview{padding:19px 17px 15px;border-radius:16px}.preview-meal-line{gap:7px}.preview-meal-line strong{font-size:13px}.preview-meal>p{font-size:10px}}@media(prefers-reduced-motion:reduce){.landing-cta{transition:none}}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.photo-estimate-panel{display:grid;justify-items:start;grid-gap:10px;gap:10px;padding:18px;border:1px solid #d5e4f3;border-radius:14px;background:#fff}.photo-estimate-panel>svg{width:30px;height:30px;stroke:#2876c7;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.photo-estimate-panel>strong{font-size:14px;color:var(--ink)}.photo-estimate-panel>p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}.photo-estimate-panel .alert,.photo-estimate-panel>.search-button{width:100%}