:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#1d352e;background:#f7faf6;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-height:100vh}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.6;cursor:wait}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.055em;font-size:clamp(33px,6vw,48px);line-height:1.1;margin-bottom:11px}h2{letter-spacing:-.035em}.layout{max-width:1000px;margin:auto;min-height:100vh;position:relative}.site-header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 24px;border-bottom:1px solid #e6ebe6;background:#f8fbf7f5}.brand{display:flex;align-items:center;gap:11px}.brand .logo{height:45px;width:45px;display:grid;place-items:center;background:#d9ebdc;border-radius:15px;font-size:25px}.brand strong{display:block;font-size:19px;letter-spacing:-.04em}.brand small{display:block;color:#7a8d83;font-size:11px}.header-right{display:flex;align-items:center;gap:18px}.date{font-size:13px;text-transform:capitalize;color:#7b8d80}.avatar{background:#c9e3d1;color:#215139;display:grid;place-items:center;width:37px;height:37px;font-weight:700;border-radius:50%}.main-content{max-width:780px;margin:0 auto;padding:38px 24px 115px}.intro{margin:0 0 27px}.eyebrow{letter-spacing:.16em;font-size:11px;font-weight:800;color:#388668;margin-bottom:11px}.intro h1{font-weight:790}.spark{color:#e7b44b;font-size:.7em}.intro p{color:#768d7d;margin-bottom:0;font-size:15px}.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:23px}.stat{background:#fff;border:1px solid #e3ece4;box-shadow:0 3px 16px #20432806;border-radius:18px;padding:18px 19px;min-height:110px;position:relative}.stat.soft{background:#e5f3e8;border-color:#e5f3e8}.stat span{display:block;font-size:12px;color:#798d80;margin-bottom:10px}.stat strong{font-size:35px;font-weight:750;letter-spacing:-.06em;line-height:1}.stat small{position:absolute;bottom:17px;right:17px;font-size:11px;color:#4b8c69}.actions{display:flex;gap:11px;margin:0 0 22px}.primary,.secondary,.danger-outline,.hero-button{border-radius:13px;padding:13px 19px;display:inline-flex;justify-content:center;align-items:center;gap:10px;font-weight:700;font-size:14px;border:1px solid transparent;min-height:46px}.primary{color:#fff;background:#185541}.primary:hover{background:#0b4734}.secondary{background:#fff;border-color:#dbe5de;color:#275443}.secondary:hover{background:#edf5ef}.danger-outline{border-color:#ebcac6;color:#a44237;background:#fff}.fill{width:100%}.toolbar{margin-bottom:16px}.search-box{display:flex;align-items:center;gap:8px;border:1px solid #e0eae1;background:#fff;border-radius:13px;padding:0 13px;color:#86998b}.search-box:focus-within{outline:2px solid #b0d6c0}.search-box input{width:100%;padding:13px 0;min-height:47px;outline:0;border:0;background:transparent;font-size:14px;color:#1c342a}.chips{display:flex;gap:8px;overflow:auto;margin-bottom:25px}.chip{padding:8px 14px;border-radius:99px;background:#fff;color:#728678;border:1px solid #e4ebe3;white-space:nowrap;font-size:12px;font-weight:700}.chip.selected{background:#e1eee5;color:#235940;border-color:#bbddc7}.list-heading{display:flex;justify-content:space-between;align-items:baseline;margin:26px 0 15px;gap:12px}.list-heading h2{font-size:19px;margin:0}.list-heading span{font-size:12px;color:#81938a}.item-list{display:grid;gap:9px}.item-card{background:#fff;border:1px solid #e6ebe4;padding:14px 15px;border-radius:16px;display:flex;gap:12px;align-items:center;min-width:0}.item-badge{width:44px;height:44px;flex-shrink:0;display:grid;place-items:center;background:#f1f6ef;border-radius:12px;font-size:24px}.item-main{flex:1;min-width:0}.item-name{font-weight:720;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:4px}.item-meta{color:#92a195;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.expiry{display:inline-block;margin-top:5px;color:#7c9183;font-size:10px}.expiry.warning{color:#9d6b17}.expiry.urgent{color:#c35143}.qty{display:flex;gap:7px;align-items:center}.qty button{background:#eff5ef;border:0;border-radius:10px;display:grid;place-items:center;width:30px;height:34px;color:#35644e}.qty span{display:flex;flex-direction:column;text-align:center;min-width:31px;line-height:1.25;font-size:16px;font-weight:750}.qty small{font-size:10px;font-weight:400;color:#8da093}.edit-btn,.icon-button{border:0;background:transparent;color:#8fa093;padding:7px;border-radius:9px}.edit-btn:hover,.icon-button:hover{background:#edf2ee}.empty{background:#fff;border:1px dashed #cedecf;border-radius:18px;padding:38px 20px;text-align:center}.empty span{display:block;font-size:34px;margin-bottom:10px}.empty strong{display:block}.empty p{color:#839286;margin:8px 0 0;font-size:13px}.bottom-nav{position:fixed;bottom:0;left:0;right:0;margin:auto;max-width:1000px;background:#fffffffa;box-shadow:0 -7px 25px #0a1e140f;border-top:1px solid #e9efea;display:flex;justify-content:center;padding:9px 12px max(11px,env(safe-area-inset-bottom));z-index:5}.bottom-nav button{background:none;border:0;color:#93a299;display:flex;flex-direction:column;align-items:center;gap:4px;font-size:11px;font-weight:650;width:115px;padding:6px 0}.bottom-nav button.active{color:#195841}.bottom-nav button.active svg{stroke-width:2.4}.demo-banner,.offline-banner{padding:10px 23px;background:#fff2cf;color:#745419;font-weight:650;text-align:center;font-size:12px}.offline-banner{background:#fce9de;color:#9c4937}.hero-meal{display:flex;justify-content:space-between;align-items:center;border-radius:22px;background:#dcf0de;min-height:210px;padding:27px;overflow:hidden}.hero-eyebrow{letter-spacing:.13em;font-size:11px;color:#347750;font-weight:800;margin-bottom:9px}.hero-meal h2{font-size:28px;max-width:380px;line-height:1.05;margin-bottom:10px}.hero-meal p{font-size:13px;color:#527c5e;max-width:290px}.hero-button{background:#fff;color:#1d5941;border:none;padding:10px 14px;min-height:41px;font-size:12px}.hero-emoji{font-size:clamp(70px,14vw,124px);margin-left:16px;filter:drop-shadow(0 10px 8px rgba(12,80,50,.09))}.recipe-list{display:grid;gap:9px}.recipe-card{border:1px solid #e4ece4;background:#fff;border-radius:16px;display:flex;align-items:center;gap:14px;padding:14px 16px;text-align:left;color:inherit;width:100%}.recipe-card:hover{background:#f7fbf7}.recipe-icon{width:49px;height:49px;background:#f2f6ee;border-radius:13px;display:grid;place-items:center;font-size:27px}.recipe-info{flex:1;min-width:0}.recipe-info strong{display:block;font-size:15px;margin-bottom:5px}.recipe-info span{display:flex;align-items:center;gap:4px;color:#849588;font-size:12px}.match{white-space:nowrap;font-size:11px;color:#976b36;background:#fff2df;padding:6px 9px;border-radius:99px;font-weight:700}.match.complete{background:#e3f1e8;color:#2c7854}.hint{border:1px dashed #c8ddcb;color:#6c816d;background:#fff;border-radius:15px;padding:22px;font-size:13px}.fineprint{margin:23px 0 0;color:#819386;font-size:12px;line-height:1.6}.settings-card{background:#fff;border:1px solid #e4ece4;padding:26px;border-radius:19px;margin-bottom:15px}.settings-icon{width:49px;height:49px;display:grid;place-items:center;background:#edf5e9;color:#276b4a;border-radius:15px;margin-bottom:17px}.settings-card h2{font-size:21px;margin-bottom:9px}.settings-card h3{font-size:17px;margin-bottom:10px}.settings-card p{color:#778d7e;font-size:14px;line-height:1.7}.account-email{padding:12px 14px;background:#f5f8f4;border-radius:11px;color:#50705c;font-size:13px;margin:20px 0}.settings-card.plain{padding:23px}.login-shell{min-height:100dvh;display:flex;flex-direction:column;justify-content:center;align-items:center;background:radial-gradient(circle at 50% 0,#e1f1e6,#f8fbf6 60%);padding:40px 24px;text-align:center}.login-logo{font-size:56px;display:grid;place-items:center;margin:0 auto 18px;width:99px;height:99px;border-radius:30px;background:#d0e7d2}.login-shell h1{margin-bottom:12px}.login-shell>p{color:#718578;max-width:310px;font-size:15px;line-height:1.6;margin-bottom:28px}.login-card{width:min(100%,400px);border:1px solid #e3ebe1;background:#fff;box-shadow:0 20px 50px #1f54380f;border-radius:22px;padding:26px 23px;text-align:left}.login-card h2{margin:0 0 20px;font-size:19px}.login-card label,.sheet label{font-size:12px;display:block;font-weight:700;color:#5f7a68;margin-bottom:16px}.login-card input,.sheet input,.sheet select{display:block;width:100%;margin-top:7px;padding:12px 11px;background:#f9fbf8;border:1px solid #dfe8dd;border-radius:10px;min-height:44px;outline:none;font-size:16px;color:#213a2c}.login-card input:focus,.sheet input:focus,.sheet select:focus{border-color:#72af85;outline:2px solid #cbe8d2}.login-card small{display:block;margin-top:17px;color:#839687;font-size:11px;line-height:1.5;text-align:center}.login-foot{display:flex;align-items:center;gap:7px;color:#7a9180;margin-top:19px;font-size:11px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:11;background:#0b22157a;display:flex;align-items:flex-end;justify-content:center;padding:0}.sheet{background:#fff;box-shadow:0 -10px 45px #12361d21;width:100%;max-width:560px;border-radius:25px 25px 0 0;padding:22px 23px max(35px,env(safe-area-inset-bottom));max-height:94dvh;overflow:auto}.sheet-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:17px}.sheet h2{font-size:22px;margin:0}.sheet h3{margin:17px 0 10px}.sheet>p{color:#819485;font-size:14px;line-height:1.6}.sheet .form-row{display:flex;gap:12px}.sheet .form-row>*{flex:1;min-width:0}.sheet button.fill{margin-top:11px}.video-container{height:235px;background:#0b2115;overflow:hidden;border-radius:15px;position:relative;margin:14px 0 20px}.video-container video{width:100%;height:100%;object-fit:cover}.scan-line{position:absolute;left:15%;right:15%;height:2px;top:50%;background:#a9efb0;box-shadow:0 0 18px 5px #76cf8b77}.recipe-detail-emoji{text-align:center;font-size:82px;background:#edf7ec;border-radius:20px;padding:10px}.ingredient-list{list-style:none;padding:0;display:grid;gap:11px}.ingredient-list li{display:flex;align-items:center;gap:10px;font-size:14px}.ingredient-check{display:grid;place-items:center;border-radius:50%;width:23px;height:23px;background:#ffebe5;color:#bd624a}.ingredient-check.yes{background:#e2f3e7;color:#397f55}.ingredient-list em{font-style:normal;color:#90a295;margin-left:auto;font-size:12px}.toast{position:fixed;bottom:95px;left:50%;transform:translate(-50%);z-index:21;background:#1a4c3b;color:#fff;font-size:13px;padding:12px 17px;border-radius:13px;max-width:90vw;text-align:center;box-shadow:0 8px 20px #142f2240}.loading{min-height:100dvh;display:grid;place-items:center;color:#567861}@media(max-width:620px){.site-header{padding:16px 17px}.main-content{padding:28px 17px 105px}.date{display:none}.stat{padding:14px 11px;min-height:100px}.stat span{font-size:11px}.stat strong{font-size:30px}.stat small{display:none}.hero-meal{min-height:195px;padding:21px}.hero-meal h2{font-size:23px}.hero-emoji{font-size:75px}.actions .primary{flex:1.5}.actions .secondary{flex:1}.primary,.secondary{font-size:12px;padding:11px 12px}.qty{gap:3px}.qty button{width:28px;height:30px}.item-card{padding:11px 9px;gap:8px}.item-badge{width:37px;height:40px;font-size:20px}.item-name{font-size:13px}.edit-btn{padding:4px}.match{font-size:10px;padding:5px 6px}.recipe-card{padding:12px 9px;gap:10px}.recipe-icon{width:43px;height:43px;font-size:24px}.recipe-info strong{font-size:13px}}.craving-form{background:#fff;border:1px solid #dce8de;padding:19px;border-radius:18px;margin-bottom:13px}.craving-form>label{display:block;font-size:14px;font-weight:750;margin-bottom:10px;color:#28533d}.craving-form textarea{display:block;width:100%;min-height:89px;border:1px solid #dce8de;background:#f8fbf8;color:#234233;border-radius:12px;padding:13px;font:inherit;font-size:16px;resize:vertical}.craving-form textarea:focus{outline:2px solid #9bc8aa;border-color:#599875}.craving-footer{display:flex;justify-content:space-between;gap:13px;align-items:center;margin-top:12px}.craving-footer small{font-size:12px;color:#7a8d7c;line-height:1.4;max-width:295px}.dinner-chips{margin-bottom:12px;flex-wrap:wrap}.recipe-history{font-size:12px;color:#65816d;background:#e8f3eb;padding:10px 12px;border-radius:12px;line-height:1.6;margin-bottom:8px}.recipe-history button{border:0;background:transparent;color:#1a6443;font-weight:700;margin-left:6px;text-decoration:underline}.recipe-notice{margin:12px 0;padding:12px 15px}.recipe-sheet .ingredient-list li>span:nth-child(2){flex:1;min-width:0}.recipe-sheet .ingredient-list em{min-width:75px;text-align:right;font-size:11px}.recipe-steps{padding-left:23px;display:grid;gap:12px;color:#364e3f;line-height:1.65;font-size:14px}.recipe-steps li{padding-left:4px}@media(max-width:620px){.craving-footer{flex-direction:column;align-items:stretch}.craving-footer .primary{width:100%}.dinner-chips{margin-bottom:8px}}.undo-banner{display:flex;justify-content:space-between;align-items:center;gap:13px;margin:18px 0 14px;background:#e6f3e9;border:1px solid #c4e2cc;border-radius:14px;padding:13px 15px;color:#245f41;font-size:13px;font-weight:650}.undo-banner button{border:1px solid #88bf9a;border-radius:10px;background:#fff;color:#185541;font-size:12px;padding:10px;font-weight:750;white-space:nowrap}.cook-sheet{max-height:93dvh}.serving-picker{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border:1px solid #dce9df;border-radius:14px;background:#f7fbf8;margin:14px 0}.serving-actions{display:flex;align-items:center;gap:13px}.serving-actions button{display:grid;place-items:center;width:38px;height:38px;border:1px solid #c6dccb;border-radius:10px;background:#fff;color:#246849}.serving-actions span{font-weight:800;font-size:18px;min-width:20px;text-align:center}.cook-note{font-size:12px!important;color:#667f70!important;line-height:1.5!important;margin:12px 0!important}.cook-lines{display:grid;gap:10px}.cook-row{border:1px solid #e1e9e2;border-radius:14px;padding:12px 13px;background:#fff}.cook-ingredient{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}.cook-ingredient strong{font-size:13px}.cook-ingredient span{font-size:12px;color:#6e8976;text-align:right}.cook-fields{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(95px,.85fr);gap:10px}.cook-fields label{margin:0;font-size:11px}.cook-fields input,.cook-fields select{margin-top:5px;font-size:14px;width:100%;min-width:0}.cook-fields input{text-align:right}.cook-warning{font-size:11px;color:#996319;background:#fff3df;padding:8px 10px;border-radius:8px;margin-top:10px}.cook-muted{font-size:11px;color:#84998b;margin-top:8px}@media(max-width:620px){.undo-banner{flex-direction:column;align-items:stretch}.undo-banner button{width:100%}.cook-fields{grid-template-columns:minmax(0,1.5fr) minmax(88px,.8fr)}.cook-sheet{padding-left:15px;padding-right:15px}}.pantry-dinner-cta,.pantry-suggestions-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#e4f3e7;border:1px solid #cce6d3;border-radius:17px;padding:17px 18px;margin-bottom:18px}.pantry-dinner-cta div,.pantry-suggestions-toolbar div{display:flex;flex-direction:column;gap:6px}.pantry-dinner-cta strong,.pantry-suggestions-toolbar strong{font-size:15px;color:#235940}.pantry-dinner-cta span,.pantry-suggestions-toolbar span{color:#667f6d;font-size:12px}.pantry-suggestions-toolbar{background:#fff}.craving-optional{margin-top:23px}.craving-optional label small{font-weight:500;color:#84948a}.uncertain{font-size:11px;color:#976b36;display:block;margin-top:4px}@media(max-width:620px){.pantry-dinner-cta,.pantry-suggestions-toolbar{flex-direction:column;align-items:stretch}.pantry-dinner-cta .primary,.pantry-suggestions-toolbar .primary{width:100%}.recipe-card .match{white-space:normal;text-align:center;max-width:98px}.recipe-info span{display:block!important;font-size:10px!important}}
