@import url("https://fonts.googleapis.com/css2?family=Nunito:wght@300;400;500;600;700;900&family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,300&display=swap");[data-app=budgetfood]{--primary:20 89% 48%;--primary-foreground:0 0% 100%;--primary-hover:20 89% 40%;--accent:142 72% 29%;--accent-foreground:0 0% 100%;--background:35 40% 97%;--foreground:20 30% 12%;--card:35 30% 99%;--card-foreground:20 30% 12%;--popover:35 30% 99%;--popover-foreground:20 30% 12%;--secondary:30 40% 94%;--secondary-foreground:20 50% 20%;--muted:30 20% 93%;--muted-foreground:20 10% 45%;--border:30 25% 88%;--input:30 25% 88%;--ring:20 89% 48%;--destructive:4 72% 48%;--destructive-foreground:0 0% 100%;--radius:0.75rem;--font-sans:"Nunito",system-ui,sans-serif;--font-display:"DM Sans",system-ui,sans-serif}.dark [data-app=budgetfood],[data-app=budgetfood].dark{--background:20 25% 7%;--foreground:35 30% 95%;--card:20 22% 10%;--card-foreground:35 30% 95%;--popover:20 22% 10%;--popover-foreground:35 30% 95%;--secondary:20 18% 14%;--secondary-foreground:35 30% 92%;--muted:20 18% 14%;--muted-foreground:20 10% 60%;--border:20 18% 20%;--input:20 18% 20%}[data-app=budgetfood]{font-family:var(--font-sans)}[data-app=budgetfood] .font-display{font-family:var(--font-display)!important}@keyframes fadeInUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}[data-app=budgetfood] .animate-fade-in-up{animation:fadeInUp .55s cubic-bezier(.22,1,.36,1) both}[data-app=budgetfood] .animate-fade-in{animation:fadeIn .4s ease-out both}[data-app=budgetfood] .animate-scale-in{animation:scaleIn .45s cubic-bezier(.22,1,.36,1) both}[data-app=budgetfood] .delay-100{animation-delay:.1s}[data-app=budgetfood] .delay-200{animation-delay:.2s}[data-app=budgetfood] .delay-300{animation-delay:.3s}@media (prefers-reduced-motion:reduce){[data-app=budgetfood] .animate-fade-in,[data-app=budgetfood] .animate-fade-in-up,[data-app=budgetfood] .animate-scale-in{animation:none!important;opacity:1!important;transform:none!important}}[data-app=budgetfood] .section-eyebrow{font-size:.6875rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:hsl(var(--accent));display:block}[data-app=budgetfood] .hero-section{position:relative;overflow:hidden;background-image:radial-gradient(circle at 15% 50%,hsl(20 89% 48%/.05) 0,transparent 50%),radial-gradient(circle at 85% 30%,hsl(142 72% 29%/.05) 0,transparent 40%)}[data-app=budgetfood] .app-input{width:100%;background:hsl(var(--card));border:1.5px solid hsl(var(--border));border-radius:var(--radius);padding:.625rem .875rem;font-family:var(--font-sans);font-size:.9375rem;color:hsl(var(--foreground));outline:none;transition:border-color .18s ease,box-shadow .18s ease}[data-app=budgetfood] .app-input::placeholder{color:hsl(var(--muted-foreground));font-weight:300}[data-app=budgetfood] .app-input:focus{border-color:hsl(var(--primary));box-shadow:0 0 0 3px hsl(var(--primary)/.12)}[data-app=budgetfood] .filter-pill{display:inline-flex;align-items:center;padding:.375rem .75rem;border:1.5px solid hsl(var(--border));border-radius:2rem;font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .15s;background:transparent;color:hsl(var(--muted-foreground));font-family:var(--font-sans)}[data-app=budgetfood] .filter-pill:hover{border-color:hsl(var(--primary));color:hsl(var(--foreground))}[data-app=budgetfood] .filter-pill.active{border-color:hsl(var(--primary));background:hsl(var(--primary));color:hsl(var(--primary-foreground))}[data-app=budgetfood] .filters-panel{background:hsl(var(--card));border:1.5px solid hsl(var(--border));border-radius:calc(var(--radius) * 2);padding:1.25rem}[data-app=budgetfood] .content-grid{display:grid;grid-template-columns:1fr;gap:2rem}@media (min-width:900px){[data-app=budgetfood] .content-grid{grid-template-columns:320px 1fr;align-items:start}}[data-app=budgetfood] .recipe-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}[data-app=budgetfood] .recipe-card{background:hsl(var(--card));border:1.5px solid hsl(var(--border));border-radius:var(--radius);padding:1.125rem;transition:border-color .15s,box-shadow .15s}[data-app=budgetfood] .recipe-card:hover{border-color:hsl(var(--primary)/.4);box-shadow:0 4px 12px hsl(20 30% 12%/.08)}[data-app=budgetfood] .cost-badge{display:inline-flex;padding:.2rem .625rem;border-radius:99px;font-size:.8125rem;font-weight:700;background:hsl(var(--primary)/.1);color:hsl(var(--primary));white-space:nowrap}[data-app=budgetfood] .recipe-overlay{position:fixed;inset:0;z-index:100;background:hsl(20 30% 12%/.5);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:1rem}[data-app=budgetfood] .recipe-detail-panel{background:hsl(var(--card));border:1.5px solid hsl(var(--border));border-radius:calc(var(--radius) * 2);padding:clamp(1.5rem,4vw,2.5rem);max-width:640px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 24px 48px hsl(20 30% 12%/.2)}[data-app=budgetfood] .close-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:1.5px solid hsl(var(--border));background:hsl(var(--card));cursor:pointer;color:hsl(var(--muted-foreground));transition:all .15s}[data-app=budgetfood] .close-btn:hover{border-color:hsl(var(--foreground));color:hsl(var(--foreground))}[data-app=budgetfood] .stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:.75rem}[data-app=budgetfood] .stat-box{background:hsl(var(--muted));border-radius:var(--radius);padding:.875rem}[data-app=budgetfood] .stat-label{font-size:.6875rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:hsl(var(--muted-foreground));margin:0 0 .25rem}[data-app=budgetfood] .stat-value{font-size:1.125rem;font-weight:700;color:hsl(var(--foreground));margin:0}[data-app=budgetfood] .ingredient-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid hsl(var(--border)/.5)}[data-app=budgetfood] .ingredient-row:last-child{border-bottom:none}[data-app=budgetfood] .step-item{display:flex;gap:.75rem;align-items:flex-start;padding:.625rem 0;border-bottom:1px solid hsl(var(--border)/.5)}[data-app=budgetfood] .step-item:last-child{border-bottom:none}[data-app=budgetfood] .step-number-small{display:flex;width:24px;height:24px;border-radius:50%;font-size:.6875rem;font-weight:700;flex-shrink:0}[data-app=budgetfood] .app-btn,[data-app=budgetfood] .step-number-small{align-items:center;justify-content:center;background:hsl(var(--primary));color:hsl(var(--primary-foreground))}[data-app=budgetfood] .app-btn{display:inline-flex;gap:.5rem;padding:.75rem 1.5rem;font-family:var(--font-sans);font-size:.9375rem;font-weight:600;border:none;border-radius:var(--radius);cursor:pointer;transition:background .15s,transform .1s}[data-app=budgetfood] .app-btn:hover{background:hsl(var(--primary-hover));transform:translateY(-1px)}[data-app=budgetfood] .app-btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;background:hsl(var(--muted));color:hsl(var(--foreground));font-family:var(--font-sans);font-size:.875rem;font-weight:600;border:1.5px solid hsl(var(--border));border-radius:var(--radius);cursor:pointer;transition:all .15s}[data-app=budgetfood] .app-btn-secondary:hover{border-color:hsl(var(--primary));color:hsl(var(--primary))}[data-app=budgetfood] .planner-card{background:hsl(var(--card));border:1.5px solid hsl(var(--border));border-radius:calc(var(--radius) * 2);padding:1.25rem}[data-app=budgetfood] .planner-row{display:flex;align-items:center;gap:.75rem;padding:.5rem 0;border-bottom:1px solid hsl(var(--border)/.5)}[data-app=budgetfood] .planner-row:last-child{border-bottom:none}[data-app=budgetfood] .grocery-list{background:hsl(var(--muted));border-radius:var(--radius);padding:1rem}[data-app=budgetfood] .grocery-item{display:flex;justify-content:space-between;align-items:center;padding:.375rem 0;border-bottom:1px solid hsl(var(--border)/.3)}[data-app=budgetfood] .grocery-item:last-child{border-bottom:none}[data-app=budgetfood] .faq-grid{display:grid;grid-template-columns:1fr;gap:clamp(2rem,5vw,5rem);align-items:start}@media (min-width:900px){[data-app=budgetfood] .faq-grid{grid-template-columns:1fr 2fr}}[data-app=budgetfood] header{border-bottom:1.5px solid hsl(var(--border));background:hsl(var(--background)/.95);backdrop-filter:blur(12px)}[data-app=budgetfood] .mb-1{margin-bottom:.25rem}[data-app=budgetfood] .mb-2{margin-bottom:.5rem}[data-app=budgetfood] .mb-3{margin-bottom:.75rem}[data-app=budgetfood] .mb-4{margin-bottom:1rem}[data-app=budgetfood] .mb-6{margin-bottom:1.5rem}