.nutrition-wrap[data-v-aac2a0b2]{display:flex;flex-direction:column;gap:5px}.nutrition-badge[data-v-aac2a0b2]{display:inline-block;color:var(--color-ink-light);font-size:.625rem;letter-spacing:.15em;text-transform:uppercase}.macros-row[data-v-aac2a0b2]{display:flex;align-items:center;gap:6px;font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--color-ink-light)}.macro[data-v-aac2a0b2]{display:flex;align-items:baseline;gap:3px}.macro-label[data-v-aac2a0b2]{font-weight:600;color:var(--color-ink);opacity:.5}.macro-sep[data-v-aac2a0b2]{opacity:.3}.heart-btn[data-v-bb121dc8]{display:inline-flex;align-items:center;gap:4px;padding:4px 6px;border-radius:2px;transition:opacity .2s;line-height:1}.heart-btn[data-v-bb121dc8]:hover{opacity:.7}.heart-icon[data-v-bb121dc8]{display:inline-block;font-size:1rem;transition:transform .2s cubic-bezier(.34,1.56,.64,1),color .2s}.heart-btn.active .heart-icon[data-v-bb121dc8]{color:#b84040;transform:scale(1.15)}.heart-pop[data-v-bb121dc8]{animation:heart-pop-bb121dc8 .25s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes heart-pop-bb121dc8{0%{transform:scale(1)}50%{transform:scale(1.45)}to{transform:scale(1.15)}}.heart-count[data-v-bb121dc8]{font-size:.6rem;letter-spacing:.1em;color:var(--color-ink-light)}.recipe-card[data-v-4c82515e]{cursor:pointer;display:flex;flex-direction:column;border:1px solid var(--color-border);transition:border-color .2s,transform .2s;overflow:hidden}@media (hover: hover){.recipe-card[data-v-4c82515e]:hover{border-color:var(--color-ink);transform:translateY(-2px)}.recipe-card:hover .card-img[data-v-4c82515e]{transform:scale(1.04)}}.card-photo[data-v-4c82515e]{position:relative;aspect-ratio:4 / 3;overflow:hidden;background:#1a1a1a0f}.card-img[data-v-4c82515e]{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.card-body[data-v-4c82515e]{padding:calc(var(--spacing) * 2.5);display:flex;flex-direction:column;gap:calc(var(--spacing) * 1.5);flex:1}.card-title[data-v-4c82515e]{font-size:clamp(1rem,2.5vw,1.35rem);line-height:1.05;letter-spacing:-.02em;font-weight:700;text-transform:lowercase}.card-desc[data-v-4c82515e]{font-size:.75rem;color:var(--color-ink-light);line-height:1.5}.card-meta[data-v-4c82515e]{margin-top:auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}.card-actions[data-v-4c82515e]{display:flex;align-items:center;gap:6px}.btn-cart[data-v-4c82515e]{font-size:.6rem;letter-spacing:.15em;text-transform:uppercase;padding:5px 8px;border:1px solid var(--color-border);transition:background .2s,color .2s,border-color .2s;white-space:nowrap}.btn-cart[data-v-4c82515e]:hover,.btn-cart.in-cart[data-v-4c82515e]{background:var(--color-ink);color:var(--bg-color);border-color:var(--color-ink)}.svg-illustration[data-v-7bd88eb5]{display:inline-block;color:currentColor}.svg-illustration[data-v-7bd88eb5] svg{width:100%;height:100%;stroke:currentColor}.recipe-section[data-v-23b6a435]{padding:calc(var(--spacing) * 4) 0}.section-header[data-v-23b6a435]{display:flex;align-items:center;justify-content:space-between;cursor:pointer;padding:calc(var(--spacing) * 2) 0;gap:16px;-webkit-user-select:none;user-select:none}.section-header:hover .section-title[data-v-23b6a435]{opacity:.6}.section-header-left[data-v-23b6a435]{display:flex;align-items:center;gap:20px}.section-illus[data-v-23b6a435]{width:36px;height:48px;opacity:.5;flex-shrink:0}.section-title[data-v-23b6a435]{font-size:clamp(2rem,5vw,4rem);line-height:1;transition:opacity .2s}.section-header-right[data-v-23b6a435]{display:flex;align-items:center;gap:16px;flex-shrink:0}.section-count[data-v-23b6a435],.section-toggle[data-v-23b6a435]{font-size:.625rem;letter-spacing:.2em;text-transform:uppercase;color:var(--color-ink-light)}.section-toggle[data-v-23b6a435]{font-size:1.25rem;letter-spacing:0;color:var(--color-ink);font-weight:400;min-width:20px;text-align:center}.section-divider[data-v-23b6a435]{height:1px;background:var(--color-border)}.section-content[data-v-23b6a435]{padding-top:calc(var(--spacing) * 3)}.recipe-grid[data-v-23b6a435]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:calc(var(--spacing) * 3)}.section-collapse-enter-active[data-v-23b6a435]{transition:opacity .4s ease .05s;overflow:hidden}.section-collapse-leave-active[data-v-23b6a435]{transition:opacity .25s ease;overflow:hidden}.section-collapse-enter-from[data-v-23b6a435],.section-collapse-leave-to[data-v-23b6a435]{opacity:0}.author-bio[data-v-8fb5fcbf]{padding:calc(var(--spacing) * 8) 0 calc(var(--spacing) * 6);border-top:1px solid var(--color-border)}.bio-grid[data-v-8fb5fcbf]{display:grid;grid-template-columns:1fr 2fr;gap:calc(var(--spacing) * 4);align-items:start}.bio-label[data-v-8fb5fcbf]{display:flex;flex-direction:column;gap:16px;padding-top:6px}.bio-illus[data-v-8fb5fcbf]{width:40px;height:54px;opacity:.35}.bio-name[data-v-8fb5fcbf]{margin-bottom:calc(var(--spacing) * 2)}.bio-text[data-v-8fb5fcbf]{max-width:480px}.bio-text p[data-v-8fb5fcbf]{color:var(--color-ink-light);font-size:.875rem;line-height:1.7}@media (max-width: 640px){.bio-grid[data-v-8fb5fcbf]{grid-template-columns:1fr}}.dinner-picker[data-v-6b04a9e1]{padding:calc(var(--spacing) * 3) 0 calc(var(--spacing) * 4);border-top:1px solid var(--color-border);margin-bottom:calc(var(--spacing) * 2)}.picker-row[data-v-6b04a9e1]{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.picker-btn[data-v-6b04a9e1]{font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;padding:12px 18px;background:var(--color-ink);color:var(--bg-color);border:1px solid var(--color-ink);transition:opacity .2s}.picker-btn[data-v-6b04a9e1]:hover{opacity:.8}.picker-btn[data-v-6b04a9e1]:disabled{opacity:.4;cursor:default}.picker-options[data-v-6b04a9e1]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.options-label[data-v-6b04a9e1]{margin-right:4px}.option[data-v-6b04a9e1]{font-size:.6rem;letter-spacing:.15em;text-transform:uppercase;padding:5px 10px;border:1px solid var(--color-border);transition:background .2s,color .2s,border-color .2s}.option[data-v-6b04a9e1]:hover,.option.active[data-v-6b04a9e1]{background:var(--color-ink);color:var(--bg-color);border-color:var(--color-ink)}.picker-result[data-v-6b04a9e1]{margin-top:calc(var(--spacing) * 3);max-width:420px}.picker-empty[data-v-6b04a9e1]{margin-top:calc(var(--spacing) * 3);font-size:.85rem}@media (max-width: 640px){.picker-row[data-v-6b04a9e1]{flex-direction:column;align-items:flex-start;gap:16px}.picker-result[data-v-6b04a9e1]{max-width:none}}.home[data-v-c0fe0b8a]{max-width:var(--max-width);margin:0 auto;padding:0 calc(var(--spacing) * 4) calc(var(--spacing) * 8)}.home-hero[data-v-c0fe0b8a]{padding:calc(var(--spacing) * 8) 0 calc(var(--spacing) * 4);display:flex;align-items:flex-end;justify-content:space-between;gap:32px;flex-wrap:wrap}.hero-top[data-v-c0fe0b8a]{display:flex;align-items:baseline;gap:32px;flex-wrap:wrap}.hero-title[data-v-c0fe0b8a]{font-size:clamp(4rem,10vw,8rem);line-height:.88;letter-spacing:-.04em;font-weight:700;text-transform:lowercase}.hero-sub[data-v-c0fe0b8a]{font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;padding-bottom:4px}.search-wrap[data-v-c0fe0b8a]{position:relative;flex-shrink:0}.search-input[data-v-c0fe0b8a]{font-family:var(--font-mono);font-size:.625rem;letter-spacing:.15em;text-transform:uppercase;color:var(--color-ink);background:transparent;border:none;border-bottom:1px solid var(--color-border);padding:6px 28px 6px 0;width:200px;outline:none;transition:border-color .2s}.search-input[data-v-c0fe0b8a]::placeholder{color:var(--color-ink-light);opacity:.6}.search-input[data-v-c0fe0b8a]:focus{border-color:var(--color-ink)}.search-input[data-v-c0fe0b8a]::-webkit-search-cancel-button{display:none}.search-clear[data-v-c0fe0b8a]{position:absolute;right:0;top:50%;transform:translateY(-50%);font-size:.55rem;color:var(--color-ink-light);background:none;border:none;cursor:pointer;padding:4px;opacity:.6;transition:opacity .2s}.search-clear[data-v-c0fe0b8a]:hover{opacity:1}.search-grid[data-v-c0fe0b8a]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:calc(var(--spacing) * 3);padding-top:calc(var(--spacing) * 2)}.search-empty[data-v-c0fe0b8a]{padding:calc(var(--spacing) * 6) 0;font-size:.85rem}.home-sections[data-v-c0fe0b8a]{display:flex;flex-direction:column;gap:calc(var(--spacing) * 2)}.load-error[data-v-c0fe0b8a]{padding:calc(var(--spacing) * 4) 0;color:var(--color-ink-light)}@media (max-width: 640px){.home[data-v-c0fe0b8a]{padding:0 calc(var(--spacing) * 2.5) calc(var(--spacing) * 6)}.home-hero[data-v-c0fe0b8a]{padding:calc(var(--spacing) * 5) 0 calc(var(--spacing) * 3);flex-direction:column;align-items:flex-start}.search-input[data-v-c0fe0b8a],.search-wrap[data-v-c0fe0b8a]{width:100%}}.share-wrap[data-v-6245c688]{position:relative;display:inline-flex;align-items:center}.share-btn[data-v-6245c688]{display:inline-flex;align-items:center;gap:6px;font-size:.6rem;letter-spacing:.15em;text-transform:uppercase;padding:9px 14px;border:1px solid var(--color-ink);transition:background .2s,color .2s}.share-btn[data-v-6245c688]:hover{background:var(--color-ink);color:var(--bg-color)}.share-icon[data-v-6245c688]{flex-shrink:0;margin-top:-2px}.share-notice[data-v-6245c688]{position:absolute;left:50%;transform:translate(-50%);top:calc(100% + 6px);white-space:nowrap;font-size:.6rem;letter-spacing:.1em;padding:4px 8px;background:var(--color-ink);color:var(--bg-color)}.fade-enter-active[data-v-6245c688],.fade-leave-active[data-v-6245c688]{transition:opacity .2s}.fade-enter-from[data-v-6245c688],.fade-leave-to[data-v-6245c688]{opacity:0}.recipe-hero[data-v-4b0b78e9]{display:grid;grid-template-columns:1fr 1fr;gap:calc(var(--spacing) * 5);align-items:start;padding:calc(var(--spacing) * 5) 0 calc(var(--spacing) * 6)}.hero-photo[data-v-4b0b78e9]{position:relative;overflow:hidden}.hero-img[data-v-4b0b78e9]{width:100%;height:auto;max-height:600px;display:block;object-fit:contain;object-position:center top}.photo-placeholder.hero-img[data-v-4b0b78e9]{aspect-ratio:4 / 3}.hero-info[data-v-4b0b78e9]{display:flex;flex-direction:column;gap:calc(var(--spacing) * 2.5);padding-top:calc(var(--spacing) * 2)}.back-link[data-v-4b0b78e9]{display:inline-block;opacity:.55;transition:opacity .2s}.back-link[data-v-4b0b78e9]:hover{opacity:1}.section-tag[data-v-4b0b78e9]{color:var(--color-ink-light)}.hero-title[data-v-4b0b78e9]{font-size:clamp(2.5rem,6vw,5.5rem);line-height:.92;letter-spacing:-.03em;font-weight:700;text-transform:lowercase}.hero-desc[data-v-4b0b78e9]{max-width:380px}.hero-actions[data-v-4b0b78e9]{display:flex;align-items:center;gap:12px;margin-top:calc(var(--spacing) * 1);flex-wrap:wrap}.btn-add-cart[data-v-4b0b78e9]{font-size:.6rem;letter-spacing:.15em;text-transform:uppercase;padding:10px 18px;border:1px solid var(--color-ink);transition:background .2s,color .2s}.btn-add-cart[data-v-4b0b78e9]:hover,.btn-add-cart.in-cart[data-v-4b0b78e9]{background:var(--color-ink);color:var(--bg-color)}@media (max-width: 768px){.recipe-hero[data-v-4b0b78e9]{grid-template-columns:1fr;gap:calc(var(--spacing) * 3);padding-top:calc(var(--spacing) * 2)}.hero-photo[data-v-4b0b78e9]{aspect-ratio:4 / 3;background:#1a1a1a0f}.hero-img[data-v-4b0b78e9]{height:100%;max-height:none;object-fit:cover;object-position:center}}.scaling-controls[data-v-3da5d15f]{background:#1a1a1a0a;padding:calc(var(--spacing) * 3);display:flex;flex-direction:column;gap:calc(var(--spacing) * 2)}.mode-tabs[data-v-3da5d15f]{display:flex;gap:0;border:1px solid var(--color-border);align-self:flex-start}.mode-tab[data-v-3da5d15f]{font-size:.6rem;letter-spacing:.15em;text-transform:uppercase;padding:7px 14px;transition:background .2s,color .2s;border:none;background:transparent;color:var(--color-ink-light)}.mode-tab.active[data-v-3da5d15f]{background:var(--color-ink);color:var(--bg-color)}.servings-control[data-v-3da5d15f],.ingredient-control[data-v-3da5d15f]{display:flex;flex-direction:column;gap:calc(var(--spacing) * 1.5)}.ingredient-select-row[data-v-3da5d15f],.ingredient-input-row[data-v-3da5d15f]{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.stepper[data-v-3da5d15f]{display:flex;align-items:center;gap:0;border:1px solid var(--color-border);align-self:flex-start;margin-top:4px}.stepper-btn[data-v-3da5d15f]{width:32px;height:32px;font-size:1.1rem;display:flex;align-items:center;justify-content:center;transition:background .15s;border:none;background:transparent;cursor:pointer}.stepper-btn[data-v-3da5d15f]:hover:not(:disabled){background:#1a1a1a14}.stepper-btn[data-v-3da5d15f]:disabled{opacity:.3;cursor:not-allowed}.stepper-val[data-v-3da5d15f]{min-width:36px;text-align:center;border-left:1px solid var(--color-border);border-right:1px solid var(--color-border);padding:4px 8px;font-size:.875rem}.ing-select[data-v-3da5d15f]{font-size:.75rem;padding:5px 8px;border:1px solid var(--color-border);background:transparent;color:var(--color-ink);min-width:160px;max-width:220px}.input-unit[data-v-3da5d15f]{display:flex;align-items:center;gap:6px}.qty-input[data-v-3da5d15f]{width:80px;font-size:.875rem;padding:5px 8px;border:1px solid var(--color-border);background:transparent;color:var(--color-ink)}.unit-label[data-v-3da5d15f]{font-size:.6rem;letter-spacing:.15em;text-transform:uppercase;color:var(--color-ink-light)}.scale-result[data-v-3da5d15f]{font-size:.6rem;letter-spacing:.15em;text-transform:uppercase;color:var(--color-ink-light);padding-top:4px;border-top:1px solid var(--color-border)}.ingredient-list[data-v-e1ed9bc4]{display:flex;flex-direction:column;gap:calc(var(--spacing) * 2)}.list-title[data-v-e1ed9bc4]{font-size:.625rem;letter-spacing:.2em;text-transform:uppercase;color:var(--color-ink-light);padding-bottom:calc(var(--spacing) * 1.5);border-bottom:1px solid var(--color-border)}.group-title[data-v-e1ed9bc4]{font-size:.75rem;font-style:italic;color:var(--color-ink);padding-top:calc(var(--spacing) * 1.5)}.list[data-v-e1ed9bc4]{display:flex;flex-direction:column;gap:0}.list-item[data-v-e1ed9bc4]{display:flex;justify-content:space-between;align-items:baseline;padding:10px 0;border-bottom:1px solid var(--color-border);gap:16px}.ing-name[data-v-e1ed9bc4]{font-size:.875rem}.ing-amount[data-v-e1ed9bc4]{font-size:.875rem;font-style:italic;color:var(--color-ink-light);white-space:nowrap;flex-shrink:0}.instruction-steps[data-v-a574d075]{display:flex;flex-direction:column;gap:calc(var(--spacing) * 2)}.steps-title[data-v-a574d075]{font-size:.625rem;letter-spacing:.2em;text-transform:uppercase;color:var(--color-ink-light);padding-bottom:calc(var(--spacing) * 1.5);border-bottom:1px solid var(--color-border)}.steps-list[data-v-a574d075]{display:flex;flex-direction:column;gap:0}.step-item[data-v-a574d075]{display:grid;grid-template-columns:36px 1fr;gap:16px;align-items:start;padding:18px 0;border-bottom:1px solid var(--color-border)}.step-item.has-photo[data-v-a574d075]{grid-template-columns:36px 1fr 120px}.step-num[data-v-a574d075]{font-size:.625rem;letter-spacing:.1em;color:var(--color-ink-light);padding-top:3px;font-style:italic}.step-text[data-v-a574d075]{font-size:.875rem;line-height:1.65}.step-photo[data-v-a574d075]{display:block;padding:0;border:none;background:none;cursor:zoom-in}.step-photo img[data-v-a574d075]{display:block;width:100%;aspect-ratio:4 / 3;object-fit:cover}.photo-overlay[data-v-a574d075]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:calc(var(--spacing) * 2);background:#000000d9;cursor:zoom-out}.photo-overlay img[data-v-a574d075]{max-width:100%;max-height:100%;object-fit:contain}@media (max-width: 480px){.step-item.has-photo[data-v-a574d075]{grid-template-columns:36px 1fr}.step-photo[data-v-a574d075]{grid-column:1 / -1;margin:0 calc(var(--spacing) * -2.5);cursor:default;pointer-events:none}}.in-progress[data-v-f237eb83]{max-width:640px;margin:0 auto;padding:calc(var(--spacing) * 4) calc(var(--spacing) * 4) calc(var(--spacing) * 10);display:flex;flex-direction:column;align-items:center;text-align:center;gap:calc(var(--spacing) * 2)}.back-link[data-v-f237eb83]{align-self:flex-start}.share[data-v-f237eb83]{margin-bottom:calc(var(--spacing) * 2)}.pot[data-v-f237eb83]{width:min(392px,70vw);height:auto}.title[data-v-f237eb83]{overflow-wrap:anywhere}.home-link[data-v-f237eb83]{margin-top:calc(var(--spacing) * 2);border-bottom:1px solid currentColor;padding-bottom:2px}.recipe-view[data-v-8c040811]{max-width:var(--max-width);margin:0 auto;padding:0 calc(var(--spacing) * 4) calc(var(--spacing) * 10)}.recipe-body[data-v-8c040811]{display:grid;grid-template-columns:1fr 1.4fr;gap:calc(var(--spacing) * 6);align-items:start;padding-top:calc(var(--spacing) * 2)}.recipe-left[data-v-8c040811]{display:flex;flex-direction:column;gap:calc(var(--spacing) * 4);position:sticky;top:160px}.not-found[data-v-8c040811]{max-width:var(--max-width);margin:0 auto;padding:calc(var(--spacing) * 8) calc(var(--spacing) * 4);display:flex;flex-direction:column;gap:16px}@media (max-width: 900px){.recipe-body[data-v-8c040811]{grid-template-columns:1fr}.recipe-left[data-v-8c040811]{position:static}}@media (max-width: 480px){.recipe-view[data-v-8c040811]{padding:0 calc(var(--spacing) * 2.5) calc(var(--spacing) * 8)}}.favorites[data-v-4bcee83d]{max-width:var(--max-width);margin:0 auto;padding:0 calc(var(--spacing) * 4) calc(var(--spacing) * 8)}.fav-hero[data-v-4bcee83d]{padding:calc(var(--spacing) * 8) 0 calc(var(--spacing) * 4);display:flex;align-items:baseline;gap:32px;flex-wrap:wrap}.fav-title[data-v-4bcee83d]{font-size:clamp(4rem,10vw,8rem);line-height:.88;letter-spacing:-.04em;font-weight:700;text-transform:lowercase}.fav-sub[data-v-4bcee83d]{font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;padding-bottom:4px}.fav-grid[data-v-4bcee83d]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:calc(var(--spacing) * 3)}.fav-empty[data-v-4bcee83d]{display:flex;flex-direction:column;align-items:center;gap:16px;padding:calc(var(--spacing) * 8) 0;text-align:center}.fav-empty-icon[data-v-4bcee83d]{font-size:3rem;opacity:.2}@media (max-width: 480px){.favorites[data-v-4bcee83d]{padding:0 calc(var(--spacing) * 2.5) calc(var(--spacing) * 6)}.fav-hero[data-v-4bcee83d]{padding:calc(var(--spacing) * 5) 0 calc(var(--spacing) * 3)}}.marquee-bar[data-v-6d65ccee]{background:var(--color-ink);color:var(--bg-color);overflow:hidden;padding:9px 0;position:sticky;top:0;z-index:100;transition:color .8s ease}.marquee-wrapper[data-v-6d65ccee]{overflow:hidden;white-space:nowrap}.marquee-track[data-v-6d65ccee]{display:inline-block;animation:marquee-6d65ccee 30s linear infinite}.marquee-text[data-v-6d65ccee]{font-size:.6rem;letter-spacing:.2em}@keyframes marquee-6d65ccee{0%{transform:translate(0)}to{transform:translate(-50%)}}.app-header[data-v-017d5919]{position:sticky;top:0;z-index:90}.header-bar[data-v-017d5919]{background:var(--bg-color);display:flex;align-items:center;justify-content:space-between;padding:18px calc(var(--spacing) * 4);border-bottom:1px solid var(--color-border)}.header-logo[data-v-017d5919]{font-size:.625rem;letter-spacing:.25em;text-transform:uppercase;font-weight:700;text-decoration:none;color:var(--color-ink)}.header-nav[data-v-017d5919]{display:flex;align-items:center;gap:28px}.nav-link[data-v-017d5919]{font-size:.625rem;letter-spacing:.2em;text-transform:uppercase;color:var(--color-ink);text-decoration:none;transition:opacity .2s;background:none;border:none;cursor:pointer;font-family:var(--font-mono);padding:0;position:relative}.nav-link[data-v-017d5919]:hover{opacity:.55}.fav-link[data-v-017d5919]{font-size:1rem;letter-spacing:0;line-height:1;transition:color .25s,opacity .2s}.fav-active[data-v-017d5919]{color:#c0392b;opacity:1!important}.fav-active[data-v-017d5919]:hover{opacity:.75!important}.cart-badge[data-v-017d5919]{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;background:var(--color-ink);color:var(--bg-color);border-radius:50%;font-size:.5rem;margin-left:4px}@media (max-width: 480px){.header-bar[data-v-017d5919]{padding:14px calc(var(--spacing) * 2.5)}}.app-footer[data-v-c8b83593]{border-top:1px solid var(--color-border)}.footer-bar[data-v-c8b83593]{max-width:var(--max-width);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:24px calc(var(--spacing) * 4)}.footer-cta[data-v-c8b83593]{font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;padding:10px 16px;border:1px solid var(--color-ink);transition:background .2s,color .2s}.footer-cta[data-v-c8b83593]:hover{background:var(--color-ink);color:var(--bg-color)}.plan-overlay[data-v-c8b83593]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#1a1a1a59;display:flex;align-items:center;justify-content:center;padding:16px}.plan-form[data-v-c8b83593]{position:relative;width:100%;max-width:440px;max-height:100%;overflow-y:auto;background:var(--bg-color);padding:calc(var(--spacing) * 4);display:flex;flex-direction:column;gap:16px}.plan-close[data-v-c8b83593]{position:absolute;top:12px;right:14px;font-size:.75rem;opacity:.6}.plan-close[data-v-c8b83593]:hover{opacity:1}.plan-field[data-v-c8b83593]{display:flex;flex-direction:column;gap:6px}.plan-field input[data-v-c8b83593],.plan-field textarea[data-v-c8b83593]{font-family:var(--font-mono);font-size:.85rem;color:var(--color-ink);background:transparent;border:1px solid var(--color-border);padding:8px 10px;outline:none;resize:vertical}.plan-field input[data-v-c8b83593]:focus,.plan-field textarea[data-v-c8b83593]:focus{border-color:var(--color-ink)}.plan-error[data-v-c8b83593]{color:#c0392b}.plan-submit[data-v-c8b83593]{align-self:flex-start;font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;padding:12px 18px;background:var(--color-ink);color:var(--bg-color)}.plan-submit[data-v-c8b83593]:disabled{opacity:.5;cursor:default}@media (max-width: 480px){.footer-bar[data-v-c8b83593]{padding:20px calc(var(--spacing) * 2.5)}}.cart-item[data-v-62a3d1aa]{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--color-border);transition:opacity .2s}.cart-item.checked[data-v-62a3d1aa]{opacity:.45}.check-btn[data-v-62a3d1aa]{width:20px;height:20px;border:1px solid var(--color-border);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.7rem;transition:background .15s,border-color .15s}.check-btn[data-v-62a3d1aa]:hover{border-color:var(--color-ink)}.cart-item.checked .check-btn[data-v-62a3d1aa]{background:var(--color-ink);color:var(--bg-color);border-color:var(--color-ink)}.item-info[data-v-62a3d1aa]{display:flex;justify-content:space-between;align-items:baseline;flex:1;gap:8px}.item-name[data-v-62a3d1aa]{font-size:.8rem}.item-done[data-v-62a3d1aa]{text-decoration:line-through}.item-amount[data-v-62a3d1aa]{font-style:italic;white-space:nowrap;flex-shrink:0}.cart-overlay[data-v-1d797455]{position:fixed;top:0;right:0;bottom:0;left:0;background:#1a1a1a59;z-index:200}.cart-drawer[data-v-1d797455]{position:fixed;top:0;right:0;bottom:0;width:min(420px,100vw);background:var(--bg-color);z-index:201;display:flex;flex-direction:column;border-left:1px solid var(--color-border)}.drawer-header[data-v-1d797455]{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--color-border);flex-shrink:0}.drawer-title[data-v-1d797455]{font-size:.625rem;letter-spacing:.2em;text-transform:uppercase}.close-btn[data-v-1d797455]{font-size:.75rem;letter-spacing:.1em;opacity:.55;transition:opacity .2s}.close-btn[data-v-1d797455]:hover{opacity:1}.drawer-empty[data-v-1d797455]{padding:40px 24px;display:flex;align-items:center;justify-content:center}.drawer-body[data-v-1d797455]{flex:1;overflow-y:auto;padding:20px 24px;display:flex;flex-direction:column;gap:28px}.section-label[data-v-1d797455]{font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--color-ink-light);margin-bottom:10px;display:block}.recipes-list[data-v-1d797455]{display:flex;flex-direction:column;gap:0}.recipe-entry[data-v-1d797455]{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--color-border);font-size:.8rem;gap:12px}.recipe-entry-name[data-v-1d797455]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recipe-entry-controls[data-v-1d797455]{display:flex;align-items:center;gap:10px;flex-shrink:0}.remove-btn[data-v-1d797455]{font-size:.6rem;opacity:.45;transition:opacity .2s}.remove-btn[data-v-1d797455]:hover{opacity:1}.ingredients-list[data-v-1d797455]{display:flex;flex-direction:column}.drawer-footer[data-v-1d797455]{padding:16px 24px;border-top:1px solid var(--color-border);flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:12px}.export-btn[data-v-1d797455]{font-size:.6rem;letter-spacing:.15em;text-transform:uppercase;padding:7px 14px;border:1px solid var(--color-ink);background:var(--color-ink);color:var(--bg-color);cursor:pointer;transition:opacity .2s}.export-btn[data-v-1d797455]:hover{opacity:.75}.clear-btn[data-v-1d797455]{font-size:.6rem;letter-spacing:.15em;text-transform:uppercase;opacity:.55;transition:opacity .2s}.clear-btn[data-v-1d797455]:hover{opacity:1}.fade-enter-active[data-v-1d797455],.fade-leave-active[data-v-1d797455]{transition:opacity .3s ease}.fade-enter-from[data-v-1d797455],.fade-leave-to[data-v-1d797455]{opacity:0}.cart-slide-enter-active[data-v-1d797455],.cart-slide-leave-active[data-v-1d797455]{transition:transform .35s cubic-bezier(.4,0,.2,1)}.cart-slide-enter-from[data-v-1d797455],.cart-slide-leave-to[data-v-1d797455]{transform:translate(100%)}.page-enter-active,.page-leave-active{transition:opacity .2s ease}:root{--font-mono: "Space Mono", "Courier New", monospace;--color-ink: #1a1a1a;--color-ink-light: #555;--color-border: rgba(26, 26, 26, .15);--bg-color: #ebf4ff;--title-color: var(--color-ink);--spacing: 8px;--max-width: 1400px;--header-height: 90px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased}body{font-family:var(--font-mono);color:var(--color-ink);background-color:var(--bg-color);min-height:100vh;line-height:1.5}a{color:inherit;text-decoration:none}ul,ol{list-style:none}img{display:block;max-width:100%}button{font-family:var(--font-mono);cursor:pointer;border:none;background:none;color:inherit}input,select{font-family:var(--font-mono)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.photo-placeholder{background:linear-gradient(135deg,#1a1a1a12,#1a1a1a26);display:flex;align-items:center;justify-content:center;color:var(--color-ink-light);font-size:.75rem;letter-spacing:.15em;text-transform:uppercase}.text-display{font-size:clamp(3.5rem,8vw,7rem);line-height:.92;letter-spacing:-.03em;font-weight:700;text-transform:lowercase;color:var(--title-color)}.text-display-md{font-size:clamp(2rem,5vw,4rem);line-height:.95;letter-spacing:-.025em;font-weight:700;text-transform:lowercase}.text-display-sm{font-size:clamp(1.25rem,3vw,2rem);line-height:1;letter-spacing:-.02em;font-weight:700;text-transform:lowercase}.text-body{font-size:.875rem;line-height:1.6;letter-spacing:0}.text-small{font-size:.75rem;line-height:1.5;letter-spacing:.02em}.text-label{font-size:.625rem;letter-spacing:.2em;text-transform:uppercase;font-weight:400}.text-italic{font-style:italic}.text-muted{color:var(--color-ink-light)}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.marquee-wrapper{overflow:hidden;white-space:nowrap}.marquee-track{display:inline-flex;animation:marquee 25s linear infinite}.section-collapse-enter-active{transition:max-height .5s ease,opacity .3s ease;overflow:hidden}.section-collapse-leave-active{transition:max-height .4s ease,opacity .25s ease;overflow:hidden}.section-collapse-enter-from,.section-collapse-leave-to{max-height:0!important;opacity:0}.cart-slide-enter-active,.cart-slide-leave-active{transition:transform .35s cubic-bezier(.4,0,.2,1),opacity .3s ease}.cart-slide-enter-from,.cart-slide-leave-to{transform:translate(100%);opacity:0}.fade-enter-active,.fade-leave-active{transition:opacity .3s ease}.fade-enter-from,.fade-leave-to{opacity:0}.page-enter-active,.page-leave-active{transition:opacity .25s ease}.page-enter-from,.page-leave-to{opacity:0}@keyframes heart-pop{0%{transform:scale(1)}50%{transform:scale(1.4)}to{transform:scale(1.15)}}.heart-pop{animation:heart-pop .25s cubic-bezier(.34,1.56,.64,1) forwards}
