@font-face{font-family:Fredoka;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fredoka-latin-500-normal-B0JifZgm.woff2)format("woff2"),url(/assets/fredoka-latin-500-normal-BL692wg7.woff)format("woff")}@font-face{font-family:Fredoka;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fredoka-latin-600-normal-C4zohCW5.woff2)format("woff2"),url(/assets/fredoka-latin-600-normal-CcrEjrB4.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-latin-400-normal-r8SDr6Up.woff2)format("woff2"),url(/assets/nunito-latin-400-normal-DKg4f3fz.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-latin-600-normal-Br8yIETf.woff2)format("woff2"),url(/assets/nunito-latin-600-normal-Cd0eNu1l.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-latin-700-normal-Dort48En.woff2)format("woff2"),url(/assets/nunito-latin-700-normal-OcDqTBcA.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-latin-800-normal-Dz8SOQK_.woff2)format("woff2"),url(/assets/nunito-latin-800-normal-D-J0wlBY.woff)format("woff")}:root{--font:"Nunito", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--font-display:"Fredoka", "Nunito", system-ui, sans-serif;--font-size:17px;--font-size-sm:15px;--font-size-xs:13px;--font-size-title:34px;--accent:#357a31;--accent-contrast:#fff;--accent-shadow:#24561f;--heading:#24561f;--label:#3e7a38;--leaf:#6cbf57;--leaf-soft:#ddf3cb;--leaf-softer:#f6fbf1;--leaf-track:#e6f5da;--pop:#ffc2cf;--pop-shadow:#efa3b4;--pop-ink:#5e1a2c;--pop-strong:#ffa5b8;--sun:#ffe89a;--sun-shadow:#f2d06b;--sun-ink:#4a3a00;--sparkle:#ffd966;--danger:#c4314b;--warning:#b07a00;--bg:#f1f9e8;--surface:#fff;--surface-2:#eaf5e0;--surface-shadow:#d3ebc0;--text:#2b3328;--text-2:#5d6b57;--separator:#e3eeda;--overlay:#24561f59;--protein:#2c5a8c;--protein-bg:#eef6ff;--carbs:#8a5a00;--carbs-bg:#fff4da;--fat:#6a3e99;--fat-bg:#f5ecff;--fam-fruit-bg:#ffe3e9;--fam-fruit:#9c2f4d;--fam-veg-bg:#ddf3cb;--fam-veg:#2e6b29;--fam-drink-bg:#e3f1ff;--fam-drink:#1f4e80;--fam-grain-bg:#fff1c2;--fam-grain:#7a5200;--fam-protein-bg:#ffe6d6;--fam-protein:#9a3f12;--fam-dairy-bg:#f1eaff;--fam-dairy:#5b3a8c;--fam-sweet-bg:#fde2f3;--fam-sweet:#8c2a6e;--fam-fat-bg:#eff5d2;--fam-fat:#4f5a12;--fam-meal-bg:#e0f2ee;--fam-meal:#1f5a4c;--hint-bg:#fff4da;--hint-ink:#5e4a00;--celery-leaf:#6cbf57;--celery-leaf-2:#7dcb66;--celery-leaf-3:#8ad472;--celery-stalk:#cdefb4;--celery-stalk-l:#b6e39a;--celery-stalk-r:#a4d987;--celery-arm:#98d07c;--celery-line:#aedd92;--celery-face:#2b3328;--radius:16px;--radius-lg:26px;--radius-pill:999px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--tap:44px;--tabbar-height:68px;--lift:0 4px 0 var(--surface-shadow);--duration:.16s;--ease:cubic-bezier(.2, .8, .2, 1);--bounce:cubic-bezier(.34, 1.56, .64, 1)}@media (prefers-color-scheme:dark){:root{--accent:#8ad472;--accent-contrast:#12240f;--accent-shadow:#4f9a3e;--heading:#c9efb0;--label:#a6dc8c;--leaf:#7dcb66;--leaf-soft:#23401f;--leaf-softer:#1b2f18;--leaf-track:#2a4526;--pop:#f5a6b8;--pop-shadow:#b9667a;--pop-ink:#4a1022;--pop-strong:#e88aa0;--sun:#f3d777;--sun-shadow:#b8973a;--sun-ink:#3a2d00;--danger:#ff7d93;--warning:#ffc04d;--bg:#12200f;--surface:#1d3119;--surface-2:#26401f;--surface-shadow:#0b160a;--text:#ecf6e4;--text-2:#a9bba1;--separator:#2f4a2a;--overlay:#000000a6;--protein:#9cc8ff;--protein-bg:#1c2c40;--carbs:#ffd27a;--carbs-bg:#3a2e14;--fat:#d4b4ff;--fat-bg:#2e2140;--fam-fruit-bg:#47202b;--fam-fruit:#ffb3c4;--fam-veg-bg:#24401f;--fam-veg:#b6e39a;--fam-drink-bg:#1c2f44;--fam-drink:#a8d0ff;--fam-grain-bg:#3d3214;--fam-grain:#ffd97a;--fam-protein-bg:#44291b;--fam-protein:#ffbc95;--fam-dairy-bg:#30244a;--fam-dairy:#d4bfff;--fam-sweet-bg:#45203a;--fam-sweet:#ffaee0;--fam-fat-bg:#33381a;--fam-fat:#dbe58f;--fam-meal-bg:#183a33;--fam-meal:#97e0cf;--hint-bg:#3a2e14;--hint-ink:#ffd27a}}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}html{-webkit-text-size-adjust:100%;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){html{--lightningcss-light: ;--lightningcss-dark:initial}}body{font-family:var(--font);font-size:var(--font-size);color:var(--text);background:var(--bg);overscroll-behavior:none;-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;line-height:1.35;overflow:hidden}input,select,textarea{-webkit-user-select:text;user-select:text;font:inherit;color:inherit;font-size:17px}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}h1,h2,h3,p{margin:0}@media (prefers-reduced-motion:reduce){:root{--duration:0s}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app{flex-direction:column;display:flex;position:fixed;inset:0}.screen{overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;padding:calc(env(safe-area-inset-top) + var(--space-4)) calc(env(safe-area-inset-right) + 18px) var(--space-5) calc(env(safe-area-inset-left) + 18px);animation:screen-in .32s var(--ease);flex:1;position:relative;overflow:hidden auto}.screen>:not(.deco):not(.sheet-backdrop){position:relative}.screen-header{justify-content:space-between;align-items:flex-start;gap:var(--space-2);min-height:var(--tap);margin-bottom:var(--space-4);display:flex}.screen-title{font-family:var(--font-display);font-size:var(--font-size-title);color:var(--heading);font-weight:600;line-height:1.1}.screen-sub{margin-top:var(--space-1);font-size:var(--font-size-sm);color:var(--text-2);font-weight:600}.tabbar{gap:var(--space-1);padding:var(--space-2);margin:0 calc(env(safe-area-inset-right) + 14px) calc(env(safe-area-inset-bottom) + 10px) calc(env(safe-area-inset-left) + 14px);background:var(--surface);box-shadow:0 5px 0 var(--surface-shadow), 0 10px 28px #24561f1f;border-radius:28px;flex-shrink:0;display:flex}.tab{min-height:52px;min-width:var(--tap);color:var(--text-2);transition:background var(--duration) var(--ease), color var(--duration) var(--ease), transform var(--duration) var(--bounce);border-radius:20px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-size:12px;font-weight:800;display:flex}.tab svg{width:22px;height:22px}.tab:active{transform:scale(.94)}.tab[aria-current=page]{background:var(--leaf-soft);color:var(--heading)}.tab[aria-current=page] svg{animation:tab-pop .36s var(--bounce)}.deco{pointer-events:none;z-index:0;position:absolute}.twinkle{transform-origin:50%;animation:2.6s ease-in-out infinite twinkle}.twinkle.d2{animation-delay:.8s}.twinkle.d3{animation-delay:1.6s}.floaty{animation:6s ease-in-out infinite floaty}.celery{display:block;overflow:visible}.celery-wave .celery-body,.celery-peek .celery-body{transform-origin:50% 90%;animation:3.2s ease-in-out infinite celery-bob}.celery-wave-arm{transform-origin:106px 100px;animation:1.4s ease-in-out infinite celery-wave}.celery-dance .celery-body{transform-origin:50% 90%;animation:1.2s ease-in-out infinite celery-dance}.celery-eyes{transform-origin:75px 80px;animation:5s infinite blink}.celery-btn{transition:transform .2s var(--bounce);border-radius:24px;flex:none;position:relative}.celery-btn:active{transform:scale(.92)rotate(-3deg)}.celery-btn:focus-visible,.btn:focus-visible,.add-btn:focus-visible,.chip:focus-visible,.food-card:focus-visible,.tab:focus-visible,.icon-btn:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.card{background:var(--surface);border-radius:var(--radius-lg);margin-bottom:var(--space-4);box-shadow:var(--lift);padding:18px}.section-title{font-family:var(--font-display);color:var(--heading);margin:var(--space-5) var(--space-1) var(--space-3);font-size:22px;font-weight:600}.card-title{font-family:var(--font-display);color:var(--heading);font-size:20px;font-weight:600}.list{background:var(--surface);border-radius:var(--radius-lg);margin-bottom:var(--space-4);box-shadow:var(--lift);overflow:hidden}.row{align-items:center;gap:var(--space-3);width:100%;min-height:var(--tap);padding:10px var(--space-4);text-align:left;display:flex;position:relative}.row+.row:before{content:"";top:0;left:var(--space-4);right:var(--space-4);border-top:2px dotted var(--separator);position:absolute}button.row{transition:background var(--duration) var(--ease)}button.row:active{background:var(--surface-2)}.row-main{flex:1;min-width:0}.row-title{text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.row-sub{font-size:var(--font-size-xs);color:var(--text-2);font-weight:600}.row-value{font-variant-numeric:tabular-nums;color:var(--text-2);white-space:nowrap;font-weight:700}.muted{color:var(--text-2)}.small{font-size:var(--font-size-xs)}.empty{padding:var(--space-4);text-align:center;color:var(--text-2);font-size:var(--font-size-sm);font-weight:600}.cheer-line{text-align:center;color:var(--label);margin:0 var(--space-4) var(--space-4);font-size:14px;font-weight:700}.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:48px;padding:0 var(--space-4);border-radius:var(--radius);font-weight:800;font-size:var(--font-size-sm);background:var(--leaf-softer);color:var(--accent);border:2px solid var(--leaf-soft);transition:transform var(--duration) var(--bounce), box-shadow var(--duration) var(--ease), opacity var(--duration);display:inline-flex}.btn:active{transform:translateY(2px)scale(.98)}.btn:disabled{opacity:.45}.btn-primary{background:var(--accent);color:var(--accent-contrast);box-shadow:0 4px 0 var(--accent-shadow);border-color:#0000}.btn-primary:active{box-shadow:0 2px 0 var(--accent-shadow)}.btn-pop{background:var(--pop);color:var(--pop-ink);font-family:var(--font-display);box-shadow:0 4px 0 var(--pop-shadow);border-color:#0000;font-size:17px;font-weight:600}.btn-danger{color:var(--danger);background:var(--surface);box-shadow:var(--lift);border-color:#0000}.btn-block{width:100%}.btn-link{min-height:var(--tap);min-width:var(--tap);padding:0 var(--space-2);color:var(--accent);font-weight:700}.icon-btn{width:var(--tap);height:var(--tap);color:var(--heading);background:var(--surface);box-shadow:0 3px 0 var(--surface-shadow);transition:transform var(--duration) var(--bounce);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.icon-btn:active{transform:scale(.9)}.icon-btn svg{stroke-width:2.6px;width:20px;height:20px}.btn-row{gap:var(--space-3);display:flex}.btn-row>*{flex:1}.add-btn{justify-content:center;align-items:center;gap:var(--space-2);width:100%;min-height:var(--tap);margin-top:var(--space-1);border:2px dashed var(--celery-line);border-radius:var(--radius);background:var(--leaf-softer);color:var(--accent);font-weight:800;font-size:var(--font-size-sm);transition:transform var(--duration) var(--bounce);display:flex}.add-btn:active{transform:scale(.97)}.add-btn svg{stroke-width:3px;width:18px;height:18px}.field{align-items:center;gap:var(--space-3);min-height:52px;padding:0 var(--space-4);font-weight:700;display:flex;position:relative}.field+.field:before{content:"";top:0;left:var(--space-4);right:var(--space-4);border-top:2px dotted var(--separator);position:absolute}.field>span:first-child{white-space:nowrap;color:var(--label);flex:1}.field input,.field select{min-width:0;min-height:var(--tap);text-align:right;font-family:var(--font-display);background:0 0;border:0;outline:none;flex:1;font-weight:500}.field select{text-align-last:right;text-overflow:ellipsis;appearance:none;color:var(--text)}.field .unit{color:var(--text-2);font-size:var(--font-size-sm);font-weight:600}.search-wrap{margin-bottom:var(--space-3);display:block;position:relative}.search-wrap svg{width:20px;height:20px;color:var(--text-2);stroke-width:2.4px;position:absolute;top:14px;left:16px}.search{border:2px solid var(--surface-shadow);border-radius:var(--radius-pill);width:100%;min-height:48px;padding:0 var(--space-4);background:var(--surface);margin-bottom:var(--space-3);transition:border-color var(--duration) var(--ease);outline:none;font-weight:600}.search-wrap .search{margin-bottom:0;padding-left:46px}.search:focus{border-color:var(--leaf)}.segmented{gap:var(--space-1);padding:var(--space-1);background:var(--surface-2);margin-bottom:var(--space-3);border-radius:20px;display:flex}.segmented button{min-height:var(--tap);border-radius:var(--radius);font-size:var(--font-size-sm);color:var(--text-2);transition:background var(--duration) var(--ease), color var(--duration) var(--ease), transform var(--duration) var(--bounce);flex:1;font-weight:800}.segmented button[aria-pressed=true]{background:var(--surface);color:var(--heading);box-shadow:0 3px 0 var(--surface-shadow)}.segmented button:active{transform:scale(.96)}.chips{gap:var(--space-2);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.chip{min-height:40px;padding:0 var(--space-4);border-radius:var(--radius-pill);border:2px solid var(--surface-shadow);background:var(--surface);color:var(--heading);transition:transform var(--duration) var(--bounce);font-size:14px;font-weight:800}.chip:active{transform:scale(.95)}.chip[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.error{color:var(--danger);font-size:var(--font-size-sm);margin:var(--space-2) var(--space-4);font-weight:700}.sheet-backdrop{z-index:20;background:var(--overlay);animation:fade var(--duration) var(--ease);align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{width:100%;max-height:calc(100% - env(safe-area-inset-top) - 24px);background:var(--bg);animation:slide-up .28s var(--ease);border-radius:32px 32px 0 0;flex-direction:column;display:flex}.sheet:before{content:"";background:var(--surface-shadow);border-radius:3px;align-self:center;width:44px;height:5px;margin-top:8px}.sheet-header{min-height:56px;padding:0 var(--space-2);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.sheet-title{font-family:var(--font-display);color:var(--heading);font-size:19px;font-weight:600}.sheet-body{overscroll-behavior:contain;padding:var(--space-1) var(--space-4) calc(env(safe-area-inset-bottom) + var(--space-4));overflow-y:auto}.stats{gap:var(--space-2);text-align:center;grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.stat-value{font-family:var(--font-display);font-variant-numeric:tabular-nums;color:var(--heading);font-size:22px;font-weight:600}.stat-label{color:var(--text-2);font-size:12px;font-weight:800}.stickers{margin:var(--space-4) 0;text-align:center;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.sticker{background:var(--surface);box-shadow:var(--lift);transform:rotate(var(--tilt,0deg));animation:sticker-in .42s var(--bounce) backwards;border-radius:22px;padding:14px 8px;position:relative}.sticker:first-child{--tilt:-2deg}.sticker:nth-child(2){--tilt:1.5deg;animation-delay:60ms}.sticker:nth-child(3){--tilt:-1deg;animation-delay:.12s}.sticker-pop{background:var(--pop);box-shadow:0 4px 0 var(--pop-shadow)}.sticker-pop .stat-value,.sticker-pop .stat-label{color:var(--pop-ink)}.sticker .sparkle{position:absolute;top:-8px;right:-6px}.big-number{font-family:var(--font-display);font-variant-numeric:tabular-nums;color:var(--heading);font-size:44px;font-weight:600;line-height:1.1}.macro-pills{gap:var(--space-2);margin-top:var(--space-4);display:flex}.macro-pill{border-radius:var(--radius);flex:1;min-width:0;padding:10px 12px}.macro-pill span{font-size:12px;font-weight:800;display:block}.macro-pill b{font-family:var(--font-display);font-size:19px;font-weight:600}.macro-pill.protein{background:var(--protein-bg);color:var(--protein)}.macro-pill.carbs{background:var(--carbs-bg);color:var(--carbs)}.macro-pill.fat{background:var(--fat-bg);color:var(--fat)}.date-nav{justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);display:flex}.date-nav-label{min-height:var(--tap);border-radius:var(--radius-pill);background:var(--surface);box-shadow:0 3px 0 var(--surface-shadow);font-family:var(--font-display);color:var(--heading);align-items:center;padding:0 20px;font-size:17px;font-weight:600;display:flex}.hero{align-items:flex-end;gap:var(--space-1);min-height:220px;margin-bottom:var(--space-4);background:var(--leaf-soft);border-radius:32px;padding:22px 16px 16px 20px;display:flex;position:relative;overflow:hidden}.hero-circle{background:var(--celery-stalk);opacity:.6;pointer-events:none;border-radius:50%;width:240px;height:240px;position:absolute;bottom:-110px;right:-80px}.hero-text{flex-direction:column;flex:1;align-self:stretch;gap:10px;min-width:0;display:flex;position:relative}.hero-kicker{letter-spacing:.08em;text-transform:uppercase;color:var(--label);font-size:13px;font-weight:800}.hero-title{font-family:var(--font-display);color:var(--heading);font-size:30px;font-weight:600;line-height:1.05}.bubble{background:var(--surface);box-shadow:0 4px 0 var(--celery-stalk-l);animation:bubble-pop .42s var(--bounce);border-radius:20px 20px 6px;margin-top:auto;padding:12px 14px;font-size:15px;font-weight:700;line-height:1.35}.hero-hint{color:var(--label);font-size:12px;font-weight:700}.summary{align-items:center;gap:18px;display:flex}.ring{flex:none;width:148px;height:148px;position:relative}.ring svg{transform:rotate(-90deg)}.ring-track{stroke:var(--leaf-track)}.ring-fill{stroke:var(--leaf);transition:stroke-dashoffset .9s var(--ease)}.ring.over .ring-fill{stroke:var(--pop-strong)}.ring-center{text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.ring-value{font-family:var(--font-display);color:var(--heading);font-variant-numeric:tabular-nums;font-size:32px;font-weight:600;line-height:1}.ring-label{color:var(--text-2);margin-top:4px;font-size:13px;font-weight:700}.summary-side{flex-direction:column;flex:1;align-items:flex-start;gap:10px;min-width:0;display:flex}.left-sticker{background:var(--pop);color:var(--pop-ink);border-radius:var(--radius);--tilt:-3deg;transform:rotate(var(--tilt));animation:sticker-in .48s var(--bounce) backwards;padding:8px 12px}.left-sticker b{font-family:var(--font-display);font-size:22px;font-weight:600;line-height:1;display:block}.left-sticker span{font-size:12px;font-weight:800}.summary-note{font-size:15px;font-weight:600;line-height:1.35}.streak{margin-bottom:var(--space-4);background:var(--sun);color:var(--sun-ink);box-shadow:0 4px 0 var(--sun-shadow);border-radius:24px;align-items:center;gap:14px;padding:14px 18px;display:flex;transform:rotate(-1.2deg)}.streak-badge{color:#3e7a38;background:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.streak-badge svg{width:26px;height:26px}.streak-title{font-family:var(--font-display);font-size:18px;font-weight:600}.streak-text{font-size:14px;font-weight:600}.section-row{justify-content:space-between;align-items:baseline;display:flex}.section-row .section-title{margin-right:0}.meal{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--lift);margin-bottom:14px;padding:14px 16px;position:relative;overflow:hidden}.meal-head{align-items:center;gap:10px;padding-bottom:6px;display:flex}.meal-icon{border-radius:12px;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.meal-icon svg{width:22px;height:22px}.meal-icon.breakfast{background:var(--carbs-bg);color:var(--warning)}.meal-icon.lunch{background:var(--leaf-soft);color:var(--label)}.meal-icon.dinner{color:#9c2f4d;background:#ffe3e9}.meal-icon.snack{background:var(--fat-bg);color:var(--fat)}.meal-name{font-family:var(--font-display);flex:1;font-size:18px;font-weight:600}.meal-total{font-weight:800;font-size:var(--font-size-sm);color:var(--label)}.meal .row{border-radius:12px;padding:8px 0}.meal .row+.row:before{left:0;right:0}.meal .row:first-of-type{border-top:2px dotted var(--separator)}.meal-empty{font-size:var(--font-size-sm);color:var(--text-2);margin:2px 0 6px;font-weight:600}.meal .deco{opacity:.5;top:-14px;right:-14px}.cheer{margin-bottom:var(--space-4);border-radius:var(--radius-lg);background:var(--pop);color:var(--pop-ink);box-shadow:0 4px 0 var(--pop-shadow);align-items:center;gap:12px;padding:14px 16px;display:flex}.cheer .celery{flex:none}.cheer-title{font-family:var(--font-display);font-size:20px;font-weight:600}.cheer-text{font-size:14px;font-weight:700}.card-head{justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);display:flex}.tag{background:var(--leaf-soft);color:var(--heading);border-radius:12px;padding:4px 10px;font-size:13px;font-weight:800}.legend{margin-top:var(--space-3);gap:14px;font-size:13px;font-weight:700;display:flex}.legend span{align-items:center;gap:6px;display:flex}.legend i{border-radius:4px;width:12px;height:12px}.food-grid{margin-bottom:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.food-card{text-align:left;background:var(--surface);min-width:0;box-shadow:var(--lift);transition:transform var(--duration) var(--bounce);animation:sticker-in .38s var(--bounce) backwards;border-radius:24px;flex-direction:column;align-items:flex-start;gap:8px;padding:14px;display:flex}.food-card:active{transform:scale(.96)}.food-card .row-title{max-width:100%;font-weight:800}.tip{margin-bottom:var(--space-4);background:var(--leaf-soft);color:var(--heading);font-size:var(--font-size-sm);border-radius:24px;align-items:center;gap:12px;padding:16px 18px;font-weight:700;display:flex;transform:rotate(1deg)}.tip .sparkle{flex:none}.chart{width:100%;height:auto;display:block;overflow:visible}.chart text{fill:var(--text-2);font-size:10px;font-weight:700}.chart .grid{stroke:var(--separator);stroke-width:1px;stroke-dasharray:2 4}.chart .target{stroke:var(--pop-strong);stroke-width:2px;stroke-dasharray:5 4}.chart .bar{fill:var(--celery-leaf-3);transform-box:fill-box;transform-origin:bottom;animation:grow .7s var(--ease) backwards}.chart .bar.over{fill:var(--pop-strong)}.chart .bar.today{fill:var(--celery-stalk);stroke:var(--leaf);stroke-width:2px}.chart .area{fill:var(--leaf-track)}.chart .line{fill:none;stroke:var(--leaf);stroke-width:3.5px;stroke-linejoin:round;stroke-linecap:round}.chart .point{fill:var(--surface);stroke:var(--leaf);stroke-width:2.5px}.peek{top:calc(env(safe-area-inset-top) - 8px);position:absolute;right:6px;transform:rotate(8deg)}.has-peek{padding-right:96px}.footer-cheer{text-align:center;font-family:var(--font-display);color:var(--label);padding:var(--space-3) 0 var(--space-4);font-size:16px;font-weight:500}.about{align-items:center;gap:var(--space-1);text-align:center;padding:var(--space-2) 0 var(--space-4);flex-direction:column;display:flex}.about strong{font-family:var(--font-display);color:var(--heading);font-weight:600}.row>svg{flex-shrink:0;width:22px;height:22px}.btn>svg{width:20px;height:20px}.field input[type=date]{appearance:none;justify-content:flex-end;display:flex}@keyframes fade{0%{opacity:0}}@keyframes slide-up{0%{transform:translateY(100%)}}@keyframes screen-in{0%{opacity:0;transform:translateY(8px)}}@keyframes tab-pop{0%{transform:scale(.7)}60%{transform:scale(1.18)rotate(-6deg)}to{transform:scale(1)}}@keyframes celery-bob{0%,to{transform:translateY(0)rotate(-2deg)}50%{transform:translateY(-6px)rotate(2deg)}}@keyframes celery-wave{0%,to{transform:rotate(0)}50%{transform:rotate(-22deg)}}@keyframes celery-dance{0%,to{transform:rotate(-6deg)}50%{transform:rotate(6deg)translateY(-3px)}}@keyframes blink{0%,94%,to{transform:scaleY(1)}97%{transform:scaleY(.1)}}@keyframes twinkle{0%,to{opacity:1;transform:scale(1)rotate(0)}50%{opacity:.55;transform:scale(.6)rotate(45deg)}}@keyframes floaty{0%,to{transform:translateY(0)}50%{transform:translateY(10px)}}@keyframes bubble-pop{0%{opacity:0;transform:scale(.85)}60%{opacity:1;transform:scale(1.04)}to{transform:scale(1)}}@keyframes sticker-in{0%{transform:scale(.6) rotate(var(--tilt,0deg));opacity:0}to{transform:scale(1) rotate(var(--tilt,0deg));opacity:1}}@keyframes grow{0%{transform:scaleY(0)}}@keyframes wobble{0%,to{border-radius:58% 42% 55% 45%/48% 58% 42% 52%}50%{border-radius:45% 55% 42% 58%/56% 44% 58%}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.food-icon{background:var(--fam-bg);color:var(--fam-ink);border-radius:58% 42% 55% 45%/48% 58% 42% 52%;flex:none;justify-content:center;align-items:center;display:inline-flex}.fam-fruit{--fam-bg:var(--fam-fruit-bg);--fam-ink:var(--fam-fruit)}.fam-veg{--fam-bg:var(--fam-veg-bg);--fam-ink:var(--fam-veg)}.fam-drink{--fam-bg:var(--fam-drink-bg);--fam-ink:var(--fam-drink)}.fam-grain{--fam-bg:var(--fam-grain-bg);--fam-ink:var(--fam-grain)}.fam-protein{--fam-bg:var(--fam-protein-bg);--fam-ink:var(--fam-protein)}.fam-dairy{--fam-bg:var(--fam-dairy-bg);--fam-ink:var(--fam-dairy)}.fam-sweet{--fam-bg:var(--fam-sweet-bg);--fam-ink:var(--fam-sweet)}.fam-fat{--fam-bg:var(--fam-fat-bg);--fam-ink:var(--fam-fat)}.fam-meal{--fam-bg:var(--fam-meal-bg);--fam-ink:var(--fam-meal)}.fam-all{--fam-bg:var(--surface);--fam-ink:var(--heading)}.fam-all svg{stroke-width:2.6px;width:15px;height:15px}.wobble{animation:6s ease-in-out infinite wobble}.tilt{transform-origin:50% 90%;animation:3s ease-in-out infinite tilt}mark{background:var(--sun);color:inherit;border-radius:4px;padding:0 1px}.sheet-heading{text-align:center;flex-direction:column;align-items:center;min-width:0;display:flex}.sheet-subtitle{color:var(--text-2);font-size:12px;font-weight:800}.sheet-pill{min-height:36px;min-width:var(--tap);transition:transform var(--duration) var(--bounce);border-radius:18px;padding:0 14px;font-size:14px;font-weight:800}.sheet-pill:active{transform:scale(.94)}.sheet-pill:disabled{opacity:.45}.sheet-pill.pop{background:var(--pop);color:var(--pop-ink);box-shadow:0 3px 0 var(--pop-shadow)}.sheet-pill.primary{background:var(--accent);color:var(--accent-contrast);box-shadow:0 3px 0 var(--accent-shadow)}.sheet-body>*+*{margin-top:0}.picker-search .search{min-height:50px;padding-right:52px}.picker-search .search:focus{box-shadow:0 0 0 4px var(--leaf-soft)}.search-clear{background:var(--surface-2);width:36px;height:36px;color:var(--heading);border-radius:18px;justify-content:center;align-items:center;display:flex;position:absolute;top:7px;right:7px}.search-wrap .search-clear svg{stroke-width:3px;width:16px;height:16px;color:inherit;position:static}.match-count{margin:0 var(--space-1) var(--space-3);color:var(--label);font-size:13px;font-weight:800}.food-section{margin-bottom:var(--space-4)}.food-section-head{align-items:center;gap:var(--space-2);margin:0 var(--space-1) var(--space-2);display:flex}.food-section-title{font-family:var(--font-display);color:var(--heading);font-size:18px;font-weight:600}.count{background:var(--leaf-soft);color:var(--heading);border-radius:10px;padding:1px 8px;font-size:12px;font-weight:800}.food-list{padding:var(--space-1) 6px;border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--lift);flex-direction:column;display:flex}.food-row{align-items:center;gap:var(--space-3);text-align:left;width:100%;min-height:64px;transition:background var(--duration) var(--ease);border-radius:18px;padding:10px;display:flex;position:relative}.food-row+.food-row:before{content:"";border-top:2px dotted var(--separator);position:absolute;top:0;left:10px;right:10px}.food-row:active{background:var(--surface-2)}.food-row:focus-visible,.recent-chip:focus-visible,.family-chip:focus-visible,.quick:focus-visible,.meal-picker button:focus-visible,.kind-tiles button:focus-visible,.family-picker button:focus-visible,.step-btn:focus-visible,.search-clear:focus-visible,.sheet-pill:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.food-row-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.food-row-name{overflow-wrap:anywhere;font-size:16px;font-weight:800;line-height:1.3}.clamp{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.food-row-add{background:var(--leaf-soft);width:32px;height:32px;color:var(--heading);border-radius:16px;flex:none;justify-content:center;align-items:center;display:flex}.food-row-add svg,.food-row-tag svg{stroke-width:3px;width:15px;height:15px}.food-row-tag{background:var(--leaf-soft);height:30px;color:var(--heading);border-radius:15px;flex:none;align-items:center;gap:4px;padding:0 10px;font-size:12px;font-weight:800;display:flex}.recent-chips{gap:var(--space-2);scrollbar-width:none;margin:0 -16px;padding:2px 16px 8px;display:flex;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#000 85%,#0000);mask-image:linear-gradient(90deg,#000 85%,#0000)}.recent-chips::-webkit-scrollbar{display:none}.recent-chip{align-items:center;gap:var(--space-2);background:var(--surface);max-width:220px;min-height:48px;box-shadow:0 3px 0 var(--surface-shadow);transition:transform var(--duration) var(--bounce);border-radius:24px;flex:none;padding:6px 14px 6px 6px;display:flex}.recent-chip:active{transform:scale(.95)}.recent-chip-text{text-align:left;flex-direction:column;align-items:flex-start;min-width:0;line-height:1.15;display:flex}.recent-chip-text b{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:14px;font-weight:800;overflow:hidden}.recent-chip-text span{color:var(--text-2);font-size:12px;font-weight:700}.list-note{margin:-4px var(--space-2) var(--space-4);text-align:center;color:var(--text-2);font-size:13px;font-weight:700}.list-note:empty{display:none}.create-card{padding:var(--space-4);border:2px dashed var(--celery-line);background:var(--leaf-softer);text-align:center;border-radius:24px;flex-direction:column;align-items:center;gap:10px;display:flex;position:relative}.create-card .sparkle{position:absolute;top:-10px;right:18px}.create-card h3{font-family:var(--font-display);color:var(--heading);font-size:17px;font-weight:600}.create-card p{margin-top:-6px;font-size:14px;font-weight:600}.no-match{align-items:center;gap:var(--space-3);margin-top:var(--space-3);background:var(--surface);box-shadow:var(--lift);text-align:center;border-radius:28px;flex-direction:column;padding:24px 20px 20px;display:flex}.no-match-art{width:120px;height:116px;position:relative}.no-match-art .celery{position:absolute;top:0;left:8px}.no-match-glass{color:var(--heading);position:absolute;top:26px;right:0}.no-match-glass svg{stroke-width:2.4px;width:44px;height:44px}.no-match-title{font-family:var(--font-display);color:var(--heading);overflow-wrap:anywhere;font-size:22px;font-weight:600}.no-match-text{font-size:15px;font-weight:600}.no-match-tips{text-align:left;flex-direction:column;align-self:stretch;gap:6px;margin:0;padding:0;list-style:none;display:flex}.no-match-tips li{align-items:center;gap:var(--space-2);background:var(--leaf-softer);color:var(--heading);border-radius:14px;padding:8px 12px;font-size:14px;font-weight:700;display:flex}.loading-dots{color:var(--label);align-items:center;gap:5px;margin-left:auto;font-size:13px;font-weight:800;display:flex}.loading-dots i{background:var(--leaf);border-radius:3px;width:6px;height:6px;animation:.8s ease-in-out infinite hop}.loading-dots i:nth-of-type(2){background:var(--pop-strong);animation-delay:.15s}.loading-dots i:nth-of-type(3){background:var(--sparkle);animation-delay:.3s}.sk{background:linear-gradient(90deg, var(--surface-2) 0, var(--leaf-softer) 50%, var(--surface-2) 100%);background-size:400px 100%;border-radius:7px;animation:1.3s linear infinite shimmer;display:block}.skeleton-row .food-row-main{gap:8px}.entry-preview{align-items:center;gap:var(--space-1);margin-bottom:var(--space-4);background:var(--surface);box-shadow:0 5px 0 var(--surface-shadow);text-align:center;border-radius:28px;flex-direction:column;padding:20px 18px 16px;display:flex;position:relative;overflow:hidden}.entry-name{margin-top:var(--space-1);flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;font-size:17px;font-weight:800;display:flex}.badge{background:var(--leaf-soft);color:var(--heading);border-radius:8px;padding:1px 7px;font-size:11px;font-weight:800}.entry-kcal{font-family:var(--font-display);color:var(--heading);font-variant-numeric:tabular-nums;animation:number-pop .4s var(--bounce);font-size:64px;font-weight:600;line-height:1}.entry-kcal-label{color:var(--text-2);font-size:14px;font-weight:800}.entry-preview .macro-pills{margin-top:var(--space-3);align-self:stretch}.form-label{margin:0 var(--space-1) var(--space-2);color:var(--label);font-size:13px;font-weight:800;display:block}.form-label-row{justify-content:space-between;align-items:baseline;display:flex}.form-label-row .muted{font-size:12px;font-weight:700}.card .form-label{margin-left:0}.amount-card{gap:var(--space-3);flex-direction:column;padding:14px;display:flex}.amount-card .form-label{margin-bottom:0}.stepper{align-items:center;gap:10px;display:flex}.step-btn{background:var(--surface-2);width:48px;height:48px;color:var(--heading);transition:transform var(--duration) var(--bounce);border-radius:24px;flex:none;justify-content:center;align-items:center;display:flex}.step-btn.more{background:var(--accent);color:var(--accent-contrast);box-shadow:0 3px 0 var(--accent-shadow)}.step-btn:active{transform:scale(.9)}.step-btn svg{stroke-width:3px;width:20px;height:20px}.stepper-field{flex:1;min-width:0;position:relative}.stepper-field input{border:2px solid var(--surface-shadow);background:var(--leaf-softer);text-align:center;width:100%;height:56px;font-family:var(--font-display);color:var(--heading);border-radius:18px;outline:none;padding:0 76px 0 12px;font-size:26px;font-weight:600}.stepper-field input:focus{border-color:var(--leaf)}.stepper-unit{color:var(--text-2);font-size:15px;font-weight:800;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.quick-picks{gap:var(--space-2);display:flex}.quick{border:2px solid var(--surface-shadow);background:var(--surface);min-height:40px;color:var(--heading);transition:transform var(--duration) var(--bounce);border-radius:20px;flex:1;font-size:14px;font-weight:800}.quick:active{transform:scale(.95)}.quick[aria-pressed=true]{border-color:var(--leaf);background:var(--leaf-soft)}.hint-pill{align-items:center;gap:var(--space-2);background:var(--hint-bg);color:var(--hint-ink);border-radius:14px;padding:8px 12px;font-size:14px;font-weight:700;display:flex}.hint-pill svg{stroke-width:2.4px;flex:none;width:18px;height:18px}.hint-pill.ok{background:var(--leaf-soft);color:var(--heading)}.meal-picker{gap:var(--space-2);margin-bottom:var(--space-4);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.meal-picker button{border:2px solid var(--surface-shadow);background:var(--surface);min-height:64px;color:var(--heading);transition:transform var(--duration) var(--bounce), background var(--duration) var(--ease);border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:12px;font-weight:800;display:flex}.meal-picker button svg{width:20px;height:20px}.meal-picker button:active{transform:scale(.95)}.meal-picker button[aria-pressed=true]{border-color:var(--accent);background:var(--accent);color:var(--accent-contrast)}.btn-big{min-height:54px;font-family:var(--font-display);font-size:18px;font-weight:600}.btn-danger-soft{background:var(--surface);border-color:color-mix(in srgb, var(--danger) 30%, transparent);color:var(--danger)}.copied-banner{align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);background:var(--sun);color:var(--sun-ink);box-shadow:0 4px 0 var(--sun-shadow);border-radius:22px;padding:12px 14px;display:flex;transform:rotate(-.8deg)}.copied-banner .sparkle{flex:none}.copied-banner b{font-family:var(--font-display);font-size:16px;font-weight:600;display:block}.copied-banner span{font-size:13px;font-weight:700}.form-card{flex-direction:column;gap:10px;padding:14px;display:flex}.form-card .segmented{margin-bottom:0}.text-input{border:2px solid var(--surface-shadow);border-radius:var(--radius);background:var(--leaf-softer);width:100%;height:48px;font-family:var(--font-display);outline:none;padding:0 12px;font-size:17px;font-weight:500}.text-input.big{height:52px;font-size:20px}.text-input:focus,.kcal-field:focus-within{border-color:var(--leaf)}.kind-tiles{margin-bottom:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.kind-tiles button{border:2px solid var(--surface-shadow);background:var(--surface);min-height:64px;color:var(--heading);text-align:left;transition:transform var(--duration) var(--bounce);border-radius:20px;justify-content:center;align-items:center;gap:10px;line-height:1.15;display:flex}.kind-tiles button:active{transform:scale(.96)}.kind-tiles button b{font-size:16px;font-weight:800;display:block}.kind-tiles button span span{color:var(--text-2);font-size:12px;font-weight:800}.kind-tiles button[aria-pressed=true]{border-color:var(--accent);background:var(--leaf-soft)}.family-picker{gap:var(--space-2);margin:0 -16px var(--space-4);scrollbar-width:none;padding:4px 16px 8px;display:flex;overflow-x:auto}.family-picker::-webkit-scrollbar{display:none}.family-picker button{background:var(--surface);width:52px;height:52px;transition:transform var(--duration) var(--bounce), border-color var(--duration);border:3px solid #0000;border-radius:18px;flex:none;justify-content:center;align-items:center;display:flex}.family-picker button:active{transform:scale(.92)}.family-picker button[aria-pressed=true]{border-color:var(--accent)}.kcal-field{border:2px solid var(--surface-shadow);background:var(--leaf-softer);color:var(--label);border-radius:18px;align-items:center;gap:10px;padding:4px 14px;font-weight:800;display:flex}.kcal-field>span:first-child{flex:1}.kcal-field input{text-align:right;width:110px;height:48px;font-family:var(--font-display);color:var(--heading);background:0 0;border:0;outline:none;font-size:28px;font-weight:600}.kcal-field .muted{font-size:13px}.macro-inputs{gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.macro-input{border-radius:var(--radius);flex-direction:column;gap:2px;padding:8px 10px;font-size:12px;font-weight:800;display:flex}.macro-input.protein{background:var(--protein-bg);color:var(--protein)}.macro-input.carbs{background:var(--carbs-bg);color:var(--carbs)}.macro-input.fat{background:var(--fat-bg);color:var(--fat)}.macro-input-row{align-items:baseline;gap:2px;display:flex}.macro-input input{width:100%;min-width:0;height:32px;font-family:var(--font-display);color:inherit;background:0 0;border:0;outline:none;padding:0;font-size:20px;font-weight:600}.macro-input:focus-within{outline:3px solid var(--leaf)}.serving-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.unit-input{display:block;position:relative}.unit-input .text-input{padding-right:40px}.unit-input>span{color:var(--text-2);font-size:14px;font-weight:800;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.family-chips{gap:var(--space-2);margin:0 -18px var(--space-3);scrollbar-width:none;padding:2px 18px 6px;display:flex;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#000 85%,#0000);mask-image:linear-gradient(90deg,#000 85%,#0000)}.family-chips::-webkit-scrollbar{display:none}.family-chip{border:2px solid var(--surface-shadow);background:var(--surface);min-height:40px;color:var(--heading);white-space:nowrap;transition:transform var(--duration) var(--bounce);border-radius:20px;flex:none;align-items:center;gap:6px;padding:4px 14px 4px 5px;font-size:14px;font-weight:800;display:flex}.family-chip:active{transform:scale(.95)}.family-chip[aria-pressed=true]{border-color:var(--accent);background:var(--accent);color:var(--accent-contrast)}.list-intro{margin:0 var(--space-1) var(--space-3);color:var(--label);font-size:14px;font-weight:700}.credit{margin:0 var(--space-1) var(--space-4);border:2px dashed var(--surface-shadow);border-radius:var(--radius);color:var(--text-2);align-items:center;gap:10px;padding:10px 14px;font-size:12px;font-weight:700;display:flex}.credit svg{width:18px;height:18px;color:var(--label);flex:none}.credit a{font-weight:800}@keyframes number-pop{0%{opacity:.3;transform:scale(.8)}60%{opacity:1;transform:scale(1.06)}to{transform:scale(1)}}@keyframes shimmer{0%{background-position:-200px 0}to{background-position:200px 0}}@keyframes hop{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes tilt{0%,to{transform:rotate(-8deg)}50%{transform:rotate(-2deg)}}@media (prefers-reduced-motion:reduce){.entry-kcal,.sk,.loading-dots i{animation:none!important}}.search::-webkit-search-cancel-button{appearance:none}.toast{z-index:30;left:calc(env(safe-area-inset-left) + 18px);right:calc(env(safe-area-inset-right) + 18px);bottom:calc(env(safe-area-inset-bottom) + 92px);align-items:center;gap:var(--space-3);min-height:var(--tap);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-4);background:var(--heading);color:var(--bg);animation:toast-in .22s var(--ease);border-radius:20px;font-weight:700;display:flex;position:fixed;box-shadow:0 8px 24px #0000002e}.toast>span{flex:1}.toast-action{min-height:36px;min-width:var(--tap);padding:0 var(--space-4);background:var(--bg);color:var(--heading);border-radius:14px;font-weight:800}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)}}.date-input{width:100%;min-height:var(--tap);margin-bottom:var(--space-3);padding:0 var(--space-4);background:var(--surface);color:var(--text);box-shadow:0 3px 0 var(--surface-shadow);appearance:none;border:0;border-radius:16px;font-weight:700;display:block}.move-day{gap:var(--space-2);margin-bottom:var(--space-3);display:flex}.move-day .date-input{flex:1;margin-bottom:0}.meal-edit{min-height:36px;padding:0 var(--space-3);background:var(--leaf-softer);color:var(--label);border-radius:12px;margin-left:auto;font-size:13px;font-weight:800}.meal-edit:active{transform:scale(.95)}.row>svg:last-child{width:18px;height:18px;color:var(--text-2);flex-shrink:0}.update-banner{z-index:25;top:calc(env(safe-area-inset-top) + 8px);left:calc(env(safe-area-inset-left) + 12px);right:calc(env(safe-area-inset-right) + 12px);align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-3);background:var(--surface);box-shadow:0 4px 0 var(--surface-shadow), 0 10px 28px #24561f2e;animation:toast-in .26s var(--ease);border-radius:22px;display:flex;position:fixed}.update-text{flex-direction:column;flex:1;min-width:0;line-height:1.2;display:flex}.update-text strong{color:var(--heading);font-weight:800}.update-text span{font-size:var(--font-size-xs);color:var(--text-2);font-weight:600}
