@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;0,700;1,500&display=swap');
:root{--green:#284c3d;--ink:#253b30;--muted:#747a6e;--cream:#f8f7f1;--line:#e0e3d7}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}header,main,footer{max-width:1180px;margin:auto}header{height:104px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{text-decoration:none;color:var(--green);font:600 27px 'Playfair Display',Georgia,serif}.brand:first-letter{color:#a9b86d}.header-note{font-size:12px;color:var(--muted)}.hero{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:center;padding:58px 0 48px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;color:#78805f}h1{font:500 60px/1.13 'Playfair Display',Georgia,serif;letter-spacing:-1.5px;margin:22px 0}h1 em{color:#718048}p{color:var(--muted);line-height:1.7}.hero p{font-size:15px}.hero-note{margin-top:26px;font-size:12px}.hero-note span{color:#a4ad67;margin-right:8px}.hero-art{height:300px;position:relative;background:#dfe3ce;border-radius:140px 140px 18px 18px;overflow:hidden;transform:rotate(2deg)}.hero-art img{width:100%;height:100%;object-fit:cover}.photo-label{position:absolute;bottom:20px;left:24px;background:#fff9e7;padding:12px 18px;font-size:9px;letter-spacing:1.5px;transform:rotate(-4deg)}.search-panel{border:1px solid var(--line);border-radius:16px;background:#fff;padding:30px 36px;box-shadow:0 8px 30px #26382105}.panel-top{display:flex;justify-content:space-between;align-items:center}h2{font:500 27px 'Playfair Display',Georgia,serif;margin:0 0 18px}.text-button{background:none;border:0;color:#6b7754;font-size:12px;padding:8px 0}label[for]{display:block;font-size:11px;color:var(--muted);margin-bottom:10px}.input-row{display:flex;border:1px solid var(--line);border-radius:8px;padding:6px;background:#fcfcf9}.input-row input{border:0;background:transparent;padding:9px 12px;flex:1;min-width:0;outline:none}.input-row:focus-within{outline:2px solid #a6b486}.add{border:0;border-radius:5px;background:#eef1e5;color:var(--green);padding:8px 19px}.chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.chip{background:#eaf0e3;border:0;border-radius:30px;color:#47603a;padding:8px 13px;font-size:12px}.suggestions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:15px 0 24px;font-size:11px;color:var(--muted)}.suggestions button{border:1px solid var(--line);background:#fff;border-radius:20px;font-size:11px;padding:7px 12px;color:#727965}.search-bottom{border-top:1px solid #eff0e9;padding-top:22px;display:flex;align-items:center;justify-content:space-between;gap:15px}.toggle{display:flex;align-items:center;gap:7px;font-size:12px;color:#707767}input[type=checkbox]{accent-color:var(--green)}.primary{background:var(--green);color:white;border:0;border-radius:7px;padding:15px 25px;font-size:13px;min-width:185px}.primary span{margin-left:25px}.primary:disabled{opacity:.6;cursor:wait}#notice{font-size:12px;margin-bottom:0}.results{padding:48px 0 65px}.results-heading h2{margin:10px 0}.results-heading p{font-size:13px;margin-top:0}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:28px}.empty{grid-column:1/-1;border:1px dashed #d7ddc8;border-radius:12px;text-align:center;padding:35px 20px}.empty>span{font-size:36px;color:#9fae7b}.empty h3{font:500 23px 'Playfair Display',Georgia,serif}.empty p{font-size:13px}.card{border:1px solid var(--line);border-radius:12px;background:white;overflow:hidden;text-align:left;padding:0;color:var(--ink);transition:transform .2s}.card:hover{transform:translateY(-4px)}.card img{width:100%;height:210px;object-fit:cover;background:#e3e7d7}.card-content{padding:21px}.match{font-size:10px;color:#72814d;font-weight:700;letter-spacing:.5px}.card h3{font:500 23px 'Playfair Display',Georgia,serif;margin:12px 0}.card p{font-size:12px;margin:0}.card .view{display:block;margin-top:22px;font-size:12px}footer{border-top:1px solid var(--line);padding:25px 0;display:flex;justify-content:space-between;align-items:center}footer .brand{font-size:20px}footer>span:last-child{font-size:10px;color:var(--muted)}footer a{color:inherit}dialog{border:0;border-radius:15px;padding:35px;max-width:720px;width:calc(100% - 32px);max-height:85vh;color:var(--ink)}dialog::backdrop{background:#142b22b3}#close{position:sticky;top:0;float:right;background:#edf0e7;border:0;border-radius:50%;width:35px;height:35px;font-size:25px}dialog h2{margin-top:12px}dialog img{width:100%;height:260px;object-fit:cover;border-radius:9px}dialog li{padding:5px;font-size:14px}dialog p{white-space:pre-line;font-size:14px}dialog a{color:var(--green)}:focus-visible{outline:3px solid #b3bb75;outline-offset:3px}@media(max-width:800px){header,main,footer{margin-left:22px;margin-right:22px}.header-note{display:none}.hero{gap:25px}h1{font-size:43px}.hero-art{height:260px}.grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){header{height:80px}.hero{grid-template-columns:1fr;padding-top:35px;gap:26px}.hero-art{height:200px;border-radius:80px 80px 12px 12px}.hero p br{display:none}h1{font-size:43px}.search-panel{padding:23px 20px}.search-bottom{align-items:stretch;flex-direction:column}.grid{grid-template-columns:1fr}footer{gap:25px;align-items:flex-start}.results{padding-top:35px}}
.meal-filter{border-top:1px solid var(--line);padding:20px 0}.meal-filter label{font-size:13px;font-weight:600;color:var(--ink)}.meal-filter select{width:100%;max-width:280px;border:1px solid var(--line);border-radius:7px;background:var(--cream);color:var(--ink);font:inherit;padding:11px 13px}.meal-filter p{font-size:11px;margin:9px 0 0}
.dish-panel{margin-top:28px}.dish-panel h2{margin-top:12px}.dish-panel>p{font-size:13px}.dish-panel .card{display:block;text-decoration:none}.dish-panel .grid:empty{display:none}.dish-panel #dish-more{margin-top:22px}.publisher-art{height:105px;background:#e8eddf;display:flex;align-items:center;justify-content:center;font:500 25px Georgia,serif;color:var(--green)}
.recipe-steps{padding-left:24px}.recipe-steps li{padding:7px 0 7px 7px;line-height:1.7}.recipe-credit{border-top:1px solid var(--line);padding-top:16px;font-size:11px!important}
[hidden]{display:none!important}.library-tabs{display:flex;gap:8px;margin-top:26px;border-bottom:1px solid var(--line);padding-bottom:12px}.library-tabs button{border:0;border-radius:7px;padding:12px 18px;background:transparent;color:var(--green);font:inherit}.library-tabs [aria-selected="true"]{background:var(--green);color:white}#library-status{font-size:13px;min-height:20px}#saved-panel{padding:28px 0 60px}#saved-panel h1{font-size:42px}.recipe-card{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:white;display:flex;flex-direction:column}.recipe-card .card{width:100%;border:0;border-radius:0;flex:1}.recipe-card .card:hover{transform:none;background:#fafbf5}.card-actions,.recipe-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 20px;border-top:1px solid var(--line)}.recipe-toolbar{border-top:0;padding:8px 0 18px;margin-right:40px}.icon-button{border:1px solid var(--line);background:white;border-radius:7px;color:var(--green);min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.delete-button{background:transparent;border:0;color:#9c4434;padding:12px 0;font:inherit;font-size:12px}.card-actions button:disabled{cursor:default;opacity:.7}#print-area{display:none}
@media print{body.printing-recipe>*{display:none!important}body.printing-recipe>#print-area{display:block!important;color:#000;background:white;font:12pt/1.5 Georgia,serif}body.printing-recipe dialog{display:none!important}dialog::backdrop{display:none!important}#print-area h2{font-size:22pt}#print-area h3{break-after:avoid}#print-area li{break-inside:avoid}#print-area .recipe-credit{font-size:9pt}body{background:white!important}@page{margin:18mm}}
.cuisine-panel{margin-top:28px}.cuisine-panel h2{margin-top:12px}.cuisine-panel p{font-size:13px}.cuisine-controls{display:flex;flex-wrap:wrap;gap:18px;margin-top:20px}.cuisine-controls label{display:flex;flex-direction:column;gap:8px;flex:1;min-width:180px;font-size:12px}.cuisine-controls select,.cuisine-controls input{font:inherit;padding:12px;border:1px solid var(--line);border-radius:7px;background:var(--cream);color:var(--ink)}#cuisine-more{margin-top:24px}.meal-filter select{margin-bottom:12px}
.collapse-recipes{border:1px solid var(--line);border-radius:8px;background:#edf1e5;color:var(--green);font:inherit;font-size:13px;font-weight:600;padding:12px 18px;min-height:44px;margin:8px 0}#collapse-kitchen-bottom{display:block;margin-top:24px}#kitchen-results{scroll-margin-top:20px}
.list-bottom{display:block;margin-top:24px}footer>span:last-child{max-width:65%;text-align:right}
.community-link{padding:12px 18px;color:var(--green);text-decoration:none;font-weight:600}.library-tabs{flex-wrap:wrap}#community-panel{padding:35px 0 60px}#community-panel h1{font-size:46px}.community-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:38px}.community-heading h2{margin:0}#community-form textarea{display:block;width:100%;padding:12px;font:inherit;border:1px solid var(--line);border-radius:8px;margin:10px 0 20px;resize:vertical}#community-form fieldset{border:1px solid var(--line);border-radius:8px;margin:20px 0;padding:14px;display:flex;flex-wrap:wrap;gap:15px}#community-form legend{font-size:13px}#community-form fieldset label{font-size:13px}#download-recipe-template{display:inline-block;margin:15px;color:var(--green);font-size:12px}#community-preview-panel{border-top:1px solid var(--line);padding-top:24px;margin-top:20px}#community-grid .delete-button{margin:0 20px 12px}
.dish-search-wrap{position:relative}.dish-suggestions{position:absolute;top:100%;left:0;right:0;z-index:20;max-height:320px;overflow-y:auto;background:#fff;border:1px solid #c9c5ba;border-radius:12px;box-shadow:0 8px 25px #0002;margin-top:4px}.dish-suggestions [role="option"]{padding:12px 16px;cursor:pointer;color:#263d32}.dish-suggestions [role="option"]:hover,.dish-suggestions [aria-selected="true"]{background:#e7efe3}.photo-placeholder{min-height:160px;display:grid;place-items:center;color:#52634e;background:#edf0e8;font-size:14px}



.recipe-photo{margin:0 0 20px}.recipe-photo img{width:100%;max-height:320px;object-fit:contain;border-radius:12px}.recipe-photo figcaption{font-size:11px;color:#596256;margin-top:8px}.recipe-photo a{color:inherit}@media print{.recipe-photo{display:none!important}}
