:root{font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:#183d35;background:#f4f6f3;font-synthesis:none}*{box-sizing:border-box}body{margin:0;font-size:16px;line-height:1.6}header{background:#153c33;color:white;padding:25px max(5%,20px);display:flex;align-items:center;justify-content:space-between;gap:22px}.brand{font-family:Georgia,serif;font-size:34px;text-decoration:none;color:inherit;line-height:1.2}.brand span{display:block;font:11px/1.5 system-ui;letter-spacing:2.4px;margin-top:10px}.account{display:flex;gap:18px;align-items:center;font-size:14px}.account form{margin:0}.quiet{background:transparent;border:1px solid #92b4a4;color:white}nav{display:flex;gap:10px;flex-wrap:wrap;background:white;padding:12px 5%;border-bottom:1px solid #d7e0d8}nav a{text-decoration:none;color:#345448;padding:8px 15px;border-radius:5px;font-size:14px}nav a[aria-current]{background:#e1ebe3;color:#153c33;font-weight:600}main{max-width:1320px;margin:auto;padding:40px 32px;min-height:70vh}h1,h2{font-family:Georgia,serif;font-weight:normal;line-height:1.15}h1{font-size:48px;margin:12px 0 28px}h2{font-size:29px;margin:10px 0 18px}h3{font-size:20px;margin:16px 0 12px}h4{margin:22px 0 10px}p{margin:12px 0 20px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:1.8px;color:#647d68;margin:0}.page-heading,.article-heading{display:flex;justify-content:space-between;gap:20px;align-items:center}.article-heading span{font-size:14px;color:#63756a}.recipe-layout{display:grid;grid-template-columns:290px minmax(0,1fr);gap:30px}.recipe-card{display:block;padding:25px;background:white;border:1px solid #d3ded3;border-radius:6px;color:inherit;text-decoration:none;margin-bottom:18px;transition:background .15s}.recipe-card.selected{background:#e4ede3;border-left:5px solid #31664c}.recipe-card p{font-size:14px;margin:0}.aside-note{padding:16px;color:#617367;font-size:14px}article,section{background:#fff;border:1px solid #d5dfd4;border-radius:6px;padding:28px;margin-bottom:24px}article section{padding:22px}.review{background:#fff3ce;border-color:#e7d59a;margin-top:24px}.review li{margin:8px 0}.review .eyebrow{color:#846926}.nutrition{border-block:1px solid #d5dfd4;padding:22px 0;margin:24px 0}.nutrition p{margin-bottom:0}.metrics{display:flex;gap:25px;flex-wrap:wrap}.metrics strong{display:block;font-size:28px}.metrics span{font-size:14px}.ingredient{display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid #e0e7de;padding:17px 0}.ingredient p{font-size:14px;color:#64776b;margin:5px 0}.muted{font-size:14px;color:#64776b;font-weight:normal}.lead{font-size:19px;max-width:750px}button,.button{display:inline-block;background:#285942;color:white;border:1px solid #285942;border-radius:5px;padding:10px 18px;font:600 14px/1.5 system-ui;cursor:pointer;text-decoration:none;white-space:nowrap}button:hover,.button:hover{background:#1b4332}.secondary{background:white;color:#2a5540;border-color:#b6cbbc}.secondary:hover{background:#e6eee5}.quiet:hover{background:#285942}button:disabled{opacity:.4;cursor:default}.button:focus-visible,button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #ce9a2e;outline-offset:3px}a{color:#22563e}label{display:block;font-size:14px;font-weight:600;margin-bottom:18px}input,textarea,select{display:block;width:100%;font:16px/1.5 system-ui;padding:10px 12px;border:1px solid #b4c7b9;border-radius:5px;background:white;color:#183d35;margin-top:7px}textarea{min-height:95px;resize:vertical}input:focus,textarea:focus,select:focus{outline:2px solid #3f7557;outline-offset:1px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.check{display:flex;gap:12px;align-items:start;font-weight:normal}.check input{width:20px;margin:3px 0 0}.editor{background:#edf3e9;margin-top:18px}blockquote{border-left:3px solid #8caa94;margin:16px 0;padding:10px 16px;background:#f7faf5}details{border-bottom:1px solid #d9e2d7;padding:10px 0}summary{font-weight:600;cursor:pointer;padding:5px 0}details form{margin-top:18px}pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#f3f6f1;font:14px/1.65 system-ui;padding:18px;max-height:420px;overflow:auto}small{display:block;font-size:13px;overflow-wrap:anywhere}.decision{padding:14px;background:#f0f5ed;font-size:14px}.cooking{background:#173c33;color:white;margin-top:28px}.cooking .eyebrow,.cooking small{color:#bad3bd}.cooking-step p{font:26px/1.55 Georgia,serif}.cooking small{margin-top:22px}.cooking .secondary{color:#183d35}.cooking button{border-color:#a8c9ac}.notice{padding:18px 24px;background:#fff2cd;border:1px solid #ddc58d;border-radius:5px;margin-bottom:25px}.notice.success{background:#e8f2e4;border-color:#bbd2b4}.check-row{padding:19px 24px}.check-row form{display:flex;align-items:center;gap:20px}.check-row small{color:#64776b}.check-button{font-size:26px;width:44px;height:44px;padding:0;background:white;color:#2a5540;border:1px solid #b6cbbc}.check-button.checked{background:#285942;color:white}.empty{padding:45px;text-align:center}.narrow{max-width:850px}.login-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:80px;padding:45px 0}.login-grid h1{font-size:66px;line-height:1.12;margin-top:22px}.login-card{padding:35px;align-self:start}.login-card button{width:100%}.promise{border-left:3px solid #86a77c;padding:10px 20px;color:#63775c}.login-card .eyebrow{margin:20px 0 12px}hr{border:0;border-top:1px solid #d7e0d0;margin:25px 0}footer{padding:25px 5%;border-top:1px solid #d5dfd1;font-size:14px;color:#6d7e69}[hidden]{display:none!important}@media(max-width:800px){header{align-items:start}.account{display:block;text-align:right}.account form{margin-top:10px}main{padding:28px 18px}.recipe-layout,.login-grid{grid-template-columns:1fr;gap:20px}.login-grid{padding:0}.login-grid h1{font-size:48px}.recipe-layout aside{display:flex;gap:12px;overflow:auto}.recipe-card{min-width:230px}.aside-note{display:none}.form-grid{grid-template-columns:1fr}.page-heading{align-items:start}h1{font-size:38px}.article-heading{display:block}article,section{padding:22px}nav{gap:4px;padding:10px}nav a{padding:8px 11px}.ingredient .button{padding:8px 12px}.empty{padding:28px}.brand{font-size:28px}.cooking-step p{font-size:23px}}

[data-quantity-view][hidden] { display: none !important; }

.ingredient-actions { margin-top: 20px; display: flex; align-items: center; gap: 16px; }
.ingredient-more[open] > summary { margin-bottom: 16px; }

.week-planner { display: grid; grid-template-columns: 280px minmax(0,1fr); gap: 24px; align-items: start; }
.recipe-library, .timeline-panel { padding: 22px; min-width: 0; }
.recipe-library h2 { font-size: 27px; }
.recipe-library > p, .recipe-library details p { font-size: 14px; }
.recipe-library #slot-form { padding-top: 8px; }
.selection-status { padding: 12px; background: #edf3e9; border-radius: 6px; }
.palette-entry { margin: 18px 0; }
.palette-card { width: 100%; text-align: left; white-space: normal; background: #edf3e9; color: #183d35; border: 1px solid #b4c7b9; cursor: grab; padding: 16px; }
.palette-card strong { display: block; font: 22px/1.3 Georgia,serif; margin: 9px 0; }
.palette-card > span:last-child { font-size: 12px; font-weight: normal; }
.palette-card:hover, .palette-card[aria-pressed="true"] { background: #dbe9d8; color: #183d35; border-color: #285942; }
.palette-card[aria-pressed="true"], .planned-select[aria-pressed="true"] { outline: 3px solid #ba8b32; outline-offset: 2px; }
.recipe-review-link { display: inline-block; font-size: 13px; margin-top: 6px; }
.week-navigation { display: flex; gap: 15px; align-items: center; flex-wrap: wrap; margin-bottom: 20px; }
.week-navigation h2 { font-size: 26px; margin: 4px 0; }
.week-navigation > a:last-child { font-size: 13px; margin-left: auto; }
.timeline-scroll { overflow-x: auto; }
.timeline-grid { display: grid; grid-template-columns: 75px repeat(3,minmax(150px,1fr)); gap: 10px; min-width: 560px; }
.timeline-head { padding: 10px 4px; font-size: 13px; font-weight: 700; color: #617367; }
.timeline-day { display: flex; flex-direction: column; justify-content: center; padding: 12px 6px; font-size: 13px; border-top: 1px solid #d5dfd4; }
.timeline-day strong { font-size: 17px; }.timeline-day.is-today { color: #285942; background: #edf3e9; border-radius: 6px; }
.meal-slot { min-height: 116px; border: 1px dashed #b4c7b9; border-radius: 7px; background: #f8faf6; }
.meal-slot.occupied { border-style: solid; background: #eef4e9; }
.meal-slot.drop-ready { outline: 3px solid #ba8b32; background: #e0ecd8; }
.empty-slot { display: flex; flex-direction: column; justify-content: center; align-items: center; width: 100%; height: 100%; min-height: 114px; border: 0; background: transparent; color: #657e6b; font-size: 12px; padding: 12px; }
.empty-slot > span:first-child { font-size: 24px; font-weight: normal; }.empty-slot:hover { background: #e4eddf; }
.planned-card { padding: 12px; min-width: 0; }.planned-select { display: block; width: 100%; padding: 0; border: 0; background: transparent; color: #183d35; white-space: normal; text-align: left; cursor: grab; }
.planned-select:hover { background: transparent; color: #285942; }.planned-select strong { display: block; font: 19px/1.3 Georgia,serif; }.planned-select span { display: block; font-size: 12px; font-weight: normal; margin-top: 8px; }
.planned-card details { font-size: 12px; }.planned-card details p { margin: 9px 0; }.remove-planned { background: transparent; color: #73584a; border: 0; padding: 7px 0 0; font-size: 12px; }.remove-planned:hover { background: transparent; text-decoration: underline; }
.unassigned-meals { border-top: 1px solid #d5dfd4; margin-top: 25px; padding-top: 15px; }.legacy-meal { border: 1px solid #d5dfd4; margin: 12px 0; border-radius: 6px; padding: 10px; }
@media(max-width:950px) { .week-planner { grid-template-columns: 1fr; }.recipe-palette { display: flex; gap: 14px; overflow-x: auto; }.palette-entry { min-width: 220px; flex: 1; }.timeline-panel { padding: 16px; } }

.palette-card, .planned-select { touch-action: none; user-select: none; } .is-dragging { opacity: .6; cursor: grabbing; }


.recipe-history { margin-top: 20px; background: #f5f8f1; }
.recipe-history-dates { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }
.recipe-history-dates dt { color: #64776b; font-size: 13px; }.recipe-history-dates dd { margin: 5px 0 0; font-weight: 600; }
.eaten-form { display: flex; align-items: end; flex-wrap: wrap; gap: 16px; margin: 20px 0 12px; }.eaten-form label { margin: 0; }
.eaten-entry { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:12px 0; }.eaten-entry form { margin:0; }
@media(max-width:800px) { .recipe-history-dates { grid-template-columns:1fr; gap:10px; } }

.recipe-preferences{display:grid;gap:1rem;margin-bottom:1.5rem}.recipe-preferences form{display:flex;gap:.7rem;align-items:end;flex-wrap:wrap}.recipe-badges{display:block;margin:.6rem 0}.recipe-badges span{display:block;color:var(--green,#245440)}.shopping-ingredient small{display:inline}.recipe-library select{width:100%;margin-bottom:.7rem}

.recipe-preferences .recipe-score-form { display:flex; flex-wrap:wrap; align-items:end; gap:8px 12px; }
.recipe-score-form label { margin:0; width:260px; max-width:100%; }
.recipe-score-form input { margin-bottom:0; }
.recipe-score-form button { min-height:46px; }
.recipe-score-form small { flex-basis:100%; }
@media (max-width:480px) { .recipe-preferences .recipe-score-form { grid-template-columns:minmax(0, 1fr); } .recipe-score-form button { justify-self:start; } }

.catalogue-choice{padding:15px;border:1px solid #c8d7c8;border-radius:5px;margin:12px 0}.catalogue-choice button{margin-top:10px}
.catalogue-layout aside { display:block; overflow:visible; }.catalogue-layout aside > .button { margin-bottom:16px; }.catalogue-layout .recipe-card { min-width:0; }
