:root{color-scheme:light;font-family:Inter,"PingFang SC","Microsoft YaHei",system-ui,sans-serif;--ink:#18342d;--muted:#708079;--green:#143a32;--green-2:#285e4f;--lime:#ddefa9;--cream:#f5f3e9;--paper:#fcfbf5;--tomato:#ef765d;--line:rgba(20,58,50,.12);background:#e9ede5;color:var(--ink)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:linear-gradient(135deg,#e7ece3,#f0eee4)}button,input,select{font:inherit}button{cursor:pointer}.app-shell{display:grid;grid-template-columns:235px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:26px 18px;background:var(--green);color:#eef7ee}.brand{display:flex;align-items:center;gap:11px;padding:0 8px 28px;border-bottom:1px solid rgba(255,255,255,.13)}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--lime);color:var(--green);font:800 20px Georgia,serif;box-shadow:0 8px 30px rgba(221,239,169,.16)}.brand strong,.brand small{display:block}.brand small{color:#a9beb6;font-size:12px;margin-top:2px}.sidebar nav{display:grid;gap:6px;margin-top:24px}.nav-item{display:flex;align-items:center;gap:13px;width:100%;padding:12px 13px;border:0;border-radius:11px;background:transparent;color:#a9beb6;text-align:left}.nav-item span{font:500 12px Georgia,serif;color:#718f84}.nav-item:hover,.nav-item.active{background:rgba(255,255,255,.1);color:white}.waste-card{margin-top:auto;padding:18px;border-radius:16px;background:linear-gradient(145deg,#305e4f,#1e493d);border:1px solid rgba(255,255,255,.11)}.waste-card b{display:block;font:500 34px Georgia,serif;color:var(--lime)}.waste-card span,.waste-card small{display:block}.waste-card span{font-size:13px}.waste-card small{margin-top:6px;color:#a9beb6;font-size:11px}.local-note{display:flex;align-items:center;gap:9px;padding:20px 9px 0}.local-note>span{width:8px;height:8px;border-radius:50%;background:var(--lime);box-shadow:0 0 14px var(--lime)}.local-note b,.local-note small{display:block;font-size:11px}.local-note small{color:#8fa79e;margin-top:2px}main{padding:26px clamp(22px,4vw,56px) 50px;min-width:0}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.topbar p{color:var(--muted);font-size:13px;margin:0 0 4px}.topbar h1{font:500 clamp(26px,3.4vw,40px)/1.1 Georgia,"Noto Serif SC",serif;margin:0}.top-actions{display:flex;gap:8px}.primary,.ghost{border:0;border-radius:11px;padding:11px 15px;font-weight:750}.primary{background:var(--green);color:white}.ghost{background:transparent;color:var(--green);border:1px solid var(--line)}.hero{position:relative;height:310px;overflow:hidden;border-radius:24px;background:#263c35;box-shadow:0 24px 70px rgba(24,52,45,.12)}.hero img{width:100%;height:100%;object-fit:cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,28,23,.88),rgba(9,28,23,.44) 44%,rgba(9,28,23,.02) 75%)}.hero-copy{position:absolute;left:34px;top:50%;transform:translateY(-50%);width:min(430px,60%);color:white}.hero-copy p,.kicker{font-size:11px;font-weight:800;letter-spacing:.16em;margin:0 0 10px;color:#688077}.hero-copy p{color:var(--lime)}.hero-copy h2{font:500 clamp(30px,4vw,48px)/1.05 Georgia,"Noto Serif SC",serif;margin:0 0 12px}.hero-copy span{color:#d1ddd8;line-height:1.6}.hero-action{position:absolute;right:22px;bottom:22px;display:flex;align-items:center;gap:20px;border:0;border-radius:13px;background:var(--lime);color:var(--green);padding:12px 14px 12px 17px;font-weight:750}.hero-action b{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:var(--green);color:white}.metrics{display:grid;grid-template-columns:repeat(4,1fr);margin-top:14px;border:1px solid var(--line);border-radius:17px;background:rgba(252,251,245,.7);overflow:hidden}.metrics article{padding:17px 20px;border-right:1px solid var(--line)}.metrics article:last-child{border:0}.metrics span,.metrics small{display:block;color:var(--muted);font-size:12px}.metrics b{display:inline-block;font:500 30px Georgia,serif;margin:6px 5px 0 0}.content-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(330px,.8fr);gap:14px;margin-top:14px;align-items:start}.panel{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:23px;box-shadow:0 15px 45px rgba(25,50,43,.055)}.inventory-panel{grid-row:span 2}.section-head{display:flex;justify-content:space-between;align-items:center;gap:15px}.section-head h2{font:500 27px Georgia,"Noto Serif SC",serif;margin:0}.filters{display:flex;gap:4px;padding:4px;border-radius:10px;background:#edf0e8}.filters button{border:0;background:transparent;color:var(--muted);border-radius:8px;padding:7px 9px;font-size:12px}.filters button.active{background:white;color:var(--green);box-shadow:0 3px 12px rgba(0,0,0,.06)}.inventory-list{display:grid;gap:8px;margin-top:19px}.ingredient{display:grid;grid-template-columns:42px 1fr auto;gap:12px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:13px;background:white}.ingredient-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#edf3dd;font-size:20px}.ingredient b,.ingredient small{display:block}.ingredient small{color:var(--muted);margin-top:4px;font-size:12px}.ingredient-status{display:flex;align-items:center;gap:8px}.expiry{padding:6px 8px;border-radius:8px;background:#edf3dd;color:#4f6832;font-size:11px}.expiry.soon{background:#fbe4dc;color:#a2432e}.ingredient-menu{display:flex;gap:3px}.ingredient-menu button{border:0;background:transparent;color:#84928d;padding:5px;font-size:12px}.agent-chip{padding:6px 9px;border-radius:99px;background:#e8f0d0;color:#45602c;font-size:11px;font-weight:800}.planner-controls{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin:17px 0}.planner-controls label{font-size:12px;color:var(--muted)}label{display:grid;gap:7px;margin:12px 0;font-size:14px;font-weight:650}input,select{width:100%;border:1px solid #cbd3cd;border-radius:10px;padding:10px 11px;background:white;color:var(--ink);outline:none}input:focus,select:focus{border-color:#54917f;box-shadow:0 0 0 3px rgba(84,145,127,.12)}.plan-button{display:flex;justify-content:space-between;width:100%;border:0;border-radius:11px;padding:13px 15px;background:var(--green);color:white;font-weight:750}.meal-result{margin-top:16px}.empty-state,.empty-list{padding:20px;border:1px dashed #bec8c1;border-radius:12px;color:var(--muted);text-align:center;line-height:1.6}.meal-card{overflow:hidden;border-radius:15px;background:#edf2e6;border:1px solid #dfe7d7}.meal-main{padding:17px}.meal-top{display:flex;justify-content:space-between;gap:10px}.meal-top h3{font:500 24px Georgia,"Noto Serif SC",serif;margin:0}.match{color:#3a6e5b;font-size:12px;font-weight:800}.meal-main p{color:var(--muted);font-size:13px;line-height:1.55}.meal-tags{display:flex;flex-wrap:wrap;gap:5px}.meal-tags span{padding:5px 7px;border-radius:7px;background:white;color:#587067;font-size:11px}.missing{margin-top:11px;color:#a24e38!important}.meal-actions{display:flex;border-top:1px solid #d8e1d2}.meal-actions button{flex:1;border:0;padding:11px;background:transparent;color:var(--green);font-weight:700}.meal-actions button:first-child{background:var(--lime)}.quick-add{display:flex;gap:7px;margin-top:16px}.quick-add input{flex:1}.quick-add button{border:0;border-radius:10px;padding:0 15px;background:var(--green);color:white;font-weight:700}.shopping-list{display:grid;gap:7px;margin-top:13px}.shop-item{display:flex;align-items:center;gap:10px;padding:10px 2px;border-bottom:1px solid var(--line)}.shop-item input{width:17px;height:17px;accent-color:var(--green)}.shop-item span{flex:1}.shop-item.bought span{text-decoration:line-through;color:#9aa49f}.shop-item button,.text-button{border:0;background:transparent;color:var(--muted)}.text-button{text-decoration:underline;font-size:12px}.shopping-panel{grid-column:2}.dialog-head{display:flex;justify-content:space-between}.dialog-head h2{font:500 29px Georgia,"Noto Serif SC",serif;margin:0}.close-button{border:0;background:transparent;color:var(--muted);font-size:28px}dialog{width:min(620px,calc(100% - 26px));border:1px solid var(--line);border-radius:22px;padding:0;background:var(--paper);color:var(--ink);box-shadow:0 35px 120px rgba(0,0,0,.3)}dialog::backdrop{background:rgba(9,26,21,.66);backdrop-filter:blur(7px)}dialog form{padding:25px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.toast{position:fixed;z-index:30;left:50%;bottom:25px;transform:translate(-50%,18px);background:var(--green);color:white;padding:11px 17px;border-radius:99px;opacity:0;pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:980px){.app-shell{grid-template-columns:82px minmax(0,1fr)}.sidebar{padding:22px 12px}.brand{justify-content:center;padding:0 0 24px}.brand div,.nav-item:not(.active){font-size:0}.nav-item{justify-content:center;padding:12px 6px}.nav-item span{font-size:12px}.waste-card{padding:12px;text-align:center}.waste-card span,.waste-card small,.local-note div{display:none}.local-note{justify-content:center}.content-grid{grid-template-columns:1fr}.inventory-panel{grid-row:auto}.shopping-panel{grid-column:auto}}
@media(max-width:680px){.app-shell{display:block}.sidebar{position:static;height:auto;display:flex;flex-direction:row;align-items:center;padding:11px 12px}.brand{padding:0;border:0}.brand div{display:block}.sidebar nav{display:none}.waste-card,.local-note{display:none}main{padding:18px 12px 35px}.topbar{align-items:flex-start}.topbar h1{font-size:25px}.top-actions .ghost{display:none}.primary{padding:10px 11px}.hero{height:390px}.hero-shade{background:linear-gradient(0deg,rgba(9,28,23,.88),rgba(9,28,23,.08) 78%)}.hero-copy{left:22px;bottom:70px;top:auto;transform:none;width:calc(100% - 44px)}.hero-action{left:20px;right:20px;justify-content:space-between}.metrics{grid-template-columns:1fr 1fr}.metrics article:nth-child(2){border-right:0}.metrics article:nth-child(-n+2){border-bottom:1px solid var(--line)}.content-grid{grid-template-columns:1fr}.panel{padding:18px}.section-head{align-items:flex-start}.filters{overflow:auto}.planner-controls{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.ingredient{grid-template-columns:38px 1fr}.ingredient-status{grid-column:2;justify-content:space-between}.ingredient-icon{width:38px;height:38px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.toast{transition:none}}

.inventory-tools{display:grid;grid-template-columns:1fr 150px;gap:8px;margin-top:17px}.inventory-tools input,.inventory-tools select{margin:0}.alternatives{display:grid;gap:7px;margin-top:10px}.alternatives:empty{display:none}.alternative{display:flex;justify-content:space-between;align-items:center;width:100%;border:1px solid var(--line);border-radius:11px;padding:10px 12px;background:white;color:var(--ink);text-align:left}.alternative span{display:grid}.alternative small{color:var(--muted);margin-top:3px}.alternative b{color:var(--green-2);font-size:12px}.history-panel{grid-column:1/-1}.history-list{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:17px}.history-item{padding:15px;border:1px solid var(--line);border-radius:13px;background:white}.history-item b,.history-item span,.history-item small{display:block}.history-item span{color:var(--muted);font-size:12px;margin-top:6px}.history-item small{color:#658149;margin-top:9px}.cook-dialog{width:min(670px,calc(100% - 26px))}.cook-shell{padding:26px}.cook-meta{display:flex;flex-wrap:wrap;gap:7px;margin:15px 0}.cook-meta span{padding:6px 9px;border-radius:8px;background:#edf2e6;color:#537064;font-size:12px}.timer{display:flex;justify-content:space-between;align-items:center;margin:15px 0;padding:18px;border-radius:15px;background:var(--green);color:white}.timer b{font:500 38px Georgia,serif;letter-spacing:.04em}.timer button{border:0;border-radius:9px;padding:9px 11px;background:var(--lime);color:var(--green);font-weight:750}.timer .ghost{color:white;border-color:rgba(255,255,255,.25)}.cook-steps{display:grid;gap:9px;margin:18px 0;padding:0;list-style:none;counter-reset:steps}.cook-steps li{counter-increment:steps;display:flex;align-items:flex-start;gap:11px;padding:13px;border:1px solid var(--line);border-radius:12px;background:white;cursor:pointer}.cook-steps li::before{content:counter(steps);display:grid;place-items:center;flex:0 0 27px;width:27px;height:27px;border-radius:8px;background:#e8eedc;color:var(--green);font-weight:800}.cook-steps li.done{opacity:.55;text-decoration:line-through}.cook-steps li.done::before{content:"✓";background:var(--green);color:white}.finish-cook{width:100%;padding:13px}.section-head>div+div{display:flex;gap:5px}
@media(max-width:680px){.inventory-tools{grid-template-columns:1fr}.history-list{grid-template-columns:1fr}.timer{display:grid;gap:12px}.cook-shell{padding:20px}.section-head>div+div{margin-top:7px}}
