:root{--page-cream:#fbf3e7;--stripe-green:#c7c29f;--stripe-beige:#f1e4cf;--stripe-width:3rem;--rustic-striped-background:linear-gradient(90deg, #ffffff1f, transparent 34%, #5c493109 100%), repeating-linear-gradient(90deg, var(--stripe-beige) 0, var(--stripe-beige) var(--stripe-width), var(--stripe-green) var(--stripe-width), var(--stripe-green) calc(var(--stripe-width) * 2));color:#203025;background:var(--rustic-striped-background);background-color:var(--stripe-beige);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:18px;line-height:1.45}*{box-sizing:border-box}html{background:var(--rustic-striped-background);background-color:var(--stripe-beige);min-height:100%}body{background:var(--rustic-striped-background);background-color:var(--stripe-beige);min-width:320px;min-height:100vh;margin:0}button,a{-webkit-tap-highlight-color:transparent}button{color:#1f2f23;min-height:3.4rem;font:inherit;cursor:pointer;background:#fffaf1;border:0;border-radius:1rem;padding:.8rem 1.2rem;font-weight:800;box-shadow:0 .35rem .9rem #50382124}button:focus-visible,a:focus-visible{outline-offset:.2rem;outline:.25rem solid #1f7a43}button:disabled{opacity:.45;cursor:not-allowed}.app-shell{width:min(1180px,100%);min-height:100svh;padding:clamp(.8rem,2vw,1.5rem);padding-bottom:calc(clamp(.8rem, 2vw, 1.5rem) + env(safe-area-inset-bottom));margin:0 auto}.home-shell{gap:1.1rem;display:grid}.compact-home-header,.week-panel,.shopping-week,.cooking-stage{border:1px solid #583f261a;border-radius:1.5rem;box-shadow:0 1rem 2.2rem #57412a21}.compact-home-header{background:linear-gradient(135deg,#fffaf1f5,#ffefd5e6),radial-gradient(circle at 82% 25%,#f4a26129,#0000 14rem);justify-content:space-between;align-items:center;gap:1rem;min-height:5.1rem;padding:.65rem clamp(.85rem,2vw,1.25rem);display:flex;overflow:visible}.home-title-group{z-index:2;flex:auto;gap:.08rem;min-width:0;display:grid;position:relative}.compact-home-header h1{color:#143726;white-space:nowrap;width:max-content;max-width:100%;margin:0;font-size:clamp(1.15rem,2.55vw,2.45rem);line-height:.96;display:inline-block;position:relative}.home-title-graphic{z-index:3;filter:drop-shadow(0 .08rem .08rem #4a241029);pointer-events:none;width:clamp(9rem,17vw,16.5rem);max-width:32vw;height:auto;display:block;position:absolute;top:50%;left:calc(100% + clamp(.25rem,.85vw,.95rem));transform:translateY(-42%)}.home-date{color:#80320f;margin:0;font-size:clamp(.95rem,2vw,1.25rem);font-weight:900;line-height:1.08}.compact-food-art{flex:0 0 clamp(9rem,28vw,18rem);min-width:8rem;height:4.65rem;position:relative}.food-art-image{filter:drop-shadow(0 .45rem .55rem #593c2229);border-radius:.75rem;width:clamp(4.5rem,11vw,6.2rem);position:absolute}.food-art-image-1{top:.05rem;right:8.1rem;transform:rotate(-7deg)}.food-art-image-2{top:.55rem;right:.25rem;transform:rotate(7deg)}.food-art-image-3{z-index:1;top:.35rem;right:4.4rem;transform:rotate(-1deg)}.eyebrow,.week-kicker,.step-count{color:#576b3f;letter-spacing:.045em;text-transform:uppercase;margin:0 0 .3rem;font-size:clamp(.9rem,1.8vw,1.05rem);font-weight:900}h1,h2,h3,p{margin-top:0}h1{margin-bottom:.5rem;font-size:clamp(2.2rem,6vw,4.4rem);line-height:.98}h2{margin-bottom:.45rem;font-size:clamp(1.45rem,3vw,2.35rem);line-height:1.05}h3{margin-bottom:.7rem;font-size:clamp(1.25rem,2.4vw,1.8rem);line-height:1.12}.week-filter{grid-template-columns:repeat(auto-fit,minmax(8.2rem,1fr));align-items:center;gap:.5rem;display:grid}.pill{border:.15rem solid #1f7a4333;border-radius:999px;width:100%;min-height:3rem;padding:.5rem .85rem}.pill.active{color:#fffdf7;background:#1f7a43}.schedule{gap:.75rem;display:grid}.week-panel{padding:clamp(.85rem,1.7vw,1.2rem)}.week-apricot{background:linear-gradient(135deg,#fff7eb,#ffe7cc)}.week-sage{background:linear-gradient(135deg,#f3faed,#dbefd1)}.week-lavender{background:linear-gradient(135deg,#f7f0ff,#e9dcff)}.week-sky{background:linear-gradient(135deg,#eef8ff,#d9eef9)}.week-panel.week-apricot,.week-panel.week-sage,.week-panel.week-lavender,.week-panel.week-sky{background:#fff6e8c7}.recipe-shell.week-apricot,.recipe-shell.week-sage,.recipe-shell.week-lavender,.recipe-shell.week-sky,.shopping-list{background:0 0}.week-header{margin-bottom:.7rem}.week-header h2{margin-bottom:.25rem}.week-theme{color:#536546;margin:0;font-size:clamp(1rem,2vw,1.25rem);font-weight:750}.recipe-grid{grid-template-columns:repeat(auto-fit,minmax(15.5rem,1fr));gap:.85rem;display:grid}.recipe-card{min-height:12.8rem;color:inherit;background:#fffdf8e6;border:.18rem solid #43301f14;border-radius:1.25rem;flex-direction:column;justify-content:space-between;gap:.9rem;padding:1rem;text-decoration:none;display:flex;position:relative;box-shadow:0 .5rem 1rem #57412a1a}.recipe-card h3{margin-bottom:auto}.today-card{border-color:#198754;animation:3.8s ease-in-out infinite todayPulse;box-shadow:0 0 0 .18rem #19875438,0 0 1.4rem #19875459}@keyframes todayPulse{0%,to{box-shadow:0 0 0 .18rem #19875433,0 0 1.1rem #19875445}50%{box-shadow:0 0 0 .24rem #19875447,0 0 1.55rem #19875466}}@media (prefers-reduced-motion:reduce){.today-card{animation:none}}.card-topline,.card-actions,.recipe-header,.recipe-nav,.step-controls{align-items:center;gap:.75rem;display:flex}.card-topline,.card-actions,.recipe-header,.recipe-nav{justify-content:space-between}.card-actions{flex-wrap:wrap;justify-content:flex-start;gap:.5rem;margin-top:auto}.day-label,.today-label,.open-cue,.time-badge,.source-title{font-weight:900}.day-label{color:#5a4a34;font-size:1.05rem}.today-label{color:#fff;background:#198754;border-radius:999px;padding:.4rem .72rem}.source-title{color:#6d5b3f;margin:-.35rem 0 .75rem;font-size:.95rem}.archive-footer{justify-content:flex-end;padding:.1rem 0 .25rem;display:flex}.archive-button{min-width:min(14rem,100%)}.archive-button:not(.active){color:#536546;box-shadow:none;background:#fffaf1b8}.shopping-list{gap:1rem;display:grid}.shopping-list>h2{margin:0}.shopping-weeks{gap:1rem;display:grid}.shopping-week{padding:clamp(1rem,2vw,1.4rem)}.shopping-week h3{margin-bottom:1rem}.shopping-categories{grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:.85rem;display:grid}.shopping-category{background:#ffffffc7;border-radius:1rem;padding:.9rem}.shopping-category h4{color:#4e613d;letter-spacing:.04em;text-transform:uppercase;margin:0 0 .55rem;font-size:.95rem}.shopping-category ul{gap:.35rem;margin:0;padding-left:1.1rem;font-size:clamp(1rem,2vw,1.2rem);font-weight:750;display:grid}.mini-plan{gap:.55rem;margin:0;display:grid}.mini-plan div,.recipe-context div{gap:.1rem;display:grid}dt{color:#596d4b;letter-spacing:.04em;text-transform:uppercase;font-size:.85rem;font-weight:900}dd{margin:0;font-weight:650}.open-cue,.time-badge{border-radius:999px;align-items:center;width:fit-content;min-height:2.45rem;padding:.45rem .75rem;display:inline-flex}.time-badge{color:#43684c;text-overflow:ellipsis;white-space:nowrap;background:#fff6e5;max-width:100%;overflow:hidden}.open-cue{color:#7a3f1d;background:#fff0d8}.recipe-shell{grid-template-rows:auto minmax(0,1fr) auto;gap:.55rem;max-height:100svh;display:grid;overflow:hidden}.recipe-nav.compact-nav{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:.45rem;min-height:2.5rem;display:flex}.home-button,.wake-button,.compact-pill{color:#fffdf7;background:#1f7a43;border-radius:999px;justify-content:center;align-items:center;min-height:2.45rem;padding:.42rem .85rem;font-size:clamp(.86rem,1.6vw,1rem);font-weight:900;text-decoration:none;display:inline-flex;box-shadow:0 .25rem .65rem #5038211f}.home-button.secondary,.wake-button{color:#1f2f23;background:#fffaf1e6;border:.1rem solid #1f7a4333}.cooking-stage{background:#fffdf89e;border:1px solid #583f261a;border-radius:1.35rem;min-height:0;padding:clamp(.72rem,1.6vw,1.05rem);display:grid;overflow:hidden}.recipe-start-stage{grid-template-rows:auto minmax(0,1fr);gap:.65rem}.recipe-start-header{gap:.38rem;display:grid}.recipe-start-header .eyebrow,.compact-recipe-title{color:#536546;letter-spacing:.045em;text-transform:uppercase;margin:0;font-size:clamp(.78rem,1.5vw,.94rem);font-weight:950}.recipe-start-header h1{text-wrap:balance;max-width:100%;margin:0;font-size:clamp(1.55rem,4.2vw,3rem);line-height:.98}.info-chips,.helper-chips,.manual-timer-panel{flex-wrap:wrap;align-items:center;gap:.42rem;display:flex}.info-chip,.helper-chips span,.meal-chip-list div{color:#1e2d22;background:#fffaf1eb;border:.1rem solid #1f7a4321;border-radius:.85rem}.info-chip{align-items:center;gap:.42rem;min-height:2.35rem;padding:.34rem .62rem;display:inline-flex}.info-chip small{color:#596d4b;letter-spacing:.04em;text-transform:uppercase;font-size:.72rem;font-weight:950}.info-chip strong{color:#1f2f23;font-size:clamp(.88rem,1.65vw,1.03rem)}.start-content{grid-template-columns:minmax(0,1fr) minmax(14rem,18rem);gap:.65rem;min-height:0;display:grid}.grouped-ingredients-card,.start-side-card,.step-card{background:#ffffffd1;border-radius:1.05rem;min-height:0;padding:clamp(.7rem,1.5vw,.95rem);box-shadow:inset 0 0 0 1px #583f260f}.grouped-ingredients-card{overflow:auto}.grouped-ingredients-card h2,.step-card h2{margin-bottom:.45rem;font-size:clamp(1.18rem,2.3vw,1.65rem)}.ingredient-groups{grid-template-columns:repeat(auto-fit,minmax(12.5rem,1fr));gap:.55rem;display:grid}.ingredient-group{background:#fffaf1;border-radius:.9rem;padding:.58rem}.ingredient-group h3{color:#4e613d;letter-spacing:.04em;text-transform:uppercase;margin:0 0 .3rem;font-size:clamp(.83rem,1.5vw,.98rem)}.ingredient-group ul{gap:.22rem;margin:0;padding-left:1rem;display:grid}.ingredient-group li{font-size:clamp(.96rem,1.8vw,1.17rem);font-weight:820;line-height:1.22}.start-side-card{align-content:space-between;gap:.7rem;display:grid}.meal-chip-list{gap:.48rem;margin:0;display:grid}.meal-chip-list div{padding:.6rem}.meal-chip-list dd{font-size:clamp(.9rem,1.7vw,1.08rem);line-height:1.22}.start-cooking-button{width:100%;min-height:4.2rem;font-size:clamp(1.1rem,2.4vw,1.45rem)}.cooking-mode{grid-template-rows:auto auto auto minmax(0,1fr);gap:.48rem}.compact-recipe-header{justify-content:space-between;align-items:center;gap:.6rem;display:flex}.compact-recipe-title{color:#1f2f23;letter-spacing:.02em;text-transform:none;font-size:clamp(.98rem,2vw,1.18rem)}.timer-chip-button{border-radius:999px;min-height:2.4rem;padding:.35rem .7rem;font-size:.9rem}.progress-strip{color:#283b2d;grid-template-columns:auto minmax(7rem,1fr);align-items:center;gap:.65rem;font-weight:900;display:grid}.compact-progress{font-size:clamp(.86rem,1.6vw,1rem)}progress{background:#ffffffb8;border:0;border-radius:999px;width:100%;height:.78rem;overflow:hidden}progress::-webkit-progress-bar{background:#ffffffb8}progress::-webkit-progress-value{background:#1f7a43}progress::-moz-progress-bar{background:#1f7a43}.manual-timer-panel{background:#fff5dfe6;border-radius:1rem;padding:.5rem}.manual-timer-panel button{border-radius:999px;min-height:2.45rem;padding:.35rem .72rem;font-size:.92rem}.step-screen{min-height:0;display:grid}.step-card{align-content:start;gap:.55rem;display:grid;overflow:auto}.step-card .step-count{color:#576b3f;margin:0;font-size:clamp(.78rem,1.5vw,.92rem)}.step-card h2{color:#1f2f23;margin:0;font-size:clamp(1.8rem,4.4vw,3.15rem);line-height:1}.step-lines{gap:.34rem;display:grid}.step-lines p{max-width:58rem;margin:0;font-size:clamp(1.25rem,3vw,2.05rem);font-weight:820;line-height:1.13}.helper-chips span{padding:.34rem .62rem;font-size:clamp(.82rem,1.5vw,.96rem);font-weight:900}.oven-timer-button{width:min(24rem,100%);min-height:4rem;margin-top:.35rem;font-size:clamp(1rem,2.2vw,1.35rem)}strong{color:#80320f;font-weight:950}.step-controls{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;display:grid}.step-controls button{min-height:3.65rem;font-size:clamp(1rem,2.35vw,1.32rem)}.primary-action{color:#fffdf7;background:#1f7a43}.timer-screen{color:#eaffef;background:radial-gradient(circle at top,#25c66f2e,#0000 22rem),#050806;grid-template-rows:auto minmax(0,1fr) auto;gap:1rem;min-height:100svh;padding:clamp(.9rem,2vw,1.6rem);display:grid}.timer-recipe-label,.timer-wake-message,.timer-status,.timer-done-message,.done-label{text-align:center;margin:0}.timer-recipe-label{color:#9effb7;letter-spacing:.06em;text-transform:uppercase;font-size:clamp(1rem,2vw,1.3rem);font-weight:900}.timer-wake-message{color:#ffe7a8;font-weight:800}.timer-centre{align-content:center;place-items:center;gap:.4rem;display:grid}.countdown-display{color:#51ff83;font-variant-numeric:tabular-nums;text-shadow:0 0 1.1rem #51ff83b3,0 0 3rem #51ff8359;font-size:clamp(5.8rem,23vw,15rem);font-weight:950;line-height:.9}.timer-status{color:#d7ffe1;font-size:clamp(1.15rem,2.8vw,2rem);font-weight:900}.done-label{color:#fff;text-transform:uppercase;font-size:clamp(2rem,6vw,4rem);font-weight:950}.timer-done-message{color:#fff5cc;max-width:46rem;font-size:clamp(1.15rem,2.7vw,1.8rem);font-weight:850}.timer-controls{grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;display:grid}.timer-controls button{color:#eaffef;background:#101b13;border:.12rem solid #9effb74d;min-height:4.2rem;font-size:clamp(1rem,2.4vw,1.45rem)}.stop-alarm-button{grid-column:1/-1;color:#fff!important;background:#2aa05b!important}.timer-done .countdown-display,.timer-done .done-label{animation:.85s ease-in-out infinite alarmPulse}@keyframes alarmPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.72;transform:scale(1.025)}}@media (prefers-reduced-motion:reduce){.timer-done .countdown-display,.timer-done .done-label,.today-card{animation:none}}@media (width<=760px){.start-content,.progress-strip{grid-template-columns:1fr}.compact-home-header{border-radius:1.1rem;min-height:4.75rem}.compact-food-art{flex-basis:7.4rem;min-width:6.6rem;height:4rem}.food-art-image{width:4.1rem}.food-art-image-1{right:5.2rem}.food-art-image-2{top:.45rem;right:0}.food-art-image-3{right:2.8rem}.recipe-grid,.timer-controls,.step-controls{grid-template-columns:1fr}.recipe-card{min-height:14rem}.recipe-shell{max-height:none;overflow:visible}}@media (width<=600px){.compact-home-header h1{white-space:normal;font-size:clamp(1rem,5vw,1.55rem);line-height:.98}.home-title-graphic{vertical-align:-.2em;width:clamp(8.4rem,38vw,11.5rem);max-width:54vw;margin-left:.1rem;display:inline-block;position:static;transform:translateY(.12em)}.compact-food-art{display:none}}@media (orientation:landscape) and (height<=650px){:root{font-size:16px}.app-shell{padding:.55rem}.home-shell,.recipe-shell{gap:.5rem}.compact-home-header{border-radius:1.15rem;min-height:5rem;padding:.45rem .85rem}.compact-home-header h1{font-size:clamp(1.15rem,2.55vw,2.35rem)}.home-date{font-size:1rem}.compact-food-art{flex-basis:14rem;height:4.25rem}.food-art-image{width:5.1rem}.food-art-image-1{right:7.1rem}.food-art-image-2{top:.45rem;right:0}.food-art-image-3{top:.3rem;right:3.7rem}.week-filter{grid-template-columns:repeat(6,minmax(0,1fr));gap:.45rem}.pill{min-height:2.8rem;padding:.35rem .55rem;font-size:.95rem}.week-panel{padding:.72rem}.week-header{margin-bottom:.55rem}.week-theme{font-size:1.02rem}.recipe-grid{gap:.55rem}.recipe-card{min-height:11.8rem;padding:.85rem}.archive-footer{padding:0}.archive-button{width:auto;min-height:2.6rem}.cooking-stage{gap:.4rem;padding:.62rem}.recipe-start-header h1{font-size:clamp(1.35rem,3.8vw,2.35rem)}.info-chip{min-height:2rem;padding:.22rem .48rem}.ingredient-groups{grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:.4rem}.ingredient-group{padding:.45rem}.start-cooking-button{min-height:3.4rem}.step-card{gap:.42rem;padding:.68rem}.step-card h2{font-size:clamp(1.65rem,4vw,2.55rem)}.step-lines p{font-size:clamp(1.15rem,2.8vw,1.75rem)}.step-controls button{min-height:3.25rem}.timer-screen{padding:.7rem}.countdown-display{font-size:clamp(5.4rem,22vw,12rem)}.timer-controls button{min-height:3.6rem}}
