:root{--bg:#f7f6f2;--surface:#fff;--text:#1f2421;--muted:#5d655f;--line:#d9dbd4;--accent:#2f6b4f;--accent-ink:#fff;--accent-soft:#e3efe7;--warn-bg:#fff4d6;--warn-line:#d9a514;--danger:#a3341f;--ph-bg:repeating-linear-gradient(135deg, #fbefc9 0 6px, #f6e3a8 6px 12px);--radius:10px;color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.5}*{box-sizing:border-box}body{background:var(--bg);margin:0}h1{margin:.5rem 0 .75rem;font-size:1.75rem;line-height:1.25}.h3{margin:1.25rem 0 .5rem;font-size:1.15rem}.h4{margin:1rem 0 .4rem;font-size:1rem}p{margin:.5rem 0}.lead{font-size:1.1rem}.small{font-size:.9rem}.muted{color:var(--muted)}.eyebrow{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:0;font-size:.75rem}.stage-banner{color:#fff7d6;text-align:center;z-index:10;background:#1f2421;padding:.45rem 1rem;font-size:.9rem;font-weight:600;position:sticky;top:0}.example-bar{background:#e8e2f5;border-bottom:1px solid #c9bfe3;flex-wrap:wrap;justify-content:center;gap:1rem;padding:.4rem 1rem;font-size:.9rem;display:flex}.site-header{justify-content:space-between;align-items:center;max-width:1100px;margin:0 auto;padding:.75rem 1rem;display:flex}.brand{color:var(--text);font-size:1.15rem;font-weight:700;text-decoration:none}.brand-tag{background:var(--warn-bg);border:1px solid var(--warn-line);vertical-align:middle;border-radius:4px;padding:0 4px;font-size:.7rem}.page{max-width:760px;margin:0 auto;padding:0 1rem 4rem}.page.wide{max-width:1100px}button{font:inherit;cursor:pointer;border:1px solid var(--accent);background:var(--accent);color:var(--accent-ink);border-radius:8px;min-height:44px;padding:.55rem 1.1rem}button:hover{filter:brightness(1.08)}button:focus-visible,a:focus-visible,input:focus-visible{outline-offset:2px;outline:3px solid #f0b429}button.secondary{background:var(--surface);color:var(--accent)}button.danger{background:var(--danger);border-color:var(--danger);color:#fff}button.secondary.danger{background:var(--surface);color:var(--danger)}button.link{color:var(--accent);background:0 0;border:none;min-height:0;padding:.25rem 0;text-decoration:underline}button.small,.link.small{font-size:.9rem}a{color:var(--accent)}.row{align-items:center;display:flex}.row.gap{flex-wrap:wrap;gap:.75rem}.row.between{justify-content:space-between}.wrap{flex-wrap:wrap}.top-gap{margin-top:1rem}.nav-buttons{flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-top:2rem;display:flex}.notice{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin:1rem 0;padding:.75rem 1rem}.warn{background:var(--warn-bg);border-left:4px solid var(--warn-line);border-radius:4px;padding:.5rem .75rem}.error-box{border-radius:var(--radius);background:#fde8e3;border:1px solid #e3a597;margin:1rem 0;padding:.75rem 1rem}.error-inline{color:var(--danger);font-weight:600}.ok-note{background:var(--accent-soft);border-radius:6px;padding:.5rem .75rem}.draft-tag{letter-spacing:.02em;background:var(--warn-bg);border:1px dashed var(--warn-line);color:#6b4e00;vertical-align:middle;border-radius:4px;padding:0 6px;font-size:.72rem;font-weight:600;display:inline-block}.ph{background:var(--ph-bg);border:1px dashed #b98a00;border-radius:4px;padding:0 4px}.ph-tag{text-transform:uppercase;color:#6b4e00;margin-left:.35rem;font-size:.65rem;font-weight:700}.sim-note{background:#eef0fb;border-left:4px solid #5a63b8;border-radius:4px;margin:.75rem 0;padding:.5rem .75rem;font-size:.92rem}.sim-label{text-transform:uppercase;color:#3b4396;margin-right:.5rem;font-size:.72rem;font-weight:700}.supplement{margin-top:1.5rem;font-weight:600}.estimate-note{color:var(--muted);border-top:1px solid var(--line);padding-top:.5rem;font-size:.9rem}.field{border:none;margin:1.25rem 0;padding:0}.field legend,.field>label{margin-bottom:.35rem;font-weight:600;display:block}.field.invalid input,.field.invalid legend{color:var(--danger)}.field.invalid input{border-color:var(--danger)}.help{color:var(--muted);font-size:.9rem}input[type=text],input:not([type]),input[type=search],input[inputmode]{font:inherit;background:#fff;border:1px solid #a9ada6;border-radius:6px;max-width:100%;min-height:44px;padding:.5rem .6rem}.inline input{width:7rem}label.choice{align-items:center;gap:.4rem;min-height:36px;display:inline-flex}label.choice.block{margin:.25rem 0;display:flex}.check-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.25rem 1rem;display:grid}.other-block{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin-top:1rem;padding:.75rem}.other-allergy{border-bottom:1px solid var(--line);margin-bottom:.75rem;padding-bottom:.75rem}.other-allergy label,.picker label{flex-direction:column;gap:.25rem;display:flex}.check-item{flex-direction:column;display:flex}.examples{color:var(--muted,#555);margin:-.2rem 0 .3rem 1.6rem;font-size:.8rem}.hidden-foods{margin:.25rem 0;padding-left:1.2rem}.carried{margin:.5rem 0}.picker-results{border:1px solid var(--line);background:#fff;border-radius:6px;max-height:220px;margin:.25rem 0;padding:0;list-style:none;overflow:auto}.picker-results li{padding:.15rem .5rem}.picker-option{cursor:pointer;border-radius:4px;align-items:center;gap:.4rem;min-height:36px;display:flex}.picker-option:hover{background:var(--surface)}.picker-option.active{outline:2px dashed var(--accent);outline-offset:-2px}.picker-option.checked{background:var(--accent-soft);font-weight:600}.picker-state{margin-left:auto;font-size:.85rem;font-weight:600}.picker-heading{margin:.5rem 0 0}.picker-box{font-size:1.1rem}.chip{background:var(--accent-soft);border-radius:999px;align-items:center;gap:.25rem;margin:.15rem;padding:.15rem .6rem;display:inline-flex}.chip-x{color:var(--text);background:0 0;border:none;min-height:0;padding:0 .25rem;font-size:1.1rem;line-height:1}.chips{flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.stepper{flex-wrap:wrap;gap:.25rem;margin:.5rem 0 1rem;padding:0;font-size:.8rem;list-style:none;display:flex}.stepper li{color:var(--muted);background:#eceee8;border-radius:999px;padding:.2rem .6rem}.stepper li.done{background:var(--accent-soft);color:var(--accent)}.stepper li.current{background:var(--accent);color:#fff;font-weight:600}.search{flex-direction:column;gap:.25rem;max-width:360px;margin:1rem 0;display:flex}.food-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.6rem;margin:.75rem 0;display:grid}.food-card{background:var(--surface);color:var(--text);border:2px solid var(--line);text-align:left;width:100%;min-height:64px;font-weight:500}.food-card.selected,.none-toggle.selected{border-color:var(--accent);background:var(--accent-soft)}.none-toggle .selected-mark{margin-left:.5rem;display:inline}.contrib-row td{padding-top:0}.selected-mark{color:var(--accent);font-size:.75rem;display:block}.suggest{flex-direction:column;gap:.25rem;display:flex}.review-group{border-bottom:1px solid var(--line);padding-bottom:.5rem}.cards{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;display:grid}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1rem}.tabs{border-bottom:2px solid var(--line);flex-wrap:wrap;gap:.25rem;margin:1rem 0;display:flex}.tabs a{color:var(--muted);border-radius:8px 8px 0 0;padding:.5rem .9rem;text-decoration:none}.tabs a.active{color:var(--accent);background:var(--surface);border:2px solid var(--line);border-bottom-color:var(--surface);margin-bottom:-2px;font-weight:600}.tabs .print-link{margin-left:auto}.days{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem;display:grid}.day{border-radius:var(--radius);background:#efeee8;padding:.5rem .75rem .75rem}.day>h2{margin-top:.25rem}.meal-card{background:var(--surface);border:1px solid var(--line);border-radius:8px;margin-top:.5rem;padding:.6rem .75rem}.meal-card h3{margin:.1rem 0 .3rem}.why{border-top:1px solid var(--line);margin-top:.5rem;font-size:.9rem}.facts{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.5rem 1rem;margin:.75rem 0;display:grid}.facts dt{color:var(--muted);font-size:.8rem}.facts dd{margin:0}.ingredients{padding-left:1.1rem}.ingredients li{margin:.3rem 0}.ingredients li>span{margin-right:.5rem}.contrib{background:var(--surface);border:1px solid var(--line);border-radius:8px;margin:.4rem 0;padding:.5rem .75rem}.steps li{margin:.35rem 0}.table{border-collapse:collapse;background:var(--surface);width:100%;font-size:.93rem}.table th,.table td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:.4rem .5rem}.table.compact td{padding:.2rem .4rem}.alt-list{padding:0;list-style:none}.alt-list li{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.5rem 0;display:flex}.preview{background:var(--surface);border:2px solid var(--accent);border-radius:var(--radius);margin-top:1rem;padding:.75rem 1rem}.shopping li{margin:.2rem 0}.delete-data{border-top:1px solid var(--line);margin-top:2.5rem;padding-top:1rem}.confirm-box{border-radius:var(--radius);background:#fde8e3;border:1px solid #e3a597;padding:.75rem 1rem}.plain-list li{margin:.4rem 0}.print-footer{display:none}@media (width<=600px){h1{font-size:1.4rem}.nav-buttons button{flex:1}.table{font-size:.85rem}.tabs .print-link{margin-left:0}}@media print{body{background:#fff}.site-header,.tabs,.no-print,.delete-data,.example-bar,button{display:none!important}.stage-banner{color:#000;background:#fff;border:1px solid #000;position:static}.print-footer{text-align:center;background:#fff;border-top:1px solid #999;padding:2pt;font-size:9pt;display:block;position:fixed;bottom:0;left:0;right:0}.page{max-width:none;padding-bottom:2.5rem}.page-break{break-before:page}.print-recipe{break-inside:avoid}.ph{background:0 0;border:1px dashed #000}}
