:root{color:#241f18;font-synthesis:none;--paper:#f7f1e6;--paper-deep:#eee5d5;--ink:#241f18;--muted:#746b5d;--olive:#4d5a31;--olive-dark:#394322;--gold:#b68131;--rule:#3e342829;--serif:"Newsreader", Georgia, serif;background:#e8e0d2;font-family:DM Sans,system-ui,sans-serif}*{box-sizing:border-box}html{background:#e8e0d2}body{background:var(--paper);min-width:320px;min-height:100vh;margin:0}button,input,textarea{font:inherit}button{color:inherit}button:focus-visible,[tabindex]:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--gold);outline-offset:3px}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}h1,h2,h3,p{margin-top:0}.app-shell{background-color:var(--paper);background-image:radial-gradient(#59472e0d .7px,#0000 .7px);background-size:6px 6px;min-height:100vh}.app-main{width:100%;min-height:100vh}.screen{width:min(100%,1180px);margin:0 auto;padding:30px 24px 112px}.mobile-header{z-index:45;justify-content:space-between;align-items:center;padding:2px 0 28px;display:flex;position:sticky;top:0}.brand-home,.side-brand-home{text-align:left;background:0 0;border:0;padding:0;display:block}.brand-home{min-width:52px;min-height:44px}.side-brand-home{width:max-content}.brand{width:max-content;font-family:var(--serif);flex-direction:column;gap:3px;line-height:1;display:flex}.brand span{letter-spacing:.32em;margin-left:5px;font:500 9px/1 DM Sans,sans-serif;transform:translateY(-2px)}.brand strong{font-size:29px;font-weight:400;line-height:.72}.brand--compact strong{font-size:24px}.greeting{min-height:44px;color:var(--muted);background:0 0;border:0;align-items:center;gap:10px;padding:0;font-size:12px;display:flex}.sun-disc{color:#a36f1b;background:#efe2c9;border-radius:50%;place-items:center;width:34px;height:34px;display:grid}.sun-disc svg{width:17px}.eyebrow{color:var(--olive);letter-spacing:.15em;text-transform:uppercase;margin-bottom:8px;font-size:10px;font-weight:600}.home-intro h1,.page-heading h1,.detail-summary h1{font:400 clamp(39px, 7vw, 68px)/.95 var(--serif);letter-spacing:-.035em}.home-intro{margin-bottom:28px}.home-intro h1{margin-bottom:9px}.dek,.page-heading p{color:var(--muted)}.meal-type-tabs{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);grid-template-columns:repeat(3,1fr);margin-bottom:24px;display:grid}.meal-type-tabs button{background:0 0;border:0;flex-direction:column;align-items:center;gap:5px;min-height:102px;padding:14px 6px 13px;display:flex;position:relative}.meal-type-tabs button+button:before{content:"";border-left:1px solid var(--rule);height:60%;position:absolute;top:20%;left:0}.meal-type-tabs button.active{color:var(--olive);background:#656b3d12}.meal-type-tabs button.active:after{content:"";border-bottom:2px solid var(--olive);width:70%;position:absolute;bottom:-1px}.meal-type-tabs svg{stroke-width:1.35px;width:25px;height:25px}.meal-type-tabs strong{font:400 16px/1 var(--serif);text-transform:capitalize}.meal-type-tabs span{color:var(--muted);font-size:10px}.feature-card{border:1px solid var(--rule);background:#fffcf6b8;border-radius:20px;overflow:hidden;box-shadow:0 14px 45px #31281d14}.feature-image-wrap{aspect-ratio:4/2.75;background:var(--paper-deep);position:relative;overflow:hidden}.feature-image-link{cursor:pointer;touch-action:pan-y;background:0 0;border:0;width:100%;height:100%;padding:0;display:block}.feature-image-link:focus-visible{outline:3px solid var(--gold);outline-offset:-3px}.feature-image,.detail-image{object-fit:cover;width:100%;height:100%;display:block}.feature-image{transition:opacity .25s,transform .5s}.feature-card:hover .feature-image{transform:scale(1.012)}.feature-nav{z-index:2;color:#fff;pointer-events:none;justify-content:space-between;align-items:center;display:flex;position:absolute;bottom:14px;left:14px;right:14px}.feature-nav>*{pointer-events:auto}.feature-nav span{letter-spacing:.08em;background:#19150fa6;border-radius:99px;padding:6px 9px;font-size:10px}.icon-button{width:40px;height:40px;color:var(--ink);background:#faf6edf0;border:1px solid #3c32251f;border-radius:50%;place-items:center;padding:0;display:grid}.icon-button svg{width:19px}.feature-content{text-align:center;padding:25px 24px 22px}.favorite-label{color:#765018;background:#efe2c7;border-radius:99px;align-items:center;gap:6px;margin-bottom:13px;padding:5px 9px;font:500 11px/1 DM Sans,sans-serif;display:inline-flex}.favorite-label svg{width:12px;height:12px}.feature-content h2{max-width:520px;font:400 clamp(29px, 6vw, 46px)/.98 var(--serif);letter-spacing:-.025em;margin:0 auto 9px}.feature-content>p{color:#564d42;max-width:580px;font:400 17px/1.38 var(--serif);margin:0 auto 18px}.meal-meta{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);color:#514a40;justify-content:center;align-items:center;gap:16px;padding:17px 0;font-size:11px;display:flex}.meal-meta span{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.meal-meta svg{stroke-width:1.5px;width:15px;height:15px}.feature-actions{grid-template-columns:1.2fr 1fr;gap:10px;margin-top:19px;display:grid}.button{border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;gap:9px;min-height:48px;padding:0 18px;font-size:13px;font-weight:600;transition:transform .15s,background-color .15s;display:inline-flex}.button:active{transform:translateY(1px)scale(.992)}.button svg{width:16px}.button--primary{color:#fffdf7;background:var(--olive)}.button--primary:hover{background:var(--olive-dark)}.button--secondary{color:#3f4630;background:0 0;border-color:#8d9477}.button--secondary:hover{background:#4d5a3112}.full-width{width:100%}.image-fallback{background-color:#e7dfd1;background-image:linear-gradient(150deg, color-mix(in srgb, var(--meal-accent), transparent 73%), transparent 60%), radial-gradient(circle at 70% 25%, #fffc, transparent 25%);place-items:center;display:grid}.meal-mark{color:color-mix(in srgb, var(--meal-accent), #241f18 30%);text-align:center;flex-direction:column;align-items:center;gap:8px;display:flex}.meal-mark:before,.meal-mark:after{content:"";border-top:1px solid;width:56px}.meal-mark span{max-width:90px;font-family:var(--serif);letter-spacing:.08em;text-align:center;font-size:12px;line-height:1.1;display:block}.empty-menu,.empty-history{text-align:center;border:1px solid var(--rule);border-radius:18px;padding:62px 28px}.empty-menu>svg,.empty-history>svg{width:44px;height:44px;color:var(--olive);stroke-width:1px}.empty-menu h2,.empty-history h2{font:400 29px/1.05 var(--serif);margin:19px 0 8px}.empty-menu p,.empty-history p{color:var(--muted)}.empty-menu .button{margin-top:12px}.success-screen{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding-bottom:120px;animation:.32s both success-fade;display:flex}.success-screen .mobile-header{align-self:stretch}.celebration-mark{width:230px;height:230px;margin:18px auto 20px;position:relative}.celebration-mark>div{z-index:2;color:#fffdf7;background:var(--olive);border-radius:50%;place-items:center;animation:.62s cubic-bezier(.18,.9,.25,1.2) both seal-pop;display:grid;position:absolute;inset:59px;box-shadow:0 14px 38px #38432333}.celebration-mark>div svg{stroke-width:1.6px;width:48px;height:48px}.celebration-mark>span{--angle:calc(var(--i) * 45deg);--leaf-start:-47px;--leaf-rest:-92px;--leaf-exit:-108px;z-index:1;width:24px;height:24px;color:var(--gold);opacity:0;transform:rotate(var(--angle)) translateY(var(--leaf-start)) scale(.55);animation:leaf-celebrate 1.65s calc(.14s + var(--i) * 55ms) cubic-bezier(.22, .8, .25, 1) both;position:absolute;top:103px;left:103px}.celebration-mark>span:nth-child(3n){color:#7b8257}.celebration-mark>span:nth-child(2n){color:#c19042}.celebration-mark>span svg{fill:currentColor;stroke-width:1px;width:100%;height:100%}.celebration-mark--favorite>div{color:#fff3d6;background:#805f2d}.celebration-mark--favorite>span{color:#a47a34}.success-screen>.eyebrow{margin-bottom:14px}.success-screen h1{font:400 clamp(43px, 7vw, 64px)/.95 var(--serif);letter-spacing:-.035em;margin-bottom:12px}.success-message{color:#4f473c;max-width:470px;font:400 20px/1.35 var(--serif);margin-bottom:22px}.success-message strong{font-weight:500}.success-detail{color:var(--muted);font:400 16px/1.4 var(--serif);margin-bottom:30px}.success-actions{gap:10px;width:min(100%,390px);display:grid}.success-undo{font:400 14px var(--serif);text-underline-offset:3px;background:0 0;border:0;margin-top:17px;padding:8px 16px;text-decoration:underline}.page-heading{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:end;gap:24px;padding:20px 0 30px;display:flex}.page-heading h1{margin-bottom:8px}.page-heading p{margin:0}.page-heading .eyebrow{margin-bottom:17px}.menu-section{margin-top:36px}.section-title{align-items:baseline;gap:10px;margin-bottom:12px;display:flex}.section-title h2{font:400 30px/1 var(--serif);text-transform:capitalize;margin:0}.section-title span{color:var(--muted);font:400 13px var(--serif)}.menu-list{border-top:1px solid var(--rule)}.menu-row{border-bottom:1px solid var(--rule);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:15px;padding:13px 0;display:grid}.menu-row-main{text-align:left;background:0 0;border:0;grid-template-columns:82px minmax(0,1fr) auto;align-items:center;gap:15px;min-width:0;padding:0;display:grid}.menu-thumb,.history-thumb{aspect-ratio:1;object-fit:cover;border-radius:10px;width:82px;overflow:hidden}.menu-copy{flex-direction:column;gap:4px;min-width:0;display:flex}.menu-title-line{align-items:center;gap:7px;display:flex}.menu-title-line strong{font:400 18px/1.1 var(--serif)}.menu-title-line svg{width:13px;color:var(--gold)}.menu-copy>span:nth-child(2){color:#655d52;font:400 13px/1.3 var(--serif);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.menu-copy small{color:var(--muted)}.row-chevron{width:17px;color:var(--muted)}.row-actions{gap:5px;display:flex}.row-actions button{color:var(--muted);background:0 0;border:0;align-items:center;gap:5px;padding:8px;font-size:11px;display:inline-flex}.row-actions button:hover{color:var(--olive)}.row-actions svg{width:14px}.menu-section-empty{color:var(--muted);font-family:var(--serif);border-bottom:1px solid var(--rule);padding:25px 3px}.menu-section-empty button{color:var(--olive);background:0 0;border:0;text-decoration:underline}.mobile-only{display:none}.detail-screen{min-height:100vh;padding-bottom:94px}.detail-hero{height:min(48vw,510px);min-height:340px;position:relative;overflow:hidden}.floating{z-index:36;position:fixed;top:28px;box-shadow:0 8px 24px #251f1721}.floating.back{left:28px}.floating.favorite{color:var(--olive);right:28px}.detail-body{background:var(--paper);border:1px solid var(--rule);width:min(100% - 48px,920px);margin:-36px auto 0;position:relative;box-shadow:0 -12px 50px #31281d14}.detail-summary{text-align:center;padding:39px 54px 30px}.detail-summary h1{max-width:680px;margin:0 auto 12px}.detail-summary>p{color:#5f564a;max-width:620px;font:400 18px/1.45 var(--serif);margin:0 auto 20px}.detail-tabs{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);grid-template-columns:repeat(3,1fr);padding:0 40px;display:grid}.detail-tabs button{color:var(--muted);text-transform:capitalize;background:0 0;border:0;padding:17px 4px;font-size:12px;position:relative}.detail-tabs button.active{color:var(--ink)}.detail-tabs button.active:after{content:"";border-bottom:2px solid var(--olive);width:70%;position:absolute;bottom:-1px;left:15%}.recipe-content{padding:30px 54px 60px}.recipe-heading{justify-content:space-between;align-items:baseline;margin-bottom:12px;display:flex}.recipe-heading h2{font:400 29px/1 var(--serif)}.recipe-heading span{color:var(--muted);font:400 12px var(--serif)}.ingredient-list{margin:0;padding:0;list-style:none}.ingredient-list li{border-bottom:1px solid var(--rule);font:400 16px/1.2 var(--serif);justify-content:space-between;gap:20px;padding:13px 0;display:flex}.ingredient-list li span:last-child{color:var(--muted);text-align:right}.steps{counter-reset:step;padding:0;list-style:none}.steps li{border-bottom:1px solid var(--rule);grid-template-columns:34px 1fr;gap:16px;padding:16px 0;display:grid}.steps li>span{border:1px solid var(--olive);width:30px;height:30px;color:var(--olive);font-family:var(--serif);border-radius:50%;place-items:center;display:grid}.steps p{font:400 16px/1.45 var(--serif);margin:4px 0 0}.nutrition-score{background:#4d5a3114;align-items:center;gap:24px;padding:25px;display:flex}.nutrition-score>span{color:#fff;background:var(--olive);height:74px;font:400 30px var(--serif);border-radius:50%;flex:0 0 74px;place-items:center;display:grid}.nutrition-score strong{font-family:var(--serif);font-size:20px}.nutrition-score p{color:var(--muted);margin:6px 0 0;font-size:13px}.fine-print{color:var(--muted);margin-top:20px;font-size:11px}.detail-actionbar{z-index:20;padding:12px max(24px,50vw - 350px);padding-bottom:max(12px, env(safe-area-inset-bottom));border-top:1px solid var(--rule);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f7f1e6f5;grid-template-columns:1fr 1fr;gap:10px;display:grid;position:fixed;bottom:0;left:0;right:0}.grocery-hint{color:var(--muted);margin:20px 0 12px;font-size:11px}.grocery-filters{gap:6px;margin-top:24px;display:flex}.grocery-filters button{color:var(--muted);text-transform:capitalize;background:#826f5412;border:0;border-radius:99px;padding:9px 18px;font-size:11px}.grocery-filters button.active{color:#fff;background:var(--olive)}.grocery-layout{grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr);align-items:start;gap:48px;display:grid}.grocery-group{margin-bottom:29px}.grocery-group h2{font:400 24px var(--serif);margin-bottom:4px}.grocery-line{border-bottom:1px solid var(--rule);cursor:pointer;grid-template-columns:22px minmax(0,1fr);align-items:start;gap:12px;min-height:82px;padding:11px 0;display:grid;position:relative}.grocery-line input{opacity:0;position:absolute}.custom-check{border:1px solid #797364;border-radius:3px;place-items:center;width:20px;height:20px;margin-top:0;display:grid}.custom-check svg{opacity:0;width:13px}.grocery-line input:checked+.custom-check{color:#fff;background:var(--olive);border-color:var(--olive)}.grocery-line input:checked+.custom-check svg{opacity:1}.grocery-item-copy{flex-direction:column;gap:3px;min-width:0;display:flex}.grocery-item-copy>strong{color:var(--ink);font:500 17px/1.15 var(--serif)}.grocery-line small{color:var(--muted)}.meal-context{white-space:normal}.meal-context strong{color:#4f5740;font-weight:600}.matching-panel{border:1px solid var(--rule);background:#ece3d3a6;border-radius:14px;margin-top:8px;padding:28px;position:sticky;top:30px}.matching-panel>svg{width:35px;height:35px;color:var(--olive);stroke-width:1.2px}.matching-panel>h2,.match-title h2{font:400 29px/1 var(--serif);margin:17px 0 8px}.matching-panel>p{color:var(--muted);font:400 15px/1.4 var(--serif)}.matching-panel>.button{margin-top:8px}.connection-label{color:var(--olive);margin:13px 0 -8px}.match-title{justify-content:space-between;align-items:start;display:flex}.match-title h2{margin-top:0}.match-title>span{color:var(--muted);font-size:11px}.matched-products{border-top:1px solid var(--rule);margin:16px 0}.matched-products>div{border-bottom:1px solid var(--rule);grid-template-columns:34px minmax(0,1fr) auto;align-items:start;gap:10px;padding:13px 0;display:grid}.product-orb{width:32px;height:32px;color:var(--olive);font-family:var(--serif);background:#f8f3e9;border-radius:50%;place-items:center;display:grid}.matched-product-copy{flex-direction:column;gap:3px;min-width:0;display:flex}.matched-product-copy>strong{font:500 15px/1.15 var(--serif)}.matched-products .product-package{color:var(--muted);white-space:normal;font-size:10px;display:block}.matched-products .product-package b{color:var(--ink);font-size:inherit;font-weight:600}.matched-products .meal-context{color:var(--muted);text-overflow:clip;white-space:normal;font-size:9px;overflow:visible}.matched-products svg{width:17px;color:var(--olive)}.review-match{color:#7b5218;background:#efe2c7;border:0;border-radius:3px;padding:3px 6px;font-size:8px}.estimate{justify-content:space-between;align-items:baseline;margin:22px 0 14px;display:flex}.estimate span{color:var(--muted);font-size:11px}.estimate strong{font:400 25px var(--serif)}.simulation-note{margin:-7px 0 15px;color:#827665!important;font:400 10px/1.4 DM Sans,sans-serif!important}.budget-assist{border-top:1px solid #4d5a3138;border-bottom:1px solid #4d5a3138;margin:5px 0 16px}.budget-toggle{width:100%;min-height:50px;color:var(--olive-dark);font:500 14px var(--serif);background:0 0;border:0;justify-content:space-between;align-items:center;padding:0;display:flex}.budget-toggle span{align-items:center;gap:8px;display:inline-flex}.budget-toggle svg{width:16px;transition:transform .18s}.budget-toggle[aria-expanded=true]>svg{transform:rotate(90deg)}.budget-body{padding:1px 0 17px}.budget-body>p{color:var(--muted);font:400 13px/1.4 var(--serif);margin:0 0 13px}.budget-targets{flex-wrap:wrap;gap:6px;display:flex}.budget-targets button{min-width:68px;color:var(--olive-dark);border:1px solid var(--rule);background:#ffffff57;border-radius:99px;padding:8px 11px;font:500 11px DM Sans,sans-serif}.budget-targets button.active{color:#fff;background:var(--olive);border-color:var(--olive)}.custom-budget{grid-template-columns:1fr auto;align-items:end;gap:8px;margin-top:10px;display:grid}.custom-budget label>span:first-child{color:var(--muted);margin-bottom:5px;font-size:9px;display:block}.currency-input{border:1px solid var(--rule);background:#ffffff5c;border-radius:7px;align-items:center;height:37px;padding:0 9px;display:flex}.currency-input b{color:var(--muted);font-size:11px}.currency-input input{width:100%;min-width:0;height:35px;color:var(--ink);background:0 0;border:0;outline:0;padding:0 5px;font:500 12px DM Sans,sans-serif}.custom-budget>button,.budget-review{min-height:37px;color:var(--olive-dark);background:0 0;border:1px solid #8d9477;border-radius:7px;padding:0 12px;font-size:10px;font-weight:600}.budget-result{border:1px solid var(--rule);background:#fffcf67a;border-radius:10px;margin-top:17px;padding:17px}.budget-result--success{background:#4d5a3113;border-color:#4d5a314d}.budget-result--best{background:#fffcf6ad}.budget-status{letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:6px;font-weight:700;display:flex;color:var(--olive-dark)!important;margin:0 0 8px!important;font-size:9px!important}.budget-status svg{width:14px;height:14px}.budget-result h3{color:var(--olive-dark);font:400 21px/1.13 var(--serif);margin:0}.budget-result h3 strong{color:var(--olive-dark);font-weight:500}.budget-new-total{color:var(--ink)!important;font:400 13px var(--serif)!important;margin:8px 0 0!important}.budget-new-total strong{font-size:18px;font-weight:500}.budget-target-copy{margin:4px 0 0!important}.budget-best-copy{border-top:1px solid var(--rule);padding-top:9px;font:400 12px/1.4 var(--serif)!important}.budget-result>p{color:var(--muted);margin:10px 0 0;font-size:10px}.budget-review{align-items:center;gap:7px;margin-top:10px;display:inline-flex}.budget-review svg{width:13px}.modal-sheet:has(.confirm-cart){overflow:hidden}.confirm-cart{text-align:center;flex-direction:column;max-height:calc(min(88vh,780px) - 60px);display:flex}.modal-icon{color:#fff;background:var(--olive);border-radius:50%;place-items:center;width:60px;height:60px;margin:0 auto 18px;display:grid}.confirm-cart h2{font:400 33px/1 var(--serif)}.confirm-cart>p:not(.eyebrow){color:var(--muted);font:400 16px/1.4 var(--serif)}.cart-review-list{border-top:1px solid var(--rule);text-align:left;flex:auto;min-height:140px;margin:22px 0 0;overflow-y:auto}.cart-review-list article{border-bottom:1px solid var(--rule);grid-template-columns:minmax(0,1fr) auto;gap:16px;padding:14px 2px;display:grid}.cart-review-list article>div{flex-direction:column;gap:4px;display:flex}.cart-review-list article>div>strong{font:500 16px/1.15 var(--serif)}.cart-review-list article>div>span{color:var(--ink);font-size:11px}.cart-review-list .meal-context{color:var(--muted);font-size:10px}.cart-review-list article>svg{width:18px;color:var(--olive)}.cart-budget-summary{color:var(--muted);border:1px solid var(--rule);background:#4d5a310f;flex-wrap:wrap;justify-content:center;gap:7px 14px;margin:20px 0 0;padding:12px;font-size:10px;display:flex}.cart-budget-summary strong{color:var(--olive-dark)}.cart-action-footer{background:var(--paper);flex:none;padding-top:12px;box-shadow:0 -12px 24px #31281d0b}.cart-action-footer .fine-print{margin:0 0 9px;font-size:9px;line-height:1.35}.cart-action-footer .button:disabled{cursor:not-allowed;opacity:.55}.cart-done{color:var(--olive-dark);font:500 11px var(--serif);text-underline-offset:3px;background:0 0;border:0;margin-top:7px;padding:5px 12px;text-decoration:underline}.budget-review-modal h2{font:400 34px/1 var(--serif)}.savings-review-hero{border:1px solid var(--rule);text-align:left;border-radius:11px;margin-top:20px;padding:18px 20px}.savings-review-hero--success{background:#4d5a3113;border-color:#4d5a314d}.savings-review-hero--best{background:#fffcf6b8}.savings-review-hero>span{color:var(--olive-dark);letter-spacing:.09em;text-transform:uppercase;margin-bottom:7px;font-size:9px;font-weight:700;display:block}.savings-review-hero>strong{color:var(--olive-dark);font:500 25px/1.1 var(--serif);display:block}.savings-review-hero>p{color:var(--ink);font:400 15px/1.25 var(--serif);margin:7px 0 0}.savings-review-hero>p b{color:var(--olive-dark);font-size:19px;font-weight:500}.savings-review-hero>small{color:var(--muted);margin-top:5px;font-size:9px;display:block}.savings-review-hero .savings-review-guidance{color:var(--muted);border-top:1px solid var(--rule);margin-top:13px;padding-top:12px;font:400 12px/1.4 DM Sans,sans-serif}.budget-change-list{border-top:1px solid var(--rule);max-height:min(55vh,490px);margin:20px 0;overflow-y:auto}.budget-change-list article{border-bottom:1px solid var(--rule);text-align:left;padding:18px 2px;transition:opacity .18s}.budget-change-list article.swap-rejected{opacity:.68}.change-kind{color:#84672f;letter-spacing:.09em;text-transform:uppercase;font-size:8px;font-weight:700}.budget-change-list .swap-comparison{grid-template-columns:1fr 20px 1fr;align-items:center;gap:10px;margin:9px 0 7px;display:grid}.budget-change-list .swap-comparison>svg{width:16px;color:var(--muted)}.budget-change-list article p{flex-direction:column;gap:3px;margin:0;display:flex}.budget-change-list article p small{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:8px}.budget-change-list article p strong{font:500 14px/1.15 var(--serif)}.budget-change-list article p span{color:var(--muted);font-size:9px}.budget-change-list .swap-savings{color:var(--olive-dark);font:600 17px var(--serif);margin:5px 0 7px;display:block}.budget-change-list .meal-context{color:var(--muted);font-size:9px;display:block}.swap-choice{gap:7px;margin-top:12px;display:flex}.swap-choice button{min-height:34px;color:var(--muted);border:1px solid var(--rule);background:0 0;border-radius:99px;justify-content:center;align-items:center;gap:5px;padding:0 11px;font-size:9px;font-weight:600;display:inline-flex}.swap-choice button svg{width:12px;display:none}.swap-choice button.active{color:#fff;background:var(--olive);border-color:var(--olive)}.swap-choice button.active svg{display:block}.modal-intro{color:var(--muted);font:400 15px/1.45 var(--serif)}.desktop-basket-action{display:none}.grocery-screen.has-mobile-grocery-action{padding-bottom:calc(185px + env(safe-area-inset-bottom))}.mobile-basket-bar,.mobile-ready-bar{z-index:49;left:0;right:0;bottom:calc(58px + env(safe-area-inset-bottom));border-top:1px solid var(--rule);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f7f1e6f7;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px;min-height:72px;padding:9px 16px;display:grid;position:fixed;box-shadow:0 -12px 34px #31281d1a}.mobile-basket-bar>div,.mobile-ready-bar>div{flex-direction:column;min-width:82px;display:flex}.mobile-basket-bar small,.mobile-ready-bar small{color:var(--muted);font-size:8px;line-height:1.2}.mobile-basket-bar strong{font:500 23px/1.1 var(--serif)}.mobile-basket-bar span{color:var(--olive);font-size:9px;font-weight:700}.mobile-basket-bar .button,.mobile-ready-bar .button{min-width:0;padding:0 12px;font-size:11px}.mobile-ready-bar strong{font:500 18px/1.1 var(--serif);margin-top:2px}.history-controls{justify-content:space-between;align-items:center;gap:16px;padding-top:28px;display:flex}.history-search{border:1px solid var(--rule);background:#ffffff4d;border-radius:8px;align-items:center;gap:9px;width:min(100%,280px);min-width:0;height:40px;padding:0 12px;display:flex}.history-search svg{width:16px;color:var(--muted)}.history-search input{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;outline:0;font-size:11px}.history-search input::placeholder{color:var(--muted)}.history-filters{align-items:center;gap:6px;display:flex}.history-filters button{min-height:35px;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:99px;padding:0 11px;font-size:10px}.history-filters button.active{color:#fff;background:var(--olive)}.history-list{grid-template-columns:repeat(2,1fr);gap:18px;padding-top:22px;display:grid}.history-list article{border:1px solid var(--rule);background:#ffffff47;grid-template-columns:120px 1fr;gap:20px;padding:18px;display:grid}.history-list article.history-card--not-for-us{background:#7e5c3b0e}.history-copy{min-width:0}.history-thumb{border-radius:0;width:120px}.history-list h2{font:400 23px/1.05 var(--serif);margin:2px 0 5px}.history-list p{color:var(--muted);font:400 14px/1.3 var(--serif);margin-bottom:14px}.history-actions{flex-wrap:wrap;gap:7px;display:flex}.history-actions button{min-height:31px;color:var(--muted);border:1px solid var(--rule);background:0 0;border-radius:99px;align-items:center;gap:5px;padding:0 9px;font-size:9px;display:inline-flex}.history-actions button svg{width:13px}.history-actions button.active{color:#765018;background:#efe2c7;border-color:#0000}.history-actions button.make-again{color:#fff;background:var(--olive);border-color:var(--olive)}.history-actions button.make-again:disabled{cursor:default;opacity:.72}.history-no-results{text-align:center;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);margin-top:22px;padding:70px 28px}.history-no-results>svg{width:30px;color:var(--olive)}.history-no-results h2{font:400 27px var(--serif);margin:14px 0 6px}.history-no-results p{color:var(--muted);font:400 15px var(--serif);margin:0}.empty-history{margin-top:35px}.auth-screen{background:var(--paper);grid-template-columns:minmax(260px,.72fr) minmax(400px,1.28fr);min-height:100vh;display:grid}.auth-brand{background-color:var(--paper-deep);border-right:1px solid var(--rule);background-image:radial-gradient(#59472e14 .7px,#0000 .7px);background-size:6px 6px;flex-direction:column;justify-content:space-between;padding:48px;display:flex}.auth-brand>p{color:var(--muted);font:400 30px/1.05 var(--serif);margin:0}.auth-card{border:1px solid var(--rule);background:#fffcf694;align-self:center;width:min(100% - 64px,510px);margin:40px auto;padding:44px;box-shadow:0 18px 60px #31281d14}.auth-mark{color:#fff;background:var(--olive);border-radius:50%;place-items:center;width:58px;height:58px;margin-bottom:34px;display:grid}.auth-mark svg{width:25px}.auth-card h1{font:400 clamp(40px, 5vw, 60px)/.96 var(--serif);letter-spacing:-.035em;margin-bottom:16px}.auth-card>p,.auth-card form>p{color:var(--muted);font:400 17px/1.45 var(--serif)}.auth-card form label{margin:28px 0 18px;display:block}.auth-card form label span{margin-bottom:8px;font-size:11px;font-weight:600;display:block}.auth-card input{width:100%;height:49px;color:var(--ink);border:1px solid var(--rule);background:#fffaf1;border-radius:7px;padding:0 14px}.auth-card .button:disabled{cursor:wait;opacity:.7}.auth-text-button{color:var(--olive);background:0 0;border:0;padding:0;text-decoration:underline}.form-error{color:#98442e!important;font:500 11px/1.4 DM Sans,sans-serif!important}.spin{animation:.9s linear infinite spin}.account-modal>p{color:var(--muted);font:400 15px/1.45 var(--serif)}.account-modal code{color:var(--olive-dark);font-size:11px}.account-status{border:1px solid var(--rule);background:#4d5a3112;align-items:center;gap:13px;margin:22px 0;padding:16px;display:flex}.account-status>svg{width:22px;color:var(--olive)}.account-status span{flex-direction:column;gap:3px;display:flex}.account-status strong{font:400 17px var(--serif)}.account-status small{color:var(--muted)}.modal-backdrop{z-index:100;background:#1c1812ad;place-items:center;padding:20px;animation:.18s both veil;display:grid;position:fixed;inset:0}.modal-sheet{background:var(--paper);border-radius:16px;width:min(100%,480px);max-height:min(88vh,780px);padding:30px;animation:.25s cubic-bezier(.2,.8,.2,1) both lift;overflow:auto;box-shadow:0 25px 80px #00000040}.modal-sheet--wide{width:min(100%,560px)}.modal-top{justify-content:space-between;align-items:start;gap:20px;display:flex}.modal-top h2,.plan-modal>h2,.swap-modal h2{font:400 34px/1 var(--serif);margin-bottom:8px}.modal-top .icon-button{background:0 0;flex:none;width:34px;height:34px}.plan-question{font-family:var(--serif);margin:20px 0 10px}.counter-list{border-top:1px solid var(--rule)}.counter-list>div{border-bottom:1px solid var(--rule);grid-template-columns:30px 1fr auto;align-items:center;gap:11px;min-height:64px;display:grid}.counter-list>div>svg{stroke-width:1.35px;width:21px}.counter-list strong{font:400 17px var(--serif)}.counter-list>div>div{background:#eee5d5;border-radius:8px;grid-template-columns:36px 40px 36px;display:grid;overflow:hidden}.counter-list button{height:36px;color:var(--olive);background:0 0;border:0;place-items:center;display:grid}.counter-list button svg{width:15px}.counter-list span{font-family:var(--serif);background:#ffffff59;place-items:center;display:grid}.note-field{margin:24px 0;display:block}.note-field>span{font:400 17px var(--serif);margin-bottom:9px;display:block}.note-field textarea{width:100%;min-height:94px;color:var(--ink);border:1px solid var(--rule);resize:vertical;background:#ffffff40;border-radius:8px;padding:13px;font-size:13px;line-height:1.4}.note-field small{color:var(--muted);margin-top:7px;font-size:9px;display:block}.generated-state{text-align:center;padding:22px 0 0}.success-orbit{color:#fff;background:var(--olive);border-radius:50%;place-items:center;width:96px;height:96px;margin:0 auto 20px;display:grid}.success-orbit svg{width:40px}.generated-state>p{color:var(--muted);font-family:var(--serif)}.generated-menu-preview{text-align:left;border:1px solid var(--rule);background:#4d5a310d;gap:8px;margin:18px 0;padding:14px 16px;display:grid}.generated-menu-preview>div{grid-template-columns:76px 1fr;gap:10px;display:grid}.generated-menu-preview strong{color:var(--olive-dark);letter-spacing:.12em;text-transform:uppercase;font-size:9px}.generated-menu-preview span{color:var(--muted);font:400 13px/1.35 var(--serif)}.generated-state blockquote{border-left:2px solid var(--olive);font:400 15px/1.4 var(--serif);background:#4d5a3112;margin:18px 0;padding:14px}.swap-options{gap:8px;margin-top:20px;display:grid}.swap-options button{text-align:left;border:1px solid var(--rule);background:0 0;border-radius:8px;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px;display:grid}.swap-options button:hover{background:#4d5a310f;border-color:#4d5a3159}.swap-options button>svg{width:19px;color:var(--olive);stroke-width:1.5px}.swap-options span{flex-direction:column;display:flex}.swap-options strong{font:400 15px var(--serif)}.swap-options small{color:var(--muted);margin-top:2px;font-size:9px}.toast{z-index:90;color:#fff;background:#323a22;border-radius:9px;align-items:center;gap:9px;width:min(100% - 32px,520px);padding:13px 15px;font-size:11px;animation:.25s both lift;display:flex;position:fixed;bottom:86px;left:50%;transform:translate(-50%);box-shadow:0 12px 35px #1b1f1147}.toast svg{width:18px}.toast span{flex:1}.toast button{color:#fff;background:0 0;border:0;padding:4px;font-weight:600;text-decoration:underline}.toast button[aria-label=Dismiss\ message]{place-items:center;text-decoration:none;display:grid}.toast button[aria-label=Dismiss\ message] svg{width:15px}.bottom-nav{z-index:50;height:calc(58px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--rule);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f7f1e6f5;grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.app-shell.detail-open .bottom-nav{display:none}.bottom-nav button{color:var(--muted);background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:8px;display:flex;position:relative}.bottom-nav button.active{color:var(--olive)}.bottom-nav button.active:before{content:"";border-top:2px solid var(--olive);width:40%;position:absolute;top:0;left:30%}.bottom-nav svg{stroke-width:1.5px;width:18px;height:18px}.side-nav{display:none}@keyframes veil{0%{opacity:0}}@keyframes lift{0%{opacity:0;transform:translateY(12px)scale(.99)}}@keyframes success-fade{0%{opacity:0}}@keyframes seal-pop{0%{opacity:0;transform:scale(.68)rotate(-6deg)}65%{transform:scale(1.035)rotate(1deg)}}@keyframes leaf-celebrate{0%{opacity:0;transform:rotate(var(--angle)) translateY(var(--leaf-start)) scale(.55)}28%,66%{opacity:1;transform:rotate(var(--angle)) translateY(var(--leaf-rest)) scale(1)}to{opacity:0;transform:rotate(var(--angle)) translateY(var(--leaf-exit)) scale(.72)}}@keyframes spin{to{transform:rotate(360deg)}}@media (width>=760px){.app-shell{grid-template-columns:220px minmax(0,1fr);display:grid}.side-nav{z-index:60;border-right:1px solid var(--rule);background:#eee5d5;flex-direction:column;height:100vh;padding:36px 24px 26px;display:flex;position:sticky;top:0}.side-tagline{color:var(--muted);font:400 15px/1.3 var(--serif);margin:24px 0 42px}.side-nav nav{gap:4px;display:grid}.side-nav nav button,.new-menu{min-height:43px;color:var(--muted);text-align:left;background:0 0;border:0;border-radius:7px;align-items:center;gap:12px;padding:0 12px;font-size:12px;display:flex}.side-nav nav button.active{color:#fff;background:var(--olive)}.side-nav nav svg,.new-menu svg{stroke-width:1.5px;width:18px}.new-menu{color:var(--olive);border:1px solid #4d5a314d;margin-top:14px}.profile-chip{text-align:left;background:0 0;border:0;align-items:center;gap:10px;width:100%;margin-top:auto;padding:7px 0;display:flex}.profile-chip>div{color:#fff;width:34px;height:34px;font:400 12px var(--serif);background:#887255;border-radius:50%;place-items:center;display:grid}.profile-chip span{flex-direction:column;display:flex}.profile-chip strong{font:400 13px var(--serif)}.profile-chip small{color:var(--muted);font-size:8px}.bottom-nav,.mobile-basket-bar,.mobile-ready-bar{display:none}.desktop-basket-action{display:flex}.grocery-screen.has-mobile-grocery-action{padding-bottom:70px}.screen{padding:46px 48px 70px}.mobile-header{display:none}.home-screen{width:min(100%,1040px)}.success-screen{width:min(100%,900px)}.home-intro{margin-top:22px}.meal-type-tabs button{min-height:92px}.feature-card{grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);display:grid}.feature-image-wrap{aspect-ratio:auto;min-height:450px}.feature-content{text-align:left;flex-direction:column;justify-content:center;padding:46px 38px;display:flex}.feature-content h2,.feature-content>p{margin-left:0}.feature-content .meal-meta{justify-content:flex-start;width:100%}.detail-screen{padding-bottom:150px}.detail-actionbar{left:220px}.app-shell.detail-open{grid-template-columns:1fr}.app-shell.detail-open .side-nav{display:none}.app-shell.detail-open .detail-actionbar{left:0}.toast{bottom:25px;left:calc(50% + 110px)}}@media (width<=900px){.grocery-layout{grid-template-columns:1fr;gap:16px}.matching-panel{position:static}.history-list{grid-template-columns:1fr}}@media (width<=620px){.auth-screen{padding:24px 18px;display:block}.auth-brand{background:0 0;border:0;padding:6px 2px 52px;display:block}.auth-brand>p{display:none}.auth-card{width:100%;margin:0;padding:35px 23px}.auth-card h1{font-size:42px}.screen{padding-left:18px;padding-right:18px}.mobile-header{padding:max(14px, env(safe-area-inset-top)) 18px 12px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f7f1e6f0;border-bottom:1px solid #3e34281a;margin:-20px -18px 14px}.mobile-header .brand strong{font-size:25px}.mobile-header .sun-disc{width:31px;height:31px}.home-intro .eyebrow,.home-intro .dek{display:none}.home-intro{margin-bottom:16px}.home-intro h1{margin-bottom:0;font-size:34px}.meal-type-tabs{margin:0 -4px 14px}.meal-type-tabs button{gap:4px;min-height:80px;padding:10px 5px 9px}.meal-type-tabs svg{width:22px;height:22px}.meal-type-tabs strong{font-size:15px}.meal-type-tabs span{font-size:9px}.feature-card{margin:0 -3px}.feature-image-wrap{aspect-ratio:1.78}.feature-nav{bottom:10px}.feature-nav .icon-button{width:36px;height:36px}.feature-content{padding:15px 18px 16px}.favorite-label{margin-bottom:8px}.feature-content h2{margin-bottom:6px;font-size:26px}.feature-content>p{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:10px;font-size:14px;display:-webkit-box;overflow:hidden}.meal-meta{gap:9px;padding:11px 0}.meal-meta span{font-size:10px}.feature-actions{margin-top:12px}.feature-actions .button{min-height:44px;padding:0 12px;font-size:11px}.page-heading{padding-top:4px}.page-heading h1{font-size:43px}.page-heading .eyebrow{margin-bottom:14px}.desktop-only{display:none}.mobile-only{margin-top:32px;display:flex}.menu-row{grid-template-columns:1fr;gap:0}.menu-row-main{grid-template-columns:72px minmax(0,1fr) auto;gap:11px}.menu-thumb{width:72px}.row-actions{padding-left:82px}.row-actions button{padding:7px 12px 0 0}.detail-hero{height:44vh;min-height:310px}.floating{top:18px}.floating.back{left:16px}.floating.favorite{right:16px}.success-screen{justify-content:flex-start;padding-top:20px}.success-screen .mobile-header{margin-bottom:28px}.celebration-mark{width:210px;height:210px;margin-top:0}.celebration-mark>div{inset:54px}.celebration-mark>span{--leaf-start:-43px;--leaf-rest:-84px;--leaf-exit:-99px;top:93px;left:93px}.success-screen h1{font-size:42px}.success-message{font-size:19px}.detail-body{border-left:0;border-right:0;width:100%;margin:-24px 0 0}.detail-summary{padding:31px 20px 24px}.detail-summary h1{font-size:37px}.detail-summary>p{font-size:16px}.detail-tabs{padding:0 6px}.recipe-content{padding:27px 22px 50px}.ingredient-list li{font-size:15px}.grocery-filters{overflow-x:auto}.grocery-filters button{white-space:nowrap}.matching-panel{padding:22px 18px}.history-list article{grid-template-columns:90px 1fr;gap:14px;padding:13px}.history-thumb{width:90px}.history-list h2{font-size:19px}.history-controls{align-items:stretch;gap:11px;padding-top:20px;display:grid}.history-search{width:100%}.history-filters{padding-bottom:2px;overflow-x:auto}.history-filters button{flex:none}.history-actions{gap:6px}.history-actions button{min-height:29px;padding:0 8px;font-size:8px}.modal-backdrop{align-items:end;padding:0}.modal-sheet{width:100%;max-width:none;max-height:91vh;padding:25px 20px max(25px, env(safe-area-inset-bottom));border-radius:18px 18px 0 0}.confirm-cart{max-height:calc(91vh - 50px)}.confirm-cart .modal-icon{width:50px;height:50px;margin-bottom:12px}.confirm-cart h2{margin-bottom:10px;font-size:30px}.confirm-cart>p:not(.eyebrow){margin-bottom:0;font-size:14px}.confirm-cart .cart-budget-summary,.confirm-cart .cart-review-list{margin-top:13px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
