@charset "UTF-8";@layer reset,tokens,base,layout,components,animations;@layer reset{*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}button{font:inherit;cursor:pointer;background:none;border:none}a{color:inherit;text-decoration:none}img,svg{display:block}ul,ol{list-style:none}}@layer tokens{:root{--color-bg: #F7F6F3;--color-bg-subtle: #F0EFE9;--color-surface: #FFFFFF;--color-border: rgba(0, 0, 0, .07);--color-border-strong: rgba(0, 0, 0, .12);--color-text-primary: #0D0D0D;--color-text-secondary: #717171;--color-text-tertiary: #A8A8A8;--color-chip-bg: #EDECE9;--color-chip-hover: #E3E2DE;--color-chip-text: #0D0D0D;--color-chip-selected-bg: #0D0D0D;--color-chip-selected-text: #FFFFFF;--color-accent: #FF4B2B;--color-accent-light: #FFF1EE;--font-sans: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", system-ui, sans-serif;--space-xs: .375rem;--space-sm: .625rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--radius-sm: 8px;--radius-md: 14px;--radius-lg: 20px;--radius-pill: 100px;--shadow-card: 0 1px 4px rgba(0,0,0,.04), 0 6px 20px rgba(0,0,0,.06);--shadow-card-hover: 0 4px 12px rgba(0,0,0,.07), 0 12px 32px rgba(0,0,0,.09);--container-max: 620px;--container-pad: 1.25rem}}@layer base{html{font-family:var(--font-sans);font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}body{background-color:var(--color-bg);color:var(--color-text-primary);line-height:1.5;min-height:100dvh}}@layer layout{.app-shell{display:flex;flex-direction:column;min-height:100dvh}.container{width:100%;max-width:var(--container-max);margin-inline:auto;padding-inline:var(--container-pad)}.hero{padding:3.5rem 0 2.75rem;background:linear-gradient(180deg,#FDFCF9 0%,var(--color-bg) 100%);border-bottom:1px solid var(--color-border)}.hero-badge{display:inline-flex;align-items:center;gap:.375rem;background:#0000000f;padding:.375rem .875rem;border-radius:var(--radius-pill);font-size:.8125rem;font-weight:600;color:var(--color-text-secondary);letter-spacing:.02em;margin-bottom:1.25rem}.hero-title{font-size:clamp(2.125rem,9vw,3.25rem);font-weight:800;line-height:1.08;letter-spacing:-.04em;color:var(--color-text-primary);margin-bottom:1rem}.hero-subtitle{font-size:clamp(.9375rem,3vw,1.0625rem);color:var(--color-text-secondary);line-height:1.65;font-weight:400}.ingredients-section{padding:1.75rem 0;border-bottom:1px solid var(--color-border)}.results-section{padding:1.75rem 0 3rem;flex:1}.section-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.section-title-row{display:flex;align-items:center;gap:.625rem}.section-title{font-size:1.125rem;font-weight:700;letter-spacing:-.02em;color:var(--color-text-primary)}.count-pill{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:22px;padding-inline:.5rem;background:var(--color-chip-bg);border-radius:var(--radius-pill);font-size:.75rem;font-weight:700;color:var(--color-text-secondary)}.selected-pill{background:var(--color-chip-selected-bg);color:var(--color-chip-selected-text);font-size:.75rem;font-weight:600;padding-inline:.625rem;height:24px}.clear-btn{font-size:.8125rem;font-weight:500;color:var(--color-text-secondary);padding:.25rem .625rem;border-radius:var(--radius-pill);transition:background .15s ease,color .15s ease;white-space:nowrap}.clear-btn:hover{background:var(--color-chip-bg);color:var(--color-text-primary)}.recipe-grid{display:flex;flex-direction:column;gap:.75rem}.recipe-card-anim{animation:card-in .4s cubic-bezier(.34,1.56,.64,1) both}.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;padding:3rem 1rem 2rem;gap:.5rem}.empty-icon{font-size:2.5rem;margin-bottom:.5rem;filter:grayscale(20%)}.empty-headline{font-size:1.0625rem;font-weight:700;color:var(--color-text-primary);letter-spacing:-.02em}.empty-body{font-size:.9rem;color:var(--color-text-secondary);line-height:1.55;max-width:280px}.app-footer{padding:1.5rem 0;border-top:1px solid var(--color-border);margin-top:auto}.footer-text{font-size:.8125rem;color:var(--color-text-tertiary);text-align:center}}@layer animations{@keyframes card-in{0%{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@supports (view-transition-name: none){::view-transition-old(root),::view-transition-new(root){animation-duration:.25s}}}@media(min-width:680px){.hero{padding-block:4rem 3.25rem}.recipe-grid{display:grid;grid-template-columns:1fr 1fr;gap:.875rem}.empty-state{padding-block:4rem 3rem}}
