:root{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#203b32;background:#f6f5ef;font-synthesis:none;--green:#214e40;--muted:#66756d;--line:#dce2da;--paper:#fffef9}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;min-height:44px;border:1px solid var(--line);border-radius:12px;padding:10px 15px;background:var(--paper);color:var(--green);font-weight:600}button:hover{background:#e9eee6}button:disabled{opacity:.55;cursor:wait}a{color:var(--green)}input,select,textarea{width:100%;min-height:44px;border:1px solid #bcc9bf;border-radius:10px;background:white;color:#203b32;padding:10px}textarea{resize:vertical;min-height:100px}input[type=checkbox]{width:23px;min-height:23px;accent-color:var(--green)}input:focus-visible,button:focus-visible,a:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #b68b3a;outline-offset:3px}h1,h2,h3,p{margin-top:0}h1{font-family:Georgia,serif;font-weight:500;font-size:34px;letter-spacing:-1px;line-height:1.13;margin-bottom:14px}h2{font-size:21px;letter-spacing:-.5px}h3{font-size:17px;margin-bottom:6px}p{line-height:1.55}.muted,small{color:var(--muted)}small{font-size:12px;line-height:1.45}.eyebrow{font-size:11px;font-weight:750;letter-spacing:2px;text-transform:uppercase;color:var(--muted)}.shell{max-width:840px;margin:auto;padding:0 24px 110px}.top{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:22px 0;margin-bottom:30px}.brand{font-family:Georgia,serif;font-size:22px;color:var(--green)}.brand b{font-size:16px;margin-right:8px}.profile{border:0;background:#e6ecdf;border-radius:50px;font-size:13px}.row{display:flex;align-items:center;gap:12px}.between{justify-content:space-between}.stack{display:grid;gap:16px}.card{background:var(--paper);border:1px solid var(--line);padding:22px;border-radius:19px;margin-bottom:14px}.soft{background:#eaf0e4;border-color:#dbe4d3}.primary{background:var(--green);color:white;border-color:var(--green)}.primary:hover{background:#31634f}.quiet{border:0;background:transparent}.danger{color:#973a2c}.tabs{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:center;background:#fffef9f5;border-top:1px solid var(--line);padding:9px 12px calc(9px + env(safe-area-inset-bottom));z-index:5;backdrop-filter:blur(12px)}.tabs button{flex:1;max-width:150px;border:0;background:transparent;font-size:12px;display:grid;gap:4px;justify-items:center;color:var(--muted);padding:7px 2px}.tabs button.active{color:var(--green);background:#e9eee4}.tabs svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.pills{display:flex;gap:8px;margin:18px 0;overflow:auto;padding:3px 0}.pills button{white-space:nowrap;font-size:13px;border-radius:50px}.pills .active{background:var(--green);color:white}.week{font-size:13px;gap:6px}.week strong{text-align:center;flex:1}.week button{padding:5px 10px}.tag{display:inline-block;background:#edf1e9;border-radius:6px;padding:4px 7px;font-size:11px;color:#536751;margin-right:5px}.meal{display:grid;grid-template-columns:1fr auto;gap:14px}.meal p{font-size:13px;margin:8px 0}.meal .title{border:0;background:none;text-align:left;padding:0;font-size:17px;min-height:30px}.meal .count{width:80px}.empty{text-align:center;padding:40px 20px}.empty .symbol{font-size:38px;color:#8d9e76;margin-bottom:20px}.chat-intro{padding:32px 3px 16px;max-width:590px}.chat-intro h1{font-size:42px}.chat-intro p{color:var(--muted)}.bubble{max-width:85%;padding:15px 18px;border-radius:17px;background:#e7eddf;margin:12px 0 12px auto;white-space:pre-wrap;overflow-wrap:anywhere}.chat-state{font-size:12px;text-align:right;color:#7b6350}.composer{display:flex;gap:8px;align-items:end;background:white;padding:10px;border:1px solid var(--line);border-radius:18px;margin-top:24px}.composer textarea{border:0;background:transparent;min-height:48px;max-height:150px}.composer button{min-width:52px}.shop-row{display:grid;grid-template-columns:26px minmax(0,1fr) auto 75px;gap:10px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}.shop-row:last-child{border:0}.shop-row.checked .item-name{text-decoration:line-through;opacity:.5}.item-name{font-size:15px;overflow-wrap:anywhere}.quantity{padding:5px 7px;border:0;background:transparent;font-size:13px;max-width:100px;overflow-wrap:anywhere}.store{position:relative;border:0;border-radius:30px;padding:3px;background:#e8ece4;display:flex;align-items:center;justify-content:space-around;min-height:34px;font-size:10px;gap:0}.store span{padding:8px;border-radius:30px;z-index:1}.store span.on{background:white;box-shadow:0 1px 4px #1232;color:var(--green)}.stat{font-size:38px;letter-spacing:-1px;font-family:Georgia,serif}.stats{display:grid;grid-template-columns:1fr 1fr;gap:20px}.progress{height:7px;background:#dce5d4;border-radius:10px;margin:15px 0;overflow:hidden}.progress progress{width:100%;height:7px;accent-color:var(--green)}.diary{border-bottom:1px solid var(--line);padding:12px 0;display:flex;align-items:center;justify-content:space-between;gap:12px}.diary button{padding:5px 8px}.day-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.day{padding:8px 3px;text-align:center;background:#f0f2ea;border-radius:9px;font-size:11px}.day strong{display:block;font-size:14px;margin:6px 0}.day.complete{background:#dfead8}.label{display:block;font-size:13px;font-weight:600;margin-bottom:6px}.field{margin-bottom:16px}.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.recipe-ingredient{padding:12px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:15px}.method{white-space:pre-wrap;line-height:1.7}.source{font-size:13px;line-height:1.6}.login{max-width:390px;margin:12vh auto}.login h1{font-size:42px}.login .primary{width:100%}.notice{color:#805c2b;background:#f7efdf;padding:12px 16px;border-radius:10px;font-size:13px;line-height:1.5}.edit-ingredient{border-top:1px solid var(--line);padding:18px 0}.edit-ingredient .three{display:grid;grid-template-columns:2fr 1fr 1fr;gap:8px}.subsection{margin-top:28px}.saved-source{border-bottom:1px solid var(--line);padding:15px 0}dialog{border:1px solid var(--line);border-radius:20px;background:#fffef9;color:#203b32;width:min(650px,calc(100% - 24px));max-height:90dvh;padding:24px}dialog::backdrop{background:#19352980;backdrop-filter:blur(3px)}dialog header{display:flex;justify-content:space-between;align-items:start;margin-bottom:18px}dialog header h2{padding-top:10px}#notice:not(:empty){position:fixed;bottom:100px;left:50%;transform:translateX(-50%);background:#214e40;color:white;padding:14px 20px;border-radius:12px;max-width:calc(100% - 30px);width:max-content;z-index:30;box-shadow:0 6px 30px #0002;font-size:14px}button[aria-pressed=true]{font-weight:750}.loading{padding:80px;text-align:center}@media(max-width:540px){.shell{padding-left:18px;padding-right:18px}.top{margin-bottom:24px;padding-top:18px}.card{padding:18px}.chat-intro h1{font-size:36px}.chat-intro{padding-top:22px}h1{font-size:30px}.shop-row{gap:6px;grid-template-columns:25px minmax(0,1fr) auto 70px}.stats{gap:10px}.stat{font-size:32px}.day-grid{gap:4px}.day{font-size:10px}.day strong{font-size:12px}dialog{padding:19px}.login{margin-top:8vh}.two{gap:8px}}@media(prefers-reduced-motion:no-preference){button{transition:background .12s}}@media(prefers-color-scheme:dark){:root{background:#14251e;color:#edf1e7;--green:#b9d4ac;--paper:#20352a;--muted:#b1c0b2;--line:#3e5143}.top{border-color:var(--line)}button{color:#dbe8d2}.primary,.pills .active{background:#b9d4ac;color:#15271c}.primary:hover{background:#d1e2c7}.soft,.profile,.bubble,.tag,.day,.store,.progress{background:#304735;color:#dbe8d2}.card,.composer,dialog,input,textarea,select{background:#20352a;color:#edf1e7}.tabs{background:#1a2e25f5}.tabs button.active{background:#304735}.store span.on{background:#4a6349;color:white}.day.complete{background:#3e5f39}.notice{background:#4c402d;color:#f3dfbd}button:hover{background:#354d3b}}

.composer textarea{min-width:0;flex:1}.composer button{flex-shrink:0}.row>*{min-width:0}
.bubble.assistant{margin-left:0;margin-right:auto;background:var(--paper);border:1px solid var(--line)}.shop-row{grid-template-columns:26px minmax(0,1fr) auto 75px 36px}.remove-item{font-size:22px;padding:0;min-height:36px}.current-week{white-space:nowrap;font-size:12px}.balance{color:#805c2b;font-size:12px}.repeat{margin-left:10px;min-height:36px;padding:5px 9px;font-size:12px}.allocation{margin-top:14px}

.day-grid{grid-template-columns:repeat(7,minmax(0,1fr))}.day{min-width:0;overflow-wrap:anywhere}
.suggestions{margin-top:18px}.suggestion{padding:17px}.suggestion h3{margin-top:9px}.suggestion .choice{display:flex;gap:9px;flex-wrap:wrap;margin-top:14px}.suggestion .choice button{flex:1}.suggestion .decision{margin:12px 0 0;color:var(--muted);font-weight:650}.suggestion .decision.yes{color:var(--green)}
.cooked{opacity:.68}.cooked .title{text-decoration:line-through}.cooked .balance{display:none}
.meal-actions{margin-top:12px}.meal-actions .repeat{margin-left:0}
.quick-meal .choice{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.quick-meal .choice button{flex:1}
