@import "https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@500;600;700&family=Nunito:wght@500;600;700;800&display=swap";:root{--cream:#f8f3e9;--paper:#fffdf8;--ink:#2f3a2f;--muted:#7f8878;--green:#315d48;--green-2:#587d64;--sage:#dfe8d6;--orange:#df794f;--gold:#edb668;--line:#e7dfd1;--shadow:0 18px 55px #424a391f}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:var(--cream);margin:0;font-family:Nunito,Microsoft YaHei,sans-serif}button,input,select{font:inherit}button{color:inherit}main{background:radial-gradient(circle at 70% 5%, #edb6682e, transparent 22%), var(--cream);min-height:100vh;overflow:hidden}.topbar{z-index:20;align-items:center;gap:22px;max-width:1240px;height:82px;margin:auto;padding:0 24px;display:flex;position:relative}.brand{cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;font:700 21px Noto Serif SC,serif;display:flex}.brand-mark{background:var(--orange);border-radius:50%;place-items:center;width:38px;height:38px;display:grid;box-shadow:inset 0 -3px #00000014}.sync-pill{border:1px solid var(--line);background:#ffffffb3;border-radius:20px;margin-left:auto;padding:8px 12px;font-size:13px}.sync-pill i{background:#5c9b67;border-radius:50%;width:7px;height:7px;margin-right:6px;display:inline-block;box-shadow:0 0 0 4px #5c9b6721}.avatar{background:var(--green);color:#fff;border:0;border-radius:50%;width:38px;height:38px;font-weight:800}.progress-track{z-index:100;height:3px;display:flex;position:fixed;top:0;left:0;right:0}.progress-track span{background:0 0;flex:1;transition:all .5s}.progress-track span.done{background:var(--orange)}.page{min-height:calc(100vh - 82px);animation:.55s cubic-bezier(.22,.8,.25,1) both enterRight}.page.back{animation-name:enterLeft}@keyframes enterRight{0%{opacity:0;transform:translate(28px)scale(.99)}to{opacity:1;transform:none}}@keyframes enterLeft{0%{opacity:0;transform:translate(-28px)scale(.99)}to{opacity:1;transform:none}}.hero{grid-template-columns:1.05fr .95fr;align-items:center;max-width:1240px;min-height:500px;margin:0 auto;padding:56px 24px 26px;display:grid}.hero-copy{z-index:2;max-width:620px;position:relative}.eyebrow{color:var(--orange);letter-spacing:.16em;text-transform:uppercase;margin:0 0 17px;font-size:12px;font-weight:800}h1,h2,h3{font-family:Noto Serif SC,serif}.hero h1{letter-spacing:-.04em;margin:0;font-size:clamp(52px,6vw,80px);font-weight:700;line-height:1.12}.hero h1 em{color:var(--orange);font-style:normal;position:relative}.lead{color:var(--muted);margin:25px 0 30px;font-size:17px;line-height:1.8}.hero-actions{align-items:center;gap:22px;display:flex}.primary{background:var(--green);color:#fff;cursor:pointer;border:0;border-radius:14px;padding:15px 22px;font-weight:800;transition:all .25s;box-shadow:0 10px 24px #315d482e}.primary:hover{background:#244c39;transform:translateY(-2px)}.primary span{margin-left:18px}.primary:disabled{opacity:.45;cursor:not-allowed;transform:none}.primary.small{box-shadow:none;padding:11px 16px;font-size:13px}.primary.full{width:100%;margin-top:8px}.text-btn{color:var(--green);cursor:pointer;background:0 0;border:0;padding:9px 4px;font-weight:800}.outline{cursor:pointer;background:#fff9;border:1px solid #c9cdbf;border-radius:13px;padding:12px 17px;font-weight:800}.fridge-visual{place-items:center;height:430px;display:grid;position:relative}.sun{opacity:.52;background:#f1d49d;border-radius:50%;width:350px;height:350px;position:absolute}.fridge{border:7px solid var(--green);background:#e9efe1;border-radius:20px;width:210px;height:330px;position:relative;transform:rotate(1deg);box-shadow:22px 22px #315d4814}.fridge:after{content:"";background:var(--green);border-radius:0 0 10px 10px;height:10px;position:absolute;bottom:-16px;left:18px;right:18px}.fridge-top{border-bottom:7px solid var(--green);height:65%;position:relative}.handle{background:var(--green);border-radius:8px;width:8px;height:55px;position:absolute;bottom:15px;right:18px}.fridge-bottom .handle{height:38px;bottom:45px}.magnet{color:var(--orange);border:2px solid var(--orange);text-align:center;background:#fff9df;border-radius:50%;padding:7px;font-size:12px;font-weight:800;line-height:1.1;position:absolute;top:30px;left:22px;transform:rotate(-7deg)}.plant{font-size:65px;position:absolute;bottom:4px;right:12%}.float-food{background:var(--paper);width:58px;height:58px;box-shadow:var(--shadow);border-radius:50%;place-items:center;font-size:31px;animation:4s ease-in-out infinite float;display:grid;position:absolute}.f1{top:17%;left:6%}.f2{animation-delay:-1s;top:28%;right:7%}.f3{animation-delay:-2s;bottom:12%;left:15%}@keyframes float{50%{transform:translateY(-9px)rotate(3deg)}}.summary-row{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);max-width:1192px;margin:0 auto 55px;display:grid}.summary-row div{color:var(--muted);border-right:1px solid var(--line);justify-content:center;align-items:center;gap:10px;padding:19px;font-size:13px;display:flex}.summary-row div:last-child{border:0}.summary-row strong{color:var(--green);font:700 25px Noto Serif SC,serif}.section-head{justify-content:space-between;align-items:end;max-width:1192px;margin:0 auto 18px;display:flex}.section-head h2{margin:2px 0 0;font-size:28px}.kicker{color:var(--orange);letter-spacing:.18em;font-size:10px;font-weight:800}.ingredient-strip{grid-template-columns:repeat(6,1fr);gap:14px;max-width:1192px;margin:0 auto;padding-bottom:70px;display:grid}.mini-card,.add-card{border:1px solid var(--line);cursor:pointer;background:#ffffff9e;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:7px;min-height:194px;transition:all .25s;display:flex}.mini-card:hover,.add-card:hover{box-shadow:var(--shadow);background:var(--paper);transform:translateY(-5px)}.food-icon{background:#edf0df;border-radius:50%;place-items:center;width:61px;height:61px;margin-bottom:2px;font-size:34px;display:grid}.mini-card strong{font-size:15px}.mini-card small{color:var(--muted)}.days{color:#56725b;background:#e2ede1;border-radius:10px;padding:4px 8px;font-size:10px;font-weight:800;display:inline-block}.days.warn{color:#9b6c20;background:#fff0c8}.days.danger{color:#b14e34;background:#fae0d8}.add-card{color:var(--green);border-style:dashed}.add-card b{font-size:28px;font-weight:500}.content-page{max-width:1192px;margin:auto;padding:55px 24px 120px}.page-title{justify-content:space-between;align-items:end;gap:20px;margin-bottom:45px;display:flex}.page-title h1{letter-spacing:-.035em;margin:0 0 12px;font-size:clamp(36px,5vw,58px)}.page-title p:last-child{color:var(--muted);margin:0}.select-section{margin-bottom:34px}.section-head.compact{align-items:center;max-width:none;margin:0 0 15px}.section-head.compact h2{font-size:23px}.section-head h2 span{color:var(--orange);background:#f5dfce;border-radius:12px;margin-left:7px;padding:5px 8px;font:700 11px Nunito}.select-grid{grid-template-columns:repeat(6,1fr);gap:12px;display:grid}.select-card{border:1px solid var(--line);cursor:pointer;background:#ffffffa3;border-radius:17px;flex-direction:column;justify-content:center;align-items:center;gap:7px;min-height:175px;transition:all .22s;display:flex;position:relative}.select-card:hover{transform:translateY(-3px)}.select-card.selected{border:2px solid var(--green);background:#f2f5ea;box-shadow:0 12px 30px #315d481a}.select-card .check{border:1px solid #ccd2c8;border-radius:50%;place-items:center;width:21px;height:21px;font-size:12px;font-style:normal;display:grid;position:absolute;top:10px;right:10px}.select-card.selected .check{background:var(--green);color:#fff;border-color:var(--green)}.food-icon.large{width:57px;height:57px;font-size:30px}.select-card small{color:var(--muted)}.seasoning-box{border:1px solid var(--line);background:#ffffff73;border-radius:20px;padding:24px}.seasoning-list{grid-template-columns:repeat(6,1fr);gap:10px;display:grid}.seasoning-list button{border:1px solid var(--line);background:var(--paper);cursor:pointer;border-radius:13px;align-items:center;gap:8px;padding:12px;display:flex}.seasoning-list button span{font-size:22px}.seasoning-list button i{color:var(--green);margin-left:auto;font-style:normal;font-weight:800}.seasoning-list button.selected{border-color:var(--green);background:#edf3e9}.sticky-action{z-index:15;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffdf8e6;border:1px solid #ffffff80;border-radius:20px;justify-content:space-between;align-items:center;width:min(760px,100% - 32px);padding:12px 14px 12px 20px;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 16px 50px #313c2c33}.sticky-action div{align-items:center;gap:12px;font-size:13px;display:flex}.sticky-action div span{font-size:22px}.analyze-page{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:calc(100vh - 82px);padding:25px;display:flex}.pot{filter:drop-shadow(0 18px 20px #313c2c29);font-size:105px;animation:1.2s ease-in-out infinite alternate pot}.steam{color:#aab39c;height:55px;font-size:55px;animation:1.7s ease-in-out infinite steam}@keyframes pot{to{transform:rotate(2deg)translateY(-3px)}}@keyframes steam{50%{opacity:.3;transform:translateY(-8px)scaleX(1.15)}}.analyze-page h1{margin:5px 0 10px;font-size:clamp(35px,5vw,55px)}.analyze-page>p:not(.eyebrow){color:var(--muted)}.search-steps{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:28px;display:flex}.search-steps span{border:1px solid var(--line);background:#ffffffb3;border-radius:20px;padding:9px 13px;font-size:12px}.search-steps .active{color:var(--green)}.search-steps .working{color:var(--orange);animation:1s infinite blink}@keyframes blink{50%{opacity:.45}}.result-layout{grid-template-columns:minmax(0,1fr) 290px;align-items:start;gap:25px;display:grid}.recipe-list{gap:16px;display:grid}.recipe-card{border:1px solid var(--line);background:#ffffffb3;border-radius:22px;grid-template-columns:230px 1fr;min-height:235px;transition:all .25s;display:grid;overflow:hidden}.recipe-card:hover{box-shadow:var(--shadow);transform:translateY(-3px)}.recipe-card.featured{border:2px solid var(--green)}.recipe-photo{background:linear-gradient(145deg,#ebd7ac,#c8d4b6);place-items:center;font-size:93px;display:grid;position:relative}.recipe-photo b{background:var(--orange);color:#fff;border-radius:12px;padding:6px 9px;font-size:10px;position:absolute;top:13px;left:13px}.recipe-body{padding:25px}.recipe-top{justify-content:space-between;display:flex}.recipe-top small{color:var(--orange);font-weight:800}.recipe-top h2{margin:4px 0;font-size:26px}.recipe-body>p{color:var(--muted);margin:8px 0 14px}.score{background:#e3ecd9;border-radius:50%;justify-content:center;align-items:center;width:58px;height:58px;font-size:18px;font-weight:800;display:flex}.score span{color:var(--green);margin-left:2px;font-size:7px;line-height:1.05}.chips{flex-wrap:wrap;gap:6px;margin-bottom:17px;display:flex}.chips span{color:var(--green);background:#edf2e9;border-radius:9px;padding:5px 8px;font-size:10px}.chips .missing{color:#a46142;background:#f8e5da}.side-panel{background:var(--green);color:#fff;box-shadow:var(--shadow);border-radius:22px;padding:28px;position:sticky;top:25px}.side-panel h3{margin:7px 0;font-size:23px}.side-panel p{color:#dbe5dd;font-size:13px;line-height:1.6}.side-emoji{font-size:40px}.tip{border-top:1px solid #ffffff2e;flex-direction:column;gap:8px;margin-top:16px;padding-top:16px;font-size:12px;display:flex}.tip b{color:#f1c47c;margin-bottom:2px}.tip a{color:#fff;text-decoration:none}.web-search{color:#ffe1a7;margin-top:20px;font-size:12px;font-weight:800;display:block}.modal-backdrop{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);z-index:100;background:#1f271e8c;place-items:center;padding:20px;animation:.25s both fade;display:grid;position:fixed;inset:0}@keyframes fade{0%{opacity:0}}.modal{background:var(--paper);border-radius:24px;width:min(520px,100%);padding:34px;animation:.35s cubic-bezier(.2,.8,.2,1) both modalIn;position:relative;box-shadow:0 28px 80px #1419144d}@keyframes modalIn{0%{opacity:0;transform:translateY(25px)scale(.97)}}.modal h2{margin:0 0 24px;font-size:29px}.close{color:var(--muted);cursor:pointer;background:0 0;border:0;font-size:28px;position:absolute;top:15px;right:18px}.modal label{margin-bottom:15px;font-size:12px;font-weight:800;display:block}.modal input,.modal select{border:1px solid var(--line);background:#fff;border-radius:12px;outline:none;width:100%;margin-top:7px;padding:12px 13px;display:block}.modal input:focus,.modal select:focus{border-color:var(--green);box-shadow:0 0 0 3px #315d4814}.form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.form-note{color:var(--muted);background:#f0f3e9;border-radius:10px;padding:11px;font-size:11px;line-height:1.5}.recipe-modal{text-align:center}.big-dish{font-size:75px}.recipe-modal h2{margin-bottom:20px}.step-list{text-align:left;gap:11px;margin-bottom:18px;display:grid}.step-list div{align-items:start;gap:11px;display:flex}.step-list b{background:var(--green);color:#fff;border-radius:50%;flex:0 0 25px;place-items:center;height:25px;font-size:11px;display:grid}.step-list p{color:var(--muted);margin:2px 0 0;font-size:13px}.toast{background:var(--green);color:#fff;z-index:200;box-shadow:var(--shadow);border-radius:14px;padding:13px 18px;animation:.35s both toast;position:fixed;bottom:30px;left:50%;transform:translate(-50%)}@keyframes toast{0%{opacity:0;transform:translate(-50%,15px)}}.gate-shell{background:radial-gradient(circle at 18% 25%, #f1c47c59, transparent 25%), radial-gradient(circle at 80% 75%, #68916b2e, transparent 24%), var(--cream);grid-template-columns:minmax(280px,.9fr) minmax(380px,1.1fr);place-items:center;gap:clamp(28px,7vw,100px);min-height:100vh;padding:40px max(24px,7vw);display:grid}.gate-card{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffdf8db;border:1px solid #c8c2b1bf;border-radius:30px;width:min(500px,100%);padding:clamp(30px,5vw,54px);animation:.55s cubic-bezier(.2,.8,.2,1) both modalIn;box-shadow:0 30px 90px #313c2c24}.gate-card h1{letter-spacing:-.04em;margin:4px 0 15px;font-size:clamp(34px,5vw,50px)}.gate-logo{background:#f3d59e;border-radius:17px;place-items:center;width:54px;height:54px;margin-bottom:24px;font-size:28px;display:grid;box-shadow:inset 0 -3px #96662614}.gate-copy{color:var(--muted);margin:0 0 24px;line-height:1.75}.gate-card label{color:var(--green);font-size:12px;font-weight:800;display:block}.gate-card input{border:1px solid var(--line);background:#fff;border-radius:13px;outline:none;width:100%;margin-top:8px;padding:14px;display:block}.gate-card input:focus{border-color:var(--green);box-shadow:0 0 0 4px #315d4817}.gate-error{color:#aa4935;background:#fbe8df;border-radius:11px;padding:10px 12px;font-size:12px;line-height:1.5}.privacy-note{text-align:center;color:var(--muted);margin-top:17px;display:block}.gate-illustration{flex-direction:column;justify-content:center;align-items:center;width:min(430px,100%);min-height:470px;display:flex;position:relative}.gate-illustration>p{color:var(--green);text-align:center;font:700 clamp(25px,3vw,38px)/1.5 Noto Serif SC,serif}.mini-fridge{border:7px solid var(--green);width:180px;height:250px;color:var(--green);background:#eaf0e2;border-radius:23px;place-items:center;font:700 22px/1.4 Noto Serif SC,serif;display:grid;box-shadow:19px 19px #315d4814}.gate-food{background:var(--paper);width:62px;height:62px;box-shadow:var(--shadow);border-radius:50%;place-items:center;font-size:33px;animation:4s ease-in-out infinite float;display:grid;position:absolute}.gf1{top:15%;left:4%}.gf2{animation-delay:-1.4s;top:43%;right:4%}.loading-card{text-align:center;grid-column:1/-1;justify-items:center;display:grid}.loading-dots{gap:7px;margin-top:10px;display:flex}.loading-dots i{background:var(--orange);border-radius:50%;width:8px;height:8px;animation:1s infinite blink}.loading-dots i:nth-child(2){animation-delay:.2s}.loading-dots i:nth-child(3){animation-delay:.4s}.household-gate{grid-template-columns:1fr}.household-card{width:min(820px,100%)}.household-card>h1,.household-card>.gate-copy{text-align:center}.household-card>.gate-logo,.household-card>.eyebrow{text-align:center;margin-left:auto;margin-right:auto}.household-options{grid-template-columns:1fr 40px 1fr;align-items:stretch;gap:18px;margin-top:30px;display:grid}.household-options form{border:1px solid var(--line);background:#ffffff85;border-radius:20px;padding:24px}.household-options form>span{font-size:30px}.household-options h2{margin:12px 0 20px;font-size:21px}.option-divider{color:var(--muted);place-items:center;font-size:11px;display:grid;position:relative}.option-divider:before{content:"";background:var(--line);width:1px;position:absolute;top:0;bottom:0}.option-divider span{z-index:1;background:var(--paper);padding:8px 0;position:relative}.family-modal{text-align:center}.family-modal h2{margin-bottom:4px}.family-email{color:var(--muted);margin:0 0 24px;font-size:13px}.invite-box{border:1px solid var(--line);background:#f3f4e9;border-radius:18px;gap:10px;margin-bottom:15px;padding:22px;display:grid}.invite-box>span{color:var(--muted);letter-spacing:.12em;font-size:11px;font-weight:800}.invite-box strong{color:var(--green);letter-spacing:.16em;font-size:31px}.outline.full{width:100%}.danger-text{color:#a64d3b;margin-top:9px}.invite-box .share-link-mark{letter-spacing:0;font-size:38px}.mobile-nav{display:none}@media (width<=900px){.hero{text-align:center;grid-template-columns:1fr;padding-top:30px}.hero-copy{margin:auto}.hero-actions{justify-content:center}.fridge-visual{height:360px}.fridge{width:170px;height:270px}.sun{width:290px;height:290px}.plant{font-size:52px;right:22%}.ingredient-strip{grid-template-columns:repeat(3,1fr);padding-inline:24px}.section-head:not(.compact){padding-inline:24px}.select-grid,.seasoning-list{grid-template-columns:repeat(3,1fr)}.result-layout{grid-template-columns:1fr}.side-panel{position:static}.recipe-card{grid-template-columns:190px 1fr}}@media (width<=600px){main{padding-bottom:66px}.topbar{height:66px;padding:0 16px}.brand{font-size:18px}.brand-mark{width:33px;height:33px}.sync-pill{padding:9px;font-size:0}.sync-pill i{margin:0}.avatar{width:34px;height:34px}.page{min-height:calc(100vh - 66px)}.hero{min-height:auto;padding:42px 19px 15px}.hero h1{font-size:45px}.lead{margin:20px 0 23px;font-size:14px}.hero-actions{flex-direction:column;gap:7px}.primary{width:100%}.fridge-visual{height:310px}.summary-row{grid-template-columns:1fr;margin:0 16px 38px}.summary-row div{border-right:0;border-bottom:1px solid var(--line)}.summary-row div:last-child{border-bottom:0}.section-head{padding-inline:17px!important}.ingredient-strip{padding:0 17px 35px;display:flex;overflow-x:auto}.mini-card,.add-card{min-width:145px;min-height:180px}.content-page{padding:35px 16px 90px}.page-title{flex-direction:column;align-items:start;margin-bottom:30px}.page-title h1{font-size:39px}.page-title .outline{width:100%}.select-grid{grid-template-columns:repeat(2,1fr)}.select-card{min-height:165px}.seasoning-list{grid-template-columns:repeat(2,1fr)}.seasoning-box{padding:17px}.section-head.compact{padding:0!important}.sticky-action{padding:10px 10px 10px 14px;bottom:75px}.sticky-action div span{display:none}.sticky-action div strong{font-size:11px}.sticky-action .primary{width:auto;padding:13px}.analyze-page{min-height:calc(100vh - 132px)}.search-steps{flex-direction:column}.recipe-card{grid-template-columns:1fr}.recipe-photo{height:170px}.recipe-body{padding:20px}.modal{padding:28px 21px}.form-row{grid-template-columns:1fr;gap:0}.mobile-nav{z-index:50;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid var(--line);background:#fffdf8f2;justify-content:space-around;align-items:center;height:65px;display:flex;position:fixed;bottom:0;left:0;right:0}.mobile-nav button{color:#9ba092;background:0 0;border:0;flex-direction:column;align-items:center;gap:2px;font-size:20px;display:flex}.mobile-nav button span{font-size:9px;font-weight:800}.mobile-nav button.active{color:var(--green)}}@media (width<=760px){.gate-shell{grid-template-columns:1fr;padding:24px 16px}.gate-illustration{display:none}.gate-card{border-radius:24px;padding:30px 22px}.gate-card h1{font-size:37px}.household-options{grid-template-columns:1fr}.option-divider{height:28px}.option-divider:before{width:auto;height:1px;inset:50% 0 auto}.option-divider span{padding:0 10px}.household-options form{padding:20px}.invite-box strong{font-size:26px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
