@import"https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@300;400;500;600;700&display=swap";#app[data-v-765e18f8]{position:relative;min-height:100vh;overflow-x:hidden;background-color:var(--animal-bg-color);color:var(--animal-text-color)}.app-page[data-v-765e18f8]{position:relative;z-index:10}.theme-toggle[data-v-765e18f8]{position:fixed;top:1rem;right:1rem;z-index:50;width:2.75rem;height:2.75rem;display:flex;align-items:center;justify-content:center;padding:0;border-radius:9999px;background-color:var(--animal-card-bg);border:2px solid var(--animal-border-color);color:var(--animal-text-color);box-shadow:var(--animal-shadow-base);cursor:pointer;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}.theme-toggle[data-v-765e18f8]:hover{transform:rotate(20deg);border-color:var(--animal-border-color-hover);box-shadow:var(--animal-shadow-warm)}.theme-toggle[data-v-765e18f8]:active{transform:rotate(20deg) scale(.94)}.theme-toggle__icon[data-v-765e18f8]{width:1.25rem;height:1.25rem}@keyframes rotate-2b39b4a1{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.rotate-logo[data-v-2b39b4a1]{animation:rotate-2b39b4a1 .5s ease-out}.an-nav[data-v-2b39b4a1]{position:sticky;top:.5rem;z-index:40;max-width:80rem;margin:0 auto 1rem;background:var(--animal-card-bg);border:2px solid var(--animal-border-color);border-radius:var(--animal-border-radius-lg);box-shadow:var(--animal-shadow-base)}.an-nav__inner[data-v-2b39b4a1]{padding:1rem}.an-nav__desktop[data-v-2b39b4a1]{display:none}.an-nav__mobile[data-v-2b39b4a1]{display:block}@media (min-width: 768px){.an-nav__inner[data-v-2b39b4a1]{padding:1rem 1.5rem}.an-nav__desktop[data-v-2b39b4a1]{display:flex;align-items:center;justify-content:space-between}.an-nav__mobile[data-v-2b39b4a1]{display:none}}.an-nav__brand[data-v-2b39b4a1]{display:flex;align-items:center;gap:.75rem;text-decoration:none;transition:transform .2s ease}.an-nav__brand--sm[data-v-2b39b4a1]{gap:.5rem}.an-nav__logo[data-v-2b39b4a1]{width:2.75rem;height:2.75rem;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--animal-primary-color),var(--animal-primary-color-hover));border:2px solid var(--animal-border-color);border-radius:var(--animal-border-radius-base);box-shadow:0 3px 0 var(--animal-shadow-warm)}.an-nav__logo--sm[data-v-2b39b4a1]{width:2.5rem;height:2.5rem}.an-nav__logo-char[data-v-2b39b4a1]{color:#fff;font-size:1.125rem;font-weight:700;line-height:1}.an-nav__logo-char--sm[data-v-2b39b4a1]{font-size:1rem}.an-nav__titles[data-v-2b39b4a1]{min-width:0}.an-nav__title[data-v-2b39b4a1]{font-size:1.25rem;font-weight:900;letter-spacing:.05em;color:var(--animal-text-color)}.an-nav__title--sm[data-v-2b39b4a1]{font-size:1.125rem}.an-nav__subtitle[data-v-2b39b4a1]{font-size:.75rem;font-weight:500;color:var(--animal-text-color-secondary)}.an-nav__menu[data-v-2b39b4a1]{display:flex;align-items:center;gap:.5rem}.an-nav__item[data-v-2b39b4a1]{display:flex;align-items:center;gap:.375rem;padding:.5rem .875rem;font-size:.875rem;font-weight:700;text-decoration:none;color:var(--animal-text-color);background:var(--animal-bg-color-secondary);border:2px solid var(--animal-border-color);border-radius:var(--animal-border-radius-sm);transition:transform .2s ease,box-shadow .2s ease,background .2s ease,color .2s ease,border-color .2s ease}.an-nav__item[data-v-2b39b4a1]:hover{transform:translateY(-2px);border-color:var(--animal-border-color-hover);box-shadow:0 3px 0 var(--animal-shadow-warm)}.an-nav__item.is-active[data-v-2b39b4a1]{color:#fff;background:var(--animal-primary-color);border-color:var(--animal-primary-color-hover);box-shadow:0 3px 0 var(--animal-shadow-warm)}.an-nav__item.is-active[data-v-2b39b4a1]:hover{background:var(--animal-primary-color-hover)}.an-nav__item-icon[data-v-2b39b4a1]{line-height:1}.an-nav__item--pill[data-v-2b39b4a1]{border-radius:9999px;white-space:nowrap}.an-nav__mobile-bar[data-v-2b39b4a1]{display:flex;align-items:center;justify-content:space-between}.an-nav__burger[data-v-2b39b4a1]{display:flex;align-items:center;justify-content:center;padding:.5rem;color:var(--animal-text-color);background:var(--animal-bg-color-secondary);border:2px solid var(--animal-border-color);border-radius:var(--animal-border-radius-sm);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.an-nav__burger[data-v-2b39b4a1]:hover{transform:translateY(-2px);border-color:var(--animal-border-color-hover);box-shadow:0 3px 0 var(--animal-shadow-warm)}.an-nav__burger-icon[data-v-2b39b4a1]{width:1.25rem;height:1.25rem}.an-nav__drawer[data-v-2b39b4a1]{border-top:2px solid var(--animal-border-color);padding-top:.75rem;margin-top:.75rem;animation:an-nav-fade-up-2b39b4a1 .25s ease-out}@keyframes an-nav-fade-up-2b39b4a1{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.an-nav__drawer-scroll[data-v-2b39b4a1]{overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.an-nav__drawer-scroll[data-v-2b39b4a1]::-webkit-scrollbar{display:none}.an-nav__drawer-track[data-v-2b39b4a1]{display:flex;gap:.5rem;padding-bottom:.5rem;min-width:max-content}.an-nav__hint[data-v-2b39b4a1]{text-align:center;font-size:.75rem;color:var(--animal-text-color-secondary);margin-top:.25rem}.app-footer[data-v-b71f20d8]{max-width:80rem;margin:2rem auto 0;padding:1rem;text-align:center;background:var(--animal-card-bg);border:2px solid var(--animal-border-color);border-radius:var(--animal-border-radius-base);box-shadow:var(--animal-shadow-sm)}.app-footer__text[data-v-b71f20d8]{margin:0;font-size:.875rem;color:var(--animal-text-color-secondary)}.cd-mask[data-v-6a4713aa]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:1rem}.cd-backdrop[data-v-6a4713aa]{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000059}.cd-dialog[data-v-6a4713aa]{position:relative;width:100%;max-width:28rem;overflow:hidden;background:var(--animal-card-bg);border:2px solid var(--animal-border-color);border-radius:var(--animal-border-radius-lg, 24px);box-shadow:var(--animal-shadow-lg)}.cd-topbar[data-v-6a4713aa]{height:6px}.cd-topbar-danger[data-v-6a4713aa]{background:var(--animal-error-color)}.cd-topbar-warning[data-v-6a4713aa]{background:var(--animal-warning-color)}.cd-topbar-info[data-v-6a4713aa]{background:var(--c-ai)}.cd-topbar-success[data-v-6a4713aa]{background:var(--animal-success-color)}.cd-content[data-v-6a4713aa]{padding:1.5rem}.cd-icon-wrap[data-v-6a4713aa]{display:flex;justify-content:center;margin-bottom:1rem}.cd-icon[data-v-6a4713aa]{width:4rem;height:4rem;border-radius:9999px;display:flex;align-items:center;justify-content:center}.cd-icon-emoji[data-v-6a4713aa]{font-size:1.875rem;line-height:1}.cd-icon-danger[data-v-6a4713aa]{background:var(--c-danger-bg)}.cd-icon-warning[data-v-6a4713aa]{background:var(--c-warning-bg)}.cd-icon-info[data-v-6a4713aa]{background:var(--c-ai-bg)}.cd-icon-success[data-v-6a4713aa]{background:var(--c-fresh-bg)}.cd-title[data-v-6a4713aa]{font-size:1.25rem;font-weight:700;text-align:center;margin:0 0 .5rem;color:var(--animal-text-color, #4a3b2a)}.cd-message[data-v-6a4713aa]{text-align:center;margin:0 0 1.5rem;color:var(--animal-text-color-secondary, #7a6a55)}.cd-actions[data-v-6a4713aa]{display:flex;gap:.75rem}.cd-btn[data-v-6a4713aa]{flex:1 1 0%;padding:.75rem 1rem;border-radius:12px;font-weight:500;border:2px solid transparent;cursor:pointer;transition:transform .15s ease,box-shadow .2s ease,filter .2s ease}.cd-btn[data-v-6a4713aa]:active{transform:scale(.95)}.cd-btn-cancel[data-v-6a4713aa]{background:var(--animal-bg-color-secondary);border-color:var(--animal-border-color);color:var(--animal-text-color, #4a3b2a)}.cd-btn-cancel[data-v-6a4713aa]:hover{filter:brightness(.97)}.cd-btn-confirm[data-v-6a4713aa]{color:#fff;box-shadow:var(--animal-shadow-warm)}.cd-btn-confirm[data-v-6a4713aa]:hover{filter:brightness(1.05)}.cd-confirm-danger[data-v-6a4713aa]{background:var(--animal-error-color)}.cd-confirm-warning[data-v-6a4713aa]{background:var(--animal-warning-color)}.cd-confirm-info[data-v-6a4713aa]{background:var(--c-ai)}.cd-confirm-success[data-v-6a4713aa]{background:var(--animal-success-color)}.cd-fade-enter-active[data-v-6a4713aa]{transition:opacity .2s ease-out}.cd-fade-leave-active[data-v-6a4713aa]{transition:opacity .15s ease-in}.cd-fade-enter-from[data-v-6a4713aa],.cd-fade-leave-to[data-v-6a4713aa]{opacity:0}.cd-fade-enter-to[data-v-6a4713aa],.cd-fade-leave-from[data-v-6a4713aa]{opacity:1}.cd-pop-enter-active[data-v-6a4713aa]{transition:opacity .2s ease-out,transform .2s ease-out}.cd-pop-leave-active[data-v-6a4713aa]{transition:opacity .15s ease-in,transform .15s ease-in}.cd-pop-enter-from[data-v-6a4713aa],.cd-pop-leave-to[data-v-6a4713aa]{opacity:0;transform:scale(.95)}.cd-pop-enter-to[data-v-6a4713aa],.cd-pop-leave-from[data-v-6a4713aa]{opacity:1;transform:scale(1)}.toast-wrapper[data-v-ee1bc4cc]{position:fixed;top:16px;right:16px;z-index:50;width:100%;max-width:24rem}.toast-card[data-v-ee1bc4cc]{overflow:hidden;background:var(--animal-card-bg);border:2px solid var(--animal-border-color);border-left-width:4px;border-radius:var(--animal-border-radius-base);box-shadow:var(--animal-shadow-lg)}.toast-border-success[data-v-ee1bc4cc]{border-left-color:var(--animal-success-color)}.toast-border-error[data-v-ee1bc4cc]{border-left-color:var(--animal-error-color)}.toast-border-warning[data-v-ee1bc4cc]{border-left-color:var(--animal-warning-color)}.toast-border-info[data-v-ee1bc4cc]{border-left-color:var(--c-ai)}.toast-body[data-v-ee1bc4cc]{display:flex;align-items:flex-start;gap:12px;padding:16px}.toast-icon[data-v-ee1bc4cc]{flex-shrink:0;font-size:1.5rem;line-height:1}.toast-content[data-v-ee1bc4cc]{flex:1;min-width:0}.toast-title[data-v-ee1bc4cc]{margin:0 0 4px;font-size:.875rem;font-weight:700;color:var(--animal-text-color)}.toast-message[data-v-ee1bc4cc]{margin:0;font-size:.875rem;color:var(--animal-text-color-secondary)}.toast-close[data-v-ee1bc4cc]{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;padding:4px;border:none;background:transparent;border-radius:8px;color:var(--animal-text-color-secondary);cursor:pointer;transition:background .2s}.toast-close[data-v-ee1bc4cc]:hover{background:var(--animal-primary-color-bg)}.toast-close svg[data-v-ee1bc4cc]{width:1rem;height:1rem}.toast-progress-track[data-v-ee1bc4cc]{height:4px;background:var(--animal-bg-color)}.toast-progress-bar[data-v-ee1bc4cc]{height:100%;transition:width .05s linear}.toast-progress-success[data-v-ee1bc4cc]{background:var(--animal-success-color)}.toast-progress-error[data-v-ee1bc4cc]{background:var(--animal-error-color)}.toast-progress-warning[data-v-ee1bc4cc]{background:var(--animal-warning-color)}.toast-progress-info[data-v-ee1bc4cc]{background:var(--c-ai)}.toast-slide-enter-active[data-v-ee1bc4cc]{transition:opacity .3s ease-out,transform .3s ease-out}.toast-slide-leave-active[data-v-ee1bc4cc]{transition:opacity .2s ease-in,transform .2s ease-in}.toast-slide-enter-from[data-v-ee1bc4cc],.toast-slide-leave-to[data-v-ee1bc4cc]{opacity:0;transform:translateY(8px)}.toast-slide-enter-to[data-v-ee1bc4cc],.toast-slide-leave-from[data-v-ee1bc4cc]{opacity:1;transform:translateY(0)}.favorite-icon[data-v-a8791f29]{background:transparent;border:none}.favorite-icon[data-v-a8791f29]:hover:not(:disabled){background:var(--animal-primary-color-bg)}.favorite-icon[data-v-a8791f29]:active:not(:disabled){transform:scale(.95)}@keyframes pulse-a8791f29{0%,to{opacity:1}50%{opacity:.5}}.animate-pulse[data-v-a8791f29]{animation:pulse-a8791f29 1s ease-in-out infinite}.recipe-card[data-v-09ca3806]{height:100%;display:flex;flex-direction:column;overflow:hidden;background:var(--animal-card-bg);border:var(--animal-border-width) solid var(--animal-border-color);border-radius:var(--animal-border-radius-lg);box-shadow:var(--animal-shadow-base);transition:transform .2s ease,box-shadow .2s ease}.recipe-card[data-v-09ca3806]:hover{transform:translateY(-4px);box-shadow:var(--animal-shadow-lg)}.card-header[data-v-09ca3806]{background:var(--c-accent);color:#fff;padding:12px;border-bottom:var(--animal-border-width) solid var(--animal-border-color)}@media (min-width: 768px){.card-header[data-v-09ca3806]{padding:20px}}.header-row[data-v-09ca3806]{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.header-main[data-v-09ca3806]{flex:1;min-width:0}.recipe-title[data-v-09ca3806]{font-size:16px;font-weight:700;margin:0 0 8px}@media (min-width: 768px){.recipe-title[data-v-09ca3806]{font-size:18px}}.meta-mobile[data-v-09ca3806]{display:flex;flex-direction:column;gap:4px}@media (min-width: 768px){.meta-mobile[data-v-09ca3806]{display:none}}.meta-desktop[data-v-09ca3806]{display:none}@media (min-width: 768px){.meta-desktop[data-v-09ca3806]{display:flex;align-items:center;gap:12px;font-size:14px}}.meta-line[data-v-09ca3806]{display:flex;align-items:center;gap:8px}.meta-text[data-v-09ca3806]{font-size:12px;white-space:nowrap}.meta-pill[data-v-09ca3806]{background:#ffffff38;padding:4px 8px;border-radius:var(--animal-border-radius-base);font-size:12px;white-space:nowrap;border:1px solid rgba(255,255,255,.35)}.header-actions[data-v-09ca3806]{display:flex;align-items:center;gap:8px;flex-shrink:0}.header-btn[data-v-09ca3806]{background:#ffffff38;color:#fff;padding:8px;border-radius:var(--animal-border-radius-base);border:1px solid rgba(255,255,255,.4);cursor:pointer;transition:background .2s ease;flex-shrink:0;line-height:1}.header-btn[data-v-09ca3806]:hover{background:#ffffff61}.card-body[data-v-09ca3806]{padding:12px}@media (min-width: 768px){.card-body[data-v-09ca3806]{padding:20px}}.section[data-v-09ca3806]{margin-bottom:16px}.section-title[data-v-09ca3806]{font-size:14px;font-weight:700;color:var(--c-text);margin:0 0 8px;display:flex;align-items:center;gap:4px}.section-head[data-v-09ca3806]{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.section-head .section-title[data-v-09ca3806]{margin:0}.ingredient-list[data-v-09ca3806]{display:flex;flex-wrap:wrap;gap:6px}.ingredient-pill[data-v-09ca3806]{background:color-mix(in srgb,var(--animal-primary-color) 15%,transparent);color:color-mix(in srgb,var(--animal-primary-color) 70%,var(--c-text));padding:4px 10px;border-radius:999px;font-size:12px;font-weight:500;border:1px solid color-mix(in srgb,var(--animal-primary-color) 35%,transparent)}.nutrition-grid[data-v-09ca3806]{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.nutri-cell[data-v-09ca3806]{border-radius:var(--animal-border-radius-base);padding:10px;text-align:center;border:var(--animal-border-width) solid var(--animal-border-color)}.nutri-value[data-v-09ca3806]{font-size:16px;font-weight:700}.nutri-label[data-v-09ca3806]{font-size:12px;color:var(--c-text-3)}.nutri-cal[data-v-09ca3806]{background:color-mix(in srgb,var(--c-accent) 16%,transparent)}.nutri-cal .nutri-value[data-v-09ca3806]{color:var(--c-accent)}.nutri-protein[data-v-09ca3806]{background:color-mix(in srgb,var(--c-ai) 16%,transparent)}.nutri-protein .nutri-value[data-v-09ca3806]{color:var(--c-ai)}.nutri-fat[data-v-09ca3806]{background:color-mix(in srgb,var(--animal-warning-color) 16%,transparent)}.nutri-fat .nutri-value[data-v-09ca3806]{color:var(--animal-warning-color)}.nutri-carbs[data-v-09ca3806]{background:color-mix(in srgb,var(--c-fresh) 16%,transparent)}.nutri-carbs .nutri-value[data-v-09ca3806]{color:var(--c-fresh)}.expand-btn[data-v-09ca3806]{font-size:12px;padding:6px 12px;border-radius:var(--animal-border-radius-base);background:var(--animal-bg-color-secondary);color:var(--c-text-2);border:var(--animal-border-width) solid var(--animal-border-color);cursor:pointer;transition:border-color .2s ease,background .2s ease}.expand-btn[data-v-09ca3806]:hover{border-color:var(--animal-border-color-hover);background:var(--c-bg-2)}.step-list[data-v-09ca3806]{display:flex;flex-direction:column;gap:8px}.step-item[data-v-09ca3806]{display:flex;gap:8px;padding:10px;background:var(--c-bg-2);border-radius:var(--animal-border-radius-base);border:var(--animal-border-width) solid var(--animal-border-color)}.step-item--full[data-v-09ca3806]{gap:12px;padding:12px}.step-icon[data-v-09ca3806]{flex-shrink:0}.step-emoji[data-v-09ca3806]{font-size:18px}.step-emoji--lg[data-v-09ca3806]{font-size:20px}.step-content[data-v-09ca3806]{flex:1;min-width:0}.step-title[data-v-09ca3806]{color:var(--c-text);font-size:12px;font-weight:500;margin:0}.step-title--full[data-v-09ca3806]{font-weight:700;font-size:14px;margin:0 0 4px}.step-desc[data-v-09ca3806]{color:var(--c-text-2);font-size:12px;margin:2px 0 0}.step-desc--full[data-v-09ca3806]{font-size:14px;margin:0 0 8px}.step-more[data-v-09ca3806]{text-align:center;padding:4px 0}.step-more span[data-v-09ca3806]{color:var(--c-text-3);font-size:12px}.step-meta[data-v-09ca3806]{display:flex;gap:8px;font-size:12px;color:var(--c-text-3)}.step-tag[data-v-09ca3806]{background:var(--animal-bg-color-secondary);padding:4px 8px;border-radius:var(--animal-border-radius-base);border:1px solid var(--animal-border-color)}.tips-block[data-v-09ca3806]{background:var(--c-warning-bg);border-left:4px solid var(--c-warning);padding:12px;border-radius:var(--animal-border-radius-base)}.tips-list[data-v-09ca3806]{display:flex;flex-direction:column;gap:4px;margin:0;padding:0;list-style:none}.tips-item[data-v-09ca3806]{display:flex;align-items:flex-start;gap:8px;color:var(--c-text-2)}.tips-bullet[data-v-09ca3806]{color:var(--c-warning);margin-top:4px;font-size:12px}.tips-text[data-v-09ca3806]{font-size:12px}.line-clamp-2[data-v-09ca3806]{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.header-btn--cook[data-v-09ca3806]{background:var(--animal-primary-color);color:#fff;border-color:var(--animal-primary-color-hover)}.cook-overlay[data-v-09ca3806]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;background:#00000073;padding:1rem}.cook-modal[data-v-09ca3806]{width:100%;max-width:26rem;max-height:80vh;overflow-y:auto;background:var(--animal-card-bg, #fff);border:2px solid var(--animal-border-color, #d4b896);border-radius:var(--animal-border-radius-lg, 1rem);box-shadow:var(--animal-shadow-base, 0 6px 0 rgba(0,0,0,.12));padding:1.25rem}.cook-modal__title[data-v-09ca3806]{font-size:1.05rem;font-weight:800;margin-bottom:.25rem}.cook-modal__hint[data-v-09ca3806]{font-size:.75rem;color:var(--animal-text-color-secondary, #8a7a66);margin-bottom:.75rem}.cook-modal__list[data-v-09ca3806]{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.cook-modal__row[data-v-09ca3806]{display:grid;grid-template-columns:1fr 4.5rem 2.5rem auto;align-items:center;gap:.5rem}.cook-modal__name[data-v-09ca3806]{font-size:.875rem;font-weight:600}.cook-modal__qty[data-v-09ca3806]{width:100%;padding:.375rem .5rem;border:2px solid var(--animal-border-color, #d4b896);border-radius:.5rem;font-size:.875rem}.cook-modal__unit[data-v-09ca3806]{font-size:.75rem;color:var(--animal-text-color-secondary, #8a7a66)}.cook-modal__skip[data-v-09ca3806]{display:flex;align-items:center;gap:.25rem;font-size:.75rem;white-space:nowrap;cursor:pointer}.cook-modal__actions[data-v-09ca3806]{display:flex;gap:.75rem}.cook-modal__btn[data-v-09ca3806]{flex:1;padding:.625rem;font-weight:700;border:2px solid var(--animal-border-color, #d4b896);border-radius:.75rem;cursor:pointer}.cook-modal__btn--cancel[data-v-09ca3806]{background:var(--animal-bg-color-secondary, #f5efe6)}.cook-modal__btn--ok[data-v-09ca3806]{background:var(--animal-primary-color, #e07b39);color:#fff;border-color:var(--animal-primary-color-hover, #c9662b)}.cook-modal__btn--ok[data-v-09ca3806]:disabled{opacity:.6;cursor:not-allowed}.home-page[data-v-2caa6b82]{min-height:100vh}.home-container[data-v-2caa6b82]{max-width:80rem;margin:0 auto 2rem;padding:0 1rem;display:flex;flex-direction:column;gap:1.25rem}.hero[data-v-2caa6b82]{position:relative;overflow:hidden;padding:1.75rem 1.5rem;background:linear-gradient(135deg,var(--animal-primary-color, #e07b39),var(--animal-primary-color-hover, #c9662b) 60%,#a8531f);border:2px solid var(--animal-border-color);border-radius:var(--animal-border-radius-lg);box-shadow:var(--animal-shadow-base);color:#fff}.hero[data-v-2caa6b82]:after{content:"🍳";position:absolute;right:1.25rem;bottom:-.75rem;font-size:4.5rem;opacity:.18;transform:rotate(-12deg)}.hero__greeting[data-v-2caa6b82]{font-size:1.6rem;font-weight:900;letter-spacing:.02em}.hero__date[data-v-2caa6b82]{margin-top:.25rem;font-size:.85rem;opacity:.85}.hero__tag[data-v-2caa6b82]{margin-top:.625rem;font-size:.95rem;opacity:.95}.hero__tag b[data-v-2caa6b82]{font-size:1.15rem;padding:0 .125rem}.search-panel[data-v-2caa6b82]{background:var(--animal-card-bg);border:2px solid var(--animal-border-color);border-radius:var(--animal-border-radius-lg);box-shadow:var(--animal-shadow-base);padding:1rem}.search-row[data-v-2caa6b82]{display:flex;gap:.75rem}.search-input[data-v-2caa6b82]{flex:1;padding:.75rem 1rem;font-size:1rem;border:2px solid var(--animal-border-color);border-radius:var(--animal-border-radius-base);background:var(--animal-bg-color-secondary)}.search-hit[data-v-2caa6b82]{margin-top:.5rem;font-size:.8rem;color:var(--animal-text-color-secondary)}.panel[data-v-2caa6b82],.warn-panel[data-v-2caa6b82]{background:var(--animal-card-bg);border:2px solid var(--animal-border-color);border-radius:var(--animal-border-radius-lg);box-shadow:var(--animal-shadow-base);padding:1.25rem}.panel-head[data-v-2caa6b82],.warn-head[data-v-2caa6b82]{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap}.panel-title[data-v-2caa6b82]{font-size:1.1rem;font-weight:800}.recipe-grid[data-v-2caa6b82]{display:grid;grid-template-columns:repeat(auto-fill,minmax(20rem,1fr));gap:1rem}.recipe-grid--single[data-v-2caa6b82]{grid-template-columns:minmax(0,32rem)}.loading-block[data-v-2caa6b82],.empty-block[data-v-2caa6b82]{padding:2.5rem 1rem;text-align:center;color:var(--animal-text-color-secondary);display:flex;flex-direction:column;align-items:center;gap:.75rem}.warn-list[data-v-2caa6b82]{display:flex;flex-direction:column;gap:.5rem}.warn-item[data-v-2caa6b82]{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem .75rem;background:var(--animal-bg-color-secondary);border:2px solid var(--animal-border-color);border-radius:var(--animal-border-radius-base)}.warn-item-info[data-v-2caa6b82]{display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap;min-width:0}.warn-item-name[data-v-2caa6b82]{font-weight:700}.warn-item-qty[data-v-2caa6b82]{font-size:.8rem;color:var(--animal-text-color-secondary)}.warn-item-expiry[data-v-2caa6b82]{font-size:.8rem;color:#d97706;font-weight:600}.mini-btn[data-v-2caa6b82]{padding:.25rem .75rem;font-size:.8rem;font-weight:700;border:2px solid var(--animal-border-color);border-radius:9999px;cursor:pointer;background:var(--animal-bg-color-secondary)}.mini-btn--discard[data-v-2caa6b82]{color:#dc2626;border-color:#fca5a5}.stat-grid[data-v-2caa6b82]{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}.stat-card[data-v-2caa6b82]{background:var(--animal-card-bg);border:2px solid var(--animal-border-color);border-radius:var(--animal-border-radius-lg);box-shadow:var(--animal-shadow-base);padding:1rem;text-align:center;text-decoration:none;transition:transform .15s ease}.stat-card[data-v-2caa6b82]:hover{transform:translateY(-2px)}.stat-num[data-v-2caa6b82]{font-size:1.75rem;font-weight:900}.stat-label[data-v-2caa6b82]{font-size:.8rem;color:var(--animal-text-color-secondary);margin-top:.25rem}.stat-num--fresh[data-v-2caa6b82]{color:#16a34a}.stat-num--warning[data-v-2caa6b82]{color:#d97706}.stat-num--danger[data-v-2caa6b82]{color:#dc2626}@media (max-width: 640px){.stat-grid[data-v-2caa6b82]{grid-template-columns:repeat(2,1fr)}.search-row[data-v-2caa6b82]{flex-direction:column}}.pantry-page[data-v-a387f85b]{min-height:100vh}.pantry-container[data-v-a387f85b]{max-width:80rem;margin:0 auto 2rem;padding:0 1rem;display:flex;flex-direction:column;gap:1.25rem}.tab-bar[data-v-a387f85b]{display:flex;gap:.75rem}.tab[data-v-a387f85b]{padding:.625rem 1.25rem;font-size:.95rem;font-weight:800;background:var(--animal-card-bg);color:var(--animal-text-color);border:2px solid var(--animal-border-color);border-radius:9999px;cursor:pointer;box-shadow:var(--animal-shadow-base)}.tab--active[data-v-a387f85b]{background:var(--animal-primary-color);color:#fff;border-color:var(--animal-primary-color-hover)}.stat-grid[data-v-a387f85b]{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}.stat-card[data-v-a387f85b]{background:var(--animal-card-bg);border:2px solid var(--animal-border-color);border-radius:var(--animal-border-radius-lg);box-shadow:var(--animal-shadow-base);padding:.875rem;text-align:center;cursor:default}.stat-num[data-v-a387f85b]{font-size:1.6rem;font-weight:900}.stat-label[data-v-a387f85b]{font-size:.78rem;color:var(--animal-text-color-secondary);margin-top:.2rem}.stat-num--fresh[data-v-a387f85b]{color:#16a34a}.stat-num--warning[data-v-a387f85b]{color:#d97706}.stat-num--danger[data-v-a387f85b]{color:#dc2626}.cat-group-grid[data-v-a387f85b]{display:grid;grid-template-columns:repeat(5,1fr);gap:.75rem}.cat-group-card[data-v-a387f85b]{display:flex;align-items:center;gap:.625rem;padding:.75rem 1rem;background:var(--animal-card-bg);border:2px solid var(--animal-border-color);border-radius:var(--animal-border-radius-lg);box-shadow:var(--animal-shadow-base);cursor:pointer;transition:transform .15s ease}.cat-group-card[data-v-a387f85b]:hover{transform:translateY(-2px)}.cat-group-card--empty[data-v-a387f85b]{opacity:.55}.cat-group-emoji[data-v-a387f85b]{font-size:1.5rem;line-height:1}.cat-group-num[data-v-a387f85b]{font-size:1.25rem;font-weight:900;line-height:1.1}.cat-group-label[data-v-a387f85b]{font-size:.75rem;color:var(--animal-text-color-secondary)}.panel[data-v-a387f85b]{background:var(--animal-card-bg);border:2px solid var(--animal-border-color);border-radius:var(--animal-border-radius-lg);box-shadow:var(--animal-shadow-base);padding:1.25rem}.panel-head[data-v-a387f85b]{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap}.head-actions[data-v-a387f85b]{display:flex;gap:.5rem}.panel-title[data-v-a387f85b]{font-size:1.1rem;font-weight:800}.filter-bar[data-v-a387f85b]{display:flex;gap:.75rem;margin-bottom:1rem}.search-input[data-v-a387f85b]{flex:1;padding:.625rem 1rem;font-size:.95rem;border:2px solid var(--animal-border-color);border-radius:var(--animal-border-radius-base);background:var(--animal-bg-color-secondary)}.loading-block[data-v-a387f85b],.empty-block[data-v-a387f85b]{padding:2.5rem 1rem;text-align:center;color:var(--animal-text-color-secondary);display:flex;flex-direction:column;align-items:center;gap:.75rem}.food-sections[data-v-a387f85b]{display:flex;flex-direction:column;gap:1.5rem}.food-section__head[data-v-a387f85b]{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:2px dashed var(--animal-border-color)}.food-section__emoji[data-v-a387f85b]{font-size:1.25rem}.food-section__title[data-v-a387f85b]{font-weight:800;font-size:1rem}.food-section__count[data-v-a387f85b]{font-size:.75rem;color:var(--animal-text-color-secondary);background:var(--animal-bg-color-secondary);border:2px solid var(--animal-border-color);border-radius:9999px;padding:.1rem .6rem}.food-grid[data-v-a387f85b]{display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:.75rem}.food-card[data-v-a387f85b]{background:var(--animal-bg-color-secondary);border:2px solid var(--animal-border-color);border-radius:var(--animal-border-radius-base);overflow:hidden;transition:transform .15s ease}.food-card[data-v-a387f85b]:hover{transform:translateY(-2px)}.food-card--expired[data-v-a387f85b]{border-color:#fca5a5}.food-card--expiring_soon[data-v-a387f85b]{border-color:#fcd34d}.food-card__main[data-v-a387f85b]{width:100%;display:block;padding:.75rem .875rem;background:none;border:none;cursor:pointer;text-align:left}.food-card__row[data-v-a387f85b]{display:flex;align-items:center;gap:.5rem}.food-card__dot[data-v-a387f85b]{width:.625rem;height:.625rem;border-radius:50%;flex-shrink:0;background:#16a34a}.food-card--expiring_soon .food-card__dot[data-v-a387f85b]{background:#d97706}.food-card--expired .food-card__dot[data-v-a387f85b]{background:#dc2626}.food-card__name[data-v-a387f85b]{flex:1;min-width:0;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.food-card__qty[data-v-a387f85b]{font-weight:800;color:var(--animal-text-color)}.food-card__qty small[data-v-a387f85b]{font-size:.72rem;font-weight:600;color:var(--animal-text-color-secondary);margin-left:.125rem}.food-card__bar[data-v-a387f85b]{margin-top:.5rem;height:.5rem;background:#00000014;border-radius:9999px;overflow:hidden}.food-card__bar-fill[data-v-a387f85b]{height:100%;border-radius:9999px;transition:width .3s ease}.bar--fresh[data-v-a387f85b]{background:linear-gradient(90deg,#4ade80,#16a34a)}.bar--expiring_soon[data-v-a387f85b]{background:linear-gradient(90deg,#fbbf24,#d97706)}.bar--expired[data-v-a387f85b]{background:linear-gradient(90deg,#f87171,#dc2626)}.food-card__meta[data-v-a387f85b]{display:flex;align-items:center;justify-content:space-between;margin-top:.375rem;gap:.5rem}.food-card__expiry[data-v-a387f85b]{font-size:.75rem;color:var(--animal-text-color-secondary)}.food-card__expiry--muted[data-v-a387f85b]{opacity:.7}.expiry--warn[data-v-a387f85b]{color:#d97706;font-weight:700}.food-card__batches[data-v-a387f85b]{font-size:.72rem;color:var(--animal-text-color-secondary);white-space:nowrap}.food-card__batches-list[data-v-a387f85b]{border-top:2px dashed var(--animal-border-color);padding:.5rem .875rem;display:flex;flex-direction:column;gap:.375rem}.batch-row[data-v-a387f85b]{display:flex;align-items:center;gap:.875rem;font-size:.8rem;color:var(--animal-text-color-secondary)}.batch-qty[data-v-a387f85b]{font-weight:600;color:var(--animal-text-color)}.batch-date[data-v-a387f85b],.batch-loc[data-v-a387f85b]{font-size:.75rem}.batch-actions[data-v-a387f85b]{margin-left:auto;display:flex;gap:.375rem}.edit-form[data-v-a387f85b]{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.edit-row[data-v-a387f85b]{display:grid;grid-template-columns:5rem 1fr;align-items:center;gap:.75rem;font-size:.875rem}.edit-row[data-v-a387f85b]:has(.edit-input--unit){grid-template-columns:5rem 1fr 4rem}.edit-label[data-v-a387f85b]{font-weight:600;color:var(--animal-text-color-secondary)}.edit-input[data-v-a387f85b]{width:100%;padding:.45rem .625rem;font-size:.9rem;border:2px solid var(--animal-border-color);border-radius:.5rem;background:var(--animal-bg-color-secondary)}.mini-btn[data-v-a387f85b]{margin-left:auto;padding:.2rem .6rem;font-size:.78rem;font-weight:700;border:2px solid var(--animal-border-color);border-radius:9999px;cursor:pointer;background:var(--animal-bg-color-secondary)}.mini-btn--discard[data-v-a387f85b]{color:#dc2626;border-color:#fca5a5}.shop-add-row[data-v-a387f85b]{display:flex;gap:.75rem;margin-bottom:1rem}.shop-list[data-v-a387f85b]{display:flex;flex-direction:column;gap:.5rem}.shop-row[data-v-a387f85b]{display:flex;align-items:center;gap:.75rem;padding:.625rem .875rem;background:var(--animal-bg-color-secondary);border:2px solid var(--animal-border-color);border-radius:var(--animal-border-radius-base)}.shop-row--done[data-v-a387f85b]{opacity:.55;text-decoration:line-through}.shop-row__name[data-v-a387f85b]{font-weight:700;flex:1}.shop-row__qty[data-v-a387f85b]{font-size:.85rem;color:var(--animal-text-color-secondary)}.shop-row__source[data-v-a387f85b]{font-size:.75rem;color:var(--animal-text-color-secondary)}.shop-hint[data-v-a387f85b]{margin-top:.75rem;font-size:.75rem;text-align:center;color:var(--animal-text-color-secondary)}.imp-overlay[data-v-a387f85b]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;background:#00000073;padding:1rem}.imp-modal[data-v-a387f85b]{width:100%;max-width:30rem;max-height:85vh;overflow-y:auto;background:var(--animal-card-bg, #fff);border:2px solid var(--animal-border-color, #d4b896);border-radius:var(--animal-border-radius-lg, 1rem);box-shadow:var(--animal-shadow-base, 0 6px 0 rgba(0,0,0,.12));padding:1.25rem}.imp-modal__title[data-v-a387f85b]{font-size:1.05rem;font-weight:800;margin-bottom:.25rem}.imp-modal__hint[data-v-a387f85b]{font-size:.75rem;color:var(--animal-text-color-secondary, #8a7a66);margin-bottom:.75rem}.imp-modal__textarea[data-v-a387f85b]{width:100%;padding:.75rem;font-size:.95rem;border:2px solid var(--animal-border-color);border-radius:var(--animal-border-radius-base);background:var(--animal-bg-color-secondary);resize:vertical;margin-bottom:.75rem}.imp-modal__list[data-v-a387f85b]{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem}.imp-modal__row[data-v-a387f85b]{display:grid;grid-template-columns:auto 1fr 4rem 3.5rem 3.5rem auto;align-items:center;gap:.5rem}.imp-modal__row--skip[data-v-a387f85b]{opacity:.5}.imp-modal__name[data-v-a387f85b]{font-size:.875rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.imp-modal__qty[data-v-a387f85b],.imp-modal__days[data-v-a387f85b],.imp-modal__unit[data-v-a387f85b]{width:100%;padding:.3rem .4rem;border:2px solid var(--animal-border-color);border-radius:.5rem;font-size:.85rem}.imp-modal__dlabel[data-v-a387f85b]{font-size:.75rem;color:var(--animal-text-color-secondary)}.imp-modal__actions[data-v-a387f85b]{display:flex;gap:.75rem}.imp-modal__btn[data-v-a387f85b]{flex:1;padding:.625rem;font-weight:700;border:2px solid var(--animal-border-color);border-radius:.75rem;cursor:pointer}.imp-modal__btn--cancel[data-v-a387f85b]{background:var(--animal-bg-color-secondary)}.imp-modal__btn--ok[data-v-a387f85b]{background:var(--animal-primary-color);color:#fff;border-color:var(--animal-primary-color-hover)}.imp-modal__btn--ok[data-v-a387f85b]:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 640px){.stat-grid[data-v-a387f85b]{grid-template-columns:repeat(2,1fr)}.cat-group-grid[data-v-a387f85b]{grid-template-columns:repeat(3,1fr)}.food-grid[data-v-a387f85b]{grid-template-columns:1fr 1fr}.filter-bar[data-v-a387f85b]{flex-direction:column}.imp-modal__row[data-v-a387f85b]{grid-template-columns:auto 1fr 4rem 3.5rem}.imp-modal__unit[data-v-a387f85b],.imp-modal__dlabel[data-v-a387f85b]{display:none}}.fv-page[data-v-0661f0f8]{min-height:100dvh;padding:1.5rem 1rem}.fv-container[data-v-0661f0f8]{max-width:72rem;margin:0 auto}.icon-sm[data-v-0661f0f8]{width:1rem;height:1rem;flex-shrink:0}.icon[data-v-0661f0f8]{width:1.25rem;height:1.25rem;flex-shrink:0}.icon-lg[data-v-0661f0f8]{width:1.5rem;height:1.5rem}.fv-hero-wrap[data-v-0661f0f8]{text-align:center;margin-bottom:2rem}.fv-hero-icon[data-v-0661f0f8]{display:inline-flex;align-items:center;justify-content:center;width:4rem;height:4rem;margin-bottom:1rem;background:linear-gradient(135deg,var(--c-accent) 0%,var(--c-danger) 100%);border-radius:var(--animal-border-radius-lg, 24px);box-shadow:var(--animal-shadow-base)}.fv-hero-svg[data-v-0661f0f8]{color:#fff}.fv-title[data-v-0661f0f8]{font-size:1.875rem;font-weight:700;color:var(--c-text);margin:0 0 .5rem}.fv-sub[data-v-0661f0f8]{font-size:.875rem;color:var(--c-text-2);margin:0}.fv-loading[data-v-0661f0f8]{text-align:center;padding:3rem 0}.spinner[data-v-0661f0f8]{display:inline-flex;border-radius:9999px;animation:fv-spin-0661f0f8 .8s linear infinite;margin-bottom:1rem}.spinner--accent[data-v-0661f0f8]{border:4px solid var(--c-warning-bg);border-top-color:var(--c-accent)}.spinner--lg[data-v-0661f0f8]{width:3.5rem;height:3.5rem}.loading-text[data-v-0661f0f8]{color:var(--c-text-2)}.fv-stat-grid[data-v-0661f0f8]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-bottom:1.5rem}.fv-stat-card[data-v-0661f0f8]{padding:1.25rem;text-align:center;background:var(--animal-card-bg);border:var(--animal-border-width, 2px) solid var(--animal-border-color);border-radius:var(--animal-border-radius-lg, 24px);box-shadow:var(--animal-shadow-base)}.fv-stat-card--action[data-v-0661f0f8]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem}.fv-stat-num[data-v-0661f0f8]{font-size:1.875rem;font-weight:700;color:var(--c-text);margin-bottom:.25rem}.fv-stat-label[data-v-0661f0f8]{font-size:.75rem;color:var(--c-text-2)}.fv-new-group-btn[data-v-0661f0f8]{font-size:.75rem;padding:.5rem .75rem}.btn[data-v-0661f0f8]{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:600;border-radius:var(--animal-border-radius-base, 18px);border:2px solid transparent;cursor:pointer;text-decoration:none;transition:filter .2s ease,transform .15s ease,box-shadow .2s ease}.btn[data-v-0661f0f8]:active{transform:scale(.97)}.btn[data-v-0661f0f8]:disabled{opacity:.5;cursor:not-allowed}.btn--primary[data-v-0661f0f8]{background:var(--animal-primary-color);color:#fff;box-shadow:var(--animal-shadow-warm)}.btn--primary[data-v-0661f0f8]:hover:not(:disabled){filter:brightness(1.05)}.btn--accent[data-v-0661f0f8]{background:var(--c-accent);color:#fff;box-shadow:var(--animal-shadow-warm)}.btn--accent[data-v-0661f0f8]:hover:not(:disabled){filter:brightness(1.05)}.btn--warning[data-v-0661f0f8]{background:var(--c-warning);color:#fff;box-shadow:var(--animal-shadow-warm)}.btn--warning[data-v-0661f0f8]:hover:not(:disabled){filter:brightness(1.05)}.btn--secondary[data-v-0661f0f8]{background:var(--c-bg-2);color:var(--c-text);border-color:var(--animal-border-color)}.btn--secondary[data-v-0661f0f8]:hover{filter:brightness(.97)}.fv-group-tabs-wrap[data-v-0661f0f8]{margin-bottom:1rem}.fv-group-tabs[data-v-0661f0f8]{display:flex;align-items:center;gap:.5rem;overflow-x:auto;padding-bottom:.5rem;-ms-overflow-style:none;scrollbar-width:none}.fv-group-tabs[data-v-0661f0f8]::-webkit-scrollbar{display:none}.fv-group-tab[data-v-0661f0f8]{padding:.5rem 1rem;font-size:.875rem;font-weight:700;white-space:nowrap;cursor:pointer;background:var(--c-bg-2);color:var(--c-text-2);border:2px solid var(--animal-border-color);border-radius:9999px;display:inline-flex;align-items:center;gap:.25rem;transition:filter .2s ease}.fv-group-tab[data-v-0661f0f8]:hover{filter:brightness(.97)}.fv-group-tab--active[data-v-0661f0f8]{background:var(--c-accent);color:#fff;border-color:var(--c-accent);box-shadow:var(--animal-shadow-warm)}.fv-toolbar[data-v-0661f0f8]{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;padding:1rem 1.5rem;margin-bottom:1.5rem;background:var(--animal-card-bg);border:var(--animal-border-width, 2px) solid var(--animal-border-color);border-radius:var(--animal-border-radius-lg, 24px);box-shadow:var(--animal-shadow-base)}.fv-search-wrap[data-v-0661f0f8]{position:relative;flex:1 1 0%;min-width:200px}.fv-search-icon[data-v-0661f0f8]{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--c-text-3);pointer-events:none}.fv-search-input[data-v-0661f0f8]{width:100%;padding:.625rem 1rem .625rem 2.5rem;font-size:.875rem;color:var(--c-text);background:var(--animal-bg-color-input);border:var(--animal-border-width, 2px) solid var(--animal-border-color);border-radius:var(--animal-border-radius-base, 18px);outline:none;transition:border-color .2s ease,box-shadow .2s ease}.fv-search-input[data-v-0661f0f8]::placeholder{color:var(--c-text-3)}.fv-search-input[data-v-0661f0f8]:focus{border-color:var(--animal-primary-color);box-shadow:0 0 0 3px var(--animal-primary-color-bg)}.fv-select[data-v-0661f0f8]{padding:.625rem 1rem;font-size:.875rem;color:var(--c-text);background:var(--animal-bg-color-input);border:var(--animal-border-width, 2px) solid var(--animal-border-color);border-radius:var(--animal-border-radius-base, 18px);outline:none;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease}.fv-select[data-v-0661f0f8]:focus{border-color:var(--animal-primary-color);box-shadow:0 0 0 3px var(--animal-primary-color-bg)}.empty-state[data-v-0661f0f8]{text-align:center;padding:3rem 1rem;background:var(--animal-card-bg);border:var(--animal-border-width, 2px) solid var(--animal-border-color);border-radius:var(--animal-border-radius-lg, 24px);box-shadow:var(--animal-shadow-base)}.fv-empty[data-v-0661f0f8]{padding:3rem}.fv-empty-icon-wrap[data-v-0661f0f8]{width:5rem;height:5rem;margin:0 auto 1rem;background:var(--animal-card-bg);border:var(--animal-border-width, 2px) solid var(--animal-border-color);border-radius:9999px;display:flex;align-items:center;justify-content:center}.fv-empty-icon[data-v-0661f0f8]{color:var(--c-accent)}.fv-empty-title[data-v-0661f0f8]{font-size:1.125rem;color:var(--c-text);margin:0 0 .5rem}.empty-sub[data-v-0661f0f8]{font-size:.875rem;color:var(--c-text-2);margin:0 0 1rem}.fv-empty-go-btn[data-v-0661f0f8]{padding:.75rem 1.5rem}.fv-card-grid[data-v-0661f0f8]{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:1.5rem}.fv-card[data-v-0661f0f8]{background:var(--animal-card-bg);border:var(--animal-border-width, 2px) solid var(--animal-border-color);border-radius:var(--animal-border-radius-lg, 24px);box-shadow:var(--animal-shadow-base);overflow:hidden;transition:transform .2s ease,box-shadow .25s ease;animation:fv-card-in-0661f0f8 .4s ease both}.fv-card[data-v-0661f0f8]:hover{transform:translateY(-3px);box-shadow:0 5px 0 var(--animal-shadow-warm)}.fv-card-body[data-v-0661f0f8]{padding:1rem}.fv-card-head[data-v-0661f0f8]{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;margin-bottom:.75rem}.fv-card-name[data-v-0661f0f8]{font-size:1.125rem;font-weight:700;color:var(--c-text);margin:0;line-height:1.3}.fv-cuisine-chip[data-v-0661f0f8]{flex-shrink:0;padding:.25rem .5rem;font-size:.6875rem;background:var(--c-danger-bg);color:var(--c-danger);border:1px solid var(--c-danger);border-radius:9999px;white-space:nowrap}.fv-card-meta[data-v-0661f0f8]{display:flex;align-items:center;gap:.75rem;font-size:.75rem;color:var(--c-text-2);margin-bottom:.75rem}.fv-ing-preview[data-v-0661f0f8]{display:flex;flex-wrap:wrap;gap:.375rem;margin-bottom:1rem}.fv-ing-preview-chip[data-v-0661f0f8]{padding:.125rem .5rem;font-size:.6875rem;background:var(--c-warning-bg);color:var(--c-warning);border:1px solid var(--c-warning);border-radius:9999px}.fv-ing-preview-more[data-v-0661f0f8]{font-size:.6875rem;color:var(--c-text-3)}.fv-ing-toggle-wrap[data-v-0661f0f8]{margin-bottom:1rem}.fv-ing-toggle[data-v-0661f0f8]{width:100%;display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;font-size:.875rem;color:var(--c-text);background:var(--c-bg-2);border:1px solid var(--c-border);border-radius:var(--animal-border-radius-base, 18px);cursor:pointer;transition:filter .2s ease}.fv-ing-toggle[data-v-0661f0f8]:hover{filter:brightness(.97)}.fv-ing-toggle-label[data-v-0661f0f8]{display:flex;align-items:center;gap:.375rem;font-weight:500}.fv-ing-toggle-icon[data-v-0661f0f8]{color:var(--c-fresh)}.fv-ing-toggle-count[data-v-0661f0f8]{font-size:.6875rem;color:var(--c-fresh)}.fv-ing-toggle-arrow[data-v-0661f0f8]{color:var(--c-text-3);transition:transform .2s ease}.fv-ing-toggle-arrow--open[data-v-0661f0f8]{transform:rotate(180deg)}.fv-ing-check-list[data-v-0661f0f8]{display:flex;flex-direction:column;gap:.375rem;max-height:15rem;overflow-y:auto;padding-right:.25rem;margin-top:.5rem}.fv-ing-check-row[data-v-0661f0f8]{display:flex;align-items:center;gap:.625rem;padding:.5rem .75rem;background:var(--c-bg-2);border:1px solid var(--c-border);border-radius:var(--animal-border-radius-sm, 16px);cursor:pointer;transition:filter .2s ease}.fv-ing-check-row[data-v-0661f0f8]:hover{filter:brightness(.97)}.fv-ing-check-row--used[data-v-0661f0f8]{opacity:.5}.fv-ing-checkbox[data-v-0661f0f8]{width:1rem;height:1rem;accent-color:var(--c-fresh);cursor:pointer}.fv-ing-check-name[data-v-0661f0f8]{flex:1 1 0%;font-size:.875rem;color:var(--c-text)}.fv-ing-check-name--used[data-v-0661f0f8]{text-decoration:line-through;color:var(--c-text-3)}.fv-ing-check-amount[data-v-0661f0f8]{font-size:.6875rem;color:var(--c-text-2);white-space:nowrap}.fv-ing-check-empty[data-v-0661f0f8]{text-align:center;font-size:.6875rem;color:var(--c-text-3);padding:.75rem}.fv-card-actions[data-v-0661f0f8]{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.fv-cook-btn[data-v-0661f0f8]{flex:1 1 0%}.fv-group-dropdown[data-v-0661f0f8]{position:relative}.fv-group-btn[data-v-0661f0f8]{font-size:.75rem}.fv-group-menu[data-v-0661f0f8]{position:absolute;right:0;bottom:100%;margin-bottom:.25rem;background:var(--animal-card-bg);border:var(--animal-border-width, 2px) solid var(--animal-border-color);border-radius:var(--animal-border-radius-base, 18px);box-shadow:var(--animal-shadow-lg);padding:.25rem;z-index:10;min-width:120px}.fv-group-menu-item[data-v-0661f0f8]{width:100%;text-align:left;padding:.5rem .75rem;font-size:.75rem;color:var(--c-text);background:none;border:none;border-radius:var(--animal-border-radius-sm, 16px);cursor:pointer;display:flex;align-items:center;gap:.25rem;transition:background .2s ease}.fv-group-menu-item[data-v-0661f0f8]:hover{background:var(--c-bg-2)}.fv-delete-btn[data-v-0661f0f8]{font-size:.75rem;color:var(--c-text-3)}.fv-delete-btn[data-v-0661f0f8]:hover{color:var(--c-danger);border-color:var(--c-danger)}.modal-mask[data-v-0661f0f8]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:1rem;background:#00000059}.modal-body[data-v-0661f0f8]{width:100%;max-width:28rem;max-height:90vh;overflow-y:auto;background:var(--animal-card-bg);border:var(--animal-border-width, 2px) solid var(--animal-border-color);border-radius:var(--animal-border-radius-lg, 24px);box-shadow:var(--animal-shadow-lg)}.fv-group-modal-body[data-v-0661f0f8]{padding:1.5rem}.fv-group-modal-head[data-v-0661f0f8]{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.modal-title[data-v-0661f0f8]{font-size:1.25rem;font-weight:700;color:var(--c-text);margin:0}.close-btn[data-v-0661f0f8]{padding:.5rem;border:none;background:transparent;color:var(--c-text-2);border-radius:var(--animal-border-radius-sm, 16px);cursor:pointer;transition:background .2s ease}.close-btn[data-v-0661f0f8]:hover{background:var(--c-bg-2)}.fv-new-group-row[data-v-0661f0f8]{display:flex;gap:.5rem;margin-bottom:1rem}.fv-input[data-v-0661f0f8]{flex:1 1 0%;padding:.5rem .75rem;font-size:.875rem;color:var(--c-text);background:var(--animal-bg-color-input);border:var(--animal-border-width, 2px) solid var(--animal-border-color);border-radius:var(--animal-border-radius-base, 18px);outline:none;transition:border-color .2s ease,box-shadow .2s ease}.fv-input[data-v-0661f0f8]::placeholder{color:var(--c-text-3)}.fv-input[data-v-0661f0f8]:focus{border-color:var(--animal-primary-color);box-shadow:0 0 0 3px var(--animal-primary-color-bg)}.fv-group-list[data-v-0661f0f8]{display:flex;flex-direction:column;gap:.5rem}.fv-group-list-empty[data-v-0661f0f8]{text-align:center;padding:1rem;font-size:.75rem;color:var(--c-text-3)}.fv-group-list-row[data-v-0661f0f8]{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:var(--c-bg-2);border:1px solid var(--c-border);border-radius:var(--animal-border-radius-base, 18px)}.fv-group-list-name[data-v-0661f0f8]{display:flex;align-items:center;gap:.5rem;font-weight:500;color:var(--c-text);font-size:.875rem}.fv-group-list-del[data-v-0661f0f8]{padding:.25rem;background:none;border:none;color:var(--c-text-3);border-radius:var(--animal-border-radius-sm, 16px);cursor:pointer;transition:color .2s ease,background .2s ease}.fv-group-list-del[data-v-0661f0f8]:hover{color:var(--c-danger);background:var(--c-danger-bg)}@keyframes fv-spin-0661f0f8{to{transform:rotate(360deg)}}@keyframes fv-card-in-0661f0f8{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (min-width: 768px){.fv-stat-grid[data-v-0661f0f8]{grid-template-columns:repeat(4,minmax(0,1fr))}.fv-card-grid[data-v-0661f0f8]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 1024px){.fv-card-grid[data-v-0661f0f8]{grid-template-columns:repeat(3,minmax(0,1fr))}}:root{--animal-primary-color: #6cae3c;--animal-primary-color-hover: #7cbf4c;--animal-primary-color-active: #5c9a30;--animal-primary-color-bg: #eef6e2;--animal-success-color: #6cae3c;--animal-success-color-hover: #7cbf4c;--animal-success-color-active: #5c9a30;--animal-warning-color: #ef9d2a;--animal-warning-color-hover: #f4ad4a;--animal-warning-color-active: #d88b18;--animal-error-color: #e0603f;--animal-error-color-hover: #e87a5e;--animal-error-color-active: #c94a2c;--animal-text-color: #5c4326;--animal-text-color-secondary: #9a876a;--animal-text-color-disabled: #c4b89e;--animal-border-color: #d9cdb5;--animal-border-color-hover: #a9763e;--animal-border-color-light: #e8e2d6;--animal-bg-color: #faf6ea;--animal-bg-color-secondary: #f2e9d6;--animal-bg-color-disabled: #f0ece2;--animal-bg-color-input: #f7f3df;--animal-card-bg: #fbf8ee;--animal-shadow-color-light: rgba(92, 67, 38, .08);--animal-shadow-warm: #c9a06a;--animal-shadow-soft: #d4c9b4;--animal-shadow-soft-hover: #c4b89e;--animal-shadow-soft-strong: #a89878;--animal-font-family: "Noto Sans SC", Nunito, "Zen Maru Gothic", "HarmonyOS Sans SC", "MiSans", -apple-system, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--animal-font-size-sm: 12px;--animal-font-size-base: 14px;--animal-font-size-lg: 16px;--animal-line-height-base: 1.5715;--animal-spacing-xs: 4px;--animal-spacing-sm: 8px;--animal-spacing-md: 12px;--animal-spacing-lg: 16px;--animal-spacing-xl: 24px;--animal-border-radius-sm: 16px;--animal-border-radius-base: 18px;--animal-border-radius-lg: 24px;--animal-border-width: 2px;--animal-shadow-sm: 0 2px 4px 0 rgba(92, 67, 38, .06);--animal-shadow-base: 0 3px 10px 0 rgba(92, 67, 38, .1);--animal-shadow-lg: 0 8px 24px 0 rgba(92, 67, 38, .14);--animal-motion-duration-fast: .15s;--animal-motion-duration-base: .25s;--animal-motion-duration-slow: .35s;--animal-motion-ease: cubic-bezier(.4, 0, .2, 1);--animal-height-sm: 32px;--animal-height-base: 40px;--animal-height-lg: 48px}.dark{--animal-primary-color: #7cbf4c;--animal-primary-color-hover: #8dd05d;--animal-primary-color-active: #6cae3c;--animal-primary-color-bg: rgba(108, 174, 60, .15);--animal-success-color: #7cbf4c;--animal-success-color-hover: #8dd05d;--animal-success-color-active: #6cae3c;--animal-warning-color: #f4ad4a;--animal-warning-color-hover: #f7bd63;--animal-warning-color-active: #ef9d2a;--animal-error-color: #e87a5e;--animal-error-color-hover: #ef8f76;--animal-error-color-active: #e0603f;--animal-text-color: #e8dcc4;--animal-text-color-secondary: #c9b98e;--animal-text-color-disabled: #8a7d63;--animal-border-color: #5a4a35;--animal-border-color-hover: #a9763e;--animal-border-color-light: #453626;--animal-bg-color: #2a1f14;--animal-bg-color-secondary: #3a2d1e;--animal-bg-color-disabled: #332616;--animal-bg-color-input: #3d2f1f;--animal-card-bg: #35281a;--animal-shadow-color-light: rgba(0, 0, 0, .25);--animal-shadow-warm: rgba(0, 0, 0, .35);--animal-shadow-soft: rgba(0, 0, 0, .4);--animal-shadow-soft-hover: rgba(0, 0, 0, .45);--animal-shadow-soft-strong: rgba(0, 0, 0, .5);--animal-shadow-sm: 0 2px 4px 0 rgba(0, 0, 0, .25);--animal-shadow-base: 0 3px 10px 0 rgba(0, 0, 0, .35);--animal-shadow-lg: 0 8px 24px 0 rgba(0, 0, 0, .45)}:root{--c-primary: #6cae3c;--c-primary-hover: #7cbf4c;--c-primary-active: #5c9a30;--c-primary-bg: #eef6e2;--c-fresh: #6cae3c;--c-fresh-bg: #eef6e2;--c-warning: #ef9d2a;--c-warning-bg: #fdf1dc;--c-danger: #e0603f;--c-danger-bg: #fbe7df;--c-ai: #4fb0d4;--c-ai-bg: #e2f2f8;--c-accent: #e59266;--c-text: #5c4326;--c-text-2: #9a876a;--c-text-3: #c4b89e;--c-bg: #faf6ea;--c-bg-2: #f2e9d6;--c-card: #fbf8ee;--c-input: #f7f3df;--c-border: #d9cdb5;--c-border-2: #a9763e;--c-shadow-hard: #c9a06a}.dark{--c-primary-bg: rgba(108, 174, 60, .15);--c-fresh-bg: rgba(108, 174, 60, .15);--c-warning-bg: rgba(239, 157, 42, .15);--c-danger-bg: rgba(224, 96, 63, .15);--c-ai-bg: rgba(79, 176, 212, .15);--c-text: #e8dcc4;--c-text-2: #c9b98e;--c-text-3: #8a7d63;--c-bg: #2a1f14;--c-bg-2: #3a2d1e;--c-card: #35281a;--c-input: #3d2f1f;--c-border: #5a4a35;--c-border-2: #a9763e;--c-shadow-hard: rgba(0, 0, 0, .35)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;padding:.625rem 1.25rem;font-size:.9rem;font-weight:700;color:var(--animal-text-color, #4a3728);background:var(--animal-bg-color-secondary, #f5efe6);border:2px solid var(--animal-border-color, #d4b896);border-radius:var(--animal-border-radius-base, .75rem);box-shadow:0 3px 0 var(--animal-shadow-warm, rgba(169, 118, 62, .35));cursor:pointer;text-decoration:none;transition:transform .15s ease,box-shadow .15s ease}.btn:hover{transform:translateY(-2px)}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn--primary{color:#fff;background:var(--animal-primary-color, #e07b39);border-color:var(--animal-primary-color-hover, #c9662b)}.btn--ai{color:#fff;background:#4fb0d4;border-color:#3d92b3}.btn--danger{color:#fff;background:#dc2626;border-color:#b91c1c}.btn--sm{padding:.375rem .875rem;font-size:.8rem}.btn--block{width:100%}@keyframes cfadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.fade-up{animation:cfadeUp .35s ease-out both}@media (prefers-reduced-motion: reduce){.fade-up{animation:none}}@font-face{font-family:PingFangLiuAngLeTianTi;src:url(/fonts/PingFangLiuAngLeTianTi-2.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}body{font-family:Noto Sans SC,sans-serif;min-height:100vh;overflow-x:hidden;background:var(--animal-bg-color);color:var(--animal-text-color)}.page-enter-active{transition:opacity .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1)}.page-leave-active{transition:opacity .15s cubic-bezier(.4,0,.2,1),transform .15s cubic-bezier(.4,0,.2,1)}.page-enter-from{opacity:0;transform:translateY(16px)}.page-leave-to{opacity:0;transform:translateY(-8px)}@keyframes cooking{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-5px) rotate(2deg)}50%{transform:translateY(-3px) rotate(-1deg)}75%{transform:translateY(-7px) rotate(1deg)}}@keyframes fire{0%,to{transform:scaleY(1) scaleX(1)}50%{transform:scaleY(1.1) scaleX(.95)}}@keyframes steam{0%{opacity:.7;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-20px) scale(1.2)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 20px #6cae3c4d}50%{box-shadow:0 0 30px #6cae3c99}}.cooking-animation{animation:cooking 2s ease-in-out infinite}.fire-animation{animation:fire 1.5s ease-in-out infinite}.steam-animation{animation:steam 2s ease-out infinite}.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}.scrollbar-hide::-webkit-scrollbar{display:none}
