:root{font-family:Arial,sans-serif;color:#233b32;background:#fafaf7;font-size:16px}*{box-sizing:border-box}body{margin:0}header{max-width:1200px;margin:auto;padding:27px 40px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dfe4dc}.brand{text-decoration:none;font-weight:800;font-size:30px;color:#1b4437;letter-spacing:-1.5px}.brand span{display:block;font-size:10px;letter-spacing:2px;margin-top:3px}.header-label{font-size:14px;color:#647165}main{max-width:1120px;margin:auto}.intro{display:grid;grid-template-columns:1.1fr 1fr;gap:45px;padding:45px 0 38px;align-items:center}.eyebrow{font-size:12px;font-weight:700;letter-spacing:2px;color:#657447}h1,h2{font-family:Georgia,serif;font-weight:400}h1{font-size:54px;line-height:1.07;letter-spacing:-2px;margin:15px 0}p{line-height:1.6}.intro p:not(.eyebrow){color:#627063}.food-image{height:245px;border-radius:100px 8px 8px 8px;background:#e6eadc;background-size:cover;background-position:center}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:35px;align-items:start}form{background:white;border:1px solid #e0e4db;border-radius:12px;padding:32px}.section-top h2{font-size:28px;margin:0 0 8px}.section-top p{margin:0 0 30px;color:#6b756b}fieldset{border:0;padding:0;margin:0 0 28px;min-width:0}legend{font-weight:700;font-size:17px;margin-bottom:10px}label{display:block;font-size:14px;font-weight:600;line-height:1.5}.hint{font-size:14px;color:#6c7568;margin:0 0 14px}.chips{display:flex;gap:8px;flex-wrap:wrap}.chip{position:relative}.chip input,.style input{position:absolute;opacity:0;width:1px;height:1px}.chip span{display:block;padding:10px 15px;border:1px solid #d6ddd2;border-radius:25px;font-weight:400;cursor:pointer}.chip input:checked+span{background:#1b4437;color:white;border-color:#1b4437}input:focus-visible+span{outline:3px solid #b89442;outline-offset:3px}.sub-label{margin-top:17px}input:not([type=checkbox]):not([type=radio]),select,textarea{width:100%;margin-top:7px;padding:12px;border:1px solid #d5ddd2;border-radius:6px;background:#fff;font:inherit;font-size:16px;color:#233b32}textarea{resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid #688e68;outline-offset:2px}.styles{display:grid;grid-template-columns:1fr 1fr;gap:9px}.style span{display:block;border:1px solid #d5ddd2;border-radius:8px;padding:14px;cursor:pointer;height:100%;font-size:15px}.style small{display:block;font-size:13px;font-weight:400;color:#647063;margin-top:5px}.style input:checked+span{border:2px solid #1b4437;padding:13px;background:#f1f5ed}.three-col{display:grid;grid-template-columns:1fr 1fr 1.7fr;gap:14px;margin-bottom:28px}.two-col{display:grid;grid-template-columns:1fr 1.7fr;gap:15px;margin-top:18px}.optional{font-weight:400;color:#7e857b;font-size:12px}.primary{background:#1b4437;color:#fff;border:0;border-radius:7px;padding:17px 20px;font-size:16px;font-weight:600;width:100%;display:flex;justify-content:space-between;cursor:pointer}.primary:hover{background:#2d5b46}.prototype-note{font-size:13px;color:#71796b;margin-bottom:0}.summary{background:#edf1e6;padding:27px;border-radius:12px;position:sticky;top:20px}.summary h2{font-size:31px;margin:14px 0 25px}.summary dl{margin:0}.summary dt{font-size:12px;color:#697361;margin:18px 0 5px}.summary dd{margin:0;font-size:16px;line-height:1.5}.divider{border-top:1px solid #cdd5c3;margin:25px 0}.summary .hint{margin:0}#review{background:white;border:1px solid #cbd6c3;border-radius:12px;margin-top:24px;padding:32px}#review h2{font-size:28px}.notice{background:#f3f3e8;padding:16px;font-size:14px}#edit{padding:12px 20px;background:white;border:1px solid #1b4437;border-radius:6px;color:#1b4437;font-size:16px;cursor:pointer}footer{padding:40px;text-align:center;color:#74806e;font-size:13px}button:focus-visible{outline:3px solid #b89442;outline-offset:3px}@media(max-width:1180px){main{padding:0 25px}}@media(max-width:760px){header{padding:20px 25px}.header-label{display:none}.intro{gap:20px;padding:25px 0;grid-template-columns:1.4fr 1fr}h1{font-size:35px;letter-spacing:-1px}.intro p:not(.eyebrow){font-size:14px}.food-image{height:190px;border-radius:65px 6px 6px}.workspace{grid-template-columns:1fr}aside{grid-row:2}.summary h2 br{display:none}.summary dl{display:flex;gap:20px;flex-wrap:wrap}.summary .divider,.summary>.hint{display:none}form{padding:23px}.three-col{grid-template-columns:1fr 1fr}.three-col label:last-child{grid-column:1/-1}.two-col{grid-template-columns:1fr}.styles{grid-template-columns:1fr 1fr}}@media(max-width:420px){main{padding:0 14px}.intro{grid-template-columns:1fr}.food-image{display:none}.styles{grid-template-columns:1fr}.intro h1 br{display:none}}

.food-image{background-image:url(ingredients-market.jpg)}
.logo-brand img{display:block;width:90px;height:90px;object-fit:contain}.mode-note{margin-top:14px}.check-label{display:flex;align-items:center;gap:10px;font-size:16px;margin:10px 0}.check-label input{width:20px;height:20px;accent-color:#1b4437}.meal-choices{display:grid;grid-template-columns:1fr 1fr;gap:12px}.meal-choice{border:1px solid #d5ddd2;padding:12px;border-radius:8px;display:flex;align-items:center;justify-content:space-between;gap:14px}.meal-choice select{width:70px}.macro-options{margin-bottom:28px}.macro-options summary{cursor:pointer;font-weight:bold;margin-bottom:14px}.macro-inputs{display:grid;grid-template-columns:1fr 1fr;gap:12px}.plan-output{white-space:normal!important}.recipe-card{border-top:2px solid #d5ddd2;padding:22px 0;margin-top:24px}.recipe-meta{font-weight:bold}.macros{padding:12px;background:#edf1e6;font-size:14px}.source-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin:16px 0}.source-group{padding:14px;border:1px solid #d5ddd2;border-radius:8px}.source-comfoo{background:#eaf2e9;border-left:4px solid #1b4437}.source-outside{background:#fff4e4;border-left:4px solid #ad7021}.source-pantry{background:#f2f2ef}.source-group h4{letter-spacing:0!important;font-size:16px!important;text-transform:none!important;margin:0 0 10px!important}.budget-warning{padding:14px;background:#fff0dc;border-left:4px solid #a85d18}.plan-overview,.shopping-list,.addons{margin:20px 0}.product-link{overflow-wrap:anywhere}.recipe-card .eyebrow{font-size:14px}#vegan-note{margin-top:12px}@media(max-width:600px){.meal-choices{grid-template-columns:1fr}.source-groups{grid-template-columns:1fr}.macro-inputs{grid-template-columns:1fr 1fr}}@media print{#pdf-hint{display:none!important}.source-groups{display:block}.source-group{background:white!important;border:0;padding:4px 0}.recipe-card{break-before:auto}.recipe-meta,.macros{break-after:avoid}.product-link-hint{display:none!important}}
.product-link{color:#1b4437;text-decoration:underline;text-underline-offset:3px}.product-link:hover{color:#657447}.product-link:focus-visible{outline:2px solid #1b4437;outline-offset:3px}.product-link-hint{font-size:14px;color:#53634c;padding-bottom:12px;border-bottom:1px solid #d5ddd2}
@media print {
  .product-link-hint{display:none!important}#plan-output .product-link{color:#000;text-decoration:none}
  @page { margin: 16mm; }
  html,body { background:#fff !important;color:#000 !important;font-size:11pt; }
  header,.intro,.workspace,footer,.review-actions,#review>.eyebrow,#review>h2,#review-text,#review>.notice { display:none !important; }
  main { max-width:none;margin:0;padding:0; }
  #review { border:0;border-radius:0;margin:0;padding:0;outline:0; }
  #review::before { content:'ComFoo · Your recipes & shopping lists';display:block;font:18pt Georgia,serif;margin-bottom:18pt; }
  #plan-output { white-space:normal;background:#fff;border:0;padding:0;margin:0;font-size:11pt;line-height:1.45;overflow:visible; }
  #plan-output h3,#plan-output h4 { color:#000;break-after:avoid;page-break-after:avoid; }
  #plan-output h3 { font-size:17pt;margin-top:18pt; }
  #plan-output h4 { font-size:11pt; }
  #plan-output p,#plan-output li { orphans:3;widows:3; }
  #plan-output li { break-inside:avoid;page-break-inside:avoid; }
  #review[aria-busy="true"] { display:none !important; }
  [hidden] { display:none !important; }
}
.review-actions button:disabled,button:disabled{opacity:.6;cursor:wait}#review[aria-busy="true"] .notice:before{content:'';display:inline-block;width:16px;height:16px;margin-right:10px;border:2px solid #ccd6cc;border-top-color:#1b4437;border-radius:50%;animation:working 1s linear infinite}@keyframes working{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){#review[aria-busy="true"] .notice:before{animation:none}}

.plan-output{white-space:pre-wrap;background:#fbfcf8;border:1px solid #d5ddd2;border-radius:7px;padding:18px;line-height:1.6;font-size:15px;margin-top:15px}.plan-output h3{font-family:Georgia,serif;font-weight:400}

.plan-output h3{font-size:24px;color:#1b4437;margin:24px 0 8px}.plan-output h4{font-family:Arial,sans-serif;color:#657447;font-size:13px;letter-spacing:1px;text-transform:uppercase;margin:20px 0 7px}.plan-output p{margin:7px 0}.plan-output ul,.plan-output ol{margin:6px 0 14px;padding-left:24px}.plan-output li{margin:5px 0}
.review-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:14px}.review-actions button{padding:12px 20px;background:white;border:1px solid #1b4437;border-radius:6px;color:#1b4437;font-size:16px;cursor:pointer}.review-actions #new-ideas{background:#1b4437;color:#fff}.review-actions button:hover{background:#edf1e6}.review-actions #new-ideas:hover{background:#2d5b46}
