@import "https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@400;500;600;700&family=Playfair+Display:wght@600&display=swap";:root{color:#263229;font-synthesis:none;background:#f6f1e7;font-family:Noto Sans SC,system-ui,sans-serif}*{box-sizing:border-box}body{background:#f6f1e7;min-width:320px;margin:0}button,input,select{font:inherit}button{cursor:pointer;border:0}button:focus-visible,input:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #b6d4bc}.app-shell{background:#fffdf8;max-width:760px;min-height:100dvh;margin:auto;padding-bottom:92px}.topbar{height:calc(64px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 20px 0;border-bottom:1px solid #eee8dc;align-items:center;gap:9px;font-weight:700;display:flex}.brand-mark{color:#4d7657;font-size:19px}.quiet-button{color:#426c4d;background:0 0;margin-left:auto;padding:11px 3px;font-size:14px;font-weight:700}.content{padding:28px 20px 20px}.page-intro{margin-bottom:24px}.page-intro h1{letter-spacing:-.6px;margin:3px 0 8px;font-family:Playfair Display,Noto Sans SC,serif;font-size:clamp(30px,7vw,38px);line-height:1.2}.page-intro>p:last-child{color:#69746c;margin:0;font-size:14px}.eyebrow{color:#75857a;letter-spacing:.08em;margin:0;font-size:12px;font-weight:700}.expiry-card{background:#f6e9cd;border-radius:18px;justify-content:space-between;gap:16px;margin-bottom:28px;padding:18px;display:flex}.expiry-card h2{margin:5px 0;font-size:17px}.expiry-card p:not(.eyebrow){color:#78674b;margin:0;font-size:14px}.expiry-card button{color:#795f31;white-space:nowrap;background:#fffaf0;border-radius:10px;align-self:center;padding:11px 13px;font-weight:700}.inventory-overview{background:#f4f5ef;border-radius:18px;margin:0 0 15px;padding:17px}.inventory-overview h2{margin:5px 0;font-size:18px}.inventory-overview p:last-child{color:#68736a;margin:0;font-size:14px}.copy-card{background:#f1f5ed;border:1px solid #dfe9dc;border-radius:18px;margin:0 0 28px;padding:17px}.copy-card h2{margin:5px 0 14px;font-size:17px}.copy-actions{align-items:stretch;gap:9px;display:flex}.copy-button{color:#fff;background:#416a4b;border-radius:12px;flex:1;min-height:46px;padding:10px 14px;font-weight:700}.preview-button{color:#416a4b;white-space:nowrap;background:#fffdf8;border:1px solid #cadac8;border-radius:12px;min-height:46px;padding:10px 13px;font-weight:700}.copy-feedback{color:#416a4b;margin:11px 2px 0;font-size:13px;font-weight:700}.copy-preview{white-space:pre-wrap;overflow-wrap:anywhere;color:#425047;background:#fffdf8;border:1px solid #dce5d9;border-radius:11px;max-height:260px;margin:14px 0 0;padding:13px;font-family:inherit;font-size:13px;line-height:1.65;overflow:auto}.section-label{margin:0 0 12px;font-size:14px;font-weight:700}.meal-grid{gap:12px;display:grid}.meal-card{background:#e7f0e4;border-radius:18px;padding:18px}.meal-card:nth-child(2){background:#ecf0e7}.meal-top{color:#55715c;justify-content:space-between;font-size:12px;display:flex}.meal-card h2{margin:15px 0 5px;font-size:20px}.meal-card p{color:#506353;margin:0 0 15px;font-size:14px}.meal-card button{color:#305e3b;background:0 0;padding:4px 0;font-weight:700}.meal-card button span{padding-left:5px}.quick-input{margin-top:28px;padding:18px 0}.quick-input label{margin-bottom:10px;font-size:15px;font-weight:700;display:block}.quick-input div{align-items:stretch;gap:8px;display:flex}.quick-input input{background:#fff;border:1px solid #d9dcd6;border-radius:12px;width:100%;min-width:0;padding:13px;font-size:14px}.quick-input input::placeholder{color:#9aa29b}.quick-input button,.primary{color:#fff;background:#416a4b;border-radius:12px;padding:0 15px;font-weight:700}.notice{color:#4d7657;margin:10px 2px 0;font-size:13px}.bottom-nav{z-index:5;width:min(760px,100%);padding:9px 20px max(9px, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffdf8f2;border-top:1px solid #ebe6dc;justify-content:space-around;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.bottom-nav button{color:#7f887f;background:0 0;flex-direction:column;align-items:center;gap:4px;width:30%;padding:6px 0;font-size:12px;display:flex}.bottom-nav button span{font-size:19px;line-height:18px}.bottom-nav .active{color:#3d714b;font-weight:700}.row-heading{justify-content:space-between;align-items:flex-end;gap:10px;display:flex}.primary{white-space:nowrap;min-height:44px}.item-list{gap:10px;display:grid}.ingredient{background:#fff;border:1px solid #ebe8df;border-radius:15px;align-items:center;gap:12px;padding:13px;display:flex}.food-icon{color:#55715c;background:#eef4eb;border-radius:13px;flex:0 0 42px;place-items:center;height:42px;font-weight:700;display:grid}.ingredient-main{min-width:0}.ingredient h2{margin:0 0 3px;font-size:16px}.ingredient p{color:#778278;margin:0;font-size:13px}.status{font-weight:700}.status.快没了{color:#a46835}.ingredient-actions{text-align:right;flex-direction:column;justify-content:space-between;align-self:stretch;gap:8px;margin-left:auto;display:flex}.expiry{color:#778278;font-size:12px}.expiry.priority{color:#a66a2d;font-weight:700}.expiry.today{color:#9a5c24;font-weight:700}.expiry.expired{color:#a94e47;font-weight:700}.ingredient-actions div{justify-content:flex-end;align-items:center;gap:8px;display:flex}.ingredient-actions button{color:#487152;background:0 0;padding:4px;font-size:12px}.ingredient-actions .delete{color:#99726b;font-size:20px;line-height:14px}.empty{color:#778278;text-align:center;padding:40px 15px}.category-list{gap:22px;display:grid}.ingredient-group>h2{color:#59685d;margin:0 0 9px;font-size:14px;font-weight:700}.ingredient h3{margin:0 0 3px;font-size:16px}.shopping-list{gap:13px;display:grid}.shop-group{background:#edf4e9;border-radius:17px;padding:17px}.shop-group.group-1{background:#f7f0de}.shop-group.group-2{background:#f0f0ed}.shop-group h2{margin:0 0 4px;font-size:17px}.shop-group p{color:#6c756d;margin:0;font-size:13px}.shop-group ul{flex-wrap:wrap;gap:8px;margin:15px 0 0;padding:0;list-style:none;display:flex}.shop-group li{background:#ffffffb8;border-radius:20px;align-items:center;gap:7px;padding:7px 8px 7px 10px;font-size:14px;display:flex}.dot{background:#5d8a66;border-radius:50%;width:7px;height:7px}.group-1 .dot{background:#bd913d}.group-2 .dot{background:#939a94}.shop-group li button{color:#58715d;background:0 0;padding:0 0 0 3px}.shop-group.consider{background:#f7f0de}.shop-group.deferred{background:#f0f0ed}.shopping-items{gap:8px;margin-top:14px;display:grid}.shopping-item{background:#ffffffc2;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:11px;display:flex}.shopping-item h3{margin:0 0 3px;font-size:15px}.shopping-item p{margin:0;font-size:12px}.shopping-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:5px;display:flex}.shopping-actions button{color:#487152;background:0 0;min-height:32px;padding:6px 8px;font-size:12px;font-weight:700}.shopping-actions .buy{color:#fff;background:#416a4b;border-radius:8px}.shopping-actions .delete{color:#99726b;font-size:20px;line-height:1}.shopping-empty{background:#f4f5ef;border-radius:16px;margin-bottom:16px}.overlay{z-index:10;background:#1c271e59;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.modal{width:min(600px,100%);padding:22px 20px calc(20px + env(safe-area-inset-bottom));background:#fffdf8;border-radius:22px 22px 0 0;box-shadow:0 -5px 30px #0000001f}.modal-header{justify-content:space-between;align-items:center;margin-bottom:17px;display:flex}.modal h2{margin:0;font-size:21px}.modal-header button{color:#6b746d;background:0 0;font-size:25px}.modal label{gap:7px;margin-bottom:15px;font-size:14px;font-weight:700;display:grid}.modal input,.modal select{background:#fff;border:1px solid #d9dcd6;border-radius:10px;width:100%;padding:12px}.modal fieldset{border:0;margin:0 0 15px;padding:0}.modal legend{margin-bottom:8px;font-size:14px;font-weight:700}.choice-row{flex-wrap:wrap;gap:7px;display:flex}.choice-row button{color:#647067;background:#f1f1ed;border-radius:9px;padding:9px 11px;font-size:13px}.choice-row .selected{color:#305e3b;background:#dcebd9;font-weight:700}.wide{width:100%;padding:13px}.confirm{border-radius:18px;align-self:center;width:min(400px,100% - 40px);margin:20px}.confirm p{color:#68736a;font-size:14px}.confirm-actions{gap:10px;margin-top:21px;display:flex}.confirm-actions button{color:#526057;background:#eff0ec;border-radius:10px;flex:1;padding:12px;font-weight:700}.confirm-actions .danger{color:#fff;background:#a9584f}.purchase-confirm label{gap:7px;margin-top:18px;font-size:14px;font-weight:700;display:grid}.purchase-confirm input{background:#fff;border:1px solid #d9dcd6;border-radius:10px;width:100%;padding:12px}.purchase-confirm .primary{padding:12px 8px}@media (width>=640px){.content{padding:42px 52px 28px}.topbar{height:64px;padding:0 52px}.meal-grid{grid-template-columns:1fr 1fr}.expiry-card{padding:22px}.overlay{align-items:center}.modal{border-radius:20px}.ingredient{padding:14px 16px}.copy-card{padding:20px}.copy-actions{justify-content:flex-start}.copy-button{flex:none}}
