.generator-form{gap:16px;padding:28px;scroll-margin-top:24px;display:grid}.generator-form .tool-fields{grid-template-columns:1.2fr 1fr 1fr}.generator-form>.button{justify-self:start}.generator-settings{border-top:1px solid var(--home-border);padding-top:16px}.generator-settings summary,.generator-recipe summary{cursor:pointer;min-height:44px;padding-block:10px;font-weight:600}.generator-settings fieldset{border:0;min-width:0;padding:16px 0 0}.generator-settings legend{font-size:.875rem}.generator-restrictions{flex-wrap:wrap;gap:12px 24px;margin-bottom:16px;display:flex}.generator-restrictions label{align-items:center;gap:8px;min-height:44px;display:flex}.meal-generator input[type=checkbox]{flex-shrink:0;width:18px;height:18px;min-height:18px;padding:0}.meal-generator .exclusion-list{background:var(--home-surface);border-color:var(--home-border);grid-template-columns:repeat(2,minmax(0,1fr))}.meal-generator .exclusion-list label{color:var(--home-ink);min-height:44px}.meal-generator .ingredient-exclusions-search input{background:0 0;border:0;min-height:44px;padding:0}.generator-results{gap:16px;margin-top:36px;scroll-margin-top:24px;display:grid}.generator-nutrition{background:var(--home-sage);border-radius:14px;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding:20px;display:grid}.generator-nutrition dt{color:var(--home-muted);font-size:.875rem}.generator-nutrition dd{margin:6px 0 0;font-size:1.375rem;font-weight:600}.generator-meals{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:16px;display:grid}.generator-meal{overflow-wrap:anywhere;flex-direction:column;gap:8px;min-width:0;padding:18px;display:flex}.generator-meal-image{aspect-ratio:16/9;object-fit:cover;border-radius:10px;flex-shrink:0;width:100%;height:auto;display:block}.generator-meal h3{font-size:1.125rem;line-height:1.4}.generator-meal .tool-secondary-button{justify-self:start;min-height:44px;padding:8px 12px}.generator-meal-heading{justify-content:space-between;align-items:center;gap:8px;display:flex}.generator-meal-heading .tool-secondary-button{flex-shrink:0}.generator-recipe{border-top:1px solid var(--home-border);padding-top:4px}.generator-meals:not(:has(.generator-recipe[open])) .generator-recipe{margin-top:auto}.generator-recipe h4{margin:16px 0 12px}.generator-recipe ul,.generator-recipe ol{padding-left:20px}.generator-recipe li{margin-bottom:12px;font-size:.875rem;line-height:1.7}.generator-recipe li strong{white-space:nowrap}.generator-recipe small{color:var(--home-muted);display:block}.generator-recipe .recipe-credits{border-top:1px solid var(--home-border);margin-top:20px;font-size:.8125rem}.generator-recipe .recipe-credits a{text-underline-offset:3px;text-decoration:underline}.generator-shopping{gap:16px;padding:28px;display:grid}.generator-shopping ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px;padding:0;list-style:none;display:grid}.generator-shopping li{border-bottom:1px solid var(--home-border);justify-content:space-between;align-items:baseline;gap:16px;padding:14px 0;font-size:.875rem;display:flex}.generator-shopping li>div{min-width:0}.generator-shopping small{color:var(--home-muted);margin-top:4px;line-height:1.6;display:block}.generator-shopping li>span{flex-shrink:0}.generator-next{justify-items:stretch;gap:6px;display:grid}.generator-next p{text-align:center;max-width:240px;font-size:.75rem}.generator-next .button{flex-shrink:0}.meal-generator :is(summary,button):focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}.generator-result-header{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:16px 24px;display:grid}.generator-result-actions{align-items:flex-start;gap:12px;display:flex}.generator-result-actions>button,.generator-next>button,.generator-edit-settings{min-height:44px}.generator-active-settings,.generator-selected-exclusions{flex-wrap:wrap;gap:8px;margin:12px 0 0;padding:0;list-style:none;display:flex}.generator-active-settings li{border:1px solid var(--home-border);overflow-wrap:anywhere;border-radius:8px;padding:4px 8px;font-size:.8125rem}.generator-selected-exclusions button{background:var(--home-sage);min-height:44px;color:var(--home-ink);border:1px solid var(--home-border);text-align:left;overflow-wrap:anywhere;border-radius:8px;align-items:center;gap:8px;padding:8px 12px;display:flex}.generator-selected-exclusions svg{flex-shrink:0}.generator-edit-settings{color:var(--home-ink);text-underline-offset:3px;padding-block:10px;font-weight:600;text-decoration:underline}.generator-exclusion-count{color:var(--home-muted);margin-left:10px;font-size:.8125rem;display:inline-block}.generator-notice{background:var(--home-sage);border:1px solid var(--home-border);border-radius:12px;justify-items:start;gap:12px;padding:16px;line-height:1.6;display:grid}.generator-conversion summary{cursor:pointer;min-height:44px;padding-block:10px;font-size:.875rem;font-weight:600}.generator-conversion p{margin-block:8px}.tool-page:has(.meal-generator) .tool-intro{margin-bottom:24px}.tool-page:has(.meal-generator) .tool-intro h1{font-size:clamp(30px,4vw,44px)}.tool-page:has(.meal-generator) .tool-intro p{margin-top:16px;line-height:1.6}@media (max-width:800px){.generator-form .tool-fields,.generator-meals{grid-template-columns:1fr}.generator-nutrition{grid-template-columns:repeat(2,minmax(0,1fr))}.generator-result-header{grid-template-columns:1fr;gap:8px}.generator-result-actions{flex-wrap:wrap}.generator-results{padding-bottom:136px}.generator-results :is(button,summary){scroll-margin-block:24px 144px}.generator-next.is-sticky{z-index:20;padding:12px 16px max(12px, env(safe-area-inset-bottom));border:1px solid var(--home-border);background:var(--home-surface);border-bottom:0;border-radius:14px 14px 0 0;position:fixed;bottom:0;left:16px;right:16px;box-shadow:0 -4px 18px #00000014}.meal-generator.settings-visible:has(.generator-form:focus-within) .generator-next.is-sticky{visibility:hidden}.generator-next p{max-width:none}}@media (max-width:500px){.meal-generator .exclusion-list{grid-template-columns:1fr}.generator-form,.generator-shopping{padding:20px}.generator-shopping ul{grid-template-columns:1fr}.generator-shopping li{flex-wrap:wrap;gap:8px}.generator-nutrition{gap:16px 12px;padding:20px}.generator-nutrition dt{font-size:.75rem}.generator-nutrition dd{font-size:1.125rem}.generator-next .button{width:100%;padding-inline:12px}.generator-active-settings{gap:6px}}.generator-worker-progress{gap:12px;margin-top:12px;display:grid}.generator-worker-progress>p{margin:0}
