:root{--ink:#203128;--muted:#65736b;--paper:#f8f4ea;--card:#fffdf7;--green:#264f3b;--lime:#dce8a4;--line:#d8ddd4;--rust:#b45a3c;--shadow:0 18px 55px rgba(39,55,45,.09);font-family:Segoe UI,Arial,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a{transition:.18s ease}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #96b85d;outline-offset:3px}.page{width:min(1180px,100% - 48px);margin-inline:auto}.topbar{height:82px;border-bottom:1px solid rgba(32,49,40,.12);display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,(100vw - 1180px) / 2);background:#f8f4eaeb;position:sticky;top:0;z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.brand{display:flex;align-items:center;gap:10px;font-family:Georgia,serif;font-size:25px}.brand-mark{display:grid;place-items:center;background:var(--green);color:#fff;width:38px;height:38px;border-radius:50%;font-size:20px}.topbar nav{display:flex;gap:36px;align-items:center;font-size:14px;font-weight:600}.topbar nav a{padding:28px 0;border-bottom:2px solid transparent}.topbar nav a.active{border-color:var(--green)}.count{display:inline-grid;place-items:center;min-width:22px;height:22px;border-radius:12px;background:var(--lime);font-size:12px}.hero{min-height:650px;padding:82px 0 90px;display:grid;grid-template-columns:1fr minmax(430px,510px);gap:9%;align-items:center}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:700;color:#55705e}.hero h1,.results h1,.favorites h1,.detail h1,.state h1{font:400 clamp(48px,6.2vw,86px)/1.06 Georgia,serif;margin:18px 0}.hero h1 em{color:var(--rust);font-style:italic}.lead{font-size:18px;line-height:1.75;color:var(--muted);max-width:570px}.pantry-panel{background:var(--card);padding:36px 38px;border:1px solid rgba(32,49,40,.09);box-shadow:var(--shadow);position:relative}.step{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--rust);margin-bottom:30px}.pantry-panel label{display:block;font-family:Georgia,serif;font-size:22px;margin-bottom:14px}.search-wrap{position:relative}.search-wrap input{width:100%;height:58px;border:0;border-bottom:2px solid var(--green);background:#f1efe7;padding:0 50px 0 17px}.search-wrap>span{position:absolute;right:18px;top:13px;font-size:27px}.suggestions{list-style:none;margin:0;padding:0;position:absolute;background:#fff;z-index:5;width:calc(100% - 76px);box-shadow:var(--shadow);border:1px solid var(--line)}.suggestions button{display:flex;justify-content:space-between;width:100%;padding:14px 17px;border:0;border-bottom:1px solid var(--line);background:#fff;text-align:left;cursor:pointer}.suggestions button:hover{background:#f2f5e8}.suggestions small{color:var(--muted)}.hint,.field-error,.empty-hint{font-size:13px;color:var(--muted)}.field-error{color:#9e3d2b}.selected{min-height:90px;padding:22px 0;display:flex;flex-wrap:wrap;align-content:flex-start;gap:8px}.chip{background:#e8ecdf;border:1px solid #d5dcc9;padding:8px 8px 8px 13px;border-radius:22px;font-size:13px}.chip button{border:0;background:transparent;font-size:18px;cursor:pointer;color:var(--muted)}.panel-actions{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:22px}.button,.outline-button{display:inline-flex;align-items:center;justify-content:center;gap:25px;border:1px solid var(--green);background:var(--green);color:#fff;min-height:50px;padding:0 24px;font-weight:600;cursor:pointer}.button:hover{background:#163928}.button:disabled,.text-button:disabled{opacity:.4;cursor:not-allowed}.outline-button{background:transparent;color:var(--green)}.outline-button:hover{background:var(--green);color:#fff}.text-button{border:0;background:transparent;text-decoration:underline;color:var(--muted);cursor:pointer}.how{background:var(--green);color:#fff;padding:70px max(24px,(100vw - 1180px) / 2)}.how .eyebrow{color:var(--lime)}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:70px}.steps article{border-top:1px solid rgba(255,255,255,.25);padding-top:22px}.steps strong{color:var(--lime)}.steps h2{font:24px Georgia,serif}.steps p{color:#c6d0ca;line-height:1.7;font-size:14px}.results,.favorites{padding:72px 0 100px}.results-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:44px}.results-head h1{font-size:52px;margin:10px 0}.results-head p{color:var(--muted)}.filters{display:flex;gap:18px;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:35px}.filters label{font-size:11px;text-transform:uppercase;letter-spacing:.1em;font-weight:700}.filters select{margin-left:12px;border:0;background:transparent;color:var(--ink);font-weight:600;padding:8px}.recipe-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.recipe-card{background:var(--card);border:1px solid rgba(32,49,40,.1);height:100%;box-shadow:0 8px 26px #2a392f0d}.card-image{height:240px;display:block;position:relative;background:#dde3d8;overflow:hidden}.card-image img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.recipe-card:hover img{transform:scale(1.035)}.match{position:absolute;bottom:14px;left:14px;background:#fff;padding:7px 10px;font-size:12px;font-weight:700}.match.perfect{background:var(--lime)}.card-body{padding:20px}.card-meta{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.1em}.icon-button{border:0;background:transparent;font-size:26px;color:var(--rust);cursor:pointer}.card-body h2{font:24px/1.25 Georgia,serif;margin:12px 0;min-height:60px}.counts,.missing,.ready{font-size:13px;color:var(--muted)}.ready{color:#3f704c;font-weight:600}.pagination{display:flex;justify-content:center;gap:24px;align-items:center;margin-top:45px}.pagination button{border:0;background:transparent;font-weight:600;cursor:pointer}.state{text-align:center;padding:90px 20px;max-width:630px;margin:auto}.state h2{font:34px Georgia,serif}.state p{color:var(--muted);line-height:1.7;margin-bottom:28px}.state-icon{font-size:50px;color:var(--rust)}.skeleton{height:380px;background:linear-gradient(100deg,#e7e5dc 20%,#f6f3ea,#e7e5dc 60%);background-size:200% 100%;animation:shine 1.2s infinite}@keyframes shine{to{background-position-x:-200%}}.detail{padding:45px 0 100px}.back{display:inline-block;margin-bottom:30px;font-size:13px;text-decoration:underline}.detail-hero{display:grid;grid-template-columns:1fr 1fr;min-height:500px;background:var(--green);color:#fff}.detail-title{padding:65px;display:flex;align-items:flex-start;justify-content:center;flex-direction:column}.detail-title .eyebrow{color:var(--lime)}.detail-title h1{font-size:58px}.detail-title .outline-button{border-color:#fff;color:#fff}.detail-title .outline-button:hover{background:#fff;color:var(--green)}.translation-note{background:#f2d9b4;color:#5a3925;padding:8px 12px;font-size:12px}.detail-hero img{width:100%;height:100%;object-fit:cover}.detail-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:100px;padding-top:70px}.detail-grid h2{font:34px Georgia,serif}.ingredients{list-style:none;padding:0}.ingredients li{display:grid;grid-template-columns:32px 1fr auto;gap:10px;padding:15px 0;border-bottom:1px solid var(--line);color:#784f43}.ingredients li.available{color:var(--ink)}.ingredients small{display:block;color:var(--muted);font-weight:400;margin-top:4px}.status{width:23px;height:23px;display:grid;place-items:center;border:1px solid currentColor;border-radius:50%}.instruction{display:grid;grid-template-columns:38px 1fr;gap:18px;border-top:1px solid var(--line);padding:18px 0}.instruction span{color:var(--rust);font-weight:700;font-size:12px}.instruction p{margin:0;line-height:1.75;color:#45564d}.source{font-size:12px;color:var(--muted);margin-top:30px}.source a{text-decoration:underline}footer{border-top:1px solid var(--line);padding:28px max(24px,(100vw - 1180px) / 2);display:flex;justify-content:space-between;color:var(--muted);font-size:12px}@media(max-width:900px){.hero{grid-template-columns:1fr;padding-top:55px}.hero-copy{text-align:center}.lead{margin-inline:auto}.recipe-grid{grid-template-columns:repeat(2,1fr)}.detail-hero,.detail-grid{grid-template-columns:1fr}.detail-hero img{height:380px;grid-row:1}.detail-grid{gap:50px}.steps{gap:25px}}@media(max-width:600px){.page{width:min(100% - 28px,1180px)}.topbar{height:67px;padding-inline:14px}.topbar nav{gap:16px}.topbar nav a{padding:21px 0;font-size:12px}.brand>span:last-child{display:none}.hero{padding:45px 0 60px;gap:35px}.hero h1{font-size:47px}.lead{font-size:15px}.pantry-panel{padding:25px 20px}.suggestions{width:calc(100% - 40px)}.panel-actions{align-items:stretch;flex-direction:column-reverse;gap:18px}.button{width:100%}.how{padding:55px 24px}.steps{grid-template-columns:1fr;gap:30px}.results,.favorites{padding-top:45px}.results-head{align-items:flex-start;gap:22px;flex-direction:column}.results-head h1{font-size:40px}.filters{align-items:stretch;flex-direction:column}.filters label{display:flex;justify-content:space-between}.recipe-grid{grid-template-columns:1fr}.card-image{height:225px}.detail{width:100%;padding-top:20px}.detail>.back{margin-left:14px}.detail-title{padding:35px 25px}.detail-title h1{font-size:42px}.detail-hero img{height:285px}.detail-grid{padding:45px 20px}.ingredients li{grid-template-columns:30px 1fr auto}footer{flex-direction:column;gap:8px}}
