:root{--forest:#173b37;--paper:#fffdf6;--cream:#f5f2e8;--gold:#ddb45e;--line:#d5dcd1;--muted:#52695f;--red:#9c3834}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--forest);font:15px/1.55 Arial,sans-serif}a{color:inherit}button,input,select,textarea{font:inherit}button,a,input{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.5;cursor:default}header{background:var(--forest);color:var(--paper);padding:18px max(5%,calc((100% - 1320px)/2));display:flex;align-items:center;justify-content:space-between;gap:20px}header a{text-decoration:none}.brand{font-weight:900;letter-spacing:.16em;font-size:18px}.brand small{display:block;letter-spacing:.2em;font-size:10px;color:var(--gold)}.nav{display:flex;gap:20px;align-items:center;font-size:13px}.shell{max-width:1320px;margin:auto;padding:35px 5% 70px}.hero{display:grid;grid-template-columns:1.2fr 1fr;gap:30px;align-items:center;margin-bottom:28px}.hero h1{font:normal clamp(38px,5vw,66px)/1.02 Georgia,serif;margin:10px 0 18px;letter-spacing:-.04em}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:#8e6620}.hero p{max-width:580px;color:var(--muted)}.hero-photo{height:240px;width:100%;object-fit:cover;border-radius:4px}.tabs{display:flex;gap:7px;overflow:auto;border-bottom:1px solid var(--line);padding-bottom:12px;position:sticky;top:0;background:var(--cream);z-index:5}.tab{white-space:nowrap;border:1px solid var(--line);padding:11px 17px;border-radius:30px;background:transparent;color:var(--forest)}.tab[aria-selected=true]{background:var(--forest);color:white}.panel{margin-top:26px}.panel[hidden]{display:none}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.two{display:grid;grid-template-columns:1fr 1fr;gap:22px}.box{background:var(--paper);padding:24px;border:1px solid var(--line);border-radius:5px;margin-bottom:18px}.box h2,.box h3{font-family:Georgia,serif;line-height:1.2;margin-top:0}.box h2{font-size:29px}.box h3{font-size:22px}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.between{justify-content:space-between}label{display:block;font-size:13px;font-weight:700;margin:10px 0}input:not([type=checkbox]),select,textarea{display:block;width:100%;border:1px solid #afbeb2;background:white;border-radius:3px;padding:10px;color:var(--forest);margin-top:5px}input[type=checkbox]{accent-color:var(--forest);width:17px;height:17px;vertical-align:middle;margin-right:7px}textarea{min-height:100px;resize:vertical}.fields{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.checks{display:flex;gap:6px 18px;flex-wrap:wrap}.checks label{font-weight:400;margin:4px 0}.btn{border:1px solid var(--forest);background:var(--forest);color:white;padding:11px 17px;border-radius:3px;text-decoration:none;display:inline-block;font-weight:700;font-size:13px}.btn.secondary{background:transparent;color:var(--forest)}.btn.gold{background:var(--gold);border-color:var(--gold);color:var(--forest)}.btn.danger{border-color:var(--red);color:var(--red);background:transparent}.small{font-size:12px;color:var(--muted)}.notice{padding:13px 16px;background:#e5ecdf;border-left:3px solid var(--forest);font-size:13px;margin:12px 0}.warning{background:#fff2d6;border-color:#b28734}.error{color:var(--red);font-weight:700}.tag{display:inline-block;border-radius:3px;padding:4px 7px;font-size:10px;font-weight:800;letter-spacing:.03em;background:#e4ebdf;margin:2px 3px 2px 0}.tag.red{background:#f5dfda;color:#8a2d28}.tag.yellow{background:#f5e6b6;color:#715313}.card{background:var(--paper);border:1px solid var(--line);border-top:5px solid #c9a044;border-radius:4px;overflow:hidden}.card.cutting{border-top-color:#38804d}.card.bulking{border-top-color:#a94035}.card img{width:100%;height:170px;object-fit:cover;display:block}.card .content{padding:17px}.card h3{font:normal 23px/1.15 Georgia,serif;margin:7px 0 14px}.macros{font-size:12px;color:var(--muted);margin-bottom:15px}.card .btn{padding:8px 11px;font-size:12px}.toolbar{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px;margin-bottom:22px}.empty{padding:40px;text-align:center;border:1px dashed #a6b7a4;border-radius:4px}.meter{height:8px;background:#dfe5da;border-radius:8px;margin:10px 0;overflow:hidden}.meter i{display:block;height:100%;background:var(--forest)}.day{margin-bottom:25px}.meal-line{display:grid;grid-template-columns:55px 1fr 80px auto;gap:10px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}.meal-line img{width:55px;height:55px;object-fit:cover;border-radius:3px}.meal-line h4{margin:0;font-size:14px}.meal-line input{margin:0}.iconbtn{background:transparent;border:1px solid var(--line);border-radius:4px;padding:5px 8px;color:var(--forest)}.quiz-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.quiz-card{padding:0;background:var(--paper);border:2px solid var(--line);color:var(--forest);text-align:left;border-radius:4px;overflow:hidden}.quiz-card.selected{border-color:var(--forest);box-shadow:0 0 0 2px #173b3722}.quiz-card img{width:100%;height:145px;object-fit:cover}.quiz-card span{padding:12px;display:block;font-weight:700;font-size:13px}dialog{width:min(1000px,94vw);max-height:94vh;border:0;border-radius:6px;background:var(--cream);color:var(--forest);padding:24px}dialog::backdrop{background:#102a27bb}.close{float:right}.dialog-image{width:100%;height:230px;object-fit:cover;border-radius:4px}.ingredients{overflow:auto}.ingredient-row{min-width:850px;display:grid;grid-template-columns:2fr 80px 75px 75px repeat(5,70px) 35px;gap:6px;align-items:center;padding:7px 0}.ingredient-row input,.ingredient-row select{font-size:12px;padding:7px;margin:0}.ingredient-head{font-size:10px;font-weight:700}.recipe-print{display:none}#toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:var(--forest);color:white;padding:14px 20px;border-radius:5px;z-index:100;max-width:90vw;box-shadow:0 4px 20px #0003}footer{padding:25px 5%;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}details{margin:12px 0}summary{cursor:pointer;font-weight:700}.grocery-row{display:flex;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.grocery-row label{margin:0;flex:1}.grocery-row.done label{text-decoration:line-through;opacity:.6}:focus-visible{outline:3px solid var(--gold);outline-offset:3px}@media(max-width:850px){.hero{grid-template-columns:1fr}.hero-photo{height:190px}.grid{grid-template-columns:repeat(2,1fr)}.two{grid-template-columns:1fr}.quiz-grid{grid-template-columns:repeat(2,1fr)}.toolbar{grid-template-columns:1fr 1fr}.toolbar input{grid-column:span 2}.fields{grid-template-columns:1fr 1fr}.nav{gap:10px;font-size:11px}.shell{padding:25px 4%}.box{padding:18px}.meal-line{grid-template-columns:45px 1fr 65px}.meal-line .actions{grid-column:2/4}}@media(max-width:480px){.grid{grid-template-columns:1fr}.brand{font-size:15px}.nav a:first-child{display:none}.fields{grid-template-columns:1fr 1fr}.hero h1{font-size:43px}.card img{height:190px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}@media print{body>*{display:none!important}body>.recipe-print{display:block!important;background:white;color:black;padding:20px;font-size:12px}.recipe-print img{width:220px;float:right;margin:0 0 15px 20px}.recipe-print h1{font:28px Georgia}.recipe-print li{margin:6px 0}}
