:root{color:#f1eee5;font-synthesis:none;background:#161513;font-family:Inter,system-ui,sans-serif}*{box-sizing:border-box}body{color:#f1eee5;background:#161513;margin:0}button,input{font:inherit}button{color:inherit;cursor:pointer;background:#292721;border:1px solid #4b493d;border-radius:7px;padding:.6rem .75rem}button:hover{background:#37342b}button:disabled{opacity:.38;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible{outline-offset:3px;outline:3px solid #b7a96a}a{color:#d0c48a}.app{min-height:100vh;padding-bottom:4.6rem}header{border-bottom:1px solid #403d34;justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem 1rem;display:flex}h1,h2,h3{font-family:"Source Serif 4",Georgia,serif;line-height:1.08}h1{margin:.1rem 0;font-size:clamp(1.7rem,3vw,2.7rem)}.eyebrow{letter-spacing:.16em;color:#b4aea0;margin:0 0 .35rem;font-size:.7rem}.content,main{max-width:1240px;margin:auto;padding:1.2rem 1rem 3rem}.rail{display:none}.week-controls{gap:.4rem;display:flex}.day-selector{gap:.35rem;padding:.2rem 0 1rem;display:flex;overflow-x:auto}.day-selector button{color:#aaa499;background:0 0;border-color:#0000;min-width:68px}.day-selector button.active{color:#f2eee4;background:#39362c;border-color:#746d50}.day-focus{border-top:1px solid #403d34;max-width:820px;padding-top:1rem}.meal{border-bottom:1px solid #403d34;padding:1.15rem 0}.meal h2{margin:.35rem 0}.meal span,.modified{letter-spacing:.1em;color:#c9bd7d;font-size:.67rem}.times{flex-wrap:wrap;gap:.35rem;margin:.6rem 0;display:flex}.times span{color:#c6c0b1;border:1px solid #4a473d;border-radius:5px;padding:.25rem .4rem;font-size:.78rem}.primary{color:#1b1a15;background:#b8aa6b;border-color:#d5c888;min-height:48px;font-weight:700}.quiet{background:0 0}.recipe-image{background:#22211c;min-height:150px;position:relative;overflow:hidden}.recipe-image img{object-fit:cover;width:100%;height:100%;max-height:360px;display:block}.placeholder{color:#b9ad7e;letter-spacing:.13em;text-transform:uppercase;text-align:center;background:#29261f;place-items:center;min-height:170px;font-family:"Source Serif 4",serif;display:grid}.placeholder span{border-top:1px solid #776f54;border-bottom:1px solid #776f54;padding:.7rem}.image-actions{background:#211f1a;flex-wrap:wrap;gap:.35rem;padding:.45rem;display:flex}.image-actions button{padding:.35rem .45rem;font-size:.72rem}.detail>.recipe-image{max-height:380px;margin-bottom:1.2rem}.publisher{color:#b6afa0}.modifications{color:#fff5c4;background:#4c3d12;border:3px solid #f0d56d;margin:1.35rem 0;padding:1rem}.modifications strong{letter-spacing:.12em}.modifications small{text-transform:uppercase;margin-top:.25rem;display:block}.recipe-columns{gap:2rem;margin-top:1.5rem;display:grid}.detail section{border-top:1px solid #403d34;padding:1rem 0}.ingredients,.steps,.execution{margin:0;padding:0;list-style:none}.ingredients li{border-bottom:1px solid #35332d;padding:.6rem 0}.ingredients label{align-items:flex-start;gap:.65rem;display:flex}.ingredients input,.grocery-item input{accent-color:#768756;width:1.2rem;height:1.2rem}.steps{counter-reset:steps}.steps li,.execution li{counter-increment:steps;border-bottom:1px solid #38352e;padding:1rem 0 1rem 3rem;line-height:1.55;position:relative}.steps li:before{content:counter(steps);color:#c7b86e;font-family:"Source Serif 4";font-size:1.4rem;position:absolute;left:0}.timer{margin-top:.55rem;font-size:.75rem;display:block}.cooking>.recipe-image{display:none}.kitchen{font-size:1.04rem}.kitchen-head{justify-content:space-between;align-items:center;gap:1rem;display:flex}.execution .current{background:#302e25;border-left:3px solid #c1b36d;margin-left:-1rem;padding-left:1rem}.strategy{color:#bab3a2;font-style:italic}.recipe-grid{gap:1.2rem;display:grid}.recipe-row{border-bottom:1px solid #403d34;grid-template-columns:125px 1fr;gap:1rem;padding-bottom:1.2rem;display:grid}.recipe-row .recipe-image{min-height:125px}.recipe-row .image-actions{display:none}.recipe-row h2{margin:0}.grocery{border-top:1px solid #403d34;padding:1rem 0}.collected{color:#9aa982}.grocery-item{border-top:1px solid #36342d;gap:.75rem;padding:.75rem 0;display:flex}.grocery-item small{color:#b8b1a2;margin-top:.2rem;display:block}.grocery-item input:checked+span{opacity:.55;text-decoration:line-through}.past-week{text-align:left;background:0 0;border-width:0 0 1px;border-radius:0;width:100%;padding:1rem 0;display:block}.bottom-nav{bottom:0;z-index:4;background:#211f1a;border-top:1px solid #48443a;grid-template-columns:repeat(3,1fr);gap:.2rem;padding:.35rem;display:grid;position:fixed;inset-inline:0}.bottom-nav button{color:#bbb4a4;background:0 0;border:0;border-radius:4px;min-height:42px;font-size:.72rem}.bottom-nav button.active{color:#f4f0e5;background:#3b382e}.skeleton{gap:1rem;display:grid}.skeleton i{background:#25231e;height:100px;animation:1.4s infinite pulse;display:block}.error{max-width:620px}.error details{color:#bdb5a5;margin-top:1rem}@keyframes pulse{50%{opacity:.55}}@media (width>=760px){.app{padding:0 2rem 0 230px}.rail{background:#1d1b17;border-right:1px solid #403d34;flex-direction:column;width:210px;padding:2rem 1.1rem;display:flex;position:fixed;inset:0 auto 0 0}.rail h2{color:#d5cbab;margin:0 0 2rem;font-size:1.5rem}.rail button{text-align:left;color:#afa899;background:0 0;border:0;border-radius:3px;padding:.75rem}.rail button.active{color:#f4f0e5;background:#343128}.bottom-nav{display:none}header{padding:1.6rem 0}.content{padding-left:0;padding-right:0}.day-focus{margin-left:0}.recipe-columns{grid-template-columns:minmax(260px,.8fr) minmax(340px,1.2fr)}.recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.recipe-row{grid-template-columns:150px 1fr}.recipe-row .recipe-image{min-height:150px}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.week-browser{display:none}.meal-selector{gap:.4rem;margin:0 0 1rem;display:flex}.meal-selector button.active{color:#fff4c5;border-color:#b8aa6b}.meal-focus>.recipe-image{margin-bottom:1rem}.meal-focus>.recipe-image img{max-height:300px}.meal-actions{flex-wrap:wrap;gap:.45rem;display:flex}.recipe-tags{color:#bcb39f;font-size:.82rem}.flexible{color:#b8b1a2;border-top:1px solid #403d34;margin-top:2rem;padding-top:1rem}.flexible h3{font-size:1rem}.mobile-only{display:block}.desktop-only{display:none}@media (width>=1100px){.day-selector,.meal-selector{display:none}.weekly-layout{grid-template-columns:310px minmax(0,1fr);gap:2.2rem;display:grid}.week-browser{border-right:1px solid #403d34;flex-direction:column;max-height:calc(100vh - 150px);padding-right:1rem;display:flex;overflow:auto}.browser-day{border-bottom:1px solid #39362f;padding:.35rem 0}.browser-day.selected{background:#24221d}.day-switch{text-align:left;background:0 0;border:0;border-radius:0;width:100%;padding:.45rem;display:block}.browser-meal{text-align:left;color:#d8d2c4;background:0 0;border:0;border-radius:3px;grid-template-columns:52px minmax(0,1fr);align-items:center;gap:.55rem;width:100%;padding:.35rem .45rem;display:grid}.browser-meal.selected{color:#fff7df;background:#3a362b}.browser-meal .recipe-image,.browser-meal>.placeholder{height:48px;min-height:48px}.browser-meal .image-actions{display:none}.browser-meal .placeholder{font-size:0}.browser-meal .placeholder span{display:none}.browser-meal img{height:48px}.browser-meal span{gap:.12rem;min-width:0;display:grid}.browser-meal strong{text-overflow:ellipsis;overflow:hidden}.browser-meal em,.browser-meal small{color:#b8aa6b;font-size:.65rem;font-style:normal}.day-focus{max-width:860px}.meal-focus{padding-top:0}.meal-focus>h2{font-size:2.1rem}.desktop-recipe-content{margin-top:2rem;display:block}.desktop-recipe-content .recipe-columns{grid-template-columns:minmax(230px,.8fr) minmax(320px,1.2fr)}.desktop-only{display:block}.mobile-only{display:none}.execution li.current:before{content:"Current";letter-spacing:.1em;color:#d3c475;margin-bottom:.4rem;font:600 .68rem Inter,sans-serif;display:block;position:static}}.execution .coming-label{counter-increment:none;border:0;padding:.8rem 0 .2rem}.execution .coming-label h3{color:#bab3a2;margin:0}.execution .coming-label:before{content:none}@media (width>=1100px){.execution .coming-label{display:none}}.app{max-width:1900px;margin:auto}.timer-strip{z-index:8;color:#f6f0df;background:#343126;border:1px solid #7b714f;padding:.5rem .65rem;font-size:.82rem;position:fixed;top:1rem;right:1rem}.timer-strip button{margin-left:.5rem;padding:.25rem .45rem;font-size:.75rem}.week-controls button{white-space:nowrap}.week-controls button:first-child{font-size:0}.week-controls button:first-child:before{content:"←";font-size:1rem}.week-controls button:last-child{font-size:0}.week-controls button:last-child:before{content:"→";font-size:1rem}.day-selector{scrollbar-width:none;scroll-snap-type:x mandatory;padding-inline:.35rem}.day-selector::-webkit-scrollbar{display:none}.day-selector button{scroll-snap-align:start;min-height:52px}.day-selector button[aria-selected=true],.day-selector button.active{box-shadow:inset 0 -2px #c6b66e}.day-focus{border-top:0}.day-focus>.eyebrow{font-size:.82rem}.meal{position:relative}.meal h2{max-width:28ch;font-size:clamp(1.45rem,3vw,2.25rem)}.meal>span{font-size:.78rem}.meal p{color:#c0b9a8;max-width:58ch}.mobile-meal-image{max-width:720px}.mobile-meal-image .recipe-image{min-height:220px}.modifications{color:#efe5c7;background:#302c20;border:0;border-left:3px solid #c7b46a;padding:.8rem 1rem;font-size:.94rem}.modifications strong{color:#decf91;font-family:Inter,sans-serif;font-size:.78rem}.modifications ul{margin:.45rem 0 0;padding-left:1.15rem}.detail{max-width:1280px}.detail>h1{max-width:17ch;font-size:clamp(2.45rem,5vw,4.7rem)}.detail>.publisher{margin:.4rem 0 1rem;font-size:1rem}.detail>.recipe-image{max-width:1100px;min-height:350px}.detail .times{margin:1rem 0}.detail .times span{font-size:.88rem}.recipe-columns{max-width:1100px}.recipe-columns>section>h2,.detail section>h2{font-size:1.7rem}.ingredients li{grid-template-columns:min-content minmax(6rem,10rem) 1fr;align-items:start;gap:.55rem;padding:.8rem 0;display:grid}.ingredients label{display:contents}.ingredients b{color:#d8cc9a;font-weight:600}.ingredients span{line-height:1.45}.ingredients input{margin-top:.18rem}.steps li,.execution li{font-size:1.02rem}.steps li:before{font-size:1.7rem}.kitchen{max-width:1050px}.kitchen h2{font-size:2rem}.kitchen h3{margin:1.25rem 0 .5rem;font-size:1.18rem}.kitchen li{font-size:1.02rem}.execution .current{border-left-width:4px;margin:0;padding:1.35rem 1.25rem;font-size:1.16rem}.execution .current b{font-family:"Source Serif 4",Georgia,serif;font-size:1.32rem}.strategy{border-left:1px solid #6d654a;padding-left:.75rem;font-size:.92rem}.timer{font-size:.85rem}.flexible{color:#afa896;border-top:1px solid #403d34;margin-top:1.75rem;font-size:.86rem}.flexible h3{letter-spacing:.1em;text-transform:uppercase;font-family:Inter,sans-serif;font-size:.78rem}.flexible p{margin:.35rem 0}.grocery h3{color:#c8ba7d;text-transform:uppercase;letter-spacing:.11em;margin:1.1rem 0 .25rem;font-family:Inter,sans-serif;font-size:.76rem}.image-actions{border-top:1px solid #484333}.recipe-row{align-items:start}.recipe-row h2{font-size:1.65rem}.recipe-row .times span{font-size:.75rem}@media (width<=759px){header{align-items:flex-start}.week-controls{gap:.25rem}.week-controls button{min-width:42px;min-height:42px}.content{padding-inline:1rem}.recipe-image img{max-height:300px}.detail{padding-top:.75rem}.detail>.recipe-image{min-height:250px;margin-inline:-1rem}.detail>h1{font-size:2.35rem}.detail .modifications{margin-block:1rem}.recipe-columns{gap:1.25rem}.ingredients li{grid-template-columns:min-content 1fr}.ingredients b{display:block}.kitchen-head{align-items:flex-start}.kitchen-head h2{font-size:1.65rem}.kitchen .execution{margin-top:.25rem}.kitchen .execution li{padding:1rem 0 1rem 2.5rem}.kitchen .execution .current{padding:1.1rem 1rem 1.1rem 2.75rem}.kitchen .execution .current b{font-size:1.18rem}.timer-strip{text-align:center;inset:auto .75rem 4.7rem}.bottom-nav{z-index:9}.desktop-only{display:none!important}.mobile-only{display:block!important}}@media (width>=1100px){.app{padding-left:250px;padding-right:3rem}.rail{width:210px}.content{max-width:none}.weekly-layout{grid-template-columns:305px minmax(0,1fr);gap:3.25rem}.day-focus{max-width:1060px}.week-browser{padding-right:1.25rem}.week-browser>button{padding:.9rem .55rem}.detail{max-width:1280px;margin-left:0;padding-left:0;padding-right:0}.detail>.recipe-image{height:480px}.detail .recipe-columns{grid-template-columns:minmax(330px,.75fr) minmax(450px,1.25fr);gap:4rem}.kitchen{max-width:1120px}.desktop-only{display:block!important}.mobile-only{display:none!important}}@media (width>=1600px){.app{padding-left:280px}.weekly-layout{grid-template-columns:330px minmax(0,1fr);gap:4.5rem}.day-focus{max-width:1180px}.detail{max-width:1380px}.detail .recipe-columns{max-width:1200px}}.desktop-recipe-content{display:none}.ingredients .ingredient-quantity{color:#d8cc9a;font-weight:600}.ingredients .ingredient-name{font-weight:600}.ingredients .ingredient-preparation{color:#bdb5a4}.ingredients .ingredient-optional{color:#aaa08b;font-size:.8rem;font-style:italic}@media (width<=759px){.ingredients label{grid-template-columns:1.25rem minmax(5rem,7rem) 1fr;gap:.35rem;display:grid}.ingredients .ingredient-preparation,.ingredients .ingredient-optional{grid-column:3}.kitchen:not(.show-all) .execution li:nth-of-type(n+6){display:none}.kitchen.show-all .execution li:nth-of-type(n+6){display:list-item}}.detail-app{min-height:100vh}.detail-app .detail{z-index:1;position:relative}.week-controls button{font-size:inherit!important}.kitchen-context{color:#b9b1a0;border-top:1px solid #403d34;margin-top:1.5rem;padding-top:1rem;font-size:.88rem}.kitchen-context section h2{font-size:1rem}.kitchen-context .times span{font-size:.76rem}@media (width<=759px){.week-controls button{text-indent:-999px;width:42px;padding-inline:0;overflow:hidden}.week-controls button:first-child{background-image:none}.week-controls button:first-child:after{content:"←";text-indent:0;font-size:1rem;display:block}.week-controls button:last-child:after{content:"→";text-indent:0;font-size:1rem;display:block}.kitchen-context{font-size:.82rem}}.recipe-metadata{margin:.75rem 0 1.1rem}.ingredients .ingredient-content{flex-wrap:wrap;gap:.2rem .45rem;min-width:0;display:flex}.ingredients .ingredient-preparation:before{content:"— ";color:#8e8675}.ingredients .ingredient-optional{margin-left:.25rem}@media (width>=760px){.week-controls button:before,.week-controls button:after{content:none!important}.recipe-columns{grid-template-columns:1fr!important}}@media (width>=1200px){.recipe-columns{grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr)!important}}@media (width<=759px){.ingredients .ingredient-content{grid-column:3}.kitchen button,.timer,.image-actions button{min-height:44px}.week-controls button:before{content:none!important}}.week-browser{scrollbar-width:thin;scrollbar-color:#6d6757 transparent}.kitchen>ul small{color:#aaa28f;margin-top:.25rem;display:block}.kitchen>ul li{line-height:1.45}@media (width<=759px){.back{min-height:44px}.day-selector{padding-inline:1rem 2.5rem;scroll-padding-inline:1rem 2.5rem;-webkit-mask-image:linear-gradient(90deg,#000 0 calc(100% - 2.25rem),#0000 100%);mask-image:linear-gradient(90deg,#000 0 calc(100% - 2.25rem),#0000 100%)}.cooking>.modifications{margin:.65rem 0;padding:.6rem .75rem;font-size:.86rem}.cooking>.modifications strong{font-size:.7rem}.cooking>.modifications small{color:#c7bb90;letter-spacing:.04em;margin-top:.1rem;font-size:.68rem;display:block}.cooking>.modifications li{margin:.2rem 0}.browser-meal em,.browser-meal small{color:#9f9887;font-size:.62rem}.browser-meal span{grid-template-columns:1fr auto;column-gap:.35rem;display:grid}.browser-meal strong{order:-1;grid-column:1/-1;font-size:.82rem}.browser-meal em{grid-column:1}.browser-meal small{text-align:right;grid-column:2}}@media (width>=1100px){.browser-meal em,.browser-meal small{color:#9f9887;font-size:.62rem}.browser-meal span{grid-template-columns:1fr auto;column-gap:.35rem;display:grid}.browser-meal strong{order:-1;grid-column:1/-1;font-size:.82rem}.browser-meal em{grid-column:1}.browser-meal small{text-align:right;grid-column:2}.detail>.recipe-image+.eyebrow{margin-top:.4rem}.recipe-metadata{margin-bottom:1.25rem}}.planned-info{color:#aaa18f;max-width:62ch;font-size:.9rem}.app{padding-bottom:calc(4.6rem + env(safe-area-inset-bottom))}.bottom-nav{padding-bottom:calc(.35rem + env(safe-area-inset-bottom))}.photo-status{color:#c9bd7d;margin:.45rem;font-size:.85rem}.error-text{color:#f2b5a5}body{padding-top:env(safe-area-inset-top);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.bottom-nav{inset-inline:env(safe-area-inset-left) env(safe-area-inset-right)}.timer-strip{right:calc(1rem + env(safe-area-inset-right));top:calc(1rem + env(safe-area-inset-top))}@media (width<=759px){.timer-strip{top:auto;bottom:calc(4.7rem + env(safe-area-inset-bottom));left:calc(.75rem + env(safe-area-inset-left));right:calc(.75rem + env(safe-area-inset-right))}}@media (width>=760px){.rail{top:env(safe-area-inset-top);left:env(safe-area-inset-left);height:auto;bottom:0}}.detail-app{padding-bottom:env(safe-area-inset-bottom)}.context-app-bar{z-index:6;padding:calc(.7rem + env(safe-area-inset-top)) 1rem .7rem;background:#161513;border-bottom:1px solid #403d34;position:sticky;top:0}.context-app-bar .back{background:0 0;border:0;padding:.35rem 0;font-size:.92rem}.detail-app .detail{padding-top:1.2rem}@media (width<=759px){.detail-app .timer-strip{bottom:calc(.75rem + env(safe-area-inset-bottom))}}[data-route-heading][tabindex="-1"]:focus{outline:none}.detail-app:has(.cook-mode){padding-bottom:0}.detail-app:has(.cook-mode) .context-app-bar{grid-template-columns:minmax(44px,auto) minmax(0,1fr);align-items:center;gap:.6rem;display:grid}.cook-app-title{white-space:nowrap;text-overflow:ellipsis;font-size:.94rem;font-weight:650;overflow:hidden}.detail-app:has(.cook-mode) .detail{max-width:720px;padding:0}.cook-mode{min-height:calc(100vh - 58px);padding-bottom:calc(190px + env(safe-area-inset-bottom));flex-direction:column;font-family:Inter,system-ui,sans-serif;display:flex}.cook-main{width:100%;max-width:680px;margin:auto;padding:1.4rem 1rem 2rem}.cook-progress,.cook-count,.cook-duration{color:#b9b1a0;margin:.2rem 0 .8rem;font-size:.88rem}.cook-instruction{max-width:30ch;margin:0;font-size:clamp(1.38rem,6vw,1.5rem);font-weight:650;line-height:1.36}.cook-instruction:focus{outline:none}.cook-next{color:#bdb5a4;border-top:1px solid #403d34;margin-top:2rem;padding-top:1rem}.cook-next span{letter-spacing:.08em;text-transform:uppercase;font-size:.78rem}.cook-next p{margin:.4rem 0;font-size:1rem;line-height:1.42}.cook-timer-start,.cook-all-steps{background:0 0;margin-top:1rem}.cook-all-steps{float:right;color:#d8cc9a;border:0;min-height:44px;margin:0;font-size:.9rem}.timer-conflict{color:#dccf9d;font-size:.86rem}.prep-tasks{margin:1.2rem 0;padding:0;list-style:none}.prep-tasks li{border-top:1px solid #403d34}.prep-tasks label{cursor:pointer;align-items:flex-start;gap:.75rem;min-height:60px;padding:.8rem 0;line-height:1.42;display:flex}.prep-tasks input{accent-color:#a79d67;flex:0 0 24px;width:24px;height:24px;margin:.05rem 0}.prep-tasks input:checked+span{opacity:.65;text-decoration:line-through}.prep-tasks small{color:#aaa28f;margin-top:.25rem;display:block}.cook-shelf{z-index:10;padding:.7rem 1rem calc(.7rem + env(safe-area-inset-bottom));background:#211f1a;border-top:1px solid #48443a;position:fixed;bottom:0;left:0;right:0}.cook-progress-actions{grid-template-columns:.8fr 1.2fr;gap:.6rem;max-width:680px;margin:auto;display:grid}.cook-progress-actions button,.cook-primary{min-height:50px;font-weight:700}.cook-primary{width:100%;max-width:680px;margin:auto;display:block}.cook-timer-control{grid-template-columns:1fr auto auto;align-items:center;gap:.4rem;max-width:680px;margin:0 auto .65rem;display:grid}.cook-timer-control strong{font-size:1.2rem}.cook-timer-control span{color:#bbb3a0;grid-column:1/-1;font-size:.78rem}.cook-timer-control button{min-height:44px;padding:.45rem .6rem}.cook-dialog-backdrop{z-index:20;background:#000000a6;align-items:stretch;display:flex;position:fixed;inset:0}.cook-dialog{width:100%;padding:calc(1rem + env(safe-area-inset-top)) 1rem calc(1rem + env(safe-area-inset-bottom));background:#1d1b17;overflow:auto}.cook-dialog header{border-bottom:1px solid #403d34;padding:0 0 1rem}.cook-dialog h2{font-family:Inter,system-ui,sans-serif;font-size:1.25rem}.cook-dialog ol{padding:0;list-style:none}.cook-dialog li{border-bottom:1px solid #403d34;padding:1rem 0;line-height:1.42}.cook-dialog li.current{border-left:3px solid #c7b46a;padding-left:.7rem;font-weight:650}.cook-dialog li.completed{color:#aaa28f}.cook-complete .recipe-image{display:none}.cook-complete .image-actions{background:0 0;padding:0}.cook-complete h1,.cook-prep h1{font-family:Inter,system-ui,sans-serif;font-size:1.55rem}.cook-empty{padding:2rem 1rem}.cook-mode button:focus-visible,.cook-dialog button:focus-visible{outline-offset:3px;outline:3px solid #b7a96a}@media (width>=760px){.cook-shelf{left:210px}.detail-app:has(.cook-mode) .context-app-bar{padding-left:0;padding-right:0}}@media (width<=759px){.context-app-bar{min-height:58px}.cook-main{padding-top:1.2rem}.cook-mode{min-height:calc(100vh - 58px)}}.detail-app:has(.cook-mode) .context-app-bar{grid-template-columns:minmax(44px,auto) minmax(0,1fr) minmax(44px,auto)}.cook-app-all{color:#d8cc9a;white-space:nowrap;border:0;min-height:44px;padding:.35rem}.cook-main{padding-bottom:calc(9rem + env(safe-area-inset-bottom));margin:0 auto}.recipe-image-actions-only{background:0 0;min-height:0}.recipe-image-actions-only .image-actions{border:0}.cook-done-guidance{color:#d8cc9a;max-width:680px;margin:.45rem auto 0;font-size:.82rem}.cook-complete .recipe-image.recipe-image-actions-only{display:block;overflow:visible}.recipe-image-actions-only .image-actions-compact{position:static}.cook-mode .primary:hover{color:#1b1a15;background:#c5b779}.cook-timer-control span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.detail-app:has(.cook-dialog) .detail{z-index:20}.week-header{align-items:flex-start;padding:1rem}.week-header h1{margin:0;font-size:1.85rem}.week-range{align-items:center;gap:.35rem;margin-top:.2rem;display:flex}.week-range p{color:#aaa393;margin:0;font-size:.88rem}.week-controls{gap:.1rem}.week-controls button{color:#d1c486;background:0 0;border:0;min-width:44px;min-height:44px;padding:.3rem;font-size:0!important}.week-controls button:first-child:after{content:"←";font-size:1.1rem}.week-controls button:last-child:after{content:"→";font-size:1.1rem}.week-controls button:disabled{opacity:.24}.day-selector{grid-template-columns:repeat(7,minmax(0,1fr));gap:.2rem;display:grid;padding:.25rem 0 .7rem!important;overflow:visible!important;-webkit-mask-image:none!important;mask-image:none!important}.day-selector button{color:#bcb5a4;border:1px solid #0000;border-radius:8px;place-content:center;gap:.05rem;min-width:0;min-height:48px;padding:.25rem .1rem;display:grid}.day-selector button span{letter-spacing:.02em;font-size:.68rem}.day-selector button b{font-size:.98rem}.day-selector button.active{box-shadow:none;background:#39362c;border-color:#746d50}.day-selector button:focus-visible{outline-offset:1px;outline:3px solid #d8cc89}.meal-selector{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;margin:0 0 .9rem;display:grid}.meal-selector button{text-align:left;background:#211f1a;border-color:#413e34;align-content:center;gap:.12rem;min-height:54px;padding:.45rem .55rem;display:grid}.meal-selector button span{text-transform:uppercase;letter-spacing:.09em;color:#bcae70;font-size:.67rem}.meal-selector button strong{text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.84rem;line-height:1.2;display:-webkit-box;overflow:hidden}.meal-selector button.active{box-shadow:none;background:#343127;border-color:#8e8152}.meal-selector button:focus-visible{outline-offset:1px;outline:3px solid #d8cc89}.meal-focus{border:0;padding:0}.meal-focus>.recipe-image{border-radius:12px;height:232px;min-height:0;margin:0 0 .75rem}.meal-focus>.recipe-image img{height:232px;max-height:none}.meal-focus>.recipe-image .placeholder{height:232px;min-height:0}.image-actions-compact{background:0 0;border:0;padding:0;position:absolute;bottom:.45rem;right:.45rem}.image-actions-compact>button,.image-actions-compact summary{color:#f1eee5;cursor:pointer;background:#201e19e8;border:1px solid #5d5847;border-radius:8px;min-height:44px;padding:.35rem .55rem;font-size:.78rem;list-style:none}.image-actions-compact summary::-webkit-details-marker{display:none}.image-actions-compact details{position:relative}.image-actions-compact details>div{background:#211f1a;border:1px solid #575141;border-radius:8px;gap:.25rem;width:max-content;max-width:260px;padding:.35rem;display:grid;position:absolute;bottom:calc(100% + .35rem);right:0}.image-actions-compact details button{text-align:left;min-height:38px;font-size:.78rem}.meal-state{color:#cdbd79;letter-spacing:.1em;text-transform:uppercase;margin:.1rem 0 .25rem;font-size:.72rem;font-weight:700}.meal-focus h2{margin:.1rem 0 .4rem;font-size:clamp(1.8rem,8vw,2rem);line-height:1.02}.meal-metadata{color:#c1baa9;margin:0;font-size:.92rem}.meal-side{color:#bbb3a1;margin:.6rem 0 0;font-size:.92rem}.meal-actions{gap:.15rem;margin:1rem 0 .25rem;display:grid}.meal-actions .primary{border-radius:10px;width:100%;min-height:48px}.recipe-details{color:#d0c48a;text-align:left;background:0 0;border:0;padding:.45rem 0;font-size:.92rem}.recipe-details:hover{background:0 0;text-decoration:underline}.meal-source{color:#9f9888;margin:.8rem 0 .2rem;font-size:.78rem}.source-link{font-size:.8rem}.week-summary,.other-food{border-top:1px solid #403d34;margin-top:1.5rem;padding-top:1rem}.week-summary{border-top:0;border-left:3px solid #8c8050;padding:.15rem 0 .15rem .8rem}.week-summary h3,.other-food summary{letter-spacing:.09em;text-transform:uppercase;color:#c8ba7d;font-family:Inter,system-ui,sans-serif;font-size:.78rem;font-weight:700}.week-summary h3{margin:.1rem 0 .45rem}.week-summary p,.other-food p{color:#beb6a5;margin:.38rem 0;font-size:.9rem;line-height:1.4}.week-summary summary,.other-food summary{cursor:pointer}.week-summary details{margin-top:.5rem}@media (width>=760px){.week-header{padding:1.2rem 0}.day-selector,.meal-selector{max-width:620px}.meal-focus>.recipe-image,.meal-focus>.recipe-image img,.meal-focus>.recipe-image .placeholder{height:280px}}@media (width<=1099px){.recipe-details,.source-link,.image-actions-compact details button{align-items:center;min-height:44px;display:inline-flex}.source-link{padding:.35rem 0}.image-actions-compact details button{width:100%}}@media (width>=1100px){.day-selector,.meal-selector{display:none!important}.week-header{padding:1.2rem 0}.week-controls button{place-items:center;display:grid}.week-controls button:first-child:after,.week-controls button:last-child:after{font-size:1.1rem}.week-range{margin-top:.35rem}}.reheat-guidance{color:#c7bfac;border-left:3px solid #8c8050;margin:.35rem 0 .7rem;padding:.65rem .75rem;font-size:.9rem;line-height:1.4}.image-actions-compact details button{min-height:44px}.image-actions-compact~.photo-status{z-index:1;background:#211f1ae8;border:1px solid #6c654f;border-radius:7px;margin:0;padding:.4rem .55rem;line-height:1.3;position:absolute;top:.45rem;left:.45rem;right:.45rem}.image-actions-compact~.error-text{color:#f2c2b8;border-color:#ad6f63}.meal-actions .primary:hover,.meal-actions .primary:focus-visible{color:#171611;background:#c8b96f;border-color:#e1d28c}.meal-selector .equivalent-meal{color:#e4ddcf;align-content:center;gap:.12rem;min-height:54px;padding:.45rem .55rem;display:grid}.meal-selector .equivalent-meal span{text-transform:uppercase;letter-spacing:.09em;color:#bcae70;font-size:.67rem}.meal-selector .equivalent-meal strong{font-size:.84rem;line-height:1.2}.meal-selector .equivalent-meal:only-child{grid-column:1/-1}.other-food details{background:0 0;border:0}.other-food summary{align-items:center;gap:.45rem;min-height:44px;padding:0;list-style:none;display:flex}.other-food summary::-webkit-details-marker{display:none}.other-food summary:before{content:"›";font-size:1.15rem;line-height:1}.other-food details[open] summary:before{transform:rotate(90deg)}.other-food summary:focus-visible{outline-offset:3px;outline:3px solid #d8cc89}.other-food details[open] summary{margin-bottom:.35rem}.other-food details>p{padding-left:1.6rem}.week-controls .week-control-prev:before{content:none!important}.week-controls .week-control-prev:after{font-size:1.1rem;content:"←"!important}.week-controls .week-control-next:before{content:none!important}.week-controls .week-control-next:after{font-size:1.1rem;content:"→"!important}.detail:not(.cooking) .ingredients .ingredient-note{color:#aaa290;margin-top:.14rem;line-height:1.35;display:block}.detail:not(.cooking){max-width:720px;padding-bottom:6rem}.detail:not(.cooking)>.recipe-image{border-radius:12px;max-width:none;height:232px;min-height:0;margin:0 0 1.15rem}.detail:not(.cooking)>.recipe-image img,.detail:not(.cooking)>.recipe-image .placeholder{height:232px;max-height:none}.detail:not(.cooking)>h1{max-width:20ch;margin:.1rem 0 .35rem;font-size:clamp(1.85rem,8vw,2rem);line-height:1.06}.detail:not(.cooking) .publisher{color:#a9a192;margin:0;font-size:.92rem}.detail-core-metadata,.serving-summary{color:#d0c7b3;margin:.35rem 0;font-size:.94rem}.serving-summary{color:#aaa18f}.detail-start{border-radius:10px;width:100%;margin:.85rem 0 .4rem;font-size:1rem}.detail:not(.cooking) section{border-top:0;padding:1.5rem 0 0}.detail:not(.cooking) section>h2{margin:0 0 .8rem;font-size:1.5rem}.ingredients{margin:0}.ingredients li{border-bottom:1px solid #35332d;min-height:48px;padding:0;display:block}.ingredients label{cursor:pointer;align-items:flex-start;gap:.8rem;min-height:48px;padding:.65rem 0;display:flex!important}.ingredients input{accent-color:#9aa66d;flex:0 0 23px;width:23px;height:23px;margin:.05rem 0 0}.ingredients .ingredient-content{min-width:0;display:block!important}.ingredients .ingredient-name{color:#eee9dd;font-weight:600;line-height:1.35;display:block}.ingredients .ingredient-preparation{color:#aaa290;margin-top:.14rem;line-height:1.35;display:block}.ingredients .ingredient-preparation:before{content:none}.ingredients .checked{opacity:1;text-decoration:none}.ingredients .checked .ingredient-name{color:#aaa393;text-decoration:line-through}.optional-heading{letter-spacing:.08em;text-transform:uppercase;color:#c8ba7d;margin:1.25rem 0 .35rem!important;font-family:Inter,system-ui,sans-serif!important;font-size:.78rem!important}.detail-prep ul,.aftercare ul,.detail-disclosure ul{margin:0;padding:0;list-style:none}.detail-prep li{border-bottom:1px solid #35332d;padding:.65rem 0;line-height:1.42}.detail-prep small,.steps small{color:#aaa290;margin-top:.22rem;font-size:.84rem;display:block}.directions .steps li{padding:1rem 0 1rem 2.5rem;font-size:1rem;font-weight:400;line-height:1.48}.directions .steps li:before{color:#cdbd79;font-size:1.35rem}.directions .steps b{font-weight:400}.aftercare{border-top:0;margin-top:1.7rem;padding-top:0}.aftercare section{border-top:1px solid #403d34!important}.aftercare h3{letter-spacing:.08em;text-transform:uppercase;color:#c8ba7d;margin:1rem 0 .35rem;font-family:Inter,system-ui,sans-serif;font-size:.78rem}.aftercare p,.aftercare li{color:#c2baaa;margin:.35rem 0;line-height:1.45}.detail-disclosure{border-top:1px solid #403d34;margin-top:1.5rem;padding-top:.45rem}.detail-disclosure summary{cursor:pointer;align-items:center;min-height:44px;font-family:"Source Serif 4",Georgia,serif;font-size:1.3rem;list-style:none;display:flex}.detail-disclosure summary::-webkit-details-marker{display:none}.detail-disclosure summary:before{content:"›";color:#c8ba7d;margin-right:.5rem;font-family:Inter,sans-serif}.detail-disclosure[open] summary:before{transform:rotate(90deg)}.detail-disclosure p,.detail-disclosure li{color:#c2baaa;line-height:1.45}.source-reference{margin-top:1.5rem;border-top:1px solid #403d34!important}.source-reference h2{font-size:1.25rem!important}.source-reference a{align-items:center;min-height:44px;display:inline-flex}.sticky-cook{z-index:10;left:1rem;right:1rem;bottom:calc(.75rem + env(safe-area-inset-bottom));background:#201e1aef;border:1px solid #4e493b;border-radius:12px;padding:.45rem;position:fixed;box-shadow:0 6px 24px #0008}.sticky-cook .primary{border-radius:8px;width:100%;min-height:48px}.detail-app:has(.sticky-cook){padding-bottom:5.5rem}@media (width>=760px){.detail:not(.cooking){max-width:820px}.detail:not(.cooking)>.recipe-image,.detail:not(.cooking)>.recipe-image img,.detail:not(.cooking)>.recipe-image .placeholder{height:300px}.sticky-cook{max-width:720px;left:calc(230px + 2rem);right:2rem}}@media (width<=759px){.detail:not(.cooking){padding-inline:1rem}.detail:not(.cooking)>.recipe-image{margin-inline:0}.detail:not(.cooking) .image-actions-compact{display:block}.detail:not(.cooking) .image-actions-compact>button{min-height:44px}.detail:not(.cooking) .ingredients label{grid-template-columns:none}.detail:not(.cooking) .ingredients .ingredient-content{grid-column:auto}}.content>.recipes-page{padding:0 0 3rem}.recipes-page h1{margin-top:.1rem}.recipes-context{color:#aaa393;margin:.25rem 0 1rem;font-size:.88rem}.recipes-page .recipe-grid{grid-template-columns:1fr;gap:0;display:grid}.recipes-page .recipe-row{text-align:left;color:#f1eee5;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #403d34;border-radius:0;grid-template-columns:104px minmax(0,1fr);align-items:center;gap:.8rem;width:100%;min-height:124px;padding:.6rem 0;display:grid}.recipes-page .recipe-row:hover{background:#211f1a}.recipes-page .recipe-row:focus-visible{outline-offset:-3px;background:#29261f;outline:3px solid #d8cc89}.recipes-page .recipe-row .recipe-image{border-radius:12px;width:104px;height:104px;min-height:104px}.recipes-page .recipe-row .recipe-image img{object-fit:cover;height:104px;max-height:none}.recipes-page .recipe-row .placeholder{height:104px;min-height:104px;font-size:.62rem}.recipes-page .recipe-row .placeholder span{padding:.42rem}.recipe-row-copy{align-content:center;gap:.14rem;min-width:0;display:grid}.recipe-row-title{color:#f4f0e7;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-family:"Source Serif 4",Georgia,serif;font-size:1.28rem;font-weight:700;line-height:1.05;display:-webkit-box;overflow:hidden}.recipe-row-usage{color:#d2c38a;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;line-height:1.25;overflow:hidden}.recipe-row-time{color:#c1baa9;font-size:.88rem;line-height:1.2}.recipe-row-publisher{color:#969081;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;line-height:1.2;overflow:hidden}@media (width>=760px){.recipes-page .recipe-grid{grid-template-columns:1fr}.recipes-page .recipe-row{max-width:720px}.recipes-page .recipe-row .recipe-image{width:108px;height:108px;min-height:108px}.recipes-page .recipe-row .recipe-image img{height:108px}}.detail-disclosure summary:focus-visible{outline-offset:3px;outline:3px solid #b7a96a}.cook-complete h1:focus{outline:none}.grocery-check-status{color:#c5bcaa;margin:.1rem 0 .55rem;font-size:.82rem;line-height:1.35}.grocery-row-copy b{overflow-wrap:anywhere;min-width:0}.grocery-row-copy small{overflow-wrap:anywhere}@media (width<=340px){.grocery-page .grocery-row-with-change .grocery-row{min-width:0}.grocery-page .grocery-row-copy{flex-direction:column;align-items:flex-start;gap:.18rem}.grocery-page .grocery-row-copy small{text-align:left;max-width:100%}.grocery-page .grocery-row-copy:has(.grocery-requirement){display:flex}}.grocery-row-wrap{border-top:1px solid #35322c}.grocery-row-wrap>.grocery-row{border-top:0}.grocery-row-with-change{flex-wrap:wrap;align-items:center;gap:.3rem;display:flex}.grocery-row-with-change .grocery-row{flex:1}.grocery-change{min-height:44px;padding:.35rem .45rem;font-size:.72rem}.grocery-row-copy:has(.grocery-requirement){grid-template-columns:minmax(0,1fr);align-items:start;display:grid}.grocery-row-copy .grocery-requirement{text-align:left;justify-self:start;margin-top:.15rem;font-size:.78rem;color:#c5bcaa!important}.trip-choice{color:#d9cf9c;border-top:1px solid #4b473a;gap:.45rem;margin:.55rem 0 .15rem;padding:.6rem;font-size:.82rem;display:grid}.grocery-row-with-change>.trip-choice{flex:0 0 100%}.trip-choice>span{flex-wrap:wrap;gap:.35rem;display:flex}.trip-choice button{min-height:44px;padding:.35rem .55rem;font-size:.76rem}.grocery-decision-change{border-bottom:1px solid #403d34;margin:0 0 .15rem}.grocery-page{max-width:720px;padding-bottom:7rem}.grocery-page>.eyebrow{margin:.25rem 0 .7rem}.grocery-check,.grocery-unassigned{border-top:1px solid #494438;border-bottom:1px solid #37342d;margin:0 0 .7rem}.grocery-check details,.grocery-unassigned details,.grocery-disclosure{padding:.1rem 0}.grocery-check summary,.grocery-unassigned summary,.grocery-disclosure summary{cursor:pointer;letter-spacing:.04em;color:#d9cf9c;align-items:center;min-height:48px;font:600 .88rem Inter,sans-serif;list-style:none;display:flex}.grocery-check summary::-webkit-details-marker{display:none}.grocery-unassigned summary::-webkit-details-marker{display:none}.grocery-disclosure summary::-webkit-details-marker{display:none}.grocery-check summary:before,.grocery-unassigned summary:before,.grocery-disclosure summary:before{content:"›";margin-right:.45rem;font-size:1.4rem}.grocery-check details[open] summary:before,.grocery-unassigned details[open] summary:before,.grocery-disclosure[open] summary:before{transform:rotate(90deg)}.check-item,.unassigned-item{border-top:1px solid #302e28;justify-content:space-between;align-items:center;gap:.75rem;padding:.4rem 0;display:flex}.check-item b,.unassigned-item b,.at-home-item b{font-size:.96rem;display:block}.check-item small,.unassigned-item small,.at-home-item small{color:#aaa290;margin-top:.12rem;font-size:.78rem;display:block}.check-actions{flex-shrink:0;gap:.35rem;display:flex}.check-actions button,.grocery-more,.unassigned-item button,.at-home-item button{min-height:44px;padding:.35rem .5rem;font-size:.72rem}.grocery-more{color:#d6ca91;background:0 0;border:0;margin:.25rem 0 0;display:block}.trip-selector{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;margin:.8rem 0 .6rem;display:grid}.trip-selector button{color:#c3bcaa;background:0 0;border-color:#4b493d;min-height:46px;padding:.45rem .5rem;font-size:.82rem}.trip-selector button.active{color:#fff4cb;background:#39362c;border-color:#b8aa6b}.grocery-progress{color:#aaa290;justify-content:space-between;align-items:baseline;margin:.25rem 0 0;font-size:.82rem;display:flex}.grocery-progress strong{color:#f3eee2;font-family:"Source Serif 4",Georgia,serif;font-size:1.35rem}.grocery-department{margin-top:1.2rem}.grocery-department h2{letter-spacing:.1em;text-transform:uppercase;color:#c8ba7d;margin:0 0 .35rem;font:600 .76rem Inter,sans-serif}.grocery-row{cursor:pointer;border-top:1px solid #35322c;align-items:center;gap:.75rem;min-height:52px;padding:.42rem 0;display:flex}.grocery-row input{appearance:auto;accent-color:#aead68;flex:0 0 24px;width:24px;height:24px;margin:0}.grocery-row-copy{justify-content:space-between;align-items:baseline;gap:.8rem;width:100%;min-width:0;display:flex}.grocery-row-copy b{color:#f0ece3;font-size:1rem;font-weight:650;line-height:1.3}.grocery-row-copy small{color:#d2c791;text-align:right;flex:none;margin:0;font-size:.86rem;line-height:1.3}.grocery-row input:checked+.grocery-row-copy{opacity:1;text-decoration:none}.grocery-row-pending{opacity:.72}.grocery-row-pending .grocery-row-copy b{text-decoration:line-through}.grocery-complete{color:#d7cfb8;margin:1.75rem 0;font-family:"Source Serif 4",Georgia,serif;font-size:1.3rem}.grocery-disclosure{border-top:1px solid #403d34;margin-top:1.35rem}.grocery-row-collected{opacity:.76;min-height:44px}.grocery-row-collected .grocery-row-copy b{text-decoration:line-through}.grocery-at-home{margin-top:1.35rem;margin-bottom:1rem}.at-home-item{border-top:1px solid #302e28;align-items:center;gap:.6rem;padding:.5rem 0;display:flex}.at-home-item small{margin-right:auto}.grocery-page summary:focus-visible{outline-offset:3px;outline:3px solid #b7a96a}.grocery-row:has(input:focus-visible){outline-offset:3px;outline:3px solid #b7a96a}.bottom-nav button{min-height:44px}@media (width<=420px){.check-item{flex-direction:column;align-items:flex-start}.check-actions{width:100%}.check-actions button{flex:1}}@media (width>=760px){.grocery-page{padding-bottom:3rem}}.auth-gate{place-items:center;min-height:100vh;padding:1.5rem;display:grid}.auth-gate section{width:min(100%,26rem)}.auth-gate h1{margin:.2rem 0 .5rem}.auth-gate form{gap:.7rem;margin-top:1.4rem;display:grid}.auth-gate input{color:#f5f1e8;background:#211f1a;border:1px solid #625c4b;border-radius:7px;min-height:46px;padding:.6rem}.auth-gate .primary{min-height:46px}
