@import"https://fonts.googleapis.com/css2?family=Nunito:ital,wght@0,400;0,500;0,600;0,700;0,800;0,900&family=Bricolage+Grotesque:opsz,wght@12..96,600;12..96,700;12..96,800&family=DM+Mono:wght@400;500&display=swap";html,body,#root{height:100%;margin:0}body{background:#e9e2d4}@media (prefers-color-scheme: dark){body{background:#1b1712}}#root{display:flex;justify-content:center}.app{--font-display: "Bricolage Grotesque", "Nunito", system-ui, sans-serif;--bg: #f4f0e8;--bg-deep: #ece5d8;--card: #ffffff;--ink: #2a2520;--ink-soft: #5c544b;--muted: #938a7e;--faint: #b8afa3;--line: #e8e1d4;--line-soft: #f0ebe0;--accent: #2f6f9e;--accent-deep: #23567d;--accent-ink: #ffffff;--accent-soft: #e0ebf2;--accent-tint: #edf1f4;--good: #3f8f5b;--good-soft: #e4f0e6;--amber: #c8841f;--amber-soft:#f7ecd6;--amber-deep:#a96c12;--warn: #cf4a2c;--warn-soft: #fbe6df;--flag: #c98a2a;--flag-soft: #f6ecd2;--dry: #b97e2c;--dry-soft: #f4ead2;--wet: #2f8a86;--wet-soft: #d9efed;--treat:#8a5aa0;--treat-soft:#ede1f2;--r-sm: 10px;--r: 16px;--r-lg: 22px;--r-xl: 28px;--shadow-sm: 0 1px 2px rgba(54,42,26,.05), 0 2px 6px rgba(54,42,26,.05);--shadow: 0 2px 4px rgba(54,42,26,.05), 0 8px 22px rgba(54,42,26,.08);--shadow-lg: 0 10px 30px rgba(54,42,26,.16), 0 2px 8px rgba(54,42,26,.08);--ease: cubic-bezier(.2,.7,.2,1);--stripe: rgba(0,0,0,.05);position:relative;width:100%;height:100dvh;display:flex;flex-direction:column;overflow:hidden;background:var(--bg);color:var(--ink);font-family:Nunito,system-ui,sans-serif;font-size:15px;line-height:1.4;letter-spacing:-.1px;-webkit-font-smoothing:antialiased}.phoneCol{width:100%;max-width:600px;margin:0 auto}.topnav{display:none;align-items:center;gap:18px;height:60px;padding:0 24px;flex-shrink:0;z-index:30;background:color-mix(in srgb,var(--bg) 85%,transparent);backdrop-filter:blur(16px) saturate(150%);-webkit-backdrop-filter:blur(16px) saturate(150%);border-bottom:1px solid var(--line-soft)}.topnav .navtabs{margin-left:auto;display:flex;gap:6px;align-items:center}.topnav .navtab{min-height:40px;padding:0 14px;border-radius:11px;font-weight:800;font-size:13.5px;color:var(--ink-soft);display:inline-flex;align-items:center;gap:7px;white-space:nowrap;transition:background .15s,color .15s}.topnav .navtab svg{width:16px;height:16px;opacity:.85}.topnav .navtab:hover{background:var(--bg-deep)}.topnav .navtab.on{background:var(--accent-soft);color:var(--accent-deep)}@media (min-width: 600px){.sheet{left:50%;right:auto;width:480px;transform:translate(-50%) translateY(100%);border-radius:26px;bottom:24px;max-height:calc(100% - 48px)}.sheet.in{transform:translate(-50%) translateY(0)}}.app[data-theme=forest]{--accent:#3f8f5b;--accent-deep:#2f7748;--accent-soft:#e2f0e5;--accent-tint:#edf3ec}.app[data-theme=grape]{--accent:#8a5aa0;--accent-deep:#744a88;--accent-soft:#efe4f4;--accent-tint:#f2edf4}.app[data-theme=honey]{--accent:#bf8b2f;--accent-deep:#98691d;--accent-soft:#f4e9cf;--accent-tint:#f6f0e2}.app[data-mode=dark]{--bg:#1b1712;--bg-deep:#272019;--card:#221c16;--ink:#f1eae0;--ink-soft:#c4b9a9;--muted:#9a9081;--faint:#6b6254;--line:#37302a;--line-soft:#2a241d;--accent-ink:#ffffff;--accent-deep: color-mix(in srgb, var(--accent) 52%, #fff);--accent-soft: color-mix(in srgb, var(--accent) 26%, var(--card));--accent-tint: color-mix(in srgb, var(--accent) 13%, var(--card));--good:#5fb079;--good-soft: color-mix(in srgb, #5fb079 24%, var(--card));--amber:#dca63f;--amber-soft: color-mix(in srgb, #dca63f 24%, var(--card));--amber-deep:#e6b860;--warn:#e2573f;--warn-soft: color-mix(in srgb, #e2573f 26%, var(--card));--flag:#dcab53;--flag-soft: color-mix(in srgb, #dcab53 22%, var(--card));--dry:#d8a352;--dry-soft: color-mix(in srgb, #d8a352 22%, var(--card));--wet:#5fb6b0;--wet-soft: color-mix(in srgb, #5fb6b0 22%, var(--card));--treat:#b793ce;--treat-soft:color-mix(in srgb, #b793ce 24%, var(--card));--stripe: rgba(255,255,255,.05);--shadow-sm: 0 1px 2px rgba(0,0,0,.45), 0 2px 6px rgba(0,0,0,.35);--shadow: 0 2px 4px rgba(0,0,0,.45), 0 10px 26px rgba(0,0,0,.5);--shadow-lg: 0 20px 50px rgba(0,0,0,.62)}.app *{box-sizing:border-box;-webkit-tap-highlight-color:transparent}.app button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}.app a:focus-visible,.app button:focus-visible,.app input:focus-visible,.app select:focus-visible,.app textarea:focus-visible,.app [role=button]:focus-visible,.app [tabindex="0"]:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}.app input,.app select,.app textarea{font-family:inherit}.mono{font-family:DM Mono,ui-monospace,monospace;letter-spacing:-.3px}.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.stripes{background-image:repeating-linear-gradient(45deg,var(--stripe) 0 8px,transparent 8px 16px)}.modeToggle{width:44px;height:44px;border-radius:50%;flex-shrink:0;background:var(--bg-deep);color:var(--ink-soft);display:grid;place-items:center;transition:transform .12s var(--ease),background .15s,color .15s}.modeToggle:active{transform:scale(.92)}.modeToggle svg{width:18px;height:18px}.screen{flex:1;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;scroll-behavior:smooth}.screen::-webkit-scrollbar{width:0;height:0}.pad{padding:0 18px}.pageHead{padding:18px 18px 6px}.pageHead .h1{white-space:nowrap}.pageHead>div:first-child{min-width:0;flex:1}.pageHead .sub{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.afterNav{height:96px}.brandbar{display:flex;align-items:center;gap:9px;padding:22px 18px 4px}.nudge{display:flex;align-items:center;gap:10px;margin:8px 18px 0;padding:11px 13px;font-size:12.5px;font-weight:600;color:var(--ink-soft);line-height:1.35;background:var(--accent-tint)}.nudge b{font-weight:800;color:var(--ink)}.nudgeText{flex:1;text-align:left;font:inherit;color:inherit;cursor:pointer}.infoDot{position:relative;flex-shrink:0;display:inline-flex}.infoDotBtn{width:22px;height:22px;min-height:0;border-radius:50%;flex-shrink:0;display:grid;place-items:center;font-weight:900;font-size:13px;line-height:1;background:var(--card);color:var(--accent-deep);box-shadow:inset 0 0 0 1.5px var(--line);cursor:pointer}.infoDotBtn:active{background:var(--accent-soft)}.infoPop{position:absolute;top:calc(100% + 8px);z-index:60;width:min(86vw,290px);padding:13px 15px;border-radius:14px;background:var(--card);color:var(--ink-soft);box-shadow:var(--shadow-md, 0 10px 30px rgba(0,0,0,.18));border:1px solid var(--line);font-size:12.5px;font-weight:600;line-height:1.45;cursor:default;animation:fadeUp .18s var(--ease)}.infoPop.right{right:0}.infoPop.left{left:0}.infoPop p{margin:7px 0 0}.infoPop b{color:var(--ink)}.infoPop .infoTitle{display:block;color:var(--ink);font-size:14px}.infoLink{margin-top:11px;font-weight:800;color:var(--accent-deep);font-size:12.5px}.authPrivacy{display:block;width:100%;margin-top:14px;text-align:center;font-size:12px;font-weight:600;color:var(--muted)}.authPrivacy u{color:var(--accent-deep)}.legalScreen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:var(--bg)}.label.sub2{font-size:11.5px;color:var(--muted);font-weight:700}.monogram{font-family:var(--font-display);font-weight:900;color:var(--accent-deep);line-height:1}.avatar .monogram{font-size:.9em}.bulkArea{min-height:200px;resize:vertical;font-family:DM Mono,monospace;font-size:12.5px;line-height:1.45;padding:12px}.legalHead{display:flex;align-items:center;padding:max(18px,env(safe-area-inset-top)) 18px 6px}.legalBody{padding:6px 20px 20px;max-width:640px}.legalPromise{display:flex;gap:11px;align-items:flex-start;margin:16px 0 6px;padding:14px 16px;border-radius:14px;background:var(--good-soft);color:var(--ink-soft);font-size:14px;line-height:1.5;font-weight:500}.legalPromise b{color:var(--ink)}.legalPromise>span:first-child{flex-shrink:0;width:20px;height:20px;margin-top:1px}.legalBody h2{font-size:16px;font-weight:800;letter-spacing:-.3px;margin:22px 0 4px;color:var(--ink)}.legalBody p{color:var(--ink-soft);font-size:14px;line-height:1.55;margin:6px 0;font-weight:500}.legalBody b{color:var(--ink);font-weight:800}.legalBody ul{margin:6px 0;padding-left:18px}.legalBody li{color:var(--ink-soft);font-size:14px;line-height:1.5;margin:6px 0;font-weight:500}.legalBody code{font-family:DM Mono,monospace;font-size:12.5px;background:var(--bg-deep);padding:1px 5px;border-radius:5px}.legalBody a{color:var(--accent-deep);font-weight:700}.legalLead{font-size:15px!important;color:var(--muted)!important;margin-top:8px!important}.legalFoot{margin-top:26px!important;padding-top:14px;border-top:1px solid var(--line-soft);font-size:13px!important}.brandmark{width:30px;height:30px;border-radius:9px;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;flex-shrink:0;box-shadow:var(--shadow-sm)}.brandmark svg{width:18px;height:18px}.brandname{font-family:var(--font-display);font-weight:800;font-size:19px;letter-spacing:-.5px;white-space:nowrap}.brandname .brandDot{color:var(--muted)}.brandtag{font-size:12px;color:var(--muted);font-weight:600;margin-left:-3px}.h1{font-family:var(--font-display);font-size:27px;font-weight:800;letter-spacing:-.8px;line-height:1.05}.h2{font-size:19px;font-weight:800;letter-spacing:-.4px}.sub{color:var(--muted);font-weight:600;font-size:13.5px}.eyebrow{font-family:DM Mono,monospace;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);font-weight:500}.rowBetween{display:flex;align-items:center;justify-content:space-between;gap:12px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:48px;padding:0 18px;border-radius:14px;font-weight:800;font-size:15px;letter-spacing:-.2px;transition:transform .12s var(--ease),box-shadow .15s,opacity .15s;white-space:nowrap;-webkit-user-select:none;user-select:none}.btn:active{transform:scale(.96)}.btn svg{width:17px;height:17px}.btn.primary{background:var(--accent);color:var(--accent-ink);box-shadow:0 2px 8px color-mix(in srgb,var(--accent) 38%,transparent)}.btn.primary:active{background:var(--accent-deep)}.btn.ghost{background:var(--card);color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line)}.btn.soft{background:var(--accent-soft);color:var(--accent-deep)}.btn.tonal{background:var(--bg-deep);color:var(--ink-soft)}.btn.danger{background:transparent;color:var(--warn)}.btn.sm{min-height:44px;padding:0 14px;font-size:13.5px;border-radius:11px}.btn.xs{min-height:44px;padding:0 13px;font-size:12.5px;border-radius:10px;gap:5px}.btn.block{width:100%}.btn.icon{width:48px;padding:0}.btn.icon.sm{width:44px}.btn:disabled{opacity:.45;pointer-events:none}.addRow{width:100%;height:48px;border-radius:15px;white-space:nowrap;border:1.5px dashed var(--line);background:transparent;color:var(--muted);font-weight:800;font-size:14.5px;display:flex;align-items:center;justify-content:center;gap:8px;transition:border-color .15s,color .15s,background .15s}.addRow:active{background:var(--accent-tint);border-color:var(--accent);color:var(--accent-deep)}.addRow svg{width:16px;height:16px}.card{background:var(--card);border-radius:var(--r-lg);box-shadow:var(--shadow)}.card.flat{box-shadow:var(--shadow-sm)}.pill{display:inline-flex;align-items:center;gap:5px;height:25px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:-.1px;background:var(--bg-deep);color:var(--ink-soft);white-space:nowrap}.pill.mono{font-family:DM Mono,monospace;font-weight:500;font-size:11px;letter-spacing:-.3px}.pill.form{text-transform:capitalize;font-weight:800}.pill.form.dry{background:var(--dry-soft);color:var(--dry)}.pill.form.wet{background:var(--wet-soft);color:var(--wet)}.pill.form.treat{background:var(--treat-soft);color:var(--treat)}.pill.form.supplement{background:var(--bg-deep);color:var(--ink-soft)}.pill.good{background:var(--good-soft);color:var(--good)}.pill.amber{background:var(--amber-soft);color:var(--amber-deep)}.pill.flag{background:var(--flag-soft);color:var(--flag)}.pill.warn{background:var(--warn-soft);color:var(--warn)}.pill svg{width:12px;height:12px}.tabbar{position:absolute;left:0;right:0;bottom:0;z-index:40;display:flex;justify-content:center;gap:6px;padding:9px 14px calc(16px + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--bg) 80%,transparent);backdrop-filter:blur(18px) saturate(150%);-webkit-backdrop-filter:blur(18px) saturate(150%);border-top:1px solid var(--line-soft)}.tab{flex:1;max-width:150px;display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 0;border-radius:14px;color:var(--muted);font-weight:800;font-size:11.5px;letter-spacing:-.1px;transition:color .15s,background .15s,transform .12s var(--ease)}.tab svg{width:23px;height:23px}.tab:active{transform:scale(.92)}.tab.on{color:var(--accent)}.tab.on .tabIco{background:var(--accent-soft)}.tabIco{width:56px;height:30px;border-radius:999px;display:grid;place-items:center;transition:background .18s}.dogCard{display:flex;align-items:center;gap:14px;padding:14px}.avatar{width:56px;height:56px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;font-size:30px;background:var(--accent-tint);box-shadow:inset 0 0 0 1px var(--line);overflow:hidden}.avatar.lg{width:76px;height:76px;font-size:40px}.avatar img{width:100%;height:100%;object-fit:cover}.dogName{font-family:var(--font-display);font-weight:800;font-size:17px;letter-spacing:-.3px}.dogMeta{color:var(--muted);font-weight:600;font-size:13px;display:flex;align-items:center;gap:5px}.kcalBig{font-family:var(--font-display);font-weight:800;letter-spacing:-1px;line-height:1}.kcalUnit{font-family:DM Mono,monospace;font-size:10.5px;color:var(--muted);font-weight:500;text-transform:uppercase;letter-spacing:0}.planHead{position:sticky;top:0;z-index:20;padding-top:14px;background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.targetHero{padding:18px;border-radius:var(--r-xl);position:relative;overflow:hidden}.ring{position:relative;flex-shrink:0}.ring svg{transform:rotate(-90deg)}.ring .ringLabel{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.meal{padding:0;overflow:hidden}.mealHead{display:flex;align-items:center;gap:10px;padding:13px 15px}.mealName{font-weight:800;font-size:15.5px;letter-spacing:-.3px;background:transparent;width:100%;min-height:44px;border:none;border-radius:8px;padding:3px 7px;margin-left:-5px;transition:background .15s;color:var(--ink)}.mealName:focus{outline:none;background:var(--accent-tint)}.budgetChip{font-family:DM Mono,monospace;font-size:11px;color:var(--ink-soft);font-weight:500;background:var(--bg-deep);padding:3px 8px;border-radius:7px;white-space:nowrap}.item{padding:13px 15px 14px;border-top:1px solid var(--line-soft);position:relative}.itemX{position:absolute;top:9px;right:9px;z-index:2}.itemTop{display:flex;align-items:flex-start;gap:11px;padding-right:44px}.foodPickBtn{text-align:left;flex:1;min-width:0;min-height:44px}.foodEmoji{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;font-size:21px;flex-shrink:0;background:var(--bg-deep);overflow:hidden}.foodEmoji img{width:100%;height:100%;object-fit:cover}.itemName{font-weight:800;font-size:14.5px;letter-spacing:-.2px;line-height:1.18}.itemBrand{font-family:DM Mono,monospace;font-size:10.5px;color:var(--muted);text-transform:uppercase;font-weight:500;margin-top:2px}.itemCtl{display:flex;align-items:center;gap:8px;margin-top:12px;flex-wrap:wrap}.autoHint{font-size:11px;color:var(--accent-deep);font-weight:500;display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.seg{display:inline-flex;background:var(--bg-deep);border-radius:12px;padding:3px;gap:2px}.seg button{min-height:44px;padding:0 13px;border-radius:9px;font-weight:800;font-size:12.5px;color:var(--muted);display:inline-flex;align-items:center;gap:5px;transition:all .15s var(--ease)}.seg button svg{width:13px;height:13px}.seg button.on{background:var(--card);color:var(--ink);box-shadow:var(--shadow-sm)}.seg.fillmode button.on{color:var(--accent-deep)}.stepper{display:inline-flex;align-items:stretch;background:var(--card);border-radius:12px;box-shadow:inset 0 0 0 1.5px var(--line);min-height:44px}.stepper button{width:40px;display:grid;place-items:center;color:var(--ink-soft);font-size:18px;font-weight:800}.stepper button:active{color:var(--accent)}.stepInput{width:44px;align-self:stretch;text-align:center;border:none;background:transparent;font-weight:800;font-size:14px;color:var(--ink)}.stepInput:focus{outline:none}.unitSel,.selBox{min-height:44px;min-width:64px;border-radius:12px;background:var(--card);box-shadow:inset 0 0 0 1.5px var(--line);padding:0 30px 0 12px;font-weight:800;font-size:13px;color:var(--ink);text-transform:capitalize;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23938a7e' stroke-width='1.6' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 11px center}.result{text-align:right;flex-shrink:0;min-width:66px}.resultAmt{font-weight:900;font-size:15px;letter-spacing:-.3px;white-space:nowrap}.resultKcal{font-family:DM Mono,monospace;font-size:11px;color:var(--muted);font-weight:500;white-space:nowrap}.result.fill .resultAmt{color:var(--accent-deep)}.pieceRow{display:flex;align-items:center;gap:10px;padding:7px 0}.pieceRow .resultKcal{white-space:nowrap}.item .pfBar{position:absolute;left:0;top:0;bottom:0;width:0;transition:width .2s,background .2s}.app[data-pfstyle=bars] .item.isPinned .pfBar{width:4px;background:var(--ink-soft)}.app[data-pfstyle=bars] .item.isFill .pfBar{width:4px;background:var(--accent)}.tagchip{font-family:DM Mono,monospace;font-size:10px;text-transform:uppercase;letter-spacing:.2px;font-weight:500;padding:2px 7px;border-radius:6px}.tagchip.pin{background:var(--bg-deep);color:var(--ink-soft)}.tagchip.fill{background:var(--accent-soft);color:var(--accent-deep)}.itemWarn{display:flex;align-items:center;gap:6px;margin-top:9px;color:var(--warn);font-size:12.5px;font-weight:700}.itemWarn svg{width:13px;height:13px;flex-shrink:0}.removeBtn{width:44px;height:44px;border-radius:10px;display:grid;place-items:center;color:var(--faint);flex-shrink:0;transition:background .15s,color .15s}.removeBtn:active{background:var(--warn-soft);color:var(--warn)}.removeBtn svg{width:14px;height:14px}.totalCard{padding:16px 18px}.deltaBar{height:12px;border-radius:999px;background:var(--bg-deep);overflow:hidden;position:relative;margin-top:12px}.deltaFill{height:100%;border-radius:999px;transition:width .35s var(--ease),background .25s}.deltaTick{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--ink);opacity:.25;border-radius:2px}.toolbar{display:flex;gap:9px;padding:8px 18px 4px}.search{flex:1;min-height:48px;border-radius:14px;background:var(--card);box-shadow:inset 0 0 0 1.5px var(--line);display:flex;align-items:center;gap:8px;padding:0 14px}.search svg{width:17px;height:17px;color:var(--muted);flex-shrink:0}.search input{flex:1;align-self:stretch;border:none;background:transparent;font-weight:600;font-size:14.5px;color:var(--ink);min-width:0}.search input:focus{outline:none}.search input::placeholder{color:var(--faint)}.filterScroll{display:flex;gap:7px;padding:10px 18px 6px;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.filterScroll::-webkit-scrollbar{display:none;width:0;height:0}.chip{min-height:44px;padding:0 16px;border-radius:999px;flex-shrink:0;white-space:nowrap;background:var(--card);box-shadow:inset 0 0 0 1.5px var(--line);font-weight:800;font-size:13px;color:var(--ink-soft);display:inline-flex;align-items:center;gap:6px;transition:all .15s}.chip.on{background:var(--ink);color:var(--bg);box-shadow:none}.chip .dot{width:7px;height:7px;border-radius:50%}.foodCard{overflow:hidden}.foodThumb{height:92px;display:grid;place-items:center;font-size:40px;background:var(--accent-tint);position:relative}.foodThumb .stripes{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.5}.foodThumb>img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.foodBody{padding:13px 15px 15px}.foodBrand{font-family:DM Mono,monospace;font-size:10.5px;text-transform:uppercase;letter-spacing:.3px;color:var(--muted);font-weight:500}.foodName{font-weight:800;font-size:15px;letter-spacing:-.3px;margin-top:1px}.statRow{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.sourceLine{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--muted);margin-top:11px}.sourceLine svg{width:13px;height:13px;flex-shrink:0}.sourceLine.good{color:var(--good)}.sourceLine a{color:var(--accent-deep);text-decoration:none;border-bottom:1px solid color-mix(in srgb,var(--accent) 35%,transparent);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.foodActions{display:flex;gap:8px;margin-top:13px;align-items:center}.scrim{position:absolute;top:0;right:0;bottom:0;left:0;z-index:50;background:#281e1452;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);opacity:0;transition:opacity .25s}.scrim.in{opacity:1}.sheet{position:absolute;left:0;right:0;bottom:0;z-index:51;background:var(--bg);border-radius:26px 26px 0 0;box-shadow:0 -10px 40px #281e1438;transform:translateY(100%);transition:transform .32s var(--ease);max-height:90%;display:flex;flex-direction:column;padding-bottom:calc(22px + env(safe-area-inset-bottom))}.sheet.in{transform:translateY(0)}.grab{width:38px;height:5px;border-radius:999px;background:var(--line);margin:9px auto 4px;flex-shrink:0}.sheetHead{display:flex;align-items:center;justify-content:space-between;padding:6px 18px 8px}.sheetTitle{font-weight:900;font-size:19px;letter-spacing:-.5px;white-space:nowrap}.sheetBody{overflow-y:auto;padding:4px 18px 8px;overscroll-behavior:contain;scroll-padding-bottom:24px;-webkit-overflow-scrolling:touch}.sheetBody::-webkit-scrollbar{width:0}.sheetFoot{padding:10px 18px 4px;display:flex;gap:10px}.closeX{width:44px;height:44px;border-radius:50%;background:var(--bg-deep);display:grid;place-items:center;color:var(--ink-soft)}.closeX svg{width:15px;height:15px}.field{margin-bottom:14px}.label{font-weight:800;font-size:13px;color:var(--ink-soft);margin-bottom:6px;display:block;letter-spacing:-.1px}.input{width:100%;min-height:48px;border-radius:13px;background:var(--card);box-shadow:inset 0 0 0 1.5px var(--line);padding:0 14px;font-weight:700;font-size:15px;color:var(--ink);transition:box-shadow .15s}.input:focus{outline:none;box-shadow:inset 0 0 0 2px var(--accent)}textarea.input{height:auto;padding:11px 14px;resize:none;line-height:1.4;font-weight:600}.input::placeholder{color:var(--faint);font-weight:600}.fieldRow{display:flex;gap:10px}.fieldRow>.field{flex:1}.choiceWrap{display:flex;flex-wrap:wrap;gap:8px}.choice{min-height:46px;padding:0 15px;border-radius:12px;background:var(--card);box-shadow:inset 0 0 0 1.5px var(--line);font-weight:800;font-size:13.5px;color:var(--ink-soft);display:inline-flex;align-items:center;gap:7px;transition:all .15s var(--ease)}.choice:active{transform:scale(.96)}.choice.on{background:var(--accent);color:var(--accent-ink);box-shadow:0 2px 8px color-mix(in srgb,var(--accent) 35%,transparent)}.choice .emo{font-size:16px}.actSlider{background:var(--card);box-shadow:inset 0 0 0 1.5px var(--line);border-radius:14px;padding:12px 15px 14px}.actHead{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.actLabel{font-weight:900;font-size:17px;letter-spacing:-.4px;color:var(--ink)}.actFactor{font-weight:800;font-size:12.5px;color:var(--accent-deep);background:var(--accent-soft);padding:2px 9px;border-radius:999px}.actRange{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;min-height:44px;background:transparent;margin:4px 0 0;cursor:pointer}.actRange:focus{outline:none}.actRange::-webkit-slider-runnable-track{height:7px;border-radius:999px;background:var(--bg-deep)}.actRange::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:26px;height:26px;margin-top:-9.5px;border-radius:50%;background:var(--accent);border:3px solid var(--card);box-shadow:0 2px 6px color-mix(in srgb,var(--accent) 40%,transparent)}.actRange::-moz-range-track{height:7px;border-radius:999px;background:var(--bg-deep)}.actRange::-moz-range-thumb{width:26px;height:26px;border-radius:50%;background:var(--accent);border:3px solid var(--card);box-shadow:0 2px 6px color-mix(in srgb,var(--accent) 40%,transparent)}.actEnds{display:flex;justify-content:space-between;font-size:11px;font-weight:700;color:var(--faint);margin-top:2px}.actBlurb{font-size:12.5px;font-weight:600;color:var(--muted);margin-top:7px}.bodyChips{display:flex;gap:6px}.bodyChip{flex:1;min-height:64px;border-radius:12px;background:var(--card);box-shadow:inset 0 0 0 1.5px var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:6px 2px;position:relative;transition:all .15s var(--ease)}.bodyChip:active{transform:scale(.95)}.bodyChip.on{background:var(--accent-soft);box-shadow:inset 0 0 0 2px var(--accent)}.bodyDog{font-size:22px;line-height:1;display:inline-block}.bodyLbl{font-size:11px;font-weight:800;color:var(--ink-soft);letter-spacing:-.2px}.bodyChip.on .bodyLbl{color:var(--accent-deep)}.bodyTag{position:absolute;top:-7px;right:-3px;font-size:8.5px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;background:var(--ink-soft);color:var(--card);padding:1px 5px;border-radius:999px}.bodyHint{font-size:12px;font-weight:600;color:var(--muted);margin-top:8px;min-height:15px}.pickRow{display:flex;align-items:center;gap:12px;padding:11px 4px;border-bottom:1px solid var(--line-soft)}.pickRow:active{background:var(--accent-tint)}.empty{text-align:center;padding:38px 24px}.emptyEmoji{font-size:52px}.emptyTitle{font-weight:900;font-size:18px;margin-top:12px;letter-spacing:-.4px}.emptyText{color:var(--muted);font-weight:600;font-size:14px;margin-top:4px;line-height:1.45}.divLine{height:1px;background:var(--line-soft);margin:0 18px}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.app[data-fun=playful] .avatar{transition:transform .3s var(--ease)}.app[data-fun=playful] .dogCard:active .avatar{transform:rotate(-7deg) scale(1.06)}.app[data-fun=playful] .brandmark{animation:wag 4s ease-in-out infinite;transform-origin:60% 70%}@keyframes wag{0%,88%,to{transform:rotate(0)}92%{transform:rotate(-12deg)}96%{transform:rotate(10deg)}}@media (prefers-reduced-motion: no-preference){.fadeUp{animation:fadeUp .45s var(--ease)}.pop{animation:pop .3s var(--ease)}}@keyframes fadeUp{0%{transform:translateY(9px)}to{transform:none}}@keyframes pop{0%{transform:scale(.96)}to{transform:none}}.fl{font-size:14.5px}.fl .wrap{max-width:1240px;margin:0 auto;padding:20px 24px 130px}.fl .libHead{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px}.fl .h1{font-family:var(--font-display);font-size:30px;font-weight:800;letter-spacing:-.9px;line-height:1}.fl .libSub{color:var(--muted);font-weight:600;font-size:14px;margin-top:7px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.fl .libSub>span{white-space:nowrap}.fl .libSub b{color:var(--ink)}.fl .flagDot{display:inline-flex;align-items:center;gap:5px;color:var(--flag);font-weight:800}.fl .flagDot .d{width:7px;height:7px;border-radius:50%;background:var(--flag)}.fl .toolbar{display:flex;gap:10px;align-items:center;margin-bottom:18px;flex-wrap:wrap;padding:0}.fl .search{flex:1;min-width:220px}.fl .search:focus-within{box-shadow:inset 0 0 0 2px var(--accent)}.fl .selBox{height:44px;min-width:0;border-radius:13px;padding:0 36px 0 14px;font-size:13.5px;text-transform:none}.fl .viewToggle{display:inline-flex;background:var(--bg-deep);border-radius:12px;padding:3px;gap:2px}.fl .viewToggle button{height:44px;width:44px;border-radius:9px;display:grid;place-items:center;color:var(--muted);transition:all .15s}.fl .viewToggle button svg{width:18px;height:18px}.fl .viewToggle button.on{background:var(--card);color:var(--ink);box-shadow:var(--shadow-sm)}.fl .filtersBtn{display:none}.fl .body{display:grid;grid-template-columns:236px 1fr;gap:26px;align-items:start}.fl .rail{position:sticky;top:12px;display:flex;flex-direction:column;gap:22px}.fl .facetHead{display:flex;align-items:center;justify-content:space-between;margin-bottom:11px}.fl .facetTitle{font-family:DM Mono,monospace;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);font-weight:500}.fl .checkRow{display:flex;align-items:center;gap:10px;padding:10px 0;cursor:pointer;-webkit-user-select:none;user-select:none}.fl .checkBox{width:20px;height:20px;border-radius:6px;box-shadow:inset 0 0 0 1.6px var(--line);background:var(--card);display:grid;place-items:center;flex-shrink:0;transition:all .15s}.fl .checkBox svg{width:13px;height:13px;color:var(--accent-ink);opacity:0}.fl .checkRow.on .checkBox{background:var(--accent);box-shadow:none}.fl .checkRow.on .checkBox svg{opacity:1}.fl .checkLabel{font-weight:700;font-size:14px;flex:1;min-width:0;display:flex;align-items:center;gap:7px;white-space:nowrap}.fl .checkCount{color:var(--faint);font-weight:700;font-size:12.5px;font-variant-numeric:tabular-nums}.fl .formDot{width:9px;height:9px;border-radius:50%}.fl .flavorChips{display:flex;flex-wrap:wrap;gap:7px}.fl .fchip{min-height:42px;padding:0 14px;border-radius:999px;background:var(--card);box-shadow:inset 0 0 0 1.5px var(--line);font-weight:800;font-size:12.5px;color:var(--ink-soft);transition:all .15s;display:inline-flex;align-items:center}.fl .fchip.on{background:var(--ink);color:var(--bg);box-shadow:none}.fl .rangeWrap{padding:2px 2px 0}.fl .rangeVals{display:flex;justify-content:space-between;margin-bottom:10px}.fl .rangePill{font-family:DM Mono,monospace;font-size:12px;font-weight:500;background:var(--bg-deep);padding:3px 9px;border-radius:7px;color:var(--ink-soft)}.fl .dualRange{position:relative;height:30px}.fl .dualRange .track{position:absolute;top:13px;left:0;right:0;height:5px;border-radius:5px;background:var(--bg-deep)}.fl .dualRange .fill{position:absolute;top:13px;height:5px;border-radius:5px;background:var(--accent)}.fl .dualRange input[type=range]{position:absolute;top:0;left:0;width:100%;height:30px;margin:0;background:none;pointer-events:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.fl .dualRange input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;pointer-events:auto;width:20px;height:20px;border-radius:50%;background:var(--card);box-shadow:0 1px 4px #362a1a40,inset 0 0 0 2px var(--accent);cursor:grab}.fl .dualRange input[type=range]::-moz-range-thumb{pointer-events:auto;width:20px;height:20px;border:none;border-radius:50%;background:var(--card);box-shadow:0 1px 4px #362a1a40,inset 0 0 0 2px var(--accent);cursor:grab}.fl .resultsHead{display:flex;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap}.fl .resultsCount{font-weight:800;font-size:15px}.fl .resultsCount span{color:var(--muted);font-weight:700}.fl .activeChips{display:flex;gap:7px;flex-wrap:wrap}.fl .aChip{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 7px 0 11px;border-radius:999px;background:var(--accent-soft);color:var(--accent-deep);font-weight:800;font-size:12.5px;text-transform:capitalize}.fl .aChip button{width:18px;height:18px;border-radius:50%;display:grid;place-items:center}.fl .aChip button svg{width:11px;height:11px}.fl .clearAll{font-size:13px;font-weight:800;color:var(--muted)}.fl .grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(252px,1fr));gap:16px}.fl .fcard{background:var(--card);border-radius:var(--r-lg);box-shadow:var(--shadow);overflow:hidden;position:relative;display:flex;flex-direction:column;transition:transform .14s var(--ease),box-shadow .14s}.fl .fcard:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.fl .fcard.picked{box-shadow:0 0 0 2px var(--accent),var(--shadow)}.fl .cmpToggle{position:absolute;top:11px;right:11px;z-index:3;min-height:44px;padding:0 14px 0 12px;border-radius:999px;background:color-mix(in srgb,var(--card) 92%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:var(--shadow-sm);display:flex;align-items:center;gap:6px;font-weight:800;font-size:12px;color:var(--ink-soft)}.fl .cmpToggle .box{width:16px;height:16px;border-radius:5px;box-shadow:inset 0 0 0 1.6px var(--line);display:grid;place-items:center}.fl .cmpToggle .box svg{width:11px;height:11px;color:var(--accent-ink);opacity:0}.fl .fcard.picked .cmpToggle{background:var(--accent);color:var(--accent-ink)}.fl .fcard.picked .cmpToggle .box{background:var(--accent-ink);box-shadow:none}.fl .fcard.picked .cmpToggle .box svg{color:var(--accent);opacity:1}.fl .fthumb{height:78px;display:grid;place-items:center;font-size:34px;position:relative}.fl .fthumb .stripes{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.5}.fl .fthumb>img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.fl .fthumb>img.logo{position:relative;inset:auto;height:50px;width:auto;max-width:80%;object-fit:contain;background:#fff;border-radius:10px;padding:7px 13px;box-shadow:var(--shadow-sm)}.pill.form .formEmoji{font-size:1.05em;margin-right:3px;line-height:1}.fl .statusCorner{position:absolute;left:11px;top:11px}.fl .fbody{padding:13px 15px 15px;display:flex;flex-direction:column;flex:1}.fl .fbrand{font-family:DM Mono,monospace;font-size:10.5px;text-transform:uppercase;letter-spacing:.3px;color:var(--muted);font-weight:500}.fl .fname{font-weight:800;font-size:15.5px;letter-spacing:-.3px;margin-top:2px;line-height:1.15}.fl .flavorRow{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}.fl .ftag{height:22px;padding:0 8px;border-radius:6px;background:var(--bg-deep);color:var(--ink-soft);font-weight:700;font-size:11.5px;display:inline-flex;align-items:center}.fl .energy{margin-top:13px}.fl .energyTop{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:7px}.fl .energyNum{font-weight:900;font-size:16px;letter-spacing:-.4px;white-space:nowrap}.fl .energyNum small{font-family:DM Mono,monospace;font-size:10.5px;font-weight:500;color:var(--muted);letter-spacing:0}.fl .energyAlt{font-family:DM Mono,monospace;font-size:11px;color:var(--muted);font-weight:500;white-space:nowrap;flex-shrink:0}.fl .densBar{height:8px;border-radius:999px;background:var(--bg-deep);overflow:hidden}.fl .densFill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--accent-deep),var(--accent));transition:width .3s}.fl .fstatus{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;margin-top:13px}.fl .fstatus.ok{color:var(--good)}.fl .fstatus.flag{color:var(--flag)}.fl .fstatus svg{width:14px;height:14px}.fl .fsource{font-size:12px;font-weight:600;color:var(--muted);margin-top:6px;display:flex;align-items:center;gap:5px;min-width:0}.fl .fsource svg{width:12px;height:12px;flex-shrink:0}.fl .fsource a{color:var(--accent-deep);text-decoration:none;border-bottom:1px solid color-mix(in srgb,var(--accent) 30%,transparent);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fl .factions{display:flex;gap:7px;margin-top:14px;padding-top:13px;border-top:1px solid var(--line-soft)}.fl .factions .btn.icon{margin-left:auto}.fl .tableCard{background:var(--card);border-radius:var(--r-lg);box-shadow:var(--shadow);overflow-x:auto}.fl .ftable{width:100%;border-collapse:collapse;font-size:13.5px}.fl .ftable th{text-align:left;font-family:DM Mono,monospace;font-size:10.5px;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);font-weight:500;padding:13px 14px;border-bottom:1.5px solid var(--line);white-space:nowrap;cursor:pointer}.fl .ftable th .sortArrow{opacity:.4;margin-left:3px}.fl .ftable th.sorted{color:var(--ink)}.fl .ftable th.sorted .sortArrow{opacity:1;color:var(--accent)}.fl .ftable td{padding:11px 14px;border-bottom:1px solid var(--line-soft);vertical-align:middle}.fl .ftable tr:last-child td{border-bottom:none}.fl .ftable tbody tr:hover td{background:var(--accent-tint)}.fl .tName{font-weight:800;font-size:14px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fl .tBrand{font-family:DM Mono,monospace;font-size:10.5px;text-transform:uppercase;color:var(--muted);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.fl .ftable td.foodCell{min-width:230px}.fl .ftable td.foodCell>div{min-width:0}.fl .tEmoji{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;font-size:18px;flex-shrink:0;overflow:hidden}.fl .tEmoji img{width:100%;height:100%;object-fit:cover}.fl .tDens{display:flex;align-items:center;gap:9px}.fl .tDensBar{width:70px;height:7px;border-radius:999px;background:var(--bg-deep);overflow:hidden}.fl .tDensBar i{display:block;height:100%;background:linear-gradient(90deg,var(--accent-deep),var(--accent));border-radius:999px}.fl .empty{grid-column:1 / -1;text-align:center;padding:60px 20px}.fl .tray{position:fixed;left:0;right:0;bottom:0;z-index:40;display:flex;align-items:center;gap:14px;padding:14px 24px calc(14px + env(safe-area-inset-bottom));background:var(--ink);color:var(--bg);box-shadow:0 -10px 40px #281e144d;transform:translateY(120%);transition:transform .3s var(--ease)}.fl .tray.in{transform:translateY(0)}.fl .trayThumbs{display:flex;gap:8px;flex:1;overflow-x:auto}.fl .trayThumb{display:flex;align-items:center;gap:8px;background:color-mix(in srgb,var(--bg) 12%,transparent);border-radius:11px;padding:7px 9px 7px 7px;flex-shrink:0}.fl .trayThumb .e{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;font-size:16px;background:color-mix(in srgb,var(--bg) 14%,transparent)}.fl .trayThumb .nm{font-weight:800;font-size:12.5px;max-width:130px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fl .trayThumb button{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;color:color-mix(in srgb,var(--bg) 72%,transparent)}.fl .trayThumb button svg{width:11px;height:11px}.fl .trayHint{font-size:12.5px;color:color-mix(in srgb,var(--bg) 60%,transparent);font-weight:600}.fl .tray .btn.primary{background:var(--accent)}.fl .tray .btn.ghostInk{background:#ffffff1f;color:var(--bg)}.fl .cmpScrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#281e1466;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);opacity:0;transition:opacity .25s}.fl .cmpScrim.in{opacity:1}.fl .cmpPanel{position:fixed;left:50%;top:50%;transform:translate(-50%,-46%);z-index:51;width:min(960px,calc(100% - 40px));max-height:88%;background:var(--bg);border-radius:22px;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;opacity:0;transition:opacity .25s,transform .25s var(--ease);overflow:hidden}.fl .cmpPanel.in{opacity:1;transform:translate(-50%,-50%)}.fl .cmpHead{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--line)}.fl .cmpTitle{font-weight:900;font-size:20px;letter-spacing:-.5px}.fl .cmpBody{overflow:auto;padding:6px 0 8px}.fl .cmpTable{width:100%;border-collapse:collapse}.fl .cmpTable th,.fl .cmpTable td{padding:13px 16px;text-align:left;vertical-align:middle;border-bottom:1px solid var(--line-soft)}.fl .cmpTable thead th{position:sticky;top:0;background:var(--bg);z-index:1;vertical-align:bottom}.fl .cmpTable td.rowlabel,.fl .cmpTable th.rowlabel{font-family:DM Mono,monospace;font-size:11px;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);font-weight:500;width:130px;white-space:nowrap}.fl .cmpColHead{display:flex;flex-direction:column;gap:6px;min-width:140px}.fl .cmpColHead .e{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;font-size:21px}.fl .cmpColHead .nm{font-weight:800;font-size:14px;line-height:1.15}.fl .cmpColHead .br{font-family:DM Mono,monospace;font-size:10px;text-transform:uppercase;color:var(--muted);font-weight:500}.fl .cmpVal{font-weight:800;font-size:14.5px}.fl .cmpVal small{font-family:DM Mono,monospace;font-weight:500;font-size:10.5px;color:var(--muted)}.fl .cmpBest{display:inline-flex;align-items:center;gap:4px;margin-top:3px;font-size:11px;font-weight:800;color:var(--good)}.fl .cmpBest svg{width:11px;height:11px}.fl .cmpDensBar{width:100%;max-width:130px;height:7px;border-radius:999px;background:var(--bg-deep);overflow:hidden;margin-top:5px}.fl .cmpDensBar i{display:block;height:100%;background:linear-gradient(90deg,var(--accent-deep),var(--accent));border-radius:999px}.fl .fsScrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:45;background:#281e1459;opacity:0;transition:opacity .25s;display:none}.fl .filterSheet{position:fixed;left:0;right:0;bottom:0;z-index:46;background:var(--bg);border-radius:24px 24px 0 0;box-shadow:var(--shadow-lg);transform:translateY(100%);transition:transform .3s var(--ease);max-height:86%;display:none;flex-direction:column}.fl .filterSheetBody{overflow:auto;padding:6px 20px 20px;display:flex;flex-direction:column;gap:22px}@media (max-width: 879px){.fl .wrap{padding:16px 16px 130px}.fl .body{grid-template-columns:1fr}.fl .rail{display:none}.fl .filtersBtn{display:inline-flex}.fl .tray{bottom:calc(62px + env(safe-area-inset-bottom))}.fl .fsScrim.in{display:block;opacity:1}.fl .filterSheet.show{display:flex}.fl .filterSheet.in{transform:translateY(0)}}@media (max-width: 520px){.fl .grid{grid-template-columns:1fr 1fr;gap:12px}.fl .h1{font-size:25px}.fl .statusCorner{display:none}}@media (min-width: 880px){.topnav{display:flex}.tabbar,.brandbar{display:none}}
