@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;600;700;800&display=swap');
:root{--yellow:#f6df35;--bg:#101010;--surface:#191919;--line:#343434;--muted:#b4b4af;--white:#f7f6ef;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--white);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.55}header,main,footer{max-width:1260px;margin:auto}header{height:100px;display:flex;align-items:center;justify-content:space-between;padding:0 38px;border-bottom:1px solid var(--line)}.brand{color:var(--yellow);font-family:Manrope,Arial,sans-serif;font-weight:800;font-size:34px;line-height:1;text-decoration:none;display:flex;align-items:center;gap:18px}.brand span{color:var(--white);font-size:10px;letter-spacing:2px;max-width:130px;line-height:1.5}.header-note,.eyebrow{font-size:11px;font-weight:700;letter-spacing:2px}.header-note{color:var(--muted)}main{padding:0 38px}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:60px;align-items:center;padding:65px 0 70px}.eyebrow{color:var(--yellow)}h1,h2,h3{font-family:Manrope,Arial,sans-serif;line-height:1.12;letter-spacing:-1.5px}h1{font-size:clamp(38px,4.5vw,61px);margin:22px 0}h1 em{color:var(--yellow);font-style:normal}h2{font-size:31px;margin:12px 0 16px}h3{font-size:21px;letter-spacing:-.5px}p{color:var(--muted);margin:10px 0 24px}.hero-copy>p{max-width:460px}.hero-image{position:relative;aspect-ratio:1/1;border-radius:24px;overflow:hidden}.hero-image img{width:100%;height:100%;object-fit:cover}.image-label{position:absolute;inset:auto 0 0;background:linear-gradient(transparent,#000e);padding:55px 25px 25px;font-weight:700;letter-spacing:1px;font-size:14px}.image-label small{display:block;font-size:10px;color:#ddd;letter-spacing:0;margin-top:8px}.button,.secondary,button,a.text-link{cursor:pointer;font-family:inherit;font-weight:700}.button{border:0;display:inline-flex;align-items:center;justify-content:center;gap:28px;border-radius:9px;background:var(--yellow);color:#111;padding:15px 22px;font-size:15px;text-decoration:none}.button:hover{background:#ffe95b}.secondary{background:#252525;border:1px solid #484848;color:var(--white);border-radius:8px;padding:11px 15px;font-size:13px}.secondary:hover{border-color:var(--yellow)}.text-link{border:0;background:transparent;color:var(--yellow);font-size:13px;padding:6px;text-decoration:underline}.small{font-size:12px;line-height:1.65;color:var(--muted)}.hero .small{margin-top:15px}#workspace{scroll-margin-top:20px}.tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:22px}.tabs button{display:flex;align-items:center;gap:12px;background:transparent;color:var(--muted);border:0;border-bottom:2px solid var(--line);padding:17px 10px;text-align:left;font-size:12px}.tabs button span{font-size:15px}.tabs button.active{color:var(--yellow);border-color:var(--yellow)}.panel{border:1px solid var(--line);background:var(--surface);border-radius:16px;padding:32px}.panel[hidden]{display:none}.section-top{display:flex;justify-content:space-between;align-items:flex-start;gap:28px}.section-top>div{max-width:720px}.section-top>button{max-width:240px}.macro-inputs{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:30px 0}label{font-size:13px;font-weight:600;display:block}label small{font-size:11px;color:var(--muted);display:block;margin-top:8px}input,select{width:100%;background:#101010;border:1px solid #444;border-radius:8px;color:var(--white);font-family:inherit;font-size:16px;padding:12px;margin-top:8px;min-width:0}.macro-inputs input{font-size:28px;font-weight:700}input:focus,select:focus{outline:2px solid var(--yellow);outline-offset:2px}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--yellow);outline-offset:4px}input[type=checkbox]{width:17px;height:17px;accent-color:var(--yellow);margin:0;flex-shrink:0}.callout{padding:22px;border-left:3px solid var(--yellow);background:#222;margin:24px 0}.callout p{margin:7px 0 0;font-size:14px}.toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:22px 0}.food-group h3{font-size:16px;letter-spacing:0;margin:24px 0 12px}.chips{display:flex;flex-wrap:wrap;gap:9px}.chip{display:flex;gap:9px;align-items:center;padding:10px 13px;border:1px solid #3b3b3b;background:#222;border-radius:7px;font-weight:400;cursor:pointer}.chip:has(input:checked){border-color:#80772b;background:#2d2a1d}.allergy{margin:28px 0;padding:18px;background:#222;border-radius:8px}summary{cursor:pointer;color:var(--white);font-size:14px;font-weight:600}details p{font-size:13px;margin:15px 0}.schedule{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:20px 0}#slotTabs{display:flex;gap:10px;flex-wrap:wrap}.slot{padding:10px 17px;border:1px solid #444;border-radius:8px;background:#222;color:var(--muted);text-align:left}.slot span{display:block;font-size:11px;margin-top:4px}.slot.active{color:var(--yellow);border-color:var(--yellow)}.controls{display:grid;grid-template-columns:1fr 1fr 1.5fr auto;gap:16px;align-items:end}.totals{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:25px 0}.total{padding:16px;background:#101010;border:1px solid #343434;border-radius:8px}.total strong{font-size:25px;display:block}.total small{color:var(--muted);display:block;font-size:11px}.bar{height:4px;background:#333;margin:13px 0 9px;overflow:hidden}.bar span{display:block;height:100%;background:var(--yellow)}.chosen{padding:18px;border:1px solid #6b6424;border-radius:8px;background:#27251a;display:flex;align-items:center;justify-content:space-between;gap:20px}.chosen p{margin:3px 0;font-size:13px}.chosen-actions{display:flex;gap:10px;align-items:center}.chosen-actions select{margin:0;max-width:120px}.recipe-toolbar{display:grid;grid-template-columns:2fr 1fr 1fr;gap:16px;margin-top:32px}.recipe-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:28px}.recipe-card{border:1px solid #383838;border-radius:13px;overflow:hidden;background:#121212;display:flex;flex-direction:column}.food-photo{height:190px;position:relative}.food-photo img{height:100%;width:100%;object-fit:cover}.photo-note{position:absolute;left:9px;bottom:8px;background:#000b;color:#ddd;font-size:9px;padding:3px 7px;border-radius:4px}.no-photo{background:radial-gradient(ellipse at top right,#3f3a22,#171717);padding:24px;display:flex;flex-direction:column;justify-content:center}.no-photo b{font-size:24px;color:var(--yellow);font-family:Manrope}.no-photo span{font-size:12px;color:var(--muted);margin-top:10px}.card-body{padding:18px;flex:1;display:flex;flex-direction:column}.card-body h3{font-size:19px;line-height:1.3;margin:10px 0 15px;letter-spacing:-.5px}.meta{font-size:10px;color:var(--yellow);letter-spacing:1px;text-transform:uppercase}.macros{display:flex;gap:13px;font-size:12px;margin-bottom:15px;flex-wrap:wrap}.macros b{color:var(--yellow)}.card-actions{display:flex;gap:9px;margin-top:auto}.card-actions .button{padding:10px 12px;font-size:12px;flex:1}.card-actions .secondary{font-size:12px}.repeat-row{display:flex;align-items:center;gap:18px;padding:18px 0;border-bottom:1px solid #333}.repeat-row>div{flex:1}.repeat-row p{font-size:12px;margin:5px 0}.repeat-row label{max-width:140px}.groceries h3{font-size:16px;text-transform:capitalize;margin-top:28px}.grocery-item{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #333}.grocery-item>span{flex:1}.grocery-item small{display:block;font-size:10px;color:var(--muted)}.grocery-item.checked>span{text-decoration:line-through;opacity:.5}.grocery-item b{font-size:14px}.bottom-note{padding:50px 0}.bottom-note h2{font-size:27px}.bottom-note a{color:var(--yellow)}.bottom-note details{padding:22px;border:1px solid #333;border-radius:10px;margin-top:30px}footer{padding:28px 38px;border-top:1px solid #333;display:flex;justify-content:space-between;gap:20px;font-size:10px;letter-spacing:1px;color:var(--muted)}dialog{max-width:750px;width:calc(100% - 30px);border:1px solid #555;border-radius:15px;background:#191919;color:var(--white);padding:32px;max-height:90vh;overflow:auto}dialog::backdrop{background:#000b}.close{position:sticky;float:right;top:0;border:1px solid #555;border-radius:50%;width:36px;height:36px;background:#222;color:white;font-size:24px;z-index:2}.detail-photo{width:100%;height:260px;object-fit:cover;border-radius:8px}.ingredient-row{display:flex;justify-content:space-between;gap:20px;font-size:13px;padding:10px 0;border-bottom:1px solid #333}.ingredient-row small{display:block;font-size:10px;color:var(--muted)}.ingredient-row a{color:inherit;text-decoration-color:#777}.recipe-steps li{padding:8px 0;font-size:14px}.empty{padding:35px;text-align:center;border:1px dashed #555;border-radius:10px;grid-column:1/-1;color:var(--muted)}#notice:not(:empty){padding:12px;border:1px solid #756e34;border-radius:8px;margin:14px 0;color:var(--yellow);font-size:13px}
@media(max-width:900px){.hero{gap:30px}.recipe-grid{grid-template-columns:repeat(2,1fr)}.controls{grid-template-columns:1fr 1fr}.section-top{flex-direction:column}.section-top>button{max-width:none}}@media(max-width:600px){header{padding:0 20px;height:80px}.header-note{display:none}main{padding:0 18px}.hero{grid-template-columns:1fr;padding:35px 0;gap:25px}.hero-image{aspect-ratio:1.5}.hero-image .image-label{padding:35px 18px 15px}.hero h1{font-size:42px}.tabs{gap:2px}.tabs button{display:block;text-align:center;padding:12px 0;font-size:10px}.tabs button span{display:block;font-size:11px;margin-top:4px}.panel{padding:20px 16px}h2{font-size:26px}.macro-inputs{grid-template-columns:1fr 1fr;gap:14px}.totals{grid-template-columns:1fr 1fr}.recipe-grid{grid-template-columns:1fr}.food-photo{height:220px}.recipe-toolbar{grid-template-columns:1fr 1fr}.search-label{grid-column:1/-1}.chosen{align-items:flex-start;flex-direction:column}.repeat-row{gap:12px}.repeat-row label{max-width:100px}.controls{gap:12px}.chip{font-size:12px;padding:9px}.bottom-note{padding:35px 0}footer{padding:24px 18px;flex-direction:column}dialog{padding:22px}}


.recipe-toolbar{grid-template-columns:repeat(3,1fr)}.recipe-toolbar .search-label{grid-column:1/-1}.load-row{text-align:center;margin:12px 0 28px}.load-row button[hidden]{display:none}.recipe-toolbar label{font-size:12px}@media(max-width:600px){.recipe-toolbar{grid-template-columns:1fr 1fr}}

.simple-choice{display:flex;align-items:center;gap:20px;margin:20px 0;padding:18px;border:1px solid var(--yellow);border-radius:12px}.simple-choice p{margin:0;flex:1}.simple-choice button{flex-shrink:0}.simple-choice button[aria-pressed="true"]{background:var(--yellow);color:#111}.health-notice{padding:36px 28px;margin:40px auto;max-width:1180px;border-top:2px solid var(--yellow);background:#181818;color:#fff;border-radius:12px}.health-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.health-grid p{color:#ccc;line-height:1.65}.health-grid .responsibility{grid-column:1/-1}.health-notice h3{color:var(--yellow)}.health-notice h2{font-size:clamp(26px,4vw,38px)}@media(max-width:650px){.simple-choice{align-items:flex-start;flex-direction:column;gap:12px}.health-grid{grid-template-columns:1fr}.health-notice{padding:24px 18px}}

/* Familiar-food rebuild */
.pantry-preview{background:#171717;color:#fff;padding:clamp(24px,4vw,48px);display:flex;flex-direction:column;justify-content:center;gap:20px;border:1px solid #333;min-height:420px;height:auto}
.pantry-preview h2{color:#fff;font-size:clamp(26px,3vw,40px);line-height:1.1;margin:0}.pantry-preview .small{color:#ccc}.pantry-tags{display:flex;flex-wrap:wrap;gap:8px}.pantry-tags span{padding:10px 12px;background:var(--yellow);color:#111;font-weight:800;border-radius:8px;font-size:12px}.preview-meals p{border-top:1px solid #444;padding:13px 0;margin:0;color:var(--yellow)}.preview-meals strong{color:#fff;margin-left:14px}.meal-foundation{padding:22px;background:#f4f1e7;display:flex;flex-direction:column;gap:9px;min-height:150px;border-bottom:1px solid #dedbd2}.meal-foundation span{font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:800;color:#555}.meal-foundation strong{font-size:17px;line-height:1.35;color:#171717}.meal-foundation small{color:#626262;font-size:12px}.detail-foundation{min-height:unset;border-radius:12px;margin:15px 0 25px}.collection-note{font-size:13px;padding:14px 18px;border-left:3px solid var(--yellow);background:#f7f5ef;color:#444}.food-group{margin:25px 0}.food-group h3{margin-bottom:8px}.food-group .small{max-width:760px}.food-group summary{cursor:pointer;font-weight:800}.ingredient-row strong small{display:block;font-size:11px;font-weight:500;color:#666}.extras{line-height:1.4}.chips[hidden]{display:none}.hero h1{font-size:clamp(38px,5.5vw,76px)}
@media(max-width:600px){.pantry-preview{min-height:340px}.hero h1{font-size:42px;overflow-wrap:anywhere}.tabs button{padding:12px 7px}.meal-foundation{min-height:120px}.collection-note{font-size:12px}.controls select{max-width:100%}}
/* Keep the example readable inside narrow embedded previews. */
.hero{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}.hero-copy,.pantry-preview{min-width:0}.pantry-preview{aspect-ratio:auto;overflow:visible;width:100%;min-height:0}.pantry-preview .eyebrow,.preview-meals p,.preview-meals strong{overflow-wrap:anywhere}.preview-meals strong{display:inline;margin-left:8px}.preview-meals strong small{display:block;margin:5px 0 0 26px;font-size:11px;color:#bbb}.pantry-tags span{background:#242424;color:var(--white);border:1px solid #555}.meal-find-summary{border:1px solid #5e5828;border-radius:10px;padding:16px;display:flex;align-items:center;gap:20px;justify-content:space-between;margin:20px 0}.meal-find-summary p{margin:0;font-size:13px}.meal-find-summary button{flex-shrink:0}.empty strong{color:var(--white)}.empty p{font-size:14px;margin:12px auto 20px;max-width:600px}.empty-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.recipe-toolbar>label,.recipe-card{min-width:0}
@media(max-width:1100px){.hero{grid-template-columns:minmax(0,1fr);gap:28px}.hero-copy>p{max-width:650px}.pantry-preview{max-width:650px}.hero h1{font-size:clamp(38px,6vw,64px)}}
@media(max-width:650px){.meal-find-summary{align-items:flex-start;flex-direction:column;gap:12px}.meal-find-summary button{width:100%}.empty{padding:24px 16px}.recipe-toolbar{grid-template-columns:minmax(0,1fr)}.empty-actions>*{width:100%}}

.tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.preference-settings{margin:28px 0;padding:24px;border:1px solid #3d3d3d;border-radius:12px}.preference-controls{display:grid;grid-template-columns:1fr 1fr;gap:22px}.meal-search{max-width:620px;margin-top:24px}.recipe-portion{margin-bottom:16px;max-width:220px}.card-actions .button{width:100%}
@media(max-width:700px){.preference-controls{grid-template-columns:1fr}.preference-settings{padding:18px}}
@media print{header,.hero,.tabs,#notice,.bottom-note,footer,#foods,#targets,button{display:none!important}body,main,#workspace,#meals{background:#fff!important;color:#000!important}#meals{display:block!important;border:0}.recipe-grid{grid-template-columns:1fr 1fr}p,.small,.health-notice,.health-notice p,.health-notice h2,.health-notice h3{color:#000!important}.health-notice{background:#fff!important;border-color:#000!important}.recipe-card{break-inside:avoid;background:#fff}.macros b{color:#000}.meal-search{display:none}body:has(dialog[open]) main{display:none!important}dialog[open]{position:static;display:block;max-height:none;overflow:visible;width:100%;max-width:none;background:#fff;color:#000;border:0}dialog .ingredient-row a{color:#000}}
