@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&family=Playfair+Display:ital,wght@0,600;0,700;1,600;1,700&display=swap');
:root{--ink:#20352d;--soft:#65746b;--cream:#f8f3e9;--paper:#fffdf8;--orange:#ef6b3d;--orange-dark:#d95328;--sage:#dce6d7;--line:#e7e3da;--shadow:0 12px 35px rgba(36,55,45,.09)}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:Manrope,Arial,sans-serif;font-size:15px}.app-shell{max-width:680px;margin:auto;padding:24px 18px 120px}.hero{position:relative;display:grid;grid-template-columns:auto 1fr;gap:13px;padding:21px 20px 25px;background:var(--sage);border-radius:28px;overflow:hidden}.hero:after{content:'✳';position:absolute;right:-9px;bottom:-36px;color:#c0d2b9;font-size:155px;line-height:1}.hero-mark{width:38px;height:38px;display:grid;place-items:center;background:var(--orange);border-radius:50%;color:#fff;font-size:20px}.eyebrow{font:500 10px 'DM Mono',monospace;letter-spacing:.13em;color:var(--orange);margin:0 0 8px}.hero h1{font:700 34px/1.02 'Playfair Display',serif;letter-spacing:-.045em;margin:0}.hero h1 em{color:var(--orange)}.hero-copy{grid-column:1/-1;max-width:310px;color:#4a5b51;line-height:1.48;margin:7px 0 0;position:relative;z-index:1}.selection-summary{display:flex;justify-content:space-between;align-items:center;margin:28px 3px 15px}.selection-summary div{display:flex;align-items:baseline;gap:8px}.selection-summary span{font:700 25px 'Playfair Display',serif}.selection-summary small{color:var(--soft);font-size:12px}.text-button{background:none;border:0;color:var(--orange-dark);font:600 12px Manrope;cursor:pointer}.ingredient-group{background:var(--paper);border:1px solid var(--line);border-radius:18px;margin:9px 0;overflow:hidden}.category-head{width:100%;padding:16px 17px;background:none;border:0;color:var(--ink);font:700 14px Manrope;display:flex;justify-content:space-between;cursor:pointer;text-align:left}.category-head i{font-style:normal;color:var(--orange);transition:.2s}.ingredient-grid{padding:0 13px 15px;display:flex;flex-wrap:wrap;gap:8px}.ingredient{padding:9px 12px;border:1px solid #e2e4dd;background:#fbfaf5;border-radius:999px;color:#405047;font:500 12px Manrope;cursor:pointer;transition:.18s}.ingredient.is-selected{color:#fff;background:var(--ink);border-color:var(--ink);box-shadow:0 3px 9px rgba(32,53,45,.18)}.is-collapsed .ingredient-grid{display:none}.is-collapsed .category-head i{transform:rotate(-90deg)}.cook-button{position:fixed;z-index:5;bottom:20px;left:50%;transform:translateX(-50%);width:min(620px,calc(100vw - 36px));padding:17px 22px;border:0;border-radius:17px;background:var(--orange);color:#fff;font:700 14px Manrope;display:flex;justify-content:space-between;align-items:center;box-shadow:0 13px 28px rgba(216,83,40,.35);cursor:pointer;transition:.18s}.cook-button:disabled{background:#b8b7af;box-shadow:none;cursor:not-allowed}.cook-button b{font-size:22px;line-height:10px}.result{padding-top:36px}.result-heading h2{font:700 28px/1 'Playfair Display',serif;letter-spacing:-.035em;margin:0 0 16px}.recipe-card{background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:21px 18px;margin:14px 0;box-shadow:var(--shadow)}.recipe-top{display:flex;justify-content:space-between;gap:10px}.recipe-kicker{font:500 10px 'DM Mono';letter-spacing:.1em;color:var(--orange)}.recipe-card h3{font:700 23px/1.08 'Playfair Display',serif;margin:5px 0}.time-badge{white-space:nowrap;background:var(--sage);border-radius:10px;padding:8px 9px;font:600 11px Manrope}.subtitle{line-height:1.45;color:var(--soft);margin:12px 0 8px}.meta{font:600 11px 'DM Mono';color:var(--orange-dark);margin-bottom:15px}details{border-top:1px solid var(--line);padding:13px 0}summary{cursor:pointer;list-style:none;font-weight:700;font-size:13px;display:flex;justify-content:space-between}summary::-webkit-details-marker{display:none}.chevron{color:var(--orange)}ul,ol{padding-left:20px;margin:12px 0 0}li{color:#46554d;font-size:13px;line-height:1.48;margin:6px 0}.missing{margin:3px 0 12px;padding:11px 12px;background:#fff0e8;border-radius:11px;font-size:12px;color:#70402d;display:grid;gap:4px}.tip{margin:5px 0 0;color:#617165;font-size:12px;font-style:italic;line-height:1.45}.loading,.error{padding:25px;color:var(--soft);text-align:center}.spinner{width:17px;height:17px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(min-width:700px){body{padding:18px}.app-shell{padding-top:20px}.hero h1{font-size:39px}}@media(prefers-color-scheme:dark){:root[data-theme="dark"]{--ink:#edf1e9;--soft:#b7c0b7;--cream:#1d2924;--paper:#26352e;--sage:#35493f;--line:#42554b}.ingredient{background:#304037;color:#dbe4dc;border-color:#4b5c52}.missing{background:#52362b;color:#ffd5c3}}
