:root{--green:#1e4c3c;--ink:#203c32;--muted:#64756b;--paper:#f7f5ee;--line:#dce2d7;--gold:#c9b16e;--white:#fff;--sage:#e5eadc;color:var(--ink);background:var(--paper);font-synthesis:none;font-family:Roboto,Arial,Helvetica,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.55}:is(button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible){outline-offset:3px;outline:3px solid #b37825}button{border:0}a{color:var(--green)}svg{flex:none;width:22px;height:22px}.skip{z-index:100;background:#fff;padding:12px;position:fixed;top:-60px;left:10px}.skip:focus{top:10px}.top{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;max-width:1320px;margin:auto;padding:25px 44px;display:flex}.brand{letter-spacing:-.5px;align-items:center;gap:12px;font-size:22px;font-weight:700;text-decoration:none;display:flex}.brand small{letter-spacing:2px;margin-top:4px;font-size:9px;font-weight:600;display:block}.top nav{gap:10px;display:flex}.nav{color:var(--muted);background:0 0;border-radius:12px;align-items:center;gap:8px;min-height:44px;padding:12px 14px;font-size:14px;display:flex}.nav.active{color:var(--green);background:var(--sage)}.nav b{background:var(--green);color:#fff;border-radius:100%;padding:3px 6px;font-size:10px}main{max-width:1232px;margin:auto;padding:0 0 55px}.eyebrow{letter-spacing:2.4px;color:var(--green);font-size:10px;font-weight:700}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-1.8px;margin:20px 0;font-size:48px;font-weight:500;line-height:1.08}h2{letter-spacing:-.4px;font-size:23px;font-weight:500}h3{font-size:19px;font-weight:500;line-height:1.3}p{color:var(--muted);font-size:15px;line-height:1.65}small{color:var(--muted);font-size:12px;line-height:1.5}.primary,.secondary{border-radius:9px;justify-content:center;align-items:center;gap:8px;min-height:46px;padding:13px 21px;font-size:14px;font-weight:600;display:inline-flex}.primary{background:var(--green);color:#fff}.primary:hover{background:#163a2d}.secondary{border:1px solid var(--line);color:var(--green);background:#fff}.secondary:hover{background:var(--sage)}.full{width:100%;margin:8px 0}.small{min-height:40px;padding:10px 14px;font-size:12px}.text-button{color:var(--green);background:0 0;min-height:40px;padding:7px 0;font-size:13px;font-weight:600}.text-button span{padding-left:8px}.card{background:var(--white);border:1px solid var(--line);border-radius:16px;padding:25px}.welcome{grid-template-columns:1.2fr 1fr;align-items:center;gap:70px;padding:85px 45px 65px;display:grid}.welcome h1{letter-spacing:-2.5px;font-size:66px}.welcome-copy>p{max-width:350px;font-size:17px}.welcome-copy .book-title{border-left:2px solid var(--gold);margin:28px 0;padding-left:15px;font-size:14px;line-height:1.55}.values{max-width:340px;color:var(--muted);flex-wrap:wrap;gap:14px;font-size:11px;line-height:1.5;display:flex}.values span:before{content:"✓ ";color:var(--green)}.unlock{padding:38px;box-shadow:0 18px 65px #264a3610}.unlock h2{margin:24px 0 12px}.unlock label{margin:28px 0 12px;font-size:13px;line-height:1.6;display:block}.unlock label strong{margin-top:5px;font-size:15px;display:block}.unlock input{background:#fafbf8;border:1px solid #b6c4b8;border-radius:8px;width:100%;padding:15px}.unlock>small{text-align:center;margin-top:15px;display:block}.error{color:#9f3329;background:#fff0ea;border-radius:8px;padding:13px;font-size:13px}.hero{background:linear-gradient(110deg,#edf0e5,#f4f2e9);border-radius:0 0 24px 24px;justify-content:space-between;align-items:center;margin-bottom:35px;padding:55px 45px 45px;display:flex}.hero h1{font-size:48px}.hero p{font-size:16px}.hero-art{align-items:center;gap:25px;padding-right:30px;display:flex;transform:rotate(-7deg)}.hero-art img{border-radius:38px;width:160px;height:160px;box-shadow:16px 18px 30px #264a3612}.hero-art span{color:#65775e;font-family:Georgia,serif;font-size:17px;line-height:1.4}.search-row{gap:12px;display:flex}.search{border:1px solid var(--line);background:#fff;border-radius:11px;flex:1;align-items:center;gap:12px;padding:0 18px;display:flex}.search>span{color:var(--muted);font-size:30px}.search input{width:100%;color:var(--ink);background:0 0;border:0;outline:none;padding:18px 0;font-size:15px}.favorite-filter{border:1px solid var(--line);color:var(--green);background:#fff;border-radius:11px;align-items:center;gap:8px;padding:12px 20px;font-size:13px;display:flex}.favorite-filter.on{background:var(--green);color:#fff}.favorite-filter.on svg{fill:currentColor}.filters{flex-wrap:wrap;gap:8px;margin:20px 0 35px;display:flex}.filters button,.plan-tabs button{border:1px solid var(--line);color:var(--muted);background:0 0;border-radius:999px;min-height:42px;padding:11px 16px;font-size:12px}.filters .selected,.plan-tabs .selected{background:var(--green);color:#fff;border-color:var(--green)}.section-line{justify-content:space-between;align-items:center;gap:15px;margin:25px 0 20px;display:flex}.section-line h2,.section-line h3{margin:0}.section-line>span{color:var(--muted);font-size:12px}.recipe-grid{grid-template-columns:repeat(3,1fr);gap:22px;display:grid}.recipe-card{border:1px solid var(--line);background:#fff;border-radius:15px;transition:transform .15s;position:relative;overflow:hidden}.recipe-card:hover{transform:translateY(-3px)}.recipe-open{text-align:left;width:100%;color:var(--ink);background:0 0;border:0;height:100%;padding:0}.recipe-visual{background:#e8e8d6;justify-content:center;align-items:center;height:195px;display:flex;position:relative;overflow:hidden}.cat-S .recipe-visual{background:#eddcbe}.cat-D .recipe-visual{background:#dce9e3}.cat-B .recipe-visual{background:#dce5cb}.cat-K .recipe-visual{background:#eadccf}.cat-F .recipe-visual{background:#f0e2c2}.recipe-visual>img{object-fit:cover;width:100%;height:100%}.recipe-index{letter-spacing:1.2px;color:#53654c;font-size:10px;position:absolute;top:17px;left:18px}.category-label{letter-spacing:1px;color:#52634f;font-size:10px;position:absolute;bottom:14px;left:18px}.plate{background:#d0d4b3;border:12px solid #faf9f1;border-radius:50%;width:132px;height:132px;position:relative;transform:rotate(-10deg);box-shadow:10px 12px 12px #4e674819}.plate:after{content:"";border:1px solid #9ca98355;border-radius:50%;width:74px;height:74px;position:absolute;top:17px;left:17px}.plate i{background:#597653;border-radius:65% 20%;width:35px;height:25px;position:absolute;top:25px;left:22px;transform:rotate(20deg)}.plate i:nth-child(2){background:#c79b62;top:35px;left:50px;transform:rotate(65deg)}.plate i:nth-child(3){background:#8ca064;top:58px;left:31px;transform:rotate(-20deg)}.plate i:nth-child(4){background:#b2b982;top:64px;left:58px;transform:rotate(85deg)}.plate i:nth-child(5){background:#d0a873;top:51px;left:9px;transform:rotate(-45deg)}.cat-S .plate{background:#cfa966}.cat-K .plate{background:#b5aa88}.recipe-body{flex-direction:column;min-height:200px;padding:22px;display:flex}.recipe-body h3{min-height:49px;margin-bottom:10px;padding-right:5px}.recipe-body p{flex:1;margin-bottom:20px;font-size:13px;line-height:1.55}.timings{color:var(--muted);gap:16px;font-size:11px;display:flex}.timings span+span:before{content:"·";margin-right:14px}.heart{color:var(--green);background:#ffffffed;border-radius:50%;min-width:44px;min-height:44px;padding:11px;display:flex;position:absolute;top:12px;right:12px}.heart.saved svg{fill:var(--green)}.empty{text-align:center;background:#ffffff50;border:1px dashed #c4cfbf;border-radius:16px;margin:20px 0;padding:55px 20px}.empty>svg{width:40px;height:40px;margin:0 auto 20px}.page-heading{padding:55px 0 25px}.page-heading h1{font-size:44px}.plan-tabs{gap:10px;margin:0 0 20px;display:flex}.scope{background:var(--sage);border-radius:12px;margin:20px 0;padding:22px 25px;font-size:14px}.scope p:last-child{margin:8px 0 0;font-size:13px}.plan-layout{grid-template-columns:1.4fr 1fr;gap:30px;display:grid}.plan-layout aside>h2{margin-top:30px}.day-row{border:1px solid var(--line);background:#fff;border-bottom:0;gap:20px;padding:22px;display:flex}.day-row:first-child{border-radius:12px 12px 0 0}.day-row:last-child{border-bottom:1px solid var(--line);border-radius:0 0 12px 12px}.day-label{flex-direction:column;flex:0 0 58px;gap:7px;display:flex}.day-label>b{font-size:25px;font-weight:500}.day-label small{font-size:10px}.recipe-link{text-align:left;color:var(--green);background:0 0;padding:0;font-size:14px;font-weight:600;line-height:1.5}.recipe-link:hover{text-decoration:underline}.route{text-transform:uppercase;letter-spacing:1px;color:#6e825d;margin:8px 0;font-size:10px;display:block}.day-row p{margin:7px 0 0;font-size:12px;line-height:1.55}.window{margin:15px 0;padding:22px}.window summary{cursor:pointer;font-size:16px;font-weight:600;line-height:1.4}.window summary small{margin:7px 0;font-weight:400;display:block}.window ul{border-bottom:1px solid var(--line);padding:15px 0;font-size:12px;line-height:1.55;list-style:none}.window ul li{margin-bottom:12px}.window li small{font-size:10px;display:block}.window ol{color:var(--muted);padding-left:20px;font-size:12px;line-height:1.6}.window ol li{margin:12px 0}.quiet{color:var(--muted);font-size:12px;line-height:1.65}.leftovers{margin-top:40px}.info-grid{grid-template-columns:repeat(2,1fr);gap:20px;margin:20px 0 30px;display:grid}.info-grid .card h2,.info-grid .card h3{margin-bottom:15px}.info-grid .card>strong{color:#667e5e;font-size:12px}.info-grid p,.info-grid ol{color:var(--muted);font-size:14px;line-height:1.7}.info-grid li{padding-bottom:12px}.info-grid a{font-size:12px}.legal{max-width:820px;margin-top:30px}.legal h2:not(:first-child){margin-top:35px}.shopping-layout{grid-template-columns:340px 1fr;gap:30px;display:grid}.basket-recipes{align-self:start}.cart-recipe{border-bottom:1px solid var(--line);justify-content:space-between;gap:8px;padding:17px 0;display:flex}.cart-recipe small{margin-top:5px;font-weight:400;display:block}.remove{color:var(--muted);background:0 0;min-width:40px;height:44px;font-size:22px}.list-tools{justify-content:flex-end;align-items:center;gap:10px;margin-bottom:15px;display:flex}.list-tools>span{color:var(--muted);margin-right:auto;font-size:12px}.grocery-list{border:1px solid var(--line);background:#fff;border-radius:12px;padding:0;list-style:none;overflow:hidden}.grocery-list li{border-bottom:1px solid var(--line)}.grocery-list li:last-child{border-bottom:0}.grocery-list label{cursor:pointer;align-items:center;gap:13px;padding:17px 20px;display:flex}.grocery-list input{width:21px;height:21px;accent-color:var(--green);flex:none}.grocery-list label>span{flex:1;min-width:0}.grocery-list strong{font-size:14px;font-weight:500}.grocery-list em{color:var(--muted);margin-top:4px;font-size:11px;font-style:normal;display:block}.grocery-list small{color:var(--muted);margin-top:3px;font-size:10px;display:block}.grocery-list b{text-align:right;max-width:135px;font-size:12px;font-weight:600}.grocery-list .done{opacity:.5}.grocery-list .done strong{text-decoration:line-through}.recipe-dialog{color:var(--ink);background:var(--paper);border:0;border-radius:18px;width:min(1050px,95vw);max-height:92vh;padding:35px;overflow:auto}.recipe-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0c241abf}.dialog-head{justify-content:space-between;align-items:center;display:flex}.close{color:var(--green);background:#fff;border-radius:50%;width:44px;height:44px;font-size:28px}.recipe-dialog>h2{max-width:820px;margin:15px 0;font-size:34px}.recipe-dialog>p{max-width:800px}.detail-meta{border-block:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:20px;padding:15px 0;font-size:12px;display:flex}.detail-meta label{color:var(--muted);margin-left:auto}select{border:1px solid var(--line);color:var(--green);background:#fff;border-radius:8px;margin-left:8px;padding:8px}.detail-columns{grid-template-columns:330px 1fr;gap:35px;padding-top:25px;display:grid}.detail-columns h3{margin-top:10px}.stepper{border:1px solid var(--line);background:#fff;border-radius:8px;align-items:center;display:flex}.stepper button{width:37px;height:38px;color:var(--green);background:0 0;font-size:19px}.stepper>span{text-align:center;width:25px;font-size:14px}.ingredients{padding:0;list-style:none}.ingredients li{border-bottom:1px solid var(--line);gap:13px;padding:13px 0;font-size:13px;display:flex}.ingredients li>b{flex:none;width:60px;font-size:12px}.ingredients li>span{flex:1}.ingredients small{margin-top:5px;font-size:10px;display:block}.batch-warning{background:#f0e1bf;border-radius:10px;padding:16px;font-size:12px}.batch-warning p{margin:7px 0;font-size:12px}.steps{counter-reset:cook;padding:0;list-style:none}.steps>li{counter-increment:cook;padding:0 0 25px 40px;position:relative}.steps>li:before{content:counter(cook);background:var(--sage);color:var(--green);text-align:center;border-radius:50%;width:27px;height:27px;padding-top:5px;font-size:12px;position:absolute;top:0;left:0}.steps p{color:var(--ink);font-size:14px;line-height:1.7}.steps details{color:var(--muted);font-size:11px;line-height:1.6}.steps details p{color:var(--muted);margin:8px 0;font-size:11px}.steps summary{cursor:pointer}.storage{background:var(--sage);border-radius:10px;padding:20px}.storage p{margin-bottom:0;font-size:12px}.toast{background:var(--green);color:#fff;z-index:100;text-align:center;border:1px solid #ffffff30;border-radius:12px;max-width:90vw;padding:16px 25px;font-size:13px;position:fixed;bottom:30px;left:50%;transform:translate(-50%);box-shadow:0 8px 30px #0002}footer{border-top:1px solid var(--line);align-items:center;gap:30px;max-width:1232px;margin:auto;padding:25px 0 35px;display:flex}footer>span{letter-spacing:2px;font-size:9px}footer small{margin-left:auto;font-size:10px}@media (max-width:1300px){main,footer{margin-left:35px;margin-right:35px}.top{padding-inline:35px}.hero-art{padding-right:0}.hero-art span{display:none}}@media (max-width:900px){.top{padding:20px 25px}.nav{padding:10px}.nav span{display:none}main,footer{margin-inline:25px}.welcome{gap:30px;padding:55px 0}.welcome h1{font-size:54px}.unlock{padding:28px}.hero{padding:40px 30px}.hero h1{font-size:40px}.hero-art img{width:125px;height:125px}.recipe-grid{grid-template-columns:repeat(2,1fr)}.plan-layout{grid-template-columns:1fr}.plan-layout aside{grid-template-columns:1fr 1fr;gap:15px;display:grid}.plan-layout aside>h2,.plan-layout aside>.quiet{grid-column:1/-1}.plan-layout .window{margin:0}.shopping-layout{grid-template-columns:1fr}.basket-recipes{order:1}.detail-columns{grid-template-columns:280px 1fr;gap:25px}.recipe-dialog{padding:25px}}@media (max-width:600px){.top{padding:15px 20px;display:block}.brand{font-size:20px}.brand img{width:35px;height:35px}.brand small{letter-spacing:1.5px;font-size:8px}.top nav{border-top:1px solid var(--line);z-index:20;padding:7px 8px max(7px,env(safe-area-inset-bottom));background:#fff;justify-content:space-around;gap:0;position:fixed;bottom:0;left:0;right:0}.nav{border-radius:8px;flex-direction:column;gap:3px;min-width:70px;font-size:9px;position:relative}.nav span{display:block}.nav b{position:absolute;top:3px;right:5px}.nav svg{width:20px;height:20px}main,footer{margin-inline:18px}main{padding-bottom:25px}.welcome{flex-direction:column;align-items:stretch;gap:25px;padding:35px 0;display:flex}.welcome h1{margin:17px 0;font-size:48px}.welcome-copy>p{max-width:320px;font-size:15px}.welcome-copy .book-title{margin:20px 0}.values{max-width:none;font-size:10px}.unlock{padding:25px}.unlock h2{font-size:23px}.unlock>img{width:48px;height:48px}.eyebrow{letter-spacing:2px;font-size:9px}.hero{border-radius:0 0 18px 18px;margin-bottom:25px;padding:32px 24px}.hero h1{letter-spacing:-1.2px;max-width:260px;font-size:36px}.hero p{font-size:14px}.hero-art,.desktop{display:none}.search-row{gap:8px}.search{padding:0 12px}.search input{padding:16px 0;font-size:13px}.favorite-filter{padding:11px;font-size:0}.favorite-filter svg{width:20px}.filters{scrollbar-width:thin;flex-wrap:nowrap;margin:15px -18px 25px;padding:0 18px 7px;overflow:auto}.filters button{white-space:nowrap;min-height:40px;padding:10px 14px;font-size:11px}.section-line{gap:8px;margin:20px 0 15px}.section-line h2{font-size:20px}.section-line>span{font-size:10px}.recipe-grid{grid-template-columns:1fr;gap:16px}.recipe-card .recipe-open{grid-template-columns:125px 1fr;align-items:stretch;display:grid}.recipe-visual{height:auto;min-height:180px}.recipe-body{min-height:180px;padding:18px 15px}.recipe-body h3{min-height:0;margin-bottom:8px;padding-right:18px;font-size:16px;line-height:1.35}.recipe-body p{margin-bottom:12px;font-size:11px;line-height:1.55}.timings{flex-wrap:wrap;gap:7px;font-size:9px}.timings span+span:before{margin-right:7px}.heart{min-width:36px;min-height:36px;padding:9px;top:6px;right:6px}.heart svg{width:18px;height:18px}.plate{border-width:9px;width:92px;height:92px;transform:scale(.85)rotate(-10deg)}.plate:after{width:53px;height:53px;top:10px;left:10px}.plate i{transform-origin:0 0;transform:scale(.7)}.plate i:nth-child(2){top:28px;left:33px}.plate i:nth-child(3){top:41px;left:22px}.plate i:nth-child(4){top:44px;left:39px}.plate i:nth-child(5){top:36px;left:7px}.recipe-index{font-size:9px;top:12px;left:11px}.category-label{font-size:8px;line-height:1.4;bottom:12px;left:11px;right:6px}.page-heading{padding:35px 0 20px}.page-heading h1{letter-spacing:-1px;font-size:35px}.page-heading p{font-size:14px}.plan-tabs{flex-direction:column;align-items:stretch;gap:7px}.plan-tabs button{text-align:left;border-radius:10px;font-size:12px}.scope{padding:18px;font-size:13px}.plan-layout aside{display:block}.plan-layout .window{margin-bottom:15px}.day-row{gap:12px;padding:18px 14px}.day-label{flex-basis:44px}.day-label b{font-size:23px}.day-row p{font-size:11px}.day-row .recipe-link{font-size:13px}.info-grid{grid-template-columns:1fr;gap:15px}.info-grid .card{padding:22px}.list-tools{flex-wrap:wrap;gap:7px}.list-tools>span{width:100%;margin-bottom:7px}.grocery-list label{gap:10px;padding:14px 12px}.grocery-list b{max-width:90px;font-size:11px}.grocery-list strong{font-size:13px}.grocery-list small{font-size:9px}.recipe-dialog{border-radius:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;padding:20px}.recipe-dialog>h2{margin:15px 0;font-size:29px}.recipe-dialog>p{font-size:13px}.detail-columns{grid-template-columns:1fr;gap:25px}.detail-meta{gap:12px;font-size:11px}.detail-meta label{width:100%;margin-left:0}.steps>li{padding-left:38px}.ingredients small{font-size:11px}.ingredients li{font-size:14px}.batch-warning,.batch-warning p{font-size:13px}footer{flex-wrap:wrap;gap:5px 20px;padding:20px 0 110px}footer small{width:100%;margin:0;font-size:9px}.toast{min-width:230px;padding:14px 18px;bottom:90px}.card{padding:20px}.section-line .primary{padding:10px;font-size:10px}.empty{padding:40px 18px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}@media print{.top,footer,.page-heading,.basket-recipes,.list-tools,nav,.toast,button{display:none!important}main{max-width:none;margin:0;padding:0}.shopping-layout{display:block}.grocery-list{border:0}.grocery-list label{break-inside:avoid;padding:6px 0}.grocery-list small{font-size:8pt}.grocery-list .done{display:none}.scope{background:0 0;padding:10px 0}.grocery-list input{width:12px;height:12px}.grocery-list strong,.grocery-list b{font-size:10pt}}.nutrition{background:#eff2e8;border-radius:14px;margin-bottom:2rem;padding:1.15rem}.nutrition h3{margin-top:0}.nutrition dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem .6rem;margin:0;display:grid}.nutrition dt{color:#5d6d62;overflow-wrap:anywhere;font-size:.75rem;line-height:1.4}.nutrition dd{margin:.2rem 0 0;font-size:.95rem;font-weight:650}.nutrition .quiet{margin-bottom:0;font-size:.75rem;line-height:1.5}@media (max-width:430px){.nutrition dl{grid-template-columns:repeat(2,minmax(0,1fr))}}
