:root{--color-ink:#151515;--color-muted:#62605a;--color-surface:#f7f8fb;--color-panel:#ffffff;--color-accent:#0f766e;--color-accent-strong:#115e59;--color-warm:#f97316;--color-warm-soft:#fff1e6;--color-line:#d8dde8;--color-focus:#1d4ed8;--shadow-soft:0 18px 45px rgba(22,28,45,0.12);color-scheme:light}*{box-sizing:border-box}html{min-height:100%;font-size:16px}body{margin:0;min-height:100%;overflow-x:clip;color:var(--color-ink);background:linear-gradient(180deg,var(--color-warm-soft) 0,var(--color-surface) 18rem),var(--color-surface);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.5}a{color:var(--color-accent-strong)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:0.75rem;left:1rem;z-index:100;min-height:44px;padding:0.75rem 1rem;transform:translateY(-150%);border-radius:8px;background:var(--color-ink);color:#fff;font-weight:800;text-decoration:none}.skip-link:focus{transform:translateY(0)}.site-nav a,.site-footer a{display:inline-flex;align-items:center;min-height:44px}.site-nav,.page-shell,.site-footer{width:min(100% - 2rem,1100px);margin-inline:auto}.site-nav{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;padding:0.65rem 0}.brand{color:var(--color-ink);font-weight:800;text-decoration:none}.hero{width:100vw;margin-inline:calc(50% - 50vw);border-block:1px solid rgba(216,221,232,0.85);background:linear-gradient(90deg,rgba(255,241,230,0.96),rgba(237,248,246,0.92)),#fff}.hero-inner{display:grid;width:min(100% - 2rem,1100px);margin-inline:auto;gap:0.45rem;padding:0.85rem 0 0.95rem}.hero h1{max-width:none}.landing-hero h1{max-width:18ch}.eyebrow{margin:0;color:var(--color-accent-strong);font-size:0.8rem;font-weight:800;letter-spacing:0;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1{max-width:11ch;margin-bottom:0;font-size:3rem;line-height:0.95;overflow-wrap:break-word}h2{margin-bottom:1rem;font-size:1.8rem;line-height:1.1}h3{margin-bottom:0.5rem;font-size:1.25rem;line-height:1.2}.lede{max-width:38rem;color:var(--color-muted);font-size:1.12rem}.decision-form,.meal-card,.empty-state,.picker-shell,.content-section{border:1px solid var(--color-line);border-radius:8px;background:var(--color-panel);box-shadow:var(--shadow-soft)}.decision-form{display:grid;gap:1rem;padding:1rem}.filter-grid{display:grid;gap:0.8rem}.filter-group{min-inline-size:0;margin:0;padding:0;border:0}label{display:grid;gap:0.35rem;color:var(--color-muted);font-size:0.9rem;font-weight:700}select,button{min-height:48px;border-radius:8px;font:inherit}select{width:100%;border:1px solid var(--color-line);padding:0.75rem;background:#fff;color:var(--color-ink)}select:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}main:focus{outline:3px solid var(--color-focus);outline-offset:0.5rem}.primary-action{border:0;padding:0.85rem 1.2rem;background:var(--color-accent);color:#fff;font-weight:800;cursor:pointer}.primary-action:hover{background:var(--color-accent-strong)}.recipe-link{display:inline-flex;align-items:center;min-height:44px;font-weight:800}.result-actions{display:flex;flex-wrap:wrap;gap:0.75rem;margin:1rem 0}.result-actions form{display:flex;flex-wrap:wrap;gap:0.5rem}.secondary-action{border:1px solid var(--color-line);padding:0.75rem 1rem;background:#fff;color:var(--color-accent-strong);font-weight:800;cursor:pointer}.secondary-action:hover{border-color:var(--color-accent);background:#edf8f6}.primary-action,.secondary-action{position:relative;isolation:isolate;overflow:hidden;transform:translateY(0) scale(1);transition:transform 120ms ease,box-shadow 160ms ease,background-color 160ms ease,border-color 160ms ease}.primary-action{box-shadow:0 5px 0 var(--color-accent-strong)}.secondary-action{box-shadow:0 4px 0 rgba(17,94,89,0.18)}.primary-action:hover,.secondary-action:hover{transform:translateY(-1px) scale(1.01)}.primary-action:active,.secondary-action:active,.decision-form.htmx-request .primary-action,.result-actions form.htmx-request .secondary-action{transform:translateY(3px) scale(0.98);box-shadow:0 1px 0 rgba(17,94,89,0.45)}.primary-action::after,.secondary-action::after{content:"";position:absolute;top:50%;left:50%;z-index:-1;width:150%;aspect-ratio:1;border-radius:999px;opacity:0;pointer-events:none;transform:translate(-50%,-50%) scale(0.08)}.primary-action::after{background:radial-gradient(circle,rgba(255,255,255,0.42) 0 24%,transparent 56%)}.secondary-action::after{background:radial-gradient(circle,rgba(15,118,110,0.18) 0 24%,transparent 58%)}.primary-action:active::after,.secondary-action:active::after,.decision-form.htmx-request .primary-action::after,.result-actions form.htmx-request .secondary-action::after{animation:button-ripple 340ms ease-out}.ad-slot{display:grid;min-height:90px;margin:1.5rem 0;place-items:center;border:1px dashed #aeb7c4;border-radius:8px;background:rgba(255,255,255,0.62);color:var(--color-muted);text-align:center;overflow:hidden;position:relative}.ad-placeholder,.adsbygoogle{grid-area:1 / 1}.ad-placeholder{position:relative;z-index:0}.adsbygoogle{display:block;z-index:1;width:100%;min-height:90px}.ad-placeholder span{font-size:0.78rem;font-weight:800;letter-spacing:0;text-transform:uppercase}.ad-placeholder small{display:block}.results-shell,.picker-shell,.content-section{margin:2rem 0}.meal-card,.empty-state,.picker-shell,.content-section{padding:1rem}.results-shell-featured{margin-top:1rem}.meal-card-primary{display:grid;gap:1rem;border-color:rgba(249,115,22,0.55);box-shadow:inset 0 5px 0 var(--color-warm),var(--shadow-soft)}.meal-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0.75rem;margin:0}.meal-meta div{padding:0.75rem;border-radius:8px;background:#eef4f8}.meal-meta dt{color:var(--color-muted);font-size:0.78rem;font-weight:800;text-transform:uppercase}.meal-meta dd{margin:0;font-weight:800}.tag-list{display:flex;flex-wrap:wrap;gap:0.5rem;margin:0;padding:0;list-style:none}.tag-list span,.tag-list li{border-radius:999px;background:var(--color-warm-soft);color:#9a3412;font-size:0.85rem;font-weight:800;padding:0.35rem 0.6rem}.content-grid,.topic-links{display:grid;gap:0.9rem}.content-grid article{padding:1rem 0;border-top:1px solid var(--color-line)}.content-grid article:first-child{padding-top:0;border-top:0}.topic-links{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.topic-links a{display:inline-flex;align-items:center;min-height:48px;padding:0.75rem 0.9rem;border:1px solid var(--color-line);border-radius:8px;background:#fff;font-weight:800;text-decoration:none}.topic-links a:hover{border-color:var(--color-accent);background:#edf8f6}.site-footer{padding:2rem 0;color:var(--color-muted)}.site-footer p{margin:0}.footer-links{display:flex;flex-wrap:wrap;gap:0.75rem;margin-bottom:1rem}.footer-links a{font-weight:800}@media (min-width:760px){.hero-inner{padding-block:1rem}h1{font-size:4.25rem}h2{font-size:2.4rem}.filter-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.decision-form{grid-template-columns:1fr auto;align-items:end}}@media (max-width:380px){h1{font-size:2.55rem}.site-nav{align-items:flex-start}}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;scroll-behavior:auto !important;transition-duration:0.01ms !important}}@media (prefers-reduced-motion:no-preference){.meal-card-primary{animation:meal-card-pop 220ms cubic-bezier(0.16,1,0.3,1);transform-origin:center top}}@media (forced-colors:active){select,button,.meal-card,.empty-state,.picker-shell,.content-section,.ad-slot,.topic-links a{border:1px solid ButtonText}select:focus-visible,button:focus-visible,a:focus-visible,main:focus{outline:3px solid Highlight}.primary-action,.secondary-action{box-shadow:none}.primary-action::after,.secondary-action::after{display:none}}@keyframes button-ripple{0%{opacity:0.58;transform:translate(-50%,-50%) scale(0.08)}100%{opacity:0;transform:translate(-50%,-50%) scale(1)}}@keyframes meal-card-pop{0%{opacity:0.82;transform:translateY(8px) scale(0.985)}70%{opacity:1;transform:translateY(-1px) scale(1.004)}100%{opacity:1;transform:translateY(0) scale(1)}}