:root{color:#182d24;font-synthesis:none;--sage:#3d6148;--muted:#68716c;--line:#e3e4d8;--rust:#ad451f;background:#f8f6ee;font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}a,button,input,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;background:0 0;border:0}button:disabled{opacity:.5;cursor:wait}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline-offset:4px;outline:3px solid #c08138}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Georgia,Times New Roman,serif;font-weight:600}h1{letter-spacing:-.8px;font-size:clamp(30px,4vw,44px);line-height:1.1}h2{margin-bottom:12px;font-size:25px}h3{font-size:20px}p{line-height:1.5}.app-shell{max-width:1100px;margin:auto;padding:0 32px 110px}.brandbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:92px;margin-bottom:38px;display:flex}.brand{color:#284735;letter-spacing:-1px;align-items:baseline;gap:8px;font:700 35px Georgia,serif;text-decoration:none;display:flex}.brand span{letter-spacing:0;font:14px Arial,sans-serif}.private-label{color:var(--muted);background:#e9eee2;border-radius:20px;padding:7px 12px;font-size:12px}.eyebrow{text-transform:uppercase;letter-spacing:1.4px;color:var(--sage);margin-bottom:10px;font-size:11px;font-weight:700}.meta,.muted{color:var(--muted);font-size:14px}.panel{border:1px solid var(--line);background:#fffef9;border-radius:20px}.primary{background:var(--sage);color:#fff;border-radius:11px;min-height:46px;padding:14px 20px;font-weight:600}.primary:hover{background:#2e4c38}.full{width:100%;margin-top:12px}.outline{border:1px solid var(--rust);color:var(--rust);border-radius:11px;padding:13px}.quiet{background:#eef0e5;border-radius:10px;min-height:44px;padding:12px 14px;font-size:14px}.page-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px;display:flex}.page-heading .muted{margin-top:10px}.plan-layout{grid-template-columns:1.35fr 1fr;gap:40px;display:grid}.days{gap:8px;margin-bottom:16px;display:flex}.days button{background:#ecefe4;border-radius:10px;flex:1;min-height:44px;padding:13px 4px}.days button.active{background:var(--sage);color:#fff}.table-note{color:var(--muted);margin-bottom:24px;font-size:13px}.day-title{margin-bottom:15px;font-size:20px}.meal-cards{gap:12px;display:grid}.meal-card{align-items:center;gap:17px;min-height:148px;padding:10px;display:flex}.food-tile{background:radial-gradient(circle at 35% 25%,#fff7da,#e7e8cf 75%);border-radius:14px;flex-shrink:0;place-items:center;width:128px;height:128px;display:grid;overflow:hidden}.food-tile span{filter:drop-shadow(0 8px 7px #8c95774d);font-size:66px;transform:rotate(-8deg)}.meal-info{flex:1;min-width:0}.meal-info .meta{font-size:12px}.recipe-link{text-align:left;padding:5px 0;font:600 22px/1.12 Georgia,serif;display:block}.swap{color:#244a30;background:#e8eee0;border-radius:8px;min-height:36px;margin-top:8px;padding:7px 12px;font-size:13px}.arrow{color:#66796c;padding:8px;font-size:28px}.budget-card{background:#faf1e7;padding:26px;position:relative}.budget-card h2{margin-top:25px;font-size:27px}.budget-card>p:not(.eyebrow){color:#697065;font-size:14px}.budget-card .muted{text-align:center;margin-top:12px;font-size:12px}.budget-icon{color:var(--rust);font-size:40px;position:absolute;top:16px;right:25px}.over{background:#ffe7d6;border-radius:10px;margin-top:14px;padding:10px 14px;display:inline-block;color:#a63d14!important;font-size:13px!important}.within{color:#3d6148;margin-top:12px;font-size:13px}.aside-note{color:var(--muted);padding:28px 6px;font-size:14px}.aside-note h3{color:#284735;margin-bottom:10px}.draft-note{color:#767969;margin-top:20px;font-size:12px;line-height:1.5}.bottom-nav{z-index:10;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffef9ef;border:1px solid #dce2d1;border-radius:18px;width:380px;padding:7px;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 5px 30px #244a3017}.bottom-nav button{color:#69736a;border-radius:12px;flex-direction:column;flex:1;align-items:center;gap:4px;padding:7px;font-size:13px;display:flex}.bottom-nav button span{height:26px;font-size:22px}.bottom-nav button.active{color:#264b30;background:#eaf0e1}.settings-screen{grid-template-columns:.8fr 1.3fr;align-items:start;gap:60px;display:grid}.intro{padding-top:40px;position:sticky;top:40px}.intro>p:last-child{color:var(--muted);margin-top:20px}.settings-form{padding:28px}.settings-form .muted{margin:6px 0 14px;font-size:13px}.eater-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0 22px;display:grid}.budget-input,.eater-grid label{font-size:14px;font-weight:600;display:block}.budget-input input,.eater-grid input{color:#254431;background:#fcfcf6;border:1px solid #d8dfcd;border-radius:10px;width:100%;margin-top:8px;padding:12px;display:block}.budget-input input{font-size:22px}.settings-form fieldset{border:0;margin:24px 0;padding:0}.settings-form legend{margin-bottom:8px;font:600 21px Georgia,serif}.chips{flex-wrap:wrap}.chip,.chips{gap:8px;display:flex}.chip{cursor:pointer;text-transform:capitalize;background:#f8faf2;border:1px solid #dbe2cf;border-radius:10px;align-items:center;padding:10px 12px;font-size:13px}input[type=checkbox]{accent-color:var(--sage);flex-shrink:0;width:16px;height:16px;margin:0}.chip:has(input:checked){background:#e3ecd7;border-color:#87a477}.exclusions{gap:12px;max-height:300px;padding:16px 4px;display:grid;overflow:auto}.exclusions label{align-items:center;gap:10px;min-height:30px;font-size:14px;display:flex}summary{cursor:pointer;background:#eef0e5;border-radius:10px;padding:13px;font-size:14px}summary span{float:right;font-weight:700}.back{margin-bottom:20px}.recipe-layout{grid-template-columns:.9fr 1.2fr;align-items:start;gap:26px;display:grid}.recipe-hero{background:radial-gradient(at 50% 25%,#fff4ce,#dfe6cb);border-radius:22px;flex-direction:column;justify-content:center;align-items:center;min-height:440px;display:flex;position:sticky;top:24px}.recipe-hero>span{filter:drop-shadow(0 16px 10px #8b957650);font-size:170px;transform:rotate(-8deg)}.hero-caption{color:#607154;text-align:center;margin-top:30px;font:22px/1.3 Georgia,serif}.recipe-body{padding:28px}.recipe-body h1{font-size:35px}.recipe-meta{color:#5d6e5a;flex-wrap:wrap;gap:10px;margin:16px 0 28px;font-size:13px}.recipe-meta span{background:#eaf0e1;border-radius:20px;padding:6px 10px}.ingredient-list{margin:12px 0 30px;padding:0;list-style:none}.ingredient-list li{border-bottom:1px solid #e8e9df;align-items:center;gap:12px;padding:13px 0;font-size:14px;display:flex}.ingredient-list li>div{flex:1}.ingredient-list strong{white-space:nowrap;font-size:14px}.ingredient-icon{font-size:26px}.ingredient-list small{color:#7a8074;margin-top:4px;font-size:11px;display:block}.steps{counter-reset:step;padding:0;list-style:none}.steps li{counter-increment:step;margin:15px 0;padding-left:36px;font-size:14px;line-height:1.6;position:relative}.steps li:before{content:counter(step);background:var(--sage);color:#fff;text-align:center;border-radius:50%;width:24px;height:24px;font-size:13px;line-height:24px;position:absolute;top:2px;left:0}.shopping-budget{background:#fbf0e5;border:1px solid #e8d9cb;border-radius:18px;justify-content:space-between;align-items:center;gap:15px;padding:22px 26px;display:flex}.shopping-budget strong{font:600 28px Georgia,serif}.shopping-budget p{color:var(--muted);margin-top:5px;font-size:14px}.shopping-budget .over{text-align:center;margin:0}.price-note{margin:16px 0 28px}.count{vertical-align:middle;background:#e8eddf;border-radius:20px;margin-left:8px;padding:4px 9px;font:13px Arial,sans-serif}.shopping-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.shopping-item{align-items:flex-start;gap:15px;padding:18px;display:flex;position:relative}.shopping-icon{background:#f0f1e6;border-radius:12px;flex-shrink:0;place-items:center;width:65px;height:70px;font-size:35px;display:grid}.shopping-info{flex:1;min-width:0}.shopping-info h3{margin-bottom:5px;font-size:18px}.shopping-info>p{color:#5f6a60}.shopping-info .meta{margin-top:3px;font-size:11px}.item-cost{white-space:nowrap;font-size:13px;position:absolute;top:18px;right:15px}.pantry-button{color:#3d6148;align-items:center;gap:8px;min-height:36px;padding:8px 0;display:flex}.pantry-button span{font-size:21px;line-height:16px}.confirmation-note{margin-top:5px;color:var(--rust)!important;font-size:12px!important}.home-heading{margin-top:30px}.at-home{background:#f1f5e9}.notice{border-radius:12px;margin-bottom:20px;padding:16px;font-size:14px;line-height:1.5}.error{color:#943e1a;background:#ffeddf;border:1px solid #efc9aa}.notice button{padding-top:10px;text-decoration:underline;display:block}.empty{text-align:center;color:#65705f;padding:40px 10px}.empty button{margin-top:20px}.modal-backdrop{z-index:30;background:#20392777;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.confirm-dialog{max-width:440px;padding:28px}.confirm-dialog p{margin:10px 0}.saving{color:#fff;z-index:40;background:#2c5139;border-radius:30px;padding:10px 20px;font-size:13px;position:fixed;top:18px;left:50%;transform:translate(-50%)}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light only;color:#17221b;--muted:#69716e;--line:#e6e5dc;background:#faf8f1}.app-icon{flex-shrink:0;width:22px;height:22px}button{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light only}.atlas-photo{background-repeat:no-repeat;background-size:600%;display:block}.dish-photo{background-image:url(../images/dishes-atlas.png)}.ingredient-photo{background-image:url(../images/ingredients-atlas.png)}.food-tile{background:0 0;width:150px;height:118px;padding:0}.food-tile .dish-photo{filter:none;width:100%;height:100%;transform:none}.meal-card{border-radius:16px;gap:14px;min-height:130px;padding:5px}.recipe-link{font-size:22px}.swap{background:#edf2e7;border:1px solid #dce3d5;align-items:center;gap:6px;min-height:29px;margin-top:4px;padding:5px 10px;display:inline-flex}.swap .app-icon{width:15px;height:15px}.arrow{padding:4px}.settings-row{width:100%;color:var(--muted);text-align:left;align-items:center;gap:8px;padding:8px 0 12px;font-size:13px;display:flex}.settings-row span{flex:1}.settings-row .app-icon{width:18px;height:18px}.day-title{display:none}.table-note{align-items:center;gap:8px;margin:12px 0;display:flex}.table-note .app-icon{width:19px;height:19px}.budget-card,.shopping-budget{text-align:left;background:#fcf0e5;border:1px solid #e9dbce;border-radius:13px;align-items:center;gap:12px;width:100%;min-height:84px;padding:14px;display:flex}.budget-icon{color:#ac471e;width:34px;height:34px;position:static}.budget-copy{flex:1;min-width:0}.budget-copy h2,.shopping-budget strong{letter-spacing:-.3px;margin:0;font:600 23px/1.15 Georgia,serif;display:block}.budget-copy p{color:var(--muted);margin-top:5px;font-size:14px}.over,.within{text-align:center;border-radius:8px;flex-shrink:0;margin:0;padding:7px 9px;line-height:1.4;font-size:12px!important}.over{background:#ffe2cb;color:#ad3e15!important}.within{color:var(--sage);padding:0}.plan-price-note{text-align:center;margin:8px 0 12px;font-size:12px}.plan-settings{justify-content:center;align-items:center;gap:8px;min-height:42px;margin:0;display:flex}.aside-note{padding:12px 0;font-size:12px}.aside-note summary,.purchase-details summary,.source-details summary{background:0 0;border-radius:0;padding:4px 0;font-size:12px}.aside-note .draft-note{margin-top:8px}.bottom-nav .app-icon{width:24px;height:24px}.recipe-toolbar{justify-content:space-between;align-items:center;margin-bottom:15px;font-size:18px;display:flex}.recipe-toolbar .back,.toolbar-spacer{width:32px;height:32px;margin:0;padding:4px}.recipe-hero{height:330px;min-height:0;display:block}.recipe-meta{color:var(--muted);justify-content:space-between;align-items:center;gap:8px;margin:12px 0 5px;font-size:14px;display:flex}.recipe-meta span{background:0 0;padding:0}.recipe-meta .meal-pill{color:#476047;background:#e9eedf;padding:6px 10px;font-size:12px}.equipment-note{color:var(--muted);margin-bottom:20px;font-size:11px}.ingredient-list{border:1px solid var(--line);background:#fffef9;border-radius:15px;margin:10px 0 4px;padding:0 10px}.ingredient-list li{min-height:62px;padding:8px 0;font-size:15px}.ingredient-list li:last-child{border-bottom:0}.ingredient-icon{border-radius:8px;flex-shrink:0;width:48px;height:48px}.ingredient-list small{margin-top:3px;font-size:10px}.source-details{color:var(--muted);margin:8px 0 20px}.source-details p{font-size:12px}.shopping-grid{gap:10px}.shopping-item{border-radius:14px;gap:12px;min-height:116px;padding:10px}.shopping-icon{border-radius:9px;width:80px}.shopping-info h3{padding-right:70px;font-size:19px;line-height:1.15}.shopping-info>p{font-size:13px}.item-cost{font-size:14px;top:13px;right:12px}.purchase-details summary{color:var(--muted);font-size:10px;line-height:1.4}.purchase-details p{font-size:11px}.checkbox-mark{border:1px solid #9daa8f;border-radius:3px;width:16px;height:16px}.pantry-button{min-height:28px;padding:4px 0;font-size:12px}.price-note{margin:10px 0 18px;font-size:12px}@media (width<=760px){.app-shell{padding:24px 18px 95px}.brandbar{display:none}.view-settings .brandbar{height:48px;margin:0 0 24px;display:flex}.brand{font-size:28px}.brand span{font-size:11px}.private-label{padding:6px 9px;font-size:10px}h1{letter-spacing:-.8px;font-size:34px}h2{font-size:23px}.page-heading{margin-bottom:14px}.page-heading .muted{margin-top:7px;font-size:15px}.plan-layout,.recipe-layout,.settings-screen{display:block}.days{gap:6px;margin:0}.days button{border-radius:9px;min-height:39px;padding:9px 3px;font-size:14px}.settings-row{padding:9px 0 11px;font-size:12px}.meal-cards{gap:8px}.meal-card{border-radius:14px;gap:10px;min-height:112px;padding:4px}.food-tile{border-radius:10px;width:132px;height:102px}.recipe-link{padding:5px 0;font-size:20px;line-height:1.08}.meal-info .meta{font-size:11px}.arrow .app-icon{width:17px;height:17px}.arrow{padding:1px}.swap{min-height:27px;margin-top:3px;padding:4px 8px;font-size:12px}.table-note{margin:11px 0;font-size:12px}.plan-aside{margin-top:0}.budget-card,.shopping-budget{gap:9px;min-height:78px;padding:12px 10px}.budget-icon{width:30px;height:30px}.budget-copy h2,.shopping-budget strong{font-size:21px}.budget-copy p{font-size:13px}.over,.within{padding:7px;font-size:11px!important}.aside-note,.aside-note summary{font-size:11px}.bottom-nav{width:100%;padding:7px 12px max(8px,env(safe-area-inset-bottom));box-shadow:none;background:#fafaf3;border-bottom:0;border-radius:18px 18px 0 0;bottom:0}.bottom-nav button{gap:3px;padding:6px;font-size:13px}.view-recipe .bottom-nav{display:none}.intro{padding:0 0 24px;position:static}.intro h1{font-size:37px}.intro>p:last-child{margin-top:14px;font-size:14px}.settings-form{border-radius:18px;padding:21px}.eater-grid{gap:9px}.eater-grid label{font-size:12px}.eater-grid input{padding:12px 9px}.recipe-toolbar{margin:0 0 12px;font-size:16px}.recipe-hero{border-radius:0;height:230px;margin:0 -18px;position:static}.recipe-body{background:#faf8f1;border:0;border-radius:18px 18px 0 0;margin:-8px -18px 0;padding:22px 18px;position:relative}.recipe-body h1{font-size:33px;line-height:1.06}.recipe-meta{font-size:13px}.recipe-meta .meal-pill{padding:5px 8px;font-size:11px}.ingredient-list li{gap:9px}.ingredient-list strong{font-size:13px}.steps li{margin:13px 0;font-size:14px;line-height:1.5}.draft-note{font-size:11px}.shopping-grid{grid-template-columns:1fr}.shopping-item{gap:10px}.shopping-info h3{font-size:18px}.shopping-icon{width:76px;height:80px}.shopping-budget .within{font-size:10px!important}.confirm-dialog{padding:23px}}@media (width<=360px){.food-tile{width:110px}.budget-copy h2,.recipe-link,.shopping-budget strong{font-size:18px}.shopping-icon{width:62px;height:62px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}.atlas-photo{background-size:0 0;position:relative;overflow:hidden}.atlas-photo:before{content:"";width:100%;aspect-ratio:var(--photo-ratio);background-image:inherit;background-position:inherit;background-size:var(--photo-size);background-repeat:no-repeat;display:block;position:absolute;top:50%;transform:translateY(-50%)}.shopping-icon{height:80px}@media (width<=760px){.shopping-icon{height:76px}}@media (width<=360px){.shopping-icon{height:62px}}
